Difference between revisions of "Tactics Ogre:ROM map"

From Data Crystal
Jump to: navigation, search
($8F/808E Sound-related stuff)
($8F/8410 Sound-related stuff)
Line 19,396: Line 19,396:
 
  $8F/8412 4B          PHK          ; Set Data Bank to $8F
 
  $8F/8412 4B          PHK          ; Set Data Bank to $8F
 
  $8F/8413 AB          PLB
 
  $8F/8413 AB          PLB
  $8F/8414 E2 20      SEP #$20               A:A100 X:05DD Y:0004 P:eNvMxdIzc
+
  $8F/8414 E2 20      SEP #$20     ; A = 8-bit
 
  $8F/8416 A5 F9      LDA $F9    [$00:00F9]  A:A100 X:05DD Y:0004 P:eNvMxdIzc
 
  $8F/8416 A5 F9      LDA $F9    [$00:00F9]  A:A100 X:05DD Y:0004 P:eNvMxdIzc
 
  $8F/8418 30 0F      BMI $0F    [$8429]      A:A100 X:05DD Y:0004 P:envMxdIZc
 
  $8F/8418 30 0F      BMI $0F    [$8429]      A:A100 X:05DD Y:0004 P:envMxdIZc
 
  $8F/841A F0 06      BEQ $06    [$8422]      A:A100 X:05DD Y:0004 P:envMxdIZc
 
  $8F/841A F0 06      BEQ $06    [$8422]      A:A100 X:05DD Y:0004 P:envMxdIZc
 
;code is missing here
 
;code is missing here
  $8F/8422 22 CE 83 8F JSL $8F83CE[$8F:83CE]   A:A100 X:05DD Y:0004 P:envMxdIZc
+
  $8F/8422 22 CE 83 8F JSL $8F83CE  ; Check for signals from the SPC
 
  $8F/8426 AB          PLB          ; Restore Data Bank and Status Register
 
  $8F/8426 AB          PLB          ; Restore Data Bank and Status Register
 
  $8F/8427 28          PLP
 
  $8F/8427 28          PLP

Revision as of 04:48, 20 March 2019

Contents

ROM offsets

These are ROM offsets for the starting points of each section (all in hex), pretty sure it's headerless (latest ROM revision, has Lakmir's translation patch applied to it):

40c33 - Spell Areas
40cc9 - Spell Function Bytes
40fb7 - Spell Accuracy Types (Auto-Hit, Dex-Based, etc.)
4104d - Spell Cost Type (Whether it eats HP or MP, how much, etc.)
41179 - Spell Formula Table
4133B - Spell Elements (Fire, Air, Virtue, etc.)
42703 - Character Sprite pointers
429e3 - Character Name pointers
42ad2 - Job IDs
42bc2 - Starting Elements
42cb0 - Starting Alignments
42dbf - Number of Magic Slots
42ead - Starting Level
42f9b - Starting HP
430bb - HP Growth
4314b - Starting MP
4326b - MP Growth
432fb - Starting Strength
4338b - Strength Growth
4341b - Starting Vitality
434ab - Vitality Growth
4353b - Starting Intelligence
435cb - Intelligence Growth
4365b - Starting Mentality
436eb - Mentality Growth
4377b - Starting Agility
4380b - Agility Growth
4389b - Starting Dexterity
4392b - Dexterity Growth
43a4c - Class Weight Penalties
43add - Physical Resistance
43b6e - Air Resistance
43bff - Fire Resistance
43c90 - Earth Resistance
43d21 - Water Resistance
43db2 - Virtue Resistance
43e43 - Bane Resistance
43ef4 - Attack+ Capability
440b1 - Species Table
441a1 - Basic Indirect Attack Type
442b0 - Magic Set that can be equipped
443a0 - Class Special Attacks (Slot 1)
4448f - Class Special Attacks (Slot 2)
4457e - Class Special Attacks (Slot 3)
4466d - Class Special Attacks (Slot 4)
4475b - Movement Types
44849 - Movement Rates
44937 - Starting Loyalties
44a26 - Weather Tolerance
451da - Item Types
452ca - Item Elements
453ba - Weapon Handedness
454aa - Item Equip Slot Locations (Finger, Head, etc.)
45655 - Item Weights
4572e - Item Strength Modifiers (Atk. Power)
4580e - Item Intelligence Modifiers
458ee - Item Agility Modifiers
459ce - Item Dexterity Modifiers
45aae - Item Vitality Modifiers
45b8e - Item Mentality Modifiers
45c6e - Item Luck Modifiers
45d4e - Item Physical Resistance (Def. Power) (signed)
45e2e - Item Air Resistance (signed)
45f0e - Item Fire Resistance (signed)
45fee - Item Earth Resistance (signed)
460ce - Item Water Resistance (signed)
461ae - Item Virtue Resistance (signed)
4628e - Item Bane Resistance (signed)
4646f - Item Prices (multiplied by 10 in-game)
46612 - Item Strength Raise at Level Up
466e4 - Item Intelligence Raise at Level Up
467b4 - Item Agility Raise at Level Up
46884 - Item Dexterity Raise at Level Up
46956 - Item Vitality Raise at Level Up
46a26 - Item Mentality Raise at Level Up
46af6 - Item Luck Raise at Level Up
46bc6 - Item Special Effects (Stuns on hit, Anti-Dragon, etc.)
46cb6 - Item Special Skills (used in the Item menu)
46d86 - Item Status Guards (immunity to petrification, etc.)
46e76 - Item Passive Effects (wearer can fly, HP regen, etc.)
47047 - Spell MP cost/Targeting Information
47172 - Spell Schools (Hahnela, Ishtar, DragonGod, etc.)
47208 - Spell Ranges
4729e - Special Spell Conditions #1 (Summons, Line-of-sight spells, whether equipment is needed, etc.)
4732f - Spell Prices (multiplied by 10 in-game)
47431 - Spell Set Modifiers
474a1 - How the caster behaves when using the spell/skill. NOTE: Each half of the bytes here specifies one skill.
474f1 - Special Spell Conditions #2 (If equipment is needed, this specifies the type (swords, spears, etc.) NOTE: Each half of the bytes here specifies one skill.
ea0dc - Class Grids (determines what you can change into)
ebba7 - Denim's Base Class
ebca1 - Denim's Initial Equipment (Slot 1)
ebcac - Denim's Initial Equipment (Slot 2)
ebcb7 - Denim's Initial Equipment (Slot 3)
ebcc2 - Denim's Initial Equipment (Slot 4)
ebc94 - Denim's Initial Spells (doesn't insert into Magic menu, need to use a JMP routine to get anything out of it)
ed61e - Item Shop pointers/data
ed6d9 - Magic Shop pointers/data
f3195 - Job Stat Requirements (what's needed to change into that job stat-wise, might also cover alignment but I couldn't tell from a glance).

Bank $80

This is all taken from the Japanese V1.0 version

$80/8000 ROM Start

$00/8000 18          CLC           ; Switch to Native Mode
$00/8001 FB          XCE
$00/8002 78          SEI           ; Disable Interrupts
$00/8003 D8          CLD           ; Deactivate Decimal Mode (if accidentally turned on)
$00/8004 4B          PHK           ; Push Bank Register
$00/8005 AB          PLB           ; Pull Data Bank Register
$00/8006 E2 20       SEP #$20
$00/8008 C2 10       REP #$10
$00/800A A2 FF 1F    LDX #$1FFF    ; Set Stack to $7E:1FFF
$00/800D 9A          TXS
$00/800E F4 00 00    PEA $0000     ; Direct Page Register = #$0000
$00/8011 2B          PLD
$00/8012 9C 00 42    STZ $4200     ; Deactivate NMI / Auto-Joypad
$00/8015 9C AF 05    STZ $05AF     ; Backup for $4200?
$00/8018 20 6A 80    JSR $806A     ; De-activate HDMAs, FBLANK, Clear Screen Destination Registers

Clear $7E:2000 to $7E:FFFF

$00/801B A0 00 E0    LDY #$E000    ; DMA Size: #$E000
$00/801E 8C 05 43    STY $4305
$00/8021 A0 00 20    LDY #$2000    ; WRAM Destination: $(7E)2000
$00/8024 18          CLC           ; WRAM-Destination: Bank $7E
$00/8025 A2 69 80    LDX #$8069    ; DMA Source Address: $00/8069 (ROM: $0000.0069
$00/8028 A9 00       LDA #$00
$00/802A 22 A7 9D 80 JSL $809DA7   ; Long Branch to the DMA setup and activation
$00/802E A9 01       LDA #$01      ; Activate Fast ROM
$00/8030 8D 0D 42    STA $420D
$00/8033 22 00 80 8F JSL $8F8000   ; Jump to ??? (Sound Setup?)

$00/8037 64 59       STZ $59       ; ???
$00/8039 64 EA       STZ $EA
$00/803B C6 EA       DEC $EA       ; ??? ($EA = #$FF)
$00/803D A9 01       LDA #$01
$00/803F 85 51       STA $51       ; ??? ($51 = #$01)
$00/8041 78          SEI           ; Disable Interrupts (again)
$00/8042 D8          CLD           ; Deactivate Decimal Mode (again)
$00/8043 4B          PHK           ; Push Bank Register
$00/8044 AB          PLB           ; Pull Data Bank Register
$00/8045 E2 20       SEP #$20
$00/8047 C2 10       REP #$10
$00/8049 A2 00 02    LDX #$0200
$00/804C 8E 5F 05    STX $055F     ; ???
$00/804F 9C 00 42    STZ $4200     ; Deactivate NMI / Auto-Joypad (again)
$00/8052 9C AF 05    STZ $05AF     ; Backup for $4200?
$00/8055 20 6A 80    JSR $806A     ; De-activate HDMAs, FBLANK, Clear Screen Destination Registers 

$00/8058 A9 01       LDA #$01      ; Activate Fast ROM (again)
$00/805A 8D 0D 42    STA $420D
$00/805D AF F0 FF 00 LDA $00FFF0   ; = #$FF
$00/8061 8F F3 00 00 STA $0000F3   ; ???
$00/8065 5C 91 80 80 JMP $808091   ; Jump to ???

$80/8069 Clear Byte

$00/8069 00                        ; Clear Byte for $80/801B

$80/806A De-activate HDMAs, FBLANK, Clear Screen Destination Registers

$00/806A 9C 0C 42    STZ $420C     ; De-activate HDMAs
$00/806D 9C B0 05    STZ $05B0     ; Backup for $420C?
$00/8070 9C 86 05    STZ $0586     ; Backup for $420C?
$00/8073 A9 80       LDA #$80
$00/8075 8D 00 21    STA $2100     ; FBLANK
$00/8078 8D 87 05    STA $0587     ; Backup for $2100
$00/807B 8D 6A 05    STA $056A     ; Backup for $2100
$00/807E 9C 2C 21    STZ $212C     ; Clear Main Screen Destinations
$00/8081 9C 2D 21    STZ $212D     ; Clear Subscreen Destinations
$00/8084 60          RTS

$80/8085 NMI Handler

$00/8085 5C 7E AF 80 JMP $80AF7E   ; NMI Handler ("Jump to" Fast ROM)

$80/8091 ???

$80/8091 22 4A A1 80 JSL $80A14A   ; Long-Jump to Deactivation of NMI, Auto-Joypad & HDMAs
$80/8095 A2 FF 1F    LDX #$1FFF    ; Set Stack to $7E:1FFF
$80/8098 9A          TXS
$80/8099 F4 00 00    PEA $0000     ; Direct Page Register = #$0000
$80/809C 2B          PLD
$80/809D 4B          PHK           ; Push Bank Register
$80/809E AB          PLB           ; Pull Data Bank Register
$80/809F 22 B6 A1 80 JSL $80A1B6   ; Write Executable Code in WRAM
$80/80A3 A5 51       LDA $51    [$00:0051]   A:A16B X:05DD Y:0004 P:eNvMxdIzC
$80/80A5 F0 0C       BEQ $0C    [$80B3]      A:A101 X:05DD Y:0004 P:envMxdIzC
$80/80A7 C9 02       CMP #$02                A:A101 X:05DD Y:0004 P:envMxdIzC
$80/80A9 F0 04       BEQ $04    [$80AF]      A:A101 X:05DD Y:0004 P:eNvMxdIzc
$80/80AB A9 F8       LDA #$F8                A:A101 X:05DD Y:0004 P:eNvMxdIzc
$80/80AD 80 06       BRA $06    [$80B5]      A:A1F8 X:05DD Y:0004 P:eNvMxdIzc

Code is missing here

$80/80B5 85 F5       STA $F5    [$00:00F5]   A:A1F8 X:05DD Y:0004 P:eNvMxdIzc
$80/80B7 22 28 AF 80 JSL $80AF28[$80:AF28]   A:A1F8 X:05DD Y:0004 P:eNvMxdIzc
$80/80BB 22 14 AF 80 JSL $80AF14[$80:AF14]   A:0000 X:05DD Y:0004 P:eNvMxdIzc
$80/80BF E6 EA       INC $EA    [$00:00EA]   A:00FF X:33CC Y:9E7A P:eNvMxdIzc
$80/80C1 A5 EA       LDA $EA    [$00:00EA]   A:00FF X:33CC Y:9E7A P:envMxdIZc
$80/80C3 C9 05       CMP #$05                A:0000 X:33CC Y:9E7A P:envMxdIZc
$80/80C5 90 02       BCC $02    [$80C9]      A:0000 X:33CC Y:9E7A P:eNvMxdIzc

Code is missing here

$80/80C9 20 59 B7    JSR $B759  [$80:B759]   A:0000 X:33CC Y:9E7A P:eNvMxdIzc
$80/80CC 20 73 B6    JSR $B673     ; Clear Registers, clear WRAM Bank $7F
$80/80CF 20 4D B5    JSR $B54D     ; Clear Graphic Setup Registers
$80/80D2 20 CD B5    JSR $B5CD     ; ???
$80/80D5 7B          TDC                     A:E880 X:0320 Y:0000 P:envMxdIzC
$80/80D6 8F 12 BD 7E STA $7EBD12[$7E:BD12]   A:0000 X:0320 Y:0000 P:envMxdIZC
$80/80DA 8F 84 BD 7E STA $7EBD84[$7E:BD84]   A:0000 X:0320 Y:0000 P:envMxdIZC
$80/80DE AF 37 21 00 LDA $002137   ; ??? Makes the current H Counter value appear in $213C?
$80/80E2 AF 3C 21 00 LDA $00213C   ; ??? Current H Counter!?!
$80/80E6 22 65 AD 80 JSL $80AD65[$80:AD65]   A:0080 X:0320 Y:0000 P:eNvMxdIzC
$80/80EA 22 F1 98 80 JSL $8098F1[$80:98F1]   A:0413 X:0021 Y:0000 P:eNvMxdIzC
$80/80EE 9C BD 05    STZ $05BD     ; ??? Flag Register, at least related to CGRAM Updates
$80/80F1 9C 38 00    STZ $0038     ; ???
$80/80F4 9C BF 05    STZ $05BF     ; Set Main Jump Table Index to #$00
$80/80F7 9C C0 05    STZ $05C0     ; ??? Jump Table Index?
$80/80FA A9 80       LDA #$80      ; Activate FBLANK
$80/80FC 8D 87 05    STA $0587
$80/80FF 9C A6 05    STZ $05A6     ; Remove everything from Main Screen
$80/8102 9C A7 05    STZ $05A7     ; Remove everything from Subscreen
$80/8105 58          CLI           ; Enable Interrupts
$80/8106 20 2F A1    JSR $A12F     ; Activate NMI and Auto-Joypad Read
$80/8109 22 8A A1 80 JSL $80A18A   ; Change Bank, wait for NMI and execute code built in WRAM
$80/810D 22 8A A1 80 JSL $80A18A   ; Change Bank, wait for NMI and execute code built in WRAM
$80/8111 22 8A A1 80 JSL $80A18A   ; Change Bank, wait for NMI and execute code built in WRAM
$80/8115 22 4A A1 80 JSL $80A14A   ; Long Jump to Deactivate NMI, Auto-Joypad and HDMAs
$80/8119 AF F3 00 00 LDA $0000F3[$00:00F3]   A:0080 X:00FF Y:0000 P:eNvMxdizc
$80/811D 89 01       BIT #$01                A:00FF X:00FF Y:0000 P:eNvMxdizc
$80/811F D0 08       BNE $08    [$8129]      A:00FF X:00FF Y:0000 P:eNvMxdizc
code is missing here
$80/8129 58          CLI           ; Enable Interrupts
$80/812A 20 2F A1    JSR $A12F     ; Activate NMI and Auto-Joypad Read
$80/812D 22 98 A9 9D JSL $9DA998[$9D:A998]   A:0081 X:00FF Y:0000 P:eNvMxdiZc

$80/8131 Main Loop?

$80/8131 20 92 A1    JSR $A192     ; ??? Wait for the next NMI?
$80/8134 7B          TDC           ; Clear 16-bit A
$80/8135 AD BF 05    LDA $05BF     ; Load Main Jump Table Index and use it
$80/8138 0A          ASL A
$80/8139 AA          TAX
$80/813A FC 42 81    JSR ($8142,x) ; Jump to something on the Main Jump Table
$80/813D 20 72 8D    JSR $8D72     ; Fade Screen In or Out
$80/8140 80 EF       BRA $EF       ; [$8131]

$80/8142 Main Jump Table

67 81   $8167 - Entry #$00
82 81   $8182 - Entry #$01
C5 81   $81C5 - Entry #$02
02 85   $8502 - Entry #$03
F1 88   $88F1 - Entry #$04
66 81   $8166 - Entry #$05 - RTS
22 83   $8322 - Entry #$06
EC 88   $88EC - Entry #$07
C9 9C   $9CC9 - Entry #$08
FD 9C   $9CFD - Entry #$09
66 81   $8166 - Entry #$0A - RTS
66 81   $8166 - Entry #$0B - RTS
2F 84   $842F - Entry #$0C
66 81   $8166 - Entry #$0D - RTS
66 81   $8166 - Entry #$0E - RTS
F6 88   $88F6 - Entry #$10
2E 83   $832E - Entry #$11
8B 81   $818B - Entry #$12

$80/8166 Main Jump Table Entry #$05 - EMPTY

Is just a RTS

$80/81C5 ?

$80/81C5 20 39 AD    JSR $AD39     ; RNG?
$80/81C8 20 09 E0    JSR $E009  [$80:E009]   A:0015 X:0004 Y:000A P:envMxdizc
$80/81CB AD C0 05    LDA $05C0     ; (Some important(?) Jump Table Index value?)
$80/81CE D0 0C       BNE $0C       ; [$81DC] Skip next 4 subroutines if not empty
$80/81D0 20 BA B9    JSR $B9BA  [$80:B9BA]   A:0000 X:003E Y:000A P:envMxdiZc
$80/81D3 20 BE 9A    JSR $9ABE  [$80:9ABE]   A:00C9 X:0040 Y:0000 P:envMxdiZC
$80/81D6 20 0A 8A    JSR $8A0A     ; Scroll the Map due to Cursor Movement
$80/81D9 20 F3 8B    JSR $8BF3     ; Compare BG1 Scroll Buffers
$80/81DC 22 19 80 86 JSL $868019[$86:8019]   A:0000 X:003C Y:0000 P:envMxdiZC
$80/81E0 20 F0 95    JSR $95F0  [$80:95F0]   A:0001 X:0541 Y:0100 P:eNvMxdizC
$80/81E3 A9 01       LDA #$01      ; Set Flag for a CGRAM Update
$80/81E5 8D 49 12    STA $1249
$80/81E8 60          RTS

$80/8875 ?

$80/8875 BD AE 17    LDA $17AE,x[$80:17B0]   A:8107 X:0002 Y:0002 P:envMxdizc
$80/8878 22 B2 A4 88 JSL $88A4B2[$88:A4B2]   A:8135 X:0002 Y:0002 P:envMxdizc
$80/887C 90 1C       BCC $1C    [$889A]      A:8135 X:0002 Y:0002 P:eNvMxdizc
code is missing here
$80/889A 60          RTS                     A:8135 X:0002 Y:0002 P:eNvMxdizc

$80/8900 Increment Jump Table Index?

$80/8900 EE BF 05    INC $05BF     ; Increment one Jump Table Index...
$80/8903 9C C0 05    STZ $05C0     ; ... and set the other to zero?
$80/8906 60          RTS

$80/897D (?) BG1 Scroll related

$80/897D A2 20 00    LDX #$0020    ; (Maximum of rhombs on one axis?)
$80/8980 AD 91 05    LDA $0591     ; Load BG1 H-Scroll Low Byte
$80/8983 29 07       AND #$07      ; Check if any of the lowest three bits is set
$80/8985 F0 01       BEQ $01       ; [$8988] Branch if not
Code is missing here
$80/8988 8A          TXA                     A:1000 X:0020 Y:0001 P:envMxdiZC
$80/8989 85 00       STA $00    [$00:0000]   A:1020 X:0020 Y:0001 P:envMxdizC
$80/898B A0 1C 00    LDY #$001C    ; (Maximum of rhombs on the other axis?)
$80/898E AD 93 05    LDA $0593     ; Load BG1 V-Scroll Low Byte
$80/8991 29 07       AND #$07      ; Check if any of the lowest three bits is set
$80/8993 F0 01       BEQ $01       ; [$8996] Branch if not
$80/8995 C8          INY                     A:1804 X:0020 Y:001C P:envMxdizc
$80/8996 98          TYA                     A:1000 X:0020 Y:001C P:envMxdiZC
$80/8997 85 02       STA $02    [$00:0002]   A:101C X:0020 Y:001C P:envMxdizC
$80/8999 AE 91 05    LDX $0591     ; Copy BG1 H-Scroll in $04
$80/899C 86 04       STX $04
$80/899E AC 93 05    LDY $0593     ; Copy BG1 V-Scroll in $06
$80/89A1 84 06       STY $06
$80/89A3 A9 03       LDA #$03                A:101C X:01A0 Y:0110 P:envMxdizC
$80/89A5 22 FC F0 82 JSL $82F0FC[$82:F0FC]   A:1003 X:01A0 Y:0110 P:envMxdizC
$80/89A9 60          RTS


$80/89AA BATTLE: Long Jump to Check if the Cursor is in Screen Center

$80/89AA 8B          PHB           ; Buffer Data Bank on Stack
$80/89AB 4B          PHK           ; Set Data Bank to $80
$80/89AC AB          PLB
$80/89AD 20 B2 89    JSR $89B2     ; Check if the Cursor is in Screen Center
$80/89B0 AB          PLB           ; Restore Data Bank
$80/89B1 6B          RTL

$80/89B2 BATTLE: Check if the Cursor is in Screen Center

This checks if the Cursor is in the Center of the Screen.

If A is empty at the end, it is in center, if not, it's off center.

$80/89B2 A2 3C 00    LDX #$003C    ; Index of the Rhomb Marker for the Global Pos List
$80/89B5 A0 00 00    LDY #$0000    ; Clear Signal Register
$80/89B8 C2 20       REP #$20
$80/89BA BD 43 07    LDA $0743,x   ; Load the Global X-Position of the Rhomb Marker
$80/89BD 38          SEC           ; Subtract #$80 (no. of pixels between the screen center and border)
$80/89BE E9 80 00    SBC #$0080
$80/89C1 CD 91 05    CMP $0591     ; Compare with BG1 HScroll
$80/89C4 F0 01       BEQ $01       ; [$89C7] Branch if Cursor is in Center
$80/89C6 C8          INY           ; Set Signal - Not in Center!
$80/89C7 BD 83 07    LDA $0783,x   ; Load the Global Y-Position of the Rhomb Marker
$80/89CA 38          SEC           ; Subtract #$77 (about no. of pixels between the screen center and border)
$80/89CB E9 77 00    SBC #$0077
$80/89CE CD 93 05    CMP $0593     ; Compare with BG1 VScroll
$80/89D1 F0 01       BEQ $01       ; [$89D4] Branch if Cursor is in Center
$80/89D3 C8          INY           ; Set Signal - Not in Center!
$80/89D4 E2 20       SEP #$20
$80/89D6 98          TYA           ; Transfer the "Off-Center-Signal" in A
$80/89D7 60          RTS

$80/8A0A BATTLE: Scroll the Map due to Cursor Movement

$80/8A0A AE 91 05    LDX $0591     ; Copy the current BG1 HScroll value in $05FB
$80/8A0D 8E FB 05    STX $05FB
$80/8A10 AE 93 05    LDX $0593     ; Copy the current BG1 VScroll value in $05FD
$80/8A13 8E FD 05    STX $05FD
$80/8A16 AE 3D 00    LDX $003D  [$80:003D]   A:0E00 X:0048 Y:0014 P:envMxdizC
$80/8A19 10 1E       BPL $1E    [$8A39]      A:0E00 X:FFFF Y:0014 P:eNvMxdizC
$80/8A1B A5 60       LDA $60    [$00:0060]   A:0E00 X:FFFF Y:0014 P:eNvMxdizC
$80/8A1D D0 03       BNE $03    [$8A22]      A:0E01 X:FFFF Y:0014 P:envMxdizC
Code is missing here
$80/8A22 A2 3C 00    LDX #$003C    ; Index for the Rhomb Marker
$80/8A25 C2 20       REP #$20
$80/8A27 BD 43 07    LDA $0743,x   ; Load the Global X-Position of the Rhomb Marker
$80/8A2A 85 00       STA $00       ; Use $00 as Tempstore
$80/8A2C BD 83 07    LDA $0783,x   ; Load the Global Y-Position of the Rhomb Marker
$80/8A2F 38          SEC           ; ??? (Subtract 8 for unknown reasons)
$80/8A30 E9 08 00    SBC #$0008
$80/8A33 85 02       STA $02       ; Use $02 as Tempstore
$80/8A35 E2 20       SEP #$20
$80/8A37 80 0E       BRA $0E       ; [$8A47]
Code is missing here
$80/8A47 A0 00 00    LDY #$0000    ; Clear this Direction Flag Register
$80/8A4A C2 20       REP #$20
$80/8A4C A5 00       LDA $00       ; Load the Global X-Position of the Rhomb Marker
$80/8A4E 38          SEC           ; Subtract BG1 Horizontal Scroll
$80/8A4F ED 91 05    SBC $0591
$80/8A52 38          SEC           ; Subtract #$80 (half of Screen Width)
$80/8A53 E9 80 00    SBC #$0080
$80/8A56 10 05       BPL $05       ; [$8A5D] Branch if the cursor is to the right of the screen center
$80/8A58 49 FF FF    EOR #$FFFF    ; It's left to the center, so it's a negative value in A - turn it positive
$80/8A5B 1A          INC A         ; You have to add 1 after turning positive
$80/8A5C C8          INY           ; ??? Set flag for "it was negative"?
$80/8A5D C9 41 00    CMP #$0041    ; Check if the cursor is further than #$41px away from the center
$80/8A60 90 15       BCC $15       ; [$8A77] If not, branch
$80/8A62 A9 C0 00    LDA #$00C0    ; C0 is the border to the right where scrolling doesn't activate yet
$80/8A65 C0 00 00    CPY #$0000    ; Check if the cursor went out of the focus to the left or the right
$80/8A68 F0 03       BEQ $03       ; [$8A6D] Leave out the next line if it was to the right
$80/8A6A A9 40 00    LDA #$0040    ; Replace it with the address of the left border if it was to the left
$80/8A6D 38          SEC           ; Subtract the Global X-Position of the cursor 
$80/8A6E E5 00       SBC $00
$80/8A70 49 FF FF    EOR #$FFFF    ; Turn the result into a positive number
$80/8A73 1A          INC A
$80/8A74 8D 91 05    STA $0591     ; [$80:0591] Store it as the new BG1 H Scroll value
$80/8A77 A0 00 00    LDY #$0000    ; Clear this Direction Flag Register
$80/8A7A C2 20       REP #$20
$80/8A7C A5 02       LDA $02       ; Load the Global Y-Position of the Rhomb Marker
$80/8A7E 38          SEC           ; Subtract BG1 Vertical Scroll
$80/8A7F ED 93 05    SBC $0593
$80/8A82 38          SEC           ; Subtract #$6F (about half of Screen Height)
$80/8A83 E9 6F 00    SBC #$006F
$80/8A86 10 05       BPL $05       ; [$8A8D] Branch if the cursor is in the lower than the screen center
$80/8A88 49 FF FF    EOR #$FFFF    ; It's above the screen center, so turn the distance into a positive number...
$80/8A8B 1A          INC A
$80/8A8C C8          INY           ; ... and set the flag that it is above the center
$80/8A8D C9 29 00    CMP #$0029    ; Check if the cursor is further than #$29px away from the center
$80/8A90 90 15       BCC $15       ; [$8AA7] If not, branch
Code is missing here
$80/8AA7 AD 91 05    LDA $0591     ; Check if this subroutine changed BG1 HScroll Value
$80/8AAA CD FB 05    CMP $05FB
$80/8AAD D0 2A       BNE $2A       ; [$8AD9] Branch if it has
$80/8AAF AD 91 05    LDA $0591  [$80:0591]   A:0150 X:003C Y:0000 P:envmxdiZC
$80/8AB2 89 0F 00    BIT #$000F              A:0150 X:003C Y:0000 P:envmxdizC
$80/8AB5 F0 1D       BEQ $1D    [$8AD4]      A:0150 X:003C Y:0000 P:envmxdiZC
Code is missing here
$80/8AD4 9C FF 05    STZ $05FF     ; Clear $05FF - no distance to scroll
$80/8AD7 80 0A       BRA $0A       ; [$8AE3]
$80/8AD9 AD 91 05    LDA $0591     ; If the BG1 HScroll value has been changed, calculate the difference
$80/8ADC 38          SEC
$80/8ADD ED FB 05    SBC $05FB
$80/8AE0 8D FF 05    STA $05FF     ; And store it in $05FF (16-bit value, can be negative)
Code is missing here
$80/8AE3 AD 93 05    LDA $0593     ; Check if this subroutine changed BG1 VScroll Value
$80/8AE6 CD FD 05    CMP $05FD
$80/8AE9 D0 2A       BNE $2A       ; [$8B15] Branch if it has
$80/8AEB AD 93 05    LDA $0593  [$80:0593]   A:0048 X:003C Y:0000 P:envmxdiZC
$80/8AEE 89 07 00    BIT #$0007              A:0048 X:003C Y:0000 P:envmxdizC
$80/8AF1 F0 1D       BEQ $1D    [$8B10]      A:0048 X:003C Y:0000 P:envmxdiZC
Code is missing here
$80/8B10 9C 01 06    STZ $0601     ; Clear $0601 - no distance to scroll
$80/8B13 80 0A       BRA $0A       ; [$8B1F] Exit
Code is missing here
$80/8B1F E2 20       SEP #$20
$80/8B21 60          RTS

$80/8BEB Long Jump to Compare BG1 Scroll Buffers

$80/8BEB 8B          PHB           ; Buffer Program Bank
$80/8BEC 4B          PHK           ; Set $80 as Program Bank
$80/8BED AB          PLB
$80/8BEE 20 F3 8B    JSR $8BF3     ; Compare BG1 Scroll Buffers
$80/8BF1 AB          PLB           ; Restore Program Bank
$80/8BF2 6B          RTL

$80/8BF3 Compare BG1 Scroll Buffers

$80/8BF3 C2 20       REP #$20      ; A = 16 bit
$80/8BF5 A0 00 00    LDY #$0000              A:0048 X:003C Y:0000 P:envmxdiZC
$80/8BF8 AD 91 05    LDA $0591     ; Load BG1 HScroll Buffer
$80/8BFB 38          SEC           ; Subtract another BG1 HScroll Buffer
$80/8BFC ED 71 05    SBC $0571
$80/8BFF 10 06       BPL $06       ; [$8C07] Branch if Positive
$80/8C01 C8          INY           ; Increment twice to set Bit 1 in Y (negative signal)
$80/8C02 C8          INY
$80/8C03 49 FF FF    EOR #$FFFF    ; Turn the difference in a positive number
$80/8C06 1A          INC A         ; (INC A is part of the turning into a positive number)
$80/8C07 85 0C       STA $0C       ; Store (positive) Difference of the H-Scrolls in $0C
$80/8C09 AD 93 05    LDA $0593     ; Load BG1 VScroll Buffer
$80/8C0C 38          SEC           ; Subtract another BG1 VScroll Buffer
$80/8C0D ED 73 05    SBC $0573
$80/8C10 10 05       BPL $05       ; [$8C17] Branch if Positive
Code is missing here
$80/8C17 85 0E       STA $0E       ; Store (positive) Difference of the V-Scrolls in $0E
$80/8C19 05 0C       ORA $0C       ; With this, if any Bit in $0C or $0E is set, A will be != 0
$80/8C1B D0 03       BNE $03       ; [$8C20] Branch if there was any difference between the buffers
$80/8C1D 4C 1D 8D    JMP $8D1D     ; Exit
$80/8C20 E2 20       SEP #$20                A:0001 X:3300 Y:0002 P:envmxdizC
$80/8C22 A5 67       LDA $67       ; ??? (seems to be always 8)
$80/8C24 1A          INC A         ; ???
$80/8C25 20 F0 A8    JSR $A8F0     ; Calculate the Square Number of A
$80/8C28 C2 20       REP #$20      ; 16-bit A
$80/8C2A 85 04       STA $04       ; ?? $04 = ($6C + 1)²   (= #$51)
$80/8C2C A5 0C       LDA $0C       ; Load (positive) Difference of the H-Scrolls in $0C
$80/8C2E 22 01 A9 80 JSL $80A901   ; Calculate the Square Number of 16-bit A
$80/8C32 D4 02       PEI ($02)     ; Buffer $00-$03 on Stack (which is the Square Number Result)
$80/8C34 D4 00       PEI ($00)
$80/8C36 A5 0E       LDA $0E       ; Load (positive) Difference of the V-Scrolls in $0E
$80/8C38 22 01 A9 80 JSL $80A901   ; Calculate the Square Number of 16-bit A
$80/8C3C 18          CLC           ; Clear Carry
$80/8C3D 68          PLA           ; Pull the the two low bytes of the H-Scroll-Square Number
$80/8C3E 65 00       ADC $00       ; Add V-Scroll-Square Number low bytes
$80/8C40 85 00       STA $00       ; Store in $00/1
$80/8C42 68          PLA           ; Pull the the two high bytes of the H-Scroll-Square Number
$80/8C43 65 02       ADC $02       ; Add V-Scroll-Square Number high bytes
$80/8C45 85 02       STA $02       ; Store in $02/3
$80/8C47 A5 00       LDA $00       ; If the Low Bytes of the added Square Numbers is higher/same than $04...
$80/8C49 C5 04       CMP $04       ; ... then this CMP sets the Carry that gets subrtracted...
$80/8C4B A5 02       LDA $02       ; ... from the added Square Numbers High Bytes in these two lines
$80/8C4D E9 00 00    SBC #$0000
$80/8C50 90 25       BCC $25       ; [$8C77] Branch if this subtraction needed the borrow
$80/8C52 22 FC AB 80 JSL $80ABFC[$80:ABFC]   A:0000 X:003C Y:0002 P:envmxdiZC
$80/8C56 85 08       STA $08    [$00:0008]   A:0010 X:003C Y:0002 P:eNvmxdizC
$80/8C58 A5 67       LDA $67    [$00:0067]   A:0010 X:003C Y:0002 P:eNvmxdizC
$80/8C5A 29 FF 00    AND #$00FF              A:5508 X:003C Y:0002 P:envmxdizC
$80/8C5D 85 00       STA $00    [$00:0000]   A:0008 X:003C Y:0002 P:envmxdizC
$80/8C5F A5 0C       LDA $0C    [$00:000C]   A:0008 X:003C Y:0002 P:envmxdizC
$80/8C61 85 04       STA $04    [$00:0004]   A:0010 X:003C Y:0002 P:envmxdizC
$80/8C63 22 6F A8 80 JSL $80A86F[$80:A86F]   A:0010 X:003C Y:0002 P:envmxdizC
$80/8C67 A5 04       LDA $04    [$00:0004]   A:0000 X:003C Y:0002 P:eNvmxdizC
$80/8C69 85 0C       STA $0C    [$00:000C]   A:0008 X:003C Y:0002 P:envmxdizC
$80/8C6B A5 0E       LDA $0E    [$00:000E]   A:0008 X:003C Y:0002 P:envmxdizC
$80/8C6D 85 04       STA $04    [$00:0004]   A:0000 X:003C Y:0002 P:envmxdiZC
$80/8C6F 22 6F A8 80 JSL $80A86F[$80:A86F]   A:0000 X:003C Y:0002 P:envmxdiZC
$80/8C73 A5 04       LDA $04    [$00:0004]   A:0000 X:003C Y:0002 P:eNvmxdizc
$80/8C75 85 0E       STA $0E    [$00:000E]   A:0000 X:003C Y:0002 P:envmxdiZc
$80/8C77 98          TYA           ; Test if Bit 1 in Y is set (Signal for negative difference in H-Scroll)
$80/8C78 89 02 00    BIT #$0002
$80/8C7B F0 06       BEQ $06       ; [$8C83] Branch if positive difference
$80/8C7D 7B          TDC           ; Turn the Difference back into a negative value and store it in $0C
$80/8C7E 38          SEC
$80/8C7F E5 0C       SBC $0C
$80/8C81 85 0C       STA $0C
$80/8C83 98          TYA           ; Test if Bit 0 in Y is set (Signal for negative difference in V-Scroll)
$80/8C84 89 01 00    BIT #$0001
$80/8C87 F0 06       BEQ $06       ; [$8C8F] Branch if positive difference
Code is missing here
$80/8C8F A5 0C       LDA $0C       ; Load (positive/negative) Difference of the H-Scrolls
$80/8C91 18          CLC
$80/8C92 6D 71 05    ADC $0571     ; Add BG1 H-Scroll
$80/8C95 8D 91 05    STA $0591     ; Set as BG1 H-Scroll
$80/8C98 8D 95 05    STA $0595     ; Set as BG2 H-Scroll
$80/8C9B A5 0E       LDA $0E       ; Load (positive/negative) Difference of the V-Scrolls
$80/8C9D 18          CLC
$80/8C9E 6D 73 05    ADC $0573     ; Add BG1 V-Scroll
$80/8CA1 8D 93 05    STA $0593     ; Set as BG1 V-Scroll
$80/8CA4 8D 97 05    STA $0597     ; Set as BG2 V-Scroll
$80/8CA7 AE 91 05    LDX $0591     ; X = BG1 H-Scroll
$80/8CAA AC 93 05    LDY $0593     ; Y = BG1 V-Scroll
$80/8CAD EC 71 05    CPX $0571     ; Compare new H-Scroll to the old
$80/8CB0 30 1A       BMI $1A       ; [$8CCC] Branch if the difference was negative = scroll value got less
Code is missing here
$80/8CCC AD 71 05    LDA $0571     ; Load old H-Scroll
$80/8CCF 29 F8 FF    AND #$FFF8    ; Remove lowest 3 Bits
$80/8CD2 85 00       STA $00       ; Buffer in $00
$80/8CD4 8A          TXA           ; A = BG1 H-Scroll
$80/8CD5 29 F8 FF    AND #$FFF8    ; Remove lowest 3 Bits
$80/8CD8 C5 00       CMP $00       ; Check if the difference between old and new H-Scroll is bigger than 8px
$80/8CDA F0 07       BEQ $07       ; [$8CE3] Branch if not
Code is missing here

$80/8CDC E2 20 SEP #$20 A:00D8 X:00DF Y:0060 P:eNvmxdizc $80/8CDE 20 45 8D JSR $8D45 [$80:8D45] A:00D8 X:00DF Y:0060 P:eNvMxdizc $80/8CE1 C2 20 REP #$20 A:0038 X:0006 Y:781B P:eNvMxdizc

$80/8CE3 AE 91 05    LDX $0591     ; X = BG1 H-Scroll
$80/8CE6 AC 93 05    LDY $0593     ; Y = BG1 V-Scroll
$80/8CE9 CC 73 05    CPY $0573     ; Compare new Y-Scroll to the old
$80/8CEC 30 1A       BMI $1A       ; [$8D08]  Branch if the difference was negative = scroll value got less
$80/8CEE AD 73 05    LDA $0573     ; Load old V-Scroll
$80/8CF1 3A          DEC A         ; ??? Decrement V-Scroll by 1 (why?)
$80/8CF2 29 F8 FF    AND #$FFF8    ; Remove lowest 3 Bits
$80/8CF5 85 00       STA $00       ; Buffer in $00
$80/8CF7 98          TYA           ; A = BG1 V-Scroll
$80/8CF8 3A          DEC A         ; ??? Decrement V-Scroll by 1 (why?)
$80/8CF9 29 F8 FF    AND #$FFF8    ; Remove lowest 3 Bits
$80/8CFC C5 00       CMP $00       ; Check if the difference between old and new H-Scroll is bigger than 8px
$80/8CFE F0 1D       BEQ $1D       ; [$8D1D] Exit
Code is missing here
$80/8D1D E2 20       SEP #$20
$80/8D1F 60          RTS

$80/8D45 ?

The values that are stored in $04 and $06 (and that seem to be carried into this subroutine) are something like the BG1 H- and V-Scroll values (according to the subroutine at the end of $82F0FC).

$80/8D45 A9 01       LDA #$01                A:00D8 X:00DF Y:0060 P:eNvMxdizc
$80/8D47 85 00       STA $00    [$00:0000]   A:0001 X:00DF Y:0060 P:envMxdizc
$80/8D49 A9 1C       LDA #$1C                A:0001 X:00DF Y:0060 P:envMxdizc
$80/8D4B 85 02       STA $02    [$00:0002]   A:001C X:00DF Y:0060 P:envMxdizc
$80/8D4D 98          TYA                     A:001C X:00DF Y:0060 P:envMxdizc
$80/8D4E 29 07       AND #$07                A:0060 X:00DF Y:0060 P:envMxdizc
$80/8D50 F0 02       BEQ $02    [$8D54]      A:0000 X:00DF Y:0060 P:envMxdiZc
Code is missing here
$80/8D54 86 04       STX $04    [$00:0004]   A:0000 X:00DF Y:0060 P:envMxdiZc
$80/8D56 84 06       STY $06    [$00:0006]   A:0000 X:00DF Y:0060 P:envMxdiZc
$80/8D58 22 60 81 99 JSL $998160[$99:8160]   A:0000 X:00DF Y:0060 P:envMxdiZc
$80/8D5C 90 07       BCC $07    [$8D65]      A:0000 X:00DF Y:0060 P:envMxdizC
$80/8D5E A9 03       LDA #$03                A:0000 X:00DF Y:0060 P:envMxdizC
$80/8D60 22 FC F0 82 JSL $82F0FC[$82:F0FC]   A:0003 X:00DF Y:0060 P:envMxdizC
$80/8D64 60          RTS                     A:0038 X:0006 Y:781B P:eNvMxdizc

$80/8D6A Long Jump to Fade Screen In or Out

$80/8D6A 8B          PHB           ; Buffer Data Bank
$80/8D6B 4B          PHK           ; Set $80 as Data Bank
$80/8D6C AB          PLB
$80/8D6D 20 72 8D    JSR $8D72     ; Fade Screen In or Out
$80/8D70 AB          PLB           ; Restore Data Bank
$80/8D71 6B          RTL

$80/8D72 Fade Screen In or Out

$80/8D72 AD C2 05    LDA $05C2     ; Load Fade In/Out Flags
$80/8D75 89 01       BIT #$01      ; Is Fade In Flag set? (Bit 0)
$80/8D77 F0 16       BEQ $16       ; [$8D8F] Branch if not
$80/8D79 AD 87 05    LDA $0587     ; Load $2100 Buffer
$80/8D7C 29 0F       AND #$0F      ; Remove the FBLANK Bit, leave the Screen brightness
$80/8D7E 18          CLC           ; Turn Screen Brightness up by two degrees
$80/8D7F 69 02       ADC #$02
$80/8D81 C9 0F       CMP #$0F      ; Check if it surpassed the maximum
$80/8D83 90 05       BCC $05       ; [$8D8A] Branch if it didn't
$80/8D85 9C C2 05    STZ $05C2     ; Deactivate Fade In/Out Flags
$80/8D88 A9 0F       LDA #$0F      ; If brightness+2 surpasses the limit, set to max brightness
$80/8D8A 8D 87 05    STA $0587     ; Store it in $2100 buffer and then exit
$80/8D8D 80 18       BRA $18       ; [$8DA7] YOU CAN MAKE THIS SHORTER- remove the line above and branch to $8DA4
$80/8D8F 89 02       BIT #$02      ; Is Fade Out Flag set? (Bit 1)
$80/8D91 F0 14       BEQ $14       ; [$8DA7] ??? Exit if not
$80/8D93 AD 87 05    LDA $0587     ; Load $2100 Buffer
$80/8D96 30 07       BMI $07       ; [$8D9F] Branch if FBLANK is active
$80/8D98 38          SEC           ; Turn Brightness down by two degrees
$80/8D99 E9 02       SBC #$02
$80/8D9B F0 02       BEQ $02       ; [$8D9F] Activate FBLANK and exit if we reached 0 (or turned negative)
$80/8D9D 10 05       BPL $05       ; [$8DA4] If still positive, store new Brightness back and exit
$80/8D9F 9C C2 05    STZ $05C2     ; Deactivate Fade In/Out Flags
$80/8DA2 A9 80       LDA #$80      ; Activate FBLANK
$80/8DA4 8D 87 05    STA $0587
$80/8DA7 60          RTS

$80/8DA8 BATTLE: Load Palette Number for Color Cycling

$80/8DA8 8B          PHB           ; Buffer Data Bank
$80/8DA9 4B          PHK           ; Set $80 as Data Bank
$80/8DAA AB          PLB                     A:0000 X:0000 Y:0320 P:envMxdiZC
$80/8DAB A5 A3       LDA $A3    [$00:00A3]   A:0000 X:0000 Y:0320 P:eNvMxdizC
$80/8DAD 89 02       BIT #$02                A:0000 X:0000 Y:0320 P:envMxdiZC
$80/8DAF F0 0C       BEQ $0C    [$8DBD]      A:0000 X:0000 Y:0320 P:envMxdiZC
Code is missing here
$80/8DBD BD 56 1A    LDA $1A56,x[$80:1A56]   A:0000 X:0000 Y:0320 P:envMxdiZC
$80/8DC0 18          CLC                     A:0007 X:0000 Y:0320 P:envMxdizC
$80/8DC1 69 10       ADC #$10                A:0007 X:0000 Y:0320 P:envMxdizc
$80/8DC3 AB          PLB           ; Restore Data Bank
$80/8DC4 6B          RTL

$80/8DC5 BATTLE: Long Jump to Setup HDMA Data Tables for Color Cycling

$80/8DC5 8B          PHB           ; Buffer Data Bank
$80/8DC6 4B          PHK           ; Set $80 as Data Bank
$80/8DC7 AB          PLB
$80/8DC8 20 CD 8D    JSR $8DCD     ; Setup HDMA Data Tables for Color Cycling
$80/8DCB AB          PLB           ; Restore Data Bank
$80/8DCC 6B          RTL

$80/8DCD BATTLE: Setup HDMA Data Tables for Color Cycling

This prepares the Data Tables for two HDMAs that do color cycling.

The Data Tables are going to be at $7E/BEBE and $7E/C0BE (and $7E/BFBE and $7E/C1BE, more on that later). They will consist of two bytes CGRAM address followed by two bytes of Color Data.

The second half of the subroutine is executed twice: At $8DE6, it jumps to the next line as a subroutine; it executes everything and then reaches a RTS. This RTS moves it back to $8DE9 where it executes everything again. As the Store Index in X isn't changed, it goes on writing the same stuff in the registers after whose who where worked off in the first run.

$80/8DCD 7B          TDC           ; Clear 16-bit A
$80/8DCE A5 9C       LDA $9C       ; Load Index which Palette to use
$80/8DD0 C2 20       REP #$20      ; 16-bit A
$80/8DD2 29 FF 00    AND #$00FF    ; This line could be removed
$80/8DD5 0A          ASL A         ; Multiply by 2, each entry is 2 bytes in size
$80/8DD6 AA          TAX
$80/8DD7 BF EE E3 84 LDA $84E3EE,x ; Load Palette Address
$80/8DDB 85 20       STA $20       ; Setup Load Address for Palettes in $20/1
$80/8DDD E2 20       SEP #$20      ; 8-bit A
$80/8DDF A9 84       LDA #$84      ; Set Load Address Bank to $84 in $22
$80/8DE1 85 22       STA $22
$80/8DE3 A2 00 00    LDX #$0000    ; Clear Store Index
$80/8DE6 20 E9 8D    JSR $8DE9     ; EXECUTE THE REST OF THE SUBROUTINE TWICE

$80/8DE9 8B          PHB           ; Buffer Data Bank on Stack
$80/8DEA A9 7E       LDA #$7E      ; Set Data Bank to $7E
$80/8DEC 48          PHA
$80/8DED AB          PLB
$80/8DEE A0 00 00    LDY #$0000    ; Clear Data Load Index
$80/8DF1 A9 4E       LDA #$4E      ; Set as 1st color to change with the 1st table #$(00)4E
$80/8DF3 9D BF BE    STA $BEBF,x
$80/8DF6 A9 5E       LDA #$5E      ; Set as 2nd color to change with the 1st table #$(00)5E
$80/8DF8 9D C3 BE    STA $BEC3,x
$80/8DFB A9 6E       LDA #$6E      ; Set as 1st color to change with the 2nd table #$(00)6E
$80/8DFD 9D BF C0    STA $C0BF,x
$80/8E00 A9 7E       LDA #$7E      ; Set as 2nd color to change with the 2nd table #$(00)7E
$80/8E02 9D C3 C0    STA $C0C3,x
$80/8E05 C2 20       REP #$20      ; 16-bit A
$80/8E07 B7 20       LDA [$20],y   ; Load Byte (Color)
$80/8E09 9D C0 BE    STA $BEC0,x   ; Color for CGRAM entry #$004E
$80/8E0C 9D C4 BE    STA $BEC4,x   ; Color for CGRAM entry #$005E
$80/8E0F 9D C0 C0    STA $C0C0,x   ; Color for CGRAM entry #$006E
$80/8E12 9D C4 C0    STA $C0C4,x   ; Color for CGRAM entry #$007E
$80/8E15 8A          TXA           ; Increment Store Index by 8 - do the next 2 entries
$80/8E16 18          CLC
$80/8E17 69 08 00    ADC #$0008
$80/8E1A AA          TAX
$80/8E1B E2 20       SEP #$20      ; 8-bit A
$80/8E1D C8          INY           ; Increment Load Index for the next color twice
$80/8E1E C8          INY
$80/8E1F C0 20 00    CPY #$0020    ; Loop until it has done sixteen colors
$80/8E22 90 CD       BCC $CD       ; [$8DF1]
$80/8E24 88          DEY           ; Decrement Load Index for the next color twice - do the colors backwards
$80/8E25 88          DEY
$80/8E26 A9 4E       LDA #$4E      ; Set as 1st color to change with the 1st table #$(00)4E
$80/8E28 9D BF BE    STA $BEBF,x
$80/8E2B A9 5E       LDA #$5E      ; Set as 2nd color to change with the 1st table #$(00)5E
$80/8E2D 9D C3 BE    STA $BEC3,x
$80/8E30 A9 6E       LDA #$6E      ; Set as 1st color to change with the 2nd table #$(00)6E
$80/8E32 9D BF C0    STA $C0BF,x
$80/8E35 A9 7E       LDA #$7E      ; Set as 2nd color to change with the 2nd table #$(00)7E
$80/8E37 9D C3 C0    STA $C0C3,x
$80/8E3A C2 20       REP #$20      ; 16-bit A
$80/8E3C B7 20       LDA [$20],y   ; Load Byte (Color)
$80/8E3E 9D C0 BE    STA $BEC0,x   ; Color for CGRAM entry #$004E
$80/8E41 9D C4 BE    STA $BEC4,x   ; Color for CGRAM entry #$005E
$80/8E44 9D C0 C0    STA $C0C0,x   ; Color for CGRAM entry #$006E
$80/8E47 9D C4 C0    STA $C0C4,x   ; Color for CGRAM entry #$007E
$80/8E4A 8A          TXA           ; Increment Store Index by 8 - do the next 2 entries
$80/8E4B 18          CLC
$80/8E4C 69 08 00    ADC #$0008
$80/8E4F AA          TAX
$80/8E50 E2 20       SEP #$20      ; 8-bit A
$80/8E52 88          DEY           ; Decrement Load Index for the next color twice - do the colors backwards
$80/8E53 88          DEY
$80/8E54 10 D0       BPL $D0       ; [$8E26] Loop until it has done sixteen colors 
$80/8E56 C2 20       REP #$20      ; 16-bit A
$80/8E58 AD 93 05    LDA $0593     ; Copy BG1 V-Scroll value in $BE88
$80/8E5B 8D 88 BE    STA $BE88
$80/8E5E E2 20       SEP #$20      ; 8-bit A
$80/8E60 AB          PLB           ; Restore Data Bank from Stack
$80/8E61 60          RTS

$80/8E62 BATTLE: Color HDMA related

Executed while movement possibilities are shown

$80/8E62 8B          PHB           ; Buffer Data Bank on Stack - this line could be removed
$80/8E63 4B          PHK           ; Set Data Bank to $80 - this line could be removed
$80/8E64 AB          PLB           ; this line could be removed
$80/8E65 20 6A 8E    JSR $8E6A  [$80:8E6A]   A:0060 X:0200 Y:FFFE P:eNvMxdizc
$80/8E68 AB          PLB           ; Restore Data Bank - this line could be removed
$80/8E69 6B          RTL

$80/8E6A BATTLE: Color HDMA related

Executed while movement possibilities are shown

$80/8E6A 8B          PHB           ; Buffer Data Bank on Stack
$80/8E6B A9 7E       LDA #$7E      ; Set Data Bank to $7E - this line could be removed
$80/8E6D 48          PHA
$80/8E6E AB          PLB
$80/8E6F A2 8A BE    LDX #$BE8A              A:007E X:0200 Y:FFFE P:envMxdizc
$80/8E72 8E 84 BE    STX $BE84  [$7E:BE84]   A:007E X:BE8A Y:FFFE P:eNvMxdizc
$80/8E75 A2 00 00    LDX #$0000              A:007E X:BE8A Y:FFFE P:eNvMxdizc
$80/8E78 AD EE 05    LDA $05EE     ; Load $4209 Buffer (V Timer Low Byte)
$80/8E7B 48          PHA           ; Copy it on Stack
$80/8E7C C9 41       CMP #$41      ; Check if it is more than #$40
$80/8E7E 90 02       BCC $02       ; [$8E82] if not, use that value...
$80/8E80 A9 40       LDA #$40      ; ... else, use #$40
$80/8E82 09 80       ORA #$80                A:0040 X:0000 Y:FFFE P:envMxdizC
$80/8E84 9D 8A BE    STA $BE8A,x[$7E:BE8A]   A:00C0 X:0000 Y:FFFE P:eNvMxdizC
$80/8E87 9D 97 BE    STA $BE97,x[$7E:BE97]   A:00C0 X:0000 Y:FFFE P:eNvMxdizC
$80/8E8A 9D A4 BE    STA $BEA4,x[$7E:BEA4]   A:00C0 X:0000 Y:FFFE P:eNvMxdizC
$80/8E8D 9D B1 BE    STA $BEB1,x[$7E:BEB1]   A:00C0 X:0000 Y:FFFE P:eNvMxdizC
$80/8E90 E8          INX                     A:00C0 X:0000 Y:FFFE P:eNvMxdizC
$80/8E91 C2 20       REP #$20                A:00C0 X:0001 Y:FFFE P:envMxdizC
$80/8E93 A9 BE BE    LDA #$BEBE              A:00C0 X:0001 Y:FFFE P:envmxdizC
$80/8E96 9D 8A BE    STA $BE8A,x[$7E:BE8B]   A:BEBE X:0001 Y:FFFE P:eNvmxdizC
$80/8E99 9D A4 BE    STA $BEA4,x[$7E:BEA5]   A:BEBE X:0001 Y:FFFE P:eNvmxdizC
$80/8E9C A9 BE C0    LDA #$C0BE              A:BEBE X:0001 Y:FFFE P:eNvmxdizC
$80/8E9F 9D 97 BE    STA $BE97,x[$7E:BE98]   A:C0BE X:0001 Y:FFFE P:eNvmxdizC
$80/8EA2 9D B1 BE    STA $BEB1,x[$7E:BEB2]   A:C0BE X:0001 Y:FFFE P:eNvmxdizC
$80/8EA5 E2 20       SEP #$20                A:C0BE X:0001 Y:FFFE P:eNvmxdizC
$80/8EA7 E8          INX                     A:C0BE X:0001 Y:FFFE P:eNvMxdizC
$80/8EA8 E8          INX                     A:C0BE X:0002 Y:FFFE P:envMxdizC
$80/8EA9 68          PLA           ; Pull the Copy of the $4209 Buffer value from stack
$80/8EAA C9 41       CMP #$41
$80/8EAC 90 04       BCC $04       ; [$8EB2] Branch and go on if it is less than #$40
$80/8EAE E9 40       SBC #$40      ; Subtract #$40
$80/8EB0 80 C9       BRA $C9       ; [$8E7B] Loop
$80/8EB2 9E 8A BE    STZ $BE8A,x[$7E:BE96]   A:C01B X:000C Y:FFFE P:eNvMxdizc
$80/8EB5 9E 97 BE    STZ $BE97,x[$7E:BEA3]   A:C01B X:000C Y:FFFE P:eNvMxdizc
$80/8EB8 9E A4 BE    STZ $BEA4,x[$7E:BEB0]   A:C01B X:000C Y:FFFE P:eNvMxdizc
$80/8EBB 9E B1 BE    STZ $BEB1,x[$7E:BEBD]   A:C01B X:000C Y:FFFE P:eNvMxdizc
$80/8EBE 9C 86 BE    STZ $BE86  [$7E:BE86]   A:C01B X:000C Y:FFFE P:eNvMxdizc
$80/8EC1 A9 81       LDA #$81                A:C01B X:000C Y:FFFE P:eNvMxdizc
$80/8EC3 8D 87 BE    STA $BE87  [$7E:BE87]   A:C081 X:000C Y:FFFE P:eNvMxdizc
$80/8EC6 AB          PLB           ; Restore Data Bank - this line could be removed
$80/8EC7 60          RTS

$80/8EC8 BATTLE: Long Jump to Setup Color HDMAs

Executed while movement possibilities are shown

$80/8EC8 8B          PHB           ; Buffer Data Bank on Stack
$80/8EC9 4B          PHK           ; Set Data Bank to $80
$80/8ECA AB          PLB
$80/8ECB 20 D0 8E    JSR $8ED0     ; Setup Color HDMAs
$80/8ECE AB          PLB           ; Restore Data Bank
$80/8ECF 6B          RTL

$80/8ED0 BATTLE: Setup Color HDMAs

Executed while movement possibilities are shown

$80/8ED0 A9 43       LDA #$43      ; DMA Settings - Write 2 regs twice, use HDMA Table
$80/8ED2 8D 30 43    STA $4330
$80/8ED5 A9 21       LDA #$21      ; HDMA Destination: $2121/2 CGRAM Address/Data Register
$80/8ED7 8D 31 43    STA $4331
$80/8EDA A2 8A BE    LDX #$BE8A    ; HDMA Table at $7E/BE8A
$80/8EDD 8E 32 43    STX $4332
$80/8EE0 A9 7E       LDA #$7E
$80/8EE2 8D 34 43    STA $4334
$80/8EE5 A9 7E       LDA #$7E      ; Bytes to be transfered to CGRAM during HDMA are on Bank $7E
$80/8EE7 8D 37 43    STA $4337
$80/8EEA A9 08       LDA #$08      ; Add Activation Flag for the HDMA
$80/8EEC 0C B0 05    TSB $05B0
$80/8EEF A9 43       LDA #$43      ; DMA Settings - Write 2 regs twice, use HDMA Table
$80/8EF1 8D 20 43    STA $4320
$80/8EF4 A9 21       LDA #$21      ; HDMA Destination: $2121/2 CGRAM Address/Data Register
$80/8EF6 8D 21 43    STA $4321
$80/8EF9 A2 97 BE    LDX #$BE97    ; HDMA Table at $7E/BE97
$80/8EFC 8E 22 43    STX $4322
$80/8EFF A9 7E       LDA #$7E
$80/8F01 8D 24 43    STA $4324
$80/8F04 A9 7E       LDA #$7E      ; Bytes to be transfered to CGRAM during HDMA are on Bank $7E
$80/8F06 8D 27 43    STA $4327
$80/8F09 A9 04       LDA #$04      ; Add Activation Flag for the HDMA
$80/8F0B 0C B0 05    TSB $05B0
$80/8F0E 60          RTS

$80/8FA8 ???

$80/8FA8 A9 43       LDA #$43      ; DMA Options: HDMA, write 2 registers twice each
$80/8FAA 8D 70 43    STA $4370
$80/8FAD A9 21       LDA #$21      ; CGRAM Address (+ Data) Register (writes both twice)
$80/8FAF 8D 71 43    STA $4371
$80/8FB2 A2 00 B0    LDX #$B000    ; Source Address: $7E/B000
$80/8FB5 8E 72 43    STX $4372
$80/8FB8 A9 7E       LDA #$7E
$80/8FBA 8D 74 43    STA $4374
$80/8FBD A9 7E       LDA #$7E      ; HDMA Indirect Address Bank: $7E
$80/8FBF 8D 77 43    STA $4377
$80/8FC2 A9 80       LDA #$80      ; Set the bit for this DMA Channel in the HDMA activation flag buffer
$80/8FC4 0C B0 05    TSB $05B0
$80/8FC7 A9 43       LDA #$43      ; DMA Options: HDMA, write 2 registers twice each
$80/8FC9 8D 10 43    STA $4310
$80/8FCC A9 11       LDA #$11      ; BG3 H/V Scroll Registers
$80/8FCE 8D 11 43    STA $4311
$80/8FD1 A2 A0 B0    LDX #$B0A0    ; Source Address: $7E/B0A0
$80/8FD4 8E 12 43    STX $4312
$80/8FD7 A9 7E       LDA #$7E
$80/8FD9 8D 14 43    STA $4314
$80/8FDC A9 00       LDA #$00      ; HDMA Indirect Address Bank: $00
$80/8FDE 8D 17 43    STA $4317
$80/8FE1 A9 02       LDA #$02      ; Set the bit for this DMA Channel in the HDMA activation flag buffer
$80/8FE3 0C B0 05    TSB $05B0
$80/8FE6 A9 43       LDA #$43      ; DMA Options: HDMA, write 2 registers twice each
$80/8FE8 8D 60 43    STA $4360
$80/8FEB A9 0F       LDA #$0F      ; BG2 H/V Scroll Registers
$80/8FED 8D 61 43    STA $4361
$80/8FF0 A2 20 B0    LDX #$B020    ; Source Address: $7E/B020
$80/8FF3 8E 62 43    STX $4362
$80/8FF6 A9 7E       LDA #$7E
$80/8FF8 8D 64 43    STA $4364
$80/8FFB A9 00       LDA #$00      ; HDMA Indirect Address Bank: $00
$80/8FFD 8D 67 43    STA $4367
$80/9000 A9 40       LDA #$40      ; Set the bit for this DMA Channel in the HDMA activation flag buffer
$80/9002 0C B0 05    TSB $05B0
$80/9005 A9 43       LDA #$43      ; DMA Options: HDMA, write 2 registers twice each
$80/9007 8D 50 43    STA $4350
$80/900A A9 0D       LDA #$0D      ; BG1 H/V Scroll Registers
$80/900C 8D 51 43    STA $4351
$80/900F A2 20 B0    LDX #$B020    ; Source Address: $7E/B020
$80/9012 8E 52 43    STX $4352
$80/9015 A9 7E       LDA #$7E
$80/9017 8D 54 43    STA $4354
$80/901A A9 00       LDA #$00      ; HDMA Indirect Address Bank: $00
$80/901C 8D 57 43    STA $4357
$80/901F A9 20       LDA #$20      ; Set the bit for this DMA Channel in the HDMA activation flag buffer
$80/9021 0C B0 05    TSB $05B0
$80/9024 A2 00 B0    LDX #$B000    ; Set #$B000 in buffer for $4372
$80/9027 8E FC 16    STX $16FC
$80/902A A2 20 B0    LDX #$B020
$80/902D 8E FE 16    STX $16FE     ; Set #$B020 in buffer for $4362
$80/9030 8E 00 17    STX $1700     ; Set #$B020 in buffer for $4352
$80/9033 A2 A0 B0    LDX #$B0A0
$80/9036 8E 02 17    STX $1702     ; Set #$B0A0 in buffer for $4312
$80/9039 20 BA 96    JSR $96BA  [$80:96BA]   A:0020 X:B0A0 Y:001E P:eNvMxdizC
$80/903C 20 4A 96    JSR $964A  [$80:964A]   A:1700 X:B040 Y:000C P:eNvMxdizC
$80/903F EE FB 16    INC $16FB     ; Set Flag for $80/B1EF
$80/9042 60          RTS

$80/91D1 MVN-Transfer of #$4C0 bytes on Bank $7E

$80/91D1 AD 58 17    LDA $1758     ; Check if Bank-$7E-MVN-Transfer flag is set
$80/91D4 D0 1B       BNE $1B       ; [$91F1] Exit if it is
$80/91D6 8B          PHB           ; Buffer Data Bank on Stack
$80/91D7 DA          PHX           ; Buffer X and Y on Stack
$80/91D8 5A          PHY
$80/91D9 AE 59 17    LDX $1759     ; Load MVN Source Address
$80/91DC AC 5B 17    LDY $175B     ; Load MVN Destination Address
$80/91DF C2 20       REP #$20      ; A = 16-bit
$80/91E1 A9 BF 04    LDA #$04BF    ; Number of Bytes to transfer: #$04C0
$80/91E4 54 7E 7E    MVN 7E 7E     ; TRANSFER ON BANK $7E
$80/91E7 E2 20       SEP #$20      ; A = 8-bit
$80/91E9 7A          PLY           ; Restore Y and X from Stack
$80/91EA FA          PLX
$80/91EB AB          PLB           ; Restore Data Bank from Stack
$80/91EC A9 01       LDA #$01      ; Set Bank-$7E-MVN-Transfer flag
$80/91EE 8D 58 17    STA $1758
$80/91F1 6B          RTL

$80/91F2 ?

$80/91F2 8B          PHB           ; Buffer Data Bank on Stack
$80/91F3 4B          PHK           ; Set Data Bank to $80
$80/91F4 AB          PLB
$80/91F5 D4 00       PEI ($00)     ; Buffer $00-$07 on Stack
$80/91F7 D4 02       PEI ($02)
$80/91F9 D4 04       PEI ($04)
$80/91FB D4 06       PEI ($06)
$80/91FD 85 00       STA $00    [$00:0000]   A:000F X:0000 Y:002D P:eNvMxdizc
$80/91FF 22 D1 91 80 JSL $8091D1[$80:91D1]   A:000F X:0000 Y:002D P:eNvMxdizc
$80/9203 C2 21       REP #$21                A:FF01 X:0000 Y:002D P:envMxdizc
$80/9205 8A          TXA                     A:FF01 X:0000 Y:002D P:envmxdizc
$80/9206 6D 5B 17    ADC $175B  [$80:175B]   A:0000 X:0000 Y:002D P:envmxdiZc
$80/9209 AA          TAX                     A:C95F X:0000 Y:002D P:eNvmxdizc
$80/920A AD 5B 17    LDA $175B  [$80:175B]   A:C95F X:C95F Y:002D P:eNvmxdizc
$80/920D 69 80 03    ADC #$0380              A:C95F X:C95F Y:002D P:eNvmxdizc
$80/9210 85 04       STA $04    [$00:0004]   A:CCDF X:C95F Y:002D P:eNvmxdizc
$80/9212 AD 5B 17    LDA $175B  [$80:175B]   A:CCDF X:C95F Y:002D P:eNvmxdizc
$80/9215 69 C0 04    ADC #$04C0              A:C95F X:C95F Y:002D P:eNvmxdizc
$80/9218 85 06       STA $06    [$00:0006]   A:CE1F X:C95F Y:002D P:eNvmxdizc
$80/921A E2 20       SEP #$20                A:CE1F X:C95F Y:002D P:eNvmxdizc
$80/921C 7B          TDC                     A:CE1F X:C95F Y:002D P:eNvMxdizc
$80/921D AD EE 05    LDA $05EE  [$80:05EE]   A:0000 X:C95F Y:002D P:envMxdiZc
$80/9220 1A          INC A                   A:00DB X:C95F Y:002D P:eNvMxdizc
$80/9221 C2 20       REP #$20                A:00DC X:C95F Y:002D P:eNvMxdizc
$80/9223 0A          ASL A                   A:00DC X:C95F Y:002D P:eNvmxdizc
$80/9224 0A          ASL A                   A:01B8 X:C95F Y:002D P:envmxdizc
$80/9225 6D 5B 17    ADC $175B  [$80:175B]   A:0370 X:C95F Y:002D P:envmxdizc
$80/9228 85 02       STA $02    [$00:0002]   A:CCCF X:C95F Y:002D P:eNvmxdizc
$80/922A E4 02       CPX $02    [$00:0002]   A:CCCF X:C95F Y:002D P:eNvmxdizc
$80/922C 90 07       BCC $07    [$9235]      A:CCCF X:C95F Y:002D P:eNvmxdizc
code is missing here
$80/9235 E2 20       SEP #$20                A:CCCF X:C95F Y:002D P:eNvmxdizc
$80/9237 A0 00 00    LDY #$0000              A:CCCF X:C95F Y:002D P:eNvMxdizc
$80/923A A9 7E       LDA #$7E      ; Set Data Bank to $7E
$80/923C 48          PHA
$80/923D AB          PLB
$80/923E BD 00 00    LDA $0000,x[$7E:C95F]   A:CC7E X:C95F Y:0000 P:envMxdizc
$80/9241 10 1A       BPL $1A    [$925D]      A:CC00 X:C95F Y:0000 P:envMxdiZc
$80/9243 A9 01       LDA #$01                A:CCFF X:C963 Y:0000 P:eNvMxdizc
$80/9245 9D 00 00    STA $0000,x[$7E:C963]   A:CC01 X:C963 Y:0000 P:envMxdizc
$80/9248 B7 20       LDA [$20],y[$7E:52B7]   A:CC01 X:C963 Y:0000 P:envMxdizc
$80/924A 9D 01 00    STA $0001,x[$7E:C964]   A:CC11 X:C963 Y:0000 P:envMxdizc
$80/924D C8          INY                     A:CC11 X:C963 Y:0000 P:envMxdizc
$80/924E C2 20       REP #$20                A:CC11 X:C963 Y:0001 P:envMxdizc
$80/9250 B7 20       LDA [$20],y[$7E:52B8]   A:CC11 X:C963 Y:0001 P:envmxdizc
$80/9252 9D 02 00    STA $0002,x[$7E:C965]   A:0CA7 X:C963 Y:0001 P:envmxdizc
$80/9255 E2 20       SEP #$20                A:0CA7 X:C963 Y:0001 P:envmxdizc
$80/9257 C8          INY                     A:0CA7 X:C963 Y:0001 P:envMxdizc
$80/9258 C8          INY                     A:0CA7 X:C963 Y:0002 P:envMxdizc
$80/9259 C6 00       DEC $00    [$00:0000]   A:0CA7 X:C963 Y:0003 P:envMxdizc
$80/925B F0 18       BEQ $18    [$9275]      A:0CA7 X:C963 Y:0003 P:envMxdizc
$80/925D E8          INX                     A:CC00 X:C95F Y:0000 P:envMxdiZc
$80/925E E8          INX                     A:CC00 X:C960 Y:0000 P:eNvMxdizc
$80/925F E8          INX                     A:CC00 X:C961 Y:0000 P:eNvMxdizc
$80/9260 E8          INX                     A:CC00 X:C962 Y:0000 P:eNvMxdizc
$80/9261 E4 02       CPX $02    [$00:0002]   A:CC00 X:C963 Y:0000 P:eNvMxdizc
$80/9263 B0 06       BCS $06    [$926B]      A:CC00 X:C963 Y:0000 P:eNvMxdizc
$80/9265 E4 04       CPX $04    [$00:0004]   A:CC00 X:C963 Y:0000 P:eNvMxdizc
$80/9267 90 D5       BCC $D5    [$923E]      A:CC00 X:C963 Y:0000 P:eNvMxdizc
$80/926B E4 04       CPX $04    [$00:0004]   A:75ED X:D18F Y:0024 P:envMxdiZC
$80/926D B0 02       BCS $02    [$9271]      A:75ED X:D18F Y:0024 P:eNvMxdizc
$80/926F A6 04       LDX $04    [$00:0004]   A:75ED X:D18F Y:0024 P:eNvMxdizc
$80/9271 E4 06       CPX $06    [$00:0006]   A:75ED X:D19F Y:0024 P:eNvMxdizc
$80/9273 90 C9       BCC $C9    [$923E]      A:75ED X:D19F Y:0024 P:eNvMxdizc
$80/9275 C2 20       REP #$20                A:573A X:C99B Y:002D P:envMxdiZc
$80/9277 8A          TXA                     A:573A X:C99B Y:002D P:envmxdiZc
$80/9278 38          SEC                     A:C99B X:C99B Y:002D P:eNvmxdizc
$80/9279 ED 5B 17    SBC $175B  [$7E:175B]   A:C99B X:C99B Y:002D P:eNvmxdizC
$80/927C AA          TAX                     A:003C X:C99B Y:002D P:envmxdizC
$80/927D 68          PLA           ; Restore $07-$00 from Stack
$80/927E 85 06       STA $06
$80/9280 68          PLA
$80/9281 85 04       STA $04
$80/9283 68          PLA
$80/9284 85 02       STA $02
$80/9286 68          PLA
$80/9287 85 00       STA $00
$80/9289 E2 20       SEP #$20      ; A = 8-bit
$80/928B AB          PLB           ; Restore Data Bank from Stack
$80/928C 6B          RTL

$80/9331 ?

$80/9331 8B          PHB           ; Buffer Data Bank on Stack
$80/9332 4B          PHK           ; Set Data Bank to $80
$80/9333 AB          PLB
$80/9334 D4 00       PEI ($00)     ; Buffer $00-$07 on Stack
$80/9336 D4 02       PEI ($02)
$80/9338 D4 04       PEI ($04)
$80/933A D4 06       PEI ($06)
$80/933C 85 00       STA $00    [$00:0000]   A:000F X:0000 Y:45D9 P:eNvMxdizc
$80/933E 22 D1 91 80 JSL $8091D1[$80:91D1]   A:000F X:0000 Y:45D9 P:eNvMxdizc
$80/9342 C2 21       REP #$21                A:FF01 X:0000 Y:45D9 P:envMxdizc
$80/9344 8A          TXA                     A:FF01 X:0000 Y:45D9 P:envmxdizc
$80/9345 6D 5B 17    ADC $175B  [$80:175B]   A:0000 X:0000 Y:45D9 P:envmxdiZc
$80/9348 AA          TAX                     A:CE1F X:0000 Y:45D9 P:eNvmxdizc
$80/9349 AD 5B 17    LDA $175B  [$80:175B]   A:CE1F X:CE1F Y:45D9 P:eNvmxdizc
$80/934C 69 80 03    ADC #$0380              A:CE1F X:CE1F Y:45D9 P:eNvmxdizc
$80/934F 85 04       STA $04    [$00:0004]   A:D19F X:CE1F Y:45D9 P:eNvmxdizc
$80/9351 AD 5B 17    LDA $175B  [$80:175B]   A:D19F X:CE1F Y:45D9 P:eNvmxdizc
$80/9354 69 C0 04    ADC #$04C0              A:CE1F X:CE1F Y:45D9 P:eNvmxdizc
$80/9357 85 06       STA $06    [$00:0006]   A:D2DF X:CE1F Y:45D9 P:eNvmxdizc
$80/9359 E2 20       SEP #$20                A:D2DF X:CE1F Y:45D9 P:eNvmxdizc
$80/935B 7B          TDC                     A:D2DF X:CE1F Y:45D9 P:eNvMxdizc
$80/935C AD EE 05    LDA $05EE  [$80:05EE]   A:0000 X:CE1F Y:45D9 P:envMxdiZc
$80/935F 1A          INC A                   A:00DB X:CE1F Y:45D9 P:eNvMxdizc
$80/9360 C2 20       REP #$20                A:00DC X:CE1F Y:45D9 P:eNvMxdizc
$80/9362 0A          ASL A                   A:00DC X:CE1F Y:45D9 P:eNvmxdizc
$80/9363 0A          ASL A                   A:01B8 X:CE1F Y:45D9 P:envmxdizc
$80/9364 6D 5B 17    ADC $175B  [$80:175B]   A:0370 X:CE1F Y:45D9 P:envmxdizc
$80/9367 85 02       STA $02    [$00:0002]   A:D18F X:CE1F Y:45D9 P:eNvmxdizc
$80/9369 E4 02       CPX $02    [$00:0002]   A:D18F X:CE1F Y:45D9 P:eNvmxdizc
$80/936B 90 07       BCC $07    [$9374]      A:D18F X:CE1F Y:45D9 P:eNvmxdizc
code is missing here
$80/9374 E2 20       SEP #$20      ; A = 8-bit
$80/9376 A9 7E       LDA #$7E      ; Set Data Bank to $7E
$80/9378 48          PHA
$80/9379 AB          PLB
$80/937A BD 00 00    LDA $0000,x[$7E:CE1F]   A:D17E X:CE1F Y:45D9 P:envMxdizc
$80/937D F0 12       BEQ $12    [$9391]      A:D100 X:CE1F Y:45D9 P:envMxdiZc
$80/937F C9 FF       CMP #$FF                A:D101 X:CE23 Y:45D9 P:envMxdizc
$80/9381 F0 0E       BEQ $0E    [$9391]      A:D101 X:CE23 Y:45D9 P:envMxdizc
$80/9383 A9 FF       LDA #$FF                A:D101 X:CE23 Y:45D9 P:envMxdizc
$80/9385 9D 00 00    STA $0000,x[$7E:CE23]   A:D1FF X:CE23 Y:45D9 P:eNvMxdizc
$80/9388 A9 10       LDA #$10                A:D1FF X:CE23 Y:45D9 P:eNvMxdizc
$80/938A 9D 01 00    STA $0001,x[$7E:CE24]   A:D110 X:CE23 Y:45D9 P:envMxdizc
$80/938D C6 00       DEC $00    [$00:0000]   A:D110 X:CE23 Y:45D9 P:envMxdizc
$80/938F F0 18       BEQ $18    [$93A9]      A:D110 X:CE23 Y:45D9 P:envMxdizc
$80/9391 E8          INX                     A:D100 X:CE1F Y:45D9 P:envMxdiZc
$80/9392 E8          INX                     A:D100 X:CE20 Y:45D9 P:eNvMxdizc
$80/9393 E8          INX                     A:D100 X:CE21 Y:45D9 P:eNvMxdizc
$80/9394 E8          INX                     A:D100 X:CE22 Y:45D9 P:eNvMxdizc
$80/9395 E4 02       CPX $02    [$00:0002]   A:D100 X:CE23 Y:45D9 P:eNvMxdizc
$80/9397 B0 06       BCS $06    [$939F]      A:D100 X:CE23 Y:45D9 P:eNvMxdizc
$80/9399 E4 04       CPX $04    [$00:0004]   A:D100 X:CE23 Y:45D9 P:eNvMxdizc
$80/939B 90 DD       BCC $DD    [$937A]      A:D100 X:CE23 Y:45D9 P:eNvMxdizc
code is missing here
$80/939F E4 04       CPX $04    [$00:0004]   A:D1FF X:D18F Y:0000 P:envMxdiZC
$80/93A1 B0 02       BCS $02    [$93A5]      A:D1FF X:D18F Y:0000 P:eNvMxdizc
$80/93A3 A6 04       LDX $04    [$00:0004]   A:D1FF X:D18F Y:0000 P:eNvMxdizc
$80/93A5 E4 06       CPX $06    [$00:0006]   A:D1FF X:D19F Y:0000 P:eNvMxdizc
$80/93A7 90 D1       BCC $D1    [$937A]      A:D1FF X:D19F Y:0000 P:eNvMxdizc
$80/93A9 7A          PLY           ; Restore $07-$00 from Stack
$80/93AA 84 06       STY $06
$80/93AC 7A          PLY
$80/93AD 84 04       STY $04
$80/93AF 7A          PLY
$80/93B0 84 02       STY $02
$80/93B2 7A          PLY
$80/93B3 84 00       STY $00
$80/93B5 AB          PLB           ; Restore Data Bank from Stack
$80/93B6 6B          RTL

$80/95E8 ?

$80/95E8 8B          PHB                     A:0000 X:3300 Y:3C00 P:envMxdiZc
$80/95E9 4B          PHK                     A:0000 X:3300 Y:3C00 P:envMxdiZc
$80/95EA AB          PLB                     A:0000 X:3300 Y:3C00 P:envMxdiZc
$80/95EB 20 F0 95    JSR $95F0  [$80:95F0]   A:0000 X:3300 Y:3C00 P:eNvMxdizc
$80/95EE AB          PLB                     A:FF20 X:1758 Y:000A P:envMxdizC
$80/95EF 6B          RTL                     A:FF20 X:1758 Y:000A P:envMxdizC

$80/95F0 ?

$80/95F0 7B          TDC                     A:0000 X:3300 Y:3C00 P:eNvMxdizc
$80/95F1 AD F4 16    LDA $16F4  [$80:16F4]   A:0000 X:3300 Y:3C00 P:envMxdiZc
$80/95F4 29 7F       AND #$7F                A:0000 X:3300 Y:3C00 P:envMxdiZc
$80/95F6 AA          TAX                     A:0000 X:3300 Y:3C00 P:envMxdiZc
$80/95F7 BD A7 95    LDA $95A7,x[$80:95A7]   A:0000 X:0000 Y:3C00 P:envMxdiZc
$80/95FA 85 00       STA $00    [$00:0000]   A:00DB X:0000 Y:3C00 P:eNvMxdizc
$80/95FC 64 01       STZ $01    [$00:0001]   A:00DB X:0000 Y:3C00 P:eNvMxdizc
$80/95FE AE EE 05    LDX $05EE  [$80:05EE]   A:00DB X:0000 Y:3C00 P:eNvMxdizc
$80/9601 E4 00       CPX $00    [$00:0000]   A:00DB X:00DB Y:3C00 P:envMxdizc
$80/9603 F0 1A       BEQ $1A    [$961F]      A:00DB X:00DB Y:3C00 P:envMxdiZC
$80/961F 8E EE 05    STX $05EE  [$80:05EE]   A:00DB X:00DB Y:3C00 P:envMxdiZC
$80/9622 20 BA 96    JSR $96BA  [$80:96BA]   A:00DB X:00DB Y:3C00 P:envMxdiZC
$80/9625 20 4A 96    JSR $964A  [$80:964A]   A:1700 X:0000 Y:0009 P:envMxdiZC
$80/9628 EE FB 16    INC $16FB  [$80:16FB]   A:FF20 X:1758 Y:000A P:envMxdiZC
$80/962B 60          RTS                     A:FF20 X:1758 Y:000A P:envMxdizC

$80/964A ?

$80/964A AD F4 16    LDA $16F4  [$80:16F4]   A:1700 X:0000 Y:0009 P:envMxdiZC
$80/964D 29 7F       AND #$7F                A:1700 X:0000 Y:0009 P:envMxdiZC
$80/964F 8D 02 42    STA $4202  [$80:4202]   A:1700 X:0000 Y:0009 P:envMxdiZC
$80/9652 A9 0A       LDA #$0A                A:1700 X:0000 Y:0009 P:envMxdiZC
$80/9654 8D 03 42    STA $4203  [$80:4203]   A:170A X:0000 Y:0009 P:envMxdizC
$80/9657 A5 A2       LDA $A2    [$00:00A2]   A:170A X:0000 Y:0009 P:envMxdizC
$80/9659 89 02       BIT #$02                A:1708 X:0000 Y:0009 P:envMxdizC
$80/965B D0 2D       BNE $2D    [$968A]      A:1708 X:0000 Y:0009 P:envMxdiZC
$80/965D C2 20       REP #$20                A:1708 X:0000 Y:0009 P:envMxdiZC
$80/965F AE 04 17    LDX $1704  [$80:1704]   A:1708 X:0000 Y:0009 P:envmxdiZC
$80/9662 AC 16 42    LDY $4216  [$80:4216]   A:1708 X:171A Y:0009 P:envmxdizC
$80/9665 A9 05 00    LDA #$0005              A:1708 X:171A Y:0000 P:envmxdiZC
$80/9668 85 00       STA $00    [$00:0000]   A:0005 X:171A Y:0000 P:envmxdizC
$80/966A B9 7B 94    LDA $947B,y[$80:947B]   A:0005 X:171A Y:0000 P:envmxdizC
$80/966D 9D 00 00    STA $0000,x[$80:171A]   A:0000 X:171A Y:0000 P:envmxdiZC
$80/9670 18          CLC                     A:0000 X:171A Y:0000 P:envmxdiZC
$80/9671 B9 F3 94    LDA $94F3,y[$80:94F3]   A:0000 X:171A Y:0000 P:envmxdiZc
$80/9674 ED EE 05    SBC $05EE  [$80:05EE]   A:0000 X:171A Y:0000 P:envmxdiZc
$80/9677 18          CLC                     A:FF24 X:171A Y:0000 P:eNvmxdizc
$80/9678 69 80 00    ADC #$0080              A:FF24 X:171A Y:0000 P:eNvmxdizc
$80/967B 9D 02 00    STA $0002,x[$80:171C]   A:FFA4 X:171A Y:0000 P:eNvmxdizc
$80/967E C8          INY                     A:FFA4 X:171A Y:0000 P:eNvmxdizc
$80/967F C8          INY                     A:FFA4 X:171A Y:0001 P:envmxdizc
$80/9680 E8          INX                     A:FFA4 X:171A Y:0002 P:envmxdizc
$80/9681 E8          INX                     A:FFA4 X:171B Y:0002 P:envmxdizc
$80/9682 E8          INX                     A:FFA4 X:171C Y:0002 P:envmxdizc
$80/9683 E8          INX                     A:FFA4 X:171D Y:0002 P:envmxdizc
$80/9684 C6 00       DEC $00    [$00:0000]   A:FFA4 X:171E Y:0002 P:envmxdizc
$80/9686 D0 E2       BNE $E2    [$966A]      A:FFA4 X:171E Y:0002 P:envmxdizc
$80/9688 E2 20       SEP #$20                A:FFA0 X:172E Y:000A P:envmxdiZc
$80/968A A5 A2       LDA $A2    [$00:00A2]   A:FFA0 X:172E Y:000A P:envMxdiZc
$80/968C 89 04       BIT #$04                A:FF08 X:172E Y:000A P:envMxdizc
$80/968E D0 29       BNE $29       ; [$96B9] Exit
$80/9690 C2 20       REP #$20                A:FF08 X:172E Y:000A P:envMxdiZc
$80/9692 AE 2E 17    LDX $172E  [$80:172E]   A:FF08 X:172E Y:000A P:envmxdiZc
$80/9695 AC 16 42    LDY $4216  [$80:4216]   A:FF08 X:1744 Y:000A P:envmxdizc
$80/9698 A9 05 00    LDA #$0005              A:FF08 X:1744 Y:0000 P:envmxdiZc
$80/969B 85 00       STA $00    [$00:0000]   A:0005 X:1744 Y:0000 P:envmxdizc
$80/969D B9 7B 94    LDA $947B,y[$80:947B]   A:0005 X:1744 Y:0000 P:envmxdizc
$80/96A0 9D 00 00    STA $0000,x[$80:1744]   A:0000 X:1744 Y:0000 P:envmxdiZc
$80/96A3 18          CLC                     A:0000 X:1744 Y:0000 P:envmxdiZc
$80/96A4 B9 F3 94    LDA $94F3,y[$80:94F3]   A:0000 X:1744 Y:0000 P:envmxdiZc
$80/96A7 ED EE 05    SBC $05EE  [$80:05EE]   A:0000 X:1744 Y:0000 P:envmxdiZc
$80/96AA 9D 02 00    STA $0002,x[$80:1746]   A:FF24 X:1744 Y:0000 P:eNvmxdizc
$80/96AD C8          INY                     A:FF24 X:1744 Y:0000 P:eNvmxdizc
$80/96AE C8          INY                     A:FF24 X:1744 Y:0001 P:envmxdizc
$80/96AF E8          INX                     A:FF24 X:1744 Y:0002 P:envmxdizc
$80/96B0 E8          INX                     A:FF24 X:1745 Y:0002 P:envmxdizc
$80/96B1 E8          INX                     A:FF24 X:1746 Y:0002 P:envmxdizc
$80/96B2 E8          INX                     A:FF24 X:1747 Y:0002 P:envmxdizc
$80/96B3 C6 00       DEC $00    [$00:0000]   A:FF24 X:1748 Y:0002 P:envmxdizc
$80/96B5 D0 E6       BNE $E6    [$969D]      A:FF24 X:1748 Y:0002 P:envmxdizc
$80/96B7 E2 20       SEP #$20                A:FF20 X:1758 Y:000A P:envmxdiZC
$80/96B9 60          RTS                     A:FF20 X:1758 Y:000A P:envMxdiZC

$80/96BA ?

$80/96BA A9 DD       LDA #$DD                A:00DB X:00DB Y:3C00 P:envMxdiZC
$80/96BC 85 04       STA $04    [$00:0004]   A:00DD X:00DB Y:3C00 P:eNvMxdizC
$80/96BE A9 80       LDA #$80                A:00DD X:00DB Y:3C00 P:eNvMxdizC
$80/96C0 85 01       STA $01    [$00:0001]   A:0080 X:00DB Y:3C00 P:eNvMxdizC
$80/96C2 AE FC 16    LDX $16FC     ; Build a 24-bit address in [$20] for DMA channel 7
$80/96C5 86 20       STX $20
$80/96C7 A9 7E       LDA #$7E      ; (Is on bank $7E)
$80/96C9 85 22       STA $22
$80/96CB AD 58 17    LDA $1758     ; Flag for MVN-Transfer on Bank $7E - "set if #$00"
$80/96CE F0 0F       BEQ $0F       ; [$96DF] Branch if MVN-Transfer is about to be done
$80/96D0 AE 59 17    LDX $1759  [$80:1759]   A:0001 X:B000 Y:0002 P:envMxdizC
$80/96D3 AC 5B 17    LDY $175B  [$80:175B]   A:0001 X:CE1F Y:0002 P:eNvMxdizC
$80/96D6 8C 59 17    STY $1759  [$80:1759]   A:0001 X:CE1F Y:C95F P:eNvMxdizC
$80/96D9 8E 5B 17    STX $175B  [$80:175B]   A:0001 X:CE1F Y:C95F P:eNvMxdizC
$80/96DC 9C 58 17    STZ $1758  [$80:1758]   A:0001 X:CE1F Y:C95F P:eNvMxdizC
$80/96DF AD EE 05    LDA $05EE  [$80:05EE]   A:0000 X:B000 Y:3C00 P:envMxdiZC
$80/96E2 A0 00 00    LDY #$0000              A:00DB X:B000 Y:3C00 P:eNvMxdizC
$80/96E5 AE 59 17    LDX $1759     ; Transfer MVN-Transfer Source Address in $02
$80/96E8 86 02       STX $02
$80/96EA 20 10 98    JSR $9810  [$80:9810]   A:00DB X:CE1F Y:0000 P:eNvMxdizC
$80/96ED F0 11       BEQ $11    [$9700]      A:D102 X:CE1F Y:0006 P:envMxdizC
$80/96EF 48          PHA                     A:D102 X:CE1F Y:0006 P:envMxdizC
$80/96F0 C2 21       REP #$21                A:D102 X:CE1F Y:0006 P:envMxdizC
$80/96F2 AD 59 17    LDA $1759  [$80:1759]   A:D102 X:CE1F Y:0006 P:envmxdizc
$80/96F5 69 80 03    ADC #$0380              A:CE1F X:CE1F Y:0006 P:eNvmxdizc
$80/96F8 85 02       STA $02    [$00:0002]   A:D19F X:CE1F Y:0006 P:eNvmxdizc
$80/96FA E2 20       SEP #$20                A:D19F X:CE1F Y:0006 P:eNvmxdizc
$80/96FC 68          PLA                     A:D19F X:CE1F Y:0006 P:eNvMxdizc
$80/96FD 20 10 98    JSR $9810  [$80:9810]   A:D102 X:CE1F Y:0006 P:envMxdizc
$80/9700 AD F4 16    LDA $16F4  [$80:16F4]   A:D100 X:CE1F Y:0009 P:envMxdiZC
$80/9703 29 7F       AND #$7F                A:D100 X:CE1F Y:0009 P:envMxdiZC
$80/9705 8D 02 42    STA $4202  [$80:4202]   A:D100 X:CE1F Y:0009 P:envMxdiZC
$80/9708 A9 05       LDA #$05                A:D100 X:CE1F Y:0009 P:envMxdiZC
$80/970A 8D 03 42    STA $4203  [$80:4203]   A:D105 X:CE1F Y:0009 P:envMxdizC
$80/970D A5 A2       LDA $A2    [$00:00A2]   A:D105 X:CE1F Y:0009 P:envMxdizC
$80/970F 89 04       BIT #$04                A:D108 X:CE1F Y:0009 P:envMxdizC
$80/9711 D0 4E       BNE $4E    [$9761]      A:D108 X:CE1F Y:0009 P:envMxdiZC
$80/9713 A2 A0 B0    LDX #$B0A0              A:D108 X:CE1F Y:0009 P:envMxdiZC
$80/9716 EC 02 17    CPX $1702  [$80:1702]   A:D108 X:B0A0 Y:0009 P:eNvMxdizC
$80/9719 D0 03       BNE $03    [$971E]      A:D108 X:B0A0 Y:0009 P:eNvMxdizc
$80/971B A2 C0 B0    LDX #$B0C0              A:D108 X:B0A0 Y:0009 P:envMxdiZC
$80/971E 8E 02 17    STX $1702  [$80:1702]   A:D108 X:B0A0 Y:0009 P:eNvMxdizc
$80/9721 A2 30 17    LDX #$1730              A:D108 X:B0A0 Y:0009 P:eNvMxdizc
$80/9724 EC 2E 17    CPX $172E  [$80:172E]   A:D108 X:1730 Y:0009 P:envMxdizc
$80/9727 D0 03       BNE $03    [$972C]      A:D108 X:1730 Y:0009 P:envMxdiZC
$80/9729 A2 44 17    LDX #$1744              A:D108 X:1730 Y:0009 P:envMxdiZC
$80/972C 8E 2E 17    STX $172E  [$80:172E]   A:D108 X:1744 Y:0009 P:envMxdizC
$80/972F A9 DD       LDA #$DD                A:D108 X:1744 Y:0009 P:envMxdizC
$80/9731 85 04       STA $04    [$00:0004]   A:D1DD X:1744 Y:0009 P:eNvMxdizC
$80/9733 64 01       STZ $01    [$00:0001]   A:D1DD X:1744 Y:0009 P:eNvMxdizC
$80/9735 AE 02 17    LDX $1702  [$80:1702]   A:D1DD X:1744 Y:0009 P:eNvMxdizC
$80/9738 86 20       STX $20    [$00:0020]   A:D1DD X:B0A0 Y:0009 P:eNvMxdizC
$80/973A A9 7E       LDA #$7E                A:D1DD X:B0A0 Y:0009 P:eNvMxdizC
$80/973C 85 22       STA $22    [$00:0022]   A:D17E X:B0A0 Y:0009 P:envMxdizC
$80/973E A0 00 00    LDY #$0000              A:D17E X:B0A0 Y:0009 P:envMxdizC
$80/9741 A2 79 05    LDX #$0579              A:D17E X:B0A0 Y:0000 P:envMxdiZC
$80/9744 86 02       STX $02    [$00:0002]   A:D17E X:0579 Y:0000 P:envMxdizC
$80/9746 AD EE 05    LDA $05EE  [$80:05EE]   A:D17E X:0579 Y:0000 P:envMxdizC
$80/9749 20 10 98    JSR $9810  [$80:9810]   A:D1DB X:0579 Y:0000 P:eNvMxdizC
$80/974C F0 13       BEQ $13    [$9761]      A:0502 X:0579 Y:0006 P:envMxdizC
$80/974E AE 2E 17    LDX $172E  [$80:172E]   A:0502 X:0579 Y:0006 P:envMxdizC
$80/9751 86 02       STX $02    [$00:0002]   A:0502 X:1744 Y:0006 P:envMxdizC
$80/9753 AE 16 42    LDX $4216  [$80:4216]   A:0502 X:1744 Y:0006 P:envMxdizC
$80/9756 BD 6B 95    LDA $956B,x[$80:956B]   A:0502 X:0000 Y:0006 P:envMxdiZC
$80/9759 20 10 98    JSR $9810  [$80:9810]   A:0550 X:0000 Y:0006 P:envMxdizC
$80/975C F0 03       BEQ $03    [$9761]      A:1700 X:0000 Y:0009 P:envMxdiZC
code is missing here
$80/9761 A5 A2       LDA $A2    [$00:00A2]   A:1700 X:0000 Y:0009 P:envMxdiZC
$80/9763 89 02       BIT #$02                A:1708 X:0000 Y:0009 P:envMxdizC
$80/9765 D0 4E       BNE $4E       ; [$97B5] Leave this part out if Bit 1 is set
$80/9767 A2 20 B0    LDX #$B020              A:1708 X:0000 Y:0009 P:envMxdiZC
$80/976A EC FE 16    CPX $16FE  [$80:16FE]   A:1708 X:B020 Y:0009 P:eNvMxdizC
$80/976D D0 03       BNE $03    [$9772]      A:1708 X:B020 Y:0009 P:eNvMxdizc
$80/976F A2 40 B0    LDX #$B040              A:1708 X:B020 Y:0009 P:envMxdiZC
$80/9772 8E FE 16    STX $16FE  [$80:16FE]   A:1708 X:B020 Y:0009 P:eNvMxdizc
$80/9775 A2 06 17    LDX #$1706              A:1708 X:B020 Y:0009 P:eNvMxdizc
$80/9778 EC 04 17    CPX $1704  [$80:1704]   A:1708 X:1706 Y:0009 P:envMxdizc
$80/977B D0 03       BNE $03    [$9780]      A:1708 X:1706 Y:0009 P:envMxdiZC
$80/977D A2 1A 17    LDX #$171A              A:1708 X:1706 Y:0009 P:envMxdiZC
$80/9780 8E 04 17    STX $1704  [$80:1704]   A:1708 X:171A Y:0009 P:envMxdizC
$80/9783 A9 DD       LDA #$DD                A:1708 X:171A Y:0009 P:envMxdizC
$80/9785 85 04       STA $04    [$00:0004]   A:17DD X:171A Y:0009 P:eNvMxdizC
$80/9787 64 01       STZ $01    [$00:0001]   A:17DD X:171A Y:0009 P:eNvMxdizC
$80/9789 AE FE 16    LDX $16FE  [$80:16FE]   A:17DD X:171A Y:0009 P:eNvMxdizC
$80/978C 86 20       STX $20    [$00:0020]   A:17DD X:B020 Y:0009 P:eNvMxdizC
$80/978E A9 7E       LDA #$7E                A:17DD X:B020 Y:0009 P:eNvMxdizC
$80/9790 85 22       STA $22    [$00:0022]   A:177E X:B020 Y:0009 P:envMxdizC
$80/9792 A0 00 00    LDY #$0000              A:177E X:B020 Y:0009 P:envMxdizC
$80/9795 A2 75 05    LDX #$0575              A:177E X:B020 Y:0000 P:envMxdiZC
$80/9798 86 02       STX $02    [$00:0002]   A:177E X:0575 Y:0000 P:envMxdizC
$80/979A AD EE 05    LDA $05EE  [$80:05EE]   A:177E X:0575 Y:0000 P:envMxdizC
$80/979D 20 10 98    JSR $9810  [$80:9810]   A:17DB X:0575 Y:0000 P:eNvMxdizC
$80/97A0 F0 13       BEQ $13    [$97B5]      A:0502 X:0575 Y:0006 P:envMxdizC
$80/97A2 AE 04 17    LDX $1704  [$80:1704]   A:0502 X:0575 Y:0006 P:envMxdizC
$80/97A5 86 02       STX $02    [$00:0002]   A:0502 X:171A Y:0006 P:envMxdizC
$80/97A7 AE 16 42    LDX $4216  [$80:4216]   A:0502 X:171A Y:0006 P:envMxdizC
$80/97AA BD 6B 95    LDA $956B,x[$80:956B]   A:0502 X:0000 Y:0006 P:envMxdiZC
$80/97AD 20 10 98    JSR $9810  [$80:9810]   A:0550 X:0000 Y:0006 P:envMxdizC
$80/97B0 F0 03       BEQ $03    [$97B5]      A:1700 X:0000 Y:0009 P:envMxdiZC
code is missing here
$80/97B5 A5 A2       LDA $A2    [$00:00A2]   A:1700 X:0000 Y:0009 P:envMxdiZC
$80/97B7 89 01       BIT #$01                A:1708 X:0000 Y:0009 P:envMxdizC
$80/97B9 D0 4C       BNE $4C       ; [$9807] Exit if Bit 0 is set
$80/97BB 89 08       BIT #$08                A:1708 X:0000 Y:0009 P:envMxdiZC
$80/97BD D0 08       BNE $08    [$97C7]      A:1708 X:0000 Y:0009 P:envMxdizC
$80/97BF AE FE 16    LDX $16FE  [$80:16FE]   A:1700 X:0000 Y:0009 P:envMxdiZC
$80/97C2 8E 00 17    STX $1700  [$80:1700]   A:1700 X:B040 Y:0009 P:eNvMxdizC
$80/97C5 80 40       BRA $40    [$9807]      A:1700 X:B040 Y:0009 P:eNvMxdizC
$80/97C7 A2 60 B0    LDX #$B060              A:1708 X:0000 Y:0009 P:envMxdizC
$80/97CA EC 00 17    CPX $1700  [$80:1700]   A:1708 X:B060 Y:0009 P:eNvMxdizC
$80/97CD D0 03       BNE $03    [$97D2]      A:1708 X:B060 Y:0009 P:eNvMxdizc
$80/97CF A2 80 B0    LDX #$B080              A:1708 X:B060 Y:0009 P:envMxdiZC
$80/97D2 8E 00 17    STX $1700  [$80:1700]   A:1708 X:B060 Y:0009 P:eNvMxdizc
$80/97D5 A9 DD       LDA #$DD                A:1708 X:B060 Y:0009 P:eNvMxdizc
$80/97D7 85 04       STA $04    [$00:0004]   A:17DD X:B060 Y:0009 P:eNvMxdizc
$80/97D9 64 01       STZ $01    [$00:0001]   A:17DD X:B060 Y:0009 P:eNvMxdizc
$80/97DB AE 00 17    LDX $1700     ; Setup 24-bit Address on Bank $7E in [$20]
$80/97DE 86 20       STX $20
$80/97E0 A9 7E       LDA #$7E
$80/97E2 85 22       STA $22
$80/97E4 A0 00 00    LDY #$0000              A:177E X:B060 Y:0009 P:envMxdizc
$80/97E7 A2 71 05    LDX #$0571    ; Load BG1 X-Scroll
$80/97EA 86 02       STX $02    [$00:0002]   A:177E X:0571 Y:0000 P:envMxdizc
$80/97EC AD EE 05    LDA $05EE     ; Load V Timer
$80/97EF 20 10 98    JSR $9810  [$80:9810]   A:17DB X:0571 Y:0000 P:eNvMxdizc
$80/97F2 F0 13       BEQ $13       ; [$9807] Exit if empty
$80/97F4 AE 04 17    LDX $1704  [$80:1704]   A:0502 X:0571 Y:0006 P:envMxdizC
$80/97F7 86 02       STX $02    [$00:0002]   A:0502 X:171A Y:0006 P:envMxdizC
$80/97F9 AE 16 42    LDX $4216  [$80:4216]   A:0502 X:171A Y:0006 P:envMxdizC
$80/97FC BD 6B 95    LDA $956B,x[$80:956B]   A:0502 X:0000 Y:0006 P:envMxdiZC
$80/97FF 20 10 98    JSR $9810  [$80:9810]   A:0550 X:0000 Y:0006 P:envMxdizC
$80/9802 F0 03       BEQ $03    [$9807]      A:1700 X:0000 Y:0009 P:envMxdiZC
code is missing here
$80/9807 60          RTS                     A:1700 X:0000 Y:0009 P:envMxdiZC

$80/9810 ?

$80/9810 DA          PHX                     A:00DB X:CE1F Y:0000 P:eNvMxdizC
$80/9811 C5 04       CMP $04       ; Compare A with $04
$80/9813 90 02       BCC $02       ; [$9817] Store the lower value of both in $05
$80/9815 A5 04       LDA $04
$80/9817 85 05       STA $05
$80/9819 64 00       STZ $00    [$00:0000]   A:00DB X:CE1F Y:0000 P:eNvMxdizc
$80/981B C9 71       CMP #$71                A:00DB X:CE1F Y:0000 P:eNvMxdizc
$80/981D 90 06       BCC $06       ; [$9825] Branch if A < #$71
$80/981F E9 70       SBC #$70                A:00DB X:CE1F Y:0000 P:envMxdizC
$80/9821 85 00       STA $00    [$00:0000]   A:006B X:CE1F Y:0000 P:enVMxdizC
$80/9823 A9 70       LDA #$70                A:006B X:CE1F Y:0000 P:enVMxdizC
$80/9825 AA          TAX                     A:0070 X:CE1F Y:0000 P:enVMxdizC
$80/9826 05 01       ORA $01    [$00:0001]   A:0070 X:0070 Y:0000 P:enVMxdizC
$80/9828 97 20       STA [$20],y[$7E:B000]   A:00F0 X:0070 Y:0000 P:eNVMxdizC
$80/982A C8          INY           ; Increment Store Index
$80/982B C2 20       REP #$20                A:00F0 X:0070 Y:0001 P:enVMxdizC
$80/982D A5 02       LDA $02    [$00:0002]   A:00F0 X:0070 Y:0001 P:enVmxdizC
$80/982F 97 20       STA [$20],y[$7E:B001]   A:CE1F X:0070 Y:0001 P:eNVmxdizC
$80/9831 E2 20       SEP #$20                A:CE1F X:0070 Y:0001 P:eNVmxdizC
$80/9833 C8          INY           ; Increment Store Index twice
$80/9834 C8          INY
$80/9835 A5 01       LDA $01    [$00:0001]   A:CE1F X:0070 Y:0003 P:enVMxdizC
$80/9837 10 0E       BPL $0E    [$9847]      A:CE80 X:0070 Y:0003 P:eNVMxdizC
$80/9839 C2 20       REP #$20                A:CE80 X:0070 Y:0003 P:eNVMxdizC
$80/983B 8A          TXA                     A:CE80 X:0070 Y:0003 P:eNVmxdizC
$80/983C 29 FF 00    AND #$00FF              A:0070 X:0070 Y:0003 P:enVmxdizC
$80/983F 0A          ASL A                   A:0070 X:0070 Y:0003 P:enVmxdizC
$80/9840 0A          ASL A                   A:00E0 X:0070 Y:0003 P:enVmxdizc
$80/9841 65 02       ADC $02    [$00:0002]   A:01C0 X:0070 Y:0003 P:enVmxdizc
$80/9843 85 02       STA $02    [$00:0002]   A:CFDF X:0070 Y:0003 P:eNvmxdizc
$80/9845 E2 20       SEP #$20                A:CFDF X:0070 Y:0003 P:eNvmxdizc
$80/9847 A5 00       LDA $00    [$00:0000]   A:CFDF X:0070 Y:0003 P:eNvMxdizc
$80/9849 D0 CE       BNE $CE    [$9819]      A:CF6B X:0070 Y:0003 P:envMxdizc
$80/984B 97 20       STA [$20],y[$7E:B006]   A:D100 X:CF6B Y:0006 P:envMxdiZc
$80/984D A5 01       LDA $01    [$00:0001]   A:D100 X:CF6B Y:0006 P:envMxdiZc
$80/984F 30 08       BMI $08    [$9859]      A:D180 X:CF6B Y:0006 P:eNvMxdizc
$80/9851 A6 02       LDX $02    [$00:0002]   A:0500 X:056B Y:0006 P:enVMxdiZc
$80/9853 E8          INX                     A:0500 X:0579 Y:0006 P:enVMxdizc
$80/9854 E8          INX                     A:0500 X:057A Y:0006 P:enVMxdizc
$80/9855 E8          INX                     A:0500 X:057B Y:0006 P:enVMxdizc
$80/9856 E8          INX                     A:0500 X:057C Y:0006 P:enVMxdizc
$80/9857 86 02       STX $02    [$00:0002]   A:0500 X:057D Y:0006 P:enVMxdizc
$80/9859 FA          PLX                     A:D180 X:CF6B Y:0006 P:eNvMxdizc
$80/985A A5 04       LDA $04    [$00:0004]   A:D180 X:CE1F Y:0006 P:eNvMxdizc
$80/985C 38          SEC                     A:D1DD X:CE1F Y:0006 P:eNvMxdizc
$80/985D E5 05       SBC $05    [$00:0005]   A:D1DD X:CE1F Y:0006 P:eNvMxdizC
$80/985F 85 04       STA $04    [$00:0004]   A:D102 X:CE1F Y:0006 P:envMxdizC
$80/9861 60          RTS                     A:D102 X:CE1F Y:0006 P:envMxdizC

$80/98F1 ?

$80/98F1 22 D8 84 86 JSL $8684D8[$86:84D8]   A:0476 X:0021 Y:0000 P:eNvMxdIzC
$80/98F5 C2 20       REP #$20                A:0000 X:007C Y:0000 P:eNvMxdIzc
$80/98F7 A9 E8 03    LDA #$03E8              A:0000 X:007C Y:0000 P:eNvmxdIzc
$80/98FA 8D A3 1E    STA $1EA3  [$80:1EA3]   A:03E8 X:007C Y:0000 P:envmxdIzc
$80/98FD A9 F4 01    LDA #$01F4              A:03E8 X:007C Y:0000 P:envmxdIzc
$80/9900 8F 4C BE 7E STA $7EBE4C[$7E:BE4C]   A:01F4 X:007C Y:0000 P:envmxdIzc
$80/9904 E2 20       SEP #$20                A:01F4 X:007C Y:0000 P:envmxdIzc
$80/9906 22 10 A9 9B JSL $9BA910[$9B:A910]   A:01F4 X:007C Y:0000 P:envMxdIzc
$80/990A 6B          RTL                     A:0017 X:00FF Y:0000 P:envMxdIzc

$80/999C ?

$80/999C 8B          PHB           ; Buffer Data Bank on Stack
$80/999D 4B          PHK           ; Set Data Bank to $80
$80/999E AB          PLB
$80/999F 20 A4 99    JSR $99A4  [$80:99A4]   A:0101 X:0006 Y:0006 P:eNvMxdizC
$80/99A2 AB          PLB           ; Restore Data Bank from Stack
$80/99A3 6B          RTL

$80/99A4 ?

$80/99A4 C2 20       REP #$20                A:0001 X:0002 Y:0002 P:envMxdizC
$80/99A6 AD CA 16    LDA $16CA  [$80:16CA]   A:0001 X:0002 Y:0002 P:envmxdizC
$80/99A9 0A          ASL A                   A:0014 X:0002 Y:0002 P:envmxdizC
$80/99AA 0A          ASL A                   A:0028 X:0002 Y:0002 P:envmxdizc
$80/99AB 0A          ASL A                   A:0050 X:0002 Y:0002 P:envmxdizc
$80/99AC 0A          ASL A                   A:00A0 X:0002 Y:0002 P:envmxdizc
$80/99AD 9D 43 07    STA $0743,x[$80:0745]   A:0140 X:0002 Y:0002 P:envmxdizc
$80/99B0 38          SEC                     A:0140 X:0002 Y:0002 P:envmxdizc
$80/99B1 BD 03 0A    LDA $0A03,x[$80:0A05]   A:0140 X:0002 Y:0002 P:envmxdizC
$80/99B4 FD 43 0A    SBC $0A43,x[$80:0A45]   A:0B80 X:0002 Y:0002 P:envmxdizC
$80/99B7 08          PHP                     A:0400 X:0002 Y:0002 P:envmxdizC
$80/99B8 B0 04       BCS $04    [$99BE]      A:0400 X:0002 Y:0002 P:envmxdizC
$80/99BA 49 FF FF    EOR #$FFFF              A:FFF8 X:000A Y:0004 P:eNvmxdizc
$80/99BD 1A          INC A                   A:0007 X:000A Y:0004 P:envmxdizc
$80/99BE 4A          LSR A                   A:0400 X:0002 Y:0002 P:envmxdizC
$80/99BF 4A          LSR A                   A:0200 X:0002 Y:0002 P:envmxdizc
$80/99C0 4A          LSR A                   A:0100 X:0002 Y:0002 P:envmxdizc
$80/99C1 1A          INC A                   A:0080 X:0002 Y:0002 P:envmxdizc
$80/99C2 4A          LSR A                   A:0081 X:0002 Y:0002 P:envmxdizc
$80/99C3 28          PLP                     A:0040 X:0002 Y:0002 P:envmxdizC
$80/99C4 B0 04       BCS $04    [$99CA]      A:0040 X:0002 Y:0002 P:envmxdizC
$80/99C6 49 FF FF    EOR #$FFFF              A:0001 X:000A Y:0004 P:eNvmxdizc
$80/99C9 1A          INC A                   A:FFFE X:000A Y:0004 P:eNvmxdizc
$80/99CA 18          CLC                     A:0040 X:0002 Y:0002 P:envmxdizC
$80/99CB 7D 43 07    ADC $0743,x[$80:0745]   A:0040 X:0002 Y:0002 P:envmxdizc
$80/99CE 9D 43 07    STA $0743,x[$80:0745]   A:0180 X:0002 Y:0002 P:envmxdizc
$80/99D1 AD CC 16    LDA $16CC  [$80:16CC]   A:0180 X:0002 Y:0002 P:envmxdizc
$80/99D4 0A          ASL A                   A:000C X:0002 Y:0002 P:envmxdizc
$80/99D5 0A          ASL A                   A:0018 X:0002 Y:0002 P:envmxdizc
$80/99D6 0A          ASL A                   A:0030 X:0002 Y:0002 P:envmxdizc
$80/99D7 69 07 00    ADC #$0007              A:0060 X:0002 Y:0002 P:envmxdizc
$80/99DA 9D 83 07    STA $0783,x[$80:0785]   A:0067 X:0002 Y:0002 P:envmxdizc
$80/99DD 18          CLC                     A:0067 X:0002 Y:0002 P:envmxdizc
$80/99DE BD 03 0A    LDA $0A03,x[$80:0A05]   A:0067 X:0002 Y:0002 P:envmxdizc
$80/99E1 7D 43 0A    ADC $0A43,x[$80:0A45]   A:0B80 X:0002 Y:0002 P:envmxdizc
$80/99E4 0A          ASL A                   A:1300 X:0002 Y:0002 P:envmxdizc
$80/99E5 38          SEC                     A:2600 X:0002 Y:0002 P:envmxdizc
$80/99E6 FD 83 0A    SBC $0A83,x[$80:0A85]   A:2600 X:0002 Y:0002 P:envmxdizC
$80/99E9 08          PHP                     A:2000 X:0002 Y:0002 P:envmxdizC
$80/99EA B0 04       BCS $04    [$99F0]      A:2000 X:0002 Y:0002 P:envmxdizC
code is missing here
$80/99F0 4A          LSR A                   A:2000 X:0002 Y:0002 P:envmxdizC
$80/99F1 4A          LSR A                   A:1000 X:0002 Y:0002 P:envmxdizc
$80/99F2 4A          LSR A                   A:0800 X:0002 Y:0002 P:envmxdizc
$80/99F3 4A          LSR A                   A:0400 X:0002 Y:0002 P:envmxdizc
$80/99F4 4A          LSR A                   A:0200 X:0002 Y:0002 P:envmxdizc
$80/99F5 1A          INC A                   A:0100 X:0002 Y:0002 P:envmxdizc
$80/99F6 4A          LSR A                   A:0101 X:0002 Y:0002 P:envmxdizc
$80/99F7 28          PLP                     A:0080 X:0002 Y:0002 P:envmxdizC
$80/99F8 B0 04       BCS $04    [$99FE]      A:0080 X:0002 Y:0002 P:envmxdizC
code is missing here
$80/99FE 18          CLC                     A:0080 X:0002 Y:0002 P:envmxdizC
$80/99FF 7D 83 07    ADC $0783,x[$80:0785]   A:0080 X:0002 Y:0002 P:envmxdizc
$80/9A02 9D 83 07    STA $0783,x[$80:0785]   A:00E7 X:0002 Y:0002 P:envmxdizc
$80/9A05 BD 03 0A    LDA $0A03,x[$80:0A05]   A:00E7 X:0002 Y:0002 P:envmxdizc
$80/9A08 18          CLC                     A:0B80 X:0002 Y:0002 P:envmxdizc
$80/9A09 69 01 00    ADC #$0001              A:0B80 X:0002 Y:0002 P:envmxdizc
$80/9A0C EB          XBA                     A:0B81 X:0002 Y:0002 P:envmxdizc
$80/9A0D E2 20       SEP #$20                A:810B X:0002 Y:0002 P:envmxdizc
$80/9A0F 9D 43 09    STA $0943,x[$80:0945]   A:810B X:0002 Y:0002 P:envMxdizc
$80/9A12 C2 21       REP #$21                A:810B X:0002 Y:0002 P:envMxdizc
$80/9A14 BD 43 0A    LDA $0A43,x[$80:0A45]   A:810B X:0002 Y:0002 P:envmxdizc
$80/9A17 69 01 00    ADC #$0001              A:0780 X:0002 Y:0002 P:envmxdizc
$80/9A1A EB          XBA                     A:0781 X:0002 Y:0002 P:envmxdizc
$80/9A1B E2 20       SEP #$20                A:8107 X:0002 Y:0002 P:envmxdizc
$80/9A1D 9D 44 09    STA $0944,x[$80:0946]   A:8107 X:0002 Y:0002 P:envMxdizc
$80/9A20 60          RTS                     A:8107 X:0002 Y:0002 P:envMxdizc

$80/9A21 Calculate the Global Cursor Position from it's Position on Map

Sorry, my language skills as well as my explanation skills are too limited to explain here how the calculation works, so you/we have to accept that it works.

What this subroutine does, is: It takes the coordinates of the cursor on the grid (you know, the Northeast-Southwest-Axis/Northwest-Southeast-coordinates) and turns it into an actual number of pixel offset.

$80/9A21 A2 3C 00    LDX #$003C    ; Write Index for the second last figure (Rhomb Marker) 
$80/9A24 A0 3E 00    LDY #$003E    ; Write Index for the last figure (Pointing Hand)
$80/9A27 C2 21       REP #$21
$80/9A29 AD CA 16    LDA $16CA     ; Load Width of the Map on the NE-SW-Axis(?)
$80/9A2C 6D 61 00    ADC $0061     ; Add Cursor Position - NW to SE Axis
$80/9A2F 38          SEC
$80/9A30 ED 63 00    SBC $0063     ; Subtract Cursor Position - NE to SW Axis
$80/9A33 0A          ASL A         ; Multiply by #$10 --- #$10 pixels per Rhomb
$80/9A34 0A          ASL A
$80/9A35 0A          ASL A
$80/9A36 0A          ASL A
$80/9A37 9D 43 07    STA $0743,x   ; Store for Rhomb Marker
$80/9A3A 99 43 07    STA $0743,y   ; Store for Pointing Hand
$80/9A3D 38          SEC           ; Set Carry (is a +1 for the next ADC-command)
$80/9A3E AD CC 16    LDA $16CC     ; Load Width of the Map on the NW-SE-Axis(?)
$80/9A41 6D 61 00    ADC $0061     ; Add Cursor Position - NW to SE Axis + 1
$80/9A44 6D 63 00    ADC $0063     ; Add Cursor Position - NE to SW Axis
$80/9A47 38          SEC
$80/9A48 ED 65 00    SBC $0065     ; Subtract the (geographical) Height of the Rhomb
$80/9A4B 0A          ASL A         ; Multiply by #$8 --- #$8 pixels per Rhomb
$80/9A4C 0A          ASL A
$80/9A4D 0A          ASL A
$80/9A4E 09 07 00    ORA #$0007    ; "Add" 7 pixels
$80/9A51 9D 83 07    STA $0783,x   ; Store as Y-Offset for the Rhomb Marker
$80/9A54 38          SEC           ; Subtract #$0018 pixels - the distance between Rhomb Marker and Pointing Hand
$80/9A55 E9 18 00    SBC #$0018
$80/9A58 99 83 07    STA $0783,y   ; Store as Y-Offset of the Pointing Hand
$80/9A5B E2 20       SEP #$20
$80/9A5D 60          RTS

$80/9A5E ?

$80/9A5E 8B          PHB           ; Buffer Data Bank on Stack
$80/9A5F 4B          PHK           ; Set Data Bank to $80
$80/9A60 AB          PLB
$80/9A61 20 66 9A    JSR $9A66  [$80:9A66]   A:3980 X:0002 Y:44C0 P:eNvMxdizc
$80/9A64 AB          PLB           ; Restore Data Bank
$80/9A65 6B          RTL

$80/9A66 ?

$80/9A66 A2 00 00    LDX #$0000              A:3980 X:0002 Y:44C0 P:eNvMxdizc
$80/9A69 9B          TXY                     A:3980 X:0000 Y:44C0 P:envMxdiZc
$80/9A6A BD 03 06    LDA $0603,x[$80:0603]   A:3980 X:0000 Y:0000 P:envMxdiZc
$80/9A6D F0 21       BEQ $21    [$9A90]      A:3901 X:0000 Y:0000 P:envMxdizc
$80/9A6F BD C3 09    LDA $09C3,x[$80:09C3]   A:3901 X:0000 Y:0000 P:envMxdizc
$80/9A72 89 C0       BIT #$C0                A:39FF X:0000 Y:0000 P:eNvMxdizc
$80/9A74 F0 1A       BEQ $1A    [$9A90]      A:39FF X:0000 Y:0000 P:eNvMxdizc
$80/9A76 C2 20       REP #$20                A:39FF X:0000 Y:0000 P:eNvMxdizc
$80/9A78 BD 83 0A    LDA $0A83,x[$80:0A83]   A:39FF X:0000 Y:0000 P:eNvmxdizc
$80/9A7B 4A          LSR A                   A:0600 X:0000 Y:0000 P:envmxdizc
$80/9A7C 4A          LSR A                   A:0300 X:0000 Y:0000 P:envmxdizc
$80/9A7D 4A          LSR A                   A:0180 X:0000 Y:0000 P:envmxdizc
$80/9A7E 18          CLC                     A:00C0 X:0000 Y:0000 P:envmxdizc
$80/9A7F 7D 43 0A    ADC $0A43,x[$80:0A43]   A:00C0 X:0000 Y:0000 P:envmxdizc
$80/9A82 7D 03 0A    ADC $0A03,x[$80:0A03]   A:0740 X:0000 Y:0000 P:envmxdizc
$80/9A85 9D 03 0C    STA $0C03,x[$80:0C03]   A:12C0 X:0000 Y:0000 P:envmxdizc
$80/9A88 8A          TXA                     A:12C0 X:0000 Y:0000 P:envmxdizc
$80/9A89 99 83 0E    STA $0E83,y[$80:0E83]   A:0000 X:0000 Y:0000 P:envmxdiZc
$80/9A8C E2 20       SEP #$20                A:0000 X:0000 Y:0000 P:envmxdiZc
$80/9A8E C8          INY                     A:0000 X:0000 Y:0000 P:envMxdiZc
$80/9A8F C8          INY                     A:0000 X:0000 Y:0001 P:envMxdizc
$80/9A90 E8          INX                     A:0000 X:0000 Y:0002 P:envMxdizc
$80/9A91 E8          INX                     A:0000 X:0001 Y:0002 P:envMxdizc
$80/9A92 E0 40 00    CPX #$0040              A:0000 X:0002 Y:0002 P:envMxdizc
$80/9A95 90 D3       BCC $D3    [$9A6A]      A:0000 X:0002 Y:0002 P:eNvMxdizc
$80/9A97 C2 20       REP #$20                A:0000 X:0040 Y:0008 P:envMxdiZC
$80/9A99 A9 FF FF    LDA #$FFFF              A:0000 X:0040 Y:0008 P:envmxdiZC
$80/9A9C 99 83 0E    STA $0E83,y[$80:0E8B]   A:FFFF X:0040 Y:0008 P:eNvmxdizC
$80/9A9F C0 04 00    CPY #$0004              A:FFFF X:0040 Y:0008 P:eNvmxdizC
$80/9AA2 90 0F       BCC $0F    [$9AB3]      A:FFFF X:0040 Y:0008 P:envmxdizC
$80/9AA4 A2 00 00    LDX #$0000              A:FFFF X:0040 Y:0008 P:envmxdizC
$80/9AA7 88          DEY                     A:FFFF X:0000 Y:0008 P:envmxdiZC
$80/9AA8 88          DEY                     A:FFFF X:0000 Y:0007 P:envmxdizC
$80/9AA9 8B          PHB           ; Buffer Data Bank on Stack
$80/9AAA F4 00 7E    PEA $7E00     ; Set Data Bank to $7E
$80/9AAD AB          PLB
$80/9AAE AB          PLB
$80/9AAF 20 DC 9B    JSR $9BDC  [$80:9BDC]   A:FFFF X:0000 Y:0006 P:envmxdizC
$80/9AB2 AB          PLB           ; Restore Data Bank
$80/9AB3 E2 20       SEP #$20      ; A = 8-bit
$80/9AB5 60          RTS

$80/9AB6 ?

$80/9AB6 8B          PHB           ; Buffer Data Bank on Stack
$80/9AB7 4B          PHK           ; Set Data Bank to $80
$80/9AB8 AB          PLB
$80/9AB9 20 BE 9A    JSR $9ABE  [$80:9ABE]   A:0000 X:0040 Y:0040 P:eNvMxdizC
$80/9ABC AB          PLB           ; Restore Data Bank from Stack
$80/9ABD 6B          RTL

$80/9ABE ?

$80/9ABE A0 00 00    LDY #$0000              A:00C9 X:0040 Y:0000 P:envMxdiZC
$80/9AC1 BE 83 0E    LDX $0E83,y[$80:0E83]   A:00C9 X:0040 Y:0000 P:envMxdiZC
$80/9AC4 30 3E       BMI $3E    [$9B04]      A:0E00 X:FFFF Y:0014 P:eNvMxdizc
$80/9AC6 BD 03 06    LDA $0603,x[$80:0605]   A:00C9 X:0002 Y:0000 P:envMxdizC
$80/9AC9 F0 24       BEQ $24    [$9AEF]      A:0001 X:0002 Y:0000 P:envMxdizC
$80/9ACB BD C3 09    LDA $09C3,x[$80:09C5]   A:0001 X:0002 Y:0000 P:envMxdizC
$80/9ACE 89 C0       BIT #$C0                A:00FF X:0002 Y:0000 P:eNvMxdizC
$80/9AD0 F0 1D       BEQ $1D    [$9AEF]      A:00FF X:0002 Y:0000 P:eNvMxdizC
$80/9AD2 C8          INY            ; Increment Load Index twice
$80/9AD3 C8          INY
$80/9AD4 BD 43 08    LDA $0843,x[$80:0845]   A:00FF X:0002 Y:0002 P:envMxdizC
$80/9AD7 F0 E8       BEQ $E8        ; [$9AC1] Do next entry if empty
$80/9AD9 C2 20       REP #$20                A:0001 X:003E Y:000C P:envMxdizC
$80/9ADB BD 83 0A    LDA $0A83,x[$80:0AC1]   A:0001 X:003E Y:000C P:envmxdizC
$80/9ADE 4A          LSR A          ; Divide by 8
$80/9ADF 4A          LSR A
$80/9AE0 4A          LSR A
$80/9AE1 18          CLC                     A:0180 X:003E Y:000C P:envmxdizc
$80/9AE2 7D 43 0A    ADC $0A43,x[$80:0A81]   A:0180 X:003E Y:000C P:envmxdizc
$80/9AE5 7D 03 0A    ADC $0A03,x[$80:0A41]   A:03FF X:003E Y:000C P:envmxdizc
$80/9AE8 9D 03 0C    STA $0C03,x[$80:0C41]   A:0F7E X:003E Y:000C P:envmxdizc
$80/9AEB E2 20       SEP #$20                A:0F7E X:003E Y:000C P:envmxdizc
$80/9AED 80 D2       BRA $D2       ; [$9AC1] Loop
$80/9AEF 5A          PHY                     A:0000 X:0006 Y:0004 P:envMxdiZC
$80/9AF0 C2 20       REP #$20                A:0000 X:0006 Y:0004 P:envMxdiZC
$80/9AF2 B9 85 0E    LDA $0E85,y[$80:0E89]   A:0000 X:0006 Y:0004 P:envmxdiZC
$80/9AF5 99 83 0E    STA $0E83,y[$80:0E87]   A:0008 X:0006 Y:0004 P:envmxdizC
$80/9AF8 C8          INY                     A:0008 X:0006 Y:0004 P:envmxdizC
$80/9AF9 C8          INY                     A:0008 X:0006 Y:0005 P:envmxdizC
$80/9AFA C9 FF FF    CMP #$FFFF              A:0008 X:0006 Y:0006 P:envmxdizC
$80/9AFD D0 F3       BNE $F3    [$9AF2]      A:0008 X:0006 Y:0006 P:envmxdizc
$80/9AFF E2 20       SEP #$20                A:FFFF X:0006 Y:000A P:envmxdiZC
$80/9B01 7A          PLY                     A:FFFF X:0006 Y:000A P:envMxdiZC
$80/9B02 80 BD       BRA $BD    [$9AC1]      A:FFFF X:0006 Y:0004 P:envMxdizC
$80/9B04 A0 00 00    LDY #$0000              A:0E00 X:FFFF Y:0014 P:eNvMxdizc
$80/9B07 BE 83 0E    LDX $0E83,y[$80:0E83]   A:0E00 X:FFFF Y:0000 P:envMxdiZc
$80/9B0A 10 03       BPL $03    [$9B0F]      A:0E00 X:0002 Y:0000 P:envMxdizc
$80/9B0C 4C 91 9B    JMP $9B91     ; Exit
$80/9B0F BD 43 08    LDA $0843,x[$80:0845]   A:0E00 X:0002 Y:0000 P:envMxdizc
$80/9B12 D0 03       BNE $03    [$9B17]      A:0E00 X:0002 Y:0000 P:envMxdiZc
$80/9B14 4C 8C 9B    JMP $9B8C      ; Increment Load Index twice and loop
$80/9B17 84 00       STY $00    [$00:0000]   A:0E01 X:003E Y:000A P:envMxdizc
$80/9B19 86 02       STX $02    [$00:0002]   A:0E01 X:003E Y:000A P:envMxdizc
$80/9B1B C2 20       REP #$20                A:0E01 X:003E Y:000A P:envMxdizc
$80/9B1D BD 03 0C    LDA $0C03,x[$80:0C41]   A:0E01 X:003E Y:000A P:envmxdizc
$80/9B20 C0 00 00    CPY #$0000              A:0F7E X:003E Y:000A P:envmxdizc
$80/9B23 F0 33       BEQ $33    [$9B58]      A:0F7E X:003E Y:000A P:envmxdizC
$80/9B25 BE 81 0E    LDX $0E81,y[$80:0E8B]   A:0F7E X:003E Y:000A P:envmxdizC
$80/9B28 DD 03 0C    CMP $0C03,x[$80:0C0F]   A:0F7E X:000C Y:000A P:envmxdizC
$80/9B2B 90 2B       BCC $2B    [$9B58]      A:0F7E X:000C Y:000A P:eNvmxdizc
$80/9B2D F0 29       BEQ $29    [$9B58]      A:0F40 X:0012 Y:000A P:envmxdiZC
$80/9B2F 88          DEY                     A:1208 X:0004 Y:0006 P:envmxdizC
$80/9B30 88          DEY                     A:1208 X:0004 Y:0005 P:envmxdizC
$80/9B31 F0 0A       BEQ $0A    [$9B3D]      A:1208 X:0004 Y:0004 P:envmxdizC
$80/9B33 BE 81 0E    LDX $0E81,y[$80:0E85]   A:1208 X:0004 Y:0004 P:envmxdizC
$80/9B36 DD 03 0C    CMP $0C03,x[$80:0C03]   A:1208 X:0000 Y:0004 P:envmxdiZC
$80/9B39 F0 02       BEQ $02    [$9B3D]      A:1208 X:0000 Y:0004 P:eNvmxdizc
$80/9B3B B0 F2       BCS $F2    [$9B2F]      A:1208 X:0000 Y:0004 P:eNvmxdizc
$80/9B3D C8          INY                     A:1208 X:0000 Y:0004 P:eNvmxdizc
$80/9B3E C8          INY                     A:1208 X:0000 Y:0005 P:envmxdizc
$80/9B3F 84 04       STY $04    [$00:0004]   A:1208 X:0000 Y:0006 P:envmxdizc
$80/9B41 A4 00       LDY $00    [$00:0000]   A:1208 X:0000 Y:0006 P:envmxdizc
$80/9B43 B9 81 0E    LDA $0E81,y[$80:0E87]   A:1208 X:0000 Y:0006 P:envmxdizc
$80/9B46 99 83 0E    STA $0E83,y[$80:0E89]   A:0004 X:0000 Y:0006 P:envmxdizc
$80/9B49 88          DEY                     A:0004 X:0000 Y:0006 P:envmxdizc
$80/9B4A 88          DEY                     A:0004 X:0000 Y:0005 P:envmxdizc
$80/9B4B C4 04       CPY $04    [$00:0004]   A:0004 X:0000 Y:0004 P:envmxdizc
$80/9B4D B0 F4       BCS $F4    [$9B43]      A:0004 X:0000 Y:0004 P:eNvmxdizc
$80/9B4F A5 02       LDA $02    [$00:0002]   A:0004 X:0000 Y:0004 P:eNvmxdizc
$80/9B51 99 83 0E    STA $0E83,y[$80:0E87]   A:0006 X:0000 Y:0004 P:envmxdizc
$80/9B54 A4 00       LDY $00    [$00:0000]   A:0006 X:0000 Y:0004 P:envmxdizc
$80/9B56 80 32       BRA $32    [$9B8A]      A:0006 X:0000 Y:0006 P:envmxdizc
$80/9B58 BE 85 0E    LDX $0E85,y[$80:0E8F]   A:0F7E X:000C Y:000A P:eNvmxdizc
$80/9B5B 30 2D       BMI $2D        ; [$9B8A] Increment Load Index twice and loop
$80/9B5D DD 03 0C    CMP $0C03,x[$80:0C0D]   A:0F7E X:000A Y:000A P:envmxdizc
$80/9B60 B0 28       BCS $28        ; [$9B8A] Increment Load Index twice and loop
$80/9B62 C8          INY                     A:0B68 X:000E Y:0008 P:eNvmxdizc
$80/9B63 C8          INY                     A:0B68 X:000E Y:0009 P:envmxdizc
$80/9B64 BE 85 0E    LDX $0E85,y[$80:0E8F]   A:0B68 X:000E Y:000A P:envmxdizc
$80/9B67 30 05       BMI $05    [$9B6E]      A:0B68 X:0010 Y:000A P:envmxdizc
$80/9B69 DD 03 0C    CMP $0C03,x[$80:0C13]   A:0B68 X:0010 Y:000A P:envmxdizc
$80/9B6C 90 F4       BCC $F4    [$9B62]      A:0B68 X:0010 Y:000A P:eNvmxdizc
$80/9B6E 84 04       STY $04    [$00:0004]   A:0B68 X:0006 Y:000C P:envmxdizC
$80/9B70 A4 00       LDY $00    [$00:0000]   A:0B68 X:0006 Y:000C P:envmxdizC
$80/9B72 B9 85 0E    LDA $0E85,y[$80:0E8D]   A:0B68 X:0006 Y:0008 P:envmxdizC
$80/9B75 99 83 0E    STA $0E83,y[$80:0E8B]   A:000E X:0006 Y:0008 P:envmxdizC
$80/9B78 C8          INY                     A:000E X:0006 Y:0008 P:envmxdizC
$80/9B79 C8          INY                     A:000E X:0006 Y:0009 P:envmxdizC
$80/9B7A C4 04       CPY $04    [$00:0004]   A:000E X:0006 Y:000A P:envmxdizC
$80/9B7C 90 F4       BCC $F4    [$9B72]      A:000E X:0006 Y:000A P:eNvmxdizc
$80/9B7E A5 02       LDA $02    [$00:0002]   A:0010 X:0006 Y:000C P:envmxdiZC
$80/9B80 99 83 0E    STA $0E83,y[$80:0E8F]   A:000C X:0006 Y:000C P:envmxdizC
$80/9B83 A4 00       LDY $00    [$00:0000]   A:000C X:0006 Y:000C P:envmxdizC
$80/9B85 E2 20       SEP #$20                A:000C X:0006 Y:0008 P:envmxdizC
$80/9B87 4C 07 9B    JMP $9B07  [$80:9B07]   A:000C X:0006 Y:0008 P:envMxdizC
$80/9B8A E2 20       SEP #$20                A:0F7E X:000A Y:000A P:envmxdizC
$80/9B8C C8          INY           ; Increment Load Index twice
$80/9B8D C8          INY           
$80/9B8E 4C 07 9B    JMP $9B07     ; Loop
$80/9B91 60          RTS

$80/9B9A ?

$80/9B9A C2 20       REP #$20                A:8107 X:0006 Y:0004 P:envMxdizc
$80/9B9C 7B          TDC                     A:8107 X:0006 Y:0004 P:envmxdizc
$80/9B9D A8          TAY                     A:0000 X:0006 Y:0004 P:envmxdiZc
$80/9B9E 3A          DEC A                   A:0000 X:0006 Y:0000 P:envmxdiZc
$80/9B9F D9 83 0E    CMP $0E83,y[$80:0E83]   A:FFFF X:0006 Y:0000 P:eNvmxdizc
$80/9BA2 F0 04       BEQ $04    [$9BA8]      A:FFFF X:0006 Y:0000 P:eNvmxdizC
$80/9BA4 C8          INY                     A:FFFF X:0006 Y:0000 P:eNvmxdizC
$80/9BA5 C8          INY                     A:FFFF X:0006 Y:0001 P:envmxdizC
$80/9BA6 80 F7       BRA $F7    [$9B9F]      A:FFFF X:0006 Y:0002 P:envmxdizC
$80/9BA8 8A          TXA                     A:FFFF X:0006 Y:0006 P:envmxdiZC
$80/9BA9 99 83 0E    STA $0E83,y[$80:0E89]   A:0006 X:0006 Y:0006 P:envmxdizC
$80/9BAC A9 FF FF    LDA #$FFFF              A:0006 X:0006 Y:0006 P:envmxdizC
$80/9BAF 99 85 0E    STA $0E85,y[$80:0E8B]   A:FFFF X:0006 Y:0006 P:eNvmxdizC
$80/9BB2 E2 20       SEP #$20                A:FFFF X:0006 Y:0006 P:eNvmxdizC
$80/9BB4 60          RTS                     A:FFFF X:0006 Y:0006 P:eNvMxdizC

$80/9BDC ?

$80/9BDC D4 00       PEI ($00)     ; Buffer $00-$05 on Stack
$80/9BDE D4 02       PEI ($02)
$80/9BE0 D4 04       PEI ($04)
$80/9BE2 86 00       STX $00    [$00:0000]   A:FFFF X:0000 Y:0006 P:envmxdizC
$80/9BE4 84 02       STY $02    [$00:0002]   A:FFFF X:0000 Y:0006 P:envmxdizC
$80/9BE6 98          TYA                     A:FFFF X:0000 Y:0006 P:envmxdizC
$80/9BE7 38          SEC                     A:0006 X:0000 Y:0006 P:envmxdizC
$80/9BE8 E5 00       SBC $00    [$00:0000]   A:0006 X:0000 Y:0006 P:envmxdizC
$80/9BEA C9 0A 00    CMP #$000A              A:0006 X:0000 Y:0006 P:envmxdizC
$80/9BED 90 20       BCC $20    [$9C0F]      A:0006 X:0000 Y:0006 P:eNvmxdizc
$80/9BEF A5 00       LDA $00    [$00:0000]   A:000A X:0000 Y:000A P:envmxdiZC
$80/9BF1 18          CLC                     A:0000 X:0000 Y:000A P:envmxdiZC
$80/9BF2 65 02       ADC $02    [$00:0002]   A:0000 X:0000 Y:000A P:envmxdiZc
$80/9BF4 4A          LSR A                   A:000A X:0000 Y:000A P:envmxdizc
$80/9BF5 29 FE FF    AND #$FFFE              A:0005 X:0000 Y:000A P:envmxdizc
$80/9BF8 85 04       STA $04    [$00:0004]   A:0004 X:0000 Y:000A P:envmxdizc
$80/9BFA A6 00       LDX $00    [$00:0000]   A:0004 X:0000 Y:000A P:envmxdizc
$80/9BFC A4 04       LDY $04    [$00:0004]   A:0004 X:0000 Y:000A P:envmxdiZc
$80/9BFE 20 DC 9B    JSR $9BDC  [$80:9BDC]   A:0004 X:0000 Y:0004 P:envmxdizc
$80/9C01 A6 04       LDX $04    [$00:0004]   A:12C0 X:0000 Y:0004 P:envmxdiZC
$80/9C03 E8          INX                     A:12C0 X:0004 Y:0004 P:envmxdizC
$80/9C04 E8          INX                     A:12C0 X:0005 Y:0004 P:envmxdizC
$80/9C05 A4 02       LDY $02    [$00:0002]   A:12C0 X:0006 Y:0004 P:envmxdizC
$80/9C07 20 DC 9B    JSR $9BDC  [$80:9BDC]   A:12C0 X:0006 Y:000A P:envmxdizC
$80/9C0A 20 20 9C    JSR $9C20  [$80:9C20]   A:0C00 X:0000 Y:000A P:envmxdiZC
$80/9C0D 80 07       BRA $07    [$9C16]      A:0004 X:3A17 Y:0006 P:envmxdiZC
$80/9C0F E4 02       CPX $02    [$00:0002]   A:0006 X:0000 Y:0006 P:eNvmxdizc
$80/9C11 F0 03       BEQ $03    [$9C16]      A:0006 X:0000 Y:0006 P:eNvmxdizc
$80/9C13 20 7B 9C    JSR $9C7B  [$80:9C7B]   A:0006 X:0000 Y:0006 P:eNvmxdizc
$80/9C16 FA          PLX           ; Restore $05-$00 from Stack
$80/9C17 86 04       STX $04
$80/9C19 FA          PLX
$80/9C1A 86 02       STX $02
$80/9C1C FA          PLX
$80/9C1D 86 00       STX $00
$80/9C1F 60          RTS

$80/9C20 ?

$80/9C20 A6 5C       LDX $5C    [$00:005C]   A:0C00 X:0000 Y:000A P:envmxdiZC
$80/9C22 A4 00       LDY $00    [$00:0000]   A:0C00 X:3A11 Y:000A P:envmxdizC
$80/9C24 B9 83 0E    LDA $0E83,y[$7E:0E83]   A:0C00 X:3A11 Y:0000 P:envmxdiZC
$80/9C27 9D 00 00    STA $0000,x   ; Buffer values
$80/9C2A C8          INY           ; Increment Load Index twice
$80/9C2B C8          INY
$80/9C2C E8          INX           ; Increment Store Index twice
$80/9C2D E8          INX
$80/9C2E C4 04       CPY $04    [$00:0004]   A:0002 X:3A13 Y:0002 P:envmxdizC
$80/9C30 90 F2       BCC $F2       ; [$9C24] Loop if Y is less
$80/9C32 F0 F0       BEQ $F0       ; [$9C24] Loop if Y is the same
$80/9C34 86 04       STX $04    [$00:0004]   A:0004 X:3A17 Y:0006 P:envmxdizC
$80/9C36 A6 5C       LDX $5C    [$00:005C]   A:0004 X:3A17 Y:0006 P:envmxdizC
$80/9C38 DA          PHX                     A:0004 X:3A11 Y:0006 P:envmxdizC
$80/9C39 BD 00 00    LDA $0000,x[$7E:3A11]   A:0004 X:3A11 Y:0006 P:envmxdizC
$80/9C3C AA          TAX                     A:0002 X:3A11 Y:0006 P:envmxdizC
$80/9C3D BD 03 0C    LDA $0C03,x[$7E:0C05]   A:0002 X:0002 Y:0006 P:envmxdizC
$80/9C40 BE 83 0E    LDX $0E83,y[$7E:0E89]   A:13C0 X:0002 Y:0006 P:envmxdizC
$80/9C43 DD 03 0C    CMP $0C03,x[$7E:0C09]   A:13C0 X:0006 Y:0006 P:envmxdizC
$80/9C46 FA          PLX                     A:13C0 X:0006 Y:0006 P:envmxdizC
$80/9C47 90 07       BCC $07    [$9C50]      A:13C0 X:3A11 Y:0006 P:envmxdizC
$80/9C49 BD 00 00    LDA $0000,x[$7E:3A11]   A:13C0 X:3A11 Y:0006 P:envmxdizC
$80/9C4C E8          INX                     A:0002 X:3A11 Y:0006 P:envmxdizC
$80/9C4D E8          INX                     A:0002 X:3A12 Y:0006 P:envmxdizC
$80/9C4E 80 05       BRA $05    [$9C55]      A:0002 X:3A13 Y:0006 P:envmxdizC
code is missing here
$80/9C55 5A          PHY                     A:0002 X:3A13 Y:0006 P:envmxdizC
$80/9C56 A4 00       LDY $00    [$00:0000]   A:0002 X:3A13 Y:0006 P:envmxdizC
$80/9C58 99 83 0E    STA $0E83,y[$7E:0E83]   A:0002 X:3A13 Y:0000 P:envmxdiZC
$80/9C5B C8          INY                     A:0002 X:3A13 Y:0000 P:envmxdiZC
$80/9C5C C8          INY                     A:0002 X:3A13 Y:0001 P:envmxdizC
$80/9C5D 84 00       STY $00    [$00:0000]   A:0002 X:3A13 Y:0002 P:envmxdizC
$80/9C5F 7A          PLY                     A:0002 X:3A13 Y:0002 P:envmxdizC
$80/9C60 E4 04       CPX $04    [$00:0004]   A:0002 X:3A13 Y:0006 P:envmxdizC
$80/9C62 B0 16       BCS $16    [$9C7A]      A:0002 X:3A13 Y:0006 P:eNvmxdizc
$80/9C64 C4 02       CPY $02    [$00:0002]   A:0002 X:3A13 Y:0006 P:eNvmxdizc
$80/9C66 90 D0       BCC $D0    [$9C38]      A:0002 X:3A13 Y:0006 P:eNvmxdizc
code is missing here
$80/9C7A 60          RTS                     A:0004 X:3A17 Y:0006 P:envmxdiZC

$80/9C7B ?

$80/9C7B A4 00       LDY $00    [$00:0000]   A:0006 X:0000 Y:0006 P:eNvmxdizc
$80/9C7D 5A          PHY                     A:0006 X:0000 Y:0000 P:envmxdiZc
$80/9C7E BE 83 0E    LDX $0E83,y[$7E:0E83]   A:0006 X:0000 Y:0000 P:envmxdiZc
$80/9C81 BD 03 0C    LDA $0C03,x[$7E:0C03]   A:0006 X:0000 Y:0000 P:envmxdiZc
$80/9C84 84 04       STY $04    [$00:0004]   A:12C0 X:0000 Y:0000 P:envmxdizc
$80/9C86 C8          INY                     A:12C0 X:0000 Y:0000 P:envmxdizc
$80/9C87 C8          INY                     A:12C0 X:0000 Y:0001 P:envmxdizc
$80/9C88 BE 83 0E    LDX $0E83,y[$7E:0E85]   A:12C0 X:0000 Y:0002 P:envmxdizc
$80/9C8B DD 03 0C    CMP $0C03,x[$7E:0C05]   A:12C0 X:0002 Y:0002 P:envmxdizc
$80/9C8E B0 05       BCS $05    [$9C95]      A:12C0 X:0002 Y:0002 P:eNvmxdizc
$80/9C90 BD 03 0C    LDA $0C03,x[$7E:0C05]   A:12C0 X:0002 Y:0002 P:eNvmxdizc
$80/9C93 84 04       STY $04    [$00:0004]   A:13C0 X:0002 Y:0002 P:envmxdizc
$80/9C95 C8          INY                     A:13C0 X:0002 Y:0002 P:envmxdizc
$80/9C96 C8          INY                     A:13C0 X:0002 Y:0003 P:envmxdizc
$80/9C97 C4 02       CPY $02    [$00:0002]   A:13C0 X:0002 Y:0004 P:envmxdizc
$80/9C99 90 ED       BCC $ED    [$9C88]      A:13C0 X:0002 Y:0004 P:eNvmxdizc
$80/9C9B F0 EB       BEQ $EB    [$9C88]      A:13C0 X:0004 Y:0006 P:envmxdiZC
$80/9C9D 7A          PLY                     A:13C0 X:0006 Y:0008 P:envmxdizC
$80/9C9E C4 04       CPY $04    [$00:0004]   A:13C0 X:0006 Y:0000 P:envmxdiZC
$80/9CA0 F0 18       BEQ $18    [$9CBA]      A:13C0 X:0006 Y:0000 P:eNvmxdizc
$80/9CA2 A6 04       LDX $04    [$00:0004]   A:13C0 X:0006 Y:0000 P:eNvmxdizc
$80/9CA4 84 04       STY $04    [$00:0004]   A:13C0 X:0002 Y:0000 P:envmxdizc
$80/9CA6 BD 83 0E    LDA $0E83,x[$7E:0E85]   A:13C0 X:0002 Y:0000 P:envmxdizc
$80/9CA9 48          PHA                     A:0002 X:0002 Y:0000 P:envmxdizc
$80/9CAA CA          DEX                     A:0002 X:0002 Y:0000 P:envmxdizc
$80/9CAB CA          DEX                     A:0002 X:0001 Y:0000 P:envmxdizc
$80/9CAC BD 83 0E    LDA $0E83,x[$7E:0E83]   A:0002 X:0000 Y:0000 P:envmxdiZc
$80/9CAF 9D 85 0E    STA $0E85,x[$7E:0E85]   A:0000 X:0000 Y:0000 P:envmxdiZc
$80/9CB2 E4 04       CPX $04    [$00:0004]   A:0000 X:0000 Y:0000 P:envmxdiZc
$80/9CB4 D0 F4       BNE $F4    [$9CAA]      A:0000 X:0000 Y:0000 P:envmxdiZC
$80/9CB6 68          PLA                     A:0000 X:0000 Y:0000 P:envmxdiZC
$80/9CB7 9D 83 0E    STA $0E83,x[$7E:0E83]   A:0002 X:0000 Y:0000 P:envmxdizC
$80/9CBA C8          INY                     A:0002 X:0000 Y:0000 P:envmxdizC
$80/9CBB C8          INY                     A:0002 X:0000 Y:0001 P:envmxdizC
$80/9CBC C4 02       CPY $02    [$00:0002]   A:0002 X:0000 Y:0002 P:envmxdizC
$80/9CBE 90 BD       BCC $BD    [$9C7D]      A:0002 X:0000 Y:0002 P:eNvmxdizc
$80/9CC0 60          RTS                     A:12C0 X:0006 Y:0006 P:envmxdiZC

$80/9D32 DMA Subroutine

Destination has to be set before this Subroutine is called

$80/9D32 8D 04 43    STA $4304     ; A: Source Bank (8 bit)
$80/9D35 8E 02 43    STX $4302     ; X: Source Address (16 bit)
$80/9D38 8C 05 43    STY $4305     ; Y: Number of Bytes to transfer
$80/9D3B A9 00       LDA #$00      ; DMA options
$80/9D3D 8D 00 43    STA $4300
$80/9D40 A9 01       LDA #$01      ; Activate DMA
$80/9D42 8D 0B 42    STA $420B
$80/9D45 60          RTS

$80/9D81 Long Jump to VRAM Clear

A: Source Bank of the Clear Byte (8 bit)

X: Source Address of the Clear Byte (16 bit)

Y: Destination VRAM Address (16 bit)

$80/9D81 8B          PHB           ; Buffer Program Bank
$80/9D82 4B          PHK           ; Set $80 as Program Bank
$80/9D83 AB          PLB
$80/9D84 20 89 9D    JSR $9D89     ; VRAM Clear
$80/9D87 AB          PLB           ; Restore Program Bank
$80/9D88 6B          RTL

$80/9D89 VRAM Clear

$80/9D89 8D 04 43    STA $4304     ; A: Source Bank (8 bit)
$80/9D8C 8E 02 43    STX $4302     ; X: Source Address (16 bit)
$80/9D8F 8C 16 21    STY $2116     ; Y: Destination VRAM Address (16 bit)
$80/9D92 A9 80       LDA #$80      ; Increment after writing $2119
$80/9D94 8D 15 21    STA $2115
$80/9D97 A9 09       LDA #$09      ; FIXED TRANSFER, 16 bit Transfer
$80/9D99 8D 00 43    STA $4300
$80/9D9C A9 18       LDA #$18      ; DMA Destination: $2118, VRAM
$80/9D9E 8D 01 43    STA $4301
$80/9DA1 A9 01       LDA #$01      ; Activate DMA
$80/9DA3 8D 0B 42    STA $420B
$80/9DA6 60          RTS

$80/9DA7 Long Jump to the WRAM-Clear-DMA

$80/9DA7 20 AB 9D    JSR $9DAB     ; Setup of the rest of the DMA and activation
$80/9DAA 6B          RTL

$80/9DAB WRAM-Clear-DMA

This Subroutine is half a setup for a DMA and starts the DMA. The first half of the setup has to be done before this Subroutine gets called. A call can be found at $80/801B. This is a fixed Transfer, so it's used for Clear Up DMAs. Furthermore, due to it's construction it is fixed to WRAM addresses. Before this subroutine is called, there are additional values that are loaded into certain registers:

A: Source Bank (8 bit)

X: Source Address (16 bit)

Y: Destination WRAM Address (16 bit)

Carry Bit Set: WRAM Bank $7F / Carry Bit Clear: WRAM Bank $7E

$80/9DAB 8D 04 43    STA $4304     ; A: Source Bank (8 bit)
$80/9DAE 8E 02 43    STX $4302     ; X: Source Address (16 bit)
$80/9DB1 8C 81 21    STY $2181     ; Y: Destination WRAM Address (16 bit)
$80/9DB4 2A          ROL A         ; Roll Carry-Bit in A
$80/9DB5 8D 83 21    STA $2183     ; If carry bit was set: Bank $7F, if clear: $7E
$80/9DB8 A9 08       LDA #$08      ; FIXED TRANSFER
$80/9DBA 8D 00 43    STA $4300
$80/9DBD A9 80       LDA #$80      ; DMA to Register $2180 --> to the WRAM address previously set up
$80/9DBF 8D 01 43    STA $4301
$80/9DC2 A9 01       LDA #$01      ; Activate DMA
$80/9DC4 8D 0B 42    STA $420B
$80/9DC7 60          RTS

$80/9DC8 Long Jump to Write Empty Tilemap in WRAM

$80/9DC8 20 CC 9D    JSR $9DCC     ; Write Empty Tilemap in WRAM
$80/9DCB 6B          RTL

$80/9DCC Write Empty Tilemap in WRAM

This subroutine is used to write the same double-byte over and over into a bigger space. This is used to write empty tilemaps in WRAM.

X contains the number of bytes to do

Y contains the destination address (the destination bank has to be set as Data Bank before this subroutine is called)

A (16-bit) contains the 16-bit value that should be written

This subroutine has to ways of doing this: Either it simply works off $20 byte in one step, or it does less if it has to do less then $20 byte. So, whatever amount you give it, it clears the big bunch in $20 byte steps first and then does the rest in the second way of doing it. The first part of the program is about distinguishing which method is to use.

This subroutine is actually quite well done: At $80/9DE4, it uses the remaining number of bytes to do which is in X as an index for a jump table, the jump table then lets the program jump right into the middle of the whole Store commands that start at $9E0D - that's the reason why it starts at $001E,y and not at $0000,y!

$80/9DCC D4 00       PEI ($00)     ; Buffer $00 on stack
$80/9DCE E0 21 00    CPX #$0021    ; Check if the number of bytes-to-do is more than #$20
$80/9DD1 90 0F       BCC $0F       ; [$9DE2] Branch if not
$80/9DD3 48          PHA           ; Buffer the Write-Byte
$80/9DD4 A9 20 00    LDA #$0020    ; Set Number of Bytes to do in $00
$80/9DD7 85 00       STA $00
$80/9DD9 68          PLA           ; Restore the Write-Byte
$80/9DDA 20 0D 9E    JSR $9E0D  [$80:9E0D]   A:0000 X:0080 Y:BDC4 P:envmxdIZC

$80/9DDD E0 21 00    CPX #$0021    ; Repeat this procedure if there are still more than $20 bytes to do
$80/9DE0 B0 F8       BCS $F8       ; [$9DDA]

$80/9DE2 86 00       STX $00       ; Set the remaining Number of Bytes to do in $00
$80/9DE4 FC EB 9D    JSR ($9DEB,x) ; Jump to the Jump Table which redirects into the part at $9E0D

$80/9DE7 FA          PLX           ; Restore Original $00 and Exit
$80/9DE8 86 00       STX $00
$80/9DEA 60          RTS
Code is missing here
What is missing here is most likely a list of 2-byte-long Branch Commands where the first one branches to $9E3A, the second to $9E3C...
$80/9E0D 99 1E 00    STA $001E,y   ; Write the Write-Byte into it's destination
$80/9E10 99 1C 00    STA $001C,y
$80/9E13 99 1A 00    STA $001A,y
$80/9E16 99 18 00    STA $0018,y
$80/9E19 99 16 00    STA $0016,y
$80/9E1C 99 14 00    STA $0014,y
$80/9E1F 99 12 00    STA $0012,y
$80/9E22 99 10 00    STA $0010,y
$80/9E25 99 0E 00    STA $000E,y
$80/9E28 99 0C 00    STA $000C,y
$80/9E2B 99 0A 00    STA $000A,y
$80/9E2E 99 08 00    STA $0008,y
$80/9E31 99 06 00    STA $0006,y
$80/9E34 99 04 00    STA $0004,y
$80/9E37 99 02 00    STA $0002,y
$80/9E3A 99 00 00    STA $0000,y
$80/9E3D 48          PHA           ; Buffer the Write-Byte
$80/9E3E 8A          TXA           ; Decrease the number of Bytes-to-do according to the number of transfered bytes
$80/9E3F 38          SEC
$80/9E40 E5 00       SBC $00
$80/9E42 AA          TAX
$80/9E43 98          TYA           ; Increase the where-to-write-address according to the number of transfered bytes
$80/9E44 18          CLC
$80/9E45 65 00       ADC $00
$80/9E47 A8          TAY
$80/9E48 68          PLA           ; Restore the Write-Byte
$80/9E49 60          RTS

$80/9E7B Long Jump to Decompress Data and DMA to VRAM

A and X contain 24-bit-Address of the Compressed Data.

Y contains the VRAM Destination

$20-$22 contains a 24-bit-Address where to tempstore the decompressed Data.

$80/9E7B 8B          PHB           ; Preserve Data Bank
$80/9E7C 4B          PHK           ; Change Data Bank to this
$80/9E7D AB          PLB
$80/9E7E 20 83 9E    JSR $9E83     ; Decompress Data and DMA to VRAM
$80/9E81 AB          PLB           ; Restore Data Bank
$80/9E82 6B          RTL

$80/9E83 Decompress Data and DMA to VRAM

A and X contain 24-bit-Address of the Compressed Data.

Y contains the VRAM Destination

$20-$22 contains a 24-bit-Address where to tempstore the decompressed Data.

$80/9E83 5A          PHY           ; Push VRAM Destination on Stack
$80/9E84 22 E5 F9 81 JSL $81F9E5   ; Decompress Data
$80/9E88 A6 0E       LDX $0E       ; Load number of decompressed bytes
$80/9E8A 86 0C       STX $0C       ; Set it as number of bytes to transfer to VRAM
$80/9E8C A9 80       LDA #$80      ; VRAM transfer settings ($2115)
$80/9E8E 85 0E       STA $0E
$80/9E90 A6 20       LDX $20       ; DMA Source Address
$80/9E92 A5 22       LDA $22       ; DMA Source Bank
$80/9E94 7A          PLY           ; VRAM Destination
$80/9E95 4C 2C 9F    JMP $9F2C     ; VRAM DMA - it's JMP, not JSR, so here's no RTS

$80/9E98 ?

$80/9E98 8B          PHB           ; Buffer Data Bank on Stack
$80/9E99 4B          PHK           ; Set Data Bank to $80
$80/9E9A AB          PLB
$80/9E9B 20 A0 9E    JSR $9EA0  [$80:9EA0]   A:DCC8 X:DCC1 Y:2B00 P:eNvMxdizc
$80/9E9E AB          PLB           ; Restore Data Bank from Stack
$80/9E9F 6B          RTL

$80/9EA0 ?

$80/9EA0 5A          PHY           ; Push VRAM Destination on Stack
$80/9EA1 22 CC F7 81 JSL $81F7CC[$81:F7CC]   A:DCC8 X:DCC1 Y:2B00 P:eNvMxdizc
$80/9EA5 A6 0E       LDX $0E       ; Load number of decompressed bytes
$80/9EA7 86 0C       STX $0C       ; Set it as number of bytes to transfer to VRAM
$80/9EA9 A9 80       LDA #$80      ; VRAM transfer settings ($2115)
$80/9EAB 85 0E       STA $0E
$80/9EAD A6 20       LDX $20       ; DMA Source Address
$80/9EAF A5 22       LDA $22       ; DMA Source Bank
$80/9EB1 7A          PLY           ; VRAM Destination
$80/9EB2 4C 2C 9F    JMP $9F2C     ; VRAM DMA - it's JMP, not JSR, so here's no RTS

$80/9E85 Transfer color

This subroutine transfers a part (or all) of the CGRAM buffer to CGRAM.

A contains the CGRAM Destination

X's content doesn't matter, but gets changed during this subroutine

Y contains the number of bytes to transfer

$80/9EB5 8B          PHB           ; Preserve Data Bank
$80/9EB6 4B          PHK           ; Change Data Bank to this
$80/9EB7 AB          PLB
$80/9EB8 48          PHA           ; Buffer Original A value
$80/9EB9 AD 6A 05    LDA $056A     ; Load $2100 Buffer
$80/9EBC 0A          ASL A         ; Roll MSB (FBLANK Flag) in the Carry Bit
$80/9EBD 68          PLA           ; Restore Original A value
$80/9EBE 90 24       BCC $24       ; [$9EE4] Branch if FBLANK isn't active
$80/9EC0 9C 0C 42    STZ $420C     ; Deactivate HDMAs
$80/9EC3 8D 21 21    STA $2121     ; Original A = CGRAM Destination
$80/9EC6 C2 20       REP #$20      ; 16-bit A
$80/9EC8 29 FF 00    AND #$00FF    ; Remove if there was something in the hidden 8-bit
$80/9ECB 0A          ASL A         ; Multiply A by 2 (each color is 2 bytes in size)
$80/9ECC 69 4B 12    ADC #$124B    ; Add the Offset of the CGRAM buffer, so A contains now the WRAM address of the first color
$80/9ECF AA          TAX           ; Transfer to X for the upcoming DMA Setup Subroutine
$80/9ED0 E2 20       SEP #$20
$80/9ED2 A9 22       LDA #$22      ; DMA Destination: $(21)22 = CGRAM
$80/9ED4 8D 01 43    STA $4301
$80/9ED7 A9 00       LDA #$00      ; DMA Source Bank: $00
$80/9ED9 20 32 9D    JSR $9D32     ; Setup and Execute DMA to CGRAM
$80/9EDC AD 86 05    LDA $0586     ; Reactivate HDMAs
$80/9EDF 8D 0C 42    STA $420C
$80/9EE2 80 05       BRA $05       ; [$9EE9] Exit

Code is missing here

$80/9EE9 AB          PLB           ; Restore Data Bank
$80/9EEA 6B          RTL

$80/9EEB VRAM DMA with accompanying Data Bytes

Important: Whenever and from wherever this subroutine is called, the next few bytes AFTER the JSL $809EEB is Data for this subroutine. So, the first part of this subroutine is changing the Jump-Back-Address on stack so the program does not accidentally try to interpret these data bytes as code, but skip them.

The rest is the regular VRAM DMA subroutine at $80/9F2C

The Data following this Subroutine's called are structured as follows:

2 Bytes - DMA Source Address

1 Byte - DMA Source Bank

2 Bytes - VRAM Destination Address

2 Bytes - Number of Bytes

$80/9EEB 8B          PHB           ; Push Program Bank
$80/9EEC C2 21       REP #$21      ; 16 bit A, clear Carry
$80/9EEE A3 02       LDA $02,s     ; Load the address from stack, where to return when the program reaches a RTL
$80/9EF0 AA          TAX           ; Copy it into X
$80/9EF1 69 07 00    ADC #$0007    ; Add 7 to the return address - skip 7 bytes
$80/9EF4 83 02       STA $02,s     ; Store it back on stack
$80/9EF6 E2 20       SEP #$20      ; 8 bit A
$80/9EF8 A3 04       LDA $04,s     ; Load the Bank Byte from the Return address
$80/9EFA 48          PHA           ; Set it as Program Bank for now
$80/9EFB AB          PLB
$80/9EFC D4 0C	PEI ($0C)          ; Preserve current values in $0C-$0F on Stack
$80/9EFE D4 0E	PEI ($0E)
$80/9F00 A9 80       LDA #$80      ; VRAM settings (for $2115)
$80/9F02 85 0E       STA $0E
$80/9F04 BD 03 00    LDA $0003,x   ; DMA Source Bank
$80/9F07 48          PHA           ; Push it on stack, it gets pulled right before the Subroutine Jump
$80/9F08 C2 20       REP #$20
$80/9F0A BD 06 00    LDA $0006,x   ; Number of Bytes to transfer
$80/9F0D 85 0C       STA $0C
$80/9F0F BC 04 00    LDY $0004,x   ; VRAM Destination Address
$80/9F12 BD 01 00    LDA $0001,x   ; DMA Source Address
$80/9F15 AA          TAX
$80/9F16 E2 20       SEP #$20
$80/9F18 68          PLA           ; Pull Source Bank
$80/9F19 20 2C 9F    JSR $9F2C     ; VRAM DMA
$80/9F1C FA          PLX           ; Restore old values of $0C-$0F
$80/9F1D 86 0E       STX $0E
$80/9F1F FA          PLX
$80/9F20 86 0C       STX $0C
$80/9F22 AB          PLB           ; Pull Program Bank
$80/9F23 6B          RTL

$80/9F24 Long Jump to VRAM DMA

This jumps to the VRAM DMA subroutine, but stores the current program bank on stack and restores the old one afterwards.

$80/9F24 8B          PHB
$80/9F25 4B          PHK
$80/9F26 AB          PLB
$80/9F27 20 2C 9F    JSR $9F2C     ; VRAM DMA
$80/9F2A AB          PLB
$80/9F2B 6B          RTL

$80/9F2C VRAM DMA

This Subroutine executes an DMA to VRAM.

First it checks if currently FBLANK is active. Then it checks if a HDMA is active. If it is, it pauses the HDMA for the time the DMA gets prepared and executed. The following preparations have been made in order to make this subroutine work properly:

A contains the DMA Source Bank

X contains the DMA Source Address

Y contains the VRAM Destination Address

$0C/$0D contain the number of bytes to transfer

$0E contains the VRAM settings (for register $2115)

$80/9F2C 48          PHA           ; Preserve the Original A content on Stack
$80/9F2D AD 6A 05    LDA $056A     ; Is currently a FBLANK active?
$80/9F30 10 38       BPL $38       ; [$9F6A] branch if not - If not, don't execute the DMA NOW, but put it in Pipeline
$80/9F32 68          PLA           ; Restore Original A content...
$80/9F33 EB          XBA           ; ... and put it in the other half of the Accumulator
$80/9F34 AD 86 05    LDA $0586     ; Are any HDMAs active/planned?
$80/9F37 F0 0D       BEQ $0D       ; [$9F46] If not, skip the next part - immediate execution of the DMA
$80/9F39 9C 0C 42    STZ $420C     ; Remove HDMA activation flags
$80/9F3C 20 46 9F    JSR $9F46     ; Execute the stuff you were branched to before as a subroutine now
$80/9F3F AD 86 05    LDA $0586     ; ... afterwards, restore the HDMA-Flags again
$80/9F42 8D 0C 42    STA $420C
$80/9F45 60          RTS
$80/9F46 A9 01       LDA #$01      ; DMA Settings
$80/9F48 8D 00 43    STA $4300
$80/9F4B A9 18       LDA #$18      ; Destination: $2118 - VRAM
$80/9F4D 8D 01 43    STA $4301
$80/9F50 EB          XBA           ; Restore Original A value
$80/9F51 8C 16 21    STY $2116     ; Original Y Value: VRAM Address
$80/9F54 8E 02 43    STX $4302     ; Original X Value: Source Address
$80/9F57 8D 04 43    STA $4304     ; Original A Value: Source Bank
$80/9F5A A6 0C       LDX $0C       ; $0C contains the number of bytes to transfer
$80/9F5C 8E 05 43    STX $4305
$80/9F5F A5 0E       LDA $0E       ; $0E contains the VRAM transfer settings
$80/9F61 8D 15 21    STA $2115
$80/9F64 A9 01       LDA #$01      ; Activate DMA
$80/9F66 8D 0B 42    STA $420B
$80/9F69 60          RTS
$80/9F6A A3 01       LDA $01,s     ; Load the last byte on stack (Original A) without removing it from stack
$80/9F6C C9 7E       CMP #$7E      ; is the DMA source Bank $7E?
$80/9F6E D0 18       BNE $18       ; [$9F88] branch if not
$80/9F70 E4 5C       CPX $5C       ; ???
$80/9F72 90 14       BCC $14       ; [$9F88]
$80/9F74 E4 5E       CPX $5E       ; ???
$80/9F76 B0 10       BCS $10       ; [$9F88]
$80/9F78 C2 21       REP #$21      ; A = 16 bit, Carry cleared
$80/9F7A 8A          TXA           ; DMA Source Address is now in A
$80/9F7B 65 0C       ADC $0C       ; Add the number of Bytes transfered
$80/9F7D 3A          DEC A         ; Decrement it by one
$80/9F7E C5 5E       CMP $5E       ; ???
$80/9F80 90 03       BCC $03       ; [$9F85]

Code is missing here

$80/9F85 1A          INC A         ; ???
$80/9F86 85 5C       STA $5C       ; ???
$80/9F88 C2 21       REP #$21      ; A = 16 bit, Carry cleared
$80/9F8A AD C5 0E    LDA $0EC5     ; ???
$80/9F8D 65 0C       ADC $0C       ; ???
$80/9F8F 8D C5 0E    STA $0EC5     ; ???
$80/9F92 DA          PHX           ; Push DMA Source Address from Stack
$80/9F93 AD C7 0E    LDA $0EC7     ; Load Number of already occupied Pipeline Slots
$80/9F96 29 FF 00    AND #$00FF    ; This Number is 8 bit in size
$80/9F99 0A          ASL A         ; multiply by 2 - each pipeline entry is 2 bytes in size
$80/9F9A AA          TAX           ; Transfer in X as Index
$80/9F9B 98          TYA           ; Y still held the VRAM Destination
$80/9F9C 9D 49 10    STA $1049,x   ; Put in Pipeline - VRAM Destination ($2116)
$80/9F9F A5 0C       LDA $0C
$80/9FA1 9D C9 0E    STA $0EC9,x   ; Put in Pipeline - Data Size ($4305)
$80/9FA4 68          PLA           ; Get DMA Source Address (see $80/9F92)
$80/9FA5 9D 89 0F    STA $0F89,x   ; Put in Pipeline - Source Address ($4302)
$80/9FA8 E2 20       SEP #$20
$80/9FAA 68          PLA
$80/9FAB 9D 0A 11    STA $110A,x   ; Put in Pipeline - Source Bank ($4304)
$80/9FAE A5 0E       LDA $0E
$80/9FB0 9D 09 11    STA $1109,x   ; Put in Pipeline - VRAM Settings ($2115)
$80/9FB3 EE C7 0E    INC $0EC7     ; Increment Number of occupied Pipeline Slots
$80/9FB6 60          RTS

$80/9FB7 Animation VRAM DMA

This subroutine is for small DMAs to the VRAM; it is used for updating Sprite Tiles (for moving animations or animated Rhombs, for example).

It checks if FBLANK is active (or the brightness is turned completely down) or not. If it is, it does a direct DMA to VRAM. If not, it adds it to a special Pipeline for these DMAs.

Y: VRAM Destination $2116

X: Source Address

A: Source Bank

$0C: Number of bytes

$80/9FB7 8B          PHB           ; Buffer Program Bank
$80/9FB8 4B          PHK           ; Change Program Bank
$80/9FB9 AB          PLB
$80/9FBA 48          PHA           ; Buffer A (Source Bank)
$80/9FBB AD 6A 05    LDA $056A     ; $2100 Buffer - FBLANK / Screen Brightness
$80/9FBE 10 34       BPL $34       ; [$9FF4] Branch if there's no FBLANK active
$80/9FC0 68          PLA           ; Put A where the coming subroutine can use it as Source Bank
$80/9FC1 EB          XBA
$80/9FC2 9C 0C 42    STZ $420C     ; Deactivate HDMA for now
$80/9FC5 20 D0 9F    JSR $9FD0     ; VRAM DMA
$80/9FC8 AD 86 05    LDA $0586     ; Reactivate HDMA
$80/9FCB 8D 0C 42    STA $420C
$80/9FCE 80 54       BRA $54       ; [$A024] CLC, PLB, RTL

$80/9FD0 VRAM DMA

Y: VRAM Destination $2116

X: Source Address

B (hidden 8bit of A): Source Bank

$0C: Number of bytes

$80/9FD0 A9 01       LDA #$01      ; DMA Transfer style
$80/9FD2 8D 00 43    STA $4300
$80/9FD5 A9 18       LDA #$18      ; DMA Destination: $2118 VRAM
$80/9FD7 8D 01 43    STA $4301
$80/9FDA EB          XBA           ; Source Bank is in the hidden 8 bit part of Accumulator
$80/9FDB 8C 16 21    STY $2116     ; Y: VRAM Destination
$80/9FDE 8E 02 43    STX $4302     ; X: Source Address
$80/9FE1 8D 04 43    STA $4304     ; Source Bank
$80/9FE4 A6 0C       LDX $0C       ; Number of Bytes to transfer
$80/9FE6 8E 05 43    STX $4305
$80/9FE9 A9 80       LDA #$80      ; VRAM transfer settings
$80/9FEB 8D 15 21    STA $2115
$80/9FEE A9 01       LDA #$01      ; Activate DMA
$80/9FF0 8D 0B 42    STA $420B
$80/9FF3 60          RTS

$80/9FF4 Add Entry to Animation VRAM DMA Pipeline

X contains the DMA Source Address

Y contains the VRAM Destination

$0C contains the Number of Bytes to transfer

$80/9FF4 AD C9 11    LDA $11C9     ; Load Number of the next free Animation VRAM DMA slot
$80/9FF7 1A          INC A         ; Increment by one
$80/9FF8 29 1F       AND #$1F      ; Reset if it surpassed #$1F (circular buffer)
$80/9FFA CD CA 11    CMP $11CA     ; Is it the same as Number of the first used Animation VRAM DMA slot
$80/9FFD F0 28       BEQ $28       ; [$A027] Exit
$80/9FFF 7B          TDC           ; Clear 16-bit A
$80/A000 AD C9 11    LDA $11C9     ; Load Number of the next free Animation VRAM DMA slot
$80/A003 C2 21       REP #$21      ; 16-bit A, Clear Carry
$80/A005 DA          PHX           ; Push DMA Source Address on Stack
$80/A006 0A          ASL A         ; Multiply Number of Animation VRAM DMAs by 2
$80/A007 AA          TAX           ; Transfer in X to use it as a store Index
$80/A008 98          TYA           ; Transfer VRAM Destination in A
$80/A009 9D C9 10    STA $10C9,x   ; Store it in Animation VRAM DMA Pipieline
$80/A00C A5 0C       LDA $0C       ; Number of Bytes to transfer
$80/A00E 9D 49 0F    STA $0F49,x   ; Store it in Animation VRAM DMA Pipieline
$80/A011 68          PLA           ; Pull DMA Source Address from Stack
$80/A012 9D 09 10    STA $1009,x   ; Store it in Animation VRAM DMA Pipieline
$80/A015 E2 20       SEP #$20      ; 8-bit A
$80/A017 68          PLA           ; Pull Source Bank from Stack (Pushed at $80/9FBA)
$80/A018 9D 8A 11    STA $118A,x   ; Store it in Animation VRAM DMA Pipieline
$80/A01B AD C9 11    LDA $11C9     ; Load Number of the next free Animation VRAM DMA slot
$80/A01E 1A          INC A         ; Increment it
$80/A01F 29 1F       AND #$1F      ; #$1F = Limit of Animation VRAM DMAs in Pipeline
$80/A021 8D C9 11    STA $11C9     ; Store back Number of the next free Animation VRAM DMA slot
$80/A024 18          CLC
$80/A025 AB          PLB           ; Pull Original Data Bank Register
$80/A026 6B          RTL

$80/A0E4 Add Entry to the VRAM Read DMA Pipeline

This adds an entry to the VRAM Read DMA Pipeline.

X contains the Number of Bytes to transfer

Y contains the VRAM Address from where to load

$80/A0E4 8B          PHB           ; Buffer Data Bank Register on Stack
$80/A0E5 4B          PHK           ; Set Data Bank Register to $80
$80/A0E6 AB          PLB
$80/A0E7 DA          PHX           ; Push Number of Bytes to transfer on Stack
$80/A0E8 7B          TDC           ; Clear 16-bit A
$80/A0E9 AD CE 11    LDA $11CE     ; Load Number of outstanding VRAM Read DMAs
$80/A0EC C9 10       CMP #$10      ; Look if the maximum of outstanding DMAs is reached 
$80/A0EE B0 15       BCS $15       ; [$A105] Exit if it is 
$80/A0F0 0A          ASL A         ; Multiply by 2 and use it as Store Index (each entry is 2 bytes in size)
$80/A0F1 AA          TAX
$80/A0F2 C2 20       REP #$20      ; 16-bit A
$80/A0F4 98          TYA           ; Transfer the VRAM Address from where to load in A
$80/A0F5 9D D0 11    STA $11D0,x   ; Store VRAM Address from where to load in the Pipeline
$80/A0F8 68          PLA           ; Pull Number of Bytes to transfer from Stack
$80/A0F9 9D F0 11    STA $11F0,x   ; Store Number of Bytes to transfer in the Pipeline
$80/A0FC AA          TAX           ; Transfer Number of Bytes to transfer back in X
$80/A0FD E2 20       SEP #$20      ; Set A back to 8-bit
$80/A0FF EE CE 11    INC $11CE     ; Increment Number of Read DMAs to do
$80/A102 9C CB 11    STZ $11CB     ; Enable VRAM Read DMAs
$80/A105 AB          PLB           ; Pull Original Data Bank Register
$80/A106 6B          RTL

$80/A127 Long Jump to Activate NMI and Auto-Joypad Read

$80/A127 8B          PHB           ; Buffer Data Bank Register on Stack
$80/A128 4B          PHK           ; Set Bank Register as Data Bank Register
$80/A129 AB          PLB
$80/A12A 20 2F A1    JSR $A12F     ; Activate NMI and Auto-Joypad Read
$80/A12D AB          PLB           ; Pull Original Data Bank Register
$80/A12E 6B          RTL

$80/A12F Activate NMI and Auto-Joypad Read

$80/A12F AD 10 42    LDA $4210     ; Load (and thus, remove) the NMI Flag
$80/A132 A9 81       LDA #$81      ; Activate NMI and Auto-Joypad Read
$80/A134 8D 00 42    STA $4200
$80/A137 0C AF 05    TSB $05AF     ; Update Buffer accordingly
$80/A13A 60          RTS

$80/A14A Long Jump to Deactivate NMI, Auto-Joypad and HDMAs

$80/A14A 8B          PHB           ; Buffer Data Bank Register on Stack
$80/A14B 4B          PHK           ; Set Bank Register as Data Bank Register
$80/A14C AB          PLB
$80/A14D 20 52 A1    JSR $A152     ; Jump to Deactivation of NMI, Auto-Joypad & HDMAs
$80/A150 AB          PLB           ; Pull Original Data Bank Register
$80/A151 6B          RTL

$80/A152 Deactivate NMI, Auto-Joypad and HDMAs

$80/A152 9C 00 42    STZ $4200     ; Deactivate NMI / Auto-Joypad
$80/A155 9C AF 05    STZ $05AF     ; Backup for $4200?
$80/A158 9C 0C 42    STZ $420C     ; De-activate HDMAs
$80/A15B 9C B0 05    STZ $05B0     ; Backup for $420C?
$80/A15E 9C 86 05    STZ $0586     ; Backup for $420C?
$80/A161 60          RTS

$80/A162 Long Jump to Enable VBLANK IRQ

$80/A162 8B          PHB           ; Buffer Data Bank Register on Stack
$80/A163 4B          PHK           ; Set Bank Register as Data Bank Register
$80/A164 AB          PLB
$80/A165 20 6A A1    JSR $A16A     ; Enable VBLANK IRQ
$80/A168 AB          PLB           ; Pull Original Data Bank Register
$80/A169 6B          RTL

$80/A16A Enable VBLANK IRQ

$80/A16A A9 20       LDA #$20
$80/A16C 0C AF 05    TSB $05AF
$80/A16F 60          RTS

$80/A170 Long Jump to Disable IRQ

$80/A170 8B          PHB           ; Buffer Data Bank Register on Stack
$80/A171 4B          PHK           ; Set Bank Register as Data Bank Register
$80/A172 AB          PLB
$80/A173 20 78 A1    JSR $A178     ; Disable IRQ
$80/A176 AB          PLB           ; Pull Original Data Bank Register
$80/A177 6B          RTL

$80/A178 Disable IRQ

$80/A178 A9 30       LDA #$30      ; TRB removes the set bits in the Accumulator from...
$80/A17A 1C AF 05    TRB $05AF     ; ... the value in the memory address ($05AF = $4200 Buffer)
$80/A17D 60          RTS

$80/A18A Change Bank, wait for NMI and execute code built in WRAM

$80/A18A 8B          PHB           ; Buffer Data Bank Register on Stack
$80/A18B 4B          PHK           ; Set Data Bank to $80
$80/A18C AB          PLB
$80/A18D 20 92 A1    JSR $A192     ; Wait for NMI and execute code built in WRAM
$80/A190 AB          PLB           ; Restore Data Bank
$80/A191 6B          RTL

$80/A192 Wait for NMI and execute code built in WRAM

$80/A192 A9 80       LDA #$80      ; ??? (Sets bit 7 in $05BD)
$80/A194 1C BD 05    TRB $05BD
$80/A197 AD B9 05    LDA $05B9     ; ??? (Load Framecounter?)
$80/A19A CD B9 05    CMP $05B9     ; Wait for the next NMI
$80/A19D F0 FB       BEQ $FB       ; [$A19A] 

After this, the next subroutine gets executed, too.

$80/A19F Execute code built in WRAM

$80/A19F A9 80       LDA #$80      ; ??? (Sets bit 7 in $05BD)
$80/A1A1 0C BD 05    TSB $05BD
$80/A1A4 22 D9 05 00 JSL $0005D9   ; Jump and execute the code built in WRAM
$80/A1A8 60          RTS

$80/A1B6 Write Executable Code in WRAM

This Subroutine writes executable Code in WRAM, starting at $05D9.

It writes 22 E4 A1 80 ("JSL $80A1E4") five times one after another with a final $6B ("RTL").

$80/A1B6 8B          PHB           ; Buffer Data Bank Register on Stack
$80/A1B7 F4 00 00    PEA $0000     ; Set Data Bank Register to $00
$80/A1BA AB          PLB
$80/A1BB AB          PLB
$80/A1BC A2 D9 05    LDX #$05D9    ; Start writing at $0005D9
$80/A1BF A0 05 00    LDY #$0005    ; ??? (Sets up some counter)
$80/A1C2 A9 22       LDA #$22      ; #$22 = "JSL"
$80/A1C4 9D 00 00    STA $0000,x   ; Store in WRAM
$80/A1C7 C2 20       REP #$20
$80/A1C9 A9 E4 A1    LDA #$A1E4    ; Store the Address
$80/A1CC 9D 01 00    STA $0001,x   ; Store in WRAM
$80/A1CF E2 20       SEP #$20
$80/A1D1 A9 80       LDA #$80      ; Store the Bank-part of the Address
$80/A1D3 9D 03 00    STA $0003,x   ; Store in WRAM
$80/A1D6 E8          INX           ; Increment the Store Index
$80/A1D7 E8          INX
$80/A1D8 E8          INX
$80/A1D9 E8          INX
$80/A1DA 88          DEY           ; Decrement loop counter
$80/A1DB D0 E5       BNE $E5       ; [$A1C2]
$80/A1DD A9 6B       LDA #$6B      ; Store the final #$6B (RTL)
$80/A1DF 9D 00 00    STA $0000,x
$80/A1E2 AB          PLB           ; Pull Original Data Bank Register
$80/A1E3 6B          RTL

$80/A1E4 RTL

$80/A19F can jump here (via $0005D9). A standard "do nothing, just exit right away"

$80/A1E4 6B          RTL

$80/A405 Long Jump to the Tilemap Rectangle Writer

If this subroutine should be used while the program pointer is currently on a different bank

$80/A405 20 09 A4    JSR $A409     ; See below
$80/A408 6B          RTL


$80/A409 Tilemap Rectangle Writer

This subroutine transfers a line of tilemap entries into a rectangle inside the tilemap buffer.

$00 contains the rectangle's number of columns

$01 is used as counter for the current column

$02 contains the rectangle's number of rows

$03 is used as counter for the current row

X contains the Index to the Load Address (the Bank has to be adjusted before this subroutine is called)

Y Contains the Index where to write - the rest of the write address has to be set up in $20-$22


$80/A409 A5 02       LDA $02       ; Copy Row/Column number into counter registers that can be decremented
$80/A40B 85 03       STA $03
$80/A40D A5 00       LDA $00
$80/A40F 85 01       STA $01
$80/A411 5A          PHY           ; Push the write index on Stack (the starting point of a new line of the rectangle)
$80/A412 C2 20       REP #$20
$80/A414 BD 00 00    LDA $0000,x   ; Read Byte
$80/A417 C9 FF FF    CMP #$FFFF    ; If in the read data is a #$FFFF, it does not overwrite that tile
$80/A41A F0 02       BEQ $02       ; [$A41E] Leave out the write command if 
$80/A41C 97 20       STA [$20],y   ; Write into the Tilemap Buffer
$80/A41E E2 20       SEP #$20
$80/A420 E8          INX           ; Increment Read & Write Index
$80/A421 E8          INX
$80/A422 C8          INY
$80/A423 C8          INY
$80/A424 C6 01       DEC $01       ; Decrement column/(=tile) counter
$80/A426 D0 EA       BNE $EA       ; [$A412] Loop if not all tiles in that row are done yet
$80/A428 C2 21       REP #$21      ; 16-bit A + Clear Carry
$80/A42A 68          PLA           ; Pull the starting point of the rectangle's new line from stack
$80/A42B 69 40 00    ADC #$0040    ; Add #$40 - move one line down
$80/A42E A8          TAY           ; Transfer new starting point into Y (so it can be used + Pushed on stack again)
$80/A42F E2 20       SEP #$20
$80/A431 C6 03       DEC $03       ; Decrement Row Counter
$80/A433 D0 D8       BNE $D8       ; [$A40D] Loop if not all rows are done yet
$80/A435 60          RTS

$80/A460 ?

$80/A460 8B          PHB           ; Buffer Data Bank on Stack
$80/A461 4B          PHK           ; Set Data Bank to $80
$80/A462 AB          PLB
$80/A463 22 09 F6 82 JSL $82F609[$82:F609]   A:0002 X:3300 Y:FFFE P:eNvMxdizC
$80/A467 A0 00 07    LDY #$0700              A:1600 X:0800 Y:0000 P:envMxdiZc
$80/A46A 84 0C       STY $0C    [$00:000C]   A:1600 X:0800 Y:0700 P:envMxdizc
$80/A46C A0 00 54    LDY #$5400              A:1600 X:0800 Y:0700 P:envMxdizc
$80/A46F A2 00 E0    LDX #$E000              A:1600 X:0800 Y:5400 P:envMxdizc
$80/A472 A9 7F       LDA #$7F                A:1600 X:E000 Y:5400 P:eNvMxdizc
$80/A474 22 2A A0 80 JSL $80A02A[$80:A02A]   A:167F X:E000 Y:5400 P:envMxdizc
$80/A478 A9 54       LDA #$54                A:E080 X:E000 Y:5400 P:eNvMxdizc
$80/A47A 8D 8B 05    STA $058B  [$80:058B]   A:E054 X:E000 Y:5400 P:envMxdizc
$80/A47D A0 60 B0    LDY #$B060              A:E054 X:E000 Y:5400 P:envMxdizc
$80/A480 8C 00 17    STY $1700  [$80:1700]   A:E054 X:E000 Y:B060 P:eNvMxdizc
$80/A483 A9 08       LDA #$08                A:E054 X:E000 Y:B060 P:eNvMxdizc
$80/A485 04 A2       TSB $A2    [$00:00A2]   A:E008 X:E000 Y:B060 P:envMxdizc
$80/A487 A2 00 00    LDX #$0000              A:E008 X:E000 Y:B060 P:envMxdiZc
$80/A48A 8E 91 05    STX $0591  [$80:0591]   A:E008 X:0000 Y:B060 P:envMxdiZc
$80/A48D 8E 93 05    STX $0593  [$80:0593]   A:E008 X:0000 Y:B060 P:envMxdiZc
$80/A490 AB          PLB           ; Restore Data Bank from Stack
$80/A491 6B          RTL

$80/A492 ?

"This line could be removed?": I'm not sure if it is necessary to change the Data Bank here.

$80/A492 8B          PHB           ; This line could be removed?
$80/A493 4B          PHK           ; This line could be removed?
$80/A494 AB          PLB           ; This line could be removed?
$80/A495 A9 71       LDA #$71      ; BG1 Tilemap at $7000 in VRAM, V-Mirror
$80/A497 8D 8B 05    STA $058B
$80/A49A AE FE 16    LDX $16FE  [$80:16FE]   A:0071 X:3919 Y:0004 P:envMxdizc
$80/A49D 8E 00 17    STX $1700  [$80:1700]   A:0071 X:B020 Y:0004 P:eNvMxdizc
$80/A4A0 A9 08       LDA #$08                A:0071 X:B020 Y:0004 P:eNvMxdizc
$80/A4A2 14 A2       TRB $A2    [$00:00A2]   A:0008 X:B020 Y:0004 P:envMxdizc
$80/A4A4 AE 95 05    LDX $0595     ; Set BG2 X Scroll to BG1 X Scroll
$80/A4A7 8E 91 05    STX $0591
$80/A4AA AE 97 05    LDX $0597     ; Set BG2 Y Scroll to BG1 Y Scroll
$80/A4AD 8E 93 05    STX $0593
$80/A4B0 AB          PLB           ; This line could be removed?
$80/A4B1 6B          RTL

$80/A50F Divide X by A

$80/A50F C9 00 01    CMP #$0100    ; Check if Divisor is actually 8-bit
$80/A512 90 1E       BCC $1E       ; [$A532] Branch if it is
code is missing here
$80/A532 8E 04 42    STX $4204     ; Set X as Dividend
$80/A535 E2 20       SEP #$20      ; A = 8-bit
$80/A537 8D 06 42    STA $4206     ; Set A as Divisor / START CALCULATION
$80/A53A C2 20       REP #$20      ; A = 16-bit
$80/A53C 0B          PHD           ; Waste time till the result is there
$80/A53D 2B          PLD
$80/A53E EA          NOP
$80/A53F EA          NOP
$80/A540 AD 14 42    LDA $4214     ; Load the 16-bit result in A
$80/A543 60          RTS

$80/A544 LONG JUMP: Multiply $00/1 and $04/5

$80/A544 8B          PHB           ; Buffer Data Bank on Stack
$80/A545 4B          PHK           ; Set Data Bank to $80
$80/A546 AB          PLB
$80/A547 20 4C A5    JSR $A54C     ; Multiply $00/1 and $04/5
$80/A54A AB          PLB           ; Restore Data Bank from Stack
$80/A54B 6B          RTL

$80/A54C Multiply $00/1 and $04/5

This multiplies two 16-bit numbers in $00/1 and $04/5. This multiplication is separated in four 8bit by 8bit multiplications:

$00 * $04
$00 * $05
$01 * $04
$01 * $05

The result will be stored $00-3.

X/Y don't get changed, $04/5 don't get changed.

$80/A54C DA          PHX           ; Buffer X on Stack
$80/A54D A5 00       LDA $00       ; Load $00/1 in 16-bit A
$80/A54F E2 20       SEP #$20      ; 8-bit A
$80/A551 8D 02 42    STA $4202     ; Store in Multiplicand Register
$80/A554 A5 04       LDA $04       ; Store $04 in second Multiplicand Register
$80/A556 8D 03 42    STA $4203     ; FIRST MULTIPLICATION: $00 * $04
$80/A559 64 02       STZ $02       ; Clear Result High Bytes
$80/A55B 64 03       STZ $03
$80/A55D A5 05       LDA $05       ; Load $05 (for second Multiplication)
$80/A55F AE 16 42    LDX $4216     ; Load 1st Multiplication 16-bit Result
$80/A562 8D 03 42    STA $4203     ; SECOND MULTIPLICATION: $00 * $05
$80/A565 86 00       STX $00       ; Store first result in the Result Low Byte Registers
$80/A567 EB          XBA           ; Exchange A and B (A contains now the byte from Original $01)
$80/A568 EA          NOP
$80/A569 AE 16 42    LDX $4216     ; Load 2nd Multiplication 16-bit Result
$80/A56C 8D 02 42    STA $4202     ; Store Original $01 in Multiplicand Register
$80/A56F A5 04       LDA $04       ; Store $04 in second Multiplicand Register
$80/A571 8D 03 42    STA $4203     ; THIRD MULTIPLICATION: $01 * $04
$80/A574 C2 21       REP #$21      ; 16-bit A, Clear Carry
$80/A576 8A          TXA           ; Transfer 2nd Result in A
$80/A577 65 01       ADC $01       ; Add it to the 1st Result...
$80/A579 85 01       STA $01       ; ... and store it
$80/A57B E2 20       SEP #$20      ; 8-bit A
$80/A57D A5 05       LDA $05       ; Load $05 for fourth Multiplication
$80/A57F AE 16 42    LDX $4216     ; Load 3rd Multiplication 16-bit Result
$80/A582 8D 03 42    STA $4203     ; FOURTH MULTIPLICATION: $01 * $05
$80/A585 C2 21       REP #$21      ; 16-bit A, Clear Carry
$80/A587 8A          TXA           ; Transfer 3rd Result in A
$80/A588 65 01       ADC $01       ; Add it to the 1st & 2nd Result...
$80/A58A 85 01       STA $01       ; ... and store it
$80/A58C E2 20       SEP #$20      ; 8-bit A
$80/A58E 90 02       BCC $02       ; [$A592] Branch if there was no Carry from the last Addition
Code is missing here
$80/A592 C2 21       REP #$21      ; 16-bit A, Clear Carry
$80/A594 AD 16 42    LDA $4216     ; Load 4th Multiplication 16-bit Result
$80/A597 65 02       ADC $02       ; Add it to the other Results...
$80/A599 85 02       STA $02       ; ... and store it
$80/A59B FA          PLX           ; Restore X from Stack
$80/A59C 60          RTS

$80/A59D Multiply $04-7 and $00-3

This is executed with 16-bit A.

This subroutine multiplies two 32-bit numbers (in $00-$03 and $04-$07) and stores the result in $04-$0B.

It does so by using four times the subroutine that calculates 32-bit results from multiplications of two 16-bit values. These four multiplications of partial values are in this order:

$06/7 * $02/3
$04/5 * $02/3
$06/7 * $00/1
$04/5 * $00/1

It begins with the highest bytes, so it can replace the values in $04-$07.

$80/A59D 8B          PHB           ; Buffer Data Bank Register on Stack
$80/A59E 4B          PHK           ; Set Data Bank Register to $80
$80/A59F AB          PLB
$80/A5A0 DA          PHX           ; Buffer X and Y on Stack
$80/A5A1 5A          PHY
$80/A5A2 D4 00       PEI ($00)     ; Buffer $00/1 on Stack
$80/A5A4 A6 04       LDX $04    [$00:0004]   A:0000 X:000C Y:0001 P:eNvmxdizc
$80/A5A6 A4 06       LDY $06    [$00:0006]   A:0000 X:0003 Y:0001 P:envmxdizc
$80/A5A8 A5 02       LDA $02    [$00:0002]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5AA 85 04       STA $04    [$00:0004]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5AC 84 00       STY $00    [$00:0000]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5AE 20 4C A5    JSR $A54C     ; Multiply $00/1 and $04/5
$80/A5B1 A5 00       LDA $00    [$00:0000]   A:0000 X:0003 Y:0000 P:envmxdizc
$80/A5B3 85 08       STA $08    [$00:0008]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5B5 A5 02       LDA $02    [$00:0002]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5B7 85 0A       STA $0A    [$00:000A]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5B9 86 00       STX $00    [$00:0000]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5BB 20 4C A5    JSR $A54C     ; Multiply $00/1 and $04/5
$80/A5BE A5 00       LDA $00    [$00:0000]   A:0000 X:0003 Y:0000 P:envmxdizc
$80/A5C0 85 06       STA $06    [$00:0006]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5C2 A5 02       LDA $02    [$00:0002]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5C4 18          CLC                     A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5C5 65 08       ADC $08    [$00:0008]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5C7 85 08       STA $08    [$00:0008]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5C9 7B          TDC                     A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5CA 65 0A       ADC $0A    [$00:000A]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5CC 85 0A       STA $0A    [$00:000A]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5CE 68          PLA                     A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5CF 85 04       STA $04    [$00:0004]   A:0009 X:0003 Y:0000 P:envmxdizc
$80/A5D1 84 00       STY $00    [$00:0000]   A:0009 X:0003 Y:0000 P:envmxdizc
$80/A5D3 20 4C A5    JSR $A54C     ; Multiply $00/1 and $04/5
$80/A5D6 A5 00       LDA $00    [$00:0000]   A:0000 X:0003 Y:0000 P:envmxdizc
$80/A5D8 18          CLC                     A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5D9 65 06       ADC $06    [$00:0006]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5DB 85 06       STA $06    [$00:0006]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5DD A5 02       LDA $02    [$00:0002]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5DF 65 08       ADC $08    [$00:0008]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5E1 85 08       STA $08    [$00:0008]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5E3 7B          TDC                     A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5E4 65 0A       ADC $0A    [$00:000A]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5E6 85 0A       STA $0A    [$00:000A]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5E8 86 00       STX $00    [$00:0000]   A:0000 X:0003 Y:0000 P:envmxdiZc
$80/A5EA 20 4C A5    JSR $A54C     ; Multiply $00/1 and $04/5
$80/A5ED A5 00       LDA $00    [$00:0000]   A:0000 X:0000 Y:00B4 P:envmxdiZc
$80/A5EF 85 04       STA $04    [$00:0004]   A:0000 X:0000 Y:00B4 P:envmxdiZc
$80/A5F1 A5 02       LDA $02    [$00:0002]   A:0000 X:0000 Y:00B4 P:envmxdiZc
$80/A5F3 18          CLC                     A:0000 X:0000 Y:00B4 P:envmxdiZc
$80/A5F4 65 06       ADC $06    [$00:0006]   A:0000 X:0000 Y:00B4 P:envmxdiZc
$80/A5F6 85 06       STA $06    [$00:0006]   A:0654 X:0000 Y:00B4 P:envmxdizc
$80/A5F8 7B          TDC                     A:0654 X:0000 Y:00B4 P:envmxdizc
$80/A5F9 65 08       ADC $08    [$00:0008]   A:0000 X:0000 Y:00B4 P:envmxdiZc
$80/A5FB 85 08       STA $08    [$00:0008]   A:0000 X:0000 Y:00B4 P:envmxdiZc
$80/A5FD 7B          TDC                     A:0000 X:0000 Y:00B4 P:envmxdiZc
$80/A5FE 65 0A       ADC $0A    [$00:000A]   A:0000 X:0000 Y:00B4 P:envmxdiZc
$80/A600 85 0A       STA $0A    [$00:000A]   A:0000 X:0000 Y:00B4 P:envmxdiZc
$80/A602 7A          PLY           ; Restore Original X and Y from Stack
$80/A603 FA          PLX
$80/A604 AB          PLB           ; Restore Data Bank Register from Stack
$80/A605 60          RTS

$80/A606 ?

$80/A606 8B          PHB           ; Buffer Data Bank Register on Stack
$80/A607 4B          PHK           ; Set Data Bank Register to $80
$80/A608 AB          PLB
$80/A609 20 0E A6    JSR $A60E     ; ???
$80/A60C AB          PLB           ; Restore Data Bank Register from Stack
$80/A60D 6B          RTL

$80/A60E ?

Notes to crack the use of this subroutine:

This has a case decider at its beginning

I think $08 and $00 contain a flag value in the beginning, and it might be that $00 is a start value and $08 is the end value?

$80/A60E A5 08       LDA $08    [$00:0008]   A:00C0 X:000C Y:0001 P:envmxdizc
$80/A610 F0 36       BEQ $36    [$A648]      A:00C0 X:000C Y:0001 P:envmxdizc
$80/A612 A5 02       LDA $02    [$00:0002]   A:00C0 X:000C Y:0001 P:envmxdizc
$80/A614 D0 0E       BNE $0E    [$A624]      A:0060 X:000C Y:0001 P:envmxdizc
$80/A616 A5 00       LDA $00    [$00:0000]   A:0000 X:3300 Y:0014 P:envmxdiZC
$80/A618 F0 38       BEQ $38    [$A652]      A:3600 X:3300 Y:0014 P:envmxdizC

$80/A61A A9 01 00    LDA #$0001    ; Setup loop counters in $04/5 and $06/7
$80/A61D 85 04       STA $04       ; ($04/5 gets ROLed at $80/A642, so: 16 loops)
$80/A61F 64 06       STZ $06       ; ($06/7 gets ROLed at $80/A635, so: 16 loops)
$80/A621 7B          TDC           ; Clear 16-bit A
$80/A622 80 15       BRA $15    [$A639]      A:0000 X:3300 Y:0014 P:envmxdiZC
$80/A624 A9 01 00    LDA #$0001    ; Setup loop counters in $04/5 and $06/7
$80/A627 85 04       STA $04       ; ($04/5 gets ROLed at $80/A642, so: 16 loops)
$80/A629 85 06       STA $06       ; ($06/7 gets ROLed at $80/A635, so: 16 loops)
$80/A62B 7B          TDC           ; Clear 16-bit A
$80/A62C 06 02       ASL $02    [$00:0002]   A:0000 X:000C Y:0001 P:envmxdiZc
$80/A62E 2A          ROL A                   A:0000 X:000C Y:0001 P:envmxdizc
$80/A62F C5 08       CMP $08    [$00:0008]   A:0000 X:000C Y:0001 P:envmxdiZc
$80/A631 90 02       BCC $02    [$A635]      A:0000 X:000C Y:0001 P:eNvmxdizc
Code is missing here
$80/A635 26 06       ROL $06    [$00:0006]   A:0000 X:000C Y:0001 P:eNvmxdizc
$80/A637 90 F3       BCC $F3    [$A62C]      A:0000 X:000C Y:0001 P:envmxdizc
$80/A639 06 00       ASL $00    [$00:0000]   A:0060 X:000C Y:0001 P:envmxdiZC
$80/A63B 2A          ROL A                   A:0060 X:000C Y:0001 P:envmxdiZc
$80/A63C C5 08       CMP $08    [$00:0008]   A:00C0 X:000C Y:0001 P:envmxdizc
$80/A63E 90 02       BCC $02    [$A642]      A:00C0 X:000C Y:0001 P:envmxdiZC
$80/A640 E5 08       SBC $08    [$00:0008]   A:00C0 X:000C Y:0001 P:envmxdiZC
$80/A642 26 04       ROL $04       ; ROL Loop counter
$80/A644 90 F3       BCC $F3       ; [$A639] Loop if Exit-Flag was not ROLed out of $04/05
$80/A646 80 0F       BRA $0F       ; [$A657] Else, exit
Code is missing here
$80/A652 64 04       STZ $04    [$00:0004]   A:0000 X:0000 Y:001C P:envmxdiZc
$80/A654 64 06       STZ $06    [$00:0006]   A:0000 X:0000 Y:001C P:envmxdiZc
$80/A656 7B          TDC                     A:0000 X:0000 Y:001C P:envmxdiZc
$80/A657 60          RTS

$80/A65C ?

$80/A65C DA          PHX                     A:0140 X:0000 Y:0000 P:envmxdizC
$80/A65D 5A          PHY                     A:0140 X:0000 Y:0000 P:envmxdizC
$80/A65E A9 01 00    LDA #$0001              A:0140 X:0000 Y:0000 P:envmxdizC
$80/A661 85 10       STA $10    [$00:0010]   A:0001 X:0000 Y:0000 P:envmxdizC
$80/A663 85 12       STA $12    [$00:0012]   A:0001 X:0000 Y:0000 P:envmxdizC
$80/A665 85 14       STA $14    [$00:0014]   A:0001 X:0000 Y:0000 P:envmxdizC
$80/A667 85 16       STA $16    [$00:0016]   A:0001 X:0000 Y:0000 P:envmxdizC
$80/A669 A0 00 00    LDY #$0000              A:0001 X:0000 Y:0000 P:envmxdizC
$80/A66C 06 06       ASL $06    [$00:0006]   A:0001 X:0000 Y:0000 P:envmxdiZC
$80/A66E 98          TYA                     A:0001 X:0000 Y:0000 P:envmxdiZc
$80/A66F 2A          ROL A                   A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A670 A8          TAY                     A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A671 38          SEC                     A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A672 E5 08       SBC $08    [$00:0008]   A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A674 AA          TAX                     A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A675 7B          TDC                     A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A676 E5 0A       SBC $0A    [$00:000A]   A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A678 90 01       BCC $01    [$A67B]      A:FEC0 X:0000 Y:0000 P:eNvmxdizc
code is missing here
$80/A67B 26 16       ROL $16    [$00:0016]   A:FEC0 X:0000 Y:0000 P:eNvmxdizc
$80/A67D 90 ED       BCC $ED    [$A66C]      A:FEC0 X:0000 Y:0000 P:envmxdizc
$80/A67F 06 04       ASL $04    [$00:0004]   A:FEC0 X:0000 Y:0000 P:envmxdiZC
$80/A681 98          TYA                     A:FEC0 X:0000 Y:0000 P:envmxdizc
$80/A682 2A          ROL A                   A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A683 A8          TAY                     A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A684 26 06       ROL $06    [$00:0006]   A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A686 38          SEC                     A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A687 E5 08       SBC $08    [$00:0008]   A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A689 AA          TAX                     A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A68A A5 06       LDA $06    [$00:0006]   A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A68C E5 0A       SBC $0A    [$00:000A]   A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A68E 90 03       BCC $03    [$A693]      A:FEC0 X:0000 Y:0000 P:eNvmxdizc
code is missing here
$80/A693 26 14       ROL $14    [$00:0014]   A:FEC0 X:0000 Y:0000 P:eNvmxdizc
$80/A695 90 E8       BCC $E8    [$A67F]      A:FEC0 X:0000 Y:0000 P:envmxdizc
$80/A697 06 02       ASL $02    [$00:0002]   A:FEC0 X:0030 Y:0030 P:envmxdiZC
$80/A699 98          TYA                     A:FEC0 X:0030 Y:0030 P:envmxdiZc
$80/A69A 2A          ROL A                   A:0030 X:0030 Y:0030 P:envmxdizc
$80/A69B A8          TAY                     A:0060 X:0030 Y:0030 P:envmxdizc
$80/A69C 26 06       ROL $06    [$00:0006]   A:0060 X:0030 Y:0060 P:envmxdizc
$80/A69E 38          SEC                     A:0060 X:0030 Y:0060 P:envmxdiZc
$80/A69F E5 08       SBC $08    [$00:0008]   A:0060 X:0030 Y:0060 P:envmxdiZC
$80/A6A1 AA          TAX                     A:0060 X:0030 Y:0060 P:envmxdizC
$80/A6A2 A5 06       LDA $06    [$00:0006]   A:0060 X:0060 Y:0060 P:envmxdizC
$80/A6A4 E5 0A       SBC $0A    [$00:000A]   A:0000 X:0060 Y:0060 P:envmxdiZC
$80/A6A6 90 03       BCC $03    [$A6AB]      A:FEC0 X:0060 Y:0060 P:eNvmxdizc
$80/A6A8 85 06       STA $06    [$00:0006]   A:0180 X:0000 Y:0000 P:envmxdizC
$80/A6AA 9B          TXY                     A:0180 X:0000 Y:0000 P:envmxdizC
$80/A6AB 26 12       ROL $12    [$00:0012]   A:FEC0 X:0060 Y:0060 P:eNvmxdizc
$80/A6AD 90 E8       BCC $E8    [$A697]      A:FEC0 X:0060 Y:0060 P:envmxdizc
$80/A6AF 06 00       ASL $00    [$00:0000]   A:FEF0 X:0000 Y:0000 P:envmxdiZC
$80/A6B1 98          TYA                     A:FEF0 X:0000 Y:0000 P:envmxdiZc
$80/A6B2 2A          ROL A                   A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A6B3 A8          TAY                     A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A6B4 26 06       ROL $06    [$00:0006]   A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A6B6 38          SEC                     A:0000 X:0000 Y:0000 P:envmxdizc
$80/A6B7 E5 08       SBC $08    [$00:0008]   A:0000 X:0000 Y:0000 P:envmxdizC
$80/A6B9 AA          TAX                     A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A6BA A5 06       LDA $06    [$00:0006]   A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A6BC E5 0A       SBC $0A    [$00:000A]   A:0060 X:0000 Y:0000 P:envmxdizC
$80/A6BE 90 03       BCC $03    [$A6C3]      A:FF20 X:0000 Y:0000 P:eNvmxdizc
$80/A6C0 85 06       STA $06    [$00:0006]   A:0040 X:0000 Y:0000 P:envmxdizC
$80/A6C2 9B          TXY                     A:0040 X:0000 Y:0000 P:envmxdizC
$80/A6C3 26 10       ROL $10    [$00:0010]   A:FF20 X:0000 Y:0000 P:eNvmxdizc
$80/A6C5 90 E8       BCC $E8    [$A6AF]      A:FF20 X:0000 Y:0000 P:envmxdizc
$80/A6C7 7A          PLY                     A:FF40 X:0000 Y:0000 P:envmxdizC
$80/A6C8 FA          PLX                     A:FF40 X:0000 Y:0000 P:envmxdiZC
$80/A6C9 60          RTS                     A:FF40 X:0000 Y:0000 P:envmxdiZC

$80/A787 ?

$80/A787 A0 00 00    LDY #$0000              A:0000 X:000C Y:0000 P:envmxdiZC
$80/A78A A5 02       LDA $02    [$00:0002]   A:0000 X:000C Y:0000 P:envmxdiZC
$80/A78C 10 0C       BPL $0C    [$A79A]      A:00C0 X:000C Y:0000 P:envmxdizC
$80/A78E 7B          TDC                     A:FFFF X:0004 Y:0000 P:eNvmxdizc
$80/A78F 38          SEC                     A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A790 E5 00       SBC $00    [$00:0000]   A:0000 X:0004 Y:0000 P:envmxdiZC
$80/A792 85 00       STA $00    [$00:0000]   A:0012 X:0004 Y:0000 P:envmxdizc
$80/A794 7B          TDC                     A:0012 X:0004 Y:0000 P:envmxdizc
$80/A795 E5 02       SBC $02    [$00:0002]   A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A797 85 02       STA $02    [$00:0002]   A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A799 C8          INY                     A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A79A A5 06       LDA $06    [$00:0006]   A:00C0 X:000C Y:0000 P:envmxdizC
$80/A79C 10 0C       BPL $0C    [$A7AA]      A:0000 X:000C Y:0000 P:envmxdiZC
$80/A79E 7B          TDC                     A:FFFF X:0008 Y:0000 P:eNvmxdizc
$80/A79F 38          SEC                     A:0000 X:0008 Y:0000 P:envmxdiZc
$80/A7A0 E5 04       SBC $04    [$00:0004]   A:0000 X:0008 Y:0000 P:envmxdiZC
$80/A7A2 85 04       STA $04    [$00:0004]   A:0009 X:0008 Y:0000 P:envmxdizc
$80/A7A4 7B          TDC                     A:0009 X:0008 Y:0000 P:envmxdizc
$80/A7A5 E5 06       SBC $06    [$00:0006]   A:0000 X:0008 Y:0000 P:envmxdiZc
$80/A7A7 85 06       STA $06    [$00:0006]   A:0000 X:0008 Y:0000 P:envmxdiZc
$80/A7A9 C8          INY                     A:0000 X:0008 Y:0000 P:envmxdiZc
$80/A7AA 20 9D A5    JSR $A59D  [$80:A59D]   A:0000 X:000C Y:0000 P:envmxdiZC
$80/A7AD 98          TYA                     A:0000 X:000C Y:0000 P:envmxdizc
$80/A7AE 4A          LSR A                   A:0000 X:000C Y:0000 P:envmxdiZc
$80/A7AF 90 14       BCC $14    [$A7C5]      A:0000 X:000C Y:0000 P:envmxdiZc
$80/A7B1 7B          TDC                     A:0000 X:0008 Y:0001 P:envmxdiZC
$80/A7B2 E5 04       SBC $04    [$00:0004]   A:0000 X:0008 Y:0001 P:envmxdiZC
$80/A7B4 85 04       STA $04    [$00:0004]   A:0000 X:0008 Y:0001 P:envmxdiZC
$80/A7B6 7B          TDC                     A:0000 X:0008 Y:0001 P:envmxdiZC
$80/A7B7 E5 06       SBC $06    [$00:0006]   A:0000 X:0008 Y:0001 P:envmxdiZC
$80/A7B9 85 06       STA $06    [$00:0006]   A:FB80 X:0008 Y:0001 P:eNvmxdizc
$80/A7BB 7B          TDC                     A:FB80 X:0008 Y:0001 P:eNvmxdizc
$80/A7BC E5 08       SBC $08    [$00:0008]   A:0000 X:0008 Y:0001 P:envmxdiZc
$80/A7BE 85 08       STA $08    [$00:0008]   A:FFFF X:0008 Y:0001 P:eNvmxdizc
$80/A7C0 7B          TDC                     A:FFFF X:0008 Y:0001 P:eNvmxdizc
$80/A7C1 E5 0A       SBC $0A    [$00:000A]   A:0000 X:0008 Y:0001 P:envmxdiZc
$80/A7C3 85 0A       STA $0A    [$00:000A]   A:FFFF X:0008 Y:0001 P:eNvmxdizc
$80/A7C5 6B          RTL                     A:0000 X:000C Y:0000 P:envmxdiZc

$80/A7C6 ?

$80/A7C6 A0 00 00    LDY #$0000              A:0030 X:0000 Y:FFFE P:envmxdizC
$80/A7C9 A5 06       LDA $06    [$00:0006]   A:0030 X:0000 Y:0000 P:envmxdiZC
$80/A7CB 10 16       BPL $16    [$A7E3]      A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A7CD 7B          TDC                     A:FFFF X:0008 Y:0000 P:eNvmxdizc
$80/A7CE 38          SEC                     A:0000 X:0008 Y:0000 P:envmxdiZc
$80/A7CF E5 00       SBC $00    [$00:0000]   A:0000 X:0008 Y:0000 P:envmxdiZC
$80/A7D1 85 00       STA $00    [$00:0000]   A:0000 X:0008 Y:0000 P:envmxdiZC
$80/A7D3 7B          TDC                     A:0000 X:0008 Y:0000 P:envmxdiZC
$80/A7D4 E5 02       SBC $02    [$00:0002]   A:0000 X:0008 Y:0000 P:envmxdiZC
$80/A7D6 85 02       STA $02    [$00:0002]   A:0000 X:0008 Y:0000 P:envmxdiZC
$80/A7D8 7B          TDC                     A:0000 X:0008 Y:0000 P:envmxdiZC
$80/A7D9 E5 04       SBC $04    [$00:0004]   A:0000 X:0008 Y:0000 P:envmxdiZC
$80/A7DB 85 04       STA $04    [$00:0004]   A:0030 X:0008 Y:0000 P:envmxdizc
$80/A7DD 7B          TDC                     A:0030 X:0008 Y:0000 P:envmxdizc
$80/A7DE E5 06       SBC $06    [$00:0006]   A:0000 X:0008 Y:0000 P:envmxdiZc
$80/A7E0 85 06       STA $06    [$00:0006]   A:0000 X:0008 Y:0000 P:envmxdiZc
$80/A7E2 C8          INY                     A:0000 X:0008 Y:0000 P:envmxdiZc
$80/A7E3 A5 0A       LDA $0A    [$00:000A]   A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A7E5 10 0C       BPL $0C    [$A7F3]      A:0140 X:0000 Y:0000 P:envmxdizC
$80/A7F3 20 5C A6    JSR $A65C  [$80:A65C]   A:0140 X:0000 Y:0000 P:envmxdizC
$80/A7F6 98          TYA                     A:FF40 X:0000 Y:0000 P:envmxdiZC
$80/A7F7 4A          LSR A                   A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A7F8 90 14       BCC $14    [$A80E]      A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A7FA 7B          TDC                     A:0000 X:0008 Y:0001 P:envmxdiZC
$80/A7FB E5 10       SBC $10    [$00:0010]   A:0000 X:0008 Y:0001 P:envmxdiZC
$80/A7FD 85 10       STA $10    [$00:0010]   A:A000 X:0008 Y:0001 P:eNvmxdizc
$80/A7FF 7B          TDC                     A:A000 X:0008 Y:0001 P:eNvmxdizc
$80/A800 E5 12       SBC $12    [$00:0012]   A:0000 X:0008 Y:0001 P:envmxdiZc
$80/A802 85 12       STA $12    [$00:0012]   A:FFFF X:0008 Y:0001 P:eNvmxdizc
$80/A804 7B          TDC                     A:FFFF X:0008 Y:0001 P:eNvmxdizc
$80/A805 E5 14       SBC $14    [$00:0014]   A:0000 X:0008 Y:0001 P:envmxdiZc
$80/A807 85 14       STA $14    [$00:0014]   A:FFFF X:0008 Y:0001 P:eNvmxdizc
$80/A809 7B          TDC                     A:FFFF X:0008 Y:0001 P:eNvmxdizc
$80/A80A E5 16       SBC $16    [$00:0016]   A:0000 X:0008 Y:0001 P:envmxdiZc
$80/A80C 85 16       STA $16    [$00:0016]   A:FFFF X:0008 Y:0001 P:eNvmxdizc
$80/A80E 6B          RTL                     A:0000 X:0000 Y:0000 P:envmxdiZc

$80/A80F ?

$80/A80F 5A          PHY                     A:0140 X:0000 Y:0000 P:envmxdizC
$80/A810 A0 00 00    LDY #$0000              A:0140 X:0000 Y:0000 P:envmxdizC
$80/A813 A5 02       LDA $02    [$00:0002]   A:0140 X:0000 Y:0000 P:envmxdiZC
$80/A815 10 0C       BPL $0C    [$A823]      A:0030 X:0000 Y:0000 P:envmxdizC
code is missing here
$80/A823 A5 08       LDA $08    [$00:0008]   A:0030 X:0000 Y:0000 P:envmxdizC
$80/A825 10 07       BPL $07    [$A82E]      A:0140 X:0000 Y:0000 P:envmxdizC
$80/A82E 20 0E A6    JSR $A60E  [$80:A60E]   A:0140 X:0000 Y:0000 P:envmxdizC
$80/A831 98          TYA                     A:0080 X:0000 Y:0000 P:envmxdizC
$80/A832 4A          LSR A                   A:0000 X:0000 Y:0000 P:envmxdiZC
$80/A833 90 0A       BCC $0A    [$A83F]      A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A83F 7A          PLY                     A:0000 X:0000 Y:0000 P:envmxdiZc
$80/A840 6B          RTL                     A:0000 X:0000 Y:0000 P:envmxdiZc

$80/A86F ?

$80/A86F 8B          PHB           ; Buffer Data Bank Register on Stack
$80/A870 4B          PHK           ; Set Data Bank to $80
$80/A871 AB          PLB
$80/A872 DA          PHX           ; Buffer X on Stack
$80/A873 D4 00       PEI ($00)     ; Buffer $00-3 on Stack
$80/A875 D4 02       PEI ($02)
$80/A877 20 4C A5    JSR $A54C     ; Multiply $00/1 and $04/5
$80/A87A 20 0E A6    JSR $A60E  [$80:A60E]   A:0000 X:1758 Y:000A P:envmxdizc
$80/A87D FA          PLX           ; Restore Buffered Values of $00-3
$80/A87E 86 02       STX $02
$80/A880 FA          PLX
$80/A881 86 00       STX $00
$80/A883 FA          PLX           ; Restore Buffered Value of X
$80/A884 AB          PLB           ; Restore Data Bank
$80/A885 6B          RTL

$80/A886 ?

This is executed with 16-bit A.

$80/A886 A0 00 00    LDY #$0000              A:00C0 X:000C Y:000C P:envmxdizc
$80/A889 A5 02       LDA $02        ; $00-3 contain a number that gets multiplied
$80/A88B 10 0C       BPL $0C        ; [$A899] Check if MSB is set (negative number?)
$80/A88D 7B          TDC                     A:FFFF X:0004 Y:0000 P:eNvmxdizC
$80/A88E 38          SEC                     A:0000 X:0004 Y:0000 P:envmxdiZC
$80/A88F E5 00       SBC $00    [$00:0000]   A:0000 X:0004 Y:0000 P:envmxdiZC
$80/A891 85 00       STA $00    [$00:0000]   A:0012 X:0004 Y:0000 P:envmxdizc
$80/A893 7B          TDC                     A:0012 X:0004 Y:0000 P:envmxdizc
$80/A894 E5 02       SBC $02    [$00:0002]   A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A896 85 02       STA $02    [$00:0002]   A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A898 C8          INY                     A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A899 A5 06       LDA $06        ; $04-7 contain a number that gets multiplied
$80/A89B 10 0C       BPL $0C        ; [$A8A9] Check if MSB is set (negative number?)
$80/A89D 7B          TDC                     A:FFFF X:0004 Y:0000 P:eNvmxdizc
$80/A89E 38          SEC                     A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A89F E5 04       SBC $04    [$00:0004]   A:0000 X:0004 Y:0000 P:envmxdiZC
$80/A8A1 85 04       STA $04    [$00:0004]   A:2666 X:0004 Y:0000 P:envmxdizc
$80/A8A3 7B          TDC                     A:2666 X:0004 Y:0000 P:envmxdizc
$80/A8A4 E5 06       SBC $06    [$00:0006]   A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A8A6 85 06       STA $06    [$00:0006]   A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A8A8 C8          INY                     A:0000 X:0004 Y:0000 P:envmxdiZc
$80/A8A9 A5 0A       LDA $0A    [$00:000A]   A:00B8 X:000C Y:0000 P:envmxdizc
$80/A8AB 10 0C       BPL $0C    [$A8B9]      A:00C0 X:000C Y:0000 P:envmxdizc
Code is missing here
$80/A8B9 D4 08       PEI ($08)     ; Buffer $08-$0B
$80/A8BB D4 0A       PEI ($0A)
$80/A8BD 20 9D A5    JSR $A59D     ; Multiply $04-7 and $00-3
$80/A8C0 A5 04       LDA $04       ; Transfer the 64-bit Multiplication Result from $04-B to $00-7
$80/A8C2 85 00       STA $00
$80/A8C4 A5 06       LDA $06
$80/A8C6 85 02       STA $02
$80/A8C8 A5 08       LDA $08
$80/A8CA 85 04       STA $04
$80/A8CC A5 0A       LDA $0A
$80/A8CE 85 06       STA $06
$80/A8D0 68          PLA           ; Restore $08-$0B
$80/A8D1 85 0A       STA $0A
$80/A8D3 68          PLA
$80/A8D4 85 08       STA $08
$80/A8D6 20 5C A6    JSR $A65C  [$80:A65C]   A:0000 X:000C Y:0000 P:envmxdiZc
$80/A8D9 98          TYA                     A:FF94 X:000C Y:0000 P:envmxdizC
$80/A8DA 4A          LSR A                   A:0000 X:000C Y:0000 P:envmxdiZC
$80/A8DB 90 0A       BCC $0A    [$A8E7]      A:0000 X:000C Y:0000 P:envmxdiZc
$80/A8DD 7B          TDC                     A:0000 X:0004 Y:0001 P:envmxdiZC
$80/A8DE E5 10       SBC $10    [$00:0010]   A:0000 X:0004 Y:0001 P:envmxdiZC
$80/A8E0 85 10       STA $10    [$00:0010]   A:F430 X:0004 Y:0001 P:eNvmxdizc
$80/A8E2 7B          TDC                     A:F430 X:0004 Y:0001 P:eNvmxdizc
$80/A8E3 E5 12       SBC $12    [$00:0012]   A:0000 X:0004 Y:0001 P:envmxdiZc
$80/A8E5 85 12       STA $12    [$00:0012]   A:FFFF X:0004 Y:0001 P:eNvmxdizc
$80/A8E7 6B          RTL                     A:0000 X:000C Y:0000 P:envmxdiZc

$80/A8F0 Calculate the Square Number of A

The Result will be in A; A will contain a 16-bit result, but the Status Register Flags will be set for an 8-bit Accumulator.

$80/A8F0 8D 02 42    STA $4202     ; Store A as the first Multiplicand...
$80/A8F3 8D 03 42    STA $4203     ; ... and as the second one, too
$80/A8F6 EA          NOP           ; Wait for the multiplication result
$80/A8F7 EA          NOP
$80/A8F8 EA          NOP
$80/A8F9 C2 20       REP #$20      ; A = 16 bit
$80/A8FB AD 16 42    LDA $4216     ; Load the Result in A
$80/A8FE E2 20       SEP #$20      ; A = 8 bit again
$80/A900 60          RTS

$80/A901 Calculate the Square Number of 16-bit A

This subroutine calculates the Square Number of the 16-bit value in A. If A contains a really big value, the result could easily be outmax the 16-bit storage of A, so this subroutine does three calculations (Low Byte * Low Byte, High Byte * Low Byte * 2, High Byte * High Byte) and fits this all together to one big 32-bit number in registers $00-$03.

$80/A901 8B          PHB           ; Buffer Data Bank on Stack
$80/A902 4B          PHK           ; Set Data Bank to $80
$80/A903 AB          PLB
$80/A904 DA          PHX           ; Buffer X on Stack
$80/A905 E2 20       SEP #$20      ; 8-bit A
$80/A907 8D 02 42    STA $4202     ; Calculate the Square Number of A's Low Byte
$80/A90A 8D 03 42    STA $4203
$80/A90D 64 02       STZ $02       ; Clear $02/03
$80/A90F 64 03       STZ $03
$80/A911 EB          XBA           ; exchange the 8-bits in A
$80/A912 AE 16 42    LDX $4216     ; $00 = (A's Low Byte)²
$80/A915 86 00       STX $00
$80/A917 8D 03 42    STA $4203     ; Multiply the Original A High Byte with the Low byte
$80/A91A AA          TAX           ; X = A's High Byte
$80/A91B C2 20       REP #$20      ; 16-bit A
$80/A91D AD 16 42    LDA $4216     ; Load the Result of High Byte * Low Byte
$80/A920 0A          ASL A         ; Multiply it by two
$80/A921 08          PHP           ; Buffer Status Register (i. e. the possibly Set Carry of the ASL A)
$80/A922 18          CLC           ; Clear Carry for upcoming Addition
$80/A923 65 01       ADC $01       ; Add the High Byte of the Result of (A's Low Byte)²
$80/A925 85 01       STA $01       ; Store the result in $01/2
$80/A927 7B          TDC           ; Clear A
$80/A928 2A          ROL A         ; Clear Carry
$80/A929 28          PLP           ; Restore Status Register (and possibly set carry)
$80/A92A E2 20       SEP #$20      ; 8-bit A
$80/A92C 69 00       ADC #$00      ; Transfer the Carry in A, if it was set
$80/A92E 85 03       STA $03       ; Store it in $03
$80/A930 8A          TXA           ; A = Original High Byte
$80/A931 8D 02 42    STA $4202     ; (Original High Byte)²
$80/A934 8D 03 42    STA $4203
$80/A937 FA          PLX           ; Restore Original X
$80/A938 C2 21       REP #$21      ; 16-bit A, Clear Carry
$80/A93A A5 02       LDA $02       ; Load the Highest two Byte of the 32-bit Result
$80/A93C 6D 16 42    ADC $4216     ; Add the Multiplication Result = (Original High Byte)²
$80/A93F 85 02       STA $02       ; Store Result
$80/A941 AB          PLB           ; Restore Data Bank
$80/A942 6B          RTL

$80/ABA9 ?

$80/ABA9 8B          PHB           ; Buffer Data Bank on Stack
$80/ABAA 4B          PHK           ; Set Data Bank to $80
$80/ABAB AB          PLB
$80/ABAC DA          PHX           ; Buffer X and Y on Stack
$80/ABAD 5A          PHY
$80/ABAE D4 00       PEI ($00)     ; Buffer $00-7 on Stack
$80/ABB0 D4 02       PEI ($02)
$80/ABB2 D4 04       PEI ($04)
$80/ABB4 D4 06       PEI ($06)
$80/ABB6 C9 02 00    CMP #$0002              A:0024 X:003C Y:0000 P:eNvmxdizc
$80/ABB9 90 31       BCC $31       ; [$ABEC] Exit if less than #$0002
$80/ABBB 48          PHA                     A:0024 X:003C Y:0000 P:envmxdizC
$80/ABBC A0 FC FF    LDY #$FFFC              A:0024 X:003C Y:0000 P:envmxdizC
$80/ABBF 80 03       BRA $03    [$ABC4]      A:0024 X:003C Y:FFFC P:eNvmxdizC
$80/ABC1 4A          LSR A                   A:0392 X:3300 Y:FFFC P:envmxdizC
$80/ABC2 4A          LSR A                   A:01C9 X:3300 Y:FFFC P:envmxdizc
$80/ABC3 C8          INY                     A:00E4 X:3300 Y:FFFC P:envmxdizC
$80/ABC4 C9 00 01    CMP #$0100              A:0024 X:003C Y:FFFC P:eNvmxdizC
$80/ABC7 B0 F8       BCS $F8    [$ABC1]      A:0024 X:003C Y:FFFC P:eNvmxdizc
$80/ABC9 1A          INC A                   A:0024 X:003C Y:FFFC P:eNvmxdizc
$80/ABCA 0A          ASL A                   A:0025 X:003C Y:FFFC P:envmxdizc
$80/ABCB AA          TAX                     A:004A X:003C Y:FFFC P:envmxdizc
$80/ABCC BD A7 A9    LDA $A9A7,x[$80:A9F1]   A:004A X:004A Y:FFFC P:envmxdizc
$80/ABCF C0 00 00    CPY #$0000              A:6152 X:004A Y:FFFC P:envmxdizc
$80/ABD2 F0 04       BEQ $04    [$ABD8]      A:6152 X:004A Y:FFFC P:eNvmxdizC
$80/ABD4 4A          LSR A                   A:6152 X:004A Y:FFFC P:eNvmxdizC
$80/ABD5 C8          INY                     A:30A9 X:004A Y:FFFC P:envmxdizc
$80/ABD6 D0 FC       BNE $FC    [$ABD4]      A:30A9 X:004A Y:FFFD P:eNvmxdizc
$80/ABD8 EB          XBA                     A:0615 X:004A Y:0000 P:envmxdiZc
$80/ABD9 29 FF 00    AND #$00FF              A:1506 X:004A Y:0000 P:envmxdizc
$80/ABDC FA          PLX                     A:0006 X:004A Y:0000 P:envmxdizc
$80/ABDD 85 06       STA $06    [$00:0006]   A:0006 X:0024 Y:0000 P:envmxdizc
$80/ABDF 20 0F A5    JSR $A50F     ; Divide X by A, Result is in A
$80/ABE2 18          CLC                     A:0006 X:0024 Y:0000 P:envmxdizc
$80/ABE3 65 06       ADC $06    [$00:0006]   A:0006 X:0024 Y:0000 P:envmxdizc
$80/ABE5 4A          LSR A                   A:000C X:0024 Y:0000 P:envmxdizc
$80/ABE6 C5 06       CMP $06    [$00:0006]   A:0006 X:0024 Y:0000 P:envmxdizc
$80/ABE8 90 F3       BCC $F3    [$ABDD]      A:0006 X:0024 Y:0000 P:envmxdiZC
$80/ABEA A5 06       LDA $06    [$00:0006]   A:0006 X:0024 Y:0000 P:envmxdiZC
$80/ABEC 7A          PLY           ; Restore Buffered values of $00-7
$80/ABED 84 06       STY $06
$80/ABEF 7A          PLY
$80/ABF0 84 04       STY $04
$80/ABF2 7A          PLY
$80/ABF3 84 02       STY $02
$80/ABF5 7A          PLY
$80/ABF6 84 00       STY $00
$80/ABF8 7A          PLY           ; Restore Buffered Y
$80/ABF9 FA          PLX           ; Restore Buffered Y
$80/ABFA AB          PLB           ; Restore Data Bank
$80/ABFB 6B          RTL

$80/ABFC ?

$80/ABFC A5 02       LDA $02    [$00:0002]   A:0000 X:3300 Y:0002 P:envmxdiZC
$80/ABFE D0 05       BNE $05    [$AC05]      A:0000 X:3300 Y:0002 P:envmxdiZC
$80/AC00 A5 00       LDA $00    [$00:0000]   A:0000 X:3300 Y:0002 P:envmxdiZC
$80/AC02 4C A9 AB    JMP $ABA9  [$80:ABA9]   A:001A X:3300 Y:0002 P:envmxdizC
code is missing here

$80/AD39 RNG?

$80/AD39 DA          PHX                     A:0004 X:0004 Y:000A P:envMxdizc
$80/AD3A 5A          PHY                     A:0004 X:0004 Y:000A P:envMxdizc
$80/AD3B 08          PHP                     A:0004 X:0004 Y:000A P:envMxdizc
$80/AD3C E2 11       SEP #$11                A:0004 X:0004 Y:000A P:envMxdizc
$80/AD3E AE 11 12    LDX $1211  [$80:1211]   A:0004 X:0004 Y:000A P:envMXdizC
$80/AD41 AC 10 12    LDY $1210  [$80:1210]   A:0004 X:0018 Y:000A P:envMXdizC
$80/AD44 BD 12 12    LDA $1212,x[$80:122A]   A:0004 X:0018 Y:0030 P:envMXdizC
$80/AD47 F9 12 12    SBC $1212,y[$80:1242]   A:00A4 X:0018 Y:0030 P:eNvMXdizC
$80/AD4A 99 12 12    STA $1212,y[$80:1242]   A:0015 X:0018 Y:0030 P:envMXdizC
$80/AD4D E8          INX                     A:0015 X:0018 Y:0030 P:envMXdizC
$80/AD4E E0 37       CPX #$37                A:0015 X:0019 Y:0030 P:envMXdizC
$80/AD50 D0 02       BNE $02    [$AD54]      A:0015 X:0019 Y:0030 P:eNvMXdizc
$80/AD54 8E 11 12    STX $1211  [$80:1211]   A:0015 X:0019 Y:0030 P:eNvMXdizc
$80/AD57 C8          INY                     A:0015 X:0019 Y:0030 P:eNvMXdizc
$80/AD58 C0 37       CPY #$37                A:0015 X:0019 Y:0031 P:envMXdizc
$80/AD5A D0 02       BNE $02    [$AD5E]      A:0015 X:0019 Y:0031 P:eNvMXdizc
$80/AD5E 8C 10 12    STY $1210  [$80:1210]   A:0015 X:0019 Y:0031 P:eNvMXdizc
$80/AD61 28          PLP                     A:0015 X:0019 Y:0031 P:eNvMXdizc
$80/AD62 7A          PLY                     A:0015 X:0019 Y:0031 P:envMxdizc
$80/AD63 FA          PLX                     A:0015 X:0019 Y:000A P:envMxdizc
$80/AD64 60          RTS                     A:0015 X:0004 Y:000A P:envMxdizc

$80/ADCB Calculate Address in Tilemap

This seems to be about calculation of an Address in a Tilemap. You put the number of a tile's row number in A and the columns number in X, and it calculates the actual offset for it. The mathmatical formula is:

New A and New X = Old A * #$40 + Old X

$80/ADCB DA          PHX           ; Push the Column number on stack for now
$80/ADCC C2 20       REP #$20      ; Make Accumuleta great again
$80/ADCE 29 FF 00    AND #$00FF    ; Remove whatever was still in the hidden 8-bit of the Accumulator
$80/ADD1 EB          XBA           ; A * #$40 (sixty-four)
$80/ADD2 4A          LSR A
$80/ADD3 4A          LSR A
$80/ADD4 63 01       ADC $01,s     ; Add Column number (that is on stack)
$80/ADD6 FA          PLX           ; Remove Column number from stack (not needed any more)
$80/ADD7 AA          TAX           ; Replace it with the calculation's result
$80/ADD8 E2 20       SEP #$20
$80/ADDA 6B          RTL

$80/AEF2 Load Music?

Replacing the A5 59 ("LDA $59") at $AF03 with A9 10 ("LDA #$10"), this loaded a different song in the Title Demo and other scenes in the game.

$80/AEF2 8B          PHB                     A:000D X:905F Y:000D P:envMxdizc
$80/AEF3 4B          PHK                     A:000D X:905F Y:000D P:envMxdizc
$80/AEF4 AB          PLB                     A:000D X:905F Y:000D P:envMxdizc
$80/AEF5 85 59       STA $59    [$00:0059]   A:000D X:905F Y:000D P:eNvMxdizc
$80/AEF7 20 4C AF    JSR $AF4C  [$80:AF4C]   A:000D X:905F Y:000D P:eNvMxdizc
$80/AEFA 90 07       BCC $07    [$AF03]      A:000D X:905F Y:000D P:envMxdizc
code is missing here
$80/AF03 A5 59       LDA $59    [$00:0059]   A:000D X:905F Y:000D P:envMxdizc
$80/AF05 F0 0B       BEQ $0B    [$AF12]      A:000D X:905F Y:000D P:envMxdizc
$80/AF07 22 03 80 8F JSL $8F8003[$8F:8003]   A:000D X:905F Y:000D P:envMxdizc
$80/AF0B A9 01       LDA #$01                A:0002 X:33CC Y:D686 P:envMxdizc
$80/AF0D 85 F5       STA $F5    [$00:00F5]   A:0001 X:33CC Y:D686 P:envMxdizc
$80/AF0F 20 30 AF    JSR $AF30  [$80:AF30]   A:0001 X:33CC Y:D686 P:envMxdizc
$80/AF12 AB          PLB                     A:0000 X:33CC Y:D686 P:envMxdiZc
$80/AF13 6B          RTL                     A:0000 X:33CC Y:D686 P:envMxdizc

$80/AF14 Load Music?

$80/AF14 8B          PHB           ; Buffer Data Bank on Stack
$80/AF15 A9 FF       LDA #$FF                A:0000 X:05DD Y:0004 P:eNvMxdIzc
$80/AF17 85 F5       STA $F5    [$00:00F5]   A:00FF X:05DD Y:0004 P:eNvMxdIzc
$80/AF19 20 30 AF    JSR $AF30  [$80:AF30]   A:00FF X:05DD Y:0004 P:eNvMxdIzc
$80/AF1C A9 21       LDA #$21                A:0000 X:05DD Y:0004 P:envMxdIZc
$80/AF1E 22 03 80 8F JSL $8F8003[$8F:8003]   A:0021 X:05DD Y:0004 P:envMxdIzc
$80/AF22 A9 FF       LDA #$FF                A:0002 X:33CC Y:9E7A P:envMxdIzc
$80/AF24 85 59       STA $59    [$00:0059]   A:00FF X:33CC Y:9E7A P:eNvMxdIzc
$80/AF26 AB          PLB           ; Restore Data Bank from Stack
$80/AF27 6B          RTL

$80/AF28 Load Music?

$80/AF28 8B          PHB           ; Buffer Data Bank on Stack
$80/AF29 4B          PHK           ; Set Data Bank to $80
$80/AF2A AB          PLB
$80/AF2B 20 30 AF    JSR $AF30  [$80:AF30]   A:A1F8 X:05DD Y:0004 P:eNvMxdIzc
$80/AF2E AB          PLB           ; Restore Data Bank from Stack
$80/AF2F 6B          RTL

$80/AF30 Load Music?

$80/AF30 AD AF 05    LDA $05AF     ; (Is VBlank NMI enabled?)
$80/AF33 30 0A       BMI $0A       ; [$AF3F] Branch if it is
$80/AF35 22 0C 80 8F JSL $8F800C[$8F:800C]   A:A100 X:05DD Y:0004 P:envMxdIZc
$80/AF39 A5 F5       LDA $F5    [$00:00F5]   A:0000 X:05DD Y:0004 P:envMxdIZc
$80/AF3B D0 F8       BNE $F8    [$AF35]      A:00F8 X:05DD Y:0004 P:eNvMxdIzc
$80/AF3D 80 04       BRA $04       ; [$AF43] Exit
code is missing here
$80/AF43 60          RTS

$80/AF7E Actual NMI Handler

$80/AF7E C2 30       REP #$30      ; A/X/Y = 16 bit (to make sure everything is put on stack)
$80/AF80 48          PHA
$80/AF81 8B          PHB
$80/AF82 0B          PHD
$80/AF83 DA          PHX
$80/AF84 5A          PHY
$80/AF85 4B          PHK
$80/AF86 AB          PLB
$80/AF87 A9 00 00    LDA #$0000
$80/AF8A 5B          TCD
$80/AF8B E2 20       SEP #$20
$80/AF8D AD 10 42    LDA $4210     ; Remove NMI Flag
$80/AF90 A9 80       LDA #$80
$80/AF92 8D 00 21    STA $2100     ; FBLANK
$80/AF95 AD BD 05    LDA $05BD     ; ???
$80/AF98 10 03       BPL $03       ; ???
$80/AF9A 4C D2 B0    JMP $B0D2     ; ???
$80/AF9D 20 C2 B2    JSR $B2C2     ; ???

OAM Update

$80/AFA0 AD B0 05    LDA $05B0     ; Transfer HDMA Flags
$80/AFA3 8D 86 05    STA $0586
$80/AFA6 9C 0C 42    STZ $420C     ; Deactivate HDMAs
$80/AFA9 AD 40 05    LDA $0540     ; If $0540 is empty, don't update OAM?
$80/AFAC F0 29       BEQ $29       ; [$AFD7]
$80/AFAE A2 00 00    LDX #$0000    ; OAM Address
$80/AFB1 8E 02 21    STX $2102
$80/AFB4 9C 04 43    STZ $4304     ; Source Bank: $00
$80/AFB7 AE 45 05    LDX $0545
$80/AFBA 8E 02 43    STX $4302     ; Source Address: $0545
$80/AFBD A9 04       LDA #$04      ; DMA Destination: $2104 (OAM)
$80/AFBF 8D 01 43    STA $4301
$80/AFC2 A2 20 02    LDX #$0220    ; Transfer $220 Bytes - both OAM Tables
$80/AFC5 8E 05 43    STX $4305
$80/AFC8 A9 00       LDA #$00      ; DMA Transfer settings
$80/AFCA 8D 00 43    STA $4300
$80/AFCD A9 01       LDA #$01      ; Activate DMA
$80/AFCF 8D 0B 42    STA $420B
$80/AFD2 9C 40 05    STZ $0540     ; Clear OAM Update Flag
$80/AFD5 80 03       BRA $03       ; [$AFDA] --- ???
$80/AFD7 20 01 B1    JSR $B101     ; ???
$80/AFDA 20 35 B1    JSR $B135     ; ???
$80/AFDD 20 D8 B3    JSR $B3D8     ; CGRAM Update
$80/AFE0 20 2B B3    JSR $B32B     ; VRAM DMA Pipeline
$80/AFE3 20 7B B3    JSR $B37B     ; VRAM Read DMA
$80/AFE6 AD 86 05    LDA $0586     ; Reactivate HDMAs
$80/AFE9 8D 0C 42    STA $420C
$80/AFEC 20 6D B2    JSR $B26D     ; Update Graphic Setup Registers
$80/AFEF AD 6A 05    LDA $056A     ; Load the (old) Screen Settings
$80/AFF2 2C 12 42    BIT $4212     ; Wait for the next HBLANK to end
$80/AFF5 70 FB       BVS $FB       ; [$AFF2]
$80/AFF7 2C 12 42    BIT $4212
$80/AFFA 50 FB       BVC $FB       ; [$AFF7]
$80/AFFC 8D 00 21    STA $2100     ; Update Screen brightness
$80/AFFF 20 0B B4    JSR $B40B     ; Joypad Data Fetching
$80/B002 22 61 80 88 JSL $888061   ; ???
$80/B006 22 00 80 88 JSL $888000   ; ???
$80/B00A 22 18 81 88 JSL $888118   ; ???
$80/B00E AD BA 05    LDA $05BA
$80/B011 F0 04       BEQ $04       ; [$B017]
code is missing here
$80/B017 AE BB 05    LDX $05BB
$80/B01A F0 04       BEQ $04       ; [$B020]
code is missing here
$80/B020 20 40 B2    JSR $B240     ; ???
$80/B023 22 73 81 88 JSL $888173   ; ???
$80/B027 A6 32       LDX $32       ; ???
$80/B029 86 34       STX $34       ; ???
$80/B02B AE F0 05    LDX $05F0     ; Update V Timer - At which Scan Line an IRQ should come
$80/B02E 8E 09 42    STX $4209
$80/B031 AD 11 42    LDA $4211     ; Load (and remove) IRQ Flag
$80/B034 AD AF 05    LDA $05AF     ; Update NMI/IRQ/Auto-Joypad Flags
$80/B037 8D 00 42    STA $4200
$80/B03A EE B9 05    INC $05B9     ; ??? (Frame counter!? Flag register?)
$80/B03D AD BD 05    LDA $05BD     ; ??? (Check Flag register?)
$80/B040 89 C0       BIT #$C0      ; ??? (If bit 6 is set, CGRAM needs an update; bit 7 yet unknown)
$80/B042 D0 1C       BNE $1C       ; [$B060]
$80/B044 AD 38 00    LDA $0038     ; ???
$80/B047 F0 17       BEQ $17       ; [$B060]
code is missing here
$80/B060 A5 37       LDA $37    [$00:0037]   A:0000 X:00DB Y:0000 P:envMxdIZc
$80/B062 F0 62       BEQ $62    [$B0C6]      A:0003 X:00DB Y:0000 P:envMxdIzc
$80/B064 AD BD 05    LDA $05BD  [$80:05BD]   A:0003 X:00DB Y:0000 P:envMxdIzc
$80/B067 89 40       BIT #$40                A:0000 X:00DB Y:0000 P:envMxdIZc
$80/B069 D0 5B       BNE $5B    [$B0C6]      A:0000 X:00DB Y:0000 P:envMxdIZc
$80/B06B D4 00       PEI ($00)     ; Buffer $00-$0F and $20-$2B on stack
$80/B06D D4 02       PEI ($02)
$80/B06F D4 04       PEI ($04)
$80/B071 D4 06       PEI ($06)
$80/B073 D4 08       PEI ($08)
$80/B075 D4 0A       PEI ($0A)
$80/B077 D4 0C       PEI ($0C)
$80/B079 D4 0E       PEI ($0E)
$80/B07B D4 20       PEI ($20)
$80/B07D D4 22       PEI ($22)
$80/B07F D4 24       PEI ($24)
$80/B081 D4 26       PEI ($26)
$80/B083 D4 28       PEI ($28)
$80/B085 D4 2A       PEI ($2A)
$80/B087 58          CLI           ; Activate Interrupts
$80/B088 A5 37       LDA $37    [$00:0037]   A:0000 X:00DB Y:0000 P:envMxdiZc
$80/B08A 89 01       BIT #$01
$80/B08C F0 04       BEQ $04       ; [$B092] Don't do Figure Animation if Bit 0 is clear
$80/B08E 22 5F 80 84 JSL $84805F   ; Do the Tile/Figure Animation
$80/B092 A5 37       LDA $37    [$00:0037]   A:0007 X:0004 Y:001C P:eNvMxdizc
$80/B094 89 02       BIT #$02                A:0003 X:0004 Y:001C P:envMxdizc
$80/B096 F0 04       BEQ $04    [$B09C]      A:0003 X:0004 Y:001C P:envMxdizc
$80/B098 22 00 80 85 JSL $858000[$85:8000]   A:0003 X:0004 Y:001C P:envMxdizc
$80/B09C FA          PLX           ; Restore $00-$0F and $20-$2B from stack
$80/B09D 86 2A       STX $2A
$80/B09F FA          PLX
$80/B0A0 86 28       STX $28
$80/B0A2 FA          PLX
$80/B0A3 86 26       STX $26
$80/B0A5 FA          PLX
$80/B0A6 86 24       STX $24
$80/B0A8 FA          PLX
$80/B0A9 86 22       STX $22
$80/B0AB FA          PLX
$80/B0AC 86 20       STX $20
$80/B0AE FA          PLX
$80/B0AF 86 0E       STX $0E
$80/B0B1 FA          PLX
$80/B0B2 86 0C       STX $0C
$80/B0B4 FA          PLX
$80/B0B5 86 0A       STX $0A
$80/B0B7 FA          PLX
$80/B0B8 86 08       STX $08
$80/B0BA FA          PLX
$80/B0BB 86 06       STX $06
$80/B0BD FA          PLX
$80/B0BE 86 04       STX $04
$80/B0C0 FA          PLX
$80/B0C1 86 02       STX $02
$80/B0C3 FA          PLX
$80/B0C4 86 00       STX $00
$80/B0C6 22 0C 80 8F JSL $8F800C   ; ??? Sound related
$80/B0CA C2 30       REP #$30      ; Restore everything from Stack
$80/B0CC 7A          PLY
$80/B0CD FA          PLX
$80/B0CE 2B          PLD
$80/B0CF AB          PLB
$80/B0D0 68          PLA
$80/B0D1 40          RTI           ; End Interrupt Handler

$80/B0D2 ?

$80/B0D2 20 C2 B2    JSR $B2C2     : Do Animation VRAM DMAs
$80/B0D5 AD 86 05    LDA $0586     ; Activate HDMA
$80/B0D8 8D 0C 42    STA $420C
$80/B0DB 20 01 B1    JSR $B101  [$80:B101]   A:0006 X:E0A4 Y:BE79 P:envMxdIzC
$80/B0DE 20 6D B2    JSR $B26D     ; Update Graphic Setup Registers
$80/B0E1 AD 6A 05    LDA $056A     ; Load $2100 Buffer
$80/B0E4 2C 12 42    BIT $4212     ; Wait for HBLANK Period flag to be set
$80/B0E7 70 FB       BVS $FB       ; [$B0E4]
$80/B0E9 2C 12 42    BIT $4212     ; Wait for HBLANK Period flag to be cleared
$80/B0EC 50 FB       BVC $FB       ; [$B0E9]
$80/B0EE 8D 00 21    STA $2100     ; Turn the Screen on
$80/B0F1 A5 A1       LDA $A1    [$00:00A1]   A:000F X:0581 Y:0008 P:eNVMxdIzC
$80/B0F3 89 01       BIT #$01                A:0000 X:0581 Y:0008 P:enVMxdIZC
$80/B0F5 F0 07       BEQ $07    [$B0FE]      A:0000 X:0581 Y:0008 P:enVMxdIZC

Code is missing here

$80/B0FE 4C 27 B0    JMP $B027  [$80:B027]   A:0000 X:0581 Y:0008 P:enVMxdIZC

$80/B101 ?

$80/B101 A5 37       LDA $37    [$00:0037]   A:00F2 X:26C0 Y:002E P:eNvMxdIzC
$80/B103 89 02       BIT #$02                A:0003 X:26C0 Y:002E P:envMxdIzC
$80/B105 F0 2D       BEQ $2D    [$B134]      A:0003 X:26C0 Y:002E P:envMxdIzC
$80/B107 A2 00 00    LDX #$0000    ; Set OAM Address to #$0000
$80/B10A 8E 02 21    STX $2102
$80/B10D 9C 04 43    STZ $4304  [$80:4304]   A:0003 X:0000 Y:002E P:envMxdIZC
$80/B110 AD B9 05    LDA $05B9  [$80:05B9]   A:0003 X:0000 Y:002E P:envMxdIZC
$80/B113 4A          LSR A                   A:00A5 X:0000 Y:002E P:eNvMxdIzC
$80/B114 A2 00 01    LDX #$0100              A:0052 X:0000 Y:002E P:envMxdIzC
$80/B117 90 03       BCC $03    [$B11C]      A:0052 X:0100 Y:002E P:envMxdIzC
$80/B119 A2 20 03    LDX #$0320              A:0052 X:0100 Y:002E P:envMxdIzC
$80/B11C 8E 02 43    STX $4302  [$80:4302]   A:0052 X:0320 Y:002E P:envMxdIzC
$80/B11F A9 04       LDA #$04      ; DMA Destination: OAM --- $(21)04
$80/B121 8D 01 43    STA $4301
$80/B124 A2 40 00    LDX #$0040    ; Transfer #$40 Byte
$80/B127 8E 05 43    STX $4305
$80/B12A A9 00       LDA #$00                A:0004 X:0040 Y:002E P:envMxdIzC
$80/B12C 8D 00 43    STA $4300  [$80:4300]   A:0000 X:0040 Y:002E P:envMxdIZC
$80/B12F A9 01       LDA #$01      ; ACTIVATE DMA
$80/B131 8D 0B 42    STA $420B
$80/B134 60          RTS

$80/B135 Update Graphics Settings Buffer Registers

I'm not sure, but it looks like you can buffer values for the screen settings in buffer registers, so that they get transfered in the next frame to their destination. Because this seems to be the subroutine that makes these values step up in queue.

$80/B135 AE 91 05    LDX $0591     ; Update $210D Buffer
$80/B138 8E 71 05    STX $0571
$80/B13B AE 93 05    LDX $0593     ; Update $210E Buffer
$80/B13E 8E 73 05    STX $0573
$80/B141 AE 95 05    LDX $0595     ; Update $210F Buffer
$80/B144 8E 75 05    STX $0575
$80/B147 AE 97 05    LDX $0597     ; Update $2110 Buffer
$80/B14A 8E 77 05    STX $0577
$80/B14D AE 99 05    LDX $0599     ; Update $2111 Buffer
$80/B150 8E 79 05    STX $0579
$80/B153 AE 9B 05    LDX $059B     ; Update $2112 Buffer
$80/B156 8E 7B 05    STX $057B
$80/B159 AE 9D 05    LDX $059D     ; Update $2113 Buffer
$80/B15C 8E 7D 05    STX $057D
$80/B15F AE 9F 05    LDX $059F     ; Update $2114 Buffer
$80/B162 8E 7F 05    STX $057F
$80/B165 AE 8B 05    LDX $058B     ; Update $2107/8 Buffer
$80/B168 8E 6D 05    STX $056D
$80/B16B AE 8D 05    LDX $058D     ; Update $2109/A Buffer
$80/B16E 8E 6F 05    STX $056F
$80/B171 AD 87 05    LDA $0587     ; Update $2100 Buffer
$80/B174 8D 6A 05    STA $056A
$80/B177 AD 89 05    LDA $0589     ; Update $2105 Buffer
$80/B17A 8D 6B 05    STA $056B
$80/B17D AD 88 05    LDA $0588     ; Update $2101 Buffer
$80/B180 8D 6C 05    STA $056C
$80/B183 AE AC 05    LDX $05AC     ; Update $2132 Buffer - R?/G?
$80/B186 8E 83 05    STX $0583
$80/B189 AD AE 05    LDA $05AE     ; Update $2132 Buffer - V?
$80/B18C 8D 85 05    STA $0585
$80/B18F AD AA 05    LDA $05AA     ; Update $2130 Buffer
$80/B192 8D 81 05    STA $0581
$80/B195 AD AB 05    LDA $05AB     ; ???
$80/B198 8D 82 05    STA $0582     ; ???
$80/B19B AE EE 05    LDX $05EE     ; Update $4209/A Buffer
$80/B19E 8E F0 05    STX $05F0
$80/B1A1 AD 8A 05    LDA $058A     ; Update $2106
$80/B1A4 8D 06 21    STA $2106
$80/B1A7 AD 5F 17    LDA $175F     ; Is the flag for a HDMA Window Mask set?
$80/B1AA F0 43       BEQ $43       ; [$B1EF] Branch if not
$80/B1AC AD 60 17    LDA $1760     ; Set HDMA Parameters (Direction, Addr Mode, Step)
$80/B1AF 8D 40 43    STA $4340
$80/B1B2 A9 26       LDA #$26      ; I/O-Bus Address: $2126 Window 1 Position
$80/B1B4 8D 41 43    STA $4341
$80/B1B7 A9 7E       LDA #$7E
$80/B1B9 8D 44 43    STA $4344     ; HDMA Table Start Address on Bank $7E
$80/B1BC 8D 47 43    STA $4347     ; Indirect HDMA Address on Bank $7E
$80/B1BF AE 61 17    LDX $1761     ; HDMA Start Address
$80/B1C2 8E 42 43    STX $4342
$80/B1C5 AD A1 05    LDA $05A1     ; Window BG1/2 Mask Settings
$80/B1C8 8D 23 21    STA $2123
$80/B1CB AD A2 05    LDA $05A2     ; Window BG3/4 Mask Settings
$80/B1CE 8D 24 21    STA $2124
$80/B1D1 AD A3 05    LDA $05A3     ; Window OBJ/MATH Mask Settings
$80/B1D4 8D 25 21    STA $2125
$80/B1D7 AD A4 05    LDA $05A4     ; Window 1/2 Mask Logic for BG1-4
$80/B1DA 8D 2A 21    STA $212A
$80/B1DD AD A5 05    LDA $05A5     ; Window 1/2 Mask Logic for OBJ/MATH
$80/B1E0 8D 2B 21    STA $212B
$80/B1E3 AD A8 05    LDA $05A8     ; Window Area Main Screen Disable
$80/B1E6 8D 2E 21    STA $212E
$80/B1E9 AD A9 05    LDA $05A9     ; Window Area Sub Screen Disable
$80/B1EC 8D 2F 21    STA $212F
$80/B1EF AD FB 16    LDA $16FB  [$80:16FB]   A:0000 X:00DC Y:0000 P:envMxdIZC
$80/B1F2 F0 18       BEQ $18    [$B20C]      A:0055 X:00DC Y:0000 P:envMxdIzC
$80/B1F4 AE FC 16    LDX $16FC  [$80:16FC]   A:0055 X:00DC Y:0000 P:envMxdIzC
$80/B1F7 8E 72 43    STX $4372  [$80:4372]   A:0055 X:5555 Y:0000 P:envMxdIzC
$80/B1FA AE 02 17    LDX $1702  [$80:1702]   A:0055 X:5555 Y:0000 P:envMxdIzC
$80/B1FD 8E 12 43    STX $4312  [$80:4312]   A:0055 X:5555 Y:0000 P:envMxdIzC
$80/B200 AE FE 16    LDX $16FE  [$80:16FE]   A:0055 X:5555 Y:0000 P:envMxdIzC
$80/B203 8E 62 43    STX $4362  [$80:4362]   A:0055 X:5555 Y:0000 P:envMxdIzC
$80/B206 AE 00 17    LDX $1700  [$80:1700]   A:0055 X:5555 Y:0000 P:envMxdIzC
$80/B209 8E 52 43    STX $4352  [$80:4352]   A:0055 X:5555 Y:0000 P:envMxdIzC
$80/B20C AF 87 BE 7E LDA $7EBE87[$7E:BE87]   A:0055 X:5555 Y:0000 P:envMxdIzC
$80/B210 10 29       BPL $29    [$B23B]      A:0000 X:5555 Y:0000 P:envMxdIZC
$80/B212 29 7F       AND #$7F                A:0081 X:00DB Y:003A P:eNvMxdIzC
$80/B214 8F 87 BE 7E STA $7EBE87[$7E:BE87]   A:0001 X:00DB Y:003A P:envMxdIzC
$80/B218 C2 20       REP #$20                A:0001 X:00DB Y:003A P:envMxdIzC
$80/B21A AF 84 BE 7E LDA $7EBE84[$7E:BE84]   A:0001 X:00DB Y:003A P:envmxdIzC
$80/B21E C9 8A BE    CMP #$BE8A              A:BE8A X:00DB Y:003A P:eNvmxdIzC
$80/B221 F0 05       BEQ $05    [$B228]      A:BE8A X:00DB Y:003A P:envmxdIZC
$80/B228 A9 A4 BE    LDA #$BEA4              A:BE8A X:00DB Y:003A P:envmxdIZC
$80/B22B 8F 84 BE 7E STA $7EBE84[$7E:BE84]   A:BEA4 X:00DB Y:003A P:eNvmxdIzC
$80/B22F 8D 32 43    STA $4332  [$80:4332]   A:BEA4 X:00DB Y:003A P:eNvmxdIzC
$80/B232 18          CLC                     A:BEA4 X:00DB Y:003A P:eNvmxdIzC
$80/B233 69 0D 00    ADC #$000D              A:BEA4 X:00DB Y:003A P:eNvmxdIzc
$80/B236 8D 22 43    STA $4322  [$80:4322]   A:BEB1 X:00DB Y:003A P:eNvmxdIzc
$80/B239 E2 20       SEP #$20                A:BEB1 X:00DB Y:003A P:eNvmxdIzc
$80/B23B A5 36       LDA $36    [$00:0036]   A:0000 X:5555 Y:0000 P:envMxdIZC
$80/B23D 85 37       STA $37    [$00:0037]   A:0000 X:5555 Y:0000 P:envMxdIZC
$80/B23F 60          RTS

$80/B240 ? Change up HDMA Window Mask HDMA Table Address

I guess there are only two options here where this subroutine alternates between both, that is: HDMA Table Start Address at $7E/B100 and $7E/B120.

$80/B240 AD 5F 17    LDA $175F     ; Is the flag for a HDMA Window Mask set?
$80/B243 F0 11       BEQ $11       ; [$B256] Branch if not
$80/B245 9C 5F 17    STZ $175F     ; Clear HDMA Window Mask flag
$80/B248 A0 00 B1    LDY #$B100    ; Is the Window Mask - HDMA Table Start Address $(7E/)B100?
$80/B24B CC 61 17    CPY $1761
$80/B24E D0 03       BNE $03       ; [$B253] If not, branch and set it to $B100
$80/B250 A0 20 B1    LDY #$B120    ; If it was, set it to $B120
$80/B253 8C 61 17    STY $1761
$80/B256 AD FB 16    LDA $16FB  [$80:16FB]   A:0000 X:0000 Y:0000 P:enVMxdIZc
$80/B259 F0 11       BEQ $11       ; [$B26C] Exit if empty
$80/B25B 9C FB 16    STZ $16FB  [$80:16FB]   A:0002 X:0000 Y:0000 P:enVMxdIzc
$80/B25E A2 00 B0    LDX #$B000              A:0002 X:0000 Y:0000 P:enVMxdIzc
$80/B261 EC FC 16    CPX $16FC  [$80:16FC]   A:0002 X:B000 Y:0000 P:eNVMxdIzc
$80/B264 D0 03       BNE $03    [$B269]      A:0002 X:B000 Y:0000 P:enVMxdIZC
$80/B266 A2 10 B0    LDX #$B010              A:0002 X:B000 Y:0000 P:enVMxdIZC
$80/B269 8E FC 16    STX $16FC  [$80:16FC]   A:0002 X:B010 Y:0000 P:eNVMxdIzC
$80/B26C 60          RTS

$80/B26D Update Graphic Setup Registers

$80/B26D AD 6B 05    LDA $056B     ; BG Mode
$80/B270 8D 05 21    STA $2105
$80/B273 AD 6C 05    LDA $056C     ; Sprite sizes
$80/B276 8D 01 21    STA $2101
$80/B279 AE A6 05    LDX $05A6     ; Main Screen/Subscreen Destination (16 bit!)
$80/B27C 8E 2C 21    STX $212C
$80/B27F AE 8F 05    LDX $058F     ; BG1-4 Tileset Addresses (16 bit!)
$80/B282 8E 0B 21    STX $210B
$80/B285 AE 6D 05    LDX $056D     ; BG1/2 Tilemap Address
$80/B288 8E 07 21    STX $2107
$80/B28B AE 6F 05    LDX $056F     ; BG3/4 Tilemap Address
$80/B28E 8E 09 21    STX $2109
$80/B291 AE 81 05    LDX $0581     ; Color Addition Select
$80/B294 8E 30 21    STX $2130
$80/B297 AD 85 05    LDA $0585     ; Fixed Color Data
$80/B29A 8D 32 21    STA $2132
$80/B29D AD 84 05    LDA $0584     ; Fixed Color Data
$80/B2A0 8D 32 21    STA $2132
$80/B2A3 AD 83 05    LDA $0583     ; Fixed Color Data
$80/B2A6 8D 32 21    STA $2132
$80/B2A9 A0 00 00    LDY #$0000    ; Update the BG Scroll registers
$80/B2AC A2 71 05    LDX #$0571
$80/B2AF B5 00       LDA $00,x
$80/B2B1 99 0D 21    STA $210D,y
$80/B2B4 B5 01       LDA $01,x
$80/B2B6 99 0D 21    STA $210D,y
$80/B2B9 E8          INX
$80/B2BA E8          INX
$80/B2BB C8          INY
$80/B2BC C0 08 00    CPY #$0008
$80/B2BF D0 EE       BNE $EE       ; [$B2AF]
$80/B2C1 60          RTS

$80/B2C2 Do Animation VRAM DMAs

$11CA seems to be a counter and is an index for $0F49,y, $11C9 is a limit

$80/B2C2 AD CA 11    LDA $11CA     ; Load Number of the first Animation VRAM DMA
$80/B2C5 CD C9 11    CMP $11C9     ; Compare with Number of the last Animation VRAM DMA
$80/B2C8 F0 60       BEQ $60       ; [$B32A] Exit if equal
$80/B2CA AD BD 05    LDA $05BD  [$80:05BD]   A:0002 X:0000 Y:0006 P:eNvMxdIzc
$80/B2CD 30 14       BMI $14    [$B2E3]      A:0080 X:0000 Y:0006 P:eNvMxdIzc
$80/B2CF 7B          TDC           ; Clear 16-bit A
$80/B2D0 AD C7 0E    LDA $0EC7     ; (Load Number of Occupied VRAM DMA-Pipeline Entries?)
$80/B2D3 C2 20       REP #$20      ; 16-bit A
$80/B2D5 EB          XBA           ; $0EC7 * #$04 + $0EC5
$80/B2D6 4A          LSR A
$80/B2D7 4A          LSR A
$80/B2D8 6D C5 0E    ADC $0EC5
$80/B2DB C9 00 05    CMP #$0500    ; Compare if higher or same as #$500 (Sets carry if it is)
$80/B2DE E2 20       SEP #$20      ; 8-bit A
$80/B2E0 7B          TDC           ; Clear 16-bit A
$80/B2E1 B0 47       BCS $47       ; [$B32A] Exit if A was higher or same as #$500
$80/B2E3 A9 01       LDA #$01      ; DMA Transfer Settings
$80/B2E5 8D 00 43    STA $4300
$80/B2E8 A9 18       LDA #$18      ; DMA Destination $(21)18 - VRAM
$80/B2EA 8D 01 43    STA $4301
$80/B2ED A9 80       LDA #$80      ; VRAM Transfer Settings
$80/B2EF 8D 15 21    STA $2115
$80/B2F2 7B          TDC           ; Clear 16-bit A
$80/B2F3 AD CA 11    LDA $11CA     ; Load Number of the first Animation VRAM DMA
$80/B2F6 0A          ASL A         ; Multiply by 2 and use it as Load Index in Y
$80/B2F7 A8          TAY
$80/B2F8 BE 49 0F    LDX $0F49,y   ; Load Animation VRAM DMA Size
$80/B2FB E0 81 00    CPX #$0081
$80/B2FE 90 02       BCC $02       ; [$B302] Branch if smaller than #$0081
Code is missing here
$80/B302 8E 05 43    STX $4305     ; Set as DMA Size
$80/B305 BE 09 10    LDX $1009,y   ; Set Source Destination
$80/B308 8E 02 43    STX $4302
$80/B30B B9 8A 11    LDA $118A,y   ; Set Source Bank
$80/B30E 8D 04 43    STA $4304
$80/B311 BE C9 10    LDX $10C9,y   ; Set VRAM Destination
$80/B314 8E 16 21    STX $2116
$80/B317 A9 01       LDA #$01      ; Activate DMA
$80/B319 8D 0B 42    STA $420B
$80/B31C AD CA 11    LDA $11CA     ; Increment Number of the first Animation VRAM DMA
$80/B31F 1A          INC A
$80/B320 29 1F       AND #$1F      ; Reset to zero if it surpassed #1F (this is a circular buffer)
$80/B322 8D CA 11    STA $11CA
$80/B325 CD C9 11    CMP $11C9     ; Check if the Number of the last Animation VRAM DMA is reached
$80/B328 D0 CC       BNE $CC       ; [$B2F6] Do next Animation VRAM DMA if not
$80/B32A 60          RTS

$80/B32B VRAM DMA Pipeline

$80/B32B AD C7 0E    LDA $0EC7     ; Are there any VRAM DMAs in the pipeline?
$80/B32E F0 44       BEQ $44       ; [$B374] If not, exit
$80/B330 A9 01       LDA #$01      ; DMA Settings
$80/B332 8D 00 43    STA $4300
$80/B335 A9 18       LDA #$18      ; DMA Destination: $2118
$80/B337 8D 01 43    STA $4301
$80/B33A A0 00 00    LDY #$0000
$80/B33D BE C9 0E    LDX $0EC9,y   ; DMA Data Size
$80/B340 8E 05 43    STX $4305
$80/B343 BE 89 0F    LDX $0F89,y   ; DMA Adress
$80/B346 8E 02 43    STX $4302
$80/B349 B9 0A 11    LDA $110A,y   ; DMA Bank
$80/B34C 8D 04 43    STA $4304
$80/B34F B9 09 11    LDA $1109,y   ; VRAM Transfer Setting
$80/B352 8D 15 21    STA $2115
$80/B355 BE 49 10    LDX $1049,y   ; VRAM Destination
$80/B358 8E 16 21    STX $2116
$80/B35B A9 01       LDA #$01      ; Activate DMA
$80/B35D 8D 0B 42    STA $420B
$80/B360 C8          INY           ; Increment Index
$80/B361 C8          INY
$80/B362 CE C7 0E    DEC $0EC7     ; Decrement number of occupied Pipelines entries
$80/B365 D0 D6       BNE $D6       ; [$B33D] Loop until all are done
$80/B367 A2 00 00    LDX #$0000
$80/B36A 8E D6 16    STX $16D6     ; ???
$80/B36D 8E D8 16    STX $16D8     ; ???
$80/B370 A6 5A       LDX $5A       ; ???
$80/B372 86 5C       STX $5C       ; ???
$80/B374 A2 00 00    LDX #$0000    ; ???
$80/B377 8E C5 0E    STX $0EC5     ; ???
$80/B37A 60          RTS

$80/B37B VRAM Read DMA

$80/B37B AD CE 11    LDA $11CE     ; Load Number of VRAM Read DMAs to do
$80/B37E F0 57       BEQ $57       ; [$B3D7] Exit if empty
$80/B380 AD CB 11    LDA $11CB     ; ???
$80/B383 D0 52       BNE $52       ; [$B3D7] Exit if not empty
$80/B385 A9 81       LDA #$81      ; Transfer from Bus B / Write 2 registers write once
$80/B387 8D 00 43    STA $4300
$80/B38A A9 39       LDA #$39      ; Source Address: $(21)39 - VRAM Read Address
$80/B38C 8D 01 43    STA $4301
$80/B38F A9 80       LDA #$80      ; VRAM Transfer Settings: Increment when Reading from $213A
$80/B391 8D 15 21    STA $2115
$80/B394 A9 7F       LDA #$7F      ; Destination Bank: $7F
$80/B396 8D 04 43    STA $4304
$80/B399 A2 00 FC    LDX #$FC00    ; Destination Address: $(7F/)FC00
$80/B39C A0 00 00    LDY #$0000    ; Setup Loop Counter
$80/B39F AD CE 11    LDA $11CE     ; Load Number of VRAM Read DMAs to do
$80/B3A2 48          PHA           ; Push Number of VRAM Read DMAs to do on Stack
$80/B3A3 C2 20       REP #$20      ; 16-bit A
$80/B3A5 B9 F0 11    LDA $11F0,y   ; Set Number of Bytes to transfer
$80/B3A8 8D 05 43    STA $4305
$80/B3AB 8E 02 43    STX $4302     ; Destination Address: $(7F/)FC00
$80/B3AE B9 D0 11    LDA $11D0,y   ; Set VRAM Destination
$80/B3B1 8D 16 21    STA $2116
$80/B3B4 E2 20       SEP #$20      ; 8-bit A
$80/B3B6 F0 08       BEQ $08       ; [$B3C0] Leave out the 
$80/B3B8 AD 3A 21    LDA $213A     ; ???
$80/B3BB A9 01       LDA #$01      ; Activate DMA
$80/B3BD 8D 0B 42    STA $420B
$80/B3C0 68          PLA           ; Pull Number of VRAM Read DMAs to do from Stack
$80/B3C1 3A          DEC A         ; Decrement Number
$80/B3C2 F0 0E       BEQ $0E       ; [$B3D2] Exit if it has reached zero
$80/B3C4 48          PHA           ; If not, push Number of VRAM Read DMAs to do back on Stack
$80/B3C5 C2 21       REP #$21                A:5003 X:FC00 Y:0000 P:envMxdIzc
$80/B3C7 8A          TXA           ; Transfer Store Index in A
$80/B3C8 79 F0 11    ADC $11F0,y   ; Add the number of transfered bytes
$80/B3CB AA          TAX           ; Transfer back in X - Points now to the next empty byte
$80/B3CC E2 20       SEP #$20      ; 8-bit A
$80/B3CE C8          INY           ; Increment Load Index twice
$80/B3CF C8          INY
$80/B3D0 80 D1       BRA $D1       ; [$B3A3] Loop
$80/B3D2 A9 01       LDA #$01      ; ???
$80/B3D4 8D CB 11    STA $11CB     ; ??? Set flag to not do this again automatically
$80/B3D7 60          RTS

$80/B3D8 ?

$80/B3D8 AD BD 05    LDA $05BD     ; ???
$80/B3DB 89 40       BIT #$40      ; ??? If bit 6 in $05BD is set, this forces a CGRAM update
$80/B3DD D0 05       BNE $05       ; [$B3E4]
$80/B3DF AD 49 12    LDA $1249     ; Is "Update CGRAM" Flag set?
$80/B3E2 F0 26       BEQ $26       ; [$B40A] Exit if not
$80/B3E4 9C 21 21    STZ $2121     ; CGRAM Destination: $00
$80/B3E7 A9 22       LDA #$22      ; DMA Destination: $2122 (= CGRAM)
$80/B3E9 8D 01 43    STA $4301
$80/B3EC A2 00 02    LDX #$0200    ; Transfer #$200 Byte
$80/B3EF 8E 05 43    STX $4305
$80/B3F2 A2 4B 12    LDX #$124B    ; Source: $00124B (CGRAM Buffer)
$80/B3F5 8E 02 43    STX $4302
$80/B3F8 A9 00       LDA #$00
$80/B3FA 8D 04 43    STA $4304
$80/B3FD A9 00       LDA #$00      ; DMA Settings
$80/B3FF 8D 00 43    STA $4300
$80/B402 A9 01       LDA #$01      ; Activate DMA
$80/B404 8D 0B 42    STA $420B
$80/B407 9C 49 12    STZ $1249     ; Clear "Update CGRAM" Flag
$80/B40A 60          RTS

$80/B40B Joypad Data Fetching

$80/B40B AD 12 42    LDA $4212     ; Load PPU-Status
$80/B40E 4A          LSR A         ; Move Bit 0 (Auto-Joypad Status) into Carry
$80/B40F B0 FA       BCS $FA       ; [$B40B] Loop until Auto-Joypad Read is done
$80/B411 A0 00 00    LDY #$0000
$80/B414 A2 00 00    LDX #$0000
$80/B417 B9 18 42    LDA $4218,y
$80/B41A 29 0F       AND #$0F
$80/B41C D0 40       BNE $40       ; [$B45E] I think this is a security measure; if this isn't 0, something's wrong
$80/B41E BF 16 40 00 LDA $004016,x ; ???
$80/B422 29 01       AND #$01
$80/B424 F0 38       BEQ $38       ; [$B45E] Another security measure?
$80/B426 BD 47 05    LDA $0547,x   ; ???
$80/B429 F0 1B       BEQ $1B       ; [$B446]
$80/B42B C2 20       REP #$20
$80/B42D B9 49 05    LDA $0549,y   ; Load Joypad Data from the last frame, store it in $0551,y and push it on stack
$80/B430 99 51 05    STA $0551,y
$80/B433 48          PHA
$80/B434 B9 18 42    LDA $4218,y   ; Load Joypad-Input and store it in $0549-054C
$80/B437 99 49 05    STA $0549,y
$80/B43A 68          PLA
$80/B43B 39 49 05    AND $0549,y   ; Calculate, which buttons are held from the last frame, and store them in $054D,y
$80/B43E 59 49 05    EOR $0549,y
$80/B441 99 4D 05    STA $054D,y
$80/B444 80 26       BRA $26       ; [$B46C] Leave out the "other" Fetching method
$80/B446 A9 01       LDA #$01      ; ???
$80/B448 9D 47 05    STA $0547,x
$80/B44B C2 20       REP #$20
$80/B44D B9 18 42    LDA $4218,y   ; Load Joypad-Input and store it in $0549-054C
$80/B450 99 49 05    STA $0549,y
$80/B453 A9 00 00    LDA #$0000    ; 
$80/B456 99 4D 05    STA $054D,y   ; Clear held buttons
$80/B459 99 51 05    STA $0551,y   ; Clear last frame's Joypad input
$80/B45C 80 0E       BRA $0E       ; [$B46C]
$80/B46C E2 20       SEP #$20
$80/B46E A5 F9       LDA $F9       ; ???
$80/B470 30 12       BMI $12       ; [$B484] If $F9 is negative, no Soft Reset is accepted?
$80/B472 C2 20       REP #$20
$80/B474 B9 49 05    LDA $0549,y   ; Check newly fetched Joypad data
$80/B477 C9 30 30    CMP #$3030    ; Is Start, Select, L + R pressed?
$80/B47A D0 08       BNE $08       ; [$B484]

Code is missing here

$80/B484 E2 20       SEP #$20
$80/B486 C8          INY           ; Increment index registers
$80/B487 C8          INY
$80/B488 E8          INX
$80/B489 E0 02 00    CPX #$0002
$80/B48C 90 89       BCC $89       ; [$B417] Repeat this for the second controller
$80/B48E 60          RTS

$80/B4C8 An IRQ-Handler

This is an IRQ Handler. In Battle. With Battle Stats Menu on.

$80/B4C8 E2 20       SEP #$20
$80/B4CA 48          PHA           ; Buffer A value on stack
$80/B4CB AF 11 42 00 LDA $004211   ; Check if the IRQ flag is set
$80/B4CF 10 72       BPL $72       ; [$B543] If not, branch, pull A from Stack and exit
$80/B4D1 8B          PHB           ; Else, buffer the current Program bank and change  it
$80/B4D2 4B          PHK
$80/B4D3 AB          PLB
$80/B4D4 6C 34 00    JMP ($0034)   ; Jump to the IRQ Handler [$80:B4D7]

$80/B4D7 IRQ: Change Screen Settings during HBLANK

A possibility where the IRQ Handler at $80/B4C8 can jump to

$80/B4D7 AD F0 05    LDA $05F0     ; Load $4209 Buffer (V Timer Low Byte)
$80/B4DA C9 DA       CMP #$DA      ; #$DA = 218, so the third to last scan line visible(?)
$80/B4DC B0 4F       BCS $4F       ; [$B52D] Branch if the Timer is set offscreen
$80/B4DE C2 10       REP #$10      ; X/Y = 16-bit
$80/B4E0 DA          PHX           ; Buffer X, Y and Direct Bank on Stack
$80/B4E1 5A          PHY
$80/B4E2 0B          PHD
$80/B4E3 A2 00 21    LDX #$2100    ; This sets the direct bank to $2100, so every two-digit register is a $21xx register!
$80/B4E6 DA          PHX           ; I guess this is done so the HBLANKs are optimally used
$80/B4E7 2B          PLD
$80/B4E8 A9 09       LDA #$09      ; Prepare value so it can be stored right after the HBLANK
$80/B4EA 2C 12 42    BIT $4212     ; V/HBLANK-Flag register
$80/B4ED 70 FB       BVS $FB       ; [$B4EA] Loop until flag is set (HBLANK begins)
$80/B4EF 2C 12 42    BIT $4212
$80/B4F2 50 FB       BVC $FB       ; [$B4EF] Loop until flag is cleared, HBLANK has just ended
$80/B4F4 64 00       STZ $00       ; $2100 - turn down the Brightness
$80/B4F6 85 05       STA $05       ; $2105 - BG mode 1 with priority bit
$80/B4F8 64 31       STZ $31       ; $2131 - Deactivate color math
$80/B4FA A0 07 00    LDY #$0007    ; Load next bunch of values
$80/B4FD A2 38 38    LDX #$3838
$80/B500 A9 34       LDA #$34
$80/B502 2C 12 42    BIT $4212     ; Wait for the next passing of a HBLANK
$80/B505 70 FB       BVS $FB       ; [$B502]
$80/B507 2C 12 42    BIT $4212
$80/B50A 50 FB       BVC $FB       ; [$B507]
$80/B50C 84 2C       STY $2C       ; $212C - BG1/2/3 (No sprites!) on Main Screen, nothing on subscreen
$80/B50E 86 08       STX $08       ; BG2/3 Tilemap at $3800 in VRAM
$80/B510 85 07       STA $07       ; BG1 Tilemap at $3400
$80/B512 A9 02       LDA #$02      ; BG1 Tiles at $2000
$80/B514 85 0B       STA $0B
$80/B516 AD 6A 05    LDA $056A     ; Restore old brightness settings
$80/B519 85 00       STA $00
$80/B51B 2B          PLD           ; Restore old Direct Bank
$80/B51C A2 2D B5    LDX #$B52D    ; Setting up the Address of the IRQ Handler
$80/B51F 86 34       STX $34       ; For the last part, the IRQ Handler now jumps to $80/B52D
$80/B521 A2 DC 00    LDX #$00DC    ; V Timer on #$DC = (#220, the bottom line) - once executed is enough?
$80/B524 8E 09 42    STX $4209
$80/B527 7A          PLY           ; Restore Y, X and Data Bank
$80/B528 FA          PLX
$80/B529 AB          PLB
$80/B52A 4C 43 B5    JMP $B543     ; Pull A from Stack and RTI

$80/B52D 2C 12 42    BIT $4212     ; V/HBLANK-Flag register
$80/B530 70 FB       BVS $FB       ; [$B52D] Loop until flag is set (HBLANK begins)
$80/B532 2C 12 42    BIT $4212
$80/B535 50 FB       BVC $FB       ; [$B532] Loop until flag is cleared, HBLANK has just ended
$80/B537 9C 00 21    STZ $2100     ; No FBLANK, but screen brightness = 0
$80/B53A AD AF 05    LDA $05AF     ; Deactivate(?) HBLANK
$80/B53D 29 CF       AND #$CF
$80/B53F 8D 00 42    STA $4200
$80/B542 AB          PLB           ; Restore Program Bank and A
$80/B543 68          PLA
$80/B544 40          RTI

$80/B545 Long Jump to Clear Graphic Setup Registers

$80/B545 8B          PHB           ; Buffer Program Bank
$80/B546 4B          PHK           ; Set Program Bank to $80
$80/B547 AB          PLB
$80/B548 20 4D B5    JSR $B54D     ; Clear Graphic Setup Registers
$80/B54B AB          PLB           ; Restore Program Bank
$80/B54C 6B          RTL

$80/B54D Clear Graphic Setup Registers

$80/B54D 9C 33 21    STZ $2133
$80/B550 A9 02       LDA #$02      ; 8x8 and 32x32 sprites
$80/B552 8D 01 21    STA $2101
$80/B555 8D 88 05    STA $0588
$80/B558 A9 09       LDA #$09      ; Mode 1, Priority Bit
$80/B55A 8D 05 21    STA $2105
$80/B55D 8D 89 05    STA $0589
$80/B560 A9 71       LDA #$71      ; BG1 Tilemap at $7000 in VRAM, h mirroring
$80/B562 8D 07 21    STA $2107
$80/B565 8D 8B 05    STA $058B
$80/B568 A9 79       LDA #$79      ; BG2 Tilemap at $7000 in VRAM, h/v mirroring
$80/B56A 8D 08 21    STA $2108
$80/B56D 8D 8C 05    STA $058C
$80/B570 A9 3C       LDA #$3C      ; BG3 Tilemap at $3C00 in VRAM
$80/B572 8D 09 21    STA $2109
$80/B575 8D 8D 05    STA $058D
$80/B578 A9 3C       LDA #$3C      ; BG3 Tilemap at $3C00 in VRAM
$80/B57A 8D 0A 21    STA $210A
$80/B57D 8D 8E 05    STA $058E
$80/B580 A9 00       LDA #$00      ; BG1/2 Tiles at $0000 in VRAM
$80/B582 8D 0B 21    STA $210B
$80/B585 8D 8F 05    STA $058F
$80/B588 A9 55       LDA #$55      ; BG3/4 Tiles at $5000 in VRAM
$80/B58A 8D 0C 21    STA $210C
$80/B58D 8D 90 05    STA $0590
$80/B590 A9 17       LDA #$17      ; BG1-3 and Sprites for Main Screen
$80/B592 8D 2C 21    STA $212C
$80/B595 8D A6 05    STA $05A6
$80/B598 A9 04       LDA #$04      ; BG4 for Subscreen
$80/B59A 8D 2D 21    STA $212D
$80/B59D 8D A7 05    STA $05A7
$80/B5A0 9C A8 05    STZ $05A8     ; Window Mask Registers
$80/B5A3 9C 2E 21    STZ $212E
$80/B5A6 9C A9 05    STZ $05A9
$80/B5A9 9C 2F 21    STZ $212F
$80/B5AC A9 02       LDA #$02
$80/B5AE 8D AA 05    STA $05AA     ; $2130 Buffer - Add subscreen
$80/B5B1 A9 23       LDA #$23
$80/B5B3 8D AB 05    STA $05AB     ; ???
$80/B5B6 A9 E0       LDA #$E0
$80/B5B8 8D AC 05    STA $05AC     ; $2132 Buffer?
$80/B5BB 8D AD 05    STA $05AD     ; $2132 Buffer?
$80/B5BE 8D AE 05    STA $05AE     ; $2132 Buffer?
$80/B5C1 9C 8A 05    STZ $058A     ; Clear $2106 (Mosaic Register)
$80/B5C4 60          RTS

$80/B5C5 ?

$80/B5C5 8B          PHB           ; Buffer Program Bank
$80/B5C6 4B          PHK           ; Set Program Bank to $80
$80/B5C7 AB          PLB
$80/B5C8 20 CD B5    JSR $B5CD  [$80:B5CD]   A:0000 X:0000 Y:0000 P:eNvMxdizc

$80/B5CD ?

This is executed when loading a new map. Some reset of settings, as it seems.

$80/B5CD 64 36       STZ $36    [$00:0036]   A:0000 X:0000 Y:0000 P:eNvMxdizc
$80/B5CF 64 37       STZ $37    [$00:0037]   A:0000 X:0000 Y:0000 P:eNvMxdizc
$80/B5D1 64 59       STZ $59    [$00:0059]   A:0000 X:0000 Y:0000 P:eNvMxdizc
$80/B5D3 64 A2       STZ $A2    [$00:00A2]   A:0000 X:0000 Y:0000 P:eNvMxdizc
$80/B5D5 64 A1       STZ $A1    [$00:00A1]   A:0000 X:0000 Y:0000 P:eNvMxdizc
$80/B5D7 64 ED       STZ $ED    [$00:00ED]   A:0000 X:0000 Y:0000 P:eNvMxdizc
$80/B5D9 64 8E       STZ $8E    [$00:008E]   A:0000 X:0000 Y:0000 P:eNvMxdizc
$80/B5DB A2 FF FF    LDX #$FFFF              A:0000 X:0000 Y:0000 P:eNvMxdizc
$80/B5DE 86 8F       STX $8F    [$00:008F]   A:0000 X:FFFF Y:0000 P:eNvMxdizc
$80/B5E0 A2 DC 00    LDX #$00DC    ; Set V-Count Timer to #220 (off screen)
$80/B5E3 8E EE 05    STX $05EE     ; Set ($4209/A Buffer for next frame?)
$80/B5E6 8E F0 05    STX $05F0     ; Set $4209/A Buffer
$80/B5E9 9C B9 05    STZ $05B9     ; Clear (Frame Counter?)
$80/B5EC 9C BA 05    STZ $05BA  [$80:05BA]   A:0000 X:00DC Y:0000 P:envMxdizc
$80/B5EF 9C BE 05    STZ $05BE  [$80:05BE]   A:0000 X:00DC Y:0000 P:envMxdizc
$80/B5F2 9C BF 05    STZ $05BF     ; Clear Main Jump Table Index
$80/B5F5 9C C0 05    STZ $05C0     ; Clear (another Jump Table Index
$80/B5F8 9C C1 05    STZ $05C1  [$80:05C1]   A:0000 X:00DC Y:0000 P:envMxdizc
$80/B5FB 9C 49 12    STZ $1249     ; Remove Flag for CGRAM Update
$80/B5FE A9 00       LDA #$00                A:0000 X:00DC Y:0000 P:envMxdizc
$80/B600 8F 87 BE 7E STA $7EBE87[$7E:BE87]   A:0000 X:00DC Y:0000 P:envMxdiZc
$80/B604 A9 08       LDA #$08                A:0000 X:00DC Y:0000 P:envMxdiZc
$80/B606 85 67       STA $67    [$00:0067]   A:0008 X:00DC Y:0000 P:envMxdizc
$80/B608 22 36 E8 81 JSL $81E836[$81:E836]   A:0008 X:00DC Y:0000 P:envMxdizc
$80/B60C 22 49 E8 81 JSL $81E849[$81:E849]   A:0008 X:FFFF Y:0000 P:eNvMxdizc
$80/B610 22 C8 8A 81 JSL $818AC8[$81:8AC8]   A:0010 X:00FF Y:00FF P:envMxdiZc
$80/B614 9C CB 11    STZ $11CB  [$80:11CB]   A:00B8 X:0001 Y:00FF P:eNvMxdiZc
$80/B617 9C 69 05    STZ $0569  [$80:0569]   A:00B8 X:0001 Y:00FF P:eNvMxdiZc
$80/B61A C2 20       REP #$20                A:00B8 X:0001 Y:00FF P:eNvMxdiZc
$80/B61C 9C CE 11    STZ $11CE     ; Set number of VRAM Read DMAs to zero
$80/B61F 9C 47 05    STZ $0547  [$80:0547]   A:00B8 X:0001 Y:00FF P:eNvmxdiZc
$80/B622 9C 5B 05    STZ $055B  [$80:055B]   A:00B8 X:0001 Y:00FF P:eNvmxdiZc
$80/B625 A9 00 02    LDA #$0200              A:00B8 X:0001 Y:00FF P:eNvmxdiZc
$80/B628 8D 5D 05    STA $055D  [$80:055D]   A:0200 X:0001 Y:00FF P:envmxdizc
$80/B62B 9C C7 0E    STZ $0EC7     ; Clear VRAM DMA Pipeline Entries
$80/B62E 9C C9 11    STZ $11C9     ; Clear Number of the next free Animation VRAM DMA slot
$80/B631 9C C5 0E    STZ $0EC5  [$80:0EC5]   A:0200 X:0001 Y:00FF P:envmxdizc
$80/B634 9C BB 05    STZ $05BB  [$80:05BB]   A:0200 X:0001 Y:00FF P:envmxdizc
$80/B637 9C C3 05    STZ $05C3  [$80:05C3]   A:0200 X:0001 Y:00FF P:envmxdizc
$80/B63A 9C D6 16    STZ $16D6  [$80:16D6]   A:0200 X:0001 Y:00FF P:envmxdizc
$80/B63D 9C D8 16    STZ $16D8  [$80:16D8]   A:0200 X:0001 Y:00FF P:envmxdizc
$80/B640 A9 00 20    LDA #$2000              A:0200 X:0001 Y:00FF P:envmxdizc
$80/B643 85 5A       STA $5A    [$00:005A]   A:2000 X:0001 Y:00FF P:envmxdizc
$80/B645 85 5C       STA $5C    [$00:005C]   A:2000 X:0001 Y:00FF P:envmxdizc
$80/B647 A9 00 A8    LDA #$A800              A:2000 X:0001 Y:00FF P:envmxdizc
$80/B64A 85 5E       STA $5E    [$00:005E]   A:A800 X:0001 Y:00FF P:eNvmxdizc
$80/B64C A2 00 00    LDX #$0000    ; Setup Loop Counter
$80/B64F 9E 91 05    STZ $0591,x   ; Clear all the BG Scroll Register Buffers
$80/B652 E8          INX
$80/B653 E8          INX
$80/B654 E0 10 00    CPX #$0010
$80/B657 D0 F6       BNE $F6       ; [$B64F]
$80/B659 A2 00 00    LDX #$0000    ; Setup Loop Counter
$80/B65C 9E 71 05    STZ $0571,x   ; Clear all the other BG Scroll Register Buffers
$80/B65F E8          INX
$80/B660 E8          INX
$80/B661 E0 10 00    CPX #$0010
$80/B664 D0 F6       BNE $F6       ; [$B65C]
$80/B666 E2 20       SEP #$20
$80/B668 4C FA B6    JMP $B6FA     ; Clear OAM Buffers

$80/B66B Long Jump to Clear Registers, clear WRAM Bank $7F

$80/B66B 8B          PHB           ; Buffer Program Bank
$80/B66C 4B          PHK           ; Set Program Bank to $80
$80/B66D AB          PLB
$80/B66E 20 73 B6    JSR $B673     ; Clear Registers, clear WRAM Bank $7F
$80/B671 AB          PLB           ; Restore Program Bank
$80/B672 6B          RTL

$80/B673 Clear Registers, clear WRAM Bank $7F

$80/B673 A2 02 42    LDX #$4202    ; Clear $4202 to $420C
$80/B676 A9 0B       LDA #$0B
$80/B678 74 00       STZ $00,x
$80/B67A E8          INX
$80/B67B 3A          DEC A
$80/B67C D0 FA       BNE $FA    [$B678]
$80/B67E A9 FF       LDA #$FF      ; "Programmable I/O Port"
$80/B680 8D 01 42    STA $4201
$80/B683 A2 06 21    LDX #$2106    ; Clear $2106 to $2114
$80/B686 A9 0F       LDA #$0F
$80/B688 74 00       STZ $00,x
$80/B68A 74 00       STZ $00,x
$80/B68C E8          INX
$80/B68D 3A          DEC A
$80/B68E D0 F8       BNE $F8
$80/B690 A9 80       LDA #$80
$80/B692 95 00       STA $00,x  [$00:2115]
$80/B694 A9 01       LDA #$01
$80/B696 A2 1A 21    LDX #$211A    ; Mode 7 Settings
$80/B699 74 00       STZ $00,x     ; Clear a lot of Mode 7 Registers
$80/B69B 74 01       STZ $01,x
$80/B69D 95 01       STA $01,x
$80/B69F 74 02       STZ $02,x
$80/B6A1 74 02       STZ $02,x
$80/B6A3 74 03       STZ $03,x
$80/B6A5 74 03       STZ $03,x
$80/B6A7 74 04       STZ $04,x
$80/B6A9 95 04       STA $04,x
$80/B6AB 74 05       STZ $05,x
$80/B6AD 74 05       STZ $05,x
$80/B6AF 74 06       STZ $06,x
$80/B6B1 74 06       STZ $06,x
$80/B6B3 A2 23 21    LDX #$2123    ; Clear $2123 to $212E
$80/B6B6 A9 0C       LDA #$0C
$80/B6B8 74 00       STZ $00,x
$80/B6BA E8          INX
$80/B6BB 3A          DEC A
$80/B6BC D0 FA       BNE $FA    [$B6B8]
$80/B6BE A2 30 21    LDX #$2130
$80/B6C1 A9 30       LDA #$30
$80/B6C3 95 00       STA $00,x     ; $2130 - Color Addition
$80/B6C5 74 01       STZ $01,x     ; $2131 - Color Subtraction
$80/B6C7 A9 E0       LDA #$E0
$80/B6C9 95 02       STA $02,x     ; $2132 - Fixed Color Data
$80/B6CB 74 03       STZ $03,x     ; $2133 - Screen Mode/Video Select

And then proceeds on the next part

$80/B6CD Set up $7F Clear DMA

$80/B6CD A0 00 00    LDY #$0000    ; Transfer $10000 Byte
$80/B6D0 8C 05 43    STY $4305
$80/B6D3 A0 00 00    LDY #$0000    ; Destination: #$7F:0000
$80/B6D6 38          SEC
$80/B6D7 A2 F1 B6    LDX #$B6F1    ; Position of the Clear Byte: $80/B6F1
$80/B6DA A9 80       LDA #$80
$80/B6DC 20 AB 9D    JSR $9DAB     ; Fixed WRAM Clear DMA

$80/B6DF Set up VRAM Clear DMA

$80/B6DF A0 00 00    LDY #$0000    ; Transfer $10000 Byte
$80/B6E2 8C 05 43    STY $4305
$80/B6E5 A0 00 00    LDY #$0000    ; (VRAM-)Destination: #0000
$80/B6E8 A2 F1 B6    LDX #$B6F1    ; Position of the Clear Byte: $80/B6F1
$80/B6EB A9 80       LDA #$80
$80/B6ED 20 89 9D    JSR $9D89     ; Fixed VRAM Clear DMA
$80/B6F0 60          RTS

$80/B6FA Clear OAM Buffers

$80/B6FA C2 20       REP #$20
$80/B6FC A9 00 E8    LDA #$E800    ; Clear Value for OAM Low Table Buffer
$80/B6FF A2 00 01    LDX #$0100    ; Start Address of the Low Table of OAM Buffer 1
$80/B702 A0 80 00    LDY #$0080    ; Number of Sprites - All Sprites
$80/B705 95 00       STA $00,x     ; Clear OAM Buffer 1 Low Table
$80/B707 E8          INX
$80/B708 E8          INX
$80/B709 74 00       STZ $00,x
$80/B70B E8          INX
$80/B70C E8          INX
$80/B70D 88          DEY           ; Decrement Loop Counter
$80/B70E D0 F5       BNE $F5       ; [$B705] Loop
$80/B710 E2 20       SEP #$20
$80/B712 A2 00 03    LDX #$0300    ; Start Address of the High Table of OAM Buffer 1
$80/B715 A0 20 00    LDY #$0020    ; Number of Bytes to do / High Table Size
$80/B718 74 00       STZ $00,x     ; Clear OAM Buffer 1 High Table
$80/B71A E8          INX
$80/B71B 88          DEY
$80/B71C D0 FA       BNE $FA       ; [$B718]
$80/B71E C2 20       REP #$20
$80/B720 A9 00 E8    LDA #$E800    ; Clear Value for OAM Low Table Buffer
$80/B723 A2 20 03    LDX #$0320    ; Start Address of the Low Table of OAM Buffer 2
$80/B726 A0 80 00    LDY #$0080
$80/B729 95 00       STA $00,x     ; Clear OAM Buffer 2 Low Table
$80/B72B E8          INX
$80/B72C E8          INX
$80/B72D 74 00       STZ $00,x
$80/B72F E8          INX
$80/B730 E8          INX
$80/B731 88          DEY
$80/B732 D0 F5       BNE $F5       ; [$B729]
$80/B734 E2 20       SEP #$20
$80/B736 A2 20 05    LDX #$0520    ; Start Address of the High Table of OAM Buffer 2
$80/B739 A0 20 00    LDY #$0020
$80/B73C 74 00       STZ $00,x     ; Clear OAM Buffer 2 High Table
$80/B73E E8          INX
$80/B73F 88          DEY
$80/B740 D0 FA       BNE $FA       ; [$B73C]
$80/B742 A9 01       LDA #$01      ; Set Flag for an OAM Update
$80/B744 8D 40 05    STA $0540
$80/B747 A9 80       LDA #$80      ; Number of Free sprites in $320(?)
$80/B749 8D 41 05    STA $0541
$80/B74C A2 20 00    LDX #$0020    ; ??? Number of used Sprites in $0100 = $20, $0320 = $00???
$80/B74F 8E 43 05    STX $0543
$80/B752 A2 20 03    LDX #$0320    ; Set the OAM buffer to $0320
$80/B755 8E 45 05    STX $0545
$80/B758 60          RTS

$80/B7D6 ?

$80/B7D6 8B          PHB           ; Buffer Data Bank on Stack
$80/B7D7 4B          PHK           ; Set Data Bank to $80
$80/B7D8 AB          PLB
$80/B7D9 20 DE B7    JSR $B7DE  [$80:B7DE]   A:000B X:0006 Y:87F0 P:eNvMxdizc
$80/B7DC AB          PLB           ; Restore Data Bank from Stack
$80/B7DD 6B          RTL

$80/B7DE ?

$80/B7DE A4 39       LDY $39       ; (Load a Figure number)
$80/B7E0 B9 AE 17    LDA $17AE,y   ; Load Character Sprite
$80/B7E3 C9 F0       CMP #$F0
$80/B7E5 B0 0E       BCS $0E       ; [$B7F5] Branch if Sprite number is higher than #$EF
$80/B7E7 C9 DC       CMP #$DC                A:003B X:0006 Y:0006 P:envMxdizc
$80/B7E9 A9 0C       LDA #$0C                A:003B X:0006 Y:0006 P:envMxdizc
$80/B7EB 90 08       BCC $08    [$B7F5]      A:000C X:0006 Y:0006 P:envMxdizc
code is missing here
$80/B7F5 A6 3B       LDX $3B    [$00:003B]   A:000C X:0006 Y:0006 P:envMxdizc
$80/B7F7 20 7C B8    JSR $B87C  [$80:B87C]   A:000C X:0000 Y:0006 P:envMxdiZc
$80/B7FA 86 3B       STX $3B    [$00:003B]   A:0000 X:0006 Y:0006 P:envMxdiZc
$80/B7FC C2 20       REP #$20                A:0000 X:0006 Y:0006 P:envMxdiZc
$80/B7FE 8A          TXA                     A:0000 X:0006 Y:0006 P:envmxdiZc
$80/B7FF 99 3E 1E    STA $1E3E,y   ; (Value related to figure animation)
$80/B802 E2 20       SEP #$20                A:0006 X:0006 Y:0006 P:envmxdizc
$80/B804 98          TYA                     A:0006 X:0006 Y:0006 P:envMxdizc
$80/B805 9D C4 0B    STA $0BC4,x[$80:0BCA]   A:0006 X:0006 Y:0006 P:envMxdizc
$80/B808 C2 20       REP #$20                A:0006 X:0006 Y:0006 P:envMxdizc
$80/B80A B9 D6 1C    LDA $1CD6,y[$80:1CDC]   A:0006 X:0006 Y:0006 P:envmxdizc
$80/B80D 85 00       STA $00    [$00:0000]   A:0204 X:0006 Y:0006 P:envmxdizc
$80/B80F E2 20       SEP #$20                A:0204 X:0006 Y:0006 P:envmxdizc
$80/B811 B9 C6 1D    LDA $1DC6,y[$80:1DCC]   A:0204 X:0006 Y:0006 P:envMxdizc
$80/B814 0A          ASL A                   A:020B X:0006 Y:0006 P:envMxdizc
$80/B815 85 02       STA $02    [$00:0002]   A:0216 X:0006 Y:0006 P:envMxdizc
$80/B817 BB          TYX                     A:0216 X:0006 Y:0006 P:envMxdizc
$80/B818 22 8C B8 80 JSL $80B88C[$80:B88C]   A:0216 X:0006 Y:0006 P:envMxdizc
$80/B81C 08          PHP                     A:0001 X:0006 Y:0006 P:eNvMxdizc
$80/B81D A0 00 00    LDY #$0000              A:0001 X:0006 Y:0006 P:eNvMxdizc
$80/B820 A6 3B       LDX $3B    [$00:003B]   A:0001 X:0006 Y:0000 P:envMxdiZc
$80/B822 22 C6 81 8B JSL $8B81C6[$8B:81C6]   A:0001 X:0006 Y:0000 P:envMxdizc
$80/B826 A4 39       LDY $39    [$00:0039]   A:0204 X:0006 Y:0000 P:eNvMxdizc
$80/B828 22 F4 B8 80 JSL $80B8F4[$80:B8F4]   A:0204 X:0006 Y:0006 P:envMxdizc
$80/B82C 9D 03 07    STA $0703,x[$80:0709]   A:0006 X:0006 Y:0006 P:eNvMxdizC
$80/B82F 28          PLP                     A:0006 X:0006 Y:0006 P:eNvMxdizC
$80/B830 B0 21       BCS $21    [$B853]      A:0006 X:0006 Y:0006 P:eNvMxdizc
$80/B832 7B          TDC                     A:0006 X:0006 Y:0006 P:eNvMxdizc
$80/B833 B9 6E 1B    LDA $1B6E,y[$80:1B74]   A:0000 X:0006 Y:0006 P:envMxdiZc
$80/B836 A8          TAY                     A:0001 X:0006 Y:0006 P:envMxdizc
$80/B837 B9 6D B8    LDA $B86D,y[$80:B86E]   A:0001 X:0006 Y:0001 P:envMxdizc
$80/B83A 1D 03 07    ORA $0703,x[$80:0709]   A:0040 X:0006 Y:0001 P:envMxdizc
$80/B83D 9D 03 07    STA $0703,x[$80:0709]   A:0046 X:0006 Y:0001 P:envMxdizc
$80/B840 A4 39       LDY $39    [$00:0039]   A:0046 X:0006 Y:0001 P:envMxdizc
$80/B842 B9 AE 17    LDA $17AE,y   ; Load Figure's Character Sprite number
$80/B845 22 DF A3 88 JSL $88A3DF   ; Load Big Sprite Flag for this Character
$80/B849 90 08       BCC $08       ; [$B853] Branch if Figure has no Big Sprite
code is missing here
$80/B853 A5 06       LDA $06    [$00:0006]   A:003B X:0006 Y:0006 P:envMxdizc
$80/B855 E6 06       INC $06    [$00:0006]   A:000B X:0006 Y:0006 P:envMxdizc
$80/B857 9D C3 06    STA $06C3,x[$80:06C9]   A:000B X:0006 Y:0006 P:envMxdizc
$80/B85A BD 03 07    LDA $0703,x[$80:0709]   A:000B X:0006 Y:0006 P:envMxdizc
$80/B85D 29 06       AND #$06                A:0046 X:0006 Y:0006 P:envMxdizc
$80/B85F 9D 43 0C    STA $0C43,x[$80:0C49]   A:0006 X:0006 Y:0006 P:envMxdizc
$80/B862 A9 FF       LDA #$FF                A:0006 X:0006 Y:0006 P:envMxdizc
$80/B864 9D C4 08    STA $08C4,x[$80:08CA]   A:00FF X:0006 Y:0006 P:eNvMxdizc
$80/B867 20 A4 99    JSR $99A4  [$80:99A4]   A:00FF X:0006 Y:0006 P:eNvMxdizc
$80/B86A A6 39       LDX $39    [$00:0039]   A:8102 X:0006 Y:0006 P:envMxdizc
$80/B86C 60          RTS                     A:8102 X:0006 Y:0006 P:envMxdizc

$80/B87C ?

$80/B87C BD 03 06    LDA $0603,x[$80:0607]   A:0006 X:0004 Y:0004 P:envMxdizC
$80/B87F F0 09       BEQ $09       ; [$B88A] Exit if empty
$80/B881 E8          INX                     A:0001 X:0004 Y:0004 P:envMxdizC
$80/B882 E8          INX                     A:0001 X:0005 Y:0004 P:envMxdizC
$80/B883 E0 40 00    CPX #$0040              A:0001 X:0006 Y:0004 P:envMxdizC
$80/B886 90 F4       BCC $F4    [$B87C]      A:0001 X:0006 Y:0004 P:eNvMxdizc
code is missing here
$80/B88A 18          CLC                     A:0000 X:0006 Y:0004 P:envMxdiZc
$80/B88B 60          RTS                     A:0000 X:0006 Y:0004 P:envMxdiZc

$80/B88C ?

$80/B88C 8B          PHB           ; Buffer Data Bank on Stack
$80/B88D 4B          PHK           ; Set Data Bank to $80
$80/B88E AB          PLB
$80/B88F 5A          PHY           ; Buffer Y on Stack
$80/B890 9B          TXY                     A:0003 X:0002 Y:070B P:eNvMxdizc
$80/B891 B9 AE 17    LDA $17AE,y[$80:17B0]   A:0003 X:0002 Y:0002 P:envMxdizc
$80/B894 C9 F0       CMP #$F0                A:0035 X:0002 Y:0002 P:envMxdizc
$80/B896 B0 52       BCS $52    [$B8EA]      A:0035 X:0002 Y:0002 P:envMxdizc
$80/B898 C9 DC       CMP #$DC                A:0035 X:0002 Y:0002 P:envMxdizc
$80/B89A B0 4A       BCS $4A    [$B8E6]      A:0035 X:0002 Y:0002 P:envMxdizc
$80/B89C 7B          TDC                     A:0035 X:0002 Y:0002 P:envMxdizc
$80/B89D B9 D7 1C    LDA $1CD7,y[$80:1CD9]   A:0000 X:0002 Y:0002 P:envMxdiZc
$80/B8A0 C2 20       REP #$20                A:0007 X:0002 Y:0002 P:envMxdizc
$80/B8A2 EB          XBA                     A:0007 X:0002 Y:0002 P:envmxdizc
$80/B8A3 4A          LSR A                   A:0700 X:0002 Y:0002 P:envmxdiZc
$80/B8A4 4A          LSR A                   A:0380 X:0002 Y:0002 P:envmxdizc
$80/B8A5 4A          LSR A                   A:01C0 X:0002 Y:0002 P:envmxdizc
$80/B8A6 E2 20       SEP #$20                A:00E0 X:0002 Y:0002 P:envmxdizc
$80/B8A8 19 D6 1C    ORA $1CD6,y[$80:1CD8]   A:00E0 X:0002 Y:0002 P:envMxdizc
$80/B8AB AA          TAX                     A:00EB X:0002 Y:0002 P:eNvMxdizc
$80/B8AC B9 C7 1D    LDA $1DC7,y[$80:1DC9]   A:00EB X:00EB Y:0002 P:envMxdizc
$80/B8AF 20 7E C2    JSR $C27E  [$80:C27E]   A:0000 X:00EB Y:0002 P:envMxdiZc
$80/B8B2 08          PHP                     A:0003 X:00EB Y:0002 P:envMxdizc
$80/B8B3 B9 AE 17    LDA $17AE,y[$80:17B0]   A:0003 X:00EB Y:0002 P:envMxdizc
$80/B8B6 22 DF A3 88 JSL $88A3DF   ; Load Big Sprite Flag for this Character
$80/B8BA B0 15       BCS $15    [$B8D1]      A:0035 X:00EB Y:0002 P:envMxdizc
$80/B8BC B9 DE 19    LDA $19DE,y[$80:19E0]   A:0035 X:00EB Y:0002 P:envMxdizc
$80/B8BF 89 01       BIT #$01                A:0000 X:00EB Y:0002 P:envMxdiZc
$80/B8C1 F0 05       BEQ $05    [$B8C8]      A:0000 X:00EB Y:0002 P:envMxdiZc
$80/B8C8 28          PLP                     A:0000 X:00EB Y:0002 P:envMxdiZc
$80/B8C9 A9 01       LDA #$01                A:0000 X:00EB Y:0002 P:envMxdizc
$80/B8CB 90 22       BCC $22    [$B8EF]      A:0001 X:00EB Y:0002 P:envMxdizc
code is missing here
$80/B8EF 18          CLC                     A:0001 X:00EB Y:0002 P:envMxdizc
$80/B8F0 BB          TYX                     A:0001 X:00EB Y:0002 P:envMxdizc
$80/B8F1 7A          PLY           ; Restore Y from Stack
$80/B8F2 AB          PLB           ; Restore Data Bank from Stack
$80/B8F3 6B          RTL

$80/B8F4 ?

$80/B8F4 8B          PHB           ; Buffer Data Bank on Stack
$80/B8F5 4B          PHK           ; Set Data Bank to $80
$80/B8F6 AB          PLB
$80/B8F7 DA          PHX           ; Buffer X on Stack
$80/B8F8 BB          TYX                     A:0204 X:0006 Y:0006 P:eNvMxdizc
$80/B8F9 22 4C A5 88 JSL $88A54C[$88:A54C]   A:0204 X:0006 Y:0006 P:envMxdizc
$80/B8FD 90 04       BCC $04    [$B903]      A:0000 X:0006 Y:0006 P:eNvMxdizc
code is missing here
$80/B903 C9 00       CMP #$00                A:0000 X:0006 Y:0006 P:eNvMxdizc
$80/B905 F0 04       BEQ $04    [$B90B]      A:0000 X:0006 Y:0006 P:envMxdiZC
code is missing here
$80/B90B A9 06       LDA #$06                A:0000 X:0006 Y:0006 P:envMxdiZC
$80/B90D FA          PLX           ; Restore X and Data Bank from Stack
$80/B90E AB          PLB
$80/B90F 6B          RTL

$80/B910 ?

$80/B910 8B          PHB           ; Buffer Data Bank on Stack
$80/B911 A9 7E       LDA #$7E      ; Set Data Bank to $7E
$80/B913 48          PHA
$80/B914 AB          PLB
$80/B915 DA          PHX           ; Buffer X and Y on Stack
$80/B916 5A          PHY
$80/B917 A6 5C       LDX $5C    [$00:005C]   A:887E X:0006 Y:87F0 P:envMxdizc
$80/B919 A0 0C 00    LDY #$000C              A:887E X:3911 Y:87F0 P:envMxdizc
$80/B91C C2 20       REP #$20                A:887E X:3911 Y:000C P:envMxdizc
$80/B91E 9E 00 00    STZ $0000,x[$7E:3911]   A:887E X:3911 Y:000C P:envmxdizc
$80/B921 E8          INX                     A:887E X:3911 Y:000C P:envmxdizc
$80/B922 E8          INX                     A:887E X:3912 Y:000C P:envmxdizc
$80/B923 88          DEY                     A:887E X:3913 Y:000C P:envmxdizc
$80/B924 D0 F8       BNE $F8    [$B91E]      A:887E X:3913 Y:000B P:envmxdizc
$80/B926 E2 20       SEP #$20                A:887E X:3929 Y:0000 P:envmxdiZc
$80/B928 A0 00 00    LDY #$0000              A:887E X:3929 Y:0000 P:envMxdiZc
$80/B92B B9 03 06    LDA $0603,y[$7E:0603]   A:887E X:3929 Y:0000 P:envMxdiZc
$80/B92E F0 31       BEQ $31    [$B961]      A:8801 X:3929 Y:0000 P:envMxdizc
$80/B930 C9 61       CMP #$61                A:8801 X:3929 Y:0000 P:envMxdizc
$80/B932 B0 2D       BCS $2D    [$B961]      A:8801 X:3929 Y:0000 P:eNvMxdizc
$80/B934 7B          TDC                     A:8801 X:3929 Y:0000 P:eNvMxdizc
$80/B935 B9 C3 06    LDA $06C3,y[$7E:06C3]   A:0000 X:3929 Y:0000 P:envMxdiZc
$80/B938 C9 08       CMP #$08
$80/B93A 90 25       BCC $25       ; [$B961] Do next entry if value is lower than #$08
$80/B93C C9 20       CMP #$20
$80/B93E B0 21       BCS $21       ; [$B961] Do next entry if value is higher than #$1F
$80/B940 38          SEC                     A:0008 X:3929 Y:0000 P:eNvMxdizc
$80/B941 E9 08       SBC #$08                A:0008 X:3929 Y:0000 P:eNvMxdizC
$80/B943 C2 21       REP #$21                A:0000 X:3929 Y:0000 P:envMxdiZC
$80/B945 18          CLC                     A:0000 X:3929 Y:0000 P:envmxdiZc
$80/B946 65 5C       ADC $5C    [$00:005C]   A:0000 X:3929 Y:0000 P:envmxdiZc
$80/B948 AA          TAX                     A:3911 X:3929 Y:0000 P:envmxdizc
$80/B949 E2 20       SEP #$20                A:3911 X:3911 Y:0000 P:envmxdizc
$80/B94B FE 00 00    INC $0000,x[$7E:3911]   A:3911 X:3911 Y:0000 P:envMxdizc
$80/B94E DA          PHX                     A:3911 X:3911 Y:0000 P:envMxdizc
$80/B94F 7B          TDC           ; Clear 16-bit A
$80/B950 B9 C4 0B    LDA $0BC4,y[$7E:0BC4]   A:0000 X:3911 Y:0000 P:envMxdiZc
$80/B953 AA          TAX                     A:0000 X:3911 Y:0000 P:envMxdiZc
$80/B954 BD AF 17    LDA $17AF,x   ; Load Character Class number
$80/B957 22 DF A3 88 JSL $88A3DF   ; Load Big Sprite Flag for this Character
$80/B95B FA          PLX                     A:0001 X:0000 Y:0000 P:envMxdiZc
$80/B95C 90 03       BCC $03       ; [$B961] Do next entry if the Sprite isn't big
code is missing here
$80/B961 C8          INY           ; Increment Load Index twice
$80/B962 C8          INY
$80/B963 C0 40 00    CPY #$0040
$80/B966 90 C3       BCC $C3       ; [$B92B] Loop until every entry is worked off
$80/B968 7B          TDC                     A:0000 X:3913 Y:0040 P:envMxdiZC
$80/B969 A3 03       LDA $03,s  [$00:1FD2]   A:0000 X:3913 Y:0040 P:envMxdiZC
$80/B96B A8          TAY                     A:0006 X:3913 Y:0040 P:envMxdizC
$80/B96C B9 AF 17    LDA $17AF,y[$7E:17B5]   A:0006 X:3913 Y:0006 P:envMxdizC
$80/B96F 22 DF A3 88 JSL $88A3DF   ; Load Big Sprite Flag for this Character
$80/B973 B0 10       BCS $10    [$B985]      A:003B X:3913 Y:0006 P:envMxdizc
$80/B975 A6 5C       LDX $5C    [$00:005C]   A:003B X:3913 Y:0006 P:envMxdizc
$80/B977 A0 18 00    LDY #$0018              A:003B X:3911 Y:0006 P:envMxdizc
$80/B97A BD 00 00    LDA $0000,x[$7E:3911]   A:003B X:3911 Y:0018 P:envMxdizc
$80/B97D F0 23       BEQ $23    [$B9A2]      A:0001 X:3911 Y:0018 P:envMxdizc
$80/B97F E8          INX                     A:0001 X:3911 Y:0018 P:envMxdizc
$80/B980 88          DEY                     A:0001 X:3912 Y:0018 P:envMxdizc
$80/B981 D0 F7       BNE $F7    [$B97A]      A:0001 X:3912 Y:0017 P:envMxdizc
code is missing here
$80/B9A2 C2 20       REP #$20                A:0000 X:3914 Y:0015 P:envMxdiZc
$80/B9A4 38          SEC                     A:0000 X:3914 Y:0015 P:envmxdiZc
$80/B9A5 8A          TXA                     A:0000 X:3914 Y:0015 P:envmxdiZC
$80/B9A6 E5 5C       SBC $5C    [$00:005C]   A:3914 X:3914 Y:0015 P:envmxdizC
$80/B9A8 E2 20       SEP #$20                A:0003 X:3914 Y:0015 P:envmxdizC
$80/B9AA 18          CLC                     A:0003 X:3914 Y:0015 P:envMxdizC
$80/B9AB 69 08       ADC #$08                A:0003 X:3914 Y:0015 P:envMxdizc
$80/B9AD 18          CLC                     A:000B X:3914 Y:0015 P:envMxdizc
$80/B9AE 7A          PLY           ; Restore Y, X and Data Bank from Stack
$80/B9AF FA          PLX
$80/B9B0 AB          PLB
$80/B9B1 6B          RTL

$80/B9B2 ?

$80/B9B2 8B          PHB           ; Buffer Data Bank on Stack
$80/B9B3 4B          PHK           ; Set Data Bank to $80
$80/B9B4 AB          PLB
$80/B9B5 20 BA B9    JSR $B9BA  [$80:B9BA]   A:0000 X:3300 Y:331A P:eNvMxdizc
$80/B9B8 AB          PLB           : Restore Data Bank
$80/B9B9 6B          RTL

$80/B9BA ?

This subroutine checks all values from $0603 to $0642. If the value in these registers is something else than #$00 or #$C9, it uses that value as index for the Jump Table in the subroutine below this one.

$80/B9BA A2 00 00    LDX #$0000     ; Clear Load Index/Loop counter
$80/B9BD BD 03 06    LDA $0603,x[$80:0603]   A:E801 X:0000 Y:0320 P:envMxdiZC
$80/B9C0 F0 07       BEQ $07        ; [$B9C9] Leave out subroutine if value is #$00
$80/B9C2 C9 C9       CMP #$C9
$80/B9C4 F0 03       BEQ $03        ; [$B9C9] Leave out subroutine if value is #$C9
$80/B9C6 20 D1 B9    JSR $B9D1      ; [$80:B9D1] ? (Use Jump Table)
$80/B9C9 E8          INX            ; Increment Load Index/Loop counter twice
$80/B9CA E8          INX
$80/B9CB E0 40 00    CPX #$0040     ; Is the maximum value reached?
$80/B9CE 90 ED       BCC $ED        ; [$B9BD] Loop
$80/B9D0 60          RTS

$80/B9D1 Use Jump Table

$80/B9D1 86 3B       STX $3B       ; Buffer X value
$80/B9D3 7B          TDC                     A:A1CA X:000C Y:0002 P:envMxdizC
$80/B9D4 BD C3 08    LDA $08C3,x[$80:08CF]   A:0000 X:000C Y:0002 P:envMxdiZC
$80/B9D7 0A          ASL A                   A:0003 X:000C Y:0002 P:envMxdizC
$80/B9D8 A8          TAY                     A:0006 X:000C Y:0002 P:envMxdizc
$80/B9D9 BE E3 B9    LDX $B9E3,y[$80:B9E9]   A:0006 X:000C Y:0006 P:envMxdizc
$80/B9DC 86 00       STX $00    [$00:0000]   A:0006 X:BC4F Y:0006 P:eNvMxdizc
$80/B9DE A6 3B       LDX $3B       ; Restore X value
$80/B9E0 6C 00 00    JMP ($0000)[$80:BC4F]   A:0006 X:000C Y:0006 P:envMxdizc
$80/B9E3 75 BA --- Entry #$00 - $BA75
$80/B9E5 B2 BA --- Entry #$01 - $BAB2
$80/B9E7 DB BA --- Entry #$02 - $BADB
$80/B9E9 4F BC --- Entry #$03 - $BC4F
$80/B9EB 81 BA --- Entry #$04 - $BA81
$80/B9ED 51 BD --- Entry #$05 - $BD51
$80/B9EF 5C BD --- Entry #$06 - $BD5C
$80/B9F1 63 BD --- Entry #$07 - $BD63
$80/B9F3 67 BD --- Entry #$08 - $BD67
$80/B9F5 6E BD --- Entry #$09 - $BD6E
$80/B9F7 78 BD --- Entry #$0A - $BD78
$80/B9F9 87 BD --- Entry #$0B - $BD87
$80/B9FB E0 BC --- Entry #$0C - $BCE0
$80/B9FD 21 BD --- Entry #$0D - $BD21
$80/B9FF 94 BD --- Entry #$0E - $BD94
$80/BA01 89 BA --- Entry #$0F - $BA89
$80/BA03 BE BD --- Entry #$10 - $BDBE
$80/BA05 FF BD --- Entry #$11 - $BDFF
$80/BA07 1D BE --- Entry #$12 - $BE1D
$80/BA09 89 BA --- Entry #$13 - $BA89
$80/BA0B 89 BA --- Entry #$14 - $BA89
$80/BA0D 50 BE --- Entry #$15 - $BE50
$80/BA0F 63 BE --- Entry #$16 - $BE63
$80/BA11 6D BE --- Entry #$17 - $BE6D
$80/BA13 76 BE --- Entry #$18 - $BE76
$80/BA15 8E BA --- Entry #$19 - $BA8E
$80/BA17 A3 BE --- Entry #$1A - $BEA3
$80/BA19 AB BE --- Entry #$1B - $BEAB
$80/BA1B 8E BE --- Entry #$1C - $BE8E
$80/BA1D 95 BE --- Entry #$1D - $BE95
$80/BA1F B9 BE --- Entry #$1E - $BEB9
$80/BA21 D5 BE --- Entry #$1F - $BED5
$80/BA23 08 BF --- Entry #$20 - $BF08
$80/BA25 1C BF --- Entry #$21 - $BF1C
$80/BA27 B9 BE --- Entry #$22 - $BEB9
$80/BA29 D5 BE --- Entry #$23 - $BED5
$80/BA2B 25 BF --- Entry #$24 - $BF25
$80/BA2D B9 BE --- Entry #$25 - $BEB9
$80/BA2F 39 BF --- Entry #$26 - $BF39
$80/BA31 71 BF --- Entry #$27 - $BF71
$80/BA33 B9 BE --- Entry #$28 - $BEB9
$80/BA35 D5 BE --- Entry #$29 - $BED5
$80/BA37 82 BF --- Entry #$2A - $BF82
$80/BA39 13 C0 --- Entry #$2B - $C013
$80/BA3B DD C0 --- Entry #$2C - $C0DD
$80/BA3D 0B C1 --- Entry #$2D - $C10B
$80/BA3F 89 BA --- Entry #$2E - $BA89
$80/BA41 97 BA --- Entry #$2F - $BA97
$80/BA43 9F BB --- Entry #$30 - $BB9F
$80/BA45 44 BB --- Entry #$31 - $BB44
$80/BA47 99 BB --- Entry #$32 - $BB99
$80/BA49 78 C0 --- Entry #$33 - $C078
$80/BA4B AC C0 --- Entry #$34 - $C0AC
$80/BA4D D4 C0 --- Entry #$35 - $C0D4
$80/BA4F 89 BA --- Entry #$36 - $BA89
$80/BA51 89 BA --- Entry #$37 - $BA89
$80/BA53 4B C1 --- Entry #$38 - $C14B
$80/BA55 51 C1 --- Entry #$39 - $C151
$80/BA57 57 C1 --- Entry #$3A - $C157
$80/BA59 5E C1 --- Entry #$3B - $C15E
$80/BA5B 64 C1 --- Entry #$3C - $C164
$80/BA5D 44 BD --- Entry #$3D - $BD44
$80/BA5F 22 C0 --- Entry #$3E - $C022
$80/BA61 39 C0 --- Entry #$3F - $C039
$80/BA63 6B C0 --- Entry #$40 - $C06B
$80/BA65 6F C0 --- Entry #$41 - $C06F
$80/BA67 89 BA --- Entry #$42 - $BA89
$80/BA69 89 BA --- Entry #$43 - $BA89
$80/BA6B 89 BA --- Entry #$44 - $BA89
$80/BA6D 89 BA --- Entry #$45 - $BA89
$80/BA6F EF BF --- Entry #$46 - $BFEF
$80/BA71 0A C0 --- Entry #$47 - $C00A
$80/BA73 B5 BE --- Entry #$48 - $BEB5

$80/BA75 ?

$80/BA75 BD 04 07    LDA $0704,x[$80:0704]   A:0000 X:0000 Y:0000 P:envMxdiZc
$80/BA78 29 FB       AND #$FB                A:0000 X:0000 Y:0000 P:envMxdiZc
$80/BA7A 9D 04 07    STA $0704,x[$80:0704]   A:0000 X:0000 Y:0000 P:envMxdiZc
$80/BA7D 9E 43 08    STZ $0843,x[$80:0843]   A:0000 X:0000 Y:0000 P:envMxdiZc
$80/BA80 60          RTS                     A:0000 X:0000 Y:0000 P:envMxdiZc

$80/BC4F ?

$80/BC4F 7B          TDC                     A:0006 X:0008 Y:0006 P:envMxdizc
$80/BC50 BD C4 08    LDA $08C4,x[$80:08CC]   A:0000 X:0008 Y:0006 P:envMxdiZc
$80/BC53 A8          TAY                     A:0006 X:0008 Y:0006 P:envMxdizc
$80/BC54 B9 03 06    LDA $0603,y[$80:0609]   A:0006 X:0008 Y:0006 P:envMxdizc
$80/BC57 D0 03       BNE $03    [$BC5C]      A:0001 X:0008 Y:0006 P:envMxdizc
$80/BC59 4C DC BC    JMP $BCDC  [$80:BCDC]   A:0000 X:0008 Y:0006 P:envMxdiZc
$80/BC5C 20 29 D9    JSR $D929  [$80:D929]   A:0001 X:0008 Y:0006 P:envMxdizc
$80/BC5F C2 20       REP #$20                A:0001 X:0008 Y:0006 P:envMxdizc
$80/BC61 B9 03 0A    LDA $0A03,y[$80:0A09]   A:0001 X:0008 Y:0006 P:envmxdizc
$80/BC64 9D 03 0A    STA $0A03,x[$80:0A0B]   A:0988 X:0008 Y:0006 P:envmxdizc
$80/BC67 B9 43 0A    LDA $0A43,y[$80:0A49]   A:0988 X:0008 Y:0006 P:envmxdizc
$80/BC6A 9D 43 0A    STA $0A43,x[$80:0A4B]   A:0780 X:0008 Y:0006 P:envmxdizc
$80/BC6D E2 20       SEP #$20                A:0780 X:0008 Y:0006 P:envmxdizc
$80/BC6F 9B          TXY                     A:0780 X:0008 Y:0006 P:envMxdizc
$80/BC70 20 90 DA    JSR $DA90  [$80:DA90]   A:0780 X:0008 Y:0008 P:envMxdizc
$80/BC73 0A          ASL A                   A:0004 X:0008 Y:0008 P:envMxdizC
$80/BC74 9D 84 0A    STA $0A84,x[$80:0A8C]   A:0008 X:0008 Y:0008 P:envMxdizc
$80/BC77 64 00       STZ $00    [$00:0000]   A:0008 X:0008 Y:0008 P:envMxdizc
$80/BC79 85 01       STA $01    [$00:0001]   A:0008 X:0008 Y:0008 P:envMxdizc
$80/BC7B 7B          TDC                     A:0008 X:0008 Y:0008 P:envMxdizc
$80/BC7C BD C4 08    LDA $08C4,x[$80:08CC]   A:0000 X:0008 Y:0008 P:envMxdiZc
$80/BC7F A8          TAY                     A:0006 X:0008 Y:0008 P:envMxdizc
$80/BC80 C2 20       REP #$20                A:0006 X:0008 Y:0006 P:envMxdizc
$80/BC82 B9 83 0A    LDA $0A83,y[$80:0A89]   A:0006 X:0008 Y:0006 P:envmxdizc
$80/BC85 C5 00       CMP $00    [$00:0000]   A:0800 X:0008 Y:0006 P:envmxdizc
$80/BC87 E2 20       SEP #$20                A:0800 X:0008 Y:0006 P:envmxdiZC
$80/BC89 B0 34       BCS $34    [$BCBF]      A:0800 X:0008 Y:0006 P:envMxdiZC
code is missing here
$80/BCBF BD 84 0A    LDA $0A84,x[$80:0A8C]   A:0800 X:0008 Y:0006 P:envMxdiZC
$80/BCC2 D0 04       BNE $04    [$BCC8]      A:0808 X:0008 Y:0006 P:envMxdizC
code is missing here
$80/BCC8 A9 00       LDA #$00                A:0808 X:0008 Y:0006 P:envMxdizC
$80/BCCA 9D 04 07    STA $0704,x[$80:070C]   A:0800 X:0008 Y:0006 P:envMxdiZC
$80/BCCD 9E C3 0C    STZ $0CC3,x[$80:0CCB]   A:0800 X:0008 Y:0006 P:envMxdiZC
$80/BCD0 20 50 D5    JSR $D550  [$80:D550]   A:0800 X:0008 Y:0006 P:envMxdiZC
$80/BCD3 20 A4 99    JSR $99A4  [$80:99A4]   A:08FF X:0008 Y:000A P:eNvMxdizC
$80/BCD6 A9 01       LDA #$01                A:8107 X:0008 Y:000A P:envMxdizc
$80/BCD8 9D 83 0C    STA $0C83,x[$80:0C8B]   A:8101 X:0008 Y:000A P:envMxdizc
$80/BCDB 60          RTS                     A:8101 X:0008 Y:000A P:envMxdizc

$80/BCDC ?

$80/BCDC 9E 03 06    STZ $0603,x[$80:060B]   A:0000 X:0008 Y:0006 P:envMxdiZc
$80/BCDF 60          RTS                     A:0000 X:0008 Y:0006 P:envMxdiZc

$80/BD51 ?

$80/BD51 86 3D       STX $3D    [$00:003D]   A:000A X:0006 Y:000A P:envMxdizc
$80/BD53 FE C3 08    INC $08C3,x[$80:08C9]   A:000A X:0006 Y:000A P:envMxdizc
$80/BD56 20 A7 D1    JSR $D1A7  [$80:D1A7]   A:000A X:0006 Y:000A P:envMxdizc
$80/BD59 20 24 D1    JSR $D124  [$80:D124]   A:00FF X:0006 Y:0002 P:envMxdizc
$80/BD5C 20 9E D0    JSR $D09E  [$80:D09E]   A:0010 X:0006 Y:001A P:envMxdizc
$80/BD5F 20 A4 99    JSR $99A4  [$80:99A4]   A:6201 X:0006 Y:0004 P:envMxdizc
$80/BD62 60          RTS                     A:8107 X:0006 Y:0004 P:envMxdizc

$80/BD63 ?

$80/BD63 20 58 D3    JSR $D358  [$80:D358]   A:000E X:0006 Y:000E P:envMxdizc
$80/BD66 60          RTS                     A:0000 X:0006 Y:0004 P:envMxdiZc

$80/C23F ?

$80/C23F DA          PHX           ; Buffer X and Y on stack
$80/C240 5A          PHY
$80/C241 7B          TDC           ; Clear 16-bit A
$80/C242 BD C4 0B    LDA $0BC4,x[$80:0BCA]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/C245 A8          TAY                     A:0004 X:0006 Y:0004 P:envMxdizc
$80/C246 BD 44 0A    LDA $0A44,x[$80:0A4A]   A:0004 X:0006 Y:0004 P:envMxdizc
$80/C249 EB          XBA           ; Multiply by #$20
$80/C24A C2 20       REP #$20
$80/C24C 4A          LSR A
$80/C24D 4A          LSR A
$80/C24E 4A          LSR A
$80/C24F E2 20       SEP #$20
$80/C251 1D 04 0A    ORA $0A04,x[$80:0A0A]   A:00E0 X:0006 Y:0004 P:envMxdizc
$80/C254 AA          TAX                     A:00E9 X:0006 Y:0004 P:eNvMxdizc
$80/C255 B9 C7 1D    LDA $1DC7,y[$80:1DCB]   A:00E9 X:00E9 Y:0004 P:envMxdizc
$80/C258 20 7E C2    JSR $C27E  [$80:C27E]   A:0001 X:00E9 Y:0004 P:envMxdizc
$80/C25B 7A          PLY           ; Restore Y and X from stack
$80/C25C FA          PLX
$80/C25D 60          RTS

$80/C276 ?

$80/C276 8B          PHB           ; Buffer Data Bank on Stack
$80/C277 4B          PHK           ; Set Data Bank to $80
$80/C278 AB          PLB
$80/C279 20 7E C2    JSR $C27E  [$80:C27E]   A:0000 X:00EB Y:00EB P:eNvMxdizc
$80/C27C AB          PLB           ; Restore Data Bank from Stack
$80/C27D 6B          RTL

$80/C27E ?

$80/C27E 4A          LSR A                   A:0000 X:00EB Y:070B P:envMxdiZc
$80/C27F 4A          LSR A                   A:0000 X:00EB Y:070B P:envMxdiZc
$80/C280 C9 02       CMP #$02                A:0000 X:00EB Y:070B P:envMxdiZc
$80/C282 D0 0E       BNE $0E    [$C292]      A:0000 X:00EB Y:070B P:eNvMxdizc
$80/C284 22 E1 AD 86 JSL $86ADE1[$86:ADE1]   A:0202 X:0210 Y:0002 P:envMxdiZC
$80/C288 90 08       BCC $08    [$C292]      A:0201 X:0210 Y:0002 P:eNvMxdizc
$80/C28A 7B          TDC           ; Clear 16-bit A
$80/C28B BF 00 C8 7F LDA $7FC800,x ; Load value from the Step Map
$80/C28F 3A          DEC A                   A:000A X:018C Y:000C P:envMxdizC
$80/C290 38          SEC                     A:0009 X:018C Y:000C P:envMxdizC
$80/C291 60          RTS
$80/C292 7B          TDC           ; Clear 16-bit A
$80/C293 BF 00 C8 7F LDA $7FC800,x ; Load value from the Step Map
$80/C297 18          CLC                     A:0003 X:00EB Y:070B P:envMxdizc
$80/C298 60          RTS

$80/C2E0 ?

$80/C2E0 8B          PHB           ; Buffer Data Bank on Stack
$80/C2E1 4B          PHK           ; Set Data Bank to $80
$80/C2E2 AB          PLB
$80/C2E3 20 E8 C2    JSR $C2E8  [$80:C2E8]   A:0007 X:0002 Y:0002 P:eNvMxdizc
$80/C2E6 AB          PLB           ; Restore Data Bank from Stack
$80/C2E7 6B          RTL

$80/C2E8 ?

$80/C2E8 DA          PHX           ; Buffer X and Y on Stack
$80/C2E9 5A          PHY
$80/C2EA D4 00       PEI ($00)     ; Buffer $00/$01 on Stack
$80/C2EC A6 39       LDX $39    [$00:0039]   A:0007 X:0002 Y:0002 P:eNvMxdizc
$80/C2EE BC D6 1C    LDY $1CD6,x[$80:1CD8]   A:0007 X:0002 Y:0002 P:envMxdizc
$80/C2F1 84 00       STY $00    [$00:0000]   A:0007 X:0002 Y:070B P:envMxdizc
$80/C2F3 22 B6 8A 82 JSL $828AB6[$82:8AB6]   A:0007 X:0002 Y:070B P:envMxdizc
$80/C2F7 A5 02       LDA $02    [$00:0002]   A:000B X:0002 Y:070B P:eNvMxdizc
$80/C2F9 9D D6 1C    STA $1CD6,x[$80:1CD8]   A:000B X:0002 Y:070B P:envMxdizc
$80/C2FC A5 03       LDA $03    [$00:0003]   A:000B X:0002 Y:070B P:envMxdizc
$80/C2FE 9D D7 1C    STA $1CD7,x[$80:1CD9]   A:0007 X:0002 Y:070B P:envMxdizc
$80/C301 BD C7 1D    LDA $1DC7,x[$80:1DC9]   A:0007 X:0002 Y:070B P:envMxdizc
$80/C304 48          PHA                     A:0000 X:0002 Y:070B P:envMxdiZc
$80/C305 7B          TDC                     A:0000 X:0002 Y:070B P:envMxdiZc
$80/C306 A5 03       LDA $03    [$00:0003]   A:0000 X:0002 Y:070B P:envMxdiZc
$80/C308 EB          XBA                     A:0007 X:0002 Y:070B P:envMxdizc
$80/C309 C2 20       REP #$20                A:0700 X:0002 Y:070B P:envMxdiZc
$80/C30B 4A          LSR A                   A:0700 X:0002 Y:070B P:envmxdiZc
$80/C30C 4A          LSR A                   A:0380 X:0002 Y:070B P:envmxdizc
$80/C30D 4A          LSR A                   A:01C0 X:0002 Y:070B P:envmxdizc
$80/C30E E2 20       SEP #$20                A:00E0 X:0002 Y:070B P:envmxdizc
$80/C310 05 02       ORA $02    [$00:0002]   A:00E0 X:0002 Y:070B P:envMxdizc
$80/C312 AA          TAX                     A:00EB X:0002 Y:070B P:eNvMxdizc
$80/C313 68          PLA                     A:00EB X:00EB Y:070B P:envMxdizc
$80/C314 20 7E C2    JSR $C27E  [$80:C27E]   A:0000 X:00EB Y:070B P:envMxdiZc
$80/C317 A6 39       LDX $39    [$00:0039]   A:0003 X:00EB Y:070B P:envMxdizc
$80/C319 9D C6 1D    STA $1DC6,x[$80:1DC8]   A:0003 X:0002 Y:070B P:envMxdizc
$80/C31C 22 8C B8 80 JSL $80B88C[$80:B88C]   A:0003 X:0002 Y:070B P:envMxdizc
$80/C320 BC 3E 1E    LDY $1E3E,x[$80:1E40]   A:0001 X:0002 Y:070B P:eNvMxdizc
$80/C323 99 03 06    STA $0603,y[$80:0605]   A:0001 X:0002 Y:0002 P:envMxdizc
$80/C326 BD D6 1C    LDA $1CD6,x[$80:1CD8]   A:0001 X:0002 Y:0002 P:envMxdizc
$80/C329 99 04 0A    STA $0A04,y[$80:0A06]   A:000B X:0002 Y:0002 P:envMxdizc
$80/C32C BD D7 1C    LDA $1CD7,x[$80:1CD9]   A:000B X:0002 Y:0002 P:envMxdizc
$80/C32F 99 44 0A    STA $0A44,y[$80:0A46]   A:0007 X:0002 Y:0002 P:envMxdizc
$80/C332 BD C6 1D    LDA $1DC6,x[$80:1DC8]   A:0007 X:0002 Y:0002 P:envMxdizc
$80/C335 0A          ASL A                   A:0003 X:0002 Y:0002 P:envMxdizc
$80/C336 99 84 0A    STA $0A84,y[$80:0A86]   A:0006 X:0002 Y:0002 P:envMxdizc
$80/C339 B9 03 07    LDA $0703,y[$80:0705]   A:0006 X:0002 Y:0002 P:envMxdizc
$80/C33C 29 BF       AND #$BF                A:0004 X:0002 Y:0002 P:envMxdizc
$80/C33E 85 00       STA $00    [$00:0000]   A:0004 X:0002 Y:0002 P:envMxdizc
$80/C340 BD 6E 1B    LDA $1B6E,x[$80:1B70]   A:0004 X:0002 Y:0002 P:envMxdizc
$80/C343 4A          LSR A                   A:0001 X:0002 Y:0002 P:envMxdizc
$80/C344 90 04       BCC $04    [$C34A]      A:0000 X:0002 Y:0002 P:envMxdiZC
$80/C346 A9 40       LDA #$40                A:0000 X:0002 Y:0002 P:envMxdiZC
$80/C348 04 00       TSB $00    [$00:0000]   A:0040 X:0002 Y:0002 P:envMxdizC
$80/C34A A5 00       LDA $00    [$00:0000]   A:0040 X:0002 Y:0002 P:envMxdiZC
$80/C34C 99 03 07    STA $0703,y[$80:0705]   A:0044 X:0002 Y:0002 P:envMxdizC
$80/C34F A9 01       LDA #$01                A:0044 X:0002 Y:0002 P:envMxdizC
$80/C351 99 43 08    STA $0843,y[$80:0845]   A:0001 X:0002 Y:0002 P:envMxdizC
$80/C354 BB          TYX                     A:0001 X:0002 Y:0002 P:envMxdizC
$80/C355 20 A4 99    JSR $99A4  [$80:99A4]   A:0001 X:0002 Y:0002 P:envMxdizC
$80/C358 A6 39       LDX $39    [$00:0039]   A:8107 X:0002 Y:0002 P:envMxdizc
$80/C35A 20 75 88    JSR $8875  [$80:8875]   A:8107 X:0002 Y:0002 P:envMxdizc
$80/C35D 7A          PLY           ; Restore $00/$01 from Stack
$80/C35E 84 00       STY $00
$80/C360 7A          PLY           ; Restore Y and X from Stack
$80/C361 FA          PLX
$80/C362 60          RTS

$80/C363 ?

$80/C363 7B          TDC                     A:0007 X:0006 Y:001A P:envMxdizc
$80/C364 BD 83 08    LDA $0883,x[$80:0889]   A:0000 X:0006 Y:001A P:envMxdiZc
$80/C367 0A          ASL A                   A:0000 X:0006 Y:001A P:envMxdiZc
$80/C368 AA          TAX                     A:0000 X:0006 Y:001A P:envMxdiZc
$80/C369 FC 6D C3    JSR ($C36D,x)[$80:C375] A:0000 X:0000 Y:001A P:envMxdiZc
$80/C36C 60          RTS                     A:0988 X:0006 Y:001A P:envMxdizc

$80/C36D ? Jump Table for the subroutine above

$80/C36D 75 C3 --- Entry #00, $80/C375
$80/C36F A3 C3 --- Entry #01, $80/C3A3
$80/C371 8B C3 --- Entry #02, $80/C38B
$80/C373 B9 C3 --- Entry #03, $80/C3B9

$80/C375 ?

$80/C375 A6 3B       LDX $3B    [$00:003B]   A:0000 X:0000 Y:001A P:envMxdiZc
$80/C377 C2 20       REP #$20      ; A = 16-bit
$80/C379 BD 03 0A    LDA $0A03,x[$80:0A09]   A:0000 X:0006 Y:001A P:envmxdizc
$80/C37C C9 80 20    CMP #$2080              A:0980 X:0006 Y:001A P:envmxdizc
$80/C37F B0 07       BCS $07       ; [$C388] Exit
$80/C381 18          CLC                     A:0980 X:0006 Y:001A P:eNvmxdizc
$80/C382 7D C3 0A    ADC $0AC3,x[$80:0AC9]   A:0980 X:0006 Y:001A P:eNvmxdizc
$80/C385 9D 03 0A    STA $0A03,x[$80:0A09]   A:0988 X:0006 Y:001A P:envmxdizc
$80/C388 E2 20       SEP #$20      ; A = 8-bit
$80/C38A 60          RTS

$80/C38B ?

$80/C38B A6 3B       LDX $3B    [$00:003B]   A:0004 X:0004 Y:000C P:envMxdizc
$80/C38D C2 20       REP #$20      ; A = 16-bit
$80/C38F BD 03 0A    LDA $0A03,x[$80:0A0D]   A:0004 X:000A Y:000C P:envmxdizc
$80/C392 C9 80 01    CMP #$0180              A:0580 X:000A Y:000C P:envmxdizc
$80/C395 90 09       BCC $09       ; [$C3A0] Exit
$80/C397 F0 07       BEQ $07       ; [$C3A0] Exit if equal
$80/C399 38          SEC                     A:0580 X:000A Y:000C P:envmxdizC
$80/C39A FD C3 0A    SBC $0AC3,x[$80:0ACD]   A:0580 X:000A Y:000C P:envmxdizC
$80/C39D 9D 03 0A    STA $0A03,x[$80:0A0D]   A:0578 X:000A Y:000C P:envmxdizC
$80/C3A0 E2 20       SEP #$20      ; A = 8-bit
$80/C3A2 60          RTS

$80/C3A3 ?

$80/C3A3 A6 3B       LDX $3B    [$00:003B]   A:0002 X:0002 Y:001A P:envMxdizc
$80/C3A5 C2 20       REP #$20      ; A = 16-bit
$80/C3A7 BD 43 0A    LDA $0A43,x[$80:0A4D]   A:0002 X:000A Y:001A P:envmxdizc
$80/C3AA C9 80 20    CMP #$2080              A:0280 X:000A Y:001A P:envmxdizc
$80/C3AD B0 07       BCS $07       ; [$C3B6] Exit
$80/C3AF 18          CLC                     A:0280 X:000A Y:001A P:eNvmxdizc
$80/C3B0 7D 03 0B    ADC $0B03,x[$80:0B0D]   A:0280 X:000A Y:001A P:eNvmxdizc
$80/C3B3 9D 43 0A    STA $0A43,x[$80:0A4D]   A:0288 X:000A Y:001A P:envmxdizc
$80/C3B6 E2 20       SEP #$20      ; A = 8-bit
$80/C3B8 60          RTS

$80/C3B9 ?

$80/C3B9 A6 3B       LDX $3B    [$00:003B]   A:0006 X:0006 Y:000C P:envMxdizc
$80/C3BB C2 20       REP #$20      ; A = 16-bit
$80/C3BD BD 43 0A    LDA $0A43,x[$80:0A51]   A:0006 X:000E Y:000C P:envmxdizc
$80/C3C0 C9 80 01    CMP #$0180              A:0680 X:000E Y:000C P:envmxdizc
$80/C3C3 90 09       BCC $09       ; [$C3CE] Exit
$80/C3C5 F0 07       BEQ $07       ; [$C3CE] Exit if equal
$80/C3C7 38          SEC                     A:0680 X:000E Y:000C P:envmxdizC
$80/C3C8 FD 03 0B    SBC $0B03,x[$80:0B11]   A:0680 X:000E Y:000C P:envmxdizC
$80/C3CB 9D 43 0A    STA $0A43,x[$80:0A51]   A:0678 X:000E Y:000C P:envmxdizC
$80/C3CE E2 20       SEP #$20      ; A = 8-bit
$80/C3D0 60          RTS

$80/C3D1 ?

$80/C3D1 BD 43 0B    LDA $0B43,x[$80:0B49]   A:0006 X:0006 Y:0000 P:envMxdizC
$80/C3D4 18          CLC                     A:00FF X:0006 Y:0000 P:eNvMxdizC
$80/C3D5 7D C3 0B    ADC $0BC3,x[$80:0BC9]   A:00FF X:0006 Y:0000 P:eNvMxdizc
$80/C3D8 9D C3 0B    STA $0BC3,x[$80:0BC9]   A:00FF X:0006 Y:0000 P:eNvMxdizc
$80/C3DB 7B          TDC                     A:00FF X:0006 Y:0000 P:eNvMxdizc
$80/C3DC BD 44 0B    LDA $0B44,x[$80:0B4A]   A:0000 X:0006 Y:0000 P:envMxdiZc
$80/C3DF 10 03       BPL $03    [$C3E4]      A:00FF X:0006 Y:0000 P:eNvMxdizc
$80/C3E1 EB          XBA                     A:00FF X:0006 Y:0000 P:eNvMxdizc
$80/C3E2 3A          DEC A                   A:FF00 X:0006 Y:0000 P:envMxdiZc
$80/C3E3 EB          XBA                     A:FFFF X:0006 Y:0000 P:eNvMxdizc
$80/C3E4 C2 20       REP #$20                A:FFFF X:0006 Y:0000 P:eNvMxdizc
$80/C3E6 0A          ASL A                   A:FFFF X:0006 Y:0000 P:eNvmxdizc
$80/C3E7 0A          ASL A                   A:FFFE X:0006 Y:0000 P:eNvmxdizC
$80/C3E8 18          CLC                     A:FFFC X:0006 Y:0000 P:eNvmxdizC
$80/C3E9 7D 83 0A    ADC $0A83,x[$80:0A89]   A:FFFC X:0006 Y:0000 P:eNvmxdizc
$80/C3EC 9D 83 0A    STA $0A83,x[$80:0A89]   A:07FC X:0006 Y:0000 P:envmxdizC
$80/C3EF BD 43 0B    LDA $0B43,x[$80:0B49]   A:07FC X:0006 Y:0000 P:envmxdizC
$80/C3F2 08          PHP                     A:FFFF X:0006 Y:0000 P:eNvmxdizC
$80/C3F3 38          SEC                     A:FFFF X:0006 Y:0000 P:eNvmxdizC
$80/C3F4 E9 00 08    SBC #$0800              A:FFFF X:0006 Y:0000 P:eNvmxdizC
$80/C3F7 30 05       BMI $05    [$C3FE]      A:F7FF X:0006 Y:0000 P:eNvmxdizC
code is missing here
$80/C3FE 28          PLP                     A:F7FF X:0006 Y:0000 P:eNvmxdizC
$80/C3FF 9D 43 0B    STA $0B43,x[$80:0B49]   A:F7FF X:0006 Y:0000 P:eNvmxdizC
$80/C402 E2 20       SEP #$20                A:F7FF X:0006 Y:0000 P:eNvmxdizC
$80/C404 60          RTS                     A:F7FF X:0006 Y:0000 P:eNvMxdizC

$80/CE21 ?

$80/CE21 9B          TXY                     A:FFFF X:0006 Y:0006 P:eNvMxdizC
$80/CE22 20 7C B8    JSR $B87C  [$80:B87C]   A:FFFF X:0006 Y:0006 P:envMxdizC
$80/CE25 90 03       BCC $03    [$CE2A]      A:FF00 X:0008 Y:0006 P:envMxdiZc
code is missing here
$80/CE2A 86 3B       STX $3B    [$00:003B]   A:FF00 X:0008 Y:0006 P:envMxdiZc
$80/CE2C B9 04 0A    LDA $0A04,y[$80:0A0A]   A:FF00 X:0008 Y:0006 P:envMxdiZc
$80/CE2F 85 00       STA $00    [$00:0000]   A:FF09 X:0008 Y:0006 P:envMxdizc
$80/CE31 B9 44 0A    LDA $0A44,y[$80:0A4A]   A:FF09 X:0008 Y:0006 P:envMxdizc
$80/CE34 85 01       STA $01    [$00:0001]   A:FF07 X:0008 Y:0006 P:envMxdizc
$80/CE36 B9 84 0A    LDA $0A84,y[$80:0A8A]   A:FF07 X:0008 Y:0006 P:envMxdizc
$80/CE39 85 02       STA $02    [$00:0002]   A:FF08 X:0008 Y:0006 P:envMxdizc
$80/CE3B 5A          PHY                     A:FF08 X:0008 Y:0006 P:envMxdizc
$80/CE3C A0 03 00    LDY #$0003              A:FF08 X:0008 Y:0006 P:envMxdizc
$80/CE3F A9 CA       LDA #$CA                A:FF08 X:0008 Y:0003 P:envMxdizc
$80/CE41 22 C6 81 8B JSL $8B81C6[$8B:81C6]   A:FFCA X:0008 Y:0003 P:eNvMxdizc
$80/CE45 7A          PLY                     A:0709 X:0008 Y:0003 P:eNvMxdizc
$80/CE46 98          TYA                     A:0709 X:0008 Y:0006 P:envMxdizc
$80/CE47 9D C4 08    STA $08C4,x[$80:08CC]   A:0706 X:0008 Y:0006 P:envMxdizc
$80/CE4A A5 09       LDA $09    [$00:0009]   A:0706 X:0008 Y:0006 P:envMxdizc
$80/CE4C 29 38       AND #$38                A:0706 X:0008 Y:0006 P:envMxdizc
$80/CE4E 09 06       ORA #$06                A:0700 X:0008 Y:0006 P:envMxdiZc
$80/CE50 9D 03 07    STA $0703,x[$80:070B]   A:0706 X:0008 Y:0006 P:envMxdizc
$80/CE53 B9 C4 0B    LDA $0BC4,y[$80:0BCA]   A:0706 X:0008 Y:0006 P:envMxdizc
$80/CE56 9D C4 0B    STA $0BC4,x[$80:0BCC]   A:0704 X:0008 Y:0006 P:envMxdizc
$80/CE59 9E 83 0C    STZ $0C83,x[$80:0C8B]   A:0704 X:0008 Y:0006 P:envMxdizc
$80/CE5C 9E C3 0C    STZ $0CC3,x[$80:0CCB]   A:0704 X:0008 Y:0006 P:envMxdizc
$80/CE5F 20 A4 99    JSR $99A4  [$80:99A4]   A:0704 X:0008 Y:0006 P:envMxdizc
$80/CE62 20 9A 9B    JSR $9B9A  [$80:9B9A]   A:8107 X:0008 Y:0006 P:envMxdizc
$80/CE65 60          RTS                     A:FFFF X:0008 Y:0008 P:eNvMxdizC

$80/CE66 ?

$80/CE66 8B          PHB           ; Buffer Program Bank on stack
$80/CE67 4B          PHK           ; Set Program Bank to $80
$80/CE68 AB          PLB
$80/CE69 48          PHA           ; Buffer 16-bit A on stack
$80/CE6A EB          XBA
$80/CE6B 48          PHA
$80/CE6C A6 91       LDX $91    [$00:0091]   A:0000 X:0004 Y:339D P:envMxdiZC
$80/CE6E BD DF 19    LDA $19DF,x[$80:19E3]   A:0000 X:0004 Y:339D P:envMxdizC
$80/CE71 89 40       BIT #$40                A:0040 X:0004 Y:339D P:envMxdizC
$80/CE73 D0 08       BNE $08    [$CE7D]      A:0040 X:0004 Y:339D P:envMxdizC
code is missing here
$80/CE7D BC 3E 1E    LDY $1E3E,x[$80:1E42]   A:0040 X:0004 Y:339D P:envMxdizC
$80/CE80 B9 04 07    LDA $0704,y[$80:0708]   A:0040 X:0004 Y:0004 P:envMxdizC
$80/CE83 09 01       ORA #$01                A:0000 X:0004 Y:0004 P:envMxdiZC
$80/CE85 99 04 07    STA $0704,y[$80:0708]   A:0001 X:0004 Y:0004 P:envMxdizC
$80/CE88 B9 03 07    LDA $0703,y[$80:0707]   A:0001 X:0004 Y:0004 P:envMxdizC
$80/CE8B 85 09       STA $09    [$00:0009]   A:0006 X:0004 Y:0004 P:envMxdizC
$80/CE8D BB          TYX                     A:0006 X:0004 Y:0004 P:envMxdizC
$80/CE8E 20 7C B8    JSR $B87C  [$80:B87C]   A:0006 X:0004 Y:0004 P:envMxdizC
$80/CE91 90 03       BCC $03    [$CE96]      A:0000 X:0006 Y:0004 P:envMxdiZc
code is missing here
$80/CE96 8A          TXA                     A:0000 X:0006 Y:0004 P:envMxdiZc
$80/CE97 99 C4 08    STA $08C4,y[$80:08C8]   A:0006 X:0006 Y:0004 P:envMxdizc
$80/CE9A B9 04 0A    LDA $0A04,y[$80:0A08]   A:0006 X:0006 Y:0004 P:envMxdizc
$80/CE9D 85 00       STA $00    [$00:0000]   A:0009 X:0006 Y:0004 P:envMxdizc
$80/CE9F B9 44 0A    LDA $0A44,y[$80:0A48]   A:0009 X:0006 Y:0004 P:envMxdizc
$80/CEA2 85 01       STA $01    [$00:0001]   A:0007 X:0006 Y:0004 P:envMxdizc
$80/CEA4 B9 84 0A    LDA $0A84,y[$80:0A88]   A:0007 X:0006 Y:0004 P:envMxdizc
$80/CEA7 85 02       STA $02    [$00:0002]   A:0008 X:0006 Y:0004 P:envMxdizc
$80/CEA9 7B          TDC                     A:0008 X:0006 Y:0004 P:envMxdizc
$80/CEAA B9 C4 0B    LDA $0BC4,y[$80:0BC8]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/CEAD 48          PHA                     A:0004 X:0006 Y:0004 P:envMxdizc
$80/CEAE DA          PHX                     A:0004 X:0006 Y:0004 P:envMxdizc
$80/CEAF AA          TAX                     A:0004 X:0006 Y:0004 P:envMxdizc
$80/CEB0 22 D9 A5 88 JSL $88A5D9[$88:A5D9]   A:0004 X:0004 Y:0004 P:envMxdizc
$80/CEB4 C9 14       CMP #$14                A:0001 X:0004 Y:0004 P:envMxdizc
$80/CEB6 D0 02       BNE $02    [$CEBA]      A:0001 X:0004 Y:0004 P:eNvMxdizc
code is missing here
$80/CEBA FA          PLX                     A:0001 X:0004 Y:0004 P:eNvMxdizc
$80/CEBB A0 01 00    LDY #$0001              A:0001 X:0006 Y:0004 P:envMxdizc
$80/CEBE 22 C6 81 8B JSL $8B81C6[$8B:81C6]   A:0001 X:0006 Y:0001 P:envMxdizc
$80/CEC2 68          PLA                     A:0709 X:0006 Y:0001 P:eNvMxdizc
$80/CEC3 9D C4 0B    STA $0BC4,x[$80:0BCA]   A:0704 X:0006 Y:0001 P:envMxdizc
$80/CEC6 68          PLA                     A:0704 X:0006 Y:0001 P:envMxdizc
$80/CEC7 9D 04 0E    STA $0E04,x[$80:0E0A]   A:0700 X:0006 Y:0001 P:envMxdiZc
$80/CECA 68          PLA                     A:0700 X:0006 Y:0001 P:envMxdiZc
$80/CECB 9D 03 0E    STA $0E03,x[$80:0E09]   A:0700 X:0006 Y:0001 P:envMxdiZc
$80/CECE A5 09       LDA $09    [$00:0009]   A:0700 X:0006 Y:0001 P:envMxdiZc
$80/CED0 9D 03 07    STA $0703,x[$80:0709]   A:0706 X:0006 Y:0001 P:envMxdizc
$80/CED3 A9 05       LDA #$05                A:0706 X:0006 Y:0001 P:envMxdizc
$80/CED5 9D C3 08    STA $08C3,x[$80:08C9]   A:0705 X:0006 Y:0001 P:envMxdizc
$80/CED8 A9 00       LDA #$00                A:0705 X:0006 Y:0001 P:envMxdizc
$80/CEDA 9D 44 06    STA $0644,x[$80:064A]   A:0700 X:0006 Y:0001 P:envMxdiZc
$80/CEDD AD EC 1E    LDA $1EEC  [$80:1EEC]   A:0700 X:0006 Y:0001 P:envMxdiZc
$80/CEE0 9D C3 06    STA $06C3,x[$80:06C9]   A:0720 X:0006 Y:0001 P:envMxdizc
$80/CEE3 A9 01       LDA #$01                A:0720 X:0006 Y:0001 P:envMxdizc
$80/CEE5 9D 04 09    STA $0904,x[$80:090A]   A:0701 X:0006 Y:0001 P:envMxdizc
$80/CEE8 A9 10       LDA #$10                A:0701 X:0006 Y:0001 P:envMxdizc
$80/CEEA 9D 84 08    STA $0884,x[$80:088A]   A:0710 X:0006 Y:0001 P:envMxdizc
$80/CEED A4 91       LDY $91    [$00:0091]   A:0710 X:0006 Y:0001 P:envMxdizc
$80/CEEF B9 C7 1D    LDA $1DC7,y[$80:1DCB]   A:0710 X:0006 Y:0004 P:envMxdizc
$80/CEF2 4A          LSR A                   A:0701 X:0006 Y:0004 P:envMxdizc
$80/CEF3 4A          LSR A                   A:0700 X:0006 Y:0004 P:envMxdiZC
$80/CEF4 C9 03       CMP #$03                A:0700 X:0006 Y:0004 P:envMxdiZc
$80/CEF6 D0 12       BNE $12    [$CF0A]      A:0700 X:0006 Y:0004 P:eNvMxdizc
code is missing here
$80/CF0A B9 C7 1D    LDA $1DC7,y[$80:1DCB]   A:0700 X:0006 Y:0004 P:eNvMxdizc
$80/CF0D 29 03       AND #$03                A:0701 X:0006 Y:0004 P:envMxdizc
$80/CF0F C9 02       CMP #$02                A:0701 X:0006 Y:0004 P:envMxdizc
$80/CF11 D0 0A       BNE $0A    [$CF1D]      A:0701 X:0006 Y:0004 P:eNvMxdizc
code is missing here
$80/CF1D BD 04 0E    LDA $0E04,x[$80:0E0A]   A:0701 X:0006 Y:0004 P:eNvMxdizc
$80/CF20 9D C3 0C    STA $0CC3,x[$80:0CC9]   A:0700 X:0006 Y:0004 P:envMxdiZc
$80/CF23 A5 61       LDA $61    [$00:0061]   A:0700 X:0006 Y:0004 P:envMxdiZc
$80/CF25 9D 43 0E    STA $0E43,x[$80:0E49]   A:070A X:0006 Y:0004 P:envMxdizc
$80/CF28 A5 63       LDA $63    [$00:0063]   A:070A X:0006 Y:0004 P:envMxdizc
$80/CF2A 9D 44 0E    STA $0E44,x[$80:0E4A]   A:0707 X:0006 Y:0004 P:envMxdizc
$80/CF2D A5 08       LDA $08    [$00:0008]   A:0707 X:0006 Y:0004 P:envMxdizc
$80/CF2F F0 3D       BEQ $3D    [$CF6E]      A:0700 X:0006 Y:0004 P:envMxdiZc
code is missing here
$80/CF6E 20 A4 99    JSR $99A4  [$80:99A4]   A:0700 X:0006 Y:0004 P:envMxdiZc
$80/CF71 20 9A 9B    JSR $9B9A  [$80:9B9A]   A:8107 X:0006 Y:0004 P:envMxdizc
$80/CF74 DA          PHX                     A:FFFF X:0006 Y:0006 P:eNvMxdizC
$80/CF75 20 21 CE    JSR $CE21  [$80:CE21]   A:FFFF X:0006 Y:0006 P:eNvMxdizC
$80/CF78 FA          PLX           ; Restore Original 16-bit A in X from stack
$80/CF79 AB          PLB           ; Restore Program Bank from stack
$80/CF7A 6B          RTL

$80/CF7B ?

$80/CF7B 7B          TDC                     A:00FF X:0006 Y:0002 P:envMxdiZC
$80/CF7C BD C4 0B    LDA $0BC4,x[$80:0BCA]   A:0000 X:0006 Y:0002 P:envMxdiZC
$80/CF7F A8          TAY                     A:0004 X:0006 Y:0002 P:envMxdizC
$80/CF80 84 39       STY $39    [$00:0039]   A:0004 X:0006 Y:0004 P:envMxdizC
$80/CF82 7B          TDC                     A:0004 X:0006 Y:0004 P:envMxdizC
$80/CF83 BD 04 0E    LDA $0E04,x[$80:0E0A]   A:0000 X:0006 Y:0004 P:envMxdiZC
$80/CF86 AA          TAX                     A:0002 X:0006 Y:0004 P:envMxdizC
$80/CF87 BF DF D2 7E LDA $7ED2DF,x[$7E:D2E1] A:0002 X:0002 Y:0004 P:envMxdizC
$80/CF8B C9 FF       CMP #$FF                A:00FF X:0002 Y:0004 P:eNvMxdizC
$80/CF8D F0 04       BEQ $04    [$CF93]      A:00FF X:0002 Y:0004 P:envMxdiZC
code is missing here
$80/CF93 CA          DEX                     A:00FF X:0002 Y:0004 P:envMxdiZC
$80/CF94 BF DF D2 7E LDA $7ED2DF,x[$7E:D2E0] A:00FF X:0001 Y:0004 P:envMxdizC
$80/CF98 99 6E 1B    STA $1B6E,y[$80:1B72]   A:0000 X:0001 Y:0004 P:envMxdiZC
$80/CF9B A6 3B       LDX $3B    [$00:003B]   A:0000 X:0001 Y:0004 P:envMxdiZC
$80/CF9D BD 43 0E    LDA $0E43,x[$80:0E49]   A:0000 X:0006 Y:0004 P:envMxdizC
$80/CFA0 85 02       STA $02    [$00:0002]   A:000A X:0006 Y:0004 P:envMxdizC
$80/CFA2 BD 44 0E    LDA $0E44,x[$80:0E4A]   A:000A X:0006 Y:0004 P:envMxdizC
$80/CFA5 85 03       STA $03    [$00:0003]   A:0007 X:0006 Y:0004 P:envMxdizC
$80/CFA7 20 E8 C2    JSR $C2E8  [$80:C2E8]   A:0007 X:0006 Y:0004 P:envMxdizC
$80/CFAA A6 3B       LDX $3B    [$00:003B]   A:8134 X:0006 Y:0004 P:envMxdizc
$80/CFAC 20 78 DA    JSR $DA78  [$80:DA78]   A:8134 X:0006 Y:0004 P:envMxdizc
$80/CFAF 60          RTS                     A:0001 X:0006 Y:0004 P:envMxdizc

$80/CFB0 ?

$80/CFB0 7B          TDC                     A:0010 X:0016 Y:0010 P:envMxdizc
$80/CFB1 BD C4 08    LDA $08C4,x[$80:08DA]   A:0000 X:0016 Y:0010 P:envMxdiZc
$80/CFB4 A8          TAY                     A:0012 X:0016 Y:0010 P:envMxdizc
$80/CFB5 B9 03 06    LDA $0603,y[$80:0615]   A:0012 X:0016 Y:0012 P:envMxdizc
$80/CFB8 D0 03       BNE $03    [$CFBD]      A:0006 X:0016 Y:0012 P:envMxdizc
code is missing here
$80/CFBD C2 20       REP #$20                A:0006 X:0016 Y:0012 P:envMxdizc
$80/CFBF 38          SEC                     A:0006 X:0016 Y:0012 P:envmxdizc
$80/CFC0 B9 83 0A    LDA $0A83,y[$80:0A95]   A:0006 X:0016 Y:0012 P:envmxdizC
$80/CFC3 FD 83 0A    SBC $0A83,x[$80:0A99]   A:1C60 X:0016 Y:0012 P:envmxdizC
$80/CFC6 E2 20       SEP #$20                A:0660 X:0016 Y:0012 P:envmxdizC
$80/CFC8 90 08       BCC $08    [$CFD2]      A:0660 X:0016 Y:0012 P:envMxdizC
$80/CFCA EB          XBA                     A:0660 X:0016 Y:0012 P:envMxdizC
$80/CFCB C9 06       CMP #$06                A:6006 X:0016 Y:0012 P:envMxdizC
$80/CFCD 90 03       BCC $03    [$CFD2]      A:6006 X:0016 Y:0012 P:envMxdiZC
$80/CFCF 4C 6B D0    JMP $D06B  [$80:D06B]   A:6006 X:0016 Y:0012 P:envMxdiZC
code is missing here
$80/D06B BD 03 09    LDA $0903,x[$80:0919]   A:6006 X:0016 Y:0012 P:envMxdiZC
$80/D06E F0 0B       BEQ $0B    [$D07B]      A:6000 X:0016 Y:0012 P:envMxdiZC
code is missing here
$80/D07B 60          RTS                     A:6000 X:0016 Y:0012 P:envMxdiZC

$80/D09E ?

$80/D09E BD 03 09    LDA $0903,x[$80:0909]   A:0010 X:0006 Y:001A P:envMxdizc
$80/D0A1 D0 0C       BNE $0C    [$D0AF]      A:0008 X:0006 Y:001A P:envMxdizc
$80/D0A3 20 24 D1    JSR $D124  [$80:D124]   A:0000 X:0006 Y:000C P:envMxdiZc
$80/D0A6 90 07       BCC $07    [$D0AF]      A:0013 X:0006 Y:0020 P:envMxdizc
$80/D0A8 20 A7 D1    JSR $D1A7  [$80:D1A7]   A:00FF X:0006 Y:002C P:envMxdiZC
$80/D0AB 90 F6       BCC $F6    ; [$D0A3] Branch if no Error has occured
$80/D0AD 80 71       BRA $71    ; [$D120] Branch if Error has occured
$80/D0AF DE 03 09    DEC $0903,x[$80:0909]   A:0008 X:0006 Y:001A P:envMxdizc
$80/D0B2 BD 04 0A    LDA $0A04,x[$80:0A0A]   A:0008 X:0006 Y:001A P:envMxdizc
$80/D0B5 48          PHA                     A:0009 X:0006 Y:001A P:envMxdizc
$80/D0B6 BD 44 0A    LDA $0A44,x[$80:0A4A]   A:0009 X:0006 Y:001A P:envMxdizc
$80/D0B9 48          PHA                     A:0007 X:0006 Y:001A P:envMxdizc
$80/D0BA 20 63 C3    JSR $C363  [$80:C363]   A:0007 X:0006 Y:001A P:envMxdizc
$80/D0BD 68          PLA                     A:0988 X:0006 Y:001A P:envMxdizc
$80/D0BE EB          XBA                     A:0907 X:0006 Y:001A P:envMxdizc
$80/D0BF 68          PLA                     A:0709 X:0006 Y:001A P:envMxdizc
$80/D0C0 DD 04 0A    CMP $0A04,x[$80:0A0A]   A:0709 X:0006 Y:001A P:envMxdizc
$80/D0C3 D0 06       BNE $06    [$D0CB]      A:0709 X:0006 Y:001A P:envMxdiZC
$80/D0C5 EB          XBA                     A:0709 X:0006 Y:001A P:envMxdiZC
$80/D0C6 DD 44 0A    CMP $0A44,x[$80:0A4A]   A:0907 X:0006 Y:001A P:envMxdizC
$80/D0C9 F0 03       BEQ $03    [$D0CE]      A:0907 X:0006 Y:001A P:envMxdiZC
$80/D0CB FE C3 0C    INC $0CC3,x[$80:0CC9]   A:0709 X:0006 Y:000C P:eNvMxdizc
$80/D0CE BD 03 07    LDA $0703,x[$80:0709]   A:0907 X:0006 Y:001A P:envMxdiZC
$80/D0D1 29 BF       AND #$BF                A:0906 X:0006 Y:001A P:envMxdizC
$80/D0D3 9D 03 07    STA $0703,x[$80:0709]   A:0906 X:0006 Y:001A P:envMxdizC
$80/D0D6 7B          TDC                     A:0906 X:0006 Y:001A P:envMxdizC
$80/D0D7 BD 83 08    LDA $0883,x[$80:0889]   A:0000 X:0006 Y:001A P:envMxdiZC
$80/D0DA A8          TAY                     A:0000 X:0006 Y:001A P:envMxdiZC
$80/D0DB B9 6D B8    LDA $B86D,y[$80:B86D]   A:0000 X:0006 Y:0000 P:envMxdiZC
$80/D0DE 1D 03 07    ORA $0703,x[$80:0709]   A:0000 X:0006 Y:0000 P:envMxdiZC
$80/D0E1 9D 03 07    STA $0703,x[$80:0709]   A:0006 X:0006 Y:0000 P:envMxdizC
$80/D0E4 20 D1 C3    JSR $C3D1  [$80:C3D1]   A:0006 X:0006 Y:0000 P:envMxdizC
$80/D0E7 DA          PHX                     A:F7FF X:0006 Y:0000 P:eNvMxdizC
$80/D0E8 7B          TDC                     A:F7FF X:0006 Y:0000 P:eNvMxdizC
$80/D0E9 BD C3 0C    LDA $0CC3,x[$80:0CC9]   A:0000 X:0006 Y:0000 P:envMxdiZC
$80/D0EC AA          TAX                     A:0000 X:0006 Y:0000 P:envMxdiZC
$80/D0ED BF 00 F9 7F LDA $7FF900,x[$7F:F900] A:0000 X:0000 Y:0000 P:envMxdiZC
$80/D0F1 FA          PLX                     A:0004 X:0000 Y:0000 P:envMxdizC
$80/D0F2 0A          ASL A                   A:0004 X:0006 Y:0000 P:envMxdizC
$80/D0F3 85 01       STA $01    [$00:0001]   A:0008 X:0006 Y:0000 P:envMxdizc
$80/D0F5 64 00       STZ $00    [$00:0000]   A:0008 X:0006 Y:0000 P:envMxdizc
$80/D0F7 C2 20       REP #$20                A:0008 X:0006 Y:0000 P:envMxdizc
$80/D0F9 BD 83 0A    LDA $0A83,x[$80:0A89]   A:0008 X:0006 Y:0000 P:envmxdizc
$80/D0FC 38          SEC                     A:07FC X:0006 Y:0000 P:envmxdizc
$80/D0FD E5 00       SBC $00    [$00:0000]   A:07FC X:0006 Y:0000 P:envmxdizC
$80/D0FF E2 20       SEP #$20                A:FFFC X:0006 Y:0000 P:eNvmxdizc
$80/D101 7B          TDC                     A:FFFC X:0006 Y:0000 P:eNvMxdizc
$80/D102 B0 11       BCS $11    [$D115]      A:0000 X:0006 Y:0000 P:envMxdiZc
$80/D104 C2 20       REP #$20                A:0000 X:0006 Y:0000 P:envMxdiZc
$80/D106 A5 00       LDA $00    [$00:0000]   A:0000 X:0006 Y:0000 P:envmxdiZc
$80/D108 9D 83 0A    STA $0A83,x[$80:0A89]   A:0800 X:0006 Y:0000 P:envmxdizc
$80/D10B A9 FF FF    LDA #$FFFF              A:0800 X:0006 Y:0000 P:envmxdizc
$80/D10E 9D 43 0B    STA $0B43,x[$80:0B49]   A:FFFF X:0006 Y:0000 P:eNvmxdizc
$80/D111 E2 20       SEP #$20                A:FFFF X:0006 Y:0000 P:eNvmxdizc
$80/D113 A9 01       LDA #$01                A:FFFF X:0006 Y:0000 P:eNvMxdizc
$80/D115 9D 04 09    STA $0904,x[$80:090A]   A:FF01 X:0006 Y:0000 P:envMxdizc
$80/D118 20 B2 D3    JSR $D3B2  [$80:D3B2]   A:FF01 X:0006 Y:0000 P:envMxdizc
$80/D11B 20 50 D4    JSR $D450  [$80:D450]   A:0001 X:0006 Y:0004 P:envMxdiZC
$80/D11E 80 03       BRA $03    [$D123]      A:6201 X:0006 Y:0004 P:envMxdizc
$80/D120 20 7B CF    JSR $CF7B  [$80:CF7B]   A:00FF X:0006 Y:0002 P:envMxdiZC
$80/D123 60          RTS                     A:6201 X:0006 Y:0004 P:envMxdizc

$80/D124 ?

$80/D124 7B          TDC                     A:00FF X:0006 Y:0002 P:envMxdizc
$80/D125 BD C4 08    LDA $08C4,x[$80:08CA]   A:0000 X:0006 Y:0002 P:envMxdiZc
$80/D128 29 7F       AND #$7F                A:000D X:0006 Y:0002 P:envMxdizc
$80/D12A 0A          ASL A                   A:000D X:0006 Y:0002 P:envMxdizc
$80/D12B A8          TAY                     A:001A X:0006 Y:0002 P:envMxdizc
$80/D12C B9 66 D2    LDA $D266,y[$80:D280]   A:001A X:0006 Y:001A P:envMxdizc
$80/D12F 10 10       BPL $10    [$D141]      A:0000 X:0006 Y:001A P:envMxdiZc
$80/D131 C9 FF       CMP #$FF                A:0081 X:0006 Y:0026 P:eNvMxdizc
$80/D133 F0 70       BEQ $70    [$D1A5]      A:0081 X:0006 Y:0026 P:eNvMxdizc
$80/D135 BD 83 0C    LDA $0C83,x[$80:0C89]   A:0081 X:0006 Y:0026 P:eNvMxdizc
$80/D138 C9 80       CMP #$80                A:0000 X:0006 Y:0026 P:envMxdiZc
$80/D13A 49 80       EOR #$80                A:0000 X:0006 Y:0026 P:eNvMxdizc
$80/D13C 9D 83 0C    STA $0C83,x[$80:0C89]   A:0080 X:0006 Y:0026 P:eNvMxdizc
$80/D13F 80 04       BRA $04    [$D145]      A:0080 X:0006 Y:0026 P:eNvMxdizc
$80/D141 BD 83 0C    LDA $0C83,x[$80:0C89]   A:0000 X:0006 Y:001A P:envMxdiZc
$80/D144 0A          ASL A                   A:0000 X:0006 Y:001A P:envMxdiZc
$80/D145 B9 66 D2    LDA $D266,y[$80:D280]   A:0000 X:0006 Y:001A P:envMxdiZc
$80/D148 5A          PHY                     A:0000 X:0006 Y:001A P:envMxdiZc
$80/D149 2A          ROL A                   A:0000 X:0006 Y:001A P:envMxdiZc
$80/D14A A8          TAY                     A:0000 X:0006 Y:001A P:envMxdiZc
$80/D14B B9 4E D3    LDA $D34E,y[$80:D34E]   A:0000 X:0006 Y:0000 P:envMxdiZc
$80/D14E 9D 04 06    STA $0604,x[$80:060A]   A:0002 X:0006 Y:0000 P:envMxdizc
$80/D151 9D 44 0C    STA $0C44,x[$80:0C4A]   A:0002 X:0006 Y:0000 P:envMxdizc
$80/D154 7A          PLY                     A:0002 X:0006 Y:0000 P:envMxdizc
$80/D155 C2 20       REP #$20                A:0002 X:0006 Y:001A P:envMxdizc
$80/D157 B9 68 D2    LDA $D268,y[$80:D282]   A:0002 X:0006 Y:001A P:envmxdizc
$80/D15A C9 00 80    CMP #$8000              A:0040 X:0006 Y:001A P:envmxdizc
$80/D15D 29 FF 7F    AND #$7FFF              A:0040 X:0006 Y:001A P:eNvmxdizc
$80/D160 8D 04 42    STA $4204  [$80:4204]   A:0040 X:0006 Y:001A P:envmxdizc
$80/D163 E2 20       SEP #$20                A:0040 X:0006 Y:001A P:envmxdizc
$80/D165 7B          TDC                     A:0040 X:0006 Y:001A P:envMxdizc
$80/D166 BD 84 08    LDA $0884,x[$80:088A]   A:0000 X:0006 Y:001A P:envMxdiZc
$80/D169 8D 06 42    STA $4206  [$80:4206]   A:0008 X:0006 Y:001A P:envMxdizc
$80/D16C 90 02       BCC $02    [$D170]      A:0008 X:0006 Y:001A P:envMxdizc
code is missing here
$80/D170 C2 20       REP #$20                A:0008 X:0006 Y:001A P:envMxdizc
$80/D172 9D C3 0A    STA $0AC3,x[$80:0AC9]   A:0008 X:0006 Y:001A P:envmxdizc
$80/D175 9D 03 0B    STA $0B03,x[$80:0B09]   A:0008 X:0006 Y:001A P:envmxdizc
$80/D178 BD 04 09    LDA $0904,x[$80:090A]   A:0008 X:0006 Y:001A P:envmxdizc
$80/D17B 4A          LSR A                   A:0001 X:0006 Y:001A P:envmxdizc
$80/D17C 90 08       BCC $08    [$D186]      A:0000 X:0006 Y:001A P:envmxdiZC
$80/D17E B9 6A D2    LDA $D26A,y[$80:D284]   A:0000 X:0006 Y:001A P:envmxdiZC
$80/D181 F0 03       BEQ $03    [$D186]      A:FFFF X:0006 Y:001A P:eNvmxdizC
$80/D183 9D 43 0B    STA $0B43,x[$80:0B49]   A:FFFF X:0006 Y:001A P:eNvmxdizC
$80/D186 E2 20       SEP #$20                A:FFFF X:0006 Y:001A P:eNvmxdizC
$80/D188 AD 14 42    LDA $4214  [$80:4214]   A:FFFF X:0006 Y:001A P:eNvMxdizC
$80/D18B 9D 03 09    STA $0903,x[$80:0909]   A:FF08 X:0006 Y:001A P:envMxdizC
$80/D18E C2 20       REP #$20                A:FF08 X:0006 Y:001A P:envMxdizC
$80/D190 98          TYA                     A:FF08 X:0006 Y:001A P:envmxdizC
$80/D191 4A          LSR A                   A:001A X:0006 Y:001A P:envmxdizC
$80/D192 E2 20       SEP #$20                A:000D X:0006 Y:001A P:envmxdizc
$80/D194 18          CLC                     A:000D X:0006 Y:001A P:envMxdizc
$80/D195 69 03       ADC #$03                A:000D X:0006 Y:001A P:envMxdizc
$80/D197 48          PHA                     A:0010 X:0006 Y:001A P:envMxdizc
$80/D198 BD C4 08    LDA $08C4,x[$80:08CA]   A:0010 X:0006 Y:001A P:envMxdizc
$80/D19B 29 80       AND #$80                A:000D X:0006 Y:001A P:envMxdizc
$80/D19D 03 01       ORA $01,s  [$00:1FC9]   A:0000 X:0006 Y:001A P:envMxdiZc
$80/D19F 9D C4 08    STA $08C4,x[$80:08CA]   A:0010 X:0006 Y:001A P:envMxdizc
$80/D1A2 68          PLA                     A:0010 X:0006 Y:001A P:envMxdizc
$80/D1A3 18          CLC                     A:0010 X:0006 Y:001A P:envMxdizc
$80/D1A4 60          RTS                     A:0010 X:0006 Y:001A P:envMxdizc
$80/D1A5 38          SEC                     A:00FF X:0006 Y:002C P:envMxdiZC
$80/D1A6 60          RTS                     A:00FF X:0006 Y:002C P:envMxdiZC

$80/D1A7 ?

This subroutine uses the Carry as Error Flag

$80/D1A7 A0 DF D2    LDY #$D2DF    ; Setup 24-bit address $7E/D2DF in [$20]
$80/D1AA 84 20       STY $20
$80/D1AC A9 7E       LDA #$7E
$80/D1AE 85 22       STA $22
$80/D1B0 7B          TDC           ; Clear 16-bit A
$80/D1B1 BD 04 0E    LDA $0E04,x[$80:0E0A]   A:0000 X:0006 Y:D2DF P:envMxdiZc
$80/D1B4 A8          TAY                     A:0000 X:0006 Y:D2DF P:envMxdiZc
$80/D1B5 B7 20       LDA [$20],y[$7E:D2DF]   A:0000 X:0006 Y:0000 P:envMxdiZc
$80/D1B7 C9 FF       CMP #$FF      ; Error?
$80/D1B9 D0 03       BNE $03       ; [$D1BE] Branch if not
$80/D1BB 4C 5C D2    JMP $D25C     ; Error: Set Carry (Error Flag) and Exit
$80/D1BE 9D C4 08    STA $08C4,x[$80:08CA]   A:000D X:0006 Y:0000 P:envMxdizc
$80/D1C1 C8          INY                     A:000D X:0006 Y:0000 P:envMxdizc
$80/D1C2 B7 20       LDA [$20],y[$7E:D2E0]   A:000D X:0006 Y:0001 P:envMxdizc
$80/D1C4 9D 83 08    STA $0883,x[$80:0889]   A:0000 X:0006 Y:0001 P:envMxdiZc
$80/D1C7 85 00       STA $00    [$00:0000]   A:0000 X:0006 Y:0001 P:envMxdiZc
$80/D1C9 C8          INY                     A:0000 X:0006 Y:0001 P:envMxdiZc
$80/D1CA 98          TYA                     A:0000 X:0006 Y:0002 P:envMxdizc
$80/D1CB 9D 04 0E    STA $0E04,x[$80:0E0A]   A:0002 X:0006 Y:0002 P:envMxdizc
$80/D1CE B7 20       LDA [$20],y[$7E:D2E1]   A:0002 X:0006 Y:0002 P:envMxdizc
$80/D1D0 C9 FF       CMP #$FF      ; Exit Command?
$80/D1D2 D0 03       BNE $03       ; [$D1D7] Branch if not
$80/D1D4 4C 58 D2    JMP $D258     ; Else, clear Carry (Error Flag) and Exit
code is missing here
$80/D20F A8          TAY           ; Transfer Figure Number in Y as Load Index
$80/D210 B9 AE 17    LDA $17AE,y   ; Check Figure's Character Sprite
$80/D213 F0 43       BEQ $43       ; [$D258] If empty, clear Carry (Error Flag) and Exit
$80/D215 C9 F0       CMP #$F0                A:003B X:0044 Y:0006 P:envMxdizc
$80/D217 B0 16       BCS $16       ; [$D22F] Branch if equal or higher
$80/D219 B9 DE 19    LDA $19DE,y[$80:19E4]   A:003B X:0044 Y:0006 P:envMxdizc
$80/D21C 89 01       BIT #$01                A:0000 X:0044 Y:0006 P:envMxdiZc
$80/D21E D0 0F       BNE $0F    [$D22F]      A:0000 X:0044 Y:0006 P:envMxdiZc
$80/D220 B9 DF 19    LDA $19DF,y[$80:19E5]   A:0000 X:0044 Y:0006 P:envMxdiZc
$80/D223 89 20       BIT #$20                A:0040 X:0044 Y:0006 P:envMxdizc
$80/D225 D0 31       BNE $31       ; [$D258] clear Carry (Error Flag) and Exit
$80/D227 B9 2E 1A    LDA $1A2E,y[$80:1A34]   A:0040 X:0044 Y:0006 P:envMxdiZc
$80/D22A 4A          LSR A                   A:0000 X:0044 Y:0006 P:envMxdiZc
$80/D22B C5 02       CMP $02    [$00:0002]   A:0000 X:0044 Y:0006 P:envMxdiZc
$80/D22D D0 29       BNE $29       ; [$D258] clear Carry (Error Flag) and Exit
$80/D22F BE 3E 1E    LDX $1E3E,y[$80:1E44]   A:0000 X:0044 Y:0006 P:envMxdiZC
$80/D232 BD C4 08    LDA $08C4,x[$80:08CA]   A:0000 X:0006 Y:0006 P:envMxdizC
$80/D235 C9 FF       CMP #$FF                A:000A X:0006 Y:0006 P:envMxdizC
$80/D237 D0 1F       BNE $1F       ; [$D258] clear Carry (Error Flag) and Exit
code is missing here
$80/D258 A6 3B       LDX $3B    [$00:003B]   A:00FF X:0006 Y:0002 P:envMxdiZC
$80/D25A 18          CLC           ; Clear Carry (Error Flag)
$80/D25B 60          RTS
$80/D25C 38          SEC           ; Set Carry (Error Flag)
$80/D25D 60          RTS

$80/D358 ?

$80/D358 7B          TDC                     A:000E X:0006 Y:000E P:envMxdizc
$80/D359 BD 03 0E    LDA $0E03,x[$80:0E09]   A:0000 X:0006 Y:000E P:envMxdiZc
$80/D35C 1A          INC A                   A:0000 X:0006 Y:000E P:envMxdiZc
$80/D35D 1A          INC A                   A:0001 X:0006 Y:000E P:envMxdizc
$80/D35E 4A          LSR A                   A:0002 X:0006 Y:000E P:envMxdizc
$80/D35F 22 93 CA 84 JSL $84CA93[$84:CA93]   A:0001 X:0006 Y:000E P:envMxdizc
$80/D363 7B          TDC                     A:0001 X:0006 Y:000E P:eNvMxdizc
$80/D364 BD C4 0B    LDA $0BC4,x[$80:0BCA]   A:0000 X:0006 Y:000E P:envMxdiZc
$80/D367 A8          TAY                     A:0004 X:0006 Y:000E P:envMxdizc
$80/D368 B9 DF 19    LDA $19DF,y[$80:19E3]   A:0004 X:0006 Y:0004 P:envMxdizc
$80/D36B 89 40       BIT #$40                A:0040 X:0006 Y:0004 P:envMxdizc
$80/D36D F0 0F       BEQ $0F    [$D37E]      A:0040 X:0006 Y:0004 P:envMxdizc
$80/D36F 89 10       BIT #$10                A:0040 X:0006 Y:0004 P:envMxdizc
$80/D371 F0 05       BEQ $05    [$D378]      A:0040 X:0006 Y:0004 P:envMxdiZc
$80/D378 22 9F C1 84 JSL $84C19F[$84:C19F]   A:0040 X:0006 Y:0004 P:envMxdiZc
$80/D37C 80 06       BRA $06    [$D384]      A:4601 X:0006 Y:0004 P:eNvMxdizc
code is missing here
$80/D384 7B          TDC                     A:4601 X:0006 Y:0004 P:eNvMxdizc
$80/D385 B9 3E 1E    LDA $1E3E,y[$80:1E42]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D388 A8          TAY                     A:0004 X:0006 Y:0004 P:envMxdizc
$80/D389 B9 04 07    LDA $0704,y[$80:0708]   A:0004 X:0006 Y:0004 P:envMxdizc
$80/D38C 29 FE       AND #$FE                A:0001 X:0006 Y:0004 P:envMxdizc
$80/D38E 99 04 07    STA $0704,y[$80:0708]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D391 A9 01       LDA #$01                A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D393 99 43 08    STA $0843,y[$80:0847]   A:0001 X:0006 Y:0004 P:envMxdizc
$80/D396 A9 FF       LDA #$FF                A:0001 X:0006 Y:0004 P:envMxdizc
$80/D398 99 C4 08    STA $08C4,y[$80:08C8]   A:00FF X:0006 Y:0004 P:eNvMxdizc
$80/D39B BD 03 07    LDA $0703,x[$80:0709]   A:00FF X:0006 Y:0004 P:eNvMxdizc
$80/D39E 29 40       AND #$40                A:0006 X:0006 Y:0004 P:envMxdizc
$80/D3A0 48          PHA                     A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D3A1 B9 03 07    LDA $0703,y[$80:0707]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D3A4 29 BF       AND #$BF                A:0006 X:0006 Y:0004 P:envMxdizc
$80/D3A6 03 01       ORA $01,s  [$00:1FCB]   A:0006 X:0006 Y:0004 P:envMxdizc
$80/D3A8 99 03 07    STA $0703,y[$80:0707]   A:0006 X:0006 Y:0004 P:envMxdizc
$80/D3AB 68          PLA                     A:0006 X:0006 Y:0004 P:envMxdizc
$80/D3AC 9E 03 06    STZ $0603,x[$80:0609]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D3AF 84 3D       STY $3D    [$00:003D]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D3B1 60          RTS                     A:0000 X:0006 Y:0004 P:envMxdiZc

$80/D3B2 ?

$80/D3B2 7B          TDC           ; Clear 16-bit A
$80/D3B3 BD C4 0B    LDA $0BC4,x[$80:0BCA]   A:0000 X:0006 Y:0000 P:envMxdiZc
$80/D3B6 A8          TAY           ; Transfer value (Character Class/Sprite) in Y as Load Index
$80/D3B7 B9 DE 19    LDA $19DE,y[$80:19E2]   A:0004 X:0006 Y:0004 P:envMxdizc
$80/D3BA 89 01       BIT #$01                A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D3BC D0 73       BNE $73       ; [$D431] Exit if flag is set
$80/D3BE BD 03 06    LDA $0603,x[$80:0609]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D3C1 C9 30       CMP #$30                A:0001 X:0006 Y:0004 P:envMxdizc
$80/D3C3 90 04       BCC $04    [$D3C9]      A:0001 X:0006 Y:0004 P:eNvMxdizc
code is missing here
$80/D3C9 B9 AE 17    LDA $17AE,y[$80:17B2]   A:0001 X:0006 Y:0004 P:eNvMxdizc
$80/D3CC 22 DF A3 88 JSL $88A3DF   ; Load Big Sprite Flag for this Character
$80/D3D0 90 2F       BCC $2F       ; [$D401] Branch if Sprite isn't big
code is missing here
$80/D401 20 22 D5    JSR $D522  [$80:D522]   A:0034 X:0006 Y:0004 P:envMxdizc
$80/D404 09 00       ORA #$00      ; Do this to set the Zero flag again
$80/D406 F0 0B       BEQ $0B       ; [$D413] Exit if A is zero
code is missing here
$80/D413 7B          TDC                     A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D414 BD C4 0B    LDA $0BC4,x[$80:0BCA]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D417 DA          PHX           ; Buffer X on Stack
$80/D418 AA          TAX                     A:0004 X:0006 Y:0004 P:envMxdizc
$80/D419 22 D9 A5 88 JSL $88A5D9[$88:A5D9]   A:0004 X:0004 Y:0004 P:envMxdizc
$80/D41D FA          PLX           ; Restore X from Stack
$80/D41E DD 03 06    CMP $0603,x[$80:0609]   A:0001 X:0006 Y:0004 P:envMxdizc
$80/D421 F0 0E       BEQ $0E       ; [$D431] Exit if equal
code is missing here
$80/D431 60          RTS

$80/D450 ?

$80/D450 7B          TDC                     A:0001 X:0006 Y:0004 P:envMxdiZC
$80/D451 BD C4 0B    LDA $0BC4,x[$80:0BCA]   A:0000 X:0006 Y:0004 P:envMxdiZC
$80/D454 A8          TAY                     A:0004 X:0006 Y:0004 P:envMxdizC
$80/D455 B9 DE 19    LDA $19DE,y[$80:19E2]   A:0004 X:0006 Y:0004 P:envMxdizC
$80/D458 89 01       BIT #$01                A:0000 X:0006 Y:0004 P:envMxdiZC
$80/D45A D0 5A       BNE $5A    [$D4B6]      A:0000 X:0006 Y:0004 P:envMxdiZC
$80/D45C 89 02       BIT #$02                A:0000 X:0006 Y:0004 P:envMxdiZC
$80/D45E F0 1E       BEQ $1E    [$D47E]      A:0000 X:0006 Y:0004 P:envMxdiZC
code is missing here
$80/D47E BD 04 06    LDA $0604,x[$80:060A]   A:0000 X:0006 Y:0004 P:envMxdiZC
$80/D481 C9 32       CMP #$32                A:0002 X:0006 Y:0004 P:envMxdizC
$80/D483 B0 04       BCS $04    [$D489]      A:0002 X:0006 Y:0004 P:eNvMxdizc
$80/D485 C9 10       CMP #$10                A:0002 X:0006 Y:0004 P:eNvMxdizc
$80/D487 B0 2D       BCS $2D    [$D4B6]      A:0002 X:0006 Y:0004 P:eNvMxdizc
$80/D489 C9 02       CMP #$02                A:0002 X:0006 Y:0004 P:eNvMxdizc
$80/D48B 90 29       BCC $29    [$D4B6]      A:0002 X:0006 Y:0004 P:envMxdiZC
$80/D48D C9 08       CMP #$08                A:0002 X:0006 Y:0004 P:envMxdiZC
$80/D48F B0 0E       BCS $0E    [$D49F]      A:0002 X:0006 Y:0004 P:eNvMxdizc
$80/D491 BD 83 08    LDA $0883,x[$80:0889]   A:0002 X:0006 Y:0004 P:eNvMxdizc
$80/D494 C9 02       CMP #$02                A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D496 7B          TDC                     A:0000 X:0006 Y:0004 P:eNvMxdizc
$80/D497 90 02       BCC $02    [$D49B]      A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D49B 18          CLC                     A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D49C 7D 04 06    ADC $0604,x[$80:060A]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/D49F DD C4 06    CMP $06C4,x[$80:06CA]   A:0002 X:0006 Y:0004 P:envMxdizc
$80/D4A2 F0 0D       BEQ $0D    [$D4B1]      A:0002 X:0006 Y:0004 P:envMxdizc
$80/D4A4 9D C4 06    STA $06C4,x[$80:06CA]   A:0002 X:0006 Y:0004 P:envMxdizc
$80/D4A7 EB          XBA                     A:0002 X:0006 Y:0004 P:envMxdizc
$80/D4A8 BD C3 06    LDA $06C3,x[$80:06C9]   A:0200 X:0006 Y:0004 P:envMxdiZc
$80/D4AB 22 15 B9 84 JSL $84B915[$84:B915]   A:0220 X:0006 Y:0004 P:envMxdizc
$80/D4AF A6 3B       LDX $3B    [$00:003B]   A:6200 X:0220 Y:0004 P:eNvMxdizc
$80/D4B1 A9 01       LDA #$01                A:6200 X:0006 Y:0004 P:envMxdizc
$80/D4B3 9D 04 06    STA $0604,x[$80:060A]   A:6201 X:0006 Y:0004 P:envMxdizc
$80/D4B6 60          RTS                     A:6201 X:0006 Y:0004 P:envMxdizc

$80/D4B7 ?

$80/D4B7 7B          TDC                     A:8101 X:0006 Y:0002 P:envMxdizc
$80/D4B8 BD 03 0E    LDA $0E03,x[$80:0E09]   A:0000 X:0006 Y:0002 P:envMxdiZc
$80/D4BB A8          TAY                     A:0000 X:0006 Y:0002 P:envMxdiZc
$80/D4BC B9 E8 1E    LDA $1EE8,y[$80:1EE8]   A:0000 X:0006 Y:0000 P:envMxdiZc
$80/D4BF 9D C3 06    STA $06C3,x[$80:06C9]   A:0020 X:0006 Y:0000 P:envMxdizc
$80/D4C2 5A          PHY                     A:0020 X:0006 Y:0000 P:envMxdizc
$80/D4C3 BD 04 06    LDA $0604,x[$80:060A]   A:0020 X:0006 Y:0000 P:envMxdizc
$80/D4C6 C9 01       CMP #$01                A:0002 X:0006 Y:0000 P:envMxdizc
$80/D4C8 F0 48       BEQ $48    [$D512]      A:0002 X:0006 Y:0000 P:envMxdizC
$80/D4CA C9 2D       CMP #$2D                A:0002 X:0006 Y:0000 P:envMxdizC
$80/D4CC F0 44       BEQ $44    [$D512]      A:0002 X:0006 Y:0000 P:eNvMxdizc
$80/D4CE C9 1F       CMP #$1F                A:0002 X:0006 Y:0000 P:eNvMxdizc
$80/D4D0 F0 40       BEQ $40    [$D512]      A:0002 X:0006 Y:0000 P:eNvMxdizc
$80/D4D2 C9 20       CMP #$20                A:0002 X:0006 Y:0000 P:eNvMxdizc
$80/D4D4 D0 10       BNE $10    [$D4E6]      A:0002 X:0006 Y:0000 P:eNvMxdizc
code is missing here
$80/D4E6 9D 44 0C    STA $0C44,x[$80:0C4A]   A:0002 X:0006 Y:0000 P:eNvMxdizc
$80/D4E9 7B          TDC                     A:0002 X:0006 Y:0000 P:eNvMxdizc
$80/D4EA BD 04 06    LDA $0604,x[$80:060A]   A:0000 X:0006 Y:0000 P:envMxdiZc
$80/D4ED A8          TAY                     A:0002 X:0006 Y:0000 P:envMxdizc
$80/D4EE DA          PHX                     A:0002 X:0006 Y:0002 P:envMxdizc
$80/D4EF BB          TYX                     A:0002 X:0006 Y:0002 P:envMxdizc
$80/D4F0 BF 00 80 8B LDA $8B8000,x[$8B:8002] A:0002 X:0002 Y:0002 P:envMxdizc
$80/D4F4 FA          PLX                     A:0001 X:0002 Y:0002 P:envMxdizc
$80/D4F5 DD 04 06    CMP $0604,x[$80:060A]   A:0001 X:0006 Y:0002 P:envMxdizc
$80/D4F8 F0 18       BEQ $18    [$D512]      A:0001 X:0006 Y:0002 P:eNvMxdizc
$80/D4FA 48          PHA                     A:0001 X:0006 Y:0002 P:eNvMxdizc
$80/D4FB 98          TYA                     A:0001 X:0006 Y:0002 P:eNvMxdizc
$80/D4FC DD C4 06    CMP $06C4,x[$80:06CA]   A:0002 X:0006 Y:0002 P:envMxdizc
$80/D4FF F0 0D       BEQ $0D    [$D50E]      A:0002 X:0006 Y:0002 P:envMxdizc
$80/D501 9D C4 06    STA $06C4,x[$80:06CA]   A:0002 X:0006 Y:0002 P:envMxdizc
$80/D504 EB          XBA                     A:0002 X:0006 Y:0002 P:envMxdizc
$80/D505 BD C3 06    LDA $06C3,x[$80:06C9]   A:0200 X:0006 Y:0002 P:envMxdiZc
$80/D508 22 15 B9 84 JSL $84B915[$84:B915]   A:0220 X:0006 Y:0002 P:envMxdizc
$80/D50C A6 3B       LDX $3B    [$00:003B]   A:6200 X:0220 Y:0004 P:eNvMxdizc
$80/D50E 68          PLA                     A:6200 X:0006 Y:0004 P:envMxdizc
$80/D50F 9D 04 06    STA $0604,x[$80:060A]   A:6201 X:0006 Y:0004 P:envMxdizc
$80/D512 7A          PLY                     A:6201 X:0006 Y:0004 P:envMxdizc
$80/D513 BD 44 0C    LDA $0C44,x[$80:0C4A]   A:6201 X:0006 Y:0000 P:envMxdiZc
$80/D516 DD 04 06    CMP $0604,x[$80:060A]   A:6202 X:0006 Y:0000 P:envMxdizc
$80/D519 D0 06       BNE $06    [$D521]      A:6202 X:0006 Y:0000 P:envMxdizC
code is missing here
$80/D521 60          RTS                     A:6202 X:0006 Y:0000 P:envMxdizC

$80/D522 ?

$80/D522 5A          PHY           ; Buffer Y on Stack
$80/D523 D4 00       PEI ($00)     ; Buffer $00/$01 on stack
$80/D525 20 3F C2    JSR $C23F  [$80:C23F]   A:0034 X:0006 Y:0004 P:envMxdizc
$80/D528 A0 00 00    LDY #$0000              A:0004 X:0006 Y:0004 P:envMxdizc
$80/D52B 90 1B       BCC $1B    [$D548]      A:0004 X:0006 Y:0000 P:envMxdiZc
code is missing here
$80/D548 E2 20       SEP #$20      ; A = 8-bit
$80/D54A 98          TYA           ; Transfer Y into A
$80/D54B 7A          PLY           ; Restore $00/01 from Stack
$80/D54C 84 00       STY $00
$80/D54E 7A          PLY           ; Restore Y from Stack
$80/D54F 60          RTS

$80/D550 ? Compare two Sprite numbers

$80/D550 A0 00 00    LDY #$0000    ; Clear Load Index (Y)
$80/D553 B9 83 0E    LDA $0E83,y[$80:0E83]   A:0800 X:0008 Y:0000 P:envMxdiZC
$80/D556 30 27       BMI $27       ; [$D57F] Exit if Sprite(?) is negative
$80/D558 C5 3B       CMP $3B    [$00:003B]   A:0802 X:0008 Y:0000 P:envMxdizC
$80/D55A F0 04       BEQ $04    [$D560]      A:0802 X:0008 Y:0000 P:eNvMxdizc
$80/D55C C8          INY           ; Increment Load Index twice
$80/D55D C8          INY
$80/D55E 80 F3       BRA $F3       ; [$D553] Do next figure
$80/D560 84 00       STY $00    [$00:0000]   A:0808 X:0008 Y:0008 P:envMxdiZC
$80/D562 C8          INY           ; Increment Load Index twice
$80/D563 C8          INY
$80/D564 B9 83 0E    LDA $0E83,y[$80:0E8D]   A:0808 X:0008 Y:000A P:envMxdizC
$80/D567 30 16       BMI $16       ; [$D57F] Exit if Sprite(?) is negative
$80/D569 DD C4 08    CMP $08C4,x[$80:08CC]   A:0804 X:0008 Y:0008 P:envMxdizC
$80/D56C F0 04       BEQ $04    [$D572]      A:0804 X:0008 Y:0008 P:eNvMxdizc
$80/D56E C8          INY           ; Increment Load Index twice
$80/D56F C8          INY
$80/D570 80 F2       BRA $F2       ; [$D564] Do next figure
code is missing here
$80/D57F 60          RTS

$80/D580 ?

$80/D580 8B          PHB                     A:0000 X:0002 Y:D207 P:envMxdiZC
$80/D581 4B          PHK                     A:0000 X:0002 Y:D207 P:envMxdiZC
$80/D582 AB          PLB                     A:0000 X:0002 Y:D207 P:envMxdiZC
$80/D583 48          PHA                     A:0000 X:0002 Y:D207 P:eNvMxdizC
$80/D584 A6 91       LDX $91    [$00:0091]   A:0000 X:0002 Y:D207 P:eNvMxdizC
$80/D586 BD DF 19    LDA $19DF,x[$80:19E1]   A:0000 X:0002 Y:D207 P:envMxdizC
$80/D589 89 40       BIT #$40                A:0040 X:0002 Y:D207 P:envMxdizC
$80/D58B D0 08       BNE $08    [$D595]      A:0040 X:0002 Y:D207 P:envMxdizC
code is missing here
$80/D595 BC 3E 1E    LDY $1E3E,x[$80:1E40]   A:0040 X:0002 Y:D207 P:envMxdizC
$80/D598 B9 04 07    LDA $0704,y[$80:0706]   A:0040 X:0002 Y:0002 P:envMxdizC
$80/D59B 09 01       ORA #$01                A:0000 X:0002 Y:0002 P:envMxdiZC
$80/D59D 99 04 07    STA $0704,y[$80:0706]   A:0001 X:0002 Y:0002 P:envMxdizC
$80/D5A0 B9 03 07    LDA $0703,y[$80:0705]   A:0001 X:0002 Y:0002 P:envMxdizC
$80/D5A3 85 09       STA $09    [$00:0009]   A:0044 X:0002 Y:0002 P:envMxdizC
$80/D5A5 BB          TYX                     A:0044 X:0002 Y:0002 P:envMxdizC
$80/D5A6 20 7C B8    JSR $B87C  [$80:B87C]   A:0044 X:0002 Y:0002 P:envMxdizC
$80/D5A9 90 03       BCC $03    [$D5AE]      A:0000 X:0006 Y:0002 P:envMxdiZc
code is missing here
$80/D5AE 8A          TXA                     A:0000 X:0006 Y:0002 P:envMxdiZc
$80/D5AF 99 C4 08    STA $08C4,y[$80:08C6]   A:0006 X:0006 Y:0002 P:envMxdizc
$80/D5B2 B9 04 0A    LDA $0A04,y[$80:0A06]   A:0006 X:0006 Y:0002 P:envMxdizc
$80/D5B5 85 00       STA $00    [$00:0000]   A:000B X:0006 Y:0002 P:envMxdizc
$80/D5B7 B9 44 0A    LDA $0A44,y[$80:0A46]   A:000B X:0006 Y:0002 P:envMxdizc
$80/D5BA 85 01       STA $01    [$00:0001]   A:0007 X:0006 Y:0002 P:envMxdizc
$80/D5BC B9 84 0A    LDA $0A84,y[$80:0A86]   A:0007 X:0006 Y:0002 P:envMxdizc
$80/D5BF 85 02       STA $02    [$00:0002]   A:0006 X:0006 Y:0002 P:envMxdizc
$80/D5C1 5A          PHY                     A:0006 X:0006 Y:0002 P:envMxdizc
$80/D5C2 A0 01 00    LDY #$0001              A:0006 X:0006 Y:0002 P:envMxdizc
$80/D5C5 A5 13       LDA $13    [$00:0013]   A:0006 X:0006 Y:0001 P:envMxdizc
$80/D5C7 22 C6 81 8B JSL $8B81C6[$8B:81C6]   A:0030 X:0006 Y:0001 P:envMxdizc
$80/D5CB 7A          PLY                     A:070B X:0006 Y:0001 P:eNvMxdizc
$80/D5CC B9 03 0A    LDA $0A03,y[$80:0A05]   A:070B X:0006 Y:0002 P:envMxdizc
$80/D5CF 9D 03 0A    STA $0A03,x[$80:0A09]   A:0780 X:0006 Y:0002 P:eNvMxdizc
$80/D5D2 B9 43 0A    LDA $0A43,y[$80:0A45]   A:0780 X:0006 Y:0002 P:eNvMxdizc
$80/D5D5 9D 43 0A    STA $0A43,x[$80:0A49]   A:0780 X:0006 Y:0002 P:eNvMxdizc
$80/D5D8 B9 83 0A    LDA $0A83,y[$80:0A85]   A:0780 X:0006 Y:0002 P:eNvMxdizc
$80/D5DB 9D 83 0A    STA $0A83,x[$80:0A89]   A:0700 X:0006 Y:0002 P:envMxdiZc
$80/D5DE B9 C4 09    LDA $09C4,y[$80:09C6]   A:0700 X:0006 Y:0002 P:envMxdiZc
$80/D5E1 9D C4 09    STA $09C4,x[$80:09CA]   A:07FF X:0006 Y:0002 P:eNvMxdizc
$80/D5E4 B9 C3 09    LDA $09C3,y[$80:09C5]   A:07FF X:0006 Y:0002 P:eNvMxdizc
$80/D5E7 9D C3 09    STA $09C3,x[$80:09C9]   A:07FF X:0006 Y:0002 P:eNvMxdizc
$80/D5EA A9 FF       LDA #$FF                A:07FF X:0006 Y:0002 P:eNvMxdizc
$80/D5EC 99 C4 09    STA $09C4,y[$80:09C6]   A:07FF X:0006 Y:0002 P:eNvMxdizc
$80/D5EF 99 C3 09    STA $09C3,y[$80:09C5]   A:07FF X:0006 Y:0002 P:eNvMxdizc
$80/D5F2 B9 C4 0B    LDA $0BC4,y[$80:0BC6]   A:07FF X:0006 Y:0002 P:eNvMxdizc
$80/D5F5 9D C4 0B    STA $0BC4,x[$80:0BCA]   A:0702 X:0006 Y:0002 P:envMxdizc
$80/D5F8 68          PLA                     A:0702 X:0006 Y:0002 P:envMxdizc
$80/D5F9 9D 03 0E    STA $0E03,x[$80:0E09]   A:0700 X:0006 Y:0002 P:envMxdiZc
$80/D5FC A5 09       LDA $09    [$00:0009]   A:0700 X:0006 Y:0002 P:envMxdiZc
$80/D5FE 9D 03 07    STA $0703,x[$80:0709]   A:0744 X:0006 Y:0002 P:envMxdizc
$80/D601 A5 0A       LDA $0A    [$00:000A]   A:0744 X:0006 Y:0002 P:envMxdizc
$80/D603 9D 43 06    STA $0643,x[$80:0649]   A:0770 X:0006 Y:0002 P:envMxdizc
$80/D606 A5 0B       LDA $0B    [$00:000B]   A:0770 X:0006 Y:0002 P:envMxdizc
$80/D608 9D 44 06    STA $0644,x[$80:064A]   A:0706 X:0006 Y:0002 P:envMxdizc
$80/D60B A9 10       LDA #$10                A:0706 X:0006 Y:0002 P:envMxdizc
$80/D60D 9D C3 08    STA $08C3,x[$80:08C9]   A:0710 X:0006 Y:0002 P:envMxdizc
$80/D610 A5 0A       LDA $0A    [$00:000A]   A:0710 X:0006 Y:0002 P:envMxdizc
$80/D612 C9 50       CMP #$50                A:0770 X:0006 Y:0002 P:envMxdizc
$80/D614 90 03       BCC $03    [$D619]      A:0770 X:0006 Y:0002 P:envMxdizC
$80/D616 FE C3 08    INC $08C3,x[$80:08C9]   A:0770 X:0006 Y:0002 P:envMxdizC
$80/D619 AD EC 1E    LDA $1EEC  [$80:1EEC]   A:0770 X:0006 Y:0002 P:envMxdizC
$80/D61C 9D C3 06    STA $06C3,x[$80:06C9]   A:0720 X:0006 Y:0002 P:envMxdizC
$80/D61F A9 01       LDA #$01                A:0720 X:0006 Y:0002 P:envMxdizC
$80/D621 9D 04 09    STA $0904,x[$80:090A]   A:0701 X:0006 Y:0002 P:envMxdizC
$80/D624 A5 12       LDA $12    [$00:0012]   A:0701 X:0006 Y:0002 P:envMxdizC
$80/D626 C9 02       CMP #$02                A:0702 X:0006 Y:0002 P:envMxdizC
$80/D628 B0 1F       BCS $1F    [$D649]      A:0702 X:0006 Y:0002 P:envMxdiZC
code is missing here
$80/D649 20 A4 99    JSR $99A4  [$80:99A4]   A:0702 X:0006 Y:0002 P:envMxdiZC
$80/D64C 20 9A 9B    JSR $9B9A  [$80:9B9A]   A:8107 X:0006 Y:0002 P:envMxdizc
$80/D64F DA          PHX                     A:FFFF X:0006 Y:0006 P:eNvMxdizC
$80/D650 A5 0C       LDA $0C    [$00:000C]   A:FFFF X:0006 Y:0006 P:eNvMxdizC
$80/D652 C9 FF       CMP #$FF                A:FFFF X:0006 Y:0006 P:eNvMxdizC
$80/D654 F0 3F       BEQ $3F    [$D695]      A:FFFF X:0006 Y:0006 P:envMxdiZC
code is missing here
$80/D695 9B          TXY                     A:FFFF X:0006 Y:0006 P:envMxdiZC
$80/D696 A5 0D       LDA $0D    [$00:000D]   A:FFFF X:0006 Y:0006 P:envMxdizC
$80/D698 C9 FF       CMP #$FF                A:FFFF X:0006 Y:0006 P:eNvMxdizC
$80/D69A F0 33       BEQ $33    [$D6CF]      A:FFFF X:0006 Y:0006 P:envMxdiZC
code is missing here
$80/D6CF FA          PLX                     A:FFFF X:0006 Y:0006 P:envMxdiZC
$80/D6D0 20 21 CE    JSR $CE21  [$80:CE21]   A:FFFF X:0006 Y:0006 P:envMxdizC
$80/D6D3 A6 91       LDX $91    [$00:0091]   A:FFFF X:0008 Y:0008 P:eNvMxdizC
$80/D6D5 BC 3E 1E    LDY $1E3E,x[$80:1E40]   A:FFFF X:0002 Y:0008 P:envMxdizC
$80/D6D8 84 3B       STY $3B    [$00:003B]   A:FFFF X:0002 Y:0002 P:envMxdizC
$80/D6DA AB          PLB                     A:FFFF X:0002 Y:0002 P:envMxdizC
$80/D6DB 6B          RTL                     A:FFFF X:0002 Y:0002 P:eNvMxdizC

$80/D929 ?

$80/D929 5A          PHY           ; Buffer Y on Stack
$80/D92A D4 00       PEI ($00)     ; Buffer $00-$03 on Stack
$80/D92C D4 02       PEI ($02)
$80/D92E 7B          TDC           ; Clear 16-bit A
$80/D92F BD C4 08    LDA $08C4,x[$80:08CC]   A:0000 X:0008 Y:0006 P:envMxdiZc
$80/D932 A8          TAY                     A:0006 X:0008 Y:0006 P:envMxdizc
$80/D933 84 02       STY $02    [$00:0002]   A:0006 X:0008 Y:0006 P:envMxdizc
$80/D935 B9 04 07    LDA $0704,y[$80:070A]   A:0006 X:0008 Y:0006 P:envMxdizc
$80/D938 89 20       BIT #$20                A:0000 X:0008 Y:0006 P:envMxdiZc
$80/D93A F0 06       BEQ $06    [$D942]      A:0000 X:0008 Y:0006 P:envMxdiZc
code is missing here
$80/D942 AD BF 05    LDA $05BF  [$80:05BF]   A:0000 X:0008 Y:0006 P:envMxdiZc
$80/D945 C9 08       CMP #$08                A:0000 X:0008 Y:0006 P:envMxdiZc
$80/D947 F0 75       BEQ $75    [$D9BE]      A:0000 X:0008 Y:0006 P:eNvMxdizc
$80/D949 C9 04       CMP #$04                A:0000 X:0008 Y:0006 P:eNvMxdizc
$80/D94B F0 71       BEQ $71    [$D9BE]      A:0000 X:0008 Y:0006 P:eNvMxdizc
$80/D94D C9 07       CMP #$07                A:0000 X:0008 Y:0006 P:eNvMxdizc
$80/D94F F0 6D       BEQ $6D    [$D9BE]      A:0000 X:0008 Y:0006 P:eNvMxdizc
$80/D951 C9 0F       CMP #$0F                A:0000 X:0008 Y:0006 P:eNvMxdizc
$80/D953 F0 69       BEQ $69    [$D9BE]      A:0000 X:0008 Y:0006 P:eNvMxdizc
$80/D955 B9 C3 08    LDA $08C3,y[$80:08C9]   A:0000 X:0008 Y:0006 P:eNvMxdizc
$80/D958 C9 11       CMP #$11                A:0006 X:0008 Y:0006 P:envMxdizc
$80/D95A F0 62       BEQ $62    [$D9BE]      A:0006 X:0008 Y:0006 P:eNvMxdizc
$80/D95C 7B          TDC                     A:0006 X:0008 Y:0006 P:eNvMxdizc
$80/D95D B9 C4 0B    LDA $0BC4,y[$80:0BCA]   A:0000 X:0008 Y:0006 P:envMxdiZc
$80/D960 A8          TAY                     A:0004 X:0008 Y:0006 P:envMxdizc
$80/D961 B9 C7 1D    LDA $1DC7,y[$80:1DCB]   A:0004 X:0008 Y:0004 P:envMxdizc
$80/D964 4A          LSR A                   A:0001 X:0008 Y:0004 P:envMxdizc
$80/D965 4A          LSR A                   A:0000 X:0008 Y:0004 P:envMxdiZC
$80/D966 C9 01       CMP #$01                A:0000 X:0008 Y:0004 P:envMxdiZc
$80/D968 D0 54       BNE $54    [$D9BE]      A:0000 X:0008 Y:0004 P:eNvMxdizc
code is missing here
$80/D9BE BD 03 0D    LDA $0D03,x[$80:0D0B]   A:0000 X:0008 Y:0004 P:eNvMxdizc
$80/D9C1 9D 04 0D    STA $0D04,x[$80:0D0C]   A:0000 X:0008 Y:0004 P:envMxdiZc
$80/D9C4 A4 02       LDY $02    [$00:0002]   A:0000 X:0008 Y:0004 P:envMxdiZc
$80/D9C6 7B          TDC                     A:0000 X:0008 Y:0006 P:envMxdizc
$80/D9C7 B9 C4 0B    LDA $0BC4,y[$80:0BCA]   A:0000 X:0008 Y:0006 P:envMxdiZc
$80/D9CA A8          TAY                     A:0004 X:0008 Y:0006 P:envMxdizc
$80/D9CB B9 AE 17    LDA $17AE,y[$80:17B2]   A:0004 X:0008 Y:0004 P:envMxdizc
$80/D9CE 22 DF A3 88 JSL $88A3DF   ; Load Big Sprite Flag for this Character
$80/D9D2 A9 01       LDA #$01                A:0034 X:0008 Y:0004 P:envMxdizc
$80/D9D4 90 01       BCC $01    [$D9D7]      A:0001 X:0008 Y:0004 P:envMxdizc
code is missing here
$80/D9D7 9D 04 06    STA $0604,x[$80:060C]   A:0001 X:0008 Y:0004 P:envMxdizc
$80/D9DA 7A          PLY           ; Restore $00-$03 from Stack
$80/D9DB 84 02       STY $02
$80/D9DD 7A          PLY
$80/D9DE 84 00       STY $00
$80/D9E0 7A          PLY           ; Restore Y from Stack
$80/D9E1 60          RTS

$80/DA78 ?

$80/DA78 7B          TDC                     A:8134 X:0006 Y:0004 P:envMxdizc
$80/DA79 BD C4 0B    LDA $0BC4,x[$80:0BCA]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/DA7C A8          TAY                     A:0004 X:0006 Y:0004 P:envMxdizc
$80/DA7D A9 00       LDA #$00                A:0004 X:0006 Y:0004 P:envMxdizc
$80/DA7F 99 16 1E    STA $1E16,y[$80:1E1A]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/DA82 99 17 1E    STA $1E17,y[$80:1E1B]   A:0000 X:0006 Y:0004 P:envMxdiZc
$80/DA85 A9 07       LDA #$07                A:0000 X:0006 Y:0004 P:envMxdiZc
$80/DA87 9D C3 08    STA $08C3,x[$80:08C9]   A:0007 X:0006 Y:0004 P:envMxdizc
$80/DA8A A9 01       LDA #$01                A:0007 X:0006 Y:0004 P:envMxdizc
$80/DA8C 9D 43 08    STA $0843,x[$80:0849]   A:0001 X:0006 Y:0004 P:envMxdizc
$80/DA8F 60          RTS                     A:0001 X:0006 Y:0004 P:envMxdizc

$80/DA90 ? Step Map related

$80/DA90 DA          PHX           ; Buffer X and Y on Stack
$80/DA91 5A          PHY
$80/DA92 D4 00       PEI ($00)     ; Buffer $00/$01 on Stack
$80/DA94 BD C4 08    LDA $08C4,x[$80:08CC]   A:0780 X:0008 Y:0008 P:envMxdizc
$80/DA97 85 00       STA $00    [$00:0000]   A:0706 X:0008 Y:0008 P:envMxdizc
$80/DA99 BD C4 0B    LDA $0BC4,x[$80:0BCC]   A:0706 X:0008 Y:0008 P:envMxdizc
$80/DA9C 85 01       STA $01    [$00:0001]   A:0704 X:0008 Y:0008 P:envMxdizc
$80/DA9E 7B          TDC           ; Clear 16-bit A
$80/DA9F BD 44 0A    LDA $0A44,x[$80:0A4C]   A:0000 X:0008 Y:0008 P:envMxdiZc
$80/DAA2 EB          XBA                     A:0007 X:0008 Y:0008 P:envMxdizc
$80/DAA3 C2 20       REP #$20                A:0700 X:0008 Y:0008 P:envMxdiZc
$80/DAA5 4A          LSR A                   A:0700 X:0008 Y:0008 P:envmxdiZc
$80/DAA6 4A          LSR A                   A:0380 X:0008 Y:0008 P:envmxdizc
$80/DAA7 4A          LSR A                   A:01C0 X:0008 Y:0008 P:envmxdizc
$80/DAA8 E2 20       SEP #$20                A:00E0 X:0008 Y:0008 P:envmxdizc
$80/DAAA 1D 04 0A    ORA $0A04,x[$80:0A0C]   A:00E0 X:0008 Y:0008 P:envMxdizc
$80/DAAD AA          TAX                     A:00E9 X:0008 Y:0008 P:eNvMxdizc
$80/DAAE 7B          TDC           ; Clear 16-bit A
$80/DAAF BF 00 DC 7F LDA $7FDC00,x ; Load "value from Map which Figure Stands where"
$80/DAB3 30 2B       BMI $2B       ; [$DAE0] If negative, load value from Step Map and exit
$80/DAB5 C5 01       CMP $01    [$00:0001]   A:0004 X:00E9 Y:0008 P:envMxdizc
$80/DAB7 F0 27       BEQ $27       ; [$DAE0] If equal, load value from Step Map and exit
$80/DAB9 A8          TAY                     A:0006 X:0044 Y:0010 P:eNvMxdizc
$80/DABA B9 DE 19    LDA $19DE,y[$80:19E4]   A:0006 X:0044 Y:0006 P:envMxdizc
$80/DABD 4A          LSR A                   A:0000 X:0044 Y:0006 P:envMxdiZc
$80/DABE B0 20       BCS $20    [$DAE0]      A:0000 X:0044 Y:0006 P:envMxdiZc
$80/DAC0 B9 AE 17    LDA $17AE,y   ; Load Character Sprite
$80/DAC3 C9 F0       CMP #$F0                A:003B X:0044 Y:0006 P:envMxdizc
$80/DAC5 B0 19       BCS $19       ; [$DAE0] If equal, load value from Step Map and exit
$80/DAC7 B9 C6 1D    LDA $1DC6,y[$80:1DCC]   A:003B X:0044 Y:0006 P:envMxdizc
$80/DACA 18          CLC                     A:000B X:0044 Y:0006 P:envMxdizc
$80/DACB 69 03       ADC #$03                A:000B X:0044 Y:0006 P:envMxdizc
$80/DACD 0A          ASL A                   A:000E X:0044 Y:0006 P:envMxdizc
$80/DACE 85 01       STA $01    [$00:0001]   A:001C X:0044 Y:0006 P:envMxdizc
$80/DAD0 7B          TDC                     A:001C X:0044 Y:0006 P:envMxdizc
$80/DAD1 A5 00       LDA $00    [$00:0000]   A:0000 X:0044 Y:0006 P:envMxdiZc
$80/DAD3 A8          TAY                     A:000E X:0044 Y:0006 P:envMxdizc
$80/DAD4 B9 84 0A    LDA $0A84,y[$80:0A92]   A:000E X:0044 Y:000E P:envMxdizc
$80/DAD7 C5 01       CMP $01    [$00:0001]   A:0016 X:0044 Y:000E P:envMxdizc
$80/DAD9 90 05       BCC $05    [$DAE0]      A:0016 X:0044 Y:000E P:eNvMxdizc
$80/DADB A5 01       LDA $01    [$00:0001]   A:001D X:0063 Y:0012 P:envMxdizC
$80/DADD 4A          LSR A                   A:001C X:0063 Y:0012 P:envMxdizC
$80/DADE 80 04       BRA $04    [$DAE4]      A:000E X:0063 Y:0012 P:envMxdizc
$80/DAE0 BF 00 C8 7F LDA $7FC800,x ; Load value from Step Map
$80/DAE4 7A          PLY           ; Restore $00/$01 from Stack
$80/DAE5 84 00       STY $00
$80/DAE7 7A          PLY           ; Restore Y and X from Stack
$80/DAE8 FA          PLX
$80/DAE9 60          RTS

$80/DC07 ?

$80/DC07 9E C3 08    STZ $08C3,x[$80:08C9]   A:0001 X:0006 Y:0032 P:envMxdizc
$80/DC0A A9 FF       LDA #$FF                A:0001 X:0006 Y:0032 P:envMxdizc
$80/DC0C 9D C4 08    STA $08C4,x[$80:08CA]   A:00FF X:0006 Y:0032 P:eNvMxdizc
$80/DC0F 60          RTS                     A:00FF X:0006 Y:0032 P:eNvMxdizc

$80/DC4D ?

$80/DC4D 85 00       STA $00    [$00:0000]   A:1600 X:0012 Y:0002 P:envmxdizc
$80/DC4F E2 20       SEP #$20                A:1600 X:0012 Y:0002 P:envmxdizc
$80/DC51 20 3F C2    JSR $C23F  [$80:C23F]   A:1600 X:0012 Y:0002 P:envMxdizc
$80/DC54 0A          ASL A                   A:000B X:0012 Y:0002 P:envMxdizc
$80/DC55 64 02       STZ $02    [$00:0002]   A:0016 X:0012 Y:0002 P:envMxdizc
$80/DC57 85 03       STA $03    [$00:0003]   A:0016 X:0012 Y:0002 P:envMxdizc
$80/DC59 C2 20       REP #$20                A:0016 X:0012 Y:0002 P:envMxdizc
$80/DC5B A5 00       LDA $00    [$00:0000]   A:0016 X:0012 Y:0002 P:envmxdizc
$80/DC5D C5 02       CMP $02    [$00:0002]   A:1600 X:0012 Y:0002 P:envmxdizc
$80/DC5F B0 02       BCS $02    [$DC63]      A:1600 X:0012 Y:0002 P:envmxdiZC
$80/DC63 60          RTS                     A:1600 X:0012 Y:0002 P:envmxdiZC

$80/DC64 ?

$80/DC64 20 A7 D1    JSR $D1A7  [$80:D1A7]   A:0070 X:0012 Y:0070 P:envMxdizc
$80/DC67 FE C3 08    INC $08C3,x[$80:08D5]   A:00FF X:0012 Y:0002 P:envMxdizc
$80/DC6A BD C4 08    LDA $08C4,x[$80:08D6]   A:00FF X:0012 Y:0002 P:envMxdizc
$80/DC6D CD 6E D2    CMP $D26E  [$80:D26E]   A:0056 X:0012 Y:0002 P:envMxdizc
$80/DC70 D0 03       BNE $03    [$DC75]      A:0056 X:0012 Y:0002 P:envMxdiZC
$80/DC72 4C 06 DD    JMP $DD06  [$80:DD06]   A:0056 X:0012 Y:0002 P:envMxdiZC
$80/DD06 FE C3 08    INC $08C3,x[$80:08D5]   A:0056 X:0012 Y:0002 P:envMxdiZC
$80/DD09 9E 43 08    STZ $0843,x[$80:0855]   A:0056 X:0012 Y:0002 P:envMxdizC
$80/DD0C C2 20       REP #$20                A:0056 X:0012 Y:0002 P:envMxdizC
$80/DD0E 9E 83 0C    STZ $0C83,x[$80:0C95]   A:0056 X:0012 Y:0002 P:envmxdizC
$80/DD11 9E C3 0C    STZ $0CC3,x[$80:0CD5]   A:0056 X:0012 Y:0002 P:envmxdizC
$80/DD14 9E 03 0D    STZ $0D03,x[$80:0D15]   A:0056 X:0012 Y:0002 P:envmxdizC
$80/DD17 BD 83 0A    LDA $0A83,x[$80:0A95]   A:0056 X:0012 Y:0002 P:envmxdizC
$80/DD1A 9D 83 0D    STA $0D83,x[$80:0D95]   A:1600 X:0012 Y:0002 P:envmxdizC
$80/DD1D E2 20       SEP #$20                A:1600 X:0012 Y:0002 P:envmxdizC
$80/DD1F 20 4D DD    JSR $DD4D  [$80:DD4D]   A:1600 X:0012 Y:0002 P:envMxdizC
$80/DD22 BD 04 06    LDA $0604,x[$80:0616]   A:1601 X:0012 Y:0002 P:envMxdizC
$80/DD25 C9 01       CMP #$01                A:1602 X:0012 Y:0002 P:envMxdizC
$80/DD27 F0 03       BEQ $03    [$DD2C]      A:1602 X:0012 Y:0002 P:envMxdizC
$80/DD29 9D 44 0C    STA $0C44,x[$80:0C56]   A:1602 X:0012 Y:0002 P:envMxdizC
$80/DD2C 20 B2 D3    JSR $D3B2  [$80:D3B2]   A:1602 X:0012 Y:0002 P:envMxdizC
$80/DD2F 20 3C DF    JSR $DF3C  [$80:DF3C]   A:0006 X:0012 Y:000C P:envMxdiZC
$80/DD32 20 32 D4    JSR $D432  [$80:D432]   A:0006 X:0012 Y:000C P:envMxdizC
$80/DD35 60          RTS                     A:7201 X:0012 Y:0002 P:eNvMxdizc

$80/DD4D ?

$80/DD4D BC 03 0D    LDY $0D03,x[$80:0D15]   A:1600 X:0012 Y:0002 P:envMxdizC
$80/DD50 F0 39       BEQ $39    [$DD8B]      A:1600 X:0012 Y:0000 P:envMxdiZC
$80/DD52 98          TYA                     A:0074 X:0012 Y:0004 P:envMxdizc
$80/DD53 29 7F       AND #$7F                A:0004 X:0012 Y:0004 P:envMxdizc
$80/DD55 D0 34       BNE $34    [$DD8B]      A:0004 X:0012 Y:0004 P:envMxdizc
$80/DD57 20 A7 D1    JSR $D1A7  [$80:D1A7]   A:0000 X:0012 Y:0080 P:envMxdiZc
$80/DD5A BD 83 08    LDA $0883,x[$80:0895]   A:0002 X:0012 Y:000E P:envMxdizc
$80/DD5D C9 02       CMP #$02                A:0001 X:0012 Y:000E P:envMxdizc
$80/DD5F B0 16       BCS $16    [$DD77]      A:0001 X:0012 Y:000E P:eNvMxdizc
$80/DD61 BD 44 06    LDA $0644,x[$80:0656]   A:0001 X:0012 Y:000E P:eNvMxdizc
$80/DD64 C9 02       CMP #$02                A:0000 X:0012 Y:000E P:envMxdiZc
$80/DD66 90 23       BCC $23    [$DD8B]      A:0000 X:0012 Y:000E P:eNvMxdizc
code is missing here
$80/DD8B BD 43 08    LDA $0843,x[$80:0855]   A:1600 X:0012 Y:0000 P:envMxdiZC
$80/DD8E D0 31       BNE $31    [$DDC1]      A:1600 X:0012 Y:0000 P:envMxdiZC
$80/DD90 7B          TDC                     A:1600 X:0012 Y:0000 P:envMxdiZC
$80/DD91 BD C3 0C    LDA $0CC3,x[$80:0CD5]   A:0000 X:0012 Y:0000 P:envMxdiZC
$80/DD94 C9 FF       CMP #$FF                A:0000 X:0012 Y:0000 P:envMxdiZC
$80/DD96 F0 29       BEQ $29    [$DDC1]      A:0000 X:0012 Y:0000 P:envMxdizc
$80/DD98 A8          TAY                     A:0000 X:0012 Y:0000 P:envMxdizc
$80/DD99 BD 83 08    LDA $0883,x[$80:0895]   A:0000 X:0012 Y:0000 P:envMxdiZc
$80/DD9C C9 02       CMP #$02                A:0001 X:0012 Y:0000 P:envMxdizc
$80/DD9E 90 05       BCC $05    [$DDA5]      A:0001 X:0012 Y:0000 P:eNvMxdizc
code is missing here
$80/DDA5 B9 2E DF    LDA $DF2E,y[$80:DF2E]   A:0001 X:0012 Y:0000 P:eNvMxdizc
$80/DDA8 9D 44 06    STA $0644,x[$80:0656]   A:0006 X:0012 Y:0000 P:envMxdizc
$80/DDAB 9E 83 06    STZ $0683,x[$80:0695]   A:0006 X:0012 Y:0000 P:envMxdizc
$80/DDAE 9E 84 06    STZ $0684,x[$80:0696]   A:0006 X:0012 Y:0000 P:envMxdizc
$80/DDB1 98          TYA                     A:0006 X:0012 Y:0000 P:envMxdizc
$80/DDB2 C9 02       CMP #$02                A:0000 X:0012 Y:0000 P:envMxdiZc
$80/DDB4 D0 02       BNE $02    [$DDB8]      A:0000 X:0012 Y:0000 P:eNvMxdizc
$80/DDB6 3A          DEC A                   A:0002 X:0012 Y:0002 P:envMxdiZC
$80/DDB7 3A          DEC A                   A:0001 X:0012 Y:0002 P:envMxdizC
$80/DDB8 1A          INC A                   A:0000 X:0012 Y:0000 P:eNvMxdizc
$80/DDB9 9D C3 0C    STA $0CC3,x[$80:0CD5]   A:0001 X:0012 Y:0000 P:envMxdizc
$80/DDBC A9 01       LDA #$01                A:0001 X:0012 Y:0000 P:envMxdizc
$80/DDBE 9D 43 08    STA $0843,x[$80:0855]   A:0001 X:0012 Y:0000 P:envMxdizc
$80/DDC1 BD 03 07    LDA $0703,x[$80:0715]   A:0001 X:0012 Y:0000 P:envMxdizc
$80/DDC4 29 BF       AND #$BF                A:0044 X:0012 Y:0000 P:envMxdizc
$80/DDC6 9D 03 07    STA $0703,x[$80:0715]   A:0004 X:0012 Y:0000 P:envMxdizc
$80/DDC9 7B          TDC                     A:0004 X:0012 Y:0000 P:envMxdizc
$80/DDCA BD 83 08    LDA $0883,x[$80:0895]   A:0000 X:0012 Y:0000 P:envMxdiZc
$80/DDCD A8          TAY                     A:0001 X:0012 Y:0000 P:envMxdizc
$80/DDCE B9 6D B8    LDA $B86D,y[$80:B86E]   A:0001 X:0012 Y:0001 P:envMxdizc
$80/DDD1 1D 03 07    ORA $0703,x[$80:0715]   A:0040 X:0012 Y:0001 P:envMxdizc
$80/DDD4 9D 03 07    STA $0703,x[$80:0715]   A:0044 X:0012 Y:0001 P:envMxdizc
$80/DDD7 BD 44 06    LDA $0644,x[$80:0656]   A:0044 X:0012 Y:0001 P:envMxdizc
$80/DDDA C9 06       CMP #$06                A:0006 X:0012 Y:0001 P:envMxdizc
$80/DDDC B0 73       BCS $73    [$DE51]      A:0006 X:0012 Y:0001 P:envMxdiZC
$80/DDDE 7B          TDC                     A:0000 X:0012 Y:0001 P:eNvMxdizc
$80/DDDF AF DF DB 7E LDA $7EDBDF[$7E:DBDF]   A:0000 X:0012 Y:0001 P:envMxdiZc
$80/DDE3 3A          DEC A                   A:0005 X:0012 Y:0001 P:envMxdizc
$80/DDE4 0A          ASL A                   A:0004 X:0012 Y:0001 P:envMxdizc
$80/DDE5 0A          ASL A                   A:0008 X:0012 Y:0001 P:envMxdizc
$80/DDE6 AA          TAX                     A:0010 X:0012 Y:0001 P:envMxdizc
$80/DDE7 C2 20       REP #$20                A:0010 X:0010 Y:0001 P:envMxdizc
$80/DDE9 BF E2 DB 7E LDA $7EDBE2,x[$7E:DBF2] A:0010 X:0010 Y:0001 P:envmxdizc
$80/DDED A6 3B       LDX $3B    [$00:003B]   A:0480 X:0010 Y:0001 P:envmxdizc
$80/DDEF DD 03 0D    CMP $0D03,x[$80:0D15]   A:0480 X:0012 Y:0001 P:envmxdizc
$80/DDF2 E2 20       SEP #$20                A:0480 X:0012 Y:0001 P:envmxdizC
$80/DDF4 D0 03       BNE $03    [$DDF9]      A:0480 X:0012 Y:0001 P:envMxdizC
$80/DDF9 7B          TDC                     A:0480 X:0012 Y:0001 P:envMxdizC
$80/DDFA BD 84 08    LDA $0884,x[$80:0896]   A:0000 X:0012 Y:0001 P:envMxdiZC
$80/DDFD C2 20       REP #$20                A:0008 X:0012 Y:0001 P:envMxdizC
$80/DDFF 9D C3 0A    STA $0AC3,x[$80:0AD5]   A:0008 X:0012 Y:0001 P:envmxdizC
$80/DE02 9D 03 0B    STA $0B03,x[$80:0B15]   A:0008 X:0012 Y:0001 P:envmxdizC
$80/DE05 4A          LSR A                   A:0008 X:0012 Y:0001 P:envmxdizC
$80/DE06 18          CLC                     A:0004 X:0012 Y:0001 P:envmxdizc
$80/DE07 7D 03 0D    ADC $0D03,x[$80:0D15]   A:0004 X:0012 Y:0001 P:envmxdizc
$80/DE0A 9D 03 0D    STA $0D03,x[$80:0D15]   A:0004 X:0012 Y:0001 P:envmxdizc
$80/DE0D E2 20       SEP #$20                A:0004 X:0012 Y:0001 P:envmxdizc
$80/DE0F AA          TAX                     A:0004 X:0012 Y:0001 P:envMxdizc
$80/DE10 22 A7 B0 86 JSL $86B0A7[$86:B0A7]   A:0004 X:0004 Y:0001 P:envMxdizc
$80/DE14 C2 21       REP #$21                A:00B0 X:00B0 Y:0000 P:eNvMxdizc
$80/DE16 8A          TXA                     A:00B0 X:00B0 Y:0000 P:eNvmxdizc
$80/DE17 69 20 00    ADC #$0020              A:00B0 X:00B0 Y:0000 P:envmxdizc
$80/DE1A 0A          ASL A                   A:00D0 X:00B0 Y:0000 P:envmxdizc
$80/DE1B 0A          ASL A                   A:01A0 X:00B0 Y:0000 P:envmxdizc
$80/DE1C 0A          ASL A                   A:0340 X:00B0 Y:0000 P:envmxdizc
$80/DE1D 0A          ASL A                   A:0680 X:00B0 Y:0000 P:envmxdizc
$80/DE1E 0A          ASL A                   A:0D00 X:00B0 Y:0000 P:envmxdizc
$80/DE1F A6 3B       LDX $3B    [$00:003B]   A:1A00 X:00B0 Y:0000 P:envmxdizc
$80/DE21 9D 83 0D    STA $0D83,x[$80:0D95]   A:1A00 X:0012 Y:0000 P:envmxdizc
$80/DE24 E2 20       SEP #$20                A:1A00 X:0012 Y:0000 P:envmxdizc
$80/DE26 20 63 C3    JSR $C363  [$80:C363]   A:1A00 X:0012 Y:0000 P:envMxdizc
$80/DE29 7B          TDC                     A:0188 X:0012 Y:0000 P:envMxdizc
$80/DE2A BD C4 0B    LDA $0BC4,x[$80:0BD6]   A:0000 X:0012 Y:0000 P:envMxdiZc
$80/DE2D A8          TAY                     A:000C X:0012 Y:0000 P:envMxdizc
$80/DE2E B9 AF 17    LDA $17AF,y[$80:17BB]   A:000C X:0012 Y:000C P:envMxdizc
$80/DE31 3A          DEC A                   A:003A X:0012 Y:000C P:envMxdizc
$80/DE32 AA          TAX                     A:0039 X:0012 Y:000C P:envMxdizc
$80/DE33 BF 5B C7 88 LDA $88C75B,x[$88:C794] A:0039 X:0039 Y:000C P:envMxdizc
$80/DE37 A6 3B       LDX $3B    [$00:003B]   A:0002 X:0039 Y:000C P:envMxdizc
$80/DE39 29 03       AND #$03                A:0002 X:0012 Y:000C P:envMxdizc
$80/DE3B C9 02       CMP #$02                A:0002 X:0012 Y:000C P:envMxdizc
$80/DE3D F0 0D       BEQ $0D    [$DE4C]      A:0002 X:0012 Y:000C P:envMxdiZC
code is missing here
$80/DE4C DE 83 0C    DEC $0C83,x[$80:0C95]   A:0002 X:0012 Y:000C P:envMxdiZC
$80/DE4F 80 14       BRA $14    [$DE65]      A:0002 X:0012 Y:000C P:eNvMxdizC
$80/DE51 BD 83 06    LDA $0683,x[$80:0695]   A:0006 X:0012 Y:0001 P:envMxdiZC
$80/DE54 C9 06       CMP #$06                A:0000 X:0012 Y:0001 P:envMxdiZC
$80/DE56 90 0D       BCC $0D    [$DE65]      A:0000 X:0012 Y:0001 P:eNvMxdizc
$80/DE58 C2 21       REP #$21                A:0008 X:0012 Y:0001 P:envMxdizC
$80/DE5A A9 20 00    LDA #$0020              A:0008 X:0012 Y:0001 P:envmxdizc
$80/DE5D 7D 83 0D    ADC $0D83,x[$80:0D95]   A:0020 X:0012 Y:0001 P:envmxdizc
$80/DE60 9D 83 0D    STA $0D83,x[$80:0D95]   A:1620 X:0012 Y:0001 P:envmxdizc
$80/DE63 E2 20       SEP #$20                A:1620 X:0012 Y:0001 P:envmxdizc
$80/DE65 C2 20       REP #$20                A:0000 X:0012 Y:0001 P:eNvMxdizc
$80/DE67 BD 43 0D    LDA $0D43,x[$80:0D55]   A:0000 X:0012 Y:0001 P:eNvmxdizc
$80/DE6A 9D 83 0A    STA $0A83,x[$80:0A95]   A:0000 X:0012 Y:0001 P:envmxdiZc
$80/DE6D E2 20       SEP #$20                A:0000 X:0012 Y:0001 P:envmxdiZc
$80/DE6F 22 4C 96 84 JSL $84964C[$84:964C]   A:0000 X:0012 Y:0001 P:envMxdiZc
$80/DE73 C2 21       REP #$21                A:0002 X:0012 Y:0002 P:eNvMxdizc
$80/DE75 BD 83 0A    LDA $0A83,x[$80:0A95]   A:0002 X:0012 Y:0002 P:eNvmxdizc
$80/DE78 9D 43 0D    STA $0D43,x[$80:0D55]   A:0000 X:0012 Y:0002 P:envmxdiZc
$80/DE7B 7D 83 0D    ADC $0D83,x[$80:0D95]   A:0000 X:0012 Y:0002 P:envmxdiZc
$80/DE7E BD 83 0D    LDA $0D83,x[$80:0D95]   A:1600 X:0012 Y:0002 P:envmxdizc
$80/DE81 20 4D DC    JSR $DC4D  [$80:DC4D]   A:1600 X:0012 Y:0002 P:envmxdizc
$80/DE84 9D 83 0A    STA $0A83,x[$80:0A95]   A:1600 X:0012 Y:0002 P:envmxdiZC
$80/DE87 E2 20       SEP #$20                A:1600 X:0012 Y:0002 P:envmxdiZC
$80/DE89 BD 43 08    LDA $0843,x[$80:0855]   A:1600 X:0012 Y:0002 P:envMxdiZC
$80/DE8C D0 03       BNE $03    [$DE91]      A:1601 X:0012 Y:0002 P:envMxdizC
$80/DE8E 4C 90 DD    JMP $DD90  [$80:DD90]   A:1900 X:0012 Y:0013 P:envMxdiZC
code is missing here
$80/DE91 60          RTS                     A:1601 X:0012 Y:0002 P:envMxdizC

$80/E009 $05C0 Jump Table

$80/E009 AD C0 05    LDA $05C0     ; Load $05C0
$80/E00C EB          XBA           ; Clear High Byte
$80/E00D A9 00       LDA #$00
$80/E00F EB          XBA
$80/E010 0A          ASL A         ; Multiply by 2
$80/E011 AA          TAX           ; Transfer to X
$80/E012 7C 15 E0    JMP ($E015,x) ; Use the Jump Table

$80/E015 Jump Table for $80/E009

1B E0   Entry #$00 - $E01B - Check Buttons in Cursor Move Mode
06 E1   Entry #$01 - $E160 - 
56 E2   Entry #$02 - $E256 - 

$80/E01B BATTLE: Check Buttons in Cursor Move Mode

$80/E01B AD C2 05    LDA $05C2  [$80:05C2]   A:0000 X:0000 Y:000A P:envMxdiZc
$80/E01E D0 67       BNE $67    [$E087]      A:0000 X:0000 Y:000A P:envMxdiZc
$80/E020 20 DF 98    JSR $98DF  [$80:98DF]   A:0000 X:0000 Y:000A P:envMxdiZc
$80/E023 B0 62       BCS $62    [$E087]      A:0050 X:0000 Y:000A P:envMxdiZc
$80/E025 AD 66 05    LDA $0566     ; Was the B Button pushed?
$80/E028 89 80       BIT #$80
$80/E02A F0 1B       BEQ $1B       ; [$E047] Branch if not
$80/E02C 22 42 F9 80 JSL $80F942   ; Long Jump to Which Figure is the Cursor Pointing on
$80/E030 90 03       BCC $03    [$E035]      A:0032 X:0000 Y:000A P:eNvMxdizc
Code is missing here
$80/E035 BD DE 19    LDA $19DE,x   ; Check Figure's Status Effects(!?)
$80/E038 89 03       BIT #$03                A:0000 X:0000 Y:000A P:envMxdiZc
$80/E03A D0 0B       BNE $0B       ; [$E047] Exit this part and go on to the next button
$80/E03C 20 92 FA    JSR $FA92     ; Play Sound Effect Number #$02
$80/E03F 22 9F 84 9B JSL $9B849F
$80/E047 AD 65 05    LDA $0565     ; Was the A Button pushed?
$80/E04A 89 80       BIT #$80
$80/E04C F0 03       BEQ $03       ; [$E051] Branch if not
$80/E04E 4C AA E0    JMP $E0AA     ; ??? Open the Battle Stats Menu?
$80/E051 89 40       BIT #$40      ; Was the X Button pushed?
$80/E053 D0 3A       BNE $3A       ; [$E08F] Branch if it IS
$80/E055 AD 66 05    LDA $0566  [$80:0566]   A:0000 X:0000 Y:000A P:envMxdiZc
$80/E058 89 20       BIT #$20
$80/E05A F0 0A       BEQ $0A       ; [$E066] Branch if not
Code is missing here
$80/E066 20 9D 98    JSR $989D  [$80:989D]   A:0000 X:0000 Y:000A P:envMxdiZc
$80/E069 90 1C       BCC $1C    [$E087]      A:0000 X:0000 Y:000A P:envMxdiZc
Code is missing here
$80/E087 A5 60       LDA $60    [$00:0060]   A:0000 X:0000 Y:000A P:envMxdiZc
$80/E089 F0 03       BEQ $03    [$E08E]      A:0001 X:0000 Y:000A P:envMxdizc
$80/E08B 20 44 F8    JSR $F844  [$80:F844]   A:0001 X:0000 Y:000A P:envMxdizc
$80/E08E 60          RTS                     A:0000 X:003E Y:0002 P:eNvMxdizc

$80/F6DF BATTLE: Set the Cursor's Sprites to it's new position?

$80/F6DF 20 34 F7    JSR $F734     ; Get the Height's Map Address of the rhomb the Cursor points to
$80/F6E2 BF 00 D8 7F LDA $7FD800,x ; Load the height of the rhomb the cursor points on
$80/F6E6 F0 01       BEQ $01       ; [$F6E9] Decrement the value if it isn't zero
$80/F6E8 3A          DEC A
$80/F6E9 85 65       STA $65       ; Store in $65 ("Cursor Height" storage)
$80/F6EB 64 66       STZ $66       ; Clear $66 (only used in 16-bit calculation with $65?)
$80/F6ED A2 3C 00    LDX #$003C    ; Write Index for the second last figure (Rhomb Marker) 
$80/F6F0 A0 3E 00    LDY #$003E    ; Write Index for the last figure (Pointing Hand)
$80/F6F3 A9 7F       LDA #$7F                A:0006 X:003C Y:003E P:envMxdizc
$80/F6F5 9D 03 0A    STA $0A03,x[$80:0A3F]   A:007F X:003C Y:003E P:envMxdizc
$80/F6F8 99 03 0A    STA $0A03,y[$80:0A41]   A:007F X:003C Y:003E P:envMxdizc
$80/F6FB 9D 43 0A    STA $0A43,x[$80:0A7F]   A:007F X:003C Y:003E P:envMxdizc
$80/F6FE 99 43 0A    STA $0A43,y[$80:0A81]   A:007F X:003C Y:003E P:envMxdizc
$80/F701 A9 00       LDA #$00                A:007F X:003C Y:003E P:envMxdizc
$80/F703 9D 83 0A    STA $0A83,x[$80:0ABF]   A:0000 X:003C Y:003E P:envMxdiZc
$80/F706 99 83 0A    STA $0A83,y[$80:0AC1]   A:0000 X:003C Y:003E P:envMxdiZc
$80/F709 A5 61       LDA $61       ; Cursor Position - NW to SE Axis
$80/F70B 9D 04 0A    STA $0A04,x[$80:0A40]   A:000B X:003C Y:003E P:envMxdizc
$80/F70E 99 04 0A    STA $0A04,y[$80:0A42]   A:000B X:003C Y:003E P:envMxdizc
$80/F711 9D 43 09    STA $0943,x[$80:097F]   A:000B X:003C Y:003E P:envMxdizc
$80/F714 99 43 09    STA $0943,y[$80:0981]   A:000B X:003C Y:003E P:envMxdizc
$80/F717 A5 63       LDA $63       ; Cursor Position - NE to SW Axis
$80/F719 9D 44 0A    STA $0A44,x[$80:0A80]   A:0001 X:003C Y:003E P:envMxdizc
$80/F71C 99 44 0A    STA $0A44,y[$80:0A82]   A:0001 X:003C Y:003E P:envMxdizc
$80/F71F 9D 44 09    STA $0944,x[$80:0980]   A:0001 X:003C Y:003E P:envMxdizc
$80/F722 99 44 09    STA $0944,y[$80:0982]   A:0001 X:003C Y:003E P:envMxdizc
$80/F725 A5 65       LDA $65       ; Cursor Height
$80/F727 0A          ASL A                   A:0006 X:003C Y:003E P:envMxdizc
$80/F728 9D 84 0A    STA $0A84,x[$80:0AC0]   A:000C X:003C Y:003E P:envMxdizc
$80/F72B 69 06       ADC #$06                A:000C X:003C Y:003E P:envMxdizc
$80/F72D 99 84 0A    STA $0A84,y[$80:0AC2]   A:0012 X:003C Y:003E P:envMxdizc
$80/F730 20 21 9A    JSR $9A21     ; Calculate the Global Cursor Position from it's Position on Map
$80/F733 60          RTS

$80/F734 BATTLE: Get the Map Address of the Rhomb the Cursor points to

If you enter Battle, the program sets up several Maps on Bank $7F, which are all structured the same, for example the Height Map at $7F/D800. This is the map where the height of each Rhomb on the Battle Map is stored.

This subroutine turns the current position of the cursor into the offset for the corresponding entry on any of the the Maps. This is used for example on the Height Map to position the cursor on screen - depending on the Rhomb's height, the cursor has to be higher or lower on the screen.

These Maps have Rows and Columns. Each Row is $20 bytes long and contains all Rhombs with the same position on the NE-SW-Axis. This is why the calculation takes the NE-SW-Axis position and multiplies it by 20.

X will contain the result in the end.

$80/F734 7B          TDC           ; Clear 16-bit A
$80/F735 A5 63       LDA $63       ; Load Cursor Position (NE-SW-Axis)
$80/F737 C2 20       REP #$20      ; A = 16-bit
$80/F739 EB          XBA           ; Multiply by 20
$80/F73A 4A          LSR A
$80/F73B 4A          LSR A
$80/F73C 4A          LSR A
$80/F73D E2 20       SEP #$20      ; A = 8-bit
$80/F73F 05 61       ORA $61       ; Add the Cursor Position on the NW-SE-Axis
$80/F741 AA          TAX           ; Transfer the result in X
$80/F742 60          RTS

$80/F844 BATTLE: Changing Cursor Position something something

Part to F84C (including that line) is executed when Cursor is idle

The other stuff is executed when moved

$80/F844 7B          TDC           ; Clear 16-bit A
$80/F845 AD 68 05    LDA $0568     ; Load High Byte of Inputs that are actually worked off
$80/F848 29 0F       AND #$0F      ; Exempt the D-Pad Inputs
$80/F84A D0 03       BNE $03       ; [$F84F] Branch if there ARE directional inputs
$80/F84C 4C E4 F8    JMP $F8E4     ; Jump to the last part of this subroutine (consider this as a long branch)
$80/F84F A8          TAY           ; Transfer the Directional Inputs in Y
$80/F850 A5 63       LDA $63       ; 16-bit A contains the current cursors position after this
$80/F852 EB          XBA           ; High Byte: Position on the NE-SW-Axis
$80/F853 A5 61       LDA $61       ;  Low Byte: Position on the NW-SE-Axis
$80/F855 AA          TAX           ; Transfer it to X
$80/F856 DA          PHX           ; ... and BUFFER IT ON STACK (gets important later)
$80/F857 7B          TDC           ; Clear 16-bit-A
$80/F858 A5 48       LDA $48       ; Load Cursor Move Type
$80/F85A 29 03       AND #$03      ; Exempt the Bits for the Cursor Move Type
$80/F85C 0A          ASL A         ; Use it as Index for the Jump Table beneath
$80/F85D AA          TAX
$80/F85E 7C 61 F8    JMP ($F861,x) ; Jump to the Handler of the Input corresponding to the Cursor Move Type

$80/F861 BATTLE: Jump Table for $80/F844

99 F8 - Entry #$00 - $F899 - Cursor Move Type C Input Handler (No changes to the value in Y)
69 F8 - Entry #$01 - $F869 - Cursor Move Type A Input Handler
6F F8 - Entry #$02 - $F86F - Cursor Move Type B Input Handler
75 F8 - Entry #$03 - $F875 - Cursor Move Type D Input Handler

$80/F869 BATTLE: Turn Input from Cursor Move Type A to Type C

This turns the value in Y into another value; the Original value in Y is standard Input Data; the table at $F912 turn it around according to the Type A Cursor Setting.

$80/F869 B9 12 F9    LDA $F912,y   ; Load Value
$80/F86C A8          TAY           ; Transfer to Y
$80/F86D 80 2A       BRA $2A       ; [$F899]

$80/F86F BATTLE: Turn Input from Cursor Move Type B to Type C

This turns the value in Y into another value; the Original value in Y is standard Input Data; the table at $F922 turn it around according to the Type A Cursor Setting.

$80/F86F B9 22 F9    LDA $F922,y   ; Load Value
$80/F872 A8          TAY           ; Transfer to Y
$80/F873 80 24       BRA $24       ; [$F899]

$80/F899 BATTLE: Changing Cursor Position something something

$80/F899 84 00       STY $00       ; Buffer Joypad Input
$80/F89B A4 00       LDY $00       ; Load Joypad Input (this line could be removed?)
$80/F89D B9 F2 F8    LDA $F8F2,y   ; Load the +1/-1 for the new NW-SE-Axis-position
$80/F8A0 18          CLC
$80/F8A1 65 61       ADC $61       ; Add current NW-SE-Axis-position
$80/F8A3 F0 07       BEQ $07       ; [$F8AC] Branch (skip Position Update) if new position would be off-border (too low)
$80/F8A5 CD C8 16    CMP $16C8     ; Compare to the NW-SE-Width of the Map
$80/F8A8 B0 02       BCS $02       ; [$F8AC] Branch (skip Position Update) if new position would be off-border (too high)
$80/F8AA 85 61       STA $61       ; Update Position on the NW-SE-Axis
$80/F8AC B9 02 F9    LDA $F902,y   ; Load the +1/-1 for the new NE-SW-Axis-position
$80/F8AF 18          CLC
$80/F8B0 65 63       ADC $63       ; Add current NW-SE-Axis-position
$80/F8B2 F0 07       BEQ $07       ; [$F8BB] Branch (skip Position Update) if new position would be off-border (too low)
$80/F8B4 CD CA 16    CMP $16CA     ; Width of the Map on the NE-SW-Axis
$80/F8B7 B0 02       BCS $02       ; [$F8BB] Branch (skip Position Update) if new position would be off-border (too high)
$80/F8B9 85 63       STA $63       ; Update Position on the NE-SW-Axis
$80/F8BB 20 DF F6    JSR $F6DF  [$80:F6DF]   A:0001 X:0002 Y:0009 P:eNvMxdizc
$80/F8BE FA          PLX           ; Pull the old Cursor Position from Stack (see $80/F850)
$80/F8BF 86 00       STX $00       ; Temp-Store it in $00
$80/F8C1 A5 63       LDA $63       ; Calculate the current Cursor Position according to the same pattern
$80/F8C3 EB          XBA
$80/F8C4 A5 61       LDA $61
$80/F8C6 AA          TAX           ; Transfer it to X
$80/F8C7 E4 00       CPX $00       ; Compare Old and New Position
$80/F8C9 F0 19       BEQ $19       ; [$F8E4] ? Branch if they're the same
$80/F8CB A5 47       LDA $47       ; Load Constant Menu Display Flag - clear if deactivated
$80/F8CD 0D F4 16    ORA $16F4  [$80:16F4]   A:0100 X:010B Y:003E P:envMxdiZc
$80/F8D0 F0 12       BEQ $12    [$F8E4]      A:0100 X:010B Y:003E P:envMxdiZc
Code is missing here
$80/F8E4 A2 3E 00    LDX #$003E              A:0000 X:0000 Y:000A P:envMxdiZc
$80/F8E7 86 3B       STX $3B    [$00:003B]   A:0000 X:003E Y:000A P:envMxdizc
$80/F8E9 22 4C 96 84 JSL $84964C[$84:964C]   A:0000 X:003E Y:000A P:envMxdizc
$80/F8ED 22 F3 BB 82 JSL $82BBF3[$82:BBF3]   A:0002 X:003E Y:0002 P:eNvMxdizc
$80/F8F1 60          RTS                     A:0000 X:003E Y:0002 P:eNvMxdizc

$80/F8F2 Table of Values added to the NW to SE Axis Value

00 --- Entry #$00 - No Direction (should be never executed)
01 --- Entry #$01 - Move RIGHT
FF --- Entry #$02 - Move LEFT
00 --- Entry #$03 - Move LEFT RIGHT         (never possible on actual hardware)
01 --- Entry #$04 - Move DOWN
01 --- Entry #$05 - Move DOWN RIGHT
00 --- Entry #$06 - Move DOWN LEFT
00 --- Entry #$07 - Move DOWN LEFT RIGHT    (never possible on actual hardware)
FF --- Entry #$08 - Move UP
00 --- Entry #$09 - Move UP RIGHT
FF --- Entry #$0A - Move UP LEFT
00 --- Entry #$0B - Move UP LEFT RIGHT      (never possible on actual hardware)
00 --- Entry #$0C - Move UP DOWN            (never possible on actual hardware)
00 --- Entry #$0D - Move UP DOWN RIGHT      (never possible on actual hardware)
00 --- Entry #$0E - Move UP DOWN LEFT       (never possible on actual hardware)
00 --- Entry #$0F - Move UP DOWN LEFT RIGHT (never possible on actual hardware)

$80/F902 Table of Values added to the NE to WE Axis Value

00 --- Entry #$00 - No Direction (should be never executed)
FF --- Entry #$01 - Move RIGHT
01 --- Entry #$02 - Move LEFT
00 --- Entry #$03 - Move LEFT RIGHT         (never possible on actual hardware)
01 --- Entry #$04 - Move DOWN
00 --- Entry #$05 - Move DOWN RIGHT
01 --- Entry #$06 - Move DOWN LEFT
00 --- Entry #$07 - Move DOWN LEFT RIGHT    (never possible on actual hardware)
FF --- Entry #$08 - Move UP
FF --- Entry #$09 - Move UP RIGHT
00 --- Entry #$0A - Move UP LEFT
00 --- Entry #$0B - Move UP LEFT RIGHT      (never possible on actual hardware)
00 --- Entry #$0C - Move UP DOWN            (never possible on actual hardware)
00 --- Entry #$0D - Move UP DOWN RIGHT      (never possible on actual hardware)
00 --- Entry #$0E - Move UP DOWN LEFT       (never possible on actual hardware)
00 --- Entry #$0F - Move UP DOWN LEFT RIGHT (never possible on actual hardware)

$80/F912 Cursor Move Type A Table for $80/F869

00 --- Entry #$00 - %0000.0000 - No input (should be never executed)
05 --- Entry #$01 - %0000.0011 - Input RIGHT
0A --- Entry #$02 - %0000.1010 - Input LEFT
00 --- Entry #$03 - %0000.0000 - Input LEFT RIGHT         (never possible on actual hardware)
06 --- Entry #$04 - %0000.0110 - Input DOWN
04 --- Entry #$05 - %0000.0100 - Input DOWN RIGHT
02 --- Entry #$06 - %0000.0010 - Input DOWN LEFT
00 --- Entry #$07 - %0000.0000 - Input DOWN LEFT RIGHT    (never possible on actual hardware)
09 --- Entry #$08 - %0000.1001 - Input UP
01 --- Entry #$09 - %0000.0001 - Input UP RIGHT
08 --- Entry #$0A - %0000.1000 - Input UP LEFT
00 --- Entry #$0B - %0000.0000 - Input UP LEFT RIGHT      (never possible on actual hardware)
00 --- Entry #$0C - %0000.0000 - Input UP DOWN            (never possible on actual hardware)
00 --- Entry #$0D - %0000.0000 - Input UP DOWN RIGHT      (never possible on actual hardware)
00 --- Entry #$0E - %0000.0000 - Input UP DOWN LEFT       (never possible on actual hardware)
00 --- Entry #$0F - %0000.0000 - Input UP DOWN LEFT RIGHT (never possible on actual hardware)

$80/F922 Cursor Move Type B Table for $80/F869

00 --- Entry #$00 - %0000.0000 - No input (should be never executed)
09 --- Entry #$01 - %0000.1001 - Input RIGHT
06 --- Entry #$02 - %0000.0110 - Input LEFT
00 --- Entry #$03 - %0000.0000 - Input LEFT RIGHT         (never possible on actual hardware)
05 --- Entry #$04 - %0000.0011 - Input DOWN
01 --- Entry #$05 - %0000.0001 - Input DOWN RIGHT
04 --- Entry #$06 - %0000.0100 - Input DOWN LEFT
00 --- Entry #$07 - %0000.0000 - Input DOWN LEFT RIGHT    (never possible on actual hardware)
0A --- Entry #$08 - %0000.1010 - Input UP
08 --- Entry #$09 - %0000.1000 - Input UP RIGHT
02 --- Entry #$0A - %0000.0010 - Input UP LEFT
00 --- Entry #$0B - %0000.0000 - Input UP LEFT RIGHT      (never possible on actual hardware)
00 --- Entry #$0C - %0000.0000 - Input UP DOWN            (never possible on actual hardware)
00 --- Entry #$0D - %0000.0000 - Input UP DOWN RIGHT      (never possible on actual hardware)
00 --- Entry #$0E - %0000.0000 - Input UP DOWN LEFT       (never possible on actual hardware)
00 --- Entry #$0F - %0000.0000 - Input UP DOWN LEFT RIGHT (never possible on actual hardware)

$80/F932 Table 5 for $80/F869

00 --- Entry #$00
01 --- Entry #$01
02 --- Entry #$02
00 --- Entry #$03
04 --- Entry #$04
00 --- Entry #$05
00 --- Entry #$06
00 --- Entry #$07
08 --- Entry #$08
00 --- Entry #$09
00 --- Entry #$0A
00 --- Entry #$0B
00 --- Entry #$0C
00 --- Entry #$0D
00 --- Entry #$0E
00 --- Entry #$0F

$80/F942 Long Jump to Which Figure is the Cursor Pointing on

$80/F942 8B          PHB           ; Preserve Data Bank
$80/F943 4B          PHK           ; Set Data Bank to $80
$80/F944 AB          PLB
$80/F945 20 4A F9    JSR $F94A     ; Which Figure is the Cursor Pointing on
$80/F948 AB          PLB           ; Restore Buffered Data Bank
$80/F949 6B          RTL

$80/F94A Which Figure is the Cursor Pointing on

$39 contains the number of the Figure after this.

A will contain the Graphic Set number of that Figure

$80/F94A 20 34 F7    JSR $F734     ; Get the Map Address of the Rhomb the Cursor points to
$80/F94D 7B          TDC           ; Clear 16-bit A --- Map Address is in X, too
$80/F94E BF 00 DC 7F LDA $7FDC00,x ; Load the Number of the Figure the Cursor points on
$80/F952 30 0C       BMI $0C       ; [$F960] Branch if #$FF (Pointing on no figure)
$80/F954 AA          TAX           ; Transfer the Map Value in X
$80/F955 86 39       STX $39       ; Buffer Figure Number in $39
$80/F957 BD AE 17    LDA $17AE,x   ; Load Graphic Set Number of this Figure
$80/F95A C9 F0       CMP #$F0      ; ???
$80/F95C B0 07       BCS $07       ; [$F965] Branch if #$F0 or higher
$80/F95E 18          CLC           ; ???
$80/F95F 60          RTS

$80/FA92 Play Sound Effect #$02

$80/FA92 A9 02       LDA #$02      ; Sound Effect #$02
$80/FA94 4C B1 FA    JMP $FAB1     ; Play Sound Effect

$80/FAB1 Play Sound Effect

A contains the number of the Sound Effect that is to be played.

$80/FAB1 48          PHA           ; Buffer Number of the Sound Effect to play
$80/FAB2 A5 57       LDA $57       ; Check if Sound Effects are turned off
$80/FAB4 F0 04       BEQ $04       ; [$FABA] Branch if Sound Effects are turned off ($57 = #$00)
$80/FAB6 68          PLA           ; Pull Number of Sound Effect to play
$80/FAB7 85 F6       STA $F6       ; Transfer to $2141 - Play Sound Effect
$80/FAB9 60          RTS

Bank $81

$81/802A ? Sets up Window Mask for Textboxes

For all the in-game dialog boxes, this subroutine is executed. The Window Mask that gets set up in the latter part of this subroutine is for hiding sprites behind the textbox, otherwise they would appear between BG3 (the text) and BG1 (the textbox background).

$81/802A 8B          PHB           ; Buffer Data Bank on Stack
$81/802B A9 7E       LDA #$7E      ; Set Data Bank to $7E
$81/802D 48          PHA
$81/802E AB          PLB
$81/802F DA          PHX           ; Buffer X on Stack
$81/8030 7B          TDC           ; Clear 16-bit A
$81/8031 A5 C1       LDA $C1    [$00:00C1]   A:0000 X:1744 Y:000A P:envMxdiZc
$81/8033 0A          ASL A                   A:0001 X:1744 Y:000A P:envMxdizc
$81/8034 A8          TAY                     A:0002 X:1744 Y:000A P:envMxdizc
$81/8035 C2 21       REP #$21                A:0002 X:1744 Y:0002 P:envMxdizc
$81/8037 A5 5C       LDA $5C    [$00:005C]   A:0002 X:1744 Y:0002 P:envmxdizc
$81/8039 99 C2 00    STA $00C2,y[$7E:00C4]   A:3911 X:1744 Y:0002 P:envmxdizc
$81/803C AA          TAX                     A:3911 X:1744 Y:0002 P:envmxdizc
$81/803D 69 08 00    ADC #$0008              A:3911 X:3911 Y:0002 P:envmxdizc
$81/8040 85 5A       STA $5A    [$00:005A]   A:3919 X:3911 Y:0002 P:envmxdizc
$81/8042 85 5C       STA $5C    [$00:005C]   A:3919 X:3911 Y:0002 P:envmxdizc
$81/8044 86 D8       STX $D8    [$00:00D8]   A:3919 X:3911 Y:0002 P:envmxdizc
$81/8046 9E 02 00    STZ $0002,x[$7E:3913]   A:3919 X:3911 Y:0002 P:envmxdizc
$81/8049 9E 04 00    STZ $0004,x[$7E:3915]   A:3919 X:3911 Y:0002 P:envmxdizc
$81/804C 9E 06 00    STZ $0006,x[$7E:3917]   A:3919 X:3911 Y:0002 P:envmxdizc
$81/804F E2 20       SEP #$20                A:3919 X:3911 Y:0002 P:envmxdizc
$81/8051 A9 02       LDA #$02                A:3919 X:3911 Y:0002 P:envMxdizc
$81/8053 9D 00 00    STA $0000,x[$7E:3911]   A:3902 X:3911 Y:0002 P:envMxdizc
$81/8056 A5 C1       LDA $C1    [$00:00C1]   A:3902 X:3911 Y:0002 P:envMxdizc
$81/8058 9D 01 00    STA $0001,x[$7E:3912]   A:3901 X:3911 Y:0002 P:envMxdizc
$81/805B E6 C1       INC $C1    [$00:00C1]   A:3901 X:3911 Y:0002 P:envMxdizc
$81/805D A9 10       LDA #$10      ; Disable Sprites outside the window
$81/805F 8D A8 05    STA $05A8     ; Store in Buffer for $212E
$81/8062 A9 22       LDA #$22      ; Activate Window 1 OBJ/MATH Mask Outside
$81/8064 8D A3 05    STA $05A3     ; Store in Buffer for $2125
$81/8067 A9 20       LDA #$20      ; Enable NotColorMath-Window
$81/8069 0C AA 05    TSB $05AA     ; Add to Buffer value for $2130
$81/806C EE 5F 17    INC $175F     ; Set Flag for HDMA Window Mask
$81/806F FA          PLX           ; Restore X and Data Bank from Stack
$81/8070 AB          PLB
$81/8071 6B          RTL

$81/8072 ?

$81/8072 8B          PHB                     A:FF80 X:1744 Y:000A P:envMxdizc
$81/8073 A9 7E       LDA #$7E                A:FF80 X:1744 Y:000A P:envMxdizc
$81/8075 48          PHA                     A:FF7E X:1744 Y:000A P:envMxdizc
$81/8076 AB          PLB                     A:FF7E X:1744 Y:000A P:envMxdizc
$81/8077 7B          TDC                     A:FF7E X:1744 Y:000A P:envMxdizc
$81/8078 22 73 A0 81 JSL $81A073[$81:A073]   A:0000 X:1744 Y:000A P:envMxdiZc
$81/807C 7B          TDC                     A:0000 X:45D9 Y:0002 P:envMxdiZc
$81/807D A5 C1       LDA $C1    [$00:00C1]   A:0000 X:45D9 Y:0002 P:envMxdiZc
$81/807F F0 17       BEQ $17    [$8098]      A:0002 X:45D9 Y:0002 P:envMxdizc
$81/8081 3A          DEC A                   A:0002 X:45D9 Y:0002 P:envMxdizc
$81/8082 0A          ASL A                   A:0001 X:45D9 Y:0002 P:envMxdizc
$81/8083 A8          TAY                     A:0002 X:45D9 Y:0002 P:envMxdizc
$81/8084 B6 C2       LDX $C2,y  [$00:00C4]   A:0002 X:45D9 Y:0002 P:envMxdizc
$81/8086 BD 00 00    LDA $0000,x[$7E:3911]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/8089 C9 02       CMP #$02                A:0002 X:3911 Y:0002 P:envMxdizc
$81/808B D0 0B       BNE $0B    [$8098]      A:0002 X:3911 Y:0002 P:envMxdiZC
$81/808D 86 5A       STX $5A    [$00:005A]   A:0002 X:3911 Y:0002 P:envMxdiZC
$81/808F C6 C1       DEC $C1    [$00:00C1]   A:0002 X:3911 Y:0002 P:envMxdiZC
$81/8091 AD C7 0E    LDA $0EC7  [$7E:0EC7]   A:0002 X:3911 Y:0002 P:envMxdizC
$81/8094 D0 02       BNE $02    [$8098]      A:0000 X:3911 Y:0002 P:envMxdiZC
$81/8096 86 5C       STX $5C    [$00:005C]   A:0000 X:3911 Y:0002 P:envMxdiZC
$81/8098 9C A8 05    STZ $05A8  [$7E:05A8]   A:0000 X:3911 Y:0002 P:envMxdiZC
$81/809B A9 20       LDA #$20                A:0000 X:3911 Y:0002 P:envMxdiZC
$81/809D 1C AA 05    TRB $05AA  [$7E:05AA]   A:0020 X:3911 Y:0002 P:envMxdizC
$81/80A0 EE 5F 17    INC $175F  [$7E:175F]   A:0020 X:3911 Y:0002 P:envMxdizC
$81/80A3 AB          PLB                     A:0020 X:3911 Y:0002 P:envMxdizC
$81/80A4 6B          RTL                     A:0020 X:3911 Y:0002 P:envMxdizC

$81/80A5 ?

$81/80A5 48          PHA           ; Buffer A and Y on Stack
$81/80A6 5A          PHY
$81/80A7 20 C3 80    JSR $80C3  [$81:80C3]   A:A801 X:3911 Y:3C00 P:envMxdizc
$81/80AA B0 10       BCS $10    [$80BC]      A:0002 X:3911 Y:0002 P:envMxdizc
$81/80AC A3 03       LDA $03,s  [$00:1FCB]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/80AE 4A          LSR A                   A:0001 X:3911 Y:0002 P:envMxdizc
$81/80AF B0 06       BCS $06    [$80B7]      A:0000 X:3911 Y:0002 P:envMxdiZC
$81/80B1 BC 04 00    LDY $0004,x[$7E:3915]   A:0000 X:3911 Y:0002 P:envMxdiZc
$81/80B4 BB          TYX                     A:0000 X:3911 Y:45D9 P:envMxdizc
$81/80B5 80 04       BRA $04    [$80BB]      A:0000 X:45D9 Y:45D9 P:envMxdizc
$81/80B7 BC 06 00    LDY $0006,x[$7E:3917]   A:0000 X:3911 Y:0002 P:envMxdiZC
$81/80BA BB          TYX                     A:0000 X:3911 Y:3919 P:envMxdizC
$81/80BB 18          CLC                     A:0000 X:3919 Y:3919 P:envMxdizC
$81/80BC 7A          PLY           ; Restore Y and A from Stack
$81/80BD 68          PLA
$81/80BE 60          RTS

$81/80BF ?

$81/80BF 20 C3 80    JSR $80C3  [$81:80C3]   A:3700 X:3300 Y:3762 P:envMxdiZc
$81/80C2 6B          RTL                     A:0002 X:3911 Y:0002 P:envMxdizc

$81/80C3 ?

$81/80C3 A9 02       LDA #$02                A:3700 X:3300 Y:3762 P:envMxdiZc
$81/80C5 20 48 D4    JSR $D448  [$81:D448]   A:3702 X:3300 Y:3762 P:envMxdizc
$81/80C8 60          RTS                     A:0002 X:3911 Y:0002 P:envMxdizc

$81/80C9 ?

$81/80C9 5A          PHY           ; Buffer Y and $02-$0D on Stack
$81/80CA D4 02       PEI ($02)
$81/80CC D4 04       PEI ($04)
$81/80CE D4 06       PEI ($06)
$81/80D0 D4 08       PEI ($08)
$81/80D2 D4 0A       PEI ($0A)
$81/80D4 D4 0C       PEI ($0C)
$81/80D6 22 60 A4 80 JSL $80A460[$80:A460]   A:0002 X:3300 Y:FFFE P:envMxdizC
$81/80DA 22 E8 95 80 JSL $8095E8[$80:95E8]   A:E008 X:0000 Y:B060 P:envMxdizc
$81/80DE 22 8A A1 80 JSL $80A18A[$80:A18A]   A:FF20 X:1744 Y:000A P:envMxdizC
$81/80E2 22 2A 80 81 JSL $81802A[$81:802A]   A:FF80 X:1744 Y:000A P:envMxdizc
$81/80E6 7A          PLY           ; Restore $0D-$02 and Y from Stack
$81/80E7 84 0C       STY $0C
$81/80E9 7A          PLY
$81/80EA 84 0A       STY $0A
$81/80EC 7A          PLY
$81/80ED 84 08       STY $08
$81/80EF 7A          PLY
$81/80F0 84 06       STY $06
$81/80F2 7A          PLY
$81/80F3 84 04       STY $04
$81/80F5 7A          PLY
$81/80F6 84 02       STY $02
$81/80F8 7A          PLY
$81/80F9 60          RTS

$81/80FA ?

$81/80FA 48          PHA        ; Buffer A, X and Y on Stack
$81/80FB DA          PHX
$81/80FC 5A          PHY
$81/80FD 20 C3 80    JSR $80C3  [$81:80C3]   A:A804 X:3911 Y:3C00 P:envMxdiZC
$81/8100 B0 3C       BCS $3C    ; [$813E] Exit if Error Flag was set
$81/8102 BD 02 00    LDA $0002,x[$7E:3913]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/8105 C9 00       CMP #$00                A:0000 X:3911 Y:0002 P:envMxdiZc
$81/8107 F0 04       BEQ $04    [$810D]      A:0000 X:3911 Y:0002 P:envMxdiZC
code is missing here
$81/810D BD 03 00    LDA $0003,x[$7E:3914]   A:0000 X:3911 Y:0002 P:envMxdiZC
$81/8110 C9 00       CMP #$00                A:0004 X:3911 Y:0002 P:envMxdizC
$81/8112 F0 04       BEQ $04    [$8118]      A:0004 X:3911 Y:0002 P:envMxdizC
$81/8114 C9 04       CMP #$04                A:0004 X:3911 Y:0002 P:envMxdizC
$81/8116 D0 26       BNE $26    [$813E]      A:0004 X:3911 Y:0002 P:envMxdiZC
$81/8118 BD 01 00    LDA $0001,x[$7E:3912]   A:0004 X:3911 Y:0002 P:envMxdiZC
$81/811B 1A          INC A                   A:0001 X:3911 Y:0002 P:envMxdizC
$81/811C 85 C1       STA $C1    [$00:00C1]   A:0002 X:3911 Y:0002 P:envMxdizC
$81/811E 0A          ASL A                   A:0002 X:3911 Y:0002 P:envMxdizC
$81/811F A8          TAY                     A:0004 X:3911 Y:0002 P:envMxdizc
$81/8120 C2 20       REP #$20                A:0004 X:3911 Y:0004 P:envMxdizc
$81/8122 B6 C2       LDX $C2,y  [$00:00C6]   A:0004 X:3911 Y:0004 P:envmxdizc
$81/8124 86 5A       STX $5A    [$00:005A]   A:0004 X:3919 Y:0004 P:envmxdizc
$81/8126 86 5C       STX $5C    [$00:005C]   A:0004 X:3919 Y:0004 P:envmxdizc
$81/8128 E2 20       SEP #$20                A:0004 X:3919 Y:0004 P:envmxdizc
$81/812A 22 8A A1 80 JSL $80A18A[$80:A18A]   A:0004 X:3919 Y:0004 P:envMxdizc
$81/812E 22 92 A4 80 JSL $80A492[$80:A492]   A:0080 X:3919 Y:0004 P:envMxdizc
$81/8132 22 E8 95 80 JSL $8095E8[$80:95E8]   A:0008 X:0060 Y:0004 P:envMxdizc
$81/8136 22 8A A1 80 JSL $80A18A[$80:A18A]   A:FF20 X:1744 Y:000A P:envMxdizC
$81/813A 22 72 80 81 JSL $818072[$81:8072]   A:FF80 X:1744 Y:000A P:envMxdizc
$81/813E 7A          PLY           ; Restore Y, C and A from Stack
$81/813F FA          PLX
$81/8140 68          PLA
$81/8141 60          RTS

$81/8142 ?

$81/8142 8B          PHB           ; Buffer Data Bank on Stack
$81/8143 A9 7E       LDA #$7E      ; Set Data Bank to $7E
$81/8145 48          PHA
$81/8146 AB          PLB
$81/8147 DA          PHX           ; Buffer X on Stack
$81/8148 D4 02       PEI ($02)     ; Buffer $02-$05 on Stack
$81/814A D4 04       PEI ($04)
$81/814C 20 C3 80    JSR $80C3  [$81:80C3]   A:007E X:0004 Y:0001 P:envMxdizC
$81/814F 90 05       BCC $05    [$8156]      A:0002 X:3911 Y:0002 P:envMxdizc
code is missing here
$81/8156 64 0C       STZ $0C    [$00:000C]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/8158 20 8E 9D    JSR $9D8E  [$81:9D8E]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/815B DA          PHX                     A:0002 X:3911 Y:0002 P:envMxdizc
$81/815C BD 02 00    LDA $0002,x[$7E:3913]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/815F C9 00       CMP #$00                A:0000 X:3911 Y:0002 P:envMxdiZc
$81/8161 D0 2E       BNE $2E    [$8191]      A:0000 X:3911 Y:0002 P:envMxdiZC
$81/8163 BC 04 00    LDY $0004,x[$7E:3915]   A:0000 X:3911 Y:0002 P:envMxdiZC
$81/8166 D0 29       BNE $29    [$8191]      A:0000 X:3911 Y:0000 P:envMxdiZC
$81/8168 7B          TDC                     A:0000 X:3911 Y:0000 P:envMxdiZC
$81/8169 A5 C1       LDA $C1    [$00:00C1]   A:0000 X:3911 Y:0000 P:envMxdiZC
$81/816B 0A          ASL A                   A:0003 X:3911 Y:0000 P:envMxdizC
$81/816C A8          TAY                     A:0006 X:3911 Y:0000 P:envMxdizc
$81/816D 4A          LSR A                   A:0006 X:3911 Y:0006 P:envMxdizc
$81/816E 85 00       STA $00    [$00:0000]   A:0003 X:3911 Y:0006 P:envMxdizc
$81/8170 C2 21       REP #$21                A:0003 X:3911 Y:0006 P:envMxdizc
$81/8172 A5 5A       LDA $5A    [$00:005A]   A:0003 X:3911 Y:0006 P:envmxdizc
$81/8174 99 C2 00    STA $00C2,y[$7E:00C8]   A:45D9 X:3911 Y:0006 P:envmxdizc
$81/8177 85 D8       STA $D8    [$00:00D8]   A:45D9 X:3911 Y:0006 P:envmxdizc
$81/8179 AA          TAX                     A:45D9 X:3911 Y:0006 P:envmxdizc
$81/817A 69 C0 0C    ADC #$0CC0              A:45D9 X:45D9 Y:0006 P:envmxdizc
$81/817D 85 5A       STA $5A    [$00:005A]   A:5299 X:45D9 Y:0006 P:envmxdizc
$81/817F 85 5C       STA $5C    [$00:005C]   A:5299 X:45D9 Y:0006 P:envmxdizc
$81/8181 C5 5E       CMP $5E    [$00:005E]   A:5299 X:45D9 Y:0006 P:envmxdizc
$81/8183 90 06       BCC $06    [$818B]      A:5299 X:45D9 Y:0006 P:eNvmxdizc
code is missing here
$81/818B E2 20       SEP #$20                A:5299 X:45D9 Y:0006 P:eNvmxdizc
$81/818D E6 C1       INC $C1    [$00:00C1]   A:5299 X:45D9 Y:0006 P:eNvMxdizc
$81/818F 80 0E       BRA $0E    [$819F]      A:5299 X:45D9 Y:0006 P:envMxdizc
code is missing here
$81/819F 20 61 8B    JSR $8B61  [$81:8B61]   A:5299 X:45D9 Y:0006 P:envMxdizc
$81/81A2 C2 20       REP #$20                A:450F X:45D9 Y:0002 P:envMxdizc
$81/81A4 8A          TXA                     A:450F X:45D9 Y:0002 P:envmxdizc
$81/81A5 FA          PLX                     A:45D9 X:45D9 Y:0002 P:envmxdizc
$81/81A6 9D 04 00    STA $0004,x[$7E:3915]   A:45D9 X:3911 Y:0002 P:envmxdizc
$81/81A9 E2 20       SEP #$20                A:45D9 X:3911 Y:0002 P:envmxdizc
$81/81AB A9 01       LDA #$01                A:45D9 X:3911 Y:0002 P:envMxdizc
$81/81AD 9D 02 00    STA $0002,x[$7E:3913]   A:4501 X:3911 Y:0002 P:envMxdizc
$81/81B0 BD 03 00    LDA $0003,x[$7E:3914]   A:4501 X:3911 Y:0002 P:envMxdizc
$81/81B3 C9 01       CMP #$01                A:4503 X:3911 Y:0002 P:envMxdizc
$81/81B5 D0 05       BNE $05    [$81BC]      A:4503 X:3911 Y:0002 P:envMxdizC
code is missing here
$81/81BC FA          PLX           ; Restore $02-$05 from Stack
$81/81BD 86 04       STX $04
$81/81BF FA          PLX
$81/81C0 86 02       STX $02
$81/81C2 FA          PLX           ; Restore X from Stack
$81/81C3 AB          PLB           ; Restore Data Bank from Stack
$81/81C4 6B          RTL

$81/81C5 ?

$81/81C5 8B          PHB           ; Buffer Data Bank on Stack
$81/81C6 A9 7E       LDA #$7E      ; Set Data Bank to $7E
$81/81C8 48          PHA
$81/81C9 AB          PLB
$81/81CA DA          PHX           ; Buffer X on Stack
$81/81CB D4 02       PEI ($02)     ; Buffer $02-$05 on Stack
$81/81CD D4 04       PEI ($04)
$81/81CF 20 C3 80    JSR $80C3  [$81:80C3]   A:007E X:0002 Y:0000 P:envMxdizC
$81/81D2 90 05       BCC $05    [$81D9]      A:0002 X:3300 Y:FFFE P:envMxdizC
$81/81D4 20 C9 80    JSR $80C9  [$81:80C9]   A:0002 X:3300 Y:FFFE P:envMxdizC
$81/81D7 80 F6       BRA $F6    [$81CF]      A:3920 X:1744 Y:FFFE P:eNvMxdizc
$81/81D9 A9 01       LDA #$01                A:0002 X:3911 Y:0002 P:envMxdizc
$81/81DB 85 0C       STA $0C    [$00:000C]   A:0001 X:3911 Y:0002 P:envMxdizc
$81/81DD 20 8E 9D    JSR $9D8E  [$81:9D8E]   A:0001 X:3911 Y:0002 P:envMxdizc
$81/81E0 DA          PHX                     A:0001 X:3911 Y:0002 P:envMxdizc
$81/81E1 BD 03 00    LDA $0003,x[$7E:3914]   A:0001 X:3911 Y:0002 P:envMxdizc
$81/81E4 C9 00       CMP #$00                A:0000 X:3911 Y:0002 P:envMxdiZc
$81/81E6 D0 2E       BNE $2E    [$8216]      A:0000 X:3911 Y:0002 P:envMxdiZC
$81/81E8 BC 06 00    LDY $0006,x[$7E:3917]   A:0000 X:3911 Y:0002 P:envMxdiZC
$81/81EB D0 29       BNE $29    [$8216]      A:0000 X:3911 Y:0000 P:envMxdiZC
$81/81ED 7B          TDC                     A:0000 X:3911 Y:0000 P:envMxdiZC
$81/81EE A5 C1       LDA $C1    [$00:00C1]   A:0000 X:3911 Y:0000 P:envMxdiZC
$81/81F0 0A          ASL A                   A:0002 X:3911 Y:0000 P:envMxdizC
$81/81F1 A8          TAY                     A:0004 X:3911 Y:0000 P:envMxdizc
$81/81F2 4A          LSR A                   A:0004 X:3911 Y:0004 P:envMxdizc
$81/81F3 85 00       STA $00    [$00:0000]   A:0002 X:3911 Y:0004 P:envMxdizc
$81/81F5 C2 21       REP #$21                A:0002 X:3911 Y:0004 P:envMxdizc
$81/81F7 A5 5A       LDA $5A    [$00:005A]   A:0002 X:3911 Y:0004 P:envmxdizc
$81/81F9 99 C2 00    STA $00C2,y[$7E:00C6]   A:3919 X:3911 Y:0004 P:envmxdizc
$81/81FC 85 D8       STA $D8    [$00:00D8]   A:3919 X:3911 Y:0004 P:envmxdizc
$81/81FE AA          TAX                     A:3919 X:3911 Y:0004 P:envmxdizc
$81/81FF 69 C0 0C    ADC #$0CC0              A:3919 X:3919 Y:0004 P:envmxdizc
$81/8202 85 5A       STA $5A    [$00:005A]   A:45D9 X:3919 Y:0004 P:envmxdizc
$81/8204 85 5C       STA $5C    [$00:005C]   A:45D9 X:3919 Y:0004 P:envmxdizc
$81/8206 C5 5E       CMP $5E    [$00:005E]   A:45D9 X:3919 Y:0004 P:envmxdizc
$81/8208 90 06       BCC $06    [$8210]      A:45D9 X:3919 Y:0004 P:eNvmxdizc
code is missing here
$81/8210 E2 20       SEP #$20                A:45D9 X:3919 Y:0004 P:eNvmxdizc
$81/8212 E6 C1       INC $C1    [$00:00C1]   A:45D9 X:3919 Y:0004 P:eNvMxdizc
$81/8214 80 0E       BRA $0E    [$8224]      A:45D9 X:3919 Y:0004 P:envMxdizc
code is missing here
$81/8224 20 61 8B    JSR $8B61  [$81:8B61]   A:45D9 X:3919 Y:0004 P:envMxdizc
$81/8227 C2 20       REP #$20                A:390F X:3919 Y:0002 P:envMxdizc
$81/8229 8A          TXA                     A:390F X:3919 Y:0002 P:envmxdizc
$81/822A FA          PLX                     A:3919 X:3919 Y:0002 P:envmxdizc
$81/822B 9D 06 00    STA $0006,x[$7E:3917]   A:3919 X:3911 Y:0002 P:envmxdizc
$81/822E E2 20       SEP #$20                A:3919 X:3911 Y:0002 P:envmxdizc
$81/8230 A9 01       LDA #$01                A:3919 X:3911 Y:0002 P:envMxdizc
$81/8232 9D 03 00    STA $0003,x[$7E:3914]   A:3901 X:3911 Y:0002 P:envMxdizc
$81/8235 BD 02 00    LDA $0002,x[$7E:3913]   A:3901 X:3911 Y:0002 P:envMxdizc
$81/8238 C9 01       CMP #$01                A:3900 X:3911 Y:0002 P:envMxdiZc
$81/823A D0 05       BNE $05    [$8241]      A:3900 X:3911 Y:0002 P:eNvMxdizc
code is missing here
$81/8241 FA          PLX           ; Restore $05-$02, X and Data Bank from Stack
$81/8242 86 04       STX $04
$81/8244 FA          PLX
$81/8245 86 02       STX $02
$81/8247 FA          PLX
$81/8248 AB          PLB
$81/8249 6B          RTL

$81/8292 ?

$81/8292 8B          PHB           ; Buffer Data Bank on Stack
$81/8293 A9 7E       LDA #$7E      ; Set Data Bank to $7E
$81/8295 48          PHA
$81/8296 AB          PLB
$81/8297 DA          PHX           ; Buffer X on Stack
$81/8298 D4 02       PEI ($02)     ; Buffer $02-$05 on Stack
$81/829A D4 04       PEI ($04)
$81/829C 20 C3 80    JSR $80C3  [$81:80C3]   A:087E X:0000 Y:376B P:envMxdizc
$81/829F B0 30       BCS $30    [$82D1]      A:0002 X:3911 Y:0002 P:envMxdizc
$81/82A1 20 8E 9D    JSR $9D8E  [$81:9D8E]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/82A4 BD 03 00    LDA $0003,x[$7E:3914]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/82A7 C9 03       CMP #$03                A:0003 X:3911 Y:0002 P:envMxdizc
$81/82A9 D0 26       BNE $26    [$82D1]      A:0003 X:3911 Y:0002 P:envMxdiZC
$81/82AB DA          PHX                     A:0003 X:3911 Y:0002 P:envMxdiZC
$81/82AC BC 06 00    LDY $0006,x[$7E:3917]   A:0003 X:3911 Y:0002 P:envMxdiZC
$81/82AF BB          TYX                     A:0003 X:3911 Y:3919 P:envMxdizC
$81/82B0 20 7E 8E    JSR $8E7E  [$81:8E7E]   A:0003 X:3919 Y:3919 P:envMxdizC
$81/82B3 C2 20       REP #$20                A:23EE X:3919 Y:3919 P:eNvMxdizc
$81/82B5 8A          TXA                     A:23EE X:3919 Y:3919 P:eNvmxdizc
$81/82B6 FA          PLX                     A:3919 X:3919 Y:3919 P:envmxdizc
$81/82B7 9D 06 00    STA $0006,x[$7E:3917]   A:3919 X:3911 Y:3919 P:envmxdizc
$81/82BA E2 20       SEP #$20                A:3919 X:3911 Y:3919 P:envmxdizc
$81/82BC A9 01       LDA #$01                A:3919 X:3911 Y:3919 P:envMxdizc
$81/82BE 9D 03 00    STA $0003,x[$7E:3914]   A:3901 X:3911 Y:3919 P:envMxdizc
$81/82C1 BD 02 00    LDA $0002,x[$7E:3913]   A:3901 X:3911 Y:3919 P:envMxdizc
$81/82C4 C9 00       CMP #$00                A:3900 X:3911 Y:3919 P:envMxdiZc
$81/82C6 F0 09       BEQ $09    [$82D1]      A:3900 X:3911 Y:3919 P:envMxdiZC
code is missing here
$81/82D1 FA          PLX           ; Restore $02-$05 from Stack
$81/82D2 86 04       STX $04
$81/82D4 FA          PLX
$81/82D5 86 02       STX $02
$81/82D7 FA          PLX           ; Restore X from Stack
$81/82D8 AB          PLB           ; Restore Data Bank from Stack
$81/82D9 6B          RTL

$81/82DA ?

$81/82DA 8B          PHB           ; Buffer Data Bank on Stack
$81/82DB A9 7E       LDA #$7E      ; Set Data Bank to $7E
$81/82DD 48          PHA
$81/82DE AB          PLB
$81/82DF DA          PHX           ; Buffer X on Stack
$81/82E0 D4 02       PEI ($02)     ; Buffer $02-$05 on Stack
$81/82E2 D4 04       PEI ($04)
$81/82E4 20 C3 80    JSR $80C3  [$81:80C3]   A:007E X:3300 Y:3765 P:envMxdizc
$81/82E7 90 03       BCC $03    [$82EC]      A:0002 X:3911 Y:0002 P:envMxdizc
$81/82EC BD 02 00    LDA $0002,x[$7E:3913]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/82EF C9 00       CMP #$00                A:0003 X:3911 Y:0002 P:envMxdizc
$81/82F1 F0 7D       BEQ $7D    [$8370]      A:0003 X:3911 Y:0002 P:envMxdizC
$81/82F3 C9 04       CMP #$04                A:0003 X:3911 Y:0002 P:envMxdizC
$81/82F5 F0 79       BEQ $79    [$8370]      A:0003 X:3911 Y:0002 P:eNvMxdizc
$81/82F7 DA          PHX                     A:0003 X:3911 Y:0002 P:eNvMxdizc
$81/82F8 20 8E 9D    JSR $9D8E  [$81:9D8E]   A:0003 X:3911 Y:0002 P:eNvMxdizc
$81/82FB BC 04 00    LDY $0004,x[$7E:3915]   A:0003 X:3911 Y:0002 P:envMxdizc
$81/82FE 84 D8       STY $D8    [$00:00D8]   A:0003 X:3911 Y:45D9 P:envMxdizc
$81/8300 BB          TYX                     A:0003 X:3911 Y:45D9 P:envMxdizc
$81/8301 20 3C 9D    JSR $9D3C  [$81:9D3C]   A:0003 X:45D9 Y:45D9 P:envMxdizc
$81/8304 A6 D8       LDX $D8    [$00:00D8]   A:0003 X:45D9 Y:45D9 P:envMxdizC
$81/8306 BD 3F 02    LDA $023F,x[$7E:4818]   A:0003 X:45D9 Y:45D9 P:envMxdizC
$81/8309 F0 06       BEQ $06    [$8311]      A:0000 X:45D9 Y:45D9 P:envMxdiZC
$81/830B C9 FF       CMP #$FF                A:0001 X:45D9 Y:45D9 P:envMxdizC
$81/830D F0 19       BEQ $19    [$8328]      A:0001 X:45D9 Y:45D9 P:envMxdizc
$81/830F 80 09       BRA $09    [$831A]      A:0001 X:45D9 Y:45D9 P:envMxdizc
$81/8311 20 28 98    JSR $9828  [$81:9828]   A:0000 X:45D9 Y:45D9 P:envMxdiZC
$81/8314 20 D6 9C    JSR $9CD6  [$81:9CD6]   A:0284 X:45D9 Y:01A0 P:envMxdizc
$81/8317 20 3D A0    JSR $A03D  [$81:A03D]   A:E07F X:45D9 Y:5400 P:envMxdizc
$81/831A 20 0D 93    JSR $930D  [$81:930D]   A:0001 X:45D9 Y:B12C P:enVMxdizC
$81/831D FA          PLX           ; ?
$81/831E FA          PLX           ; Restore $05-$02 from Stack
$81/831F 86 04       STX $04
$81/8321 FA          PLX
$81/8322 86 02       STX $02
$81/8324 FA          PLX           ; Restore X from Stack
$81/8325 AB          PLB           ; Restore Data Bank from Stack
$81/8326 18          CLC                     A:A87E X:3300 Y:3C00 P:envMxdizc
$81/8327 6B          RTL                     A:A87E X:3300 Y:3C00 P:envMxdizc
$81/8328 20 13 96    JSR $9613  [$81:9613]   A:00FF X:45D9 Y:45D9 P:envMxdiZC
$81/832B BD 54 00    LDA $0054,x[$7E:462D]   A:D133 X:45D9 Y:3919 P:envMxdizc
$81/832E FA          PLX                     A:D103 X:45D9 Y:3919 P:envMxdizc
$81/832F 1A          INC A                   A:D103 X:3911 Y:3919 P:envMxdizc
$81/8330 C5 C1       CMP $C1    [$00:00C1]   A:D104 X:3911 Y:3919 P:envMxdizc
$81/8332 D0 14       BNE $14    [$8348]      A:D104 X:3911 Y:3919 P:envMxdiZC
$81/8334 C6 C1       DEC $C1    [$00:00C1]   A:D104 X:3911 Y:3919 P:envMxdiZC
$81/8336 BC 04 00    LDY $0004,x[$7E:3915]   A:D104 X:3911 Y:3919 P:envMxdizC
$81/8339 84 5A       STY $5A    [$00:005A]   A:D104 X:3911 Y:45D9 P:envMxdizC
$81/833B 9E 04 00    STZ $0004,x[$7E:3915]   A:D104 X:3911 Y:45D9 P:envMxdizC
$81/833E 9E 05 00    STZ $0005,x[$7E:3916]   A:D104 X:3911 Y:45D9 P:envMxdizC
$81/8341 A9 00       LDA #$00                A:D104 X:3911 Y:45D9 P:envMxdizC
$81/8343 9D 02 00    STA $0002,x[$7E:3913]   A:D100 X:3911 Y:45D9 P:envMxdiZC
$81/8346 80 05       BRA $05    [$834D]      A:D100 X:3911 Y:45D9 P:envMxdiZC
code is missing here
$81/834D DA          PHX                     A:D100 X:3911 Y:45D9 P:envMxdiZC
$81/834E 20 D6 9C    JSR $9CD6  [$81:9CD6]   A:D100 X:3911 Y:45D9 P:envMxdiZC
$81/8351 20 06 9D    JSR $9D06  [$81:9D06]   A:E07F X:45D9 Y:5400 P:envMxdizc
$81/8354 FA          PLX                     A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/8355 BD 03 00    LDA $0003,x[$7E:3914]   A:A87E X:3911 Y:3C00 P:envMxdizc
$81/8358 C9 00       CMP #$00                A:A803 X:3911 Y:3C00 P:envMxdizc
$81/835A F0 11       BEQ $11    [$836D]      A:A803 X:3911 Y:3C00 P:envMxdizC
$81/835C C9 04       CMP #$04                A:A803 X:3911 Y:3C00 P:envMxdizC
$81/835E F0 0D       BEQ $0D    [$836D]      A:A803 X:3911 Y:3C00 P:eNvMxdizc
$81/8360 A9 01       LDA #$01                A:A803 X:3911 Y:3C00 P:eNvMxdizc
$81/8362 20 A5 80    JSR $80A5  [$81:80A5]   A:A801 X:3911 Y:3C00 P:envMxdizc
$81/8365 9E 52 00    STZ $0052,x[$7E:396B]   A:0001 X:3919 Y:3C00 P:envMxdizc
$81/8368 9E 53 00    STZ $0053,x[$7E:396C]   A:0001 X:3919 Y:3C00 P:envMxdizc
$81/836B 80 03       BRA $03    [$8370]      A:0001 X:3919 Y:3C00 P:envMxdizc
$81/836D 20 FA 80    JSR $80FA  [$81:80FA]   A:A804 X:3911 Y:3C00 P:envMxdiZC
$81/8370 FA          PLX           ; Restore $02-$05 from Stack
$81/8371 86 04       STX $04
$81/8373 FA          PLX
$81/8374 86 02       STX $02
$81/8376 FA          PLX           ; Restore X from Stack
$81/8377 AB          PLB           ; Restore Data Bank from Stack
$81/8378 38          SEC                     A:0001 X:1758 Y:3C00 P:envMxdizc
$81/8379 6B          RTL

$81/837A ?

$81/837A 8B          PHB           ; Buffer Data Bank on Stack
$81/837B A9 7E       LDA #$7E      ; Set Data Bank to $7E
$81/837D 48          PHA
$81/837E AB          PLB
$81/837F DA          PHX           ; Buffer X on Stack
$81/8380 D4 02       PEI ($02)     ; Buffer $02-$05 on Stack
$81/8382 D4 04       PEI ($04)
$81/8384 20 C3 80    JSR $80C3  [$81:80C3]   A:007E X:0022 Y:3778 P:envMxdizc
$81/8387 90 03       BCC $03    [$838C]      A:0002 X:3911 Y:0002 P:envMxdizc
code is missing here
$81/838C BD 03 00    LDA $0003,x[$7E:3914]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/838F C9 00       CMP #$00                A:0003 X:3911 Y:0002 P:envMxdizc
$81/8391 F0 7C       BEQ $7C    [$840F]      A:0003 X:3911 Y:0002 P:envMxdizC
$81/8393 C9 04       CMP #$04                A:0003 X:3911 Y:0002 P:envMxdizC
$81/8395 F0 78       BEQ $78    [$840F]      A:0003 X:3911 Y:0002 P:eNvMxdizc
$81/8397 DA          PHX                     A:0003 X:3911 Y:0002 P:eNvMxdizc
$81/8398 20 8E 9D    JSR $9D8E  [$81:9D8E]   A:0003 X:3911 Y:0002 P:eNvMxdizc
$81/839B BC 06 00    LDY $0006,x[$7E:3917]   A:0003 X:3911 Y:0002 P:envMxdizc
$81/839E 84 D8       STY $D8    [$00:00D8]   A:0003 X:3911 Y:3919 P:envMxdizc
$81/83A0 BB          TYX                     A:0003 X:3911 Y:3919 P:envMxdizc
$81/83A1 20 3C 9D    JSR $9D3C  [$81:9D3C]   A:0003 X:3919 Y:3919 P:envMxdizc
$81/83A4 A6 D8       LDX $D8    [$00:00D8]   A:0013 X:3919 Y:3919 P:envMxdizC
$81/83A6 BD 3F 02    LDA $023F,x[$7E:3B58]   A:0013 X:3919 Y:3919 P:envMxdizC
$81/83A9 F0 06       BEQ $06    [$83B1]      A:0000 X:3919 Y:3919 P:envMxdiZC
$81/83AB C9 FF       CMP #$FF                A:0001 X:3919 Y:3919 P:envMxdizC
$81/83AD F0 19       BEQ $19    [$83C8]      A:0001 X:3919 Y:3919 P:envMxdizc
$81/83AF 80 09       BRA $09    [$83BA]      A:0001 X:3919 Y:3919 P:envMxdizc
$81/83B1 20 28 98    JSR $9828  [$81:9828]   A:0000 X:3919 Y:3919 P:envMxdiZC
$81/83B4 20 D6 9C    JSR $9CD6  [$81:9CD6]   A:06C8 X:3919 Y:01A0 P:envMxdizc
$81/83B7 20 3D A0    JSR $A03D  [$81:A03D]   A:E47F X:3919 Y:5400 P:envMxdizc
$81/83BA 20 0D 93    JSR $930D  [$81:930D]   A:0001 X:3919 Y:B12C P:enVMxdizC
$81/83BD FA          PLX                     A:AC7E X:3919 Y:3C00 P:envMxdizc
$81/83BE FA          PLX           ; Restore $02-$05 from Stack
$81/83BF 86 04       STX $04
$81/83C1 FA          PLX
$81/83C2 86 02       STX $02
$81/83C4 FA          PLX           ; Restore X from Stack
$81/83C5 AB          PLB           ; Restore Data Bank from Stack
$81/83C6 18          CLC                     A:AC7E X:0022 Y:3C00 P:envMxdizc
$81/83C7 6B          RTL                     A:AC7E X:0022 Y:3C00 P:envMxdizc
$81/83C8 20 13 96    JSR $9613  [$81:9613]   A:00FF X:3919 Y:3919 P:envMxdiZC
$81/83CB BD 54 00    LDA $0054,x[$7E:396D]   A:0000 X:3919 Y:002D P:envMxdizC
$81/83CE FA          PLX                     A:0002 X:3919 Y:002D P:envMxdizC
$81/83CF 1A          INC A                   A:0002 X:3911 Y:002D P:envMxdizC
$81/83D0 C5 C1       CMP $C1    [$00:00C1]   A:0003 X:3911 Y:002D P:envMxdizC
$81/83D2 D0 14       BNE $14    [$83E8]      A:0003 X:3911 Y:002D P:eNvMxdizc
$81/83D4 C6 C1       DEC $C1    [$00:00C1]   A:CC03 X:3911 Y:0000 P:envMxdiZC
$81/83D6 BC 06 00    LDY $0006,x[$7E:3917]   A:CC03 X:3911 Y:0000 P:envMxdizC
$81/83D9 84 5A       STY $5A    [$00:005A]   A:CC03 X:3911 Y:3919 P:envMxdizC
$81/83DB 9E 06 00    STZ $0006,x[$7E:3917]   A:CC03 X:3911 Y:3919 P:envMxdizC
$81/83DE 9E 07 00    STZ $0007,x[$7E:3918]   A:CC03 X:3911 Y:3919 P:envMxdizC
$81/83E1 A9 00       LDA #$00                A:CC03 X:3911 Y:3919 P:envMxdizC
$81/83E3 9D 03 00    STA $0003,x[$7E:3914]   A:CC00 X:3911 Y:3919 P:envMxdiZC
$81/83E6 80 05       BRA $05    [$83ED]      A:CC00 X:3911 Y:3919 P:envMxdiZC
$81/83E8 A9 04       LDA #$04                A:0003 X:3911 Y:002D P:eNvMxdizc
$81/83EA 9D 03 00    STA $0003,x[$7E:3914]   A:0004 X:3911 Y:002D P:envMxdizc
$81/83ED DA          PHX                     A:0004 X:3911 Y:002D P:envMxdizc
$81/83EE 20 D6 9C    JSR $9CD6  [$81:9CD6]   A:0004 X:3911 Y:002D P:envMxdizc
$81/83F1 20 06 9D    JSR $9D06  [$81:9D06]   A:E47F X:3919 Y:5400 P:envMxdizc
$81/83F4 FA          PLX                     A:AC7E X:3919 Y:3C00 P:envMxdizc
$81/83F5 BD 02 00    LDA $0002,x[$7E:3913]   A:AC7E X:3911 Y:3C00 P:envMxdizc
$81/83F8 C9 00       CMP #$00                A:AC03 X:3911 Y:3C00 P:envMxdizc
$81/83FA F0 10       BEQ $10    [$840C]      A:AC03 X:3911 Y:3C00 P:envMxdizC
$81/83FC C9 04       CMP #$04                A:AC03 X:3911 Y:3C00 P:envMxdizC
$81/83FE F0 0C       BEQ $0C    [$840C]      A:AC03 X:3911 Y:3C00 P:eNvMxdizc
$81/8400 7B          TDC                     A:AC03 X:3911 Y:3C00 P:eNvMxdizc
$81/8401 20 A5 80    JSR $80A5  [$81:80A5]   A:0000 X:3911 Y:3C00 P:envMxdiZc
$81/8404 9E 52 00    STZ $0052,x[$7E:462B]   A:0000 X:45D9 Y:3C00 P:envMxdiZc
$81/8407 9E 53 00    STZ $0053,x[$7E:462C]   A:0000 X:45D9 Y:3C00 P:envMxdiZc
$81/840A 80 03       BRA $03    [$840F]      A:0000 X:45D9 Y:3C00 P:envMxdiZc
$81/840C 20 FA 80    JSR $80FA  [$81:80FA]   A:AC00 X:3911 Y:3C00 P:envMxdiZC
$81/840F FA          PLX                     A:0000 X:45D9 Y:3C00 P:envMxdiZc
$81/8410 86 04       STX $04    [$00:0004]   A:0000 X:0200 Y:3C00 P:envMxdizc
$81/8412 FA          PLX                     A:0000 X:0200 Y:3C00 P:envMxdizc
$81/8413 86 02       STX $02    [$00:0002]   A:0000 X:170A Y:3C00 P:envMxdizc
$81/8415 FA          PLX                     A:0000 X:170A Y:3C00 P:envMxdizc
$81/8416 AB          PLB                     A:0000 X:1744 Y:3C00 P:envMxdizc
$81/8417 38          SEC                     A:0000 X:1744 Y:3C00 P:envMxdizc
$81/8418 6B          RTL                     A:0000 X:1744 Y:3C00 P:envMxdizC

$81/849E ?

$81/849E 8B          PHB           ; Buffer Data Bank on Stack
$81/849F A9 7E       LDA #$7E      ; Set Data Bank to $7E
$81/84A1 48          PHA
$81/84A2 AB          PLB
$81/84A3 DA          PHX           ; Buffer X on Stack
$81/84A4 D4 02       PEI ($02)     ; Buffer $02-$05 on Stack
$81/84A6 D4 04       PEI ($04)
$81/84A8 7B          TDC                     A:007E X:3300 Y:0100 P:envMxdizC
$81/84A9 A5 C1       LDA $C1    [$00:00C1]   A:0000 X:3300 Y:0100 P:envMxdiZC
$81/84AB 3A          DEC A                   A:0003 X:3300 Y:0100 P:envMxdizC
$81/84AC 0A          ASL A                   A:0002 X:3300 Y:0100 P:envMxdizC
$81/84AD A8          TAY                     A:0004 X:3300 Y:0100 P:envMxdizc
$81/84AE B6 C2       LDX $C2,y  [$00:00C6]   A:0004 X:3300 Y:0004 P:envMxdizc
$81/84B0 BD 00 00    LDA $0000,x[$7E:3919]   A:0004 X:3919 Y:0004 P:envMxdizc
$81/84B3 C9 02       CMP #$02                A:0001 X:3919 Y:0004 P:envMxdizc
$81/84B5 F0 0E       BEQ $0E    [$84C5]      A:0001 X:3919 Y:0004 P:eNvMxdizc
$81/84B7 88          DEY                     A:0001 X:3919 Y:0004 P:eNvMxdizc
$81/84B8 88          DEY                     A:0001 X:3919 Y:0003 P:envMxdizc
$81/84B9 10 F3       BPL $F3    [$84AE]      A:0001 X:3919 Y:0002 P:envMxdizc
code is missing here
$81/84C5 DA          PHX                     A:0002 X:3911 Y:0002 P:envMxdiZC
$81/84C6 20 8E 9D    JSR $9D8E  [$81:9D8E]   A:0002 X:3911 Y:0002 P:envMxdiZC
$81/84C9 BD 02 00    LDA $0002,x[$7E:3913]   A:0002 X:3911 Y:0002 P:envMxdizC
$81/84CC C9 01       CMP #$01                A:0000 X:3911 Y:0002 P:envMxdiZC
$81/84CE D0 54       BNE $54    [$8524]      A:0000 X:3911 Y:0002 P:eNvMxdizc
$81/84D0 DA          PHX                     A:0001 X:3911 Y:0002 P:envMxdiZC
$81/84D1 9B          TXY                     A:0001 X:3911 Y:0002 P:envMxdiZC
$81/84D2 BE 04 00    LDX $0004,y[$7E:3915]   A:0001 X:3911 Y:3911 P:envMxdizC
$81/84D5 20 C4 A7    JSR $A7C4  [$81:A7C4]   A:0001 X:45D9 Y:3911 P:envMxdizC
$81/84D8 FA          PLX                     A:A801 X:45D9 Y:3C00 P:envMxdizc
$81/84D9 BC 02 00    LDY $0002,x[$7E:3913]   A:A801 X:3911 Y:3C00 P:envMxdizc
$81/84DC 84 00       STY $00    [$00:0000]   A:A801 X:3911 Y:0301 P:envMxdizc
$81/84DE 20 A5 85    JSR $85A5  [$81:85A5]   A:A801 X:3911 Y:0301 P:envMxdizc
$81/84E1 A5 00       LDA $00    [$00:0000]   A:A801 X:3911 Y:0301 P:envMxdiZC
$81/84E3 9D 02 00    STA $0002,x[$7E:3913]   A:A801 X:3911 Y:0301 P:envMxdizC
$81/84E6 C9 03       CMP #$03                A:A801 X:3911 Y:0301 P:envMxdizC
$81/84E8 F0 07       BEQ $07    [$84F1]      A:A801 X:3911 Y:0301 P:eNvMxdizc
$81/84EA C9 02       CMP #$02                A:A801 X:3911 Y:0301 P:eNvMxdizc
$81/84EC F0 03       BEQ $03    [$84F1]      A:A801 X:3911 Y:0301 P:eNvMxdizc
$81/84EE 4C 89 85    JMP $8589  [$81:8589]   A:A801 X:3911 Y:0301 P:eNvMxdizc
$81/84F1 A5 01       LDA $01    [$00:0001]   A:0003 X:3911 Y:0301 P:envMxdiZC
$81/84F3 C9 01       CMP #$01                A:0003 X:3911 Y:0301 P:envMxdizC
$81/84F5 D0 1A       BNE $1A    [$8511]      A:0003 X:3911 Y:0301 P:envMxdizC
code is missing here
$81/8511 9D 03 00    STA $0003,x[$7E:3914]   A:0003 X:3911 Y:0301 P:envMxdizC
$81/8514 C9 01       CMP #$01                A:0003 X:3911 Y:0301 P:envMxdizC
$81/8516 D0 6B       BNE $6B    [$8583]      A:0003 X:3911 Y:0301 P:envMxdizC
code is missing here
$81/8524 BD 03 00    LDA $0003,x[$7E:3914]   A:0000 X:3911 Y:0002 P:eNvMxdizc
$81/8527 C9 01       CMP #$01                A:0001 X:3911 Y:0002 P:envMxdizc
$81/8529 D0 5E       BNE $5E    [$8589]      A:0001 X:3911 Y:0002 P:envMxdiZC
$81/852B DA          PHX                     A:0001 X:3911 Y:0002 P:envMxdiZC
$81/852C 9B          TXY                     A:0001 X:3911 Y:0002 P:envMxdiZC
$81/852D BE 06 00    LDX $0006,y[$7E:3917]   A:0001 X:3911 Y:3911 P:envMxdizC
$81/8530 20 C4 A7    JSR $A7C4  [$81:A7C4]   A:0001 X:3919 Y:3911 P:envMxdizC
$81/8533 FA          PLX                     A:AC01 X:3919 Y:3C00 P:envMxdizc
$81/8534 48          PHA                     A:AC01 X:3911 Y:3C00 P:envMxdizc
$81/8535 C2 20       REP #$20                A:AC01 X:3911 Y:3C00 P:envMxdizc
$81/8537 BD 02 00    LDA $0002,x[$7E:3913]   A:AC01 X:3911 Y:3C00 P:envmxdizc
$81/853A EB          XBA                     A:0100 X:3911 Y:3C00 P:envmxdizc
$81/853B 85 00       STA $00    [$00:0000]   A:0001 X:3911 Y:3C00 P:envmxdizc
$81/853D E2 20       SEP #$20                A:0001 X:3911 Y:3C00 P:envmxdizc
$81/853F 68          PLA                     A:0001 X:3911 Y:3C00 P:envMxdizc
$81/8540 20 A5 85    JSR $85A5  [$81:85A5]   A:0001 X:3911 Y:3C00 P:envMxdizc
$81/8543 A5 00       LDA $00    [$00:0000]   A:0001 X:3911 Y:3C00 P:envMxdiZC
$81/8545 9D 03 00    STA $0003,x[$7E:3914]   A:0001 X:3911 Y:3C00 P:envMxdizC
$81/8548 C9 03       CMP #$03                A:0001 X:3911 Y:3C00 P:envMxdizC
$81/854A F0 06       BEQ $06    [$8552]      A:0001 X:3911 Y:3C00 P:eNvMxdizc
$81/854C C9 02       CMP #$02                A:0001 X:3911 Y:3C00 P:eNvMxdizc
$81/854E F0 02       BEQ $02    [$8552]      A:0001 X:3911 Y:3C00 P:eNvMxdizc
$81/8550 80 31       BRA $31    [$8583]      A:0001 X:3911 Y:3C00 P:eNvMxdizc
$81/8552 A5 01       LDA $01    [$00:0001]   A:0003 X:3911 Y:41DB P:envMxdiZC
$81/8554 C9 01       CMP #$01                A:0000 X:3911 Y:41DB P:envMxdiZC
$81/8556 D0 1A       BNE $1A    [$8572]      A:0000 X:3911 Y:41DB P:eNvMxdizc
$81/8572 9D 02 00    STA $0002,x[$7E:3913]   A:0000 X:3911 Y:41DB P:eNvMxdizc
$81/8575 C9 01       CMP #$01                A:0000 X:3911 Y:41DB P:eNvMxdizc
$81/8577 D0 0A       BNE $0A    [$8583]      A:0000 X:3911 Y:41DB P:eNvMxdizc
code is missing here
$81/8583 20 D6 9C    JSR $9CD6  [$81:9CD6]   A:0001 X:3911 Y:3C00 P:eNvMxdizc
$81/8586 20 06 9D    JSR $9D06  [$81:9D06]   A:0001 X:3919 Y:3C00 P:envMxdizc
$81/8589 FA          PLX                     A:0001 X:3919 Y:3C00 P:envMxdizc
$81/858A BD 02 00    LDA $0002,x[$7E:3913]   A:0001 X:3911 Y:3C00 P:envMxdizc
$81/858D C9 01       CMP #$01                A:0000 X:3911 Y:3C00 P:envMxdiZc
$81/858F F0 07       BEQ $07    [$8598]      A:0000 X:3911 Y:3C00 P:eNvMxdizc
$81/8591 BD 03 00    LDA $0003,x[$7E:3914]   A:0000 X:3911 Y:3C00 P:eNvMxdizc
$81/8594 C9 01       CMP #$01                A:0001 X:3911 Y:3C00 P:envMxdizc
$81/8596 D0 03       BNE $03    [$859B]      A:0001 X:3911 Y:3C00 P:envMxdiZC
$81/8598 18          CLC                     A:0001 X:3911 Y:3C00 P:envMxdiZC
$81/8599 80 01       BRA $01    [$859C]      A:0001 X:3911 Y:3C00 P:envMxdiZc
$81/859B 38          SEC                     A:0003 X:3911 Y:41DB P:envMxdizC
$81/859C FA          PLX           ; Restore $05-$02 from Stack
$81/859D 86 04       STX $04
$81/859F FA          PLX
$81/85A0 86 02       STX $02
$81/85A2 FA          PLX           ; Restore X and Data Bank from Stack
$81/85A3 AB          PLB
$81/85A4 6B          RTL

$81/85A5 ?

$81/85A5 C9 00       CMP #$00                A:0001 X:3911 Y:3C00 P:envMxdizc
$81/85A7 D0 1A       BNE $1A    [$85C3]      A:0001 X:3911 Y:3C00 P:envMxdizC
$81/85A9 A9 03       LDA #$03                A:0000 X:3911 Y:41DB P:envMxdiZC
$81/85AB 85 00       STA $00    [$00:0000]   A:0003 X:3911 Y:41DB P:envMxdizC
$81/85AD A5 01       LDA $01    [$00:0001]   A:0003 X:3911 Y:41DB P:envMxdizC
$81/85AF C9 03       CMP #$03                A:0000 X:3911 Y:41DB P:envMxdiZC
$81/85B1 F0 36       BEQ $36    [$85E9]      A:0000 X:3911 Y:41DB P:eNvMxdizc
$81/85B3 C9 01       CMP #$01                A:0000 X:3911 Y:41DB P:eNvMxdizc
$81/85B5 F0 32       BEQ $32    [$85E9]      A:0000 X:3911 Y:41DB P:eNvMxdizc
$81/85B7 C9 02       CMP #$02                A:0000 X:3911 Y:41DB P:eNvMxdizc
$81/85B9 F0 02       BEQ $02    [$85BD]      A:0000 X:3911 Y:41DB P:eNvMxdizc
$81/85BB 80 2C       BRA $2C    [$85E9]      A:0000 X:3911 Y:41DB P:eNvMxdizc
code is missing here
$81/85C3 C9 01       CMP #$01                A:0001 X:3911 Y:3C00 P:envMxdizC
$81/85C5 D0 02       BNE $02    [$85C9]      A:0001 X:3911 Y:3C00 P:envMxdiZC
$81/85C7 80 20       BRA $20    [$85E9]      A:0001 X:3911 Y:3C00 P:envMxdiZC
code is missing here
$81/85E9 60          RTS                     A:0001 X:3911 Y:3C00 P:envMxdiZC

$81/8AC8 ?

$81/8AC8 7B          TDC                     A:A110 X:00FF Y:00FF P:envMxdiZC
$81/8AC9 AA          TAX                     A:0000 X:00FF Y:00FF P:envMxdiZC
$81/8ACA 86 B2       STX $B2    [$00:00B2]   A:0000 X:0000 Y:00FF P:envMxdiZC
$81/8ACC 64 C0       STZ $C0    [$00:00C0]   A:0000 X:0000 Y:00FF P:envMxdiZC
$81/8ACE A2 63 00    LDX #$0063              A:0000 X:0000 Y:00FF P:envMxdiZC
$81/8AD1 86 B5       STX $B5    [$00:00B5]   A:0000 X:0063 Y:00FF P:envMxdizC
$81/8AD3 64 B7       STZ $B7    [$00:00B7]   A:0000 X:0063 Y:00FF P:envMxdizC
$81/8AD5 A9 01       LDA #$01                A:0000 X:0063 Y:00FF P:envMxdizC
$81/8AD7 85 B4       STA $B4    [$00:00B4]   A:0001 X:0063 Y:00FF P:envMxdizC
$81/8AD9 22 53 8B 81 JSL $818B53[$81:8B53]   A:0001 X:0063 Y:00FF P:envMxdizC
$81/8ADD 64 C1       STZ $C1    [$00:00C1]   A:0000 X:0001 Y:00FF P:envMxdiZC
$81/8ADF A9 B8       LDA #$B8                A:0000 X:0001 Y:00FF P:envMxdiZC
$81/8AE1 14 A4       TRB $A4    [$00:00A4]   A:00B8 X:0001 Y:00FF P:eNvMxdizC
$81/8AE3 6B          RTL                     A:00B8 X:0001 Y:00FF P:eNvMxdiZC

$81/8B53 ?

$81/8B53 7B          TDC                     A:0001 X:0063 Y:00FF P:envMxdizC
$81/8B54 A5 50       LDA $50    [$00:0050]   A:0000 X:0063 Y:00FF P:envMxdiZC
$81/8B56 AA          TAX                     A:0001 X:0063 Y:00FF P:envMxdizC
$81/8B57 BF 5E 8B 81 LDA $818B5E,x[$81:8B5F] A:0001 X:0001 Y:00FF P:envMxdizC
$81/8B5B 85 B1       STA $B1    [$00:00B1]   A:0000 X:0001 Y:00FF P:envMxdiZC
$81/8B5D 6B          RTL                     A:0000 X:0001 Y:00FF P:envMxdiZC
$81/8B5E 80
$81/8B5F 00
$81/8B60 02

$81/8B61 ?

$81/8B61 8B          PHB           ; Buffer Data Bank on Stack
$81/8B62 A9 7E       LDA #$7E      ; Set Data Bank to $7E
$81/8B64 48          PHA
$81/8B65 AB          PLB
$81/8B66 64 01       STZ $01    [$00:0001]   A:527E X:45D9 Y:0006 P:envMxdizc
$81/8B68 20 C3 8B    JSR $8BC3  [$81:8BC3]   A:527E X:45D9 Y:0006 P:envMxdizc
$81/8B6B AB          PLB           ; Restore Data Bank from Stack
$81/8B6C 18          CLC                     A:450F X:45D9 Y:0002 P:envMxdizc
$81/8B6D 60          RTS                     A:450F X:45D9 Y:0002 P:envMxdizc

$81/8BC3 ?

$81/8BC3 A6 D8       LDX $D8    [$00:00D8]   A:527E X:45D9 Y:0006 P:envMxdizc
$81/8BC5 A9 01       LDA #$01                A:527E X:45D9 Y:0006 P:envMxdizc
$81/8BC7 9D 00 00    STA $0000,x[$7E:45D9]   A:5201 X:45D9 Y:0006 P:envMxdizc
$81/8BCA 7B          TDC                     A:5201 X:45D9 Y:0006 P:envMxdizc
$81/8BCB A5 01       LDA $01    [$00:0001]   A:0000 X:45D9 Y:0006 P:envMxdiZc
$81/8BCD C2 21       REP #$21                A:0000 X:45D9 Y:0006 P:envMxdiZc
$81/8BCF 9D 4F 00    STA $004F,x[$7E:4628]   A:0000 X:45D9 Y:0006 P:envmxdiZc
$81/8BD2 86 D8       STX $D8    [$00:00D8]   A:0000 X:45D9 Y:0006 P:envmxdiZc
$81/8BD4 A9 FF 00    LDA #$00FF              A:0000 X:45D9 Y:0006 P:envmxdiZc
$81/8BD7 9D 4D 00    STA $004D,x[$7E:4626]   A:00FF X:45D9 Y:0006 P:envmxdizc
$81/8BDA A5 B2       LDA $B2    [$00:00B2]   A:00FF X:45D9 Y:0006 P:envmxdizc
$81/8BDC 9D 15 02    STA $0215,x[$7E:47EE]   A:0879 X:45D9 Y:0006 P:envmxdizc
$81/8BDF E2 20       SEP #$20                A:0879 X:45D9 Y:0006 P:envmxdizc
$81/8BE1 A5 00       LDA $00    [$00:0000]   A:0879 X:45D9 Y:0006 P:envMxdizc
$81/8BE3 9D 54 00    STA $0054,x[$7E:462D]   A:0803 X:45D9 Y:0006 P:envMxdizc
$81/8BE6 7B          TDC                     A:0803 X:45D9 Y:0006 P:envMxdizc
$81/8BE7 BD 4F 00    LDA $004F,x[$7E:4628]   A:0000 X:45D9 Y:0006 P:envMxdiZc
$81/8BEA 0A          ASL A                   A:0000 X:45D9 Y:0006 P:envMxdiZc
$81/8BEB AA          TAX                     A:0000 X:45D9 Y:0006 P:envMxdiZc
$81/8BEC 7C EF 8B    JMP ($8BEF,x)[$81:8C0B] A:0000 X:0000 Y:0006 P:envMxdiZc
$81/8BEF 0B 8C --- Entry #$00 - $8C0B
$81/8BF1 F6 8C --- Entry #$01 - $8CF6
$81/8BF3 56 8C --- Entry #$02 - $8C56
$81/8BF5 5A 8C --- Entry #$03 - $8C5A
$81/8BF7 56 8C --- Entry #$04 - $8C56
$81/8BF9 07 8C --- Entry #$05 - $8C07
$81/8BFB F6 8C --- Entry #$06 - $8CF6
$81/8BFD 91 8D --- Entry #$07 - $8D91
$81/8BFF 27 8E --- Entry #$08 - $8E27
$81/8C01 27 8E --- Entry #$09 - $8E27
$81/8C03 5C 8C --- Entry #$0A - $8C5C
$81/8C05 56 8C --- Entry #$0B - $8C56

$81/8C0B ?

$81/8C0B 7B          TDC                     A:0000 X:0000 Y:0006 P:envMxdiZc
$81/8C0C A5 C1       LDA $C1    [$00:00C1]   A:0000 X:0000 Y:0006 P:envMxdiZc
$81/8C0E 3A          DEC A                   A:0004 X:0000 Y:0006 P:envMxdizc
$81/8C0F 0A          ASL A                   A:0003 X:0000 Y:0006 P:envMxdizc
$81/8C10 A8          TAY                     A:0006 X:0000 Y:0006 P:envMxdizc
$81/8C11 B6 C2       LDX $C2,y  [$00:00C8]   A:0006 X:0000 Y:0006 P:envMxdizc
$81/8C13 E4 D8       CPX $D8    [$00:00D8]   A:0006 X:45D9 Y:0006 P:envMxdizc
$81/8C15 F0 2B       BEQ $2B    [$8C42]      A:0006 X:45D9 Y:0006 P:envMxdiZC
$81/8C17 BD 00 00    LDA $0000,x[$7E:3919]   A:0006 X:3919 Y:0004 P:eNvMxdizc
$81/8C1A C9 01       CMP #$01                A:0001 X:3919 Y:0004 P:envMxdizc
$81/8C1C D0 24       BNE $24    [$8C42]      A:0001 X:3919 Y:0004 P:envMxdiZC
$81/8C1E BD 5D 00    LDA $005D,x[$7E:3976]   A:0001 X:3919 Y:0004 P:envMxdiZC
$81/8C21 C9 FF       CMP #$FF                A:0033 X:3919 Y:0004 P:envMxdizC
$81/8C23 F0 1D       BEQ $1D    [$8C42]      A:0033 X:3919 Y:0004 P:envMxdizc
$81/8C25 C9 FE       CMP #$FE                A:0033 X:3919 Y:0004 P:envMxdizc
$81/8C27 F0 19       BEQ $19    [$8C42]      A:0033 X:3919 Y:0004 P:envMxdizc
$81/8C29 BD 51 00    LDA $0051,x[$7E:396A]   A:0033 X:3919 Y:0004 P:envMxdizc
$81/8C2C 49 01       EOR #$01                A:0001 X:3919 Y:0004 P:envMxdizc
$81/8C2E 9B          TXY                     A:0000 X:3919 Y:0004 P:envMxdiZc
$81/8C2F A6 D8       LDX $D8    [$00:00D8]   A:0000 X:3919 Y:3919 P:envMxdizc
$81/8C31 9D 51 00    STA $0051,x[$7E:462A]   A:0000 X:45D9 Y:3919 P:envMxdizc
$81/8C34 C2 20       REP #$20                A:0000 X:45D9 Y:3919 P:envMxdizc
$81/8C36 98          TYA                     A:0000 X:45D9 Y:3919 P:envmxdizc
$81/8C37 9D 52 00    STA $0052,x[$7E:462B]   A:3919 X:45D9 Y:3919 P:envmxdizc
$81/8C3A 8A          TXA                     A:3919 X:45D9 Y:3919 P:envmxdizc
$81/8C3B 99 52 00    STA $0052,y[$7E:396B]   A:45D9 X:45D9 Y:3919 P:envmxdizc
$81/8C3E E2 20       SEP #$20                A:45D9 X:45D9 Y:3919 P:envmxdizc
$81/8C40 80 1C       BRA $1C    [$8C5E]      A:45D9 X:45D9 Y:3919 P:envMxdizc
$81/8C42 88          DEY                     A:0006 X:45D9 Y:0006 P:envMxdiZC
$81/8C43 88          DEY                     A:0006 X:45D9 Y:0005 P:envMxdizC
$81/8C44 10 CB       BPL $CB    [$8C11]      A:0006 X:45D9 Y:0004 P:envMxdizC
$81/8C46 A6 D8       LDX $D8    [$00:00D8]   A:0003 X:3300 Y:FFFE P:eNvMxdizC
$81/8C48 7B          TDC                     A:0003 X:3919 Y:FFFE P:envMxdizC
$81/8C49 9D 52 00    STA $0052,x[$7E:396B]   A:0000 X:3919 Y:FFFE P:envMxdiZC
$81/8C4C 9D 53 00    STA $0053,x[$7E:396C]   A:0000 X:3919 Y:FFFE P:envMxdiZC
$81/8C4F A5 0C       LDA $0C    [$00:000C]   A:0000 X:3919 Y:FFFE P:envMxdiZC
$81/8C51 9D 51 00    STA $0051,x[$7E:396A]   A:0001 X:3919 Y:FFFE P:envMxdizC
$81/8C54 80 08       BRA $08    [$8C5E]      A:0001 X:3919 Y:FFFE P:envMxdizC
code is missing here
$81/8C5E 64 0B       STZ $0B    [$00:000B]   A:45D9 X:45D9 Y:3919 P:envMxdizc
$81/8C60 A6 D8       LDX $D8    [$00:00D8]   A:45D9 X:45D9 Y:3919 P:envMxdizc
$81/8C62 A5 08       LDA $08    [$00:0008]   A:45D9 X:45D9 Y:3919 P:envMxdizc
$81/8C64 9D 5D 00    STA $005D,x[$7E:4636]   A:4532 X:45D9 Y:3919 P:envMxdizc
$81/8C67 20 EE 92    JSR $92EE  [$81:92EE]   A:4532 X:45D9 Y:3919 P:envMxdizc
$81/8C6A A5 09       LDA $09    [$00:0009]   A:0004 X:45D9 Y:3919 P:envMxdizc
$81/8C6C 9D 5E 00    STA $005E,x[$7E:4637]   A:0004 X:45D9 Y:3919 P:envMxdizc
$81/8C6F BD 5D 00    LDA $005D,x[$7E:4636]   A:0004 X:45D9 Y:3919 P:envMxdizc
$81/8C72 C9 FF       CMP #$FF                A:0032 X:45D9 Y:3919 P:envMxdizc
$81/8C74 F0 11       BEQ $11    [$8C87]      A:0032 X:45D9 Y:3919 P:envMxdizc
$81/8C76 BD 5E 00    LDA $005E,x[$7E:4637]   A:0032 X:45D9 Y:3919 P:envMxdizc
$81/8C79 89 40       BIT #$40                A:0004 X:45D9 Y:3919 P:envMxdizc
$81/8C7B D0 0A       BNE $0A    [$8C87]      A:0004 X:45D9 Y:3919 P:envMxdiZc
$81/8C7D 29 3F       AND #$3F                A:0004 X:45D9 Y:3919 P:envMxdiZc
$81/8C7F 49 FF       EOR #$FF                A:0004 X:45D9 Y:3919 P:envMxdizc
$81/8C81 38          SEC                     A:00FB X:45D9 Y:3919 P:eNvMxdizc
$81/8C82 65 02       ADC $02    [$00:0002]   A:00FB X:45D9 Y:3919 P:eNvMxdizC
$81/8C84 3A          DEC A                   A:0004 X:45D9 Y:3919 P:envMxdizC
$81/8C85 80 02       BRA $02    [$8C89]      A:0003 X:45D9 Y:3919 P:envMxdizC
$81/8C87 A5 02       LDA $02    [$00:0002]   A:0044 X:3919 Y:FFFE P:envMxdizc
$81/8C89 9D 55 00    STA $0055,x[$7E:462E]   A:0003 X:45D9 Y:3919 P:envMxdizC
$81/8C8C 9E 56 00    STZ $0056,x[$7E:462F]   A:0003 X:45D9 Y:3919 P:envMxdizC
$81/8C8F A5 03       LDA $03    [$00:0003]   A:0003 X:45D9 Y:3919 P:envMxdizC
$81/8C91 9D 57 00    STA $0057,x[$7E:4630]   A:0003 X:45D9 Y:3919 P:envMxdizC
$81/8C94 9E 58 00    STZ $0058,x[$7E:4631]   A:0003 X:45D9 Y:3919 P:envMxdizC
$81/8C97 BD 5D 00    LDA $005D,x[$7E:4636]   A:0003 X:45D9 Y:3919 P:envMxdizC
$81/8C9A C9 FF       CMP #$FF                A:0032 X:45D9 Y:3919 P:envMxdizC
$81/8C9C F0 0B       BEQ $0B    [$8CA9]      A:0032 X:45D9 Y:3919 P:envMxdizc
$81/8C9E BD 5E 00    LDA $005E,x[$7E:4637]   A:0032 X:45D9 Y:3919 P:envMxdizc
$81/8CA1 29 3F       AND #$3F                A:0004 X:45D9 Y:3919 P:envMxdizc
$81/8CA3 18          CLC                     A:0004 X:45D9 Y:3919 P:envMxdizc
$81/8CA4 65 04       ADC $04    [$00:0004]   A:0004 X:45D9 Y:3919 P:envMxdizc
$81/8CA6 1A          INC A                   A:0017 X:45D9 Y:3919 P:envMxdizc
$81/8CA7 80 02       BRA $02    [$8CAB]      A:0018 X:45D9 Y:3919 P:envMxdizc
code is missing here
$81/8CAB 9D 59 00    STA $0059,x[$7E:4632]   A:0018 X:45D9 Y:3919 P:envMxdizc
$81/8CAE 9E 5A 00    STZ $005A,x[$7E:4633]   A:0018 X:45D9 Y:3919 P:envMxdizc
$81/8CB1 A5 05       LDA $05    [$00:0005]   A:0018 X:45D9 Y:3919 P:envMxdizc
$81/8CB3 9D 5B 00    STA $005B,x[$7E:4634]   A:0006 X:45D9 Y:3919 P:envMxdizc
$81/8CB6 9E 5C 00    STZ $005C,x[$7E:4635]   A:0006 X:45D9 Y:3919 P:envMxdizc
$81/8CB9 A5 0A       LDA $0A    [$00:000A]   A:0006 X:45D9 Y:3919 P:envMxdizc
$81/8CBB 9D 5F 00    STA $005F,x[$7E:4638]   A:008E X:45D9 Y:3919 P:eNvMxdizc
$81/8CBE A5 0B       LDA $0B    [$00:000B]   A:008E X:45D9 Y:3919 P:eNvMxdizc
$81/8CC0 9D 39 02    STA $0239,x[$7E:4812]   A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/8CC3 A9 FF       LDA #$FF                A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/8CC5 9D 3F 02    STA $023F,x[$7E:4818]   A:00FF X:45D9 Y:3919 P:eNvMxdizc
$81/8CC8 20 8D 90    JSR $908D  [$81:908D]   A:00FF X:45D9 Y:3919 P:eNvMxdizc
$81/8CCB 20 E5 96    JSR $96E5  [$81:96E5]   A:5200 X:45D9 Y:0308 P:envMxdizc
$81/8CCE 20 1B 95    JSR $951B  [$81:951B]   A:001A X:45D9 Y:0308 P:envMxdizc
$81/8CD1 A6 D8       LDX $D8    [$00:00D8]   A:0033 X:45D9 Y:3919 P:envMxdizc
$81/8CD3 BD 4F 00    LDA $004F,x[$7E:4628]   A:0033 X:45D9 Y:3919 P:envMxdizc
$81/8CD6 D0 0E       BNE $0E    [$8CE6]      A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/8CD8 9E 3F 02    STZ $023F,x[$7E:4818]   A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/8CDB 20 0E A8    JSR $A80E  [$81:A80E]   A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/8CDE A6 D8       LDX $D8    [$00:00D8]   A:4500 X:45D9 Y:0002 P:envMxdizc
$81/8CE0 A9 0F       LDA #$0F                A:4500 X:45D9 Y:0002 P:envMxdizc
$81/8CE2 20 EE D3    JSR $D3EE  [$81:D3EE]   A:450F X:45D9 Y:0002 P:envMxdizc
$81/8CE5 60          RTS                     A:450F X:45D9 Y:0002 P:envMxdizc
code is missing here

$81/8E7E ?

$81/8E7E 86 D8       STX $D8    [$00:00D8]   A:0003 X:3919 Y:3919 P:envMxdizC
$81/8E80 C2 20       REP #$20                A:0003 X:3919 Y:3919 P:envMxdizC
$81/8E82 A5 B2       LDA $B2    [$00:00B2]   A:0003 X:3919 Y:3919 P:envmxdizC
$81/8E84 9D 15 02    STA $0215,x[$7E:3B2E]   A:087A X:3919 Y:3919 P:envmxdizC
$81/8E87 E2 20       SEP #$20                A:087A X:3919 Y:3919 P:envmxdizC
$81/8E89 20 3A A8    JSR $A83A  [$81:A83A]   A:087A X:3919 Y:3919 P:envMxdizC
$81/8E8C 20 11 CF    JSR $CF11  [$81:CF11]   A:3900 X:3919 Y:0002 P:envMxdizC
$81/8E8F 60          RTS                     A:23EE X:3919 Y:3919 P:eNvMxdizc

$81/908D ?

$81/908D D4 02       PEI ($02)     ; Buffer $02-$05 on Stack
$81/908F D4 04       PEI ($04)
$81/9091 D4 08       PEI ($08)     ; Buffer $08-$0B on Stack
$81/9093 D4 0A       PEI ($0A)
$81/9095 A6 D8       LDX $D8    [$00:00D8]   A:00FF X:45D9 Y:3919 P:eNvMxdizc
$81/9097 C2 20       REP #$20                A:00FF X:45D9 Y:3919 P:envMxdizc
$81/9099 BD 57 00    LDA $0057,x[$7E:4630]   A:00FF X:45D9 Y:3919 P:envmxdizc
$81/909C EB          XBA                     A:0003 X:45D9 Y:3919 P:envmxdizc
$81/909D 4A          LSR A                   A:0300 X:45D9 Y:3919 P:envmxdiZc
$81/909E 4A          LSR A                   A:0180 X:45D9 Y:3919 P:envmxdizc
$81/909F 85 10       STA $10    [$00:0010]   A:00C0 X:45D9 Y:3919 P:envmxdizc
$81/90A1 BD 55 00    LDA $0055,x[$7E:462E]   A:00C0 X:45D9 Y:3919 P:envmxdizc
$81/90A4 7D 59 00    ADC $0059,x[$7E:4632]   A:0003 X:45D9 Y:3919 P:envmxdizc
$81/90A7 0A          ASL A                   A:001B X:45D9 Y:3919 P:envmxdizc
$81/90A8 65 10       ADC $10    [$00:0010]   A:0036 X:45D9 Y:3919 P:envmxdizc
$81/90AA 9D 60 00    STA $0060,x[$7E:4639]   A:00F6 X:45D9 Y:3919 P:envmxdizc
$81/90AD BD 5B 00    LDA $005B,x[$7E:4634]   A:00F6 X:45D9 Y:3919 P:envmxdizc
$81/90B0 3A          DEC A                   A:0006 X:45D9 Y:3919 P:envmxdizc
$81/90B1 EB          XBA                     A:0005 X:45D9 Y:3919 P:envmxdizc
$81/90B2 4A          LSR A                   A:0500 X:45D9 Y:3919 P:envmxdiZc
$81/90B3 4A          LSR A                   A:0280 X:45D9 Y:3919 P:envmxdizc
$81/90B4 7D 60 00    ADC $0060,x[$7E:4639]   A:0140 X:45D9 Y:3919 P:envmxdizc
$81/90B7 29 FF 07    AND #$07FF              A:0236 X:45D9 Y:3919 P:envmxdizc
$81/90BA 9D 64 00    STA $0064,x[$7E:463D]   A:0236 X:45D9 Y:3919 P:envmxdizc
$81/90BD A9 C0 03    LDA #$03C0              A:0236 X:45D9 Y:3919 P:envmxdizc
$81/90C0 9D 6A 00    STA $006A,x[$7E:4643]   A:03C0 X:45D9 Y:3919 P:envmxdizc
$81/90C3 E2 20       SEP #$20                A:03C0 X:45D9 Y:3919 P:envmxdizc
$81/90C5 7B          TDC                     A:03C0 X:45D9 Y:3919 P:envMxdizc
$81/90C6 BD 4F 00    LDA $004F,x[$7E:4628]   A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/90C9 0A          ASL A                   A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/90CA AA          TAX                     A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/90CB 7C CE 90    JMP ($90CE,x)[$81:90F3] A:0000 X:0000 Y:3919 P:envMxdiZc
$81/90F3 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:0000 Y:3919 P:envMxdiZc
$81/90F5 BD 5D 00    LDA $005D,x[$7E:4636]   A:0000 X:45D9 Y:3919 P:envMxdizc
$81/90F8 C9 FF       CMP #$FF                A:0032 X:45D9 Y:3919 P:envMxdizc
$81/90FA F0 47       BEQ $47    [$9143]      A:0032 X:45D9 Y:3919 P:envMxdizc
$81/90FC BD 5E 00    LDA $005E,x[$7E:4637]   A:0032 X:45D9 Y:3919 P:envMxdizc
$81/90FF 89 40       BIT #$40                A:0004 X:45D9 Y:3919 P:envMxdizc
$81/9101 F0 40       BEQ $40    [$9143]      A:0004 X:45D9 Y:3919 P:envMxdiZc
$81/9103 C2 20       REP #$20                A:0044 X:3919 Y:FFFE P:envMxdizc
$81/9105 BD 60 00    LDA $0060,x[$7E:3979]   A:0044 X:3919 Y:FFFE P:envmxdizc
$81/9108 38          SEC                     A:053A X:3919 Y:FFFE P:envmxdizc
$81/9109 FD 59 00    SBC $0059,x[$7E:3972]   A:053A X:3919 Y:FFFE P:envmxdizC
$81/910C FD 59 00    SBC $0059,x[$7E:3972]   A:0523 X:3919 Y:FFFE P:envmxdizC
$81/910F E9 02 00    SBC #$0002              A:050C X:3919 Y:FFFE P:envmxdizC
$81/9112 29 FF 07    AND #$07FF              A:050A X:3919 Y:FFFE P:envmxdizC
$81/9115 9D 60 00    STA $0060,x[$7E:3979]   A:050A X:3919 Y:FFFE P:envmxdizC
$81/9118 BD 64 00    LDA $0064,x[$7E:397D]   A:050A X:3919 Y:FFFE P:envmxdizC
$81/911B 38          SEC                     A:067A X:3919 Y:FFFE P:envmxdizC
$81/911C FD 59 00    SBC $0059,x[$7E:3972]   A:067A X:3919 Y:FFFE P:envmxdizC
$81/911F FD 59 00    SBC $0059,x[$7E:3972]   A:0663 X:3919 Y:FFFE P:envmxdizC
$81/9122 E9 02 00    SBC #$0002              A:064C X:3919 Y:FFFE P:envmxdizC
$81/9125 29 FF 07    AND #$07FF              A:064A X:3919 Y:FFFE P:envmxdizC
$81/9128 9D 64 00    STA $0064,x[$7E:397D]   A:064A X:3919 Y:FFFE P:envmxdizC
$81/912B BD 6A 00    LDA $006A,x[$7E:3983]   A:064A X:3919 Y:FFFE P:envmxdizC
$81/912E 18          CLC                     A:03C0 X:3919 Y:FFFE P:envmxdizC
$81/912F 69 06 00    ADC #$0006              A:03C0 X:3919 Y:FFFE P:envmxdizc
$81/9132 9D 68 00    STA $0068,x[$7E:3981]   A:03C6 X:3919 Y:FFFE P:envmxdizc
$81/9135 69 02 00    ADC #$0002              A:03C6 X:3919 Y:FFFE P:envmxdizc
$81/9138 9D 62 00    STA $0062,x[$7E:397B]   A:03C8 X:3919 Y:FFFE P:envmxdizc
$81/913B 09 00 80    ORA #$8000              A:03C8 X:3919 Y:FFFE P:envmxdizc
$81/913E 9D 66 00    STA $0066,x[$7E:397F]   A:83C8 X:3919 Y:FFFE P:eNvmxdizc
$81/9141 80 33       BRA $33    [$9176]      A:83C8 X:3919 Y:FFFE P:eNvmxdizc
$81/9143 C2 21       REP #$21                A:0004 X:45D9 Y:3919 P:envMxdiZc
$81/9145 BD 6A 00    LDA $006A,x[$7E:4643]   A:0004 X:45D9 Y:3919 P:envmxdiZc
$81/9148 69 07 00    ADC #$0007              A:03C0 X:45D9 Y:3919 P:envmxdizc
$81/914B 9D 68 00    STA $0068,x[$7E:4641]   A:03C7 X:45D9 Y:3919 P:envmxdizc
$81/914E 69 02 00    ADC #$0002              A:03C7 X:45D9 Y:3919 P:envmxdizc
$81/9151 9D 62 00    STA $0062,x[$7E:463B]   A:03C9 X:45D9 Y:3919 P:envmxdizc
$81/9154 09 00 80    ORA #$8000              A:03C9 X:45D9 Y:3919 P:envmxdizc
$81/9157 9D 66 00    STA $0066,x[$7E:463F]   A:83C9 X:45D9 Y:3919 P:eNvmxdizc
$81/915A 80 1A       BRA $1A    [$9176]      A:83C9 X:45D9 Y:3919 P:eNvmxdizc
code is missing here
$81/9176 E2 20       SEP #$20                A:83C9 X:45D9 Y:3919 P:eNvmxdizc
$81/9178 20 D4 91    JSR $91D4  [$81:91D4]   A:83C9 X:45D9 Y:3919 P:eNvMxdizc
$81/917B 20 19 92    JSR $9219  [$81:9219]   A:8300 X:45D9 Y:3919 P:envMxdiZc
$81/917E 20 A9 91    JSR $91A9  [$81:91A9]   A:0000 X:45D9 Y:45D9 P:envMxdizc
$81/9181 A6 D8       LDX $D8    [$00:00D8]   A:5299 X:45D9 Y:45D9 P:envMxdizc
$81/9183 BD 4F 00    LDA $004F,x[$7E:4628]   A:5299 X:45D9 Y:45D9 P:envMxdizc
$81/9186 C9 07       CMP #$07                A:5200 X:45D9 Y:45D9 P:envMxdiZc
$81/9188 D0 10       BNE $10    [$919A]      A:5200 X:45D9 Y:45D9 P:eNvMxdizc
code is missing here
$81/919A E2 20       SEP #$20                A:5200 X:45D9 Y:45D9 P:eNvMxdizc
$81/919C 7A          PLY           ; Restore $08-$0B from Stack
$81/919D 84 0A       STY $0A
$81/919F 7A          PLY
$81/91A0 84 08       STY $08
$81/91A2 7A          PLY           ; Restore $02-$05 from Stack
$81/91A3 84 04       STY $04
$81/91A5 7A          PLY
$81/91A6 84 02       STY $02
$81/91A8 60          RTS

$81/91A9 ?

$81/91A9 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:45D9 Y:45D9 P:envMxdizc
$81/91AB BD 4F 00    LDA $004F,x[$7E:4628]   A:0000 X:45D9 Y:45D9 P:envMxdizc
$81/91AE D0 23       BNE $23       ; [$91D3] Exit if not empty
$81/91B0 C2 21       REP #$21                A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/91B2 8A          TXA                     A:0000 X:45D9 Y:45D9 P:envmxdiZc
$81/91B3 69 40 02    ADC #$0240              A:45D9 X:45D9 Y:45D9 P:envmxdizc
$81/91B6 9D 49 00    STA $0049,x[$7E:4622]   A:4819 X:45D9 Y:45D9 P:envmxdizc
$81/91B9 69 40 02    ADC #$0240              A:4819 X:45D9 Y:45D9 P:envmxdizc
$81/91BC 9D 4B 00    STA $004B,x[$7E:4624]   A:4A59 X:45D9 Y:45D9 P:envmxdizc
$81/91BF 69 40 02    ADC #$0240              A:4A59 X:45D9 Y:45D9 P:envmxdizc
$81/91C2 9D 45 00    STA $0045,x[$7E:461E]   A:4C99 X:45D9 Y:45D9 P:envmxdizc
$81/91C5 69 00 02    ADC #$0200              A:4C99 X:45D9 Y:45D9 P:envmxdizc
$81/91C8 9D 24 02    STA $0224,x[$7E:47FD]   A:4E99 X:45D9 Y:45D9 P:envmxdizc
$81/91CB 69 00 04    ADC #$0400              A:4E99 X:45D9 Y:45D9 P:envmxdizc
$81/91CE 9D 26 02    STA $0226,x[$7E:47FF]   A:5299 X:45D9 Y:45D9 P:envmxdizc
$81/91D1 E2 20       SEP #$20                A:5299 X:45D9 Y:45D9 P:envmxdizc
$81/91D3 60          RTS                     A:5299 X:45D9 Y:45D9 P:envMxdizc

$81/91D4 ?

$81/91D4 A6 D8       LDX $D8    [$00:00D8]   A:83C9 X:45D9 Y:3919 P:eNvMxdizc
$81/91D6 BD 4F 00    LDA $004F,x[$7E:4628]   A:83C9 X:45D9 Y:3919 P:envMxdizc
$81/91D9 F0 3D       BEQ $3D    [$9218]      A:8300 X:45D9 Y:3919 P:envMxdiZc
code is missing here
$81/9218 60          RTS                     A:8300 X:45D9 Y:3919 P:envMxdiZc

$81/9219 ?

$81/9219 A6 D8       LDX $D8    [$00:00D8]   A:8300 X:45D9 Y:3919 P:envMxdiZc
$81/921B 7B          TDC                     A:8300 X:45D9 Y:3919 P:envMxdizc
$81/921C BD 4F 00    LDA $004F,x[$7E:4628]   A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/921F 9B          TXY                     A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/9220 0A          ASL A                   A:0000 X:45D9 Y:45D9 P:envMxdizc
$81/9221 AA          TAX                     A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/9222 FC 28 92    JSR ($9228,x)[$81:9240] A:0000 X:0000 Y:45D9 P:envMxdiZc
$81/9225 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:0000 Y:45D9 P:envMxdiZc
$81/9227 60          RTS                     A:0000 X:45D9 Y:45D9 P:envMxdizc
$81/9228 40 92 --- Entry #$00 - $9240
$81/922A 41 92 --- Entry #$01 - $9241
$81/922C 76 92 --- Entry #$02 - $9276
$81/922E 76 92 --- Entry #$03 - $9276
$81/9230 76 92 --- Entry #$04 - $9276
$81/9232 76 92 --- Entry #$05 - $9276
$81/9234 41 92 --- Entry #$06 - $9241
$81/9236 76 92 --- Entry #$07 - $9276
$81/9238 76 92 --- Entry #$08 - $9276
$81/923A 76 92 --- Entry #$09 - $9276
$81/923C 76 92 --- Entry #$0A - $9276
$81/923E 76 92 --- Entry #$0B - $9276

$81/9240 RTS

$81/9240 60          RTS           ; This line could be removed - Point to another RTS!

$81/92EE ?

$81/92EE 7B          TDC                     A:4532 X:45D9 Y:3919 P:envMxdizc
$81/92EF A5 08       LDA $08    [$00:0008]   A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/92F1 C9 FF       CMP #$FF                A:0032 X:45D9 Y:3919 P:envMxdizc
$81/92F3 F0 14       BEQ $14    [$9309]      A:0032 X:45D9 Y:3919 P:envMxdizc
$81/92F5 C9 FE       CMP #$FE                A:0032 X:45D9 Y:3919 P:envMxdizc
$81/92F7 F0 08       BEQ $08    [$9301]      A:0032 X:45D9 Y:3919 P:envMxdizc
$81/92F9 A5 09       LDA $09    [$00:0009]   A:0032 X:45D9 Y:3919 P:envMxdizc
$81/92FB 29 C0       AND #$C0                A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/92FD 09 04       ORA #$04                A:0000 X:45D9 Y:3919 P:envMxdiZc
$81/92FF 80 09       BRA $09    [$930A]      A:0004 X:45D9 Y:3919 P:envMxdizc
code is missing here
$81/930A 85 09       STA $09    [$00:0009]   A:0004 X:45D9 Y:3919 P:envMxdizc
$81/930C 60          RTS                     A:0004 X:45D9 Y:3919 P:envMxdizc

$81/930D ?

$81/930D 20 B9 97    JSR $97B9  [$81:97B9]   A:0001 X:45D9 Y:B12C P:enVMxdizC
$81/9310 A2 00 A8    LDX #$A800              A:0200 X:45D9 Y:01D4 P:envMxdizc
$81/9313 86 20       STX $20    [$00:0020]   A:0200 X:A800 Y:01D4 P:eNvMxdizc
$81/9315 A9 7E       LDA #$7E                A:0200 X:A800 Y:01D4 P:eNvMxdizc
$81/9317 85 22       STA $22    [$00:0022]   A:027E X:A800 Y:01D4 P:envMxdizc
$81/9319 A6 D8       LDX $D8    [$00:00D8]   A:027E X:A800 Y:01D4 P:envMxdizc
$81/931B 7B          TDC                     A:027E X:45D9 Y:01D4 P:envMxdizc
$81/931C BD 3F 02    LDA $023F,x[$7E:4818]   A:0000 X:45D9 Y:01D4 P:envMxdiZc
$81/931F C9 FF       CMP #$FF                A:0000 X:45D9 Y:01D4 P:envMxdiZc
$81/9321 F0 1B       BEQ $1B    [$933E]      A:0000 X:45D9 Y:01D4 P:envMxdizc
$81/9323 0A          ASL A                   A:0000 X:45D9 Y:01D4 P:envMxdizc
$81/9324 AA          TAX                     A:0000 X:45D9 Y:01D4 P:envMxdiZc
$81/9325 C2 20       REP #$20                A:0000 X:0000 Y:01D4 P:envMxdiZc
$81/9327 BF 8A 93 81 LDA $81938A,x[$81:938A] A:0000 X:0000 Y:01D4 P:envmxdiZc
$81/932B C9 FF FF    CMP #$FFFF              A:94C3 X:0000 Y:01D4 P:eNvmxdizc
$81/932E E2 20       SEP #$20                A:94C3 X:0000 Y:01D4 P:eNvmxdizc
$81/9330 F0 0C       BEQ $0C    [$933E]      A:94C3 X:0000 Y:01D4 P:eNvMxdizc
$81/9332 FC 8A 93    JSR ($938A,x)[$81:94C3] A:94C3 X:0000 Y:01D4 P:eNvMxdizc
$81/9335 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:A800 Y:2F9A P:envMxdizc
$81/9337 FE 3F 02    INC $023F,x[$7E:4818]   A:0000 X:45D9 Y:2F9A P:envMxdizc
$81/933A 20 D8 9B    JSR $9BD8  [$81:9BD8]   A:0000 X:45D9 Y:2F9A P:envMxdizc
$81/933D 60          RTS                     A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/933E A6 D8       LDX $D8    [$00:00D8]   A:FFFF X:000C Y:01D4 P:envMxdiZC
$81/9340 A9 FF       LDA #$FF                A:FFFF X:45D9 Y:01D4 P:envMxdizC
$81/9342 9D 3F 02    STA $023F,x[$7E:4818]   A:FFFF X:45D9 Y:01D4 P:eNvMxdizC
$81/9345 60          RTS                     A:FFFF X:45D9 Y:01D4 P:eNvMxdizC

$81/9346 ?

Why does line 9357 not jump to 937B?

$81/9346 A2 00 A8    LDX #$A800    ; Setup Address $7E/A800 in [$20]
$81/9349 86 20       STX $20
$81/934B A9 7E       LDA #$7E
$81/934D 85 22       STA $22
$81/934F 7B          TDC           ; Clear 16-bit A
$81/9350 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:A800 Y:001E P:envMxdiZc
$81/9352 BD 3F 02    LDA $023F,x[$7E:4818]   A:0000 X:45D9 Y:001E P:envMxdizc
$81/9355 C9 FF       CMP #$FF                A:0000 X:45D9 Y:001E P:envMxdiZc
$81/9357 F0 1B       BEQ $1B    [$9374]      A:0000 X:45D9 Y:001E P:envMxdizc
$81/9359 0A          ASL A                   A:0000 X:45D9 Y:001E P:envMxdizc
$81/935A AA          TAX                     A:0000 X:45D9 Y:001E P:envMxdiZc
$81/935B C2 20       REP #$20                A:0000 X:0000 Y:001E P:envMxdiZc
$81/935D BF 7C 93 81 LDA $81937C,x[$81:937C] A:0000 X:0000 Y:001E P:envmxdiZc
$81/9361 C9 FF FF    CMP #$FFFF              A:9398 X:0000 Y:001E P:eNvmxdizc
$81/9364 E2 20       SEP #$20                A:9398 X:0000 Y:001E P:eNvmxdizc
$81/9366 F0 0C       BEQ $0C    [$9374]      A:9398 X:0000 Y:001E P:eNvMxdizc
$81/9368 FC 7C 93    JSR ($937C,x)[$81:9398] A:9398 X:0000 Y:001E P:eNvMxdizc
$81/936B A6 D8       LDX $D8    [$00:00D8]   A:2FC5 X:D331 Y:019E P:envMxdizc
$81/936D FE 3F 02    INC $023F,x[$7E:4818]   A:2FC5 X:45D9 Y:019E P:envMxdizc
$81/9370 20 D8 9B    JSR $9BD8  [$81:9BD8]   A:2FC5 X:45D9 Y:019E P:envMxdizc
$81/9373 60          RTS                     A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/9374 A6 D8       LDX $D8    [$00:00D8]   A:FFFF X:000C Y:001E P:envMxdiZC
$81/9376 A9 FF       LDA #$FF                A:FFFF X:45D9 Y:001E P:envMxdizC
$81/9378 9D 3F 02    STA $023F,x[$7E:4818]   A:FFFF X:45D9 Y:001E P:eNvMxdizC
$81/937B 60          RTS                     A:FFFF X:45D9 Y:001E P:eNvMxdizC


$81/937C 98 93 --- Entry #$00 - $9398
$81/937E CB 93 --- Entry #$01 - $93CB
$81/9380 01 94 --- Entry #$02 - $9401
$81/9382 39 94 --- Entry #$03 - $9439
$81/9384 6B 94 --- Entry #$04 - $946B
$81/9386 C3 94 --- Entry #$05 - $94C3
$81/9388 FF FF --- Entry #$06 - $FFFF
$81/938A C3 94 --- Entry #$07 - $94C3
$81/938C 6B 94 --- Entry #$08 - $946B
$81/938E 39 94 --- Entry #$09 - $9439
$81/9390 01 94 --- Entry #$0A - $9401
$81/9392 CB 93 --- Entry #$0B - $93CB
$81/9394 98 93 --- Entry #$0C - $9398
$81/9396 FF FF --- Entry #$0D - $FFFF

$81/9398 ?

$81/9398 A6 D8       LDX $D8    [$00:00D8]   A:9398 X:0000 Y:001E P:eNvMxdizc
$81/939A C2 21       REP #$21                A:9398 X:45D9 Y:001E P:envMxdizc
$81/939C BD 5B 00    LDA $005B,x[$7E:4634]   A:9398 X:45D9 Y:001E P:envmxdizc
$81/939F 4A          LSR A                   A:0006 X:45D9 Y:001E P:envmxdizc
$81/93A0 7D 57 00    ADC $0057,x[$7E:4630]   A:0003 X:45D9 Y:001E P:envmxdizc
$81/93A3 3A          DEC A                   A:0006 X:45D9 Y:001E P:envmxdizc
$81/93A4 85 04       STA $04    [$00:0004]   A:0005 X:45D9 Y:001E P:envmxdizc
$81/93A6 BD 59 00    LDA $0059,x[$7E:4632]   A:0005 X:45D9 Y:001E P:envmxdizc
$81/93A9 4A          LSR A                   A:0018 X:45D9 Y:001E P:envmxdizc
$81/93AA 7D 55 00    ADC $0055,x[$7E:462E]   A:000C X:45D9 Y:001E P:envmxdizc
$81/93AD 3A          DEC A                   A:000F X:45D9 Y:001E P:envmxdizc
$81/93AE 85 06       STA $06    [$00:0006]   A:000E X:45D9 Y:001E P:envmxdizc
$81/93B0 A5 04       LDA $04    [$00:0004]   A:000E X:45D9 Y:001E P:envmxdizc
$81/93B2 EB          XBA                     A:0005 X:45D9 Y:001E P:envmxdizc
$81/93B3 4A          LSR A                   A:0500 X:45D9 Y:001E P:envmxdiZc
$81/93B4 4A          LSR A                   A:0280 X:45D9 Y:001E P:envmxdizc
$81/93B5 65 06       ADC $06    [$00:0006]   A:0140 X:45D9 Y:001E P:envmxdizc
$81/93B7 65 06       ADC $06    [$00:0006]   A:014E X:45D9 Y:001E P:envmxdizc
$81/93B9 A8          TAY                     A:015C X:45D9 Y:001E P:envmxdizc
$81/93BA E2 20       SEP #$20                A:015C X:45D9 Y:015C P:envmxdizc
$81/93BC 64 00       STZ $00    [$00:0000]   A:015C X:45D9 Y:015C P:envMxdizc
$81/93BE 64 02       STZ $02    [$00:0002]   A:015C X:45D9 Y:015C P:envMxdizc
$81/93C0 A2 31 D3    LDX #$D331              A:015C X:45D9 Y:015C P:envMxdizc
$81/93C3 A9 81       LDA #$81                A:015C X:D331 Y:015C P:eNvMxdizc
$81/93C5 22 41 D3 81 JSL $81D341[$81:D341]   A:0181 X:D331 Y:015C P:eNvMxdizc
$81/93C9 18          CLC                     A:2FC5 X:D331 Y:019E P:envMxdizc
$81/93CA 60          RTS                     A:2FC5 X:D331 Y:019E P:envMxdizc

$81/93CB ?

$81/93CB A6 D8       LDX $D8    [$00:00D8]   A:93CB X:0002 Y:001E P:eNvMxdizc
$81/93CD C2 21       REP #$21                A:93CB X:45D9 Y:001E P:envMxdizc
$81/93CF BD 5B 00    LDA $005B,x[$7E:4634]   A:93CB X:45D9 Y:001E P:envmxdizc
$81/93D2 4A          LSR A                   A:0006 X:45D9 Y:001E P:envmxdizc
$81/93D3 7D 57 00    ADC $0057,x[$7E:4630]   A:0003 X:45D9 Y:001E P:envmxdizc
$81/93D6 3A          DEC A                   A:0006 X:45D9 Y:001E P:envmxdizc
$81/93D7 85 04       STA $04    [$00:0004]   A:0005 X:45D9 Y:001E P:envmxdizc
$81/93D9 BD 59 00    LDA $0059,x[$7E:4632]   A:0005 X:45D9 Y:001E P:envmxdizc
$81/93DC 4A          LSR A                   A:0018 X:45D9 Y:001E P:envmxdizc
$81/93DD 7D 55 00    ADC $0055,x[$7E:462E]   A:000C X:45D9 Y:001E P:envmxdizc
$81/93E0 3A          DEC A                   A:000F X:45D9 Y:001E P:envmxdizc
$81/93E1 3A          DEC A                   A:000E X:45D9 Y:001E P:envmxdizc
$81/93E2 85 06       STA $06    [$00:0006]   A:000D X:45D9 Y:001E P:envmxdizc
$81/93E4 A5 04       LDA $04    [$00:0004]   A:000D X:45D9 Y:001E P:envmxdizc
$81/93E6 EB          XBA                     A:0005 X:45D9 Y:001E P:envmxdizc
$81/93E7 4A          LSR A                   A:0500 X:45D9 Y:001E P:envmxdiZc
$81/93E8 4A          LSR A                   A:0280 X:45D9 Y:001E P:envmxdizc
$81/93E9 65 06       ADC $06    [$00:0006]   A:0140 X:45D9 Y:001E P:envmxdizc
$81/93EB 65 06       ADC $06    [$00:0006]   A:014D X:45D9 Y:001E P:envmxdizc
$81/93ED A8          TAY                     A:015A X:45D9 Y:001E P:envmxdizc
$81/93EE E2 20       SEP #$20                A:015A X:45D9 Y:015A P:envmxdizc
$81/93F0 A9 02       LDA #$02                A:015A X:45D9 Y:015A P:envMxdizc
$81/93F2 85 00       STA $00    [$00:0000]   A:0102 X:45D9 Y:015A P:envMxdizc
$81/93F4 64 02       STZ $02    [$00:0002]   A:0102 X:45D9 Y:015A P:envMxdizc
$81/93F6 A2 31 D3    LDX #$D331              A:0102 X:45D9 Y:015A P:envMxdizc
$81/93F9 A9 81       LDA #$81                A:0102 X:D331 Y:015A P:eNvMxdizc
$81/93FB 22 41 D3 81 JSL $81D341[$81:D341]   A:0181 X:D331 Y:015A P:eNvMxdizc
$81/93FF 18          CLC                     A:2FC5 X:D331 Y:01A0 P:envMxdizc
$81/9400 60          RTS                     A:2FC5 X:D331 Y:01A0 P:envMxdizc

$81/9401 ?

$81/9401 A6 D8       LDX $D8    [$00:00D8]   A:9401 X:0004 Y:001E P:eNvMxdizc
$81/9403 C2 21       REP #$21                A:9401 X:45D9 Y:001E P:envMxdizc
$81/9405 BD 5B 00    LDA $005B,x[$7E:4634]   A:9401 X:45D9 Y:001E P:envmxdizc
$81/9408 4A          LSR A                   A:0006 X:45D9 Y:001E P:envmxdizc
$81/9409 7D 57 00    ADC $0057,x[$7E:4630]   A:0003 X:45D9 Y:001E P:envmxdizc
$81/940C 3A          DEC A                   A:0006 X:45D9 Y:001E P:envmxdizc
$81/940D 85 04       STA $04    [$00:0004]   A:0005 X:45D9 Y:001E P:envmxdizc
$81/940F BD 59 00    LDA $0059,x[$7E:4632]   A:0005 X:45D9 Y:001E P:envmxdizc
$81/9412 4A          LSR A                   A:0018 X:45D9 Y:001E P:envmxdizc
$81/9413 7D 55 00    ADC $0055,x[$7E:462E]   A:000C X:45D9 Y:001E P:envmxdizc
$81/9416 3A          DEC A                   A:000F X:45D9 Y:001E P:envmxdizc
$81/9417 3A          DEC A                   A:000E X:45D9 Y:001E P:envmxdizc
$81/9418 3A          DEC A                   A:000D X:45D9 Y:001E P:envmxdizc
$81/9419 3A          DEC A                   A:000C X:45D9 Y:001E P:envmxdizc
$81/941A 85 06       STA $06    [$00:0006]   A:000B X:45D9 Y:001E P:envmxdizc
$81/941C A5 04       LDA $04    [$00:0004]   A:000B X:45D9 Y:001E P:envmxdizc
$81/941E EB          XBA                     A:0005 X:45D9 Y:001E P:envmxdizc
$81/941F 4A          LSR A                   A:0500 X:45D9 Y:001E P:envmxdiZc
$81/9420 4A          LSR A                   A:0280 X:45D9 Y:001E P:envmxdizc
$81/9421 65 06       ADC $06    [$00:0006]   A:0140 X:45D9 Y:001E P:envmxdizc
$81/9423 65 06       ADC $06    [$00:0006]   A:014B X:45D9 Y:001E P:envmxdizc
$81/9425 A8          TAY                     A:0156 X:45D9 Y:001E P:envmxdizc
$81/9426 E2 20       SEP #$20                A:0156 X:45D9 Y:0156 P:envmxdizc
$81/9428 A9 06       LDA #$06                A:0156 X:45D9 Y:0156 P:envMxdizc
$81/942A 85 00       STA $00    [$00:0000]   A:0106 X:45D9 Y:0156 P:envMxdizc
$81/942C 64 02       STZ $02    [$00:0002]   A:0106 X:45D9 Y:0156 P:envMxdizc
$81/942E A2 31 D3    LDX #$D331              A:0106 X:45D9 Y:0156 P:envMxdizc
$81/9431 A9 81       LDA #$81                A:0106 X:D331 Y:0156 P:eNvMxdizc
$81/9433 22 41 D3 81 JSL $81D341[$81:D341]   A:0181 X:D331 Y:0156 P:eNvMxdizc
$81/9437 18          CLC                     A:2FC5 X:D331 Y:01A4 P:envMxdizc
$81/9438 60          RTS                     A:2FC5 X:D331 Y:01A4 P:envMxdizc

$81/9439 ?

$81/9439 A6 D8       LDX $D8    [$00:00D8]   A:9439 X:0006 Y:001E P:eNvMxdizc
$81/943B C2 21       REP #$21                A:9439 X:45D9 Y:001E P:envMxdizc
$81/943D BD 5B 00    LDA $005B,x[$7E:4634]   A:9439 X:45D9 Y:001E P:envmxdizc
$81/9440 4A          LSR A                   A:0006 X:45D9 Y:001E P:envmxdizc
$81/9441 7D 57 00    ADC $0057,x[$7E:4630]   A:0003 X:45D9 Y:001E P:envmxdizc
$81/9444 3A          DEC A                   A:0006 X:45D9 Y:001E P:envmxdizc
$81/9445 85 04       STA $04    [$00:0004]   A:0005 X:45D9 Y:001E P:envmxdizc
$81/9447 BD 55 00    LDA $0055,x[$7E:462E]   A:0005 X:45D9 Y:001E P:envmxdizc
$81/944A 3A          DEC A                   A:0003 X:45D9 Y:001E P:envmxdizc
$81/944B 85 06       STA $06    [$00:0006]   A:0002 X:45D9 Y:001E P:envmxdizc
$81/944D A5 04       LDA $04    [$00:0004]   A:0002 X:45D9 Y:001E P:envmxdizc
$81/944F EB          XBA                     A:0005 X:45D9 Y:001E P:envmxdizc
$81/9450 4A          LSR A                   A:0500 X:45D9 Y:001E P:envmxdiZc
$81/9451 4A          LSR A                   A:0280 X:45D9 Y:001E P:envmxdizc
$81/9452 65 06       ADC $06    [$00:0006]   A:0140 X:45D9 Y:001E P:envmxdizc
$81/9454 65 06       ADC $06    [$00:0006]   A:0142 X:45D9 Y:001E P:envmxdizc
$81/9456 A8          TAY                     A:0144 X:45D9 Y:001E P:envmxdizc
$81/9457 E2 20       SEP #$20                A:0144 X:45D9 Y:0144 P:envmxdizc
$81/9459 BD 59 00    LDA $0059,x[$7E:4632]   A:0144 X:45D9 Y:0144 P:envMxdizc
$81/945C 85 00       STA $00    [$00:0000]   A:0118 X:45D9 Y:0144 P:envMxdizc
$81/945E 64 02       STZ $02    [$00:0002]   A:0118 X:45D9 Y:0144 P:envMxdizc
$81/9460 A2 31 D3    LDX #$D331              A:0118 X:45D9 Y:0144 P:envMxdizc
$81/9463 A9 81       LDA #$81                A:0118 X:D331 Y:0144 P:eNvMxdizc
$81/9465 22 41 D3 81 JSL $81D341[$81:D341]   A:0181 X:D331 Y:0144 P:eNvMxdizc
$81/9469 18          CLC                     A:2FC5 X:D331 Y:01B6 P:envMxdizc
$81/946A 60          RTS                     A:2FC5 X:D331 Y:01B6 P:envMxdizc

$81/946B ?

$81/946B A6 D8       LDX $D8    [$00:00D8]   A:946B X:0008 Y:001E P:eNvMxdizc
$81/946D C2 21       REP #$21                A:946B X:45D9 Y:001E P:envMxdizc
$81/946F BD 5B 00    LDA $005B,x[$7E:4634]   A:946B X:45D9 Y:001E P:envmxdizc
$81/9472 4A          LSR A                   A:0006 X:45D9 Y:001E P:envmxdizc
$81/9473 3A          DEC A                   A:0003 X:45D9 Y:001E P:envmxdizc
$81/9474 7D 57 00    ADC $0057,x[$7E:4630]   A:0002 X:45D9 Y:001E P:envmxdizc
$81/9477 3A          DEC A                   A:0005 X:45D9 Y:001E P:envmxdizc
$81/9478 85 04       STA $04    [$00:0004]   A:0004 X:45D9 Y:001E P:envmxdizc
$81/947A BD 55 00    LDA $0055,x[$7E:462E]   A:0004 X:45D9 Y:001E P:envmxdizc
$81/947D 3A          DEC A                   A:0003 X:45D9 Y:001E P:envmxdizc
$81/947E 85 06       STA $06    [$00:0006]   A:0002 X:45D9 Y:001E P:envmxdizc
$81/9480 A5 04       LDA $04    [$00:0004]   A:0002 X:45D9 Y:001E P:envmxdizc
$81/9482 EB          XBA                     A:0004 X:45D9 Y:001E P:envmxdizc
$81/9483 4A          LSR A                   A:0400 X:45D9 Y:001E P:envmxdiZc
$81/9484 4A          LSR A                   A:0200 X:45D9 Y:001E P:envmxdizc
$81/9485 65 06       ADC $06    [$00:0006]   A:0100 X:45D9 Y:001E P:envmxdizc
$81/9487 65 06       ADC $06    [$00:0006]   A:0102 X:45D9 Y:001E P:envmxdizc
$81/9489 A8          TAY                     A:0104 X:45D9 Y:001E P:envmxdizc
$81/948A E2 20       SEP #$20                A:0104 X:45D9 Y:0104 P:envmxdizc
$81/948C BD 59 00    LDA $0059,x[$7E:4632]   A:0104 X:45D9 Y:0104 P:envMxdizc
$81/948F 85 00       STA $00    [$00:0000]   A:0118 X:45D9 Y:0104 P:envMxdizc
$81/9491 A9 02       LDA #$02                A:0118 X:45D9 Y:0104 P:envMxdizc
$81/9493 85 02       STA $02    [$00:0002]   A:0102 X:45D9 Y:0104 P:envMxdizc
$81/9495 A2 31 D3    LDX #$D331              A:0102 X:45D9 Y:0104 P:envMxdizc
$81/9498 A9 81       LDA #$81                A:0102 X:D331 Y:0104 P:eNvMxdizc
$81/949A 22 41 D3 81 JSL $81D341[$81:D341]   A:0181 X:D331 Y:0104 P:eNvMxdizc
$81/949E A6 D8       LDX $D8    [$00:00D8]   A:2FC5 X:D331 Y:01F6 P:envMxdizc
$81/94A0 BD 55 00    LDA $0055,x[$7E:462E]   A:2FC5 X:45D9 Y:01F6 P:envMxdizc
$81/94A3 85 02       STA $02    [$00:0002]   A:2F03 X:45D9 Y:01F6 P:envMxdizc
$81/94A5 BD 57 00    LDA $0057,x[$7E:4630]   A:2F03 X:45D9 Y:01F6 P:envMxdizc
$81/94A8 1A          INC A                   A:2F03 X:45D9 Y:01F6 P:envMxdizc
$81/94A9 1A          INC A                   A:2F04 X:45D9 Y:01F6 P:envMxdizc
$81/94AA 85 03       STA $03    [$00:0003]   A:2F05 X:45D9 Y:01F6 P:envMxdizc
$81/94AC BD 59 00    LDA $0059,x[$7E:4632]   A:2F05 X:45D9 Y:01F6 P:envMxdizc
$81/94AF 85 04       STA $04    [$00:0004]   A:2F18 X:45D9 Y:01F6 P:envMxdizc
$81/94B1 A9 02       LDA #$02                A:2F18 X:45D9 Y:01F6 P:envMxdizc
$81/94B3 85 05       STA $05    [$00:0005]   A:2F02 X:45D9 Y:01F6 P:envMxdizc
$81/94B5 A0 9A 2F    LDY #$2F9A              A:2F02 X:45D9 Y:01F6 P:envMxdizc
$81/94B8 A2 00 A8    LDX #$A800              A:2F02 X:45D9 Y:2F9A P:envMxdizc
$81/94BB A9 7E       LDA #$7E                A:2F02 X:A800 Y:2F9A P:eNvMxdizc
$81/94BD 22 96 D2 81 JSL $81D296[$81:D296]   A:2F7E X:A800 Y:2F9A P:envMxdizc
$81/94C1 18          CLC                     A:0000 X:A800 Y:2F9A P:envMxdizc
$81/94C2 60          RTS                     A:0000 X:A800 Y:2F9A P:envMxdizc

$81/94C3 ?

$81/94C3 A6 D8       LDX $D8    [$00:00D8]   A:94C3 X:000A Y:001E P:eNvMxdizc
$81/94C5 C2 21       REP #$21                A:94C3 X:45D9 Y:001E P:envMxdizc
$81/94C7 BD 5B 00    LDA $005B,x[$7E:4634]   A:94C3 X:45D9 Y:001E P:envmxdizc
$81/94CA 4A          LSR A                   A:0006 X:45D9 Y:001E P:envmxdizc
$81/94CB 3A          DEC A                   A:0003 X:45D9 Y:001E P:envmxdizc
$81/94CC 3A          DEC A                   A:0002 X:45D9 Y:001E P:envmxdizc
$81/94CD 7D 57 00    ADC $0057,x[$7E:4630]   A:0001 X:45D9 Y:001E P:envmxdizc
$81/94D0 3A          DEC A                   A:0004 X:45D9 Y:001E P:envmxdizc
$81/94D1 85 04       STA $04    [$00:0004]   A:0003 X:45D9 Y:001E P:envmxdizc
$81/94D3 BD 55 00    LDA $0055,x[$7E:462E]   A:0003 X:45D9 Y:001E P:envmxdizc
$81/94D6 3A          DEC A                   A:0003 X:45D9 Y:001E P:envmxdizc
$81/94D7 85 06       STA $06    [$00:0006]   A:0002 X:45D9 Y:001E P:envmxdizc
$81/94D9 A5 04       LDA $04    [$00:0004]   A:0002 X:45D9 Y:001E P:envmxdizc
$81/94DB EB          XBA                     A:0003 X:45D9 Y:001E P:envmxdizc
$81/94DC 4A          LSR A                   A:0300 X:45D9 Y:001E P:envmxdiZc
$81/94DD 4A          LSR A                   A:0180 X:45D9 Y:001E P:envmxdizc
$81/94DE 65 06       ADC $06    [$00:0006]   A:00C0 X:45D9 Y:001E P:envmxdizc
$81/94E0 65 06       ADC $06    [$00:0006]   A:00C2 X:45D9 Y:001E P:envmxdizc
$81/94E2 A8          TAY                     A:00C4 X:45D9 Y:001E P:envmxdizc
$81/94E3 E2 20       SEP #$20                A:00C4 X:45D9 Y:00C4 P:envmxdizc
$81/94E5 BD 59 00    LDA $0059,x[$7E:4632]   A:00C4 X:45D9 Y:00C4 P:envMxdizc
$81/94E8 85 00       STA $00    [$00:0000]   A:0018 X:45D9 Y:00C4 P:envMxdizc
$81/94EA A9 04       LDA #$04                A:0018 X:45D9 Y:00C4 P:envMxdizc
$81/94EC 85 02       STA $02    [$00:0002]   A:0004 X:45D9 Y:00C4 P:envMxdizc
$81/94EE A2 31 D3    LDX #$D331              A:0004 X:45D9 Y:00C4 P:envMxdizc
$81/94F1 A9 81       LDA #$81                A:0004 X:D331 Y:00C4 P:eNvMxdizc
$81/94F3 22 41 D3 81 JSL $81D341[$81:D341]   A:0081 X:D331 Y:00C4 P:eNvMxdizc
$81/94F7 A6 D8       LDX $D8    [$00:00D8]   A:2FC5 X:D331 Y:0236 P:envMxdizc
$81/94F9 BD 55 00    LDA $0055,x[$7E:462E]   A:2FC5 X:45D9 Y:0236 P:envMxdizc
$81/94FC 85 02       STA $02    [$00:0002]   A:2F03 X:45D9 Y:0236 P:envMxdizc
$81/94FE BD 57 00    LDA $0057,x[$7E:4630]   A:2F03 X:45D9 Y:0236 P:envMxdizc
$81/9501 1A          INC A                   A:2F03 X:45D9 Y:0236 P:envMxdizc
$81/9502 85 03       STA $03    [$00:0003]   A:2F04 X:45D9 Y:0236 P:envMxdizc
$81/9504 BD 59 00    LDA $0059,x[$7E:4632]   A:2F04 X:45D9 Y:0236 P:envMxdizc
$81/9507 85 04       STA $04    [$00:0004]   A:2F18 X:45D9 Y:0236 P:envMxdizc
$81/9509 A9 04       LDA #$04                A:2F18 X:45D9 Y:0236 P:envMxdizc
$81/950B 85 05       STA $05    [$00:0005]   A:2F04 X:45D9 Y:0236 P:envMxdizc
$81/950D A0 9A 2F    LDY #$2F9A              A:2F04 X:45D9 Y:0236 P:envMxdizc
$81/9510 A2 00 A8    LDX #$A800              A:2F04 X:45D9 Y:2F9A P:envMxdizc
$81/9513 A9 7E       LDA #$7E                A:2F04 X:A800 Y:2F9A P:eNvMxdizc
$81/9515 22 96 D2 81 JSL $81D296[$81:D296]   A:2F7E X:A800 Y:2F9A P:envMxdizc
$81/9519 18          CLC                     A:0000 X:A800 Y:2F9A P:envMxdizc
$81/951A 60          RTS                     A:0000 X:A800 Y:2F9A P:envMxdizc

$81/951B ?

$81/951B A6 D8       LDX $D8    [$00:00D8]   A:001A X:45D9 Y:0308 P:envMxdizc
$81/951D A5 A4       LDA $A4    [$00:00A4]   A:001A X:45D9 Y:0308 P:envMxdizc
$81/951F 89 01       BIT #$01                A:0003 X:45D9 Y:0308 P:envMxdizc
$81/9521 D0 27       BNE $27    [$954A]      A:0003 X:45D9 Y:0308 P:envMxdizc
code is missing here
$81/954A 7B          TDC                     A:0003 X:45D9 Y:0308 P:envMxdizc
$81/954B BD 5D 00    LDA $005D,x[$7E:4636]   A:0000 X:45D9 Y:0308 P:envMxdiZc
$81/954E C9 FF       CMP #$FF                A:0032 X:45D9 Y:0308 P:envMxdizc
$81/9550 F0 04       BEQ $04    [$9556]      A:0032 X:45D9 Y:0308 P:envMxdizc
$81/9552 C9 FE       CMP #$FE                A:0032 X:45D9 Y:0308 P:envMxdizc
$81/9554 D0 01       BNE $01    [$9557]      A:0032 X:45D9 Y:0308 P:envMxdizc
code is missing here
$81/9557 DA          PHX                     A:0032 X:45D9 Y:0308 P:envMxdizc
$81/9558 D4 02       PEI ($02)     ; Buffer $02-$0B on Stack
$81/955A D4 04       PEI ($04)
$81/955C D4 06       PEI ($06)
$81/955E D4 08       PEI ($08)
$81/9560 D4 0A       PEI ($0A)
$81/9562 BD 4F 00    LDA $004F,x[$7E:4628]   A:0032 X:45D9 Y:0308 P:envMxdizc
$81/9565 C9 0A       CMP #$0A                A:0000 X:45D9 Y:0308 P:envMxdiZc
$81/9567 F0 72       BEQ $72    [$95DB]      A:0000 X:45D9 Y:0308 P:eNvMxdizc
$81/9569 BD 51 00    LDA $0051,x[$7E:462A]   A:0000 X:45D9 Y:0308 P:eNvMxdizc
$81/956C D0 30       BNE $30    [$959E]      A:0000 X:45D9 Y:0308 P:envMxdiZc
$81/956E A0 00 2B    LDY #$2B00              A:0000 X:45D9 Y:0308 P:envMxdiZc
$81/9571 A9 01       LDA #$01                A:0000 X:45D9 Y:2B00 P:envMxdizc
$81/9573 85 0E       STA $0E    [$00:000E]   A:0001 X:45D9 Y:2B00 P:envMxdizc
$81/9575 64 23       STZ $23    [$00:0023]   A:0001 X:45D9 Y:2B00 P:envMxdizc
$81/9577 BD 5D 00    LDA $005D,x[$7E:4636]   A:0001 X:45D9 Y:2B00 P:envMxdizc
$81/957A 22 C5 E9 81 JSL $81E9C5[$81:E9C5]   A:0032 X:45D9 Y:2B00 P:envMxdizc
$81/957E A6 D8       LDX $D8    [$00:00D8]   A:0001 X:0000 Y:2B00 P:envMxdizC
$81/9580 BC 52 00    LDY $0052,x[$7E:462B]   A:0001 X:45D9 Y:2B00 P:envMxdizC
$81/9583 F0 12       BEQ $12    [$9597]      A:0001 X:45D9 Y:3919 P:envMxdizC
$81/9585 B9 00 00    LDA $0000,y[$7E:3919]   A:0001 X:45D9 Y:3919 P:envMxdizC
$81/9588 C9 01       CMP #$01                A:0001 X:45D9 Y:3919 P:envMxdizC
$81/958A D0 0B       BNE $0B    [$9597]      A:0001 X:45D9 Y:3919 P:envMxdiZC
$81/958C B9 5D 00    LDA $005D,y[$7E:3976]   A:0001 X:45D9 Y:3919 P:envMxdiZC
$81/958F C9 FF       CMP #$FF                A:0033 X:45D9 Y:3919 P:envMxdizC
$81/9591 F0 04       BEQ $04    [$9597]      A:0033 X:45D9 Y:3919 P:envMxdizc
$81/9593 C9 FE       CMP #$FE                A:0033 X:45D9 Y:3919 P:envMxdizc
$81/9595 D0 6B       BNE $6B    [$9602]      A:0033 X:45D9 Y:3919 P:envMxdizc
code is missing here
$81/959E C2 21       REP #$21                A:0001 X:3919 Y:1406 P:envMxdizc
$81/95A0 BD 57 00    LDA $0057,x[$7E:3970]   A:0001 X:3919 Y:1406 P:envmxdizc
$81/95A3 7D 5B 00    ADC $005B,x[$7E:3974]   A:0014 X:3919 Y:1406 P:envmxdizc
$81/95A6 0A          ASL A                   A:001A X:3919 Y:1406 P:envmxdizc
$81/95A7 0A          ASL A                   A:0034 X:3919 Y:1406 P:envmxdizc
$81/95A8 0A          ASL A                   A:0068 X:3919 Y:1406 P:envmxdizc
$81/95A9 E2 20       SEP #$20                A:00D0 X:3919 Y:1406 P:envmxdizc
$81/95AB C9 D0       CMP #$D0                A:00D0 X:3919 Y:1406 P:envMxdizc
$81/95AD B0 08       BCS $08    [$95B7]      A:00D0 X:3919 Y:1406 P:envMxdiZC
$81/95AF 85 23       STA $23    [$00:0023]   A:00C8 X:3919 Y:130A P:eNvMxdizc
$81/95B1 A9 01       LDA #$01                A:00C8 X:3919 Y:130A P:eNvMxdizc
$81/95B3 22 7A EA 81 JSL $81EA7A[$81:EA7A]   A:0001 X:3919 Y:130A P:envMxdizc
$81/95B7 A6 D8       LDX $D8    [$00:00D8]   A:00D0 X:3919 Y:1406 P:envMxdiZC
$81/95B9 BC 52 00    LDY $0052,x[$7E:396B]   A:00D0 X:3919 Y:1406 P:envMxdizC
$81/95BC F0 0B       BEQ $0B    [$95C9]      A:00D0 X:3919 Y:0000 P:envMxdiZC
code is missing here
$81/95C9 A6 D8       LDX $D8    [$00:00D8]   A:00D0 X:3919 Y:0000 P:envMxdiZC
$81/95CB 20 AC 96    JSR $96AC  [$81:96AC]   A:00D0 X:3919 Y:0000 P:envMxdizC
$81/95CE 80 32       BRA $32    [$9602]      A:0001 X:0000 Y:2C80 P:envMxdizC
code is missing here
$81/9602 FA          PLX           ; Restore $02-$0B from Stack
$81/9603 86 0A       STX $0A
$81/9605 FA          PLX
$81/9606 86 08       STX $08
$81/9608 FA          PLX
$81/9609 86 06       STX $06
$81/960B FA          PLX
$81/960C 86 04       STX $04
$81/960E FA          PLX
$81/960F 86 02       STX $02
$81/9611 FA          PLX
$81/9612 60          RTS

$81/9613 ?

$81/9613 A6 D8       LDX $D8    [$00:00D8]   A:00FF X:45D9 Y:45D9 P:envMxdiZC
$81/9615 BD 5D 00    LDA $005D,x[$7E:4636]   A:00FF X:45D9 Y:45D9 P:envMxdizC
$81/9618 C9 FF       CMP #$FF                A:0032 X:45D9 Y:45D9 P:envMxdizC
$81/961A F0 04       BEQ $04    [$9620]      A:0032 X:45D9 Y:45D9 P:envMxdizc
$81/961C C9 FE       CMP #$FE                A:0032 X:45D9 Y:45D9 P:envMxdizc
$81/961E D0 03       BNE $03    [$9623]      A:0032 X:45D9 Y:45D9 P:envMxdizc
$81/9620 A6 D8       LDX $D8    [$00:00D8]   A:D133 X:45D9 Y:3919 P:envMxdizc
$81/9622 60          RTS                     A:D133 X:45D9 Y:3919 P:envMxdizc
$81/9623 BD 4F 00    LDA $004F,x[$7E:4628]   A:0032 X:45D9 Y:45D9 P:envMxdizc
$81/9626 C9 0A       CMP #$0A                A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/9628 F0 5B       BEQ $5B    [$9685]      A:0000 X:45D9 Y:45D9 P:eNvMxdizc
$81/962A BD 51 00    LDA $0051,x[$7E:462A]   A:0000 X:45D9 Y:45D9 P:eNvMxdizc
$81/962D D0 22       BNE $22    [$9651]      A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/962F A2 00 00    LDX #$0000              A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/9632 A9 0F       LDA #$0F                A:0000 X:0000 Y:45D9 P:envMxdiZc
$81/9634 22 31 93 80 JSL $809331[$80:9331]   A:000F X:0000 Y:45D9 P:envMxdizc
$81/9638 A6 D8       LDX $D8    [$00:00D8]   A:D110 X:CE5B Y:0000 P:envMxdizc
$81/963A BC 52 00    LDY $0052,x[$7E:462B]   A:D110 X:45D9 Y:0000 P:envMxdizc
$81/963D F0 0B       BEQ $0B    [$964A]      A:D110 X:45D9 Y:3919 P:envMxdizc
$81/963F B9 5D 00    LDA $005D,y[$7E:3976]   A:D110 X:45D9 Y:3919 P:envMxdizc
$81/9642 C9 FF       CMP #$FF                A:D133 X:45D9 Y:3919 P:envMxdizc
$81/9644 F0 04       BEQ $04    [$964A]      A:D133 X:45D9 Y:3919 P:envMxdizc
$81/9646 C9 FE       CMP #$FE                A:D133 X:45D9 Y:3919 P:envMxdizc
$81/9648 D0 D6       BNE $D6    [$9620]      A:D133 X:45D9 Y:3919 P:envMxdizc
$81/964A A6 D8       LDX $D8    [$00:00D8]   A:CC10 X:45D9 Y:0000 P:envMxdiZc
$81/964C 20 95 96    JSR $9695  [$81:9695]   A:CC10 X:45D9 Y:0000 P:envMxdizc
$81/964F 80 CF       BRA $CF    [$9620]      A:CC10 X:CCEB Y:0000 P:envMxdizc
$81/9651 C2 21       REP #$21                A:0001 X:3919 Y:3919 P:envMxdizc
$81/9653 BD 57 00    LDA $0057,x[$7E:3970]   A:0001 X:3919 Y:3919 P:envmxdizc
$81/9656 0A          ASL A                   A:0014 X:3919 Y:3919 P:envmxdizc
$81/9657 0A          ASL A                   A:0028 X:3919 Y:3919 P:envmxdizc
$81/9658 0A          ASL A                   A:0050 X:3919 Y:3919 P:envmxdizc
$81/9659 38          SEC                     A:00A0 X:3919 Y:3919 P:envmxdizc
$81/965A E9 1E 00    SBC #$001E              A:00A0 X:3919 Y:3919 P:envmxdizC
$81/965D 0A          ASL A                   A:0082 X:3919 Y:3919 P:envmxdizC
$81/965E 0A          ASL A                   A:0104 X:3919 Y:3919 P:envmxdizc
$81/965F AA          TAX                     A:0208 X:3919 Y:3919 P:envmxdizc
$81/9660 E2 20       SEP #$20                A:0208 X:0208 Y:3919 P:envmxdizc
$81/9662 A9 0F       LDA #$0F                A:0208 X:0208 Y:3919 P:envMxdizc
$81/9664 22 31 93 80 JSL $809331[$80:9331]   A:020F X:0208 Y:3919 P:envMxdizc
$81/9668 A6 D8       LDX $D8    [$00:00D8]   A:D110 X:D067 Y:0000 P:envMxdizc
$81/966A 20 95 96    JSR $9695  [$81:9695]   A:D110 X:3919 Y:0000 P:envMxdizc
$81/966D A6 D8       LDX $D8    [$00:00D8]   A:D1FF X:D2DF Y:0000 P:envMxdizC
$81/966F BC 52 00    LDY $0052,x[$7E:396B]   A:D1FF X:3919 Y:0000 P:envMxdizC
$81/9672 F0 AC       BEQ $AC    [$9620]      A:D1FF X:3919 Y:45D9 P:envMxdizC
$81/9674 B9 5D 00    LDA $005D,y[$7E:4636]   A:D1FF X:3919 Y:45D9 P:envMxdizC
$81/9677 C9 FF       CMP #$FF                A:D132 X:3919 Y:45D9 P:envMxdizC
$81/9679 F0 A5       BEQ $A5    [$9620]      A:D132 X:3919 Y:45D9 P:envMxdizc
$81/967B C9 FE       CMP #$FE                A:D132 X:3919 Y:45D9 P:envMxdizc
$81/967D F0 A1       BEQ $A1    [$9620]      A:D132 X:3919 Y:45D9 P:envMxdizc
$81/967F BB          TYX                     A:D132 X:3919 Y:45D9 P:envMxdizc
$81/9680 20 CD 96    JSR $96CD  [$81:96CD]   A:D132 X:45D9 Y:45D9 P:envMxdizc
$81/9683 80 9B       BRA $9B    [$9620]      A:0000 X:0001 Y:002D P:envMxdizC

$81/9695 ?

$81/9695 C2 21       REP #$21                A:D110 X:3919 Y:0000 P:envMxdizc
$81/9697 BD 57 00    LDA $0057,x[$7E:3970]   A:D110 X:3919 Y:0000 P:envmxdizc
$81/969A 7D 5B 00    ADC $005B,x[$7E:3974]   A:0014 X:3919 Y:0000 P:envmxdizc
$81/969D 0A          ASL A                   A:001A X:3919 Y:0000 P:envmxdizc
$81/969E 0A          ASL A                   A:0034 X:3919 Y:0000 P:envmxdizc
$81/969F 0A          ASL A                   A:0068 X:3919 Y:0000 P:envmxdizc
$81/96A0 0A          ASL A                   A:00D0 X:3919 Y:0000 P:envmxdizc
$81/96A1 0A          ASL A                   A:01A0 X:3919 Y:0000 P:envmxdizc
$81/96A2 AA          TAX                     A:0340 X:3919 Y:0000 P:envmxdizc
$81/96A3 E2 20       SEP #$20                A:0340 X:0340 Y:0000 P:envmxdizc
$81/96A5 A9 0F       LDA #$0F                A:0340 X:0340 Y:0000 P:envMxdizc
$81/96A7 22 31 93 80 JSL $809331[$80:9331]   A:030F X:0340 Y:0000 P:envMxdizc
$81/96AB 60          RTS                     A:D1FF X:D2DF Y:0000 P:envMxdizC

$81/96AC ?

$81/96AC A6 D8       LDX $D8    [$00:00D8]   A:00D0 X:3919 Y:0000 P:envMxdizC
$81/96AE C2 21       REP #$21                A:00D0 X:3919 Y:0000 P:envMxdizC
$81/96B0 BD 57 00    LDA $0057,x[$7E:3970]   A:00D0 X:3919 Y:0000 P:envmxdizc
$81/96B3 0A          ASL A                   A:0014 X:3919 Y:0000 P:envmxdizc
$81/96B4 0A          ASL A                   A:0028 X:3919 Y:0000 P:envmxdizc
$81/96B5 0A          ASL A                   A:0050 X:3919 Y:0000 P:envmxdizc
$81/96B6 38          SEC                     A:00A0 X:3919 Y:0000 P:envmxdizc
$81/96B7 E9 1E 00    SBC #$001E              A:00A0 X:3919 Y:0000 P:envmxdizC
$81/96BA E2 20       SEP #$20                A:0082 X:3919 Y:0000 P:envmxdizC
$81/96BC 85 23       STA $23    [$00:0023]   A:0082 X:3919 Y:0000 P:envMxdizC
$81/96BE A9 01       LDA #$01                A:0082 X:3919 Y:0000 P:envMxdizC
$81/96C0 85 0E       STA $0E    [$00:000E]   A:0001 X:3919 Y:0000 P:envMxdizC
$81/96C2 A0 80 2C    LDY #$2C80              A:0001 X:3919 Y:0000 P:envMxdizC
$81/96C5 BD 5D 00    LDA $005D,x[$7E:3976]   A:0001 X:3919 Y:2C80 P:envMxdizC
$81/96C8 22 C5 E9 81 JSL $81E9C5[$81:E9C5]   A:0033 X:3919 Y:2C80 P:envMxdizC
$81/96CC 60          RTS                     A:0001 X:0000 Y:2C80 P:envMxdizC

$81/96CD ?

$81/96CD A6 D8       LDX $D8    [$00:00D8]   A:D132 X:45D9 Y:45D9 P:envMxdizc
$81/96CF C2 21       REP #$21                A:D132 X:3919 Y:45D9 P:envMxdizc
$81/96D1 BD 57 00    LDA $0057,x[$7E:3970]   A:D132 X:3919 Y:45D9 P:envmxdizc
$81/96D4 7D 5B 00    ADC $005B,x[$7E:3974]   A:0014 X:3919 Y:45D9 P:envmxdizc
$81/96D7 0A          ASL A                   A:001A X:3919 Y:45D9 P:envmxdizc
$81/96D8 0A          ASL A                   A:0034 X:3919 Y:45D9 P:envmxdizc
$81/96D9 0A          ASL A                   A:0068 X:3919 Y:45D9 P:envmxdizc
$81/96DA E2 20       SEP #$20                A:00D0 X:3919 Y:45D9 P:envmxdizc
$81/96DC 85 23       STA $23    [$00:0023]   A:00D0 X:3919 Y:45D9 P:envMxdizc
$81/96DE A9 01       LDA #$01                A:00D0 X:3919 Y:45D9 P:envMxdizc
$81/96E0 22 7A EA 81 JSL $81EA7A[$81:EA7A]   A:0001 X:3919 Y:45D9 P:envMxdizc
$81/96E4 60          RTS                     A:0000 X:0001 Y:002D P:envMxdizC

$81/96E5 ?

$81/96E5 20 49 97    JSR $9749  [$81:9749]   A:5200 X:45D9 Y:0308 P:envMxdizc
$81/96E8 20 EC 96    JSR $96EC  [$81:96EC]   A:0200 X:45D9 Y:01D4 P:envMxdizc
$81/96EB 60          RTS                     A:001A X:45D9 Y:0308 P:envMxdizc

$81/96EC ? Transfer BG1 Tilemap Buffer Data into another address

$81/96EC D4 02       PEI ($02)     ; Buffer $02-$05 on Stack
$81/96EE D4 04       PEI ($04)
$81/96F0 A6 D8       LDX $D8    [$00:00D8]   A:0200 X:45D9 Y:01D4 P:envMxdizc
$81/96F2 C2 20       REP #$20      ; A = 16-bit
$81/96F4 BD 49 00    LDA $0049,x[$7E:4622]   A:0200 X:45D9 Y:01D4 P:envmxdizc
$81/96F7 85 23       STA $23    [$00:0023]   A:4819 X:45D9 Y:01D4 P:envmxdizc
$81/96F9 BD 57 00    LDA $0057,x[$7E:4630]   A:4819 X:45D9 Y:01D4 P:envmxdizc
$81/96FC 3A          DEC A                   A:0003 X:45D9 Y:01D4 P:envmxdizc
$81/96FD EB          XBA                     A:0002 X:45D9 Y:01D4 P:envmxdizc
$81/96FE 4A          LSR A                   A:0200 X:45D9 Y:01D4 P:envmxdiZc
$81/96FF 4A          LSR A                   A:0100 X:45D9 Y:01D4 P:envmxdizc
$81/9700 7D 55 00    ADC $0055,x[$7E:462E]   A:0080 X:45D9 Y:01D4 P:envmxdizc
$81/9703 7D 55 00    ADC $0055,x[$7E:462E]   A:0083 X:45D9 Y:01D4 P:envmxdizc
$81/9706 3A          DEC A                   A:0086 X:45D9 Y:01D4 P:envmxdizc
$81/9707 3A          DEC A                   A:0085 X:45D9 Y:01D4 P:envmxdizc
$81/9708 A8          TAY           ; Buffer Load Index in Y
$81/9709 85 04       STA $04       ; Buffer Load Index Offset in $04
$81/970B BD 59 00    LDA $0059,x[$7E:4632]   A:0084 X:45D9 Y:0084 P:envmxdizc
$81/970E 1A          INC A                   A:0018 X:45D9 Y:0084 P:envmxdizc
$81/970F 1A          INC A                   A:0019 X:45D9 Y:0084 P:envmxdizc
$81/9710 48          PHA                     A:001A X:45D9 Y:0084 P:envmxdizc
$81/9711 BD 5B 00    LDA $005B,x[$7E:4634]   A:001A X:45D9 Y:0084 P:envmxdizc
$81/9714 1A          INC A                   A:0006 X:45D9 Y:0084 P:envmxdizc
$81/9715 1A          INC A                   A:0007 X:45D9 Y:0084 P:envmxdizc
$81/9716 85 00       STA $00    [$00:0000]   A:0008 X:45D9 Y:0084 P:envmxdizc
$81/9718 BB          TYX           ; Transfer Load Index from Y to X
$81/9719 A3 01       LDA $01,s     ; Load value from Stack, without removing it from there
$81/971B 85 02       STA $02       ; Set it up as Inner Loop Counter
$81/971D BF 00 E0 7F LDA $7FE000,x ; Load value from VRAM Buffer of Battle BG1 Tilemap
$81/9721 92 23       STA ($23)     ; Store on Bank $7E
$81/9723 E8          INX           ; Increment Load Index twice
$81/9724 E8          INX
$81/9725 E6 23       INC $23       ; Increment Store Address twice
$81/9727 E6 23       INC $23
$81/9729 C6 02       DEC $02       ; Decrement Inner Loop Counter
$81/972B D0 F0       BNE $F0       ; [$971D] Loop until Inner Counter runs out
$81/972D A5 04       LDA $04       ; Add #$40 to Load Index offset
$81/972F 18          CLC
$81/9730 69 40 00    ADC #$0040
$81/9733 29 FF 07    AND #$07FF              A:00C4 X:00B8 Y:0084 P:envmxdizc
$81/9736 85 04       STA $04    [$00:0004]   A:00C4 X:00B8 Y:0084 P:envmxdizc
$81/9738 AA          TAX           ; Transfer in X as Load Index
$81/9739 C6 00       DEC $00       ; Decrement Outer Loop Counter
$81/973B D0 DC       BNE $DC       ; [$9719] Loop until Outer Counter runs out
$81/973D 68          PLA                     A:0284 X:0284 Y:0084 P:envmxdiZc
$81/973E E2 20       SEP #$20                A:001A X:0284 Y:0084 P:envmxdizc
$81/9740 7A          PLY           ; Restore $02-$05 from Stack
$81/9741 84 04       STY $04
$81/9743 7A          PLY
$81/9744 84 02       STY $02
$81/9746 A6 D8       LDX $D8    [$00:00D8]   A:001A X:0284 Y:0308 P:envMxdizc
$81/9748 60          RTS                     A:001A X:45D9 Y:0308 P:envMxdizc

$81/9749 ?

$81/9749 DA          PHX                     A:5200 X:45D9 Y:0308 P:envMxdizc
$81/974A A6 D8       LDX $D8    [$00:00D8]   A:5200 X:45D9 Y:0308 P:envMxdizc
$81/974C 7B          TDC                     A:5200 X:45D9 Y:0308 P:envMxdizc
$81/974D BD 5F 00    LDA $005F,x[$7E:4638]   A:0000 X:45D9 Y:0308 P:envMxdiZc
$81/9750 F0 02       BEQ $02    [$9754]      A:008E X:45D9 Y:0308 P:eNvMxdizc
$81/9752 10 06       BPL $06    [$975A]      A:008E X:45D9 Y:0308 P:eNvMxdizc
$81/9754 BD 57 00    LDA $0057,x[$7E:4630]   A:008E X:45D9 Y:0308 P:eNvMxdizc
$81/9757 3A          DEC A                   A:0003 X:45D9 Y:0308 P:envMxdizc
$81/9758 80 05       BRA $05    [$975F]      A:0002 X:45D9 Y:0308 P:envMxdizc
$81/975A BD 57 00    LDA $0057,x[$7E:3970]   A:0012 X:3919 Y:1406 P:envMxdizc
$81/975D 3A          DEC A                   A:0014 X:3919 Y:1406 P:envMxdizc
$81/975E 3A          DEC A                   A:0013 X:3919 Y:1406 P:envMxdizc
$81/975F C2 20       REP #$20                A:0002 X:45D9 Y:0308 P:envMxdizc
$81/9761 EB          XBA                     A:0002 X:45D9 Y:0308 P:envmxdizc
$81/9762 4A          LSR A                   A:0200 X:45D9 Y:0308 P:envmxdiZc
$81/9763 4A          LSR A                   A:0100 X:45D9 Y:0308 P:envmxdizc
$81/9764 7D 55 00    ADC $0055,x[$7E:462E]   A:0080 X:45D9 Y:0308 P:envmxdizc
$81/9767 7D 55 00    ADC $0055,x[$7E:462E]   A:0083 X:45D9 Y:0308 P:envmxdizc
$81/976A 3A          DEC A                   A:0086 X:45D9 Y:0308 P:envmxdizc
$81/976B 3A          DEC A                   A:0085 X:45D9 Y:0308 P:envmxdizc
$81/976C A8          TAY                     A:0084 X:45D9 Y:0308 P:envmxdizc
$81/976D BD 4B 00    LDA $004B,x[$7E:4624]   A:0084 X:45D9 Y:0084 P:envmxdizc
$81/9770 85 20       STA $20    [$00:0020]   A:4A59 X:45D9 Y:0084 P:envmxdizc
$81/9772 E2 20       SEP #$20                A:4A59 X:45D9 Y:0084 P:envmxdizc
$81/9774 BD 5B 00    LDA $005B,x[$7E:4634]   A:4A59 X:45D9 Y:0084 P:envMxdizc
$81/9777 1A          INC A                   A:4A06 X:45D9 Y:0084 P:envMxdizc
$81/9778 1A          INC A                   A:4A07 X:45D9 Y:0084 P:envMxdizc
$81/9779 85 01       STA $01    [$00:0001]   A:4A08 X:45D9 Y:0084 P:envMxdizc
$81/977B BD 59 00    LDA $0059,x[$7E:4632]   A:4A08 X:45D9 Y:0084 P:envMxdizc
$81/977E 1A          INC A                   A:4A18 X:45D9 Y:0084 P:envMxdizc
$81/977F 1A          INC A                   A:4A19 X:45D9 Y:0084 P:envMxdizc
$81/9780 85 00       STA $00    [$00:0000]   A:4A1A X:45D9 Y:0084 P:envMxdizc
$81/9782 7B          TDC                     A:4A1A X:45D9 Y:0084 P:envMxdizc
$81/9783 BD 5F 00    LDA $005F,x[$7E:4638]   A:0000 X:45D9 Y:0084 P:envMxdiZc
$81/9786 F0 02       BEQ $02    [$978A]      A:008E X:45D9 Y:0084 P:eNvMxdizc
$81/9788 E6 01       INC $01    [$00:0001]   A:008E X:45D9 Y:0084 P:eNvMxdizc
$81/978A BB          TYX                     A:008E X:45D9 Y:0084 P:envMxdizc
$81/978B A0 00 00    LDY #$0000              A:008E X:0084 Y:0084 P:envMxdizc
$81/978E A5 01       LDA $01    [$00:0001]   A:008E X:0084 Y:0000 P:envMxdiZc
$81/9790 48          PHA                     A:0009 X:0084 Y:0000 P:envMxdizc
$81/9791 DA          PHX                     A:0009 X:0084 Y:0000 P:envMxdizc
$81/9792 A5 00       LDA $00    [$00:0000]   A:0009 X:0084 Y:0000 P:envMxdizc
$81/9794 48          PHA                     A:001A X:0084 Y:0000 P:envMxdizc
$81/9795 C2 20       REP #$20                A:001A X:0084 Y:0000 P:envMxdizc
$81/9797 BF 00 A8 7E LDA $7EA800,x[$7E:A884] A:001A X:0084 Y:0000 P:envmxdizc
$81/979B 91 20       STA ($20),y[$7E:4A59]   A:03EE X:0084 Y:0000 P:envmxdizc
$81/979D E2 20       SEP #$20                A:03EE X:0084 Y:0000 P:envmxdizc
$81/979F C8          INY                     A:03EE X:0084 Y:0000 P:envMxdizc
$81/97A0 C8          INY                     A:03EE X:0084 Y:0001 P:envMxdizc
$81/97A1 E8          INX                     A:03EE X:0084 Y:0002 P:envMxdizc
$81/97A2 E8          INX                     A:03EE X:0085 Y:0002 P:envMxdizc
$81/97A3 68          PLA                     A:03EE X:0086 Y:0002 P:envMxdizc
$81/97A4 3A          DEC A                   A:031A X:0086 Y:0002 P:envMxdizc
$81/97A5 D0 ED       BNE $ED    [$9794]      A:0319 X:0086 Y:0002 P:envMxdizc
$81/97A7 C2 21       REP #$21                A:0300 X:00B8 Y:0034 P:envMxdiZc
$81/97A9 68          PLA                     A:0300 X:00B8 Y:0034 P:envmxdiZc
$81/97AA 69 40 00    ADC #$0040              A:0084 X:00B8 Y:0034 P:envmxdizc
$81/97AD 29 FF 07    AND #$07FF              A:00C4 X:00B8 Y:0034 P:envmxdizc
$81/97B0 AA          TAX                     A:00C4 X:00B8 Y:0034 P:envmxdizc
$81/97B1 E2 20       SEP #$20                A:00C4 X:00C4 Y:0034 P:envmxdizc
$81/97B3 68          PLA                     A:00C4 X:00C4 Y:0034 P:envMxdizc
$81/97B4 3A          DEC A                   A:0009 X:00C4 Y:0034 P:envMxdizc
$81/97B5 D0 D9       BNE $D9    [$9790]      A:0008 X:00C4 Y:0034 P:envMxdizc
$81/97B7 FA          PLX                     A:0200 X:02C4 Y:01D4 P:envMxdiZc
$81/97B8 60          RTS                     A:0200 X:45D9 Y:01D4 P:envMxdizc

$81/97B9 ?

$81/97B9 DA          PHX                     A:0001 X:45D9 Y:B12C P:enVMxdizC
$81/97BA A6 D8       LDX $D8    [$00:00D8]   A:0001 X:45D9 Y:B12C P:enVMxdizC
$81/97BC 7B          TDC                     A:0001 X:45D9 Y:B12C P:enVMxdizC
$81/97BD BD 5F 00    LDA $005F,x[$7E:4638]   A:0000 X:45D9 Y:B12C P:enVMxdiZC
$81/97C0 F0 02       BEQ $02    [$97C4]      A:008E X:45D9 Y:B12C P:eNVMxdizC
$81/97C2 10 06       BPL $06    [$97CA]      A:008E X:45D9 Y:B12C P:eNVMxdizC
$81/97C4 BD 57 00    LDA $0057,x[$7E:4630]   A:008E X:45D9 Y:B12C P:eNVMxdizC
$81/97C7 3A          DEC A                   A:0003 X:45D9 Y:B12C P:enVMxdizC
$81/97C8 80 05       BRA $05    [$97CF]      A:0002 X:45D9 Y:B12C P:enVMxdizC
$81/97CA BD 57 00    LDA $0057,x[$7E:3970]   A:0012 X:3919 Y:B12C P:enVMxdizC
$81/97CD 3A          DEC A                   A:0014 X:3919 Y:B12C P:enVMxdizC
$81/97CE 3A          DEC A                   A:0013 X:3919 Y:B12C P:enVMxdizC
$81/97CF C2 20       REP #$20                A:0002 X:45D9 Y:B12C P:enVMxdizC
$81/97D1 EB          XBA                     A:0002 X:45D9 Y:B12C P:enVmxdizC
$81/97D2 4A          LSR A                   A:0200 X:45D9 Y:B12C P:enVmxdiZC
$81/97D3 4A          LSR A                   A:0100 X:45D9 Y:B12C P:enVmxdizc
$81/97D4 7D 55 00    ADC $0055,x[$7E:462E]   A:0080 X:45D9 Y:B12C P:enVmxdizc
$81/97D7 7D 55 00    ADC $0055,x[$7E:462E]   A:0083 X:45D9 Y:B12C P:envmxdizc
$81/97DA 3A          DEC A                   A:0086 X:45D9 Y:B12C P:envmxdizc
$81/97DB 3A          DEC A                   A:0085 X:45D9 Y:B12C P:envmxdizc
$81/97DC A8          TAY                     A:0084 X:45D9 Y:B12C P:envmxdizc
$81/97DD BD 4B 00    LDA $004B,x[$7E:4624]   A:0084 X:45D9 Y:0084 P:envmxdizc
$81/97E0 85 20       STA $20    [$00:0020]   A:4A59 X:45D9 Y:0084 P:envmxdizc
$81/97E2 E2 20       SEP #$20                A:4A59 X:45D9 Y:0084 P:envmxdizc
$81/97E4 BD 5B 00    LDA $005B,x[$7E:4634]   A:4A59 X:45D9 Y:0084 P:envMxdizc
$81/97E7 1A          INC A                   A:4A06 X:45D9 Y:0084 P:envMxdizc
$81/97E8 1A          INC A                   A:4A07 X:45D9 Y:0084 P:envMxdizc
$81/97E9 85 01       STA $01    [$00:0001]   A:4A08 X:45D9 Y:0084 P:envMxdizc
$81/97EB BD 59 00    LDA $0059,x[$7E:4632]   A:4A08 X:45D9 Y:0084 P:envMxdizc
$81/97EE 1A          INC A                   A:4A18 X:45D9 Y:0084 P:envMxdizc
$81/97EF 1A          INC A                   A:4A19 X:45D9 Y:0084 P:envMxdizc
$81/97F0 85 00       STA $00    [$00:0000]   A:4A1A X:45D9 Y:0084 P:envMxdizc
$81/97F2 BD 5F 00    LDA $005F,x[$7E:4638]   A:4A1A X:45D9 Y:0084 P:envMxdizc
$81/97F5 F0 02       BEQ $02    [$97F9]      A:4A8E X:45D9 Y:0084 P:eNvMxdizc
$81/97F7 E6 01       INC $01    [$00:0001]   A:4A8E X:45D9 Y:0084 P:eNvMxdizc
$81/97F9 BB          TYX                     A:4A8E X:45D9 Y:0084 P:envMxdizc
$81/97FA A0 00 00    LDY #$0000              A:4A8E X:0084 Y:0084 P:envMxdizc
$81/97FD A5 01       LDA $01    [$00:0001]   A:4A8E X:0084 Y:0000 P:envMxdiZc
$81/97FF 48          PHA                     A:4A09 X:0084 Y:0000 P:envMxdizc
$81/9800 DA          PHX                     A:4A09 X:0084 Y:0000 P:envMxdizc
$81/9801 A5 00       LDA $00    [$00:0000]   A:4A09 X:0084 Y:0000 P:envMxdizc
$81/9803 48          PHA                     A:4A1A X:0084 Y:0000 P:envMxdizc
$81/9804 C2 20       REP #$20                A:4A1A X:0084 Y:0000 P:envMxdizc
$81/9806 B1 20       LDA ($20),y[$7E:4A59]   A:4A1A X:0084 Y:0000 P:envmxdizc
$81/9808 9F 00 A8 7E STA $7EA800,x[$7E:A884] A:03EE X:0084 Y:0000 P:envmxdizc
$81/980C E2 20       SEP #$20                A:03EE X:0084 Y:0000 P:envmxdizc
$81/980E E8          INX                     A:03EE X:0084 Y:0000 P:envMxdizc
$81/980F E8          INX                     A:03EE X:0085 Y:0000 P:envMxdizc
$81/9810 C8          INY                     A:03EE X:0086 Y:0000 P:envMxdizc
$81/9811 C8          INY                     A:03EE X:0086 Y:0001 P:envMxdizc
$81/9812 68          PLA                     A:03EE X:0086 Y:0002 P:envMxdizc
$81/9813 3A          DEC A                   A:031A X:0086 Y:0002 P:envMxdizc
$81/9814 D0 ED       BNE $ED    [$9803]      A:0319 X:0086 Y:0002 P:envMxdizc
$81/9816 C2 21       REP #$21                A:0300 X:00B8 Y:0034 P:envMxdiZc
$81/9818 68          PLA                     A:0300 X:00B8 Y:0034 P:envmxdiZc
$81/9819 69 40 00    ADC #$0040              A:0084 X:00B8 Y:0034 P:envmxdizc
$81/981C 29 FF 07    AND #$07FF              A:00C4 X:00B8 Y:0034 P:envmxdizc
$81/981F AA          TAX                     A:00C4 X:00B8 Y:0034 P:envmxdizc
$81/9820 E2 20       SEP #$20                A:00C4 X:00C4 Y:0034 P:envmxdizc
$81/9822 68          PLA                     A:00C4 X:00C4 Y:0034 P:envMxdizc
$81/9823 3A          DEC A                   A:0009 X:00C4 Y:0034 P:envMxdizc
$81/9824 D0 D9       BNE $D9    [$97FF]      A:0008 X:00C4 Y:0034 P:envMxdizc
$81/9826 FA          PLX                     A:0200 X:02C4 Y:01D4 P:envMxdiZc
$81/9827 60          RTS                     A:0200 X:45D9 Y:01D4 P:envMxdizc

$81/9828 ?

$81/9828 DA          PHX                     A:0000 X:45D9 Y:45D9 P:envMxdiZC
$81/9829 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:45D9 Y:45D9 P:envMxdiZC
$81/982B C2 20       REP #$20                A:0000 X:45D9 Y:45D9 P:envMxdizC
$81/982D BD 57 00    LDA $0057,x[$7E:4630]   A:0000 X:45D9 Y:45D9 P:envmxdizC
$81/9830 3A          DEC A                   A:0003 X:45D9 Y:45D9 P:envmxdizC
$81/9831 EB          XBA                     A:0002 X:45D9 Y:45D9 P:envmxdizC
$81/9832 4A          LSR A                   A:0200 X:45D9 Y:45D9 P:envmxdiZC
$81/9833 4A          LSR A                   A:0100 X:45D9 Y:45D9 P:envmxdizc
$81/9834 7D 55 00    ADC $0055,x[$7E:462E]   A:0080 X:45D9 Y:45D9 P:envmxdizc
$81/9837 7D 55 00    ADC $0055,x[$7E:462E]   A:0083 X:45D9 Y:45D9 P:envmxdizc
$81/983A 3A          DEC A                   A:0086 X:45D9 Y:45D9 P:envmxdizc
$81/983B 3A          DEC A                   A:0085 X:45D9 Y:45D9 P:envmxdizc
$81/983C AA          TAX                     A:0084 X:45D9 Y:45D9 P:envmxdizc
$81/983D A4 D8       LDY $D8    [$00:00D8]   A:0084 X:0084 Y:45D9 P:envmxdizc
$81/983F B9 59 00    LDA $0059,y[$7E:4632]   A:0084 X:0084 Y:45D9 P:envmxdizc
$81/9842 1A          INC A                   A:0018 X:0084 Y:45D9 P:envmxdizc
$81/9843 1A          INC A                   A:0019 X:0084 Y:45D9 P:envmxdizc
$81/9844 85 04       STA $04    [$00:0004]   A:001A X:0084 Y:45D9 P:envmxdizc
$81/9846 B9 5B 00    LDA $005B,y[$7E:4634]   A:001A X:0084 Y:45D9 P:envmxdizc
$81/9849 1A          INC A                   A:0006 X:0084 Y:45D9 P:envmxdizc
$81/984A 1A          INC A                   A:0007 X:0084 Y:45D9 P:envmxdizc
$81/984B 85 00       STA $00    [$00:0000]   A:0008 X:0084 Y:45D9 P:envmxdizc
$81/984D 85 02       STA $02    [$00:0002]   A:0008 X:0084 Y:45D9 P:envmxdizc
$81/984F B9 49 00    LDA $0049,y[$7E:4622]   A:0008 X:0084 Y:45D9 P:envmxdizc
$81/9852 85 20       STA $20    [$00:0020]   A:4819 X:0084 Y:45D9 P:envmxdizc
$81/9854 A0 00 00    LDY #$0000              A:4819 X:0084 Y:45D9 P:envmxdizc
$81/9857 A5 04       LDA $04    [$00:0004]   A:4819 X:0084 Y:0000 P:envmxdiZc
$81/9859 85 06       STA $06    [$00:0006]   A:001A X:0084 Y:0000 P:envmxdizc
$81/985B DA          PHX                     A:001A X:0084 Y:0000 P:envmxdizc
$81/985C B1 20       LDA ($20),y[$7E:4819]   A:001A X:0084 Y:0000 P:envmxdizc
$81/985E 9F 00 E0 7F STA $7FE000,x[$7F:E084] A:0280 X:0084 Y:0000 P:envmxdizc
$81/9862 C8          INY                     A:0280 X:0084 Y:0000 P:envmxdizc
$81/9863 C8          INY                     A:0280 X:0084 Y:0001 P:envmxdizc
$81/9864 E8          INX                     A:0280 X:0084 Y:0002 P:envmxdizc
$81/9865 E8          INX                     A:0280 X:0085 Y:0002 P:envmxdizc
$81/9866 C6 06       DEC $06    [$00:0006]   A:0280 X:0086 Y:0002 P:envmxdizc
$81/9868 D0 F2       BNE $F2    [$985C]      A:0280 X:0086 Y:0002 P:envmxdizc
$81/986A 68          PLA                     A:30A9 X:00B8 Y:0034 P:envmxdiZc
$81/986B 18          CLC                     A:0084 X:00B8 Y:0034 P:envmxdizc
$81/986C 69 40 00    ADC #$0040              A:0084 X:00B8 Y:0034 P:envmxdizc
$81/986F 29 FF 07    AND #$07FF              A:00C4 X:00B8 Y:0034 P:envmxdizc
$81/9872 AA          TAX                     A:00C4 X:00B8 Y:0034 P:envmxdizc
$81/9873 C6 02       DEC $02    [$00:0002]   A:00C4 X:00C4 Y:0034 P:envmxdizc
$81/9875 D0 E0       BNE $E0    [$9857]      A:00C4 X:00C4 Y:0034 P:envmxdizc
$81/9877 E2 20       SEP #$20                A:0284 X:0284 Y:01A0 P:envmxdiZc
$81/9879 FA          PLX                     A:0284 X:0284 Y:01A0 P:envMxdiZc
$81/987A 60          RTS                     A:0284 X:45D9 Y:01A0 P:envMxdizc

$81/9895 ?

$81/9895 D4 02       PEI ($02)     ; Buffer $02-$07 on Stack
$81/9897 D4 04       PEI ($04)
$81/9899 D4 06       PEI ($06)
$81/989B D4 23       PEI ($23)     ; Buffer $23-$26 on Stack
$81/989D D4 25       PEI ($25)
$81/989F A6 D8       LDX $D8    [$00:00D8]   A:00FF X:45D9 Y:001E P:envMxdiZC
$81/98A1 A0 00 2C    LDY #$2C00              A:00FF X:45D9 Y:001E P:envMxdizC
$81/98A4 BD 39 02    LDA $0239,x[$7E:4812]   A:00FF X:45D9 Y:2C00 P:envMxdizC
$81/98A7 F0 03       BEQ $03    [$98AC]      A:0000 X:45D9 Y:2C00 P:envMxdiZC
code is missing here
$81/98AC 84 04       STY $04    [$00:0004]   A:0000 X:45D9 Y:2C00 P:envMxdiZC
$81/98AE C2 20       REP #$20                A:0000 X:45D9 Y:2C00 P:envMxdiZC
$81/98B0 BD 57 00    LDA $0057,x[$7E:4630]   A:0000 X:45D9 Y:2C00 P:envmxdiZC
$81/98B3 3A          DEC A                   A:0003 X:45D9 Y:2C00 P:envmxdizC
$81/98B4 EB          XBA                     A:0002 X:45D9 Y:2C00 P:envmxdizC
$81/98B5 4A          LSR A                   A:0200 X:45D9 Y:2C00 P:envmxdiZC
$81/98B6 4A          LSR A                   A:0100 X:45D9 Y:2C00 P:envmxdizc
$81/98B7 7D 55 00    ADC $0055,x[$7E:462E]   A:0080 X:45D9 Y:2C00 P:envmxdizc
$81/98BA 7D 55 00    ADC $0055,x[$7E:462E]   A:0083 X:45D9 Y:2C00 P:envmxdizc
$81/98BD 3A          DEC A                   A:0086 X:45D9 Y:2C00 P:envmxdizc
$81/98BE 3A          DEC A                   A:0085 X:45D9 Y:2C00 P:envmxdizc
$81/98BF A8          TAY                     A:0084 X:45D9 Y:2C00 P:envmxdizc
$81/98C0 BD 59 00    LDA $0059,x[$7E:4632]   A:0084 X:45D9 Y:0084 P:envmxdizc
$81/98C3 85 0E       STA $0E    [$00:000E]   A:0018 X:45D9 Y:0084 P:envmxdizc
$81/98C5 BD 6A 00    LDA $006A,x[$7E:4643]   A:0018 X:45D9 Y:0084 P:envmxdizc
$81/98C8 05 04       ORA $04    [$00:0004]   A:03C0 X:45D9 Y:0084 P:envmxdizc
$81/98CA 85 23       STA $23    [$00:0023]   A:2FC0 X:45D9 Y:0084 P:envmxdizc
$81/98CC E2 20       SEP #$20                A:2FC0 X:45D9 Y:0084 P:envmxdizc
$81/98CE A2 00 A8    LDX #$A800              A:2FC0 X:45D9 Y:0084 P:envMxdizc
$81/98D1 86 26       STX $26    [$00:0026]   A:2FC0 X:A800 Y:0084 P:eNvMxdizc
$81/98D3 A9 7E       LDA #$7E                A:2FC0 X:A800 Y:0084 P:eNvMxdizc
$81/98D5 85 28       STA $28    [$00:0028]   A:2F7E X:A800 Y:0084 P:envMxdizc
$81/98D7 A6 D8       LDX $D8    [$00:00D8]   A:2F7E X:A800 Y:0084 P:envMxdizc
$81/98D9 7B          TDC                     A:2F7E X:45D9 Y:0084 P:envMxdizc
$81/98DA BD 4F 00    LDA $004F,x[$7E:4628]   A:0000 X:45D9 Y:0084 P:envMxdiZc
$81/98DD 0A          ASL A                   A:0000 X:45D9 Y:0084 P:envMxdiZc
$81/98DE AA          TAX                     A:0000 X:45D9 Y:0084 P:envMxdiZc
$81/98DF 7C E2 98    JMP ($98E2,x)[$81:992D] A:0000 X:0000 Y:0084 P:envMxdiZc

$81/98E2 ? Address list for the subroutine above

$81/98E2 2D 99
$81/98E4 FA 98
$81/98E6 FF 98
$81/98E8 04 99
$81/98EA 2D 99
$81/98EC 2D 99
$81/98EE 2D 99
$81/98F0 2D 99
$81/98F2 2D 99
$81/98F4 2D 99
$81/98F6 2D 99
$81/98F8 2D 99

$81/992D ?

$81/992D C2 21       REP #$21                A:0000 X:0000 Y:0084 P:envMxdiZc
$81/992F A5 23       LDA $23    [$00:0023]   A:0000 X:0000 Y:0084 P:envmxdiZc
$81/9931 97 26       STA [$26],y[$7E:A884]   A:2FC0 X:0000 Y:0084 P:envmxdizc
$81/9933 C8          INY                     A:2FC0 X:0000 Y:0084 P:envmxdizc
$81/9934 C8          INY                     A:2FC0 X:0000 Y:0085 P:envmxdizc
$81/9935 1A          INC A                   A:2FC0 X:0000 Y:0086 P:envmxdizc
$81/9936 97 26       STA [$26],y[$7E:A886]   A:2FC1 X:0000 Y:0086 P:envmxdizc
$81/9938 C8          INY                     A:2FC1 X:0000 Y:0086 P:envmxdizc
$81/9939 C8          INY                     A:2FC1 X:0000 Y:0087 P:envmxdizc
$81/993A C6 0E       DEC $0E    [$00:000E]   A:2FC1 X:0000 Y:0088 P:envmxdizc
$81/993C D0 F8       BNE $F8    [$9936]      A:2FC1 X:0000 Y:0088 P:envmxdizc
$81/993E 1A          INC A                   A:2FC1 X:0000 Y:00B6 P:envmxdiZc
$81/993F 97 26       STA [$26],y[$7E:A8B6]   A:2FC2 X:0000 Y:00B6 P:envmxdizc
$81/9941 A6 D8       LDX $D8    [$00:00D8]   A:2FC2 X:0000 Y:00B6 P:envmxdizc
$81/9943 85 23       STA $23    [$00:0023]   A:2FC2 X:45D9 Y:00B6 P:envmxdizc
$81/9945 BD 57 00    LDA $0057,x[$7E:4630]   A:2FC2 X:45D9 Y:00B6 P:envmxdizc
$81/9948 18          CLC                     A:0003 X:45D9 Y:00B6 P:envmxdizc
$81/9949 7D 5B 00    ADC $005B,x[$7E:4634]   A:0003 X:45D9 Y:00B6 P:envmxdizc
$81/994C EB          XBA                     A:0009 X:45D9 Y:00B6 P:envmxdizc
$81/994D 4A          LSR A                   A:0900 X:45D9 Y:00B6 P:envmxdiZc
$81/994E 4A          LSR A                   A:0480 X:45D9 Y:00B6 P:envmxdizc
$81/994F 7D 55 00    ADC $0055,x[$7E:462E]   A:0240 X:45D9 Y:00B6 P:envmxdizc
$81/9952 7D 55 00    ADC $0055,x[$7E:462E]   A:0243 X:45D9 Y:00B6 P:envmxdizc
$81/9955 3A          DEC A                   A:0246 X:45D9 Y:00B6 P:envmxdizc
$81/9956 3A          DEC A                   A:0245 X:45D9 Y:00B6 P:envmxdizc
$81/9957 A8          TAY                     A:0244 X:45D9 Y:00B6 P:envmxdizc
$81/9958 BD 59 00    LDA $0059,x[$7E:4632]   A:0244 X:45D9 Y:0244 P:envmxdizc
$81/995B 85 0E       STA $0E    [$00:000E]   A:0018 X:45D9 Y:0244 P:envmxdizc
$81/995D A5 23       LDA $23    [$00:0023]   A:0018 X:45D9 Y:0244 P:envmxdizc
$81/995F 1A          INC A                   A:2FC2 X:45D9 Y:0244 P:envmxdizc
$81/9960 97 26       STA [$26],y[$7E:AA44]   A:2FC3 X:45D9 Y:0244 P:envmxdizc
$81/9962 C8          INY                     A:2FC3 X:45D9 Y:0244 P:envmxdizc
$81/9963 C8          INY                     A:2FC3 X:45D9 Y:0245 P:envmxdizc
$81/9964 1A          INC A                   A:2FC3 X:45D9 Y:0246 P:envmxdizc
$81/9965 97 26       STA [$26],y[$7E:AA46]   A:2FC4 X:45D9 Y:0246 P:envmxdizc
$81/9967 C8          INY                     A:2FC4 X:45D9 Y:0246 P:envmxdizc
$81/9968 C8          INY                     A:2FC4 X:45D9 Y:0247 P:envmxdizc
$81/9969 C6 0E       DEC $0E    [$00:000E]   A:2FC4 X:45D9 Y:0248 P:envmxdizc
$81/996B D0 F8       BNE $F8    [$9965]      A:2FC4 X:45D9 Y:0248 P:envmxdizc
$81/996D 1A          INC A                   A:2FC4 X:45D9 Y:0276 P:envmxdiZc
$81/996E 97 26       STA [$26],y[$7E:AA76]   A:2FC5 X:45D9 Y:0276 P:envmxdizc
$81/9970 64 23       STZ $23    [$00:0023]   A:2FC5 X:45D9 Y:0276 P:envmxdizc
$81/9972 E2 20       SEP #$20                A:2FC5 X:45D9 Y:0276 P:envmxdizc
$81/9974 64 21       STZ $21    [$00:0021]   A:2FC5 X:45D9 Y:0276 P:envMxdizc
$81/9976 BD 5F 00    LDA $005F,x[$7E:4638]   A:2FC5 X:45D9 Y:0276 P:envMxdizc
$81/9979 D0 03       BNE $03    [$997E]      A:2F8E X:45D9 Y:0276 P:eNvMxdizc
code is missing here
$81/997E 89 40       BIT #$40                A:2F8E X:45D9 Y:0276 P:eNvMxdizc
$81/9980 F0 04       BEQ $04    [$9986]      A:2F8E X:45D9 Y:0276 P:eNvMxdiZc
$81/9986 BD 5F 00    LDA $005F,x[$7E:4638]   A:2F8E X:45D9 Y:0276 P:eNvMxdiZc
$81/9989 29 1F       AND #$1F                A:2F8E X:45D9 Y:0276 P:eNvMxdizc
$81/998B 0A          ASL A                   A:2F0E X:45D9 Y:0276 P:envMxdizc
$81/998C 85 20       STA $20    [$00:0020]   A:2F1C X:45D9 Y:0276 P:envMxdizc
$81/998E BD 5F 00    LDA $005F,x[$7E:4638]   A:2F1C X:45D9 Y:0276 P:envMxdizc
$81/9991 C2 21       REP #$21                A:2F8E X:45D9 Y:0276 P:eNvMxdizc
$81/9993 30 24       BMI $24    [$99B9]      A:2F8E X:45D9 Y:0276 P:eNvmxdizc
$81/9995 BD 57 00    LDA $0057,x[$7E:3970]   A:2F12 X:3919 Y:06BA P:envmxdizc
$81/9998 3A          DEC A                   A:0014 X:3919 Y:06BA P:envmxdizc
$81/9999 3A          DEC A                   A:0013 X:3919 Y:06BA P:envmxdizc
$81/999A EB          XBA                     A:0012 X:3919 Y:06BA P:envmxdizc
$81/999B 4A          LSR A                   A:1200 X:3919 Y:06BA P:envmxdiZc
$81/999C 4A          LSR A                   A:0900 X:3919 Y:06BA P:envmxdizc
$81/999D 65 20       ADC $20    [$00:0020]   A:0480 X:3919 Y:06BA P:envmxdizc
$81/999F A8          TAY                     A:04A4 X:3919 Y:06BA P:envmxdizc
$81/99A0 A9 CC 03    LDA #$03CC              A:04A4 X:3919 Y:04A4 P:envmxdizc
$81/99A3 05 04       ORA $04    [$00:0004]   A:03CC X:3919 Y:04A4 P:envmxdizc
$81/99A5 97 26       STA [$26],y[$7E:ACA4]   A:2FCC X:3919 Y:04A4 P:envmxdizc
$81/99A7 98          TYA                     A:2FCC X:3919 Y:04A4 P:envmxdizc
$81/99A8 18          CLC                     A:04A4 X:3919 Y:04A4 P:envmxdizc
$81/99A9 69 40 00    ADC #$0040              A:04A4 X:3919 Y:04A4 P:envmxdizc
$81/99AC 29 FF 07    AND #$07FF              A:04E4 X:3919 Y:04A4 P:envmxdizc
$81/99AF A8          TAY                     A:04E4 X:3919 Y:04A4 P:envmxdizc
$81/99B0 A9 CD 03    LDA #$03CD              A:04E4 X:3919 Y:04E4 P:envmxdizc
$81/99B3 05 04       ORA $04    [$00:0004]   A:03CD X:3919 Y:04E4 P:envmxdizc
$81/99B5 97 26       STA [$26],y[$7E:ACE4]   A:2FCD X:3919 Y:04E4 P:envmxdizc
$81/99B7 80 23       BRA $23    [$99DC]      A:2FCD X:3919 Y:04E4 P:envmxdizc
$81/99B9 BD 57 00    LDA $0057,x[$7E:4630]   A:2F8E X:45D9 Y:0276 P:eNvmxdizc
$81/99BC 7D 5B 00    ADC $005B,x[$7E:4634]   A:0003 X:45D9 Y:0276 P:envmxdizc
$81/99BF EB          XBA                     A:0009 X:45D9 Y:0276 P:envmxdizc
$81/99C0 4A          LSR A                   A:0900 X:45D9 Y:0276 P:envmxdiZc
$81/99C1 4A          LSR A                   A:0480 X:45D9 Y:0276 P:envmxdizc
$81/99C2 65 20       ADC $20    [$00:0020]   A:0240 X:45D9 Y:0276 P:envmxdizc
$81/99C4 A8          TAY                     A:025C X:45D9 Y:0276 P:envmxdizc
$81/99C5 A9 CA 03    LDA #$03CA              A:025C X:45D9 Y:025C P:envmxdizc
$81/99C8 05 04       ORA $04    [$00:0004]   A:03CA X:45D9 Y:025C P:envmxdizc
$81/99CA 97 26       STA [$26],y[$7E:AA5C]   A:2FCA X:45D9 Y:025C P:envmxdizc
$81/99CC 98          TYA                     A:2FCA X:45D9 Y:025C P:envmxdizc
$81/99CD 18          CLC                     A:025C X:45D9 Y:025C P:envmxdizc
$81/99CE 69 40 00    ADC #$0040              A:025C X:45D9 Y:025C P:envmxdizc
$81/99D1 29 FF 07    AND #$07FF              A:029C X:45D9 Y:025C P:envmxdizc
$81/99D4 A8          TAY                     A:029C X:45D9 Y:025C P:envmxdizc
$81/99D5 A9 CB 03    LDA #$03CB              A:029C X:45D9 Y:029C P:envmxdizc
$81/99D8 05 04       ORA $04    [$00:0004]   A:03CB X:45D9 Y:029C P:envmxdizc
$81/99DA 97 26       STA [$26],y[$7E:AA9C]   A:2FCB X:45D9 Y:029C P:envmxdizc
$81/99DC E2 20       SEP #$20                A:2FCB X:45D9 Y:029C P:envmxdizc
$81/99DE A6 D8       LDX $D8    [$00:00D8]   A:2FCB X:45D9 Y:029C P:envMxdizc
$81/99E0 A0 00 A8    LDY #$A800              A:2FCB X:45D9 Y:029C P:envMxdizc
$81/99E3 84 23       STY $23    [$00:0023]   A:2FCB X:45D9 Y:A800 P:eNvMxdizc
$81/99E5 A9 7E       LDA #$7E                A:2FCB X:45D9 Y:A800 P:eNvMxdizc
$81/99E7 85 25       STA $25    [$00:0025]   A:2F7E X:45D9 Y:A800 P:envMxdizc
$81/99E9 AC 9B 05    LDY $059B  [$7E:059B]   A:2F7E X:45D9 Y:A800 P:envMxdizc
$81/99EC 84 02       STY $02    [$00:0002]   A:2F7E X:45D9 Y:0000 P:envMxdiZc
$81/99EE C2 21       REP #$21                A:2F7E X:45D9 Y:0000 P:envMxdiZc
$81/99F0 BD 6A 00    LDA $006A,x[$7E:4643]   A:2F7E X:45D9 Y:0000 P:envmxdiZc
$81/99F3 69 06 00    ADC #$0006              A:03C0 X:45D9 Y:0000 P:envmxdizc
$81/99F6 85 04       STA $04    [$00:0004]   A:03C6 X:45D9 Y:0000 P:envmxdizc
$81/99F8 A0 00 2C    LDY #$2C00              A:03C6 X:45D9 Y:0000 P:envmxdizc
$81/99FB BD 39 02    LDA $0239,x[$7E:4812]   A:03C6 X:45D9 Y:2C00 P:envmxdizc
$81/99FE 29 FF 00    AND #$00FF              A:0000 X:45D9 Y:2C00 P:envmxdiZc
$81/9A01 F0 03       BEQ $03    [$9A06]      A:0000 X:45D9 Y:2C00 P:envmxdiZc
code is missing here
$81/9A06 98          TYA                     A:0000 X:45D9 Y:2C00 P:envmxdiZc
$81/9A07 05 04       ORA $04    [$00:0004]   A:2C00 X:45D9 Y:2C00 P:envmxdizc
$81/9A09 85 04       STA $04    [$00:0004]   A:2FC6 X:45D9 Y:2C00 P:envmxdizc
$81/9A0B BD 57 00    LDA $0057,x[$7E:4630]   A:2FC6 X:45D9 Y:2C00 P:envmxdizc
$81/9A0E EB          XBA                     A:0003 X:45D9 Y:2C00 P:envmxdizc
$81/9A0F 4A          LSR A                   A:0300 X:45D9 Y:2C00 P:envmxdiZc
$81/9A10 4A          LSR A                   A:0180 X:45D9 Y:2C00 P:envmxdizc
$81/9A11 7D 55 00    ADC $0055,x[$7E:462E]   A:00C0 X:45D9 Y:2C00 P:envmxdizc
$81/9A14 7D 55 00    ADC $0055,x[$7E:462E]   A:00C3 X:45D9 Y:2C00 P:envmxdizc
$81/9A17 3A          DEC A                   A:00C6 X:45D9 Y:2C00 P:envmxdizc
$81/9A18 3A          DEC A                   A:00C5 X:45D9 Y:2C00 P:envmxdizc
$81/9A19 A8          TAY                     A:00C4 X:45D9 Y:2C00 P:envmxdizc
$81/9A1A 5A          PHY                     A:00C4 X:45D9 Y:00C4 P:envmxdizc
$81/9A1B BD 5B 00    LDA $005B,x[$7E:4634]   A:00C4 X:45D9 Y:00C4 P:envmxdizc
$81/9A1E 85 02       STA $02    [$00:0002]   A:0006 X:45D9 Y:00C4 P:envmxdizc
$81/9A20 A5 04       LDA $04    [$00:0004]   A:0006 X:45D9 Y:00C4 P:envmxdizc
$81/9A22 97 23       STA [$23],y[$7E:A8C4]   A:2FC6 X:45D9 Y:00C4 P:envmxdizc
$81/9A24 98          TYA                     A:2FC6 X:45D9 Y:00C4 P:envmxdizc
$81/9A25 18          CLC                     A:00C4 X:45D9 Y:00C4 P:envmxdizc
$81/9A26 69 40 00    ADC #$0040              A:00C4 X:45D9 Y:00C4 P:envmxdizc
$81/9A29 29 FF 07    AND #$07FF              A:0104 X:45D9 Y:00C4 P:envmxdizc
$81/9A2C A8          TAY                     A:0104 X:45D9 Y:00C4 P:envmxdizc
$81/9A2D C6 02       DEC $02    [$00:0002]   A:0104 X:45D9 Y:0104 P:envmxdizc
$81/9A2F D0 EF       BNE $EF    [$9A20]      A:0104 X:45D9 Y:0104 P:envmxdizc
$81/9A31 7A          PLY                     A:0244 X:45D9 Y:0244 P:envmxdiZc
$81/9A32 E6 04       INC $04    [$00:0004]   A:0244 X:45D9 Y:00C4 P:envmxdizc
$81/9A34 98          TYA                     A:0244 X:45D9 Y:00C4 P:envmxdizc
$81/9A35 18          CLC                     A:00C4 X:45D9 Y:00C4 P:envmxdizc
$81/9A36 7D 59 00    ADC $0059,x[$7E:4632]   A:00C4 X:45D9 Y:00C4 P:envmxdizc
$81/9A39 7D 59 00    ADC $0059,x[$7E:4632]   A:00DC X:45D9 Y:00C4 P:envmxdizc
$81/9A3C 1A          INC A                   A:00F4 X:45D9 Y:00C4 P:envmxdizc
$81/9A3D 1A          INC A                   A:00F5 X:45D9 Y:00C4 P:envmxdizc
$81/9A3E A8          TAY                     A:00F6 X:45D9 Y:00C4 P:envmxdizc
$81/9A3F BD 5B 00    LDA $005B,x[$7E:4634]   A:00F6 X:45D9 Y:00F6 P:envmxdizc
$81/9A42 85 02       STA $02    [$00:0002]   A:0006 X:45D9 Y:00F6 P:envmxdizc
$81/9A44 A5 04       LDA $04    [$00:0004]   A:0006 X:45D9 Y:00F6 P:envmxdizc
$81/9A46 97 26       STA [$26],y[$7E:A8F6]   A:2FC7 X:45D9 Y:00F6 P:envmxdizc
$81/9A48 98          TYA                     A:2FC7 X:45D9 Y:00F6 P:envmxdizc
$81/9A49 18          CLC                     A:00F6 X:45D9 Y:00F6 P:envmxdizc
$81/9A4A 69 40 00    ADC #$0040              A:00F6 X:45D9 Y:00F6 P:envmxdizc
$81/9A4D 29 FF 07    AND #$07FF              A:0136 X:45D9 Y:00F6 P:envmxdizc
$81/9A50 A8          TAY                     A:0136 X:45D9 Y:00F6 P:envmxdizc
$81/9A51 C6 02       DEC $02    [$00:0002]   A:0136 X:45D9 Y:0136 P:envmxdizc
$81/9A53 D0 EF       BNE $EF    [$9A44]      A:0136 X:45D9 Y:0136 P:envmxdizc
$81/9A55 E2 20       SEP #$20      ; A = 8-bit
$81/9A57 7A          PLY           ; Restore $23-$26 from Stack
$81/9A58 84 25       STY $25
$81/9A5A 7A          PLY
$81/9A5B 84 23       STY $23
$81/9A5D 7A          PLY           ; Restore $02-$07 from Stack
$81/9A5E 84 06       STY $06
$81/9A60 7A          PLY
$81/9A61 84 04       STY $04
$81/9A63 7A          PLY
$81/9A64 84 02       STY $02
$81/9A66 60          RTS

$81/9A67 ?

$81/9A67 D4 02       PEI ($02)     ; Buffer $02-$07 on Stack
$81/9A69 D4 04       PEI ($04)
$81/9A6B D4 06       PEI ($06)
$81/9A6D A6 D8       LDX $D8    [$00:00D8]   A:0276 X:45D9 Y:0542 P:envMxdizc
$81/9A6F A5 A5       LDA $A5    [$00:00A5]   A:0276 X:45D9 Y:0542 P:envMxdizc
$81/9A71 89 02       BIT #$02                A:020C X:45D9 Y:0542 P:envMxdizc
$81/9A73 F0 0F       BEQ $0F    [$9A84]      A:020C X:45D9 Y:0542 P:envMxdiZc
$81/9A84 A5 A5       LDA $A5    [$00:00A5]   A:020C X:45D9 Y:0542 P:envMxdiZc
$81/9A86 89 01       BIT #$01                A:020C X:45D9 Y:0542 P:envMxdizc
$81/9A88 F0 0F       BEQ $0F    [$9A99]      A:020C X:45D9 Y:0542 P:envMxdiZc
$81/9A99 A5 A4       LDA $A4    [$00:00A4]   A:020C X:45D9 Y:0542 P:envMxdiZc
$81/9A9B 89 04       BIT #$04                A:0203 X:45D9 Y:0542 P:envMxdizc
$81/9A9D D0 0F       BNE $0F    [$9AAE]      A:0203 X:45D9 Y:0542 P:envMxdiZc
$81/9A9F A0 1E 23    LDY #$231E              A:0203 X:45D9 Y:0542 P:envMxdiZc
$81/9AA2 BD 39 02    LDA $0239,x[$7E:4812]   A:0203 X:45D9 Y:231E P:envMxdizc
$81/9AA5 C9 01       CMP #$01                A:0200 X:45D9 Y:231E P:envMxdiZc
$81/9AA7 D0 12       BNE $12    [$9ABB]      A:0200 X:45D9 Y:231E P:eNvMxdizc
$81/9ABB 84 06       STY $06    [$00:0006]   A:0200 X:45D9 Y:231E P:eNvMxdizc
$81/9ABD BD 55 00    LDA $0055,x[$7E:462E]   A:0200 X:45D9 Y:231E P:eNvMxdizc
$81/9AC0 85 02       STA $02    [$00:0002]   A:0203 X:45D9 Y:231E P:envMxdizc
$81/9AC2 BD 57 00    LDA $0057,x[$7E:4630]   A:0203 X:45D9 Y:231E P:envMxdizc
$81/9AC5 85 03       STA $03    [$00:0003]   A:0203 X:45D9 Y:231E P:envMxdizc
$81/9AC7 BD 59 00    LDA $0059,x[$7E:4632]   A:0203 X:45D9 Y:231E P:envMxdizc
$81/9ACA 85 04       STA $04    [$00:0004]   A:0218 X:45D9 Y:231E P:envMxdizc
$81/9ACC BD 5B 00    LDA $005B,x[$7E:4634]   A:0218 X:45D9 Y:231E P:envMxdizc
$81/9ACF 85 05       STA $05    [$00:0005]   A:0206 X:45D9 Y:231E P:envMxdizc
$81/9AD1 A4 06       LDY $06    [$00:0006]   A:0206 X:45D9 Y:231E P:envMxdizc
$81/9AD3 A2 00 E0    LDX #$E000              A:0206 X:45D9 Y:231E P:envMxdizc
$81/9AD6 A9 7F       LDA #$7F                A:0206 X:E000 Y:231E P:eNvMxdizc
$81/9AD8 22 96 D2 81 JSL $81D296[$81:D296]   A:027F X:E000 Y:231E P:envMxdizc
$81/9ADC 7A          PLY           ; Restore $02-$07 from Stack
$81/9ADD 84 06       STY $06
$81/9ADF 7A          PLY
$81/9AE0 84 04       STY $04
$81/9AE2 7A          PLY
$81/9AE3 84 02       STY $02
$81/9AE5 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:E000 Y:0542 P:envMxdizc
$81/9AE7 60          RTS                     A:0000 X:45D9 Y:0542 P:envMxdizc

$81/9B57 ?

$81/9B57 AD 8B 05    LDA $058B  [$7E:058B]   A:0003 X:45D9 Y:B10F P:envMxdizC
$81/9B5A 85 09       STA $09    [$00:0009]   A:0054 X:45D9 Y:B10F P:envMxdizC
$81/9B5C 64 08       STZ $08    [$00:0008]   A:0054 X:45D9 Y:B10F P:envMxdizC
$81/9B5E A0 00 E0    LDY #$E000              A:0054 X:45D9 Y:B10F P:envMxdizC
$81/9B61 84 0A       STY $0A    [$00:000A]   A:0054 X:45D9 Y:E000 P:eNvMxdizC
$81/9B63 A9 7F       LDA #$7F                A:0054 X:45D9 Y:E000 P:eNvMxdizC
$81/9B65 85 0F       STA $0F    [$00:000F]   A:007F X:45D9 Y:E000 P:envMxdizC
$81/9B67 AC 93 05    LDY $0593  [$7E:0593]   A:007F X:45D9 Y:E000 P:envMxdizC
$81/9B6A 84 06       STY $06    [$00:0006]   A:007F X:45D9 Y:0000 P:envMxdiZC
$81/9B6C 20 25 9C    JSR $9C25  [$81:9C25]   A:007F X:45D9 Y:0000 P:envMxdiZC
$81/9B6F A6 D8       LDX $D8    [$00:00D8]   A:E07F X:E000 Y:5400 P:eNvMxdizc
$81/9B71 60          RTS                     A:E07F X:45D9 Y:5400 P:envMxdizc

$81/9BD8 ?

$81/9BD8 A6 D8       LDX $D8    [$00:00D8]   A:580F X:3919 Y:3919 P:envMxdizC
$81/9BDA BD 55 00    LDA $0055,x[$7E:396E]   A:580F X:3919 Y:3919 P:envMxdizC
$81/9BDD 3A          DEC A                   A:5805 X:3919 Y:3919 P:envMxdizC
$81/9BDE 85 00       STA $00    [$00:0000]   A:5804 X:3919 Y:3919 P:envMxdizC
$81/9BE0 64 01       STZ $01    [$00:0001]   A:5804 X:3919 Y:3919 P:envMxdizC
$81/9BE2 BD 59 00    LDA $0059,x[$7E:3972]   A:5804 X:3919 Y:3919 P:envMxdizC
$81/9BE5 1A          INC A                   A:5818 X:3919 Y:3919 P:envMxdizC
$81/9BE6 1A          INC A                   A:5819 X:3919 Y:3919 P:envMxdizC
$81/9BE7 85 02       STA $02    [$00:0002]   A:581A X:3919 Y:3919 P:envMxdizC
$81/9BE9 64 03       STZ $03    [$00:0003]   A:581A X:3919 Y:3919 P:envMxdizC
$81/9BEB BD 5B 00    LDA $005B,x[$7E:3974]   A:581A X:3919 Y:3919 P:envMxdizC
$81/9BEE 1A          INC A                   A:5806 X:3919 Y:3919 P:envMxdizC
$81/9BEF 1A          INC A                   A:5807 X:3919 Y:3919 P:envMxdizC
$81/9BF0 85 05       STA $05    [$00:0005]   A:5808 X:3919 Y:3919 P:envMxdizC
$81/9BF2 BD 5F 00    LDA $005F,x[$7E:3978]   A:5808 X:3919 Y:3919 P:envMxdizC
$81/9BF5 F0 04       BEQ $04    [$9BFB]      A:5812 X:3919 Y:3919 P:envMxdizC
$81/9BF7 10 08       BPL $08    [$9C01]      A:5812 X:3919 Y:3919 P:envMxdizC
$81/9BF9 E6 05       INC $05    [$00:0005]   A:2F8E X:45D9 Y:019E P:eNvMxdizc
$81/9BFB BD 57 00    LDA $0057,x[$7E:4630]   A:2F8E X:45D9 Y:019E P:envMxdizc
$81/9BFE 3A          DEC A                   A:2F03 X:45D9 Y:019E P:envMxdizc
$81/9BFF 80 07       BRA $07    [$9C08]      A:2F02 X:45D9 Y:019E P:envMxdizc
$81/9C01 E6 05       INC $05    [$00:0005]   A:5812 X:3919 Y:3919 P:envMxdizC
$81/9C03 BD 57 00    LDA $0057,x[$7E:3970]   A:5812 X:3919 Y:3919 P:envMxdizC
$81/9C06 3A          DEC A                   A:5814 X:3919 Y:3919 P:envMxdizC
$81/9C07 3A          DEC A                   A:5813 X:3919 Y:3919 P:envMxdizC
$81/9C08 85 04       STA $04    [$00:0004]   A:5812 X:3919 Y:3919 P:envMxdizC
$81/9C0A AD 8D 05    LDA $058D     ; Load BG3 Tilemap Address and size
$81/9C0D 85 09       STA $09       ; Set it up as 16-bit address in $08/09
$81/9C0F 64 08       STZ $08
$81/9C11 A0 00 A8    LDY #$A800              A:583C X:3919 Y:3919 P:envMxdizC
$81/9C14 84 0A       STY $0A    [$00:000A]   A:583C X:3919 Y:A800 P:eNvMxdizC
$81/9C16 A9 7E       LDA #$7E                A:583C X:3919 Y:A800 P:eNvMxdizC
$81/9C18 85 0F       STA $0F    [$00:000F]   A:587E X:3919 Y:A800 P:envMxdizC
$81/9C1A AC 9B 05    LDY $059B     ; Buffer BG3 Y-Scroll in $06
$81/9C1D 84 06       STY $06
$81/9C1F 20 25 9C    JSR $9C25  [$81:9C25]   A:587E X:3919 Y:0000 P:envMxdiZC
$81/9C22 A6 D8       LDX $D8    [$00:00D8]   A:AC7E X:A800 Y:3C00 P:eNvMxdizc
$81/9C24 60          RTS                     A:AC7E X:3919 Y:3C00 P:envMxdizc

$81/9C25 ?

When coming from $81/9BD8, $06 contains the buffered BG3 Y-scroll value.

$81/9C25 A9 80       LDA #$80                A:587E X:3919 Y:0000 P:envMxdiZC
$81/9C27 85 0E       STA $0E    [$00:000E]   A:5880 X:3919 Y:0000 P:eNvMxdizC
$81/9C29 C2 21       REP #$21                A:5880 X:3919 Y:0000 P:eNvMxdizC
$81/9C2B A5 00       LDA $00    [$00:0000]   A:5880 X:3919 Y:0000 P:eNvmxdizc
$81/9C2D 18          CLC                     A:0004 X:3919 Y:0000 P:envmxdizc
$81/9C2E 65 02       ADC $02    [$00:0002]   A:0004 X:3919 Y:0000 P:envmxdizc
$81/9C30 C9 21 00    CMP #$0021              A:001E X:3919 Y:0000 P:envmxdizc
$81/9C33 90 07       BCC $07    [$9C3C]      A:001E X:3919 Y:0000 P:eNvmxdizc
$81/9C3C A5 04       LDA $04    [$00:0004]   A:001E X:3919 Y:0000 P:eNvmxdizc
$81/9C3E 29 FF 00    AND #$00FF              A:0912 X:3919 Y:0000 P:envmxdizc
$81/9C41 EB          XBA                     A:0012 X:3919 Y:0000 P:envmxdizc
$81/9C42 4A          LSR A                   A:1200 X:3919 Y:0000 P:envmxdiZc
$81/9C43 4A          LSR A                   A:0900 X:3919 Y:0000 P:envmxdizc
$81/9C44 65 00       ADC $00    [$00:0000]   A:0480 X:3919 Y:0000 P:envmxdizc
$81/9C46 65 00       ADC $00    [$00:0000]   A:0484 X:3919 Y:0000 P:envmxdizc
$81/9C48 85 10       STA $10    [$00:0010]   A:0488 X:3919 Y:0000 P:envmxdizc
$81/9C4A 48          PHA                     A:0488 X:3919 Y:0000 P:envmxdizc
$81/9C4B A5 06       LDA $06       ; Load BG3 Y-scroll
$81/9C4D 0A          ASL A         ; Multiply by eight
$81/9C4E 0A          ASL A
$81/9C4F 0A          ASL A
$81/9C50 63 01       ADC $01,s     ; (Add value that was just pushed on stack)
$81/9C52 29 FF 07    AND #$07FF              A:0488 X:3919 Y:0000 P:envmxdizc
$81/9C55 85 12       STA $12    [$00:0012]   A:0488 X:3919 Y:0000 P:envmxdizc
$81/9C57 68          PLA                     A:0488 X:3919 Y:0000 P:envmxdizc
$81/9C58 A5 05       LDA $05    [$00:0005]   A:0488 X:3919 Y:0000 P:envmxdizc
$81/9C5A 29 FF 00    AND #$00FF              A:0009 X:3919 Y:0000 P:envmxdizc
$81/9C5D 3A          DEC A                   A:0009 X:3919 Y:0000 P:envmxdizc
$81/9C5E EB          XBA                     A:0008 X:3919 Y:0000 P:envmxdizc
$81/9C5F 4A          LSR A                   A:0800 X:3919 Y:0000 P:envmxdiZc
$81/9C60 4A          LSR A                   A:0400 X:3919 Y:0000 P:envmxdizc
$81/9C61 65 02       ADC $02    [$00:0002]   A:0200 X:3919 Y:0000 P:envmxdizc
$81/9C63 65 02       ADC $02    [$00:0002]   A:021A X:3919 Y:0000 P:envmxdizc
$81/9C65 85 0C       STA $0C    [$00:000C]   A:0234 X:3919 Y:0000 P:envmxdizc
$81/9C67 E2 20       SEP #$20                A:0234 X:3919 Y:0000 P:envmxdizc
$81/9C69 A4 08       LDY $08    [$00:0008]   A:0234 X:3919 Y:0000 P:envMxdizc
$81/9C6B A6 0A       LDX $0A    [$00:000A]   A:0234 X:3919 Y:3C00 P:envMxdizc
$81/9C6D A5 0F       LDA $0F    [$00:000F]   A:0234 X:A800 Y:3C00 P:eNvMxdizc
$81/9C6F 22 74 9C 81 JSL $819C74[$81:9C74]   A:027E X:A800 Y:3C00 P:envMxdizc
$81/9C73 60          RTS                     A:AC7E X:A800 Y:3C00 P:eNvMxdizc

$81/9C74 ?

MIGHT CAUSE ERROR
Just a note: A is pushed on the stack at $9C74, and if the branch is taken at $9C79, A isn't pulled before the RTL, so this might crash the game, doesn't it?
$81/9C74 48          PHA                     A:027E X:A800 Y:3C00 P:envMxdizc
$81/9C75 C2 21       REP #$21                A:027E X:A800 Y:3C00 P:envMxdizc
$81/9C77 A5 0C       LDA $0C    [$00:000C]   A:027E X:A800 Y:3C00 P:envmxdizc
$81/9C79 F0 34       BEQ $34       ; [$9CAF] Exit if empty - this line should be removed?
$81/9C7B 65 12       ADC $12    [$00:0012]   A:0234 X:A800 Y:3C00 P:envmxdizc
$81/9C7D C9 00 08    CMP #$0800              A:06BC X:A800 Y:3C00 P:envmxdizc
$81/9C80 B0 08       BCS $08    [$9C8A]      A:06BC X:A800 Y:3C00 P:eNvmxdizc
$81/9C82 E2 20       SEP #$20                A:06BC X:A800 Y:3C00 P:eNvmxdizc
$81/9C84 68          PLA                     A:06BC X:A800 Y:3C00 P:eNvMxdizc
$81/9C85 20 B2 9C    JSR $9CB2  [$81:9CB2]   A:067E X:A800 Y:3C00 P:envMxdizc
$81/9C88 80 25       BRA $25    [$9CAF]      A:AC7E X:A800 Y:3C00 P:eNvMxdizc
code is missing here
$81/9CAF E2 20       SEP #$20                A:AC7E X:A800 Y:3C00 P:eNvMxdizc
$81/9CB1 6B          RTL                     A:AC7E X:A800 Y:3C00 P:eNvMxdizc

$81/9CB2 ? Some VRAM DMA

I logged this. This only seems to be executed in the Attraction Mode when the stats bars appear

This sets up a VRAM DMA.

If $0C is empty, the whole VRAM DMA gets skipped.

A contains the DMA Source Bank

X contains the DMA Source Address

Y contains the VRAM Destination Address

$10 is an offset that gets added to X (DMA Source Address)

$12 is an offset that gets added to Y (VRAM Destination Address)

$81/9CB2 DA          PHX           ; Buffer X, Y and A on Stack
$81/9CB3 5A          PHY
$81/9CB4 48          PHA
$81/9CB5 C2 21       REP #$21      ; A = 16-bit, clear Carry
$81/9CB7 A5 0C       LDA $0C    [$00:000C]   A:067E X:A800 Y:3C00 P:envmxdizc
$81/9CB9 F0 15       BEQ $15       ; [$9CD0] Exit if empty
$81/9CBB 8A          TXA                     A:0234 X:A800 Y:3C00 P:envmxdizc
$81/9CBC 65 10       ADC $10    [$00:0010]   A:A800 X:A800 Y:3C00 P:eNvmxdizc
$81/9CBE AA          TAX                     A:AC88 X:A800 Y:3C00 P:eNvmxdizc
$81/9CBF A5 12       LDA $12    [$00:0012]   A:AC88 X:AC88 Y:3C00 P:eNvmxdizc
$81/9CC1 4A          LSR A         ; Divide by two
$81/9CC2 48          PHA           ; Add value in A to Y
$81/9CC3 98          TYA           ; This is done by pushing A on stack...
$81/9CC4 63 01       ADC $01,s     ; ... transfering Y in A, adding that stack value...
$81/9CC6 A8          TAY           ; ... and cleaning up again.
$81/9CC7 68          PLA
$81/9CC8 E2 20       SEP #$20      ; A = 8-bit
$81/9CCA A3 01       LDA $01,s     ; Restore Original A value (while keeping it on stack)
$81/9CCC 22 24 9F 80 JSL $809F24   ; VRAM DMA
$81/9CD0 E2 20       SEP #$20      ; A = 8-bit
$81/9CD2 68          PLA           ; Restore A, Y and X from Stack
$81/9CD3 7A          PLY
$81/9CD4 FA          PLX
$81/9CD5 60          RTS

$81/9CD6 ?

$81/9CD6 A9 80       LDA #$80                A:0001 X:3911 Y:3C00 P:eNvMxdizc
$81/9CD8 85 0E       STA $0E    [$00:000E]   A:0080 X:3911 Y:3C00 P:eNvMxdizc
$81/9CDA AD 1E 00    LDA $001E  [$7E:001E]   A:0080 X:3911 Y:3C00 P:eNvMxdizc
$81/9CDD 38          SEC                     A:0000 X:3911 Y:3C00 P:envMxdiZc
$81/9CDE ED 1A 00    SBC $001A  [$7E:001A]   A:0000 X:3911 Y:3C00 P:envMxdiZC
$81/9CE1 90 1E       BCC $1E    [$9D01]      A:0001 X:3911 Y:3C00 P:envMxdizc
$81/9CE3 85 05       STA $05    [$00:0005]   A:0007 X:45D9 Y:B10F P:envMxdizC
$81/9CE5 AD 1A 00    LDA $001A  [$7E:001A]   A:0007 X:45D9 Y:B10F P:envMxdizC
$81/9CE8 85 04       STA $04    [$00:0004]   A:0003 X:45D9 Y:B10F P:envMxdizC
$81/9CEA C2 20       REP #$20                A:0003 X:45D9 Y:B10F P:envMxdizC
$81/9CEC AD 1C 00    LDA $001C  [$7E:001C]   A:0003 X:45D9 Y:B10F P:envmxdizC
$81/9CEF 38          SEC                     A:001B X:45D9 Y:B10F P:envmxdizC
$81/9CF0 ED 18 00    SBC $0018  [$7E:0018]   A:001B X:45D9 Y:B10F P:envmxdizC
$81/9CF3 90 0C       BCC $0C    [$9D01]      A:0018 X:45D9 Y:B10F P:envmxdizC
$81/9CF5 85 02       STA $02    [$00:0002]   A:0018 X:45D9 Y:B10F P:envmxdizC
$81/9CF7 AD 18 00    LDA $0018  [$7E:0018]   A:0018 X:45D9 Y:B10F P:envmxdizC
$81/9CFA 85 00       STA $00    [$00:0000]   A:0003 X:45D9 Y:B10F P:envmxdizC
$81/9CFC E2 20       SEP #$20                A:0003 X:45D9 Y:B10F P:envmxdizC
$81/9CFE 4C 57 9B    JMP $9B57  [$81:9B57]   A:0003 X:45D9 Y:B10F P:envMxdizC
$81/9D01 E2 20       SEP #$20                A:0001 X:3911 Y:3C00 P:envMxdizc
$81/9D03 A6 D8       LDX $D8    [$00:00D8]   A:0001 X:3911 Y:3C00 P:envMxdizc
$81/9D05 60          RTS                     A:0001 X:3919 Y:3C00 P:envMxdizc

$81/9D06 ?

$81/9D06 A9 80       LDA #$80                A:0001 X:3919 Y:3C00 P:envMxdizc
$81/9D08 85 0E       STA $0E    [$00:000E]   A:0080 X:3919 Y:3C00 P:eNvMxdizc
$81/9D0A AD 1E 00    LDA $001E  [$7E:001E]   A:0080 X:3919 Y:3C00 P:eNvMxdizc
$81/9D0D 38          SEC                     A:0000 X:3919 Y:3C00 P:envMxdiZc
$81/9D0E ED 1A 00    SBC $001A  [$7E:001A]   A:0000 X:3919 Y:3C00 P:envMxdiZC
$81/9D11 90 24       BCC $24    [$9D37]      A:0001 X:3919 Y:3C00 P:envMxdizc
$81/9D13 1A          INC A                   A:E007 X:45D9 Y:5400 P:envMxdizC
$81/9D14 1A          INC A                   A:E008 X:45D9 Y:5400 P:envMxdizC
$81/9D15 85 05       STA $05    [$00:0005]   A:E009 X:45D9 Y:5400 P:envMxdizC
$81/9D17 AD 1A 00    LDA $001A  [$7E:001A]   A:E009 X:45D9 Y:5400 P:envMxdizC
$81/9D1A 3A          DEC A                   A:E003 X:45D9 Y:5400 P:envMxdizC
$81/9D1B 85 04       STA $04    [$00:0004]   A:E002 X:45D9 Y:5400 P:envMxdizC
$81/9D1D C2 20       REP #$20                A:E002 X:45D9 Y:5400 P:envMxdizC
$81/9D1F AD 1C 00    LDA $001C  [$7E:001C]   A:E002 X:45D9 Y:5400 P:envmxdizC
$81/9D22 38          SEC                     A:001B X:45D9 Y:5400 P:envmxdizC
$81/9D23 ED 18 00    SBC $0018  [$7E:0018]   A:001B X:45D9 Y:5400 P:envmxdizC
$81/9D26 90 0F       BCC $0F    [$9D37]      A:0018 X:45D9 Y:5400 P:envmxdizC
$81/9D28 1A          INC A                   A:0018 X:45D9 Y:5400 P:envmxdizC
$81/9D29 1A          INC A                   A:0019 X:45D9 Y:5400 P:envmxdizC
$81/9D2A 85 02       STA $02    [$00:0002]   A:001A X:45D9 Y:5400 P:envmxdizC
$81/9D2C AD 18 00    LDA $0018  [$7E:0018]   A:001A X:45D9 Y:5400 P:envmxdizC
$81/9D2F 3A          DEC A                   A:0003 X:45D9 Y:5400 P:envmxdizC
$81/9D30 85 00       STA $00    [$00:0000]   A:0002 X:45D9 Y:5400 P:envmxdizC
$81/9D32 E2 20       SEP #$20                A:0002 X:45D9 Y:5400 P:envmxdizC
$81/9D34 4C 0A 9C    JMP $9C0A  [$81:9C0A]   A:0002 X:45D9 Y:5400 P:envMxdizC
$81/9D37 E2 20       SEP #$20                A:0001 X:3919 Y:3C00 P:envMxdizc
$81/9D39 A6 D8       LDX $D8    [$00:00D8]   A:0001 X:3919 Y:3C00 P:envMxdizc
$81/9D3B 60          RTS                     A:0001 X:3919 Y:3C00 P:envMxdizc

$81/9D3C ?

$81/9D3C A6 D8       LDX $D8    [$00:00D8]   A:0001 X:45D9 Y:B10F P:envMxdizC
$81/9D3E C2 20       REP #$20                A:0001 X:45D9 Y:B10F P:envMxdizC
$81/9D40 BD 57 00    LDA $0057,x[$7E:4630]   A:0001 X:45D9 Y:B10F P:envmxdizC
$81/9D43 48          PHA                     A:0003 X:45D9 Y:B10F P:envmxdizC
$81/9D44 BD 5B 00    LDA $005B,x[$7E:4634]   A:0003 X:45D9 Y:B10F P:envmxdizC
$81/9D47 48          PHA                     A:0006 X:45D9 Y:B10F P:envmxdizC
$81/9D48 BD 5F 00    LDA $005F,x[$7E:4638]   A:0006 X:45D9 Y:B10F P:envmxdizC
$81/9D4B 29 FF 00    AND #$00FF              A:F68E X:45D9 Y:B10F P:eNvmxdizC
$81/9D4E F0 0D       BEQ $0D    [$9D5D]      A:008E X:45D9 Y:B10F P:envmxdizC
$81/9D50 89 80 00    BIT #$0080              A:008E X:45D9 Y:B10F P:envmxdizC
$81/9D53 D0 05       BNE $05    [$9D5A]      A:008E X:45D9 Y:B10F P:envmxdizC
$81/9D55 A3 03       LDA $03,s  [$00:1FC8]   A:0012 X:3919 Y:3919 P:envmxdiZc
$81/9D57 3A          DEC A                   A:0014 X:3919 Y:3919 P:envmxdizc
$81/9D58 83 03       STA $03,s  [$00:1FC8]   A:0013 X:3919 Y:3919 P:envmxdizc
$81/9D5A 68          PLA                     A:008E X:45D9 Y:B10F P:envmxdizC
$81/9D5B 1A          INC A                   A:0006 X:45D9 Y:B10F P:envmxdizC
$81/9D5C 48          PHA                     A:0007 X:45D9 Y:B10F P:envmxdizC
$81/9D5D A3 03       LDA $03,s  [$00:1FC3]   A:0007 X:45D9 Y:B10F P:envmxdizC
$81/9D5F CD 1A 00    CMP $001A  [$7E:001A]   A:0003 X:45D9 Y:B10F P:envmxdizC
$81/9D62 B0 03       BCS $03    [$9D67]      A:0003 X:45D9 Y:B10F P:envmxdizc
$81/9D64 8D 1A 00    STA $001A  [$7E:001A]   A:0003 X:45D9 Y:B10F P:envmxdizc
$81/9D67 18          CLC                     A:0003 X:45D9 Y:B10F P:envmxdizc
$81/9D68 63 01       ADC $01,s  [$00:1FC1]   A:0003 X:45D9 Y:B10F P:envmxdizc
$81/9D6A CD 1E 00    CMP $001E  [$7E:001E]   A:000A X:45D9 Y:B10F P:envmxdizc
$81/9D6D 90 03       BCC $03    [$9D72]      A:000A X:45D9 Y:B10F P:envmxdizC
$81/9D6F 8D 1E 00    STA $001E  [$7E:001E]   A:000A X:45D9 Y:B10F P:envmxdizC
$81/9D72 BD 55 00    LDA $0055,x[$7E:462E]   A:000A X:45D9 Y:B10F P:envmxdizC
$81/9D75 CD 18 00    CMP $0018  [$7E:0018]   A:0003 X:45D9 Y:B10F P:envmxdizC
$81/9D78 B0 03       BCS $03    [$9D7D]      A:0003 X:45D9 Y:B10F P:envmxdizc
$81/9D7A 8D 18 00    STA $0018  [$7E:0018]   A:0003 X:45D9 Y:B10F P:envmxdizc
$81/9D7D 18          CLC                     A:0003 X:45D9 Y:B10F P:envmxdizc
$81/9D7E 7D 59 00    ADC $0059,x[$7E:4632]   A:0003 X:45D9 Y:B10F P:envmxdizc
$81/9D81 CD 1C 00    CMP $001C  [$7E:001C]   A:001B X:45D9 Y:B10F P:envmxdizc
$81/9D84 90 03       BCC $03    [$9D89]      A:001B X:45D9 Y:B10F P:envmxdizC
$81/9D86 8D 1C 00    STA $001C  [$7E:001C]   A:001B X:45D9 Y:B10F P:envmxdizC
$81/9D89 68          PLA                     A:001B X:45D9 Y:B10F P:envmxdizC
$81/9D8A 68          PLA                     A:0007 X:45D9 Y:B10F P:envmxdizC
$81/9D8B E2 20       SEP #$20                A:0003 X:45D9 Y:B10F P:envmxdizC
$81/9D8D 60          RTS                     A:0003 X:45D9 Y:B10F P:envMxdizC

$81/9D8E ?

$81/9D8E 5A          PHY                     A:0002 X:3911 Y:0002 P:envMxdiZC
$81/9D8F A0 00 00    LDY #$0000              A:0002 X:3911 Y:0002 P:envMxdiZC
$81/9D92 8C 1C 00    STY $001C  [$7E:001C]   A:0002 X:3911 Y:0000 P:envMxdiZC
$81/9D95 8C 1E 00    STY $001E  [$7E:001E]   A:0002 X:3911 Y:0000 P:envMxdiZC
$81/9D98 88          DEY                     A:0002 X:3911 Y:0000 P:envMxdiZC
$81/9D99 8C 18 00    STY $0018  [$7E:0018]   A:0002 X:3911 Y:FFFF P:eNvMxdizC
$81/9D9C 8C 1A 00    STY $001A  [$7E:001A]   A:0002 X:3911 Y:FFFF P:eNvMxdizC
$81/9D9F 7A          PLY                     A:0002 X:3911 Y:FFFF P:eNvMxdizC
$81/9DA0 60          RTS                     A:0002 X:3911 Y:0002 P:envMxdizC

$81/9DA1 ?

$81/9DA1 20 A7 9D    JSR $9DA7  [$81:9DA7]   A:0246 X:45D9 Y:0542 P:envMxdizc
$81/9DA4 A6 D8       LDX $D8    [$00:00D8]   A:0001 X:000F Y:B10F P:envMxdizC
$81/9DA6 60          RTS                     A:0001 X:45D9 Y:B10F P:envMxdizC

$81/9DA7 ?

$81/9DA7 A6 D8       LDX $D8    [$00:00D8]   A:0246 X:45D9 Y:0542 P:envMxdizc
$81/9DA9 7B          TDC                     A:0246 X:45D9 Y:0542 P:envMxdizc
$81/9DAA BD 4F 00    LDA $004F,x[$7E:4628]   A:0000 X:45D9 Y:0542 P:envMxdiZc
$81/9DAD 0A          ASL A                   A:0000 X:45D9 Y:0542 P:envMxdiZc
$81/9DAE AA          TAX                     A:0000 X:45D9 Y:0542 P:envMxdiZc
$81/9DAF 7C B2 9D    JMP ($9DB2,x)[$81:9DCA] A:0000 X:0000 Y:0542 P:envMxdiZc

$81/9DB2 ? Address Table for the subroutine above

$81/9DB2 CA 9D
$81/9DB2 01 9E
$81/9DB2 01 9E
$81/9DB2 01 9E
$81/9DB2 01 9E
$81/9DB2 01 9E
$81/9DB2 01 9E
$81/9DB2 CA 9D
$81/9DB2 00 9E
$81/9DB2 00 9E
$81/9DB2 01 9E
$81/9DB2 01 9E

$81/9DCA ?

$81/9DCA A6 D8       LDX $D8    [$00:00D8]   A:0000 X:0000 Y:0542 P:envMxdiZc
$81/9DCC 7B          TDC                     A:0000 X:45D9 Y:0542 P:envMxdizc
$81/9DCD BD 54 00    LDA $0054,x[$7E:462D]   A:0000 X:45D9 Y:0542 P:envMxdiZc
$81/9DD0 1A          INC A                   A:0003 X:45D9 Y:0542 P:envMxdizc
$81/9DD1 A8          TAY                     A:0004 X:45D9 Y:0542 P:envMxdizc
$81/9DD2 BD 57 00    LDA $0057,x[$7E:4630]   A:0004 X:45D9 Y:0004 P:envMxdizc
$81/9DD5 0A          ASL A                   A:0003 X:45D9 Y:0004 P:envMxdizc
$81/9DD6 0A          ASL A                   A:0006 X:45D9 Y:0004 P:envMxdizc
$81/9DD7 0A          ASL A                   A:000C X:45D9 Y:0004 P:envMxdizc
$81/9DD8 3A          DEC A                   A:0018 X:45D9 Y:0004 P:envMxdizc
$81/9DD9 99 64 17    STA $1764,y[$7E:1768]   A:0017 X:45D9 Y:0004 P:envMxdizc
$81/9DDC BD 5B 00    LDA $005B,x[$7E:4634]   A:0017 X:45D9 Y:0004 P:envMxdizc
$81/9DDF 0A          ASL A                   A:0006 X:45D9 Y:0004 P:envMxdizc
$81/9DE0 0A          ASL A                   A:000C X:45D9 Y:0004 P:envMxdizc
$81/9DE1 0A          ASL A                   A:0018 X:45D9 Y:0004 P:envMxdizc
$81/9DE2 99 6D 17    STA $176D,y[$7E:1771]   A:0030 X:45D9 Y:0004 P:envMxdizc
$81/9DE5 BD 55 00    LDA $0055,x[$7E:462E]   A:0030 X:45D9 Y:0004 P:envMxdizc
$81/9DE8 0A          ASL A                   A:0003 X:45D9 Y:0004 P:envMxdizc
$81/9DE9 0A          ASL A                   A:0006 X:45D9 Y:0004 P:envMxdizc
$81/9DEA 0A          ASL A                   A:000C X:45D9 Y:0004 P:envMxdizc
$81/9DEB 99 76 17    STA $1776,y[$7E:177A]   A:0018 X:45D9 Y:0004 P:envMxdizc
$81/9DEE BD 59 00    LDA $0059,x[$7E:4632]   A:0018 X:45D9 Y:0004 P:envMxdizc
$81/9DF1 0A          ASL A                   A:0018 X:45D9 Y:0004 P:envMxdizc
$81/9DF2 0A          ASL A                   A:0030 X:45D9 Y:0004 P:envMxdizc
$81/9DF3 0A          ASL A                   A:0060 X:45D9 Y:0004 P:envMxdizc
$81/9DF4 3A          DEC A                   A:00C0 X:45D9 Y:0004 P:eNvMxdizc
$81/9DF5 79 76 17    ADC $1776,y[$7E:177A]   A:00BF X:45D9 Y:0004 P:eNvMxdizc
$81/9DF8 99 7F 17    STA $177F,y[$7E:1783]   A:00D7 X:45D9 Y:0004 P:eNvMxdizc
$81/9DFB 22 49 E8 81 JSL $81E849[$81:E849]   A:00D7 X:45D9 Y:0004 P:eNvMxdizc
$81/9DFF 60          RTS                     A:0001 X:000F Y:B10F P:envMxdizC

$81/9E3D ?

$81/9E3D D4 02       PEI ($02)     ; Buffer $02-$09 on Stack
$81/9E3F D4 04       PEI ($04)
$81/9E41 D4 06       PEI ($06)
$81/9E43 D4 08       PEI ($08)
$81/9E45 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:45D9 Y:0542 P:envMxdizc
$81/9E47 A0 00 20    LDY #$2000              A:0000 X:45D9 Y:0542 P:envMxdizc
$81/9E4A BD 39 02    LDA $0239,x[$7E:4812]   A:0000 X:45D9 Y:2000 P:envMxdizc
$81/9E4D F0 03       BEQ $03    [$9E52]      A:0000 X:45D9 Y:2000 P:envMxdiZc
$81/9E52 84 06       STY $06    [$00:0006]   A:0000 X:45D9 Y:2000 P:envMxdiZc
$81/9E54 7B          TDC                     A:0000 X:45D9 Y:2000 P:envMxdiZc
$81/9E55 BD 5D 00    LDA $005D,x[$7E:4636]   A:0000 X:45D9 Y:2000 P:envMxdiZc
$81/9E58 C9 FF       CMP #$FF                A:0032 X:45D9 Y:2000 P:envMxdizc
$81/9E5A F0 0F       BEQ $0F    [$9E6B]      A:0032 X:45D9 Y:2000 P:envMxdizc
$81/9E5C C9 FE       CMP #$FE                A:0032 X:45D9 Y:2000 P:envMxdizc
$81/9E5E F0 0B       BEQ $0B    [$9E6B]      A:0032 X:45D9 Y:2000 P:envMxdizc
$81/9E60 BD 5E 00    LDA $005E,x[$7E:4637]   A:0032 X:45D9 Y:2000 P:envMxdizc
$81/9E63 89 40       BIT #$40                A:0004 X:45D9 Y:2000 P:envMxdizc
$81/9E65 D0 04       BNE $04    [$9E6B]      A:0004 X:45D9 Y:2000 P:envMxdiZc
$81/9E67 29 3F       AND #$3F                A:0004 X:45D9 Y:2000 P:envMxdiZc
$81/9E69 80 01       BRA $01    [$9E6C]      A:0004 X:45D9 Y:2000 P:envMxdizc
$81/9E6B 7B          TDC                     A:0044 X:3919 Y:2000 P:envMxdizc
$81/9E6C 85 08       STA $08    [$00:0008]   A:0004 X:45D9 Y:2000 P:envMxdizc
$81/9E6E C9 00       CMP #$00                A:0004 X:45D9 Y:2000 P:envMxdizc
$81/9E70 F0 1F       BEQ $1F    [$9E91]      A:0004 X:45D9 Y:2000 P:envMxdizC
$81/9E72 85 04       STA $04    [$00:0004]   A:0004 X:45D9 Y:2000 P:envMxdizC
$81/9E74 BD 55 00    LDA $0055,x[$7E:462E]   A:0004 X:45D9 Y:2000 P:envMxdizC
$81/9E77 85 02       STA $02    [$00:0002]   A:0003 X:45D9 Y:2000 P:envMxdizC
$81/9E79 BD 57 00    LDA $0057,x[$7E:4630]   A:0003 X:45D9 Y:2000 P:envMxdizC
$81/9E7C 85 03       STA $03    [$00:0003]   A:0003 X:45D9 Y:2000 P:envMxdizC
$81/9E7E BD 5B 00    LDA $005B,x[$7E:4634]   A:0003 X:45D9 Y:2000 P:envMxdizC
$81/9E81 85 05       STA $05    [$00:0005]   A:0006 X:45D9 Y:2000 P:envMxdizC
$81/9E83 A0 EE 03    LDY #$03EE              A:0006 X:45D9 Y:2000 P:envMxdizC
$81/9E86 A2 00 A8    LDX #$A800              A:0006 X:45D9 Y:03EE P:envMxdizC
$81/9E89 A9 7E       LDA #$7E                A:0006 X:A800 Y:03EE P:eNvMxdizC
$81/9E8B 22 96 D2 81 JSL $81D296[$81:D296]   A:007E X:A800 Y:03EE P:envMxdizC
$81/9E8F A6 D8       LDX $D8    [$00:00D8]   A:0000 X:A800 Y:03EE P:envMxdizc
$81/9E91 7B          TDC                     A:0000 X:45D9 Y:03EE P:envMxdizc
$81/9E92 BD 5D 00    LDA $005D,x[$7E:4636]   A:0000 X:45D9 Y:03EE P:envMxdiZc
$81/9E95 C9 FF       CMP #$FF                A:0032 X:45D9 Y:03EE P:envMxdizc
$81/9E97 F0 0F       BEQ $0F    [$9EA8]      A:0032 X:45D9 Y:03EE P:envMxdizc
$81/9E99 C9 FE       CMP #$FE                A:0032 X:45D9 Y:03EE P:envMxdizc
$81/9E9B F0 0B       BEQ $0B    [$9EA8]      A:0032 X:45D9 Y:03EE P:envMxdizc
$81/9E9D BD 5E 00    LDA $005E,x[$7E:4637]   A:0032 X:45D9 Y:03EE P:envMxdizc
$81/9EA0 89 40       BIT #$40                A:0004 X:45D9 Y:03EE P:envMxdizc
$81/9EA2 F0 04       BEQ $04    [$9EA8]      A:0004 X:45D9 Y:03EE P:envMxdiZc
$81/9EA4 29 3F       AND #$3F                A:0044 X:3919 Y:2000 P:envMxdizc
$81/9EA6 80 01       BRA $01    [$9EA9]      A:0004 X:3919 Y:2000 P:envMxdizc
$81/9EA8 7B          TDC                     A:0004 X:45D9 Y:03EE P:envMxdiZc
$81/9EA9 85 09       STA $09    [$00:0009]   A:0000 X:45D9 Y:03EE P:envMxdiZc
$81/9EAB C9 00       CMP #$00                A:0000 X:45D9 Y:03EE P:envMxdiZc
$81/9EAD F0 26       BEQ $26    [$9ED5]      A:0000 X:45D9 Y:03EE P:envMxdiZC
$81/9EAF 85 04       STA $04    [$00:0004]   A:0004 X:3919 Y:2000 P:envMxdizC
$81/9EB1 BD 55 00    LDA $0055,x[$7E:396E]   A:0004 X:3919 Y:2000 P:envMxdizC
$81/9EB4 18          CLC                     A:0006 X:3919 Y:2000 P:envMxdizC
$81/9EB5 7D 59 00    ADC $0059,x[$7E:3972]   A:0006 X:3919 Y:2000 P:envMxdizc
$81/9EB8 38          SEC                     A:001D X:3919 Y:2000 P:envMxdizc
$81/9EB9 E5 04       SBC $04    [$00:0004]   A:001D X:3919 Y:2000 P:envMxdizC
$81/9EBB 85 02       STA $02    [$00:0002]   A:0019 X:3919 Y:2000 P:envMxdizC
$81/9EBD BD 57 00    LDA $0057,x[$7E:3970]   A:0019 X:3919 Y:2000 P:envMxdizC
$81/9EC0 85 03       STA $03    [$00:0003]   A:0014 X:3919 Y:2000 P:envMxdizC
$81/9EC2 BD 5B 00    LDA $005B,x[$7E:3974]   A:0014 X:3919 Y:2000 P:envMxdizC
$81/9EC5 85 05       STA $05    [$00:0005]   A:0006 X:3919 Y:2000 P:envMxdizC
$81/9EC7 A0 EE 03    LDY #$03EE              A:0006 X:3919 Y:2000 P:envMxdizC
$81/9ECA A2 00 A8    LDX #$A800              A:0006 X:3919 Y:03EE P:envMxdizC
$81/9ECD A9 7E       LDA #$7E                A:0006 X:A800 Y:03EE P:eNvMxdizC
$81/9ECF 22 96 D2 81 JSL $81D296[$81:D296]   A:007E X:A800 Y:03EE P:envMxdizC
$81/9ED3 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:A800 Y:03EE P:envMxdizc
$81/9ED5 BD 55 00    LDA $0055,x[$7E:462E]   A:0000 X:45D9 Y:03EE P:envMxdiZC
$81/9ED8 18          CLC                     A:0003 X:45D9 Y:03EE P:envMxdizC
$81/9ED9 65 08       ADC $08    [$00:0008]   A:0003 X:45D9 Y:03EE P:envMxdizc
$81/9EDB 85 02       STA $02    [$00:0002]   A:0007 X:45D9 Y:03EE P:envMxdizc
$81/9EDD BD 57 00    LDA $0057,x[$7E:4630]   A:0007 X:45D9 Y:03EE P:envMxdizc
$81/9EE0 85 03       STA $03    [$00:0003]   A:0003 X:45D9 Y:03EE P:envMxdizc
$81/9EE2 BD 59 00    LDA $0059,x[$7E:4632]   A:0003 X:45D9 Y:03EE P:envMxdizc
$81/9EE5 38          SEC                     A:0018 X:45D9 Y:03EE P:envMxdizc
$81/9EE6 E5 08       SBC $08    [$00:0008]   A:0018 X:45D9 Y:03EE P:envMxdizC
$81/9EE8 E5 09       SBC $09    [$00:0009]   A:0014 X:45D9 Y:03EE P:envMxdizC
$81/9EEA 85 04       STA $04    [$00:0004]   A:0014 X:45D9 Y:03EE P:envMxdizC
$81/9EEC BD 5B 00    LDA $005B,x[$7E:4634]   A:0014 X:45D9 Y:03EE P:envMxdizC
$81/9EEF 85 05       STA $05    [$00:0005]   A:0006 X:45D9 Y:03EE P:envMxdizC
$81/9EF1 C2 20       REP #$20                A:0006 X:45D9 Y:03EE P:envMxdizC
$81/9EF3 A9 EE 23    LDA #$23EE              A:0006 X:45D9 Y:03EE P:envmxdizC
$81/9EF6 05 06       ORA $06    [$00:0006]   A:23EE X:45D9 Y:03EE P:envmxdizC
$81/9EF8 A8          TAY                     A:23EE X:45D9 Y:03EE P:envmxdizC
$81/9EF9 E2 20       SEP #$20                A:23EE X:45D9 Y:23EE P:envmxdizC
$81/9EFB A2 00 A8    LDX #$A800              A:23EE X:45D9 Y:23EE P:envMxdizC
$81/9EFE A9 7E       LDA #$7E                A:23EE X:A800 Y:23EE P:eNvMxdizC
$81/9F00 22 96 D2 81 JSL $81D296[$81:D296]   A:237E X:A800 Y:23EE P:envMxdizC
$81/9F04 7A          PLY           ; Restore $02-$09 from Stack
$81/9F05 84 08       STY $08
$81/9F07 7A          PLY
$81/9F08 84 06       STY $06
$81/9F0A 7A          PLY
$81/9F0B 84 04       STY $04
$81/9F0D 7A          PLY
$81/9F0E 84 02       STY $02
$81/9F10 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:A800 Y:0542 P:envMxdizc
$81/9F12 60          RTS                     A:0000 X:45D9 Y:0542 P:envMxdizc

$81/9F13 ?

$81/9F13 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:45D9 Y:0542 P:envMxdizc
$81/9F15 BD 5D 00    LDA $005D,x[$7E:4636]   A:0000 X:45D9 Y:0542 P:envMxdizc
$81/9F18 C9 FF       CMP #$FF                A:0032 X:45D9 Y:0542 P:envMxdizc
$81/9F1A D0 03       BNE $03    [$9F1F]      A:0032 X:45D9 Y:0542 P:envMxdizc
code is missing here
$81/9F1F C9 FE       CMP #$FE                A:0032 X:45D9 Y:0542 P:envMxdizc
$81/9F21 D0 03       BNE $03    [$9F26]      A:0032 X:45D9 Y:0542 P:envMxdizc
code is missing here
$81/9F26 D4 02       PEI ($02)     ; Buffer $02-$07 on Stack
$81/9F28 D4 04       PEI ($04)
$81/9F2A D4 06       PEI ($06)
$81/9F2C BD 5E 00    LDA $005E,x[$7E:4637]   A:0032 X:45D9 Y:0542 P:envMxdizc
$81/9F2F 29 3F       AND #$3F                A:0004 X:45D9 Y:0542 P:envMxdizc
$81/9F31 85 00       STA $00    [$00:0000]   A:0004 X:45D9 Y:0542 P:envMxdizc
$81/9F33 64 01       STZ $01    [$00:0001]   A:0004 X:45D9 Y:0542 P:envMxdizc
$81/9F35 A0 00 00    LDY #$0000              A:0004 X:45D9 Y:0542 P:envMxdizc
$81/9F38 BD 5E 00    LDA $005E,x[$7E:4637]   A:0004 X:45D9 Y:0000 P:envMxdiZc
$81/9F3B 89 40       BIT #$40                A:0004 X:45D9 Y:0000 P:envMxdizc
$81/9F3D F0 07       BEQ $07    [$9F46]      A:0004 X:45D9 Y:0000 P:envMxdiZc
$81/9F3F BD 59 00    LDA $0059,x[$7E:3972]   A:0044 X:3919 Y:0000 P:envMxdizc
$81/9F42 38          SEC                     A:0017 X:3919 Y:0000 P:envMxdizc
$81/9F43 E5 00       SBC $00    [$00:0000]   A:0017 X:3919 Y:0000 P:envMxdizC
$81/9F45 A8          TAY                     A:0013 X:3919 Y:0000 P:envMxdizC
$81/9F46 C2 21       REP #$21                A:0004 X:45D9 Y:0000 P:envMxdiZc
$81/9F48 98          TYA                     A:0004 X:45D9 Y:0000 P:envmxdiZc
$81/9F49 7D 55 00    ADC $0055,x[$7E:462E]   A:0000 X:45D9 Y:0000 P:envmxdiZc
$81/9F4C 0A          ASL A                   A:0003 X:45D9 Y:0000 P:envmxdizc
$81/9F4D 48          PHA                     A:0006 X:45D9 Y:0000 P:envmxdizc
$81/9F4E BD 57 00    LDA $0057,x[$7E:4630]   A:0006 X:45D9 Y:0000 P:envmxdizc
$81/9F51 EB          XBA                     A:0003 X:45D9 Y:0000 P:envmxdizc
$81/9F52 4A          LSR A                   A:0300 X:45D9 Y:0000 P:envmxdiZc
$81/9F53 4A          LSR A                   A:0180 X:45D9 Y:0000 P:envmxdizc
$81/9F54 63 01       ADC $01,s  [$00:1FBD]   A:00C0 X:45D9 Y:0000 P:envmxdizc
$81/9F56 A8          TAY                     A:00C6 X:45D9 Y:0000 P:envmxdizc
$81/9F57 68          PLA                     A:00C6 X:45D9 Y:00C6 P:envmxdizc
$81/9F58 5A          PHY                     A:0006 X:45D9 Y:00C6 P:envmxdizc
$81/9F59 BD 4F 00    LDA $004F,x[$7E:4628]   A:0006 X:45D9 Y:00C6 P:envmxdizc
$81/9F5C 29 FF 00    AND #$00FF              A:0000 X:45D9 Y:00C6 P:envmxdiZc
$81/9F5F C9 07 00    CMP #$0007              A:0000 X:45D9 Y:00C6 P:envmxdiZc
$81/9F62 F0 0E       BEQ $0E    [$9F72]      A:0000 X:45D9 Y:00C6 P:eNvmxdizc
$81/9F64 C9 0A 00    CMP #$000A              A:0000 X:45D9 Y:00C6 P:eNvmxdizc
$81/9F67 F0 02       BEQ $02    [$9F6B]      A:0000 X:45D9 Y:00C6 P:eNvmxdizc
$81/9F69 80 1D       BRA $1D    [$9F88]      A:0000 X:45D9 Y:00C6 P:eNvmxdizc
code is missing here
$81/9F88 A0 B0 02    LDY #$02B0              A:0000 X:45D9 Y:00C6 P:eNvmxdizc
$81/9F8B BD 51 00    LDA $0051,x[$7E:462A]   A:0000 X:45D9 Y:02B0 P:envmxdizc
$81/9F8E 4A          LSR A                   A:1900 X:45D9 Y:02B0 P:envmxdizc
$81/9F8F 90 03       BCC $03    [$9F94]      A:0C80 X:45D9 Y:02B0 P:envmxdizc
$81/9F91 A0 C8 02    LDY #$02C8              A:0000 X:3919 Y:02B0 P:envmxdiZC
$81/9F94 98          TYA                     A:0C80 X:45D9 Y:02B0 P:envmxdizc
$81/9F95 09 00 04    ORA #$0400              A:02B0 X:45D9 Y:02B0 P:envmxdizc
$81/9F98 85 06       STA $06    [$00:0006]   A:06B0 X:45D9 Y:02B0 P:envmxdizc
$81/9F9A BD 5E 00    LDA $005E,x[$7E:4637]   A:06B0 X:45D9 Y:02B0 P:envmxdizc
$81/9F9D 29 80 00    AND #$0080              A:8E04 X:45D9 Y:02B0 P:eNvmxdizc
$81/9FA0 85 08       STA $08    [$00:0008]   A:0000 X:45D9 Y:02B0 P:envmxdiZc
$81/9FA2 A9 06 00    LDA #$0006              A:0000 X:45D9 Y:02B0 P:envmxdiZc
$81/9FA5 85 02       STA $02    [$00:0002]   A:0006 X:45D9 Y:02B0 P:envmxdizc
$81/9FA7 FA          PLX                     A:0006 X:45D9 Y:02B0 P:envmxdizc
$81/9FA8 A5 08       LDA $08    [$00:0008]   A:0006 X:00C6 Y:02B0 P:envmxdizc
$81/9FAA D0 23       BNE $23    [$9FCF]      A:0000 X:00C6 Y:02B0 P:envmxdiZc
$81/9FAC A5 00       LDA $00    [$00:0000]   A:0000 X:00C6 Y:02B0 P:envmxdiZc
$81/9FAE 85 04       STA $04    [$00:0004]   A:0004 X:00C6 Y:02B0 P:envmxdizc
$81/9FB0 DA          PHX                     A:0004 X:00C6 Y:02B0 P:envmxdizc
$81/9FB1 A5 06       LDA $06    [$00:0006]   A:0004 X:00C6 Y:02B0 P:envmxdizc
$81/9FB3 9F 00 E0 7F STA $7FE000,x[$7F:E0C6] A:06B0 X:00C6 Y:02B0 P:envmxdizc
$81/9FB7 1A          INC A                   A:06B0 X:00C6 Y:02B0 P:envmxdizc
$81/9FB8 E8          INX                     A:06B1 X:00C6 Y:02B0 P:envmxdizc
$81/9FB9 E8          INX                     A:06B1 X:00C7 Y:02B0 P:envmxdizc
$81/9FBA C6 04       DEC $04    [$00:0004]   A:06B1 X:00C8 Y:02B0 P:envmxdizc
$81/9FBC D0 F5       BNE $F5    [$9FB3]      A:06B1 X:00C8 Y:02B0 P:envmxdizc
$81/9FBE 85 06       STA $06    [$00:0006]   A:06B4 X:00CE Y:02B0 P:envmxdiZc
$81/9FC0 68          PLA                     A:06B4 X:00CE Y:02B0 P:envmxdiZc
$81/9FC1 18          CLC                     A:00C6 X:00CE Y:02B0 P:envmxdizc
$81/9FC2 69 40 00    ADC #$0040              A:00C6 X:00CE Y:02B0 P:envmxdizc
$81/9FC5 29 FF 07    AND #$07FF              A:0106 X:00CE Y:02B0 P:envmxdizc
$81/9FC8 AA          TAX                     A:0106 X:00CE Y:02B0 P:envmxdizc
$81/9FC9 C6 02       DEC $02    [$00:0002]   A:0106 X:0106 Y:02B0 P:envmxdizc
$81/9FCB D0 DF       BNE $DF    [$9FAC]      A:0106 X:0106 Y:02B0 P:envmxdizc
$81/9FCD 80 2A       BRA $2A    [$9FF9]      A:0246 X:0246 Y:02B0 P:envmxdiZc
code is missing here
$81/9FF9 E2 20       SEP #$20      ; A = 8-bit
$81/9FFB 7A          PLY           ; Restore $02-$07 from Stack
$81/9FFC 84 06       STY $06
$81/9FFE 7A          PLY
$81/9FFF 84 04       STY $04
$81/A001 7A          PLY
$81/A002 84 02       STY $02
$81/A004 80 34       BRA $34    [$A03A]      A:0246 X:0246 Y:0542 P:envMxdizc
code is missing here
$81/A03A A6 D8       LDX $D8    [$00:00D8]   A:0246 X:0246 Y:0542 P:envMxdizc
$81/A03C 60          RTS                     A:0246 X:45D9 Y:0542 P:envMxdizc

$81/9F2C Add entry to VRAM Pipeline

This subroutine does some checks on the stuff that goes to the VRAM Pipeline and ultimately adds the data, these registers contain the stuff that goes to the pipeline:

A - $4304 buffer - Source Bank
X - $4302 buffer - Source Address
Y - $2116 buffer - VRAM Destination
$0C/D - $4305 buffer - Data Size
$0E/F - $2115 buffer - VRAM Settings

Also, $5C and $5E contain some minimum/maximum values for the data size(?)

$80/9F2C 48          PHA           ; Buffer A on stack
$80/9F2D AD 6A 05    LDA $056A     ; Load $2100 value buffer
$80/9F30 10 38       BPL $38       ; [$9F6A] Branch if VBLANK isn't activated
code is missing here
$80/9F6A A3 01       LDA $01,s     ; Copy Original A from Stack without pulling it
$80/9F6C C9 7E       CMP #$7E      ; Check if the Transfer Source is on bank $7E
$80/9F6E D0 18       BNE $18       ; [$9F88] If it does, add the entry
$80/9F70 E4 5C       CPX $5C    [$00:005C]   A:027E X:AC88 Y:3E44 P:envMxdiZC
$80/9F72 90 14       BCC $14       ; [$9F88] Add the entry
$80/9F74 E4 5E       CPX $5E    [$00:005E]   A:027E X:AC88 Y:3E44 P:envMxdizC
$80/9F76 B0 10       BCS $10       ; [$9F88] Add the entry
code is missing here
$80/9F88 C2 21       REP #$21      ; A = 16-bit, Clear Carry
$80/9F8A AD C5 0E    LDA $0EC5     ; Load VRAM Pipeline data size counter
$80/9F8D 65 0C       ADC $0C       ; Add the data size that is to transfer
$80/9F8F 8D C5 0E    STA $0EC5     ; Store back
$80/9F92 DA          PHX           ; Buffer Original X on stack
$80/9F93 AD C7 0E    LDA $0EC7     ; Load Number of used VRAM DMA Pipeline Entries
$80/9F96 29 FF 00    AND #$00FF    ; Remove upper byte...
$80/9F99 0A          ASL A         ; ... and multiply it by two
$80/9F9A AA          TAX           ; Transfer in X to use it as Store Index
$80/9F9B 98          TYA           ; Transfer Original Y in A
$80/9F9C 9D 49 10    STA $1049,x   ; $2116 buffer - VRAM Destination
$80/9F9F A5 0C       LDA $0C
$80/9FA1 9D C9 0E    STA $0EC9,x   ; $4305 buffer - Data Size
$80/9FA4 68          PLA           ; Pull Original X from Stack in 16-bit A
$80/9FA5 9D 89 0F    STA $0F89,x   ; $4302 buffer - Source Address
$80/9FA8 E2 20       SEP #$20      ; A = 8-bit
$80/9FAA 68          PLA           ; Pull Original A
$80/9FAB 9D 0A 11    STA $110A,x   ; $4304 buffer - Source Bank
$80/9FAE A5 0E       LDA $0E
$80/9FB0 9D 09 11    STA $1109,x   ; $2115 buffer - VRAM Settings
$80/9FB3 EE C7 0E    INC $0EC7     ; Increment Number of used VRAM DMA Pipeline Entries
$80/9FB6 60          RTS

$81/A03D ?

$81/A03D 7B          TDC                     A:E07F X:45D9 Y:5400 P:envMxdizc
$81/A03E A6 D8       LDX $D8    [$00:00D8]   A:0000 X:45D9 Y:5400 P:envMxdiZc
$81/A040 7B          TDC                     A:0000 X:45D9 Y:5400 P:envMxdizc
$81/A041 BD 4F 00    LDA $004F,x[$7E:4628]   A:0000 X:45D9 Y:5400 P:envMxdiZc
$81/A044 0A          ASL A                   A:0000 X:45D9 Y:5400 P:envMxdiZc
$81/A045 AA          TAX                     A:0000 X:45D9 Y:5400 P:envMxdiZc
$81/A046 7C 49 A0    JMP ($A049,x)[$81:A061] A:0000 X:0000 Y:5400 P:envMxdiZc

$81/A049 ? Table for the subroutine above

$81/A049 61 A0
$81/A04B 61 A0
$81/A04D 61 A0
$81/A04F 61 A0
$81/A051 61 A0
$81/A053 61 A0
$81/A055 61 A0
$81/A057 61 A0
$81/A059 70 A0
$81/A05B 70 A0
$81/A05D 61 A0
$81/A05F 61 A0

$81/A061 ?

$81/A061 7B          TDC                     A:0000 X:0000 Y:5400 P:envMxdiZc
$81/A062 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:0000 Y:5400 P:envMxdiZc
$81/A064 BD 54 00    LDA $0054,x[$7E:462D]   A:0000 X:45D9 Y:5400 P:envMxdizc
$81/A067 1A          INC A                   A:0003 X:45D9 Y:5400 P:envMxdizc
$81/A068 AA          TAX                     A:0004 X:45D9 Y:5400 P:envMxdizc
$81/A069 9E 6D 17    STZ $176D,x[$7E:1771]   A:0004 X:0004 Y:5400 P:envMxdizc
$81/A06C 22 49 E8 81 JSL $81E849[$81:E849]   A:0004 X:0004 Y:5400 P:envMxdizc
$81/A070 A6 D8       LDX $D8    [$00:00D8]   A:0001 X:0009 Y:B12C P:enVMxdizC
$81/A072 60          RTS                     A:0001 X:45D9 Y:B12C P:enVMxdizC

$81/A073 ?

$81/A073 48          PHA                     A:0000 X:1744 Y:000A P:envMxdiZc
$81/A074 8B          PHB                     A:0000 X:1744 Y:000A P:envMxdiZc
$81/A075 A9 7E       LDA #$7E                A:0000 X:1744 Y:000A P:envMxdiZc
$81/A077 48          PHA                     A:007E X:1744 Y:000A P:envMxdizc
$81/A078 AB          PLB                     A:007E X:1744 Y:000A P:envMxdizc
$81/A079 20 8E 9D    JSR $9D8E  [$81:9D8E]   A:007E X:1744 Y:000A P:envMxdizc
$81/A07C 7B          TDC                     A:007E X:1744 Y:000A P:envMxdizc
$81/A07D A5 C1       LDA $C1    [$00:00C1]   A:0000 X:1744 Y:000A P:envMxdiZc
$81/A07F C3 02       CMP $02,s  [$00:1FBF]   A:0002 X:1744 Y:000A P:envMxdizc
$81/A081 F0 4A       BEQ $4A    [$A0CD]      A:0002 X:1744 Y:000A P:envMxdizC
$81/A083 3A          DEC A                   A:0002 X:1744 Y:000A P:envMxdizC
$81/A084 0A          ASL A                   A:0001 X:1744 Y:000A P:envMxdizC
$81/A085 A8          TAY                     A:0002 X:1744 Y:000A P:envMxdizc
$81/A086 B6 C2       LDX $C2,y  [$00:00C4]   A:0002 X:1744 Y:0002 P:envMxdizc
$81/A088 BD 00 00    LDA $0000,x[$7E:3911]   A:0002 X:3911 Y:0002 P:envMxdizc
$81/A08B C9 01       CMP #$01                A:0002 X:3911 Y:0002 P:envMxdizc
$81/A08D D0 38       BNE $38    [$A0C7]      A:0002 X:3911 Y:0002 P:envMxdizC
$81/A0C7 20 D6 9C    JSR $9CD6  [$81:9CD6]   A:0002 X:3911 Y:0002 P:envMxdizC
$81/A0CA 20 06 9D    JSR $9D06  [$81:9D06]   A:0001 X:45D9 Y:0002 P:envMxdizc
$81/A0CD AB          PLB                     A:0001 X:45D9 Y:0002 P:envMxdizc
$81/A0CE 68          PLA                     A:0001 X:45D9 Y:0002 P:envMxdizc
$81/A0CF 6B          RTL                     A:0000 X:45D9 Y:0002 P:envMxdiZc

$81/A580 ?

$81/A580 D4 00       PEI ($00)     ; Buffer $00-$07 on Stack
$81/A582 D4 02       PEI ($02)
$81/A584 D4 04       PEI ($04)
$81/A586 D4 06       PEI ($06)
$81/A588 7B          TDC           ; Clear 16-bit A
$81/A589 BD 4F 00    LDA $004F,x[$7E:4628]   A:0000 X:45D9 Y:0879 P:envMxdiZC
$81/A58C 0A          ASL A                   A:0000 X:45D9 Y:0879 P:envMxdiZC
$81/A58D AA          TAX                     A:0000 X:45D9 Y:0879 P:envMxdiZc
$81/A58E FC A0 A5    JSR ($A5A0,x)[$81:A5B8] A:0000 X:0000 Y:0879 P:envMxdiZc
$81/A591 7A          PLY           ; Restore $00-$07 from Stack
$81/A592 84 06       STY $06
$81/A594 7A          PLY
$81/A595 84 04       STY $04
$81/A597 7A          PLY
$81/A598 84 02       STY $02
$81/A59A 7A          PLY
$81/A59B 84 00       STY $00
$81/A59D A6 D8       LDX $D8    [$00:00D8]   A:5C00 X:45D9 Y:03AA P:envMxdizc
$81/A59F 60          RTS                     A:5C00 X:45D9 Y:03AA P:envMxdizc


$81/A5A0 B8 A5 --- $A5B8 - Entry #$00
$81/A5A2 29 A6 --- $A629 - Entry #$01
$81/A5A4 F9 A5 --- $A5F9 - Entry #$02
$81/A5A6 F9 A5 --- $A5F9 - Entry #$03
$81/A5A8 F9 A5 --- $A5F9 - Entry #$04
$81/A5AA E1 A5 --- $A5E1 - Entry #$05
$81/A5AC 29 A6 --- $A629 - Entry #$06
$81/A5AE F9 A5 --- $A5F9 - Entry #$07
$81/A5B0 F8 A5 --- $A5F8 - Entry #$08
$81/A5B2 F8 A5 --- $A5F8 - Entry #$09
$81/A5B4 F9 A5 --- $A5F9 - Entry #$0A
$81/A5B6 F9 A5 --- $A5F9 - Entry #$0B

$81/A5B8 ?

$81/A5B8 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:0000 Y:0879 P:envMxdiZc
$81/A5BA C2 20       REP #$20                A:0000 X:45D9 Y:0879 P:envMxdizc
$81/A5BC BD 51 00    LDA $0051,x[$7E:462A]   A:0000 X:45D9 Y:0879 P:envmxdizc
$81/A5BF 4A          LSR A                   A:1900 X:45D9 Y:0879 P:envmxdizc
$81/A5C0 B0 0B       BCS $0B    [$A5CD]      A:0C80 X:45D9 Y:0879 P:envmxdizc
$81/A5C2 A9 00 60    LDA #$6000              A:0C80 X:45D9 Y:0879 P:envmxdizc
$81/A5C5 9D 78 00    STA $0078,x[$7E:4651]   A:6000 X:45D9 Y:0879 P:envmxdizc
$81/A5C8 A9 00 5C    LDA #$5C00              A:6000 X:45D9 Y:0879 P:envmxdizc
$81/A5CB 80 09       BRA $09    [$A5D6]      A:5C00 X:45D9 Y:0879 P:envmxdizc
$81/A5CD A9 00 5C    LDA #$5C00              A:0000 X:3919 Y:087A P:envmxdiZC
$81/A5D0 9D 78 00    STA $0078,x[$7E:3991]   A:5C00 X:3919 Y:087A P:envmxdizC
$81/A5D3 A9 00 58    LDA #$5800              A:5C00 X:3919 Y:087A P:envmxdizC
$81/A5D6 9D 74 00    STA $0074,x[$7E:464D]   A:5C00 X:45D9 Y:0879 P:envmxdizc
$81/A5D9 9D 76 00    STA $0076,x[$7E:464F]   A:5C00 X:45D9 Y:0879 P:envmxdizc
$81/A5DC 85 D6       STA $D6    [$00:00D6]   A:5C00 X:45D9 Y:0879 P:envmxdizc
$81/A5DE E2 20       SEP #$20                A:5C00 X:45D9 Y:0879 P:envmxdizc
$81/A5E0 60          RTS                     A:5C00 X:45D9 Y:0879 P:envMxdizc

$81/A7C4 ? Use Some Jump Table

$81/A7C4 8B          PHB                     A:0001 X:3919 Y:3911 P:envMxdizC
$81/A7C5 86 D8       STX $D8    [$00:00D8]   A:0001 X:3919 Y:3911 P:envMxdizC
$81/A7C7 C2 20       REP #$20                A:0001 X:3919 Y:3911 P:envMxdizC
$81/A7C9 BD 76 00    LDA $0076,x[$7E:398F]   A:0001 X:3919 Y:3911 P:envmxdizC
$81/A7CC 85 D6       STA $D6    [$00:00D6]   A:5870 X:3919 Y:3911 P:envmxdizC
$81/A7CE 9E 1E 02    STZ $021E,x[$7E:3B37]   A:5870 X:3919 Y:3911 P:envmxdizC
$81/A7D1 E2 20       SEP #$20                A:5870 X:3919 Y:3911 P:envmxdizC
$81/A7D3 9E 3E 02    STZ $023E,x[$7E:3B57]   A:5870 X:3919 Y:3911 P:envMxdizC
$81/A7D6 7B          TDC                     A:5870 X:3919 Y:3911 P:envMxdizC
$81/A7D7 20 0C D4    JSR $D40C  [$81:D40C]   A:0000 X:3919 Y:3911 P:envMxdiZC
$81/A7DA 0A          ASL A                   A:0004 X:3919 Y:3911 P:envMxdizC
$81/A7DB A8          TAY                     A:0008 X:3919 Y:3911 P:envMxdizc
$81/A7DC BD 4F 00    LDA $004F,x[$7E:3968]   A:0008 X:3919 Y:0008 P:envMxdizc
$81/A7DF 0A          ASL A                   A:0000 X:3919 Y:0008 P:envMxdiZc
$81/A7E0 AA          TAX                     A:0000 X:3919 Y:0008 P:envMxdiZc
$81/A7E1 7C E4 A7    JMP ($A7E4,x)[$81:A7FC] A:0000 X:0000 Y:0008 P:envMxdiZc

$81/A7E4 ? Jump Table for the subroutine above

$81/A7E4 FC A7
$81/A7E6 00 A8
$81/A7E8 04 A8
$81/A7EA 04 A8
$81/A7EC 04 A8
$81/A7EE 04 A8
$81/A7F0 08 A8
$81/A7F2 FC A7
$81/A7F4 04 A8
$81/A7F6 FC A7
$81/A7F8 FC A7
$81/A7FA FC A7

$81/A7FC ? Jump Table Entry to use next Jump Table

$81/A7FC BB          TYX                     A:0000 X:0000 Y:0008 P:envMxdiZc
$81/A7FD 7C 8B A8    JMP ($A88B,x)[$81:AC82] A:0000 X:0008 Y:0008 P:envMxdizc

$81/A80E ?

$81/A80E 8B          PHB           ; Buffer Data Bank on Stack
$81/A80F A9 7E       LDA #$7E      ; Set Data Bank to $7E
$81/A811 48          PHA
$81/A812 AB          PLB
$81/A813 A6 D8       LDX $D8    [$00:00D8]   A:007E X:45D9 Y:3919 P:envMxdizc
$81/A815 A5 02       LDA $02    [$00:0002]   A:007E X:45D9 Y:3919 P:envMxdizc
$81/A817 9D 6C 00    STA $006C,x[$7E:4645]   A:0008 X:45D9 Y:3919 P:envMxdizc
$81/A81A 9E 6D 00    STZ $006D,x[$7E:4646]   A:0008 X:45D9 Y:3919 P:envMxdizc
$81/A81D A5 03       LDA $03    [$00:0003]   A:0008 X:45D9 Y:3919 P:envMxdizc
$81/A81F 9D 6E 00    STA $006E,x[$7E:4647]   A:0003 X:45D9 Y:3919 P:envMxdizc
$81/A822 9E 6F 00    STZ $006F,x[$7E:4648]   A:0003 X:45D9 Y:3919 P:envMxdizc
$81/A825 A5 04       LDA $04    [$00:0004]   A:0003 X:45D9 Y:3919 P:envMxdizc
$81/A827 9D 70 00    STA $0070,x[$7E:4649]   A:0013 X:45D9 Y:3919 P:envMxdizc
$81/A82A 9E 71 00    STZ $0071,x[$7E:464A]   A:0013 X:45D9 Y:3919 P:envMxdizc
$81/A82D A5 05       LDA $05    [$00:0005]   A:0013 X:45D9 Y:3919 P:envMxdizc
$81/A82F 9D 72 00    STA $0072,x[$7E:464B]   A:0006 X:45D9 Y:3919 P:envMxdizc
$81/A832 9E 73 00    STZ $0073,x[$7E:464C]   A:0006 X:45D9 Y:3919 P:envMxdizc
$81/A835 20 3A A8    JSR $A83A  [$81:A83A]   A:0006 X:45D9 Y:3919 P:envMxdizc
$81/A838 AB          PLB           ; Restore Data Bank from Stack
$81/A839 60          RTS

$81/A83A ?

$81/A83A C2 20       REP #$20                A:0006 X:45D9 Y:3919 P:envMxdizc
$81/A83C BD 24 02    LDA $0224,x[$7E:47FD]   A:0006 X:45D9 Y:3919 P:envmxdizc
$81/A83F 85 20       STA $20    [$00:0020]   A:4E99 X:45D9 Y:3919 P:envmxdizc
$81/A841 1A          INC A                   A:4E99 X:45D9 Y:3919 P:envmxdizc
$81/A842 1A          INC A                   A:4E9A X:45D9 Y:3919 P:envmxdizc
$81/A843 9D 28 02    STA $0228,x[$7E:4801]   A:4E9B X:45D9 Y:3919 P:envmxdizc
$81/A846 A9 FF FF    LDA #$FFFF              A:4E9B X:45D9 Y:3919 P:envmxdizc
$81/A849 92 20       STA ($20)  [$7E:4E99]   A:FFFF X:45D9 Y:3919 P:eNvmxdizc
$81/A84B A0 02 00    LDY #$0002              A:FFFF X:45D9 Y:3919 P:eNvmxdizc
$81/A84E 91 20       STA ($20),y[$7E:4E9B]   A:FFFF X:45D9 Y:0002 P:envmxdizc
$81/A850 8A          TXA                     A:FFFF X:45D9 Y:0002 P:envmxdizc
$81/A851 9D 43 00    STA $0043,x[$7E:461C]   A:45D9 X:45D9 Y:0002 P:envmxdizc
$81/A854 E2 20       SEP #$20                A:45D9 X:45D9 Y:0002 P:envmxdizc
$81/A856 A5 B1       LDA $B1    [$00:00B1]   A:45D9 X:45D9 Y:0002 P:envMxdizc
$81/A858 20 6F A8    JSR $A86F  [$81:A86F]   A:4500 X:45D9 Y:0002 P:envMxdiZc
$81/A85B BD 20 02    LDA $0220,x[$7E:47F9]   A:4501 X:45D9 Y:0002 P:envMxdizc
$81/A85E 9D 22 02    STA $0222,x[$7E:47FB]   A:4501 X:45D9 Y:0002 P:envMxdizc
$81/A861 9E 2E 02    STZ $022E,x[$7E:4807]   A:4501 X:45D9 Y:0002 P:envMxdizc
$81/A864 9E 3A 02    STZ $023A,x[$7E:4813]   A:4501 X:45D9 Y:0002 P:envMxdizc
$81/A867 9E 3B 02    STZ $023B,x[$7E:4814]   A:4501 X:45D9 Y:0002 P:envMxdizc
$81/A86A 7B          TDC                     A:4501 X:45D9 Y:0002 P:envMxdizc
$81/A86B 20 EE D3    JSR $D3EE  [$81:D3EE]   A:0000 X:45D9 Y:0002 P:envMxdiZc
$81/A86E 60          RTS                     A:4500 X:45D9 Y:0002 P:envMxdizc

$81/A86F ?

$81/A86F 29 FF       AND #$FF                A:4500 X:45D9 Y:0002 P:envMxdiZc
$81/A871 10 0E       BPL $0E    [$A881]      A:4500 X:45D9 Y:0002 P:envMxdiZc
code is missing here
$81/A881 1A          INC A                   A:4500 X:45D9 Y:0002 P:envMxdiZc
$81/A882 9D 20 02    STA $0220,x[$7E:47F9]   A:4501 X:45D9 Y:0002 P:envMxdizc
$81/A885 A9 01       LDA #$01                A:4501 X:45D9 Y:0002 P:envMxdizc
$81/A887 9D 1C 02    STA $021C,x[$7E:47F5]   A:4501 X:45D9 Y:0002 P:envMxdizc
$81/A88A 60          RTS                     A:4501 X:45D9 Y:0002 P:envMxdizc

$81/A88B ? Address Table for $81/A7FC

$81/A88B E1 A8 --- $A8E1 - Entry #00
$81/A88D D0 A9 --- $A9D0 - Entry #01
$81/A88F 00 00 --- $0000 - Entry #02
$81/A891 C3 AA --- $AAC3 - Entry #03
$81/A893 82 AC --- $AC82 - Entry #04
$81/A895 0A AD --- $AD0A - Entry #05
$81/A897 BE AE --- $AEBE - Entry #06
$81/A899 20 AF --- $AF20 - Entry #07
$81/A89B 69 B0 --- $B069 - Entry #08
$81/A89D D1 B1 --- $B1D1 - Entry #09
$81/A89F 06 B2 --- $B206 - Entry #0A
$81/A8A1 5A AB --- $AB5A - Entry #0B
$81/A8A3 BA AB --- $ABBA - Entry #0C
$81/A8A5 07 AB --- $AB07 - Entry #0D
$81/A8A7 20 B1 --- $B120 - Entry #0E
$81/A8A9 AB A8 --- $A8AB - Entry #0F

$81/A8AB ?

$81/A8AB A6 D8       LDX $D8    [$00:00D8]   A:0000 X:001E Y:001E P:envMxdizc
$81/A8AD BD 3F 02    LDA $023F,x[$7E:4818]   A:0000 X:45D9 Y:001E P:envMxdizc
$81/A8B0 C9 FF       CMP #$FF                A:0000 X:45D9 Y:001E P:envMxdiZc
$81/A8B2 F0 07       BEQ $07    [$A8BB]      A:0000 X:45D9 Y:001E P:envMxdizc
$81/A8B4 20 46 93    JSR $9346  [$81:9346]   A:0000 X:45D9 Y:001E P:envMxdizc
$81/A8B7 A9 01       LDA #$01                A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/A8B9 AB          PLB                     A:A801 X:45D9 Y:3C00 P:envMxdizc
$81/A8BA 60          RTS                     A:A801 X:45D9 Y:3C00 P:envMxdizc
$81/A8BB 20 95 98    JSR $9895  [$81:9895]   A:00FF X:45D9 Y:001E P:envMxdiZC
$81/A8BE 20 67 9A    JSR $9A67  [$81:9A67]   A:0276 X:45D9 Y:0542 P:envMxdizc
$81/A8C1 20 3D 9E    JSR $9E3D  [$81:9E3D]   A:0000 X:45D9 Y:0542 P:envMxdizc
$81/A8C4 20 13 9F    JSR $9F13  [$81:9F13]   A:0000 X:45D9 Y:0542 P:envMxdizc
$81/A8C7 20 A1 9D    JSR $9DA1  [$81:9DA1]   A:0246 X:45D9 Y:0542 P:envMxdizc
$81/A8CA 20 3C 9D    JSR $9D3C  [$81:9D3C]   A:0001 X:45D9 Y:B10F P:envMxdizC
$81/A8CD 20 D6 9C    JSR $9CD6  [$81:9CD6]   A:0003 X:45D9 Y:B10F P:envMxdizC
$81/A8D0 20 06 9D    JSR $9D06  [$81:9D06]   A:E07F X:45D9 Y:5400 P:envMxdizc
$81/A8D3 A6 D8       LDX $D8    [$00:00D8]   A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/A8D5 9E 3F 02    STZ $023F,x[$7E:4818]   A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/A8D8 A9 00       LDA #$00                A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/A8DA 20 EE D3    JSR $D3EE  [$81:D3EE]   A:A800 X:45D9 Y:3C00 P:envMxdiZc
$81/A8DD A9 01       LDA #$01                A:4500 X:45D9 Y:3C00 P:envMxdizc
$81/A8DF AB          PLB                     A:4501 X:45D9 Y:3C00 P:envMxdizc
$81/A8E0 60          RTS                     A:4501 X:45D9 Y:3C00 P:envMxdizc

$81/A8E1 ?

$81/A8E1 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:0000 Y:0000 P:envMxdiZc
$81/A8E3 20 EF A8    JSR $A8EF  [$81:A8EF]   A:0000 X:45D9 Y:0000 P:envMxdizc
$81/A8E6 A9 01       LDA #$01                A:FF00 X:45D9 Y:03AA P:eNvMxdizc
$81/A8E8 20 FF D3    JSR $D3FF  [$81:D3FF]   A:FF01 X:45D9 Y:03AA P:envMxdizc
$81/A8EB A9 01       LDA #$01                A:FF01 X:45D9 Y:03AA P:envMxdizc
$81/A8ED AB          PLB                     A:FF01 X:45D9 Y:03AA P:envMxdizc
$81/A8EE 60          RTS                     A:FF01 X:45D9 Y:03AA P:envMxdizc

$81/A8EF ?

$81/A8EF C2 21       REP #$21      ; A = 16-bit, Clear Carry
$81/A8F1 BD 45 00    LDA $0045,x[$7E:461E]   A:0000 X:45D9 Y:0000 P:envmxdizc
$81/A8F4 85 20       STA $20       ; Set Decompression Store address
$81/A8F6 BD 15 02    LDA $0215,x[$7E:47EE]   A:4C99 X:45D9 Y:0000 P:envmxdizc
$81/A8F9 0A          ASL A         ; Multiply by 3
$81/A8FA 7D 15 02    ADC $0215,x
$81/A8FD AA          TAX           ; Use as Load index (each entry is 3 bytes in size)
$81/A8FE BF 00 80 A3 LDA $A38000,x
$81/A902 A8          TAY           ; Buffer Compressed Data Address in Y
$81/A903 E2 20       SEP #$20      ; A = 8-bit
$81/A905 BF 02 80 A3 LDA $A38002,x[$A3:996D] A:E083 X:196B Y:E083 P:eNvMxdizc
$81/A909 85 00       STA $00       ; Buffer Compressed Data Bank in $00
$81/A90B A2 00 D4    LDX #$D400    ; Decompression Command address is $A1/D400
$81/A90E 86 23       STX $23
$81/A910 A9 7E       LDA #$7E      ; Decompression Store address on Bank $7E
$81/A912 85 22       STA $22
$81/A914 A9 A1       LDA #$A1
$81/A916 85 25       STA $25
$81/A918 BB          TYX           ; Transfer Compressed Data Address in X
$81/A919 A5 00       LDA $00       ; Load Compressed Data Bank in A
$81/A91B 22 CC F7 81 JSL $81F7CC[$81:F7CC]   A:E0AA X:E083 Y:E083 P:eNvMxdizc
$81/A91F C2 21       REP #$21                A:00C3 X:E0E6 Y:0092 P:envMxdizC
$81/A921 A6 D8       LDX $D8    [$00:00D8]   A:00C3 X:E0E6 Y:0092 P:envmxdizc
$81/A923 BD 45 00    LDA $0045,x[$7E:461E]   A:00C3 X:45D9 Y:0092 P:envmxdizc
$81/A926 65 0E       ADC $0E    [$00:000E]   A:4C99 X:45D9 Y:0092 P:envmxdizc
$81/A928 9D 47 00    STA $0047,x[$7E:4620]   A:4D2B X:45D9 Y:0092 P:envmxdizc
$81/A92B A5 20       LDA $20    [$00:0020]   A:4D2B X:45D9 Y:0092 P:envmxdizc
$81/A92D 9D 13 00    STA $0013,x[$7E:45EC]   A:4C99 X:45D9 Y:0092 P:envmxdizc
$81/A930 E2 20       SEP #$20                A:4C99 X:45D9 Y:0092 P:envmxdizc
$81/A932 A9 7E       LDA #$7E                A:4C99 X:45D9 Y:0092 P:envMxdizc
$81/A934 9D 15 00    STA $0015,x[$7E:45EE]   A:4C7E X:45D9 Y:0092 P:envMxdizc
$81/A937 BC 15 02    LDY $0215,x[$7E:47EE]   A:4C7E X:45D9 Y:0092 P:envMxdizc
$81/A93A 20 64 DA    JSR $DA64  [$81:DA64]   A:4C7E X:45D9 Y:0879 P:envMxdizc
$81/A93D B0 03       BCS $03    [$A942]      A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/A942 A6 D8       LDX $D8    [$00:00D8]   A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/A944 C2 20       REP #$20                A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/A946 7B          TDC                     A:4C7E X:45D9 Y:0879 P:envmxdizC
$81/A947 9D 3A 02    STA $023A,x[$7E:4813]   A:0000 X:45D9 Y:0879 P:envmxdiZC
$81/A94A 9D 19 02    STA $0219,x[$7E:47F2]   A:0000 X:45D9 Y:0879 P:envmxdiZC
$81/A94D 3A          DEC A                   A:0000 X:45D9 Y:0879 P:envmxdiZC
$81/A94E 9D 17 02    STA $0217,x[$7E:47F0]   A:FFFF X:45D9 Y:0879 P:eNvmxdizC
$81/A951 E2 20       SEP #$20                A:FFFF X:45D9 Y:0879 P:eNvmxdizC
$81/A953 9E 1B 02    STZ $021B,x[$7E:47F4]   A:FFFF X:45D9 Y:0879 P:eNvMxdizC
$81/A956 20 80 A5    JSR $A580  [$81:A580]   A:FFFF X:45D9 Y:0879 P:eNvMxdizC
$81/A959 C2 20       REP #$20                A:5C00 X:45D9 Y:03AA P:envMxdizc
$81/A95B 7B          TDC                     A:5C00 X:45D9 Y:03AA P:envmxdizc
$81/A95C 9D 3A 02    STA $023A,x[$7E:4813]   A:0000 X:45D9 Y:03AA P:envmxdiZc
$81/A95F 9D 19 02    STA $0219,x[$7E:47F2]   A:0000 X:45D9 Y:03AA P:envmxdiZc
$81/A962 3A          DEC A                   A:0000 X:45D9 Y:03AA P:envmxdiZc
$81/A963 9D 17 02    STA $0217,x[$7E:47F0]   A:FFFF X:45D9 Y:03AA P:eNvmxdizc
$81/A966 E2 20       SEP #$20                A:FFFF X:45D9 Y:03AA P:eNvmxdizc
$81/A968 9E 1B 02    STZ $021B,x[$7E:47F4]   A:FFFF X:45D9 Y:03AA P:eNvMxdizc
$81/A96B BD 4F 00    LDA $004F,x[$7E:4628]   A:FFFF X:45D9 Y:03AA P:eNvMxdizc
$81/A96E C9 02       CMP #$02                A:FF00 X:45D9 Y:03AA P:envMxdiZc
$81/A970 F0 04       BEQ $04    [$A976]      A:FF00 X:45D9 Y:03AA P:eNvMxdizc
$81/A972 C9 03       CMP #$03                A:FF00 X:45D9 Y:03AA P:eNvMxdizc
$81/A974 D0 59       BNE $59       ; [$A9CF] Branch and exit if not equal
code is missing here
$81/A9CF 60          RTS

$81/A9D0 ?

$81/A9D0 C2 21       REP #$21                A:0000 X:0002 Y:0002 P:envMxdizc
$81/A9D2 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:0002 Y:0002 P:envmxdizc
$81/A9D4 BC 43 00    LDY $0043,x[$7E:461C]   A:0000 X:45D9 Y:0002 P:envmxdizc
$81/A9D7 B9 13 00    LDA $0013,y[$7E:45EC]   A:0000 X:45D9 Y:45D9 P:envmxdizc
$81/A9DA 85 29       STA $29    [$00:0029]   A:4C99 X:45D9 Y:45D9 P:envmxdizc
$81/A9DC E2 20       SEP #$20                A:4C99 X:45D9 Y:45D9 P:envmxdizc
$81/A9DE B9 15 00    LDA $0015,y[$7E:45EE]   A:4C99 X:45D9 Y:45D9 P:envMxdizc
$81/A9E1 85 2B       STA $2B    [$00:002B]   A:4C7E X:45D9 Y:45D9 P:envMxdizc
$81/A9E3 20 AE BC    JSR $BCAE  [$81:BCAE]   A:4C7E X:45D9 Y:45D9 P:envMxdizc
$81/A9E6 B0 0B       BCS $0B    [$A9F3]      A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/A9E8 DE 22 02    DEC $0222,x[$7E:47FB]   A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/A9EB D0 27       BNE $27    [$AA14]      A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/A9ED BD 20 02    LDA $0220,x[$7E:47F9]   A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/A9F0 9D 22 02    STA $0222,x[$7E:47FB]   A:0001 X:45D9 Y:45D9 P:envMxdizc
$81/A9F3 BC 47 00    LDY $0047,x[$7E:4620]   A:0001 X:45D9 Y:45D9 P:envMxdizc
$81/A9F6 C4 29       CPY $29    [$00:0029]   A:0001 X:45D9 Y:4D2B P:envMxdizc
$81/A9F8 F0 49       BEQ $49    [$AA43]      A:0001 X:45D9 Y:4D2B P:envMxdizC
$81/A9FA 20 C8 BC    JSR $BCC8  [$81:BCC8]   A:0001 X:45D9 Y:4D2B P:envMxdizC
$81/A9FD 90 44       BCC $44    [$AA43]      A:978C X:45D9 Y:45D9 P:envMxdizC
$81/A9FF 20 A7 BC    JSR $BCA7  [$81:BCA7]   A:978C X:45D9 Y:45D9 P:envMxdizC
$81/AA02 B0 2B       BCS $2B    [$AA2F]      A:9700 X:45D9 Y:45D9 P:eNvMxdizc
$81/AA04 FE 1E 02    INC $021E,x[$7E:47F7]   A:9700 X:45D9 Y:45D9 P:eNvMxdizc
$81/AA07 BD 1E 02    LDA $021E,x[$7E:47F7]   A:9700 X:45D9 Y:45D9 P:envMxdizc
$81/AA0A DD 1C 02    CMP $021C,x[$7E:47F5]   A:9701 X:45D9 Y:45D9 P:envMxdizc
$81/AA0D 90 D4       BCC $D4    [$A9E3]      A:9701 X:45D9 Y:45D9 P:envMxdiZC
$81/AA0F 20 AE BC    JSR $BCAE  [$81:BCAE]   A:9701 X:45D9 Y:45D9 P:envMxdiZC
$81/AA12 B0 CF       BCS $CF    [$A9E3]      A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/AA14 C2 21       REP #$21                A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/AA16 BC 43 00    LDY $0043,x[$7E:461C]   A:0000 X:45D9 Y:45D9 P:envmxdiZc
$81/AA19 A5 29       LDA $29    [$00:0029]   A:0000 X:45D9 Y:45DC P:envmxdizc
$81/AA1B 99 13 00    STA $0013,y[$7E:45EF]   A:9717 X:45D9 Y:45DC P:eNvmxdizc
$81/AA1E E2 20       SEP #$20                A:9717 X:45D9 Y:45DC P:eNvmxdizc
$81/AA20 A5 2B       LDA $2B    [$00:002B]   A:9717 X:45D9 Y:45DC P:eNvMxdizc
$81/AA22 99 15 00    STA $0015,y[$7E:45F1]   A:978C X:45D9 Y:45DC P:eNvMxdizc
$81/AA25 20 E7 C3    JSR $C3E7  [$81:C3E7]   A:978C X:45D9 Y:45DC P:eNvMxdizc
$81/AA28 20 D8 9B    JSR $9BD8  [$81:9BD8]   A:5C0F X:45D9 Y:45D9 P:envMxdizC
$81/AA2B A9 01       LDA #$01                A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/AA2D AB          PLB                     A:A801 X:45D9 Y:3C00 P:envMxdizc
$81/AA2E 60          RTS                     A:A801 X:45D9 Y:3C00 P:envMxdizc

$81/AA2F C2 21       REP #$21                A:0006 X:45D9 Y:4EF1 P:envMxdiZC
$81/AA31 BC 43 00    LDY $0043,x[$7E:461C]   A:0006 X:45D9 Y:4EF1 P:envmxdiZc
$81/AA34 A5 29       LDA $29    [$00:0029]   A:0006 X:45D9 Y:45D9 P:envmxdizc
$81/AA36 99 13 00    STA $0013,y[$7E:45EC]   A:4CC3 X:45D9 Y:45D9 P:envmxdizc
$81/AA39 E2 20       SEP #$20                A:4CC3 X:45D9 Y:45D9 P:envmxdizc
$81/AA3B A5 2B       LDA $2B    [$00:002B]   A:4CC3 X:45D9 Y:45D9 P:envMxdizc
$81/AA3D 99 15 00    STA $0015,y[$7E:45EE]   A:4C7E X:45D9 Y:45D9 P:envMxdizc
$81/AA40 4C AD AA    JMP $AAAD  [$81:AAAD]   A:4C7E X:45D9 Y:45D9 P:envMxdizc

$81/AA43 C2 21       REP #$21                A:0000 X:45D9 Y:45D9 P:envMxdizc
$81/AA45 8A          TXA                     A:0000 X:45D9 Y:45D9 P:envmxdizc
$81/AA46 DD 43 00    CMP $0043,x[$7E:461C]   A:45D9 X:45D9 Y:45D9 P:envmxdizc
$81/AA49 F0 18       BEQ $18    [$AA63]      A:45D9 X:45D9 Y:45D9 P:eNvmxdizc
$81/AA4B BD 43 00    LDA $0043,x[$7E:461C]   A:45D9 X:45D9 Y:45D9 P:eNvmxdizc
$81/AA4E 3A          DEC A                   A:45DC X:45D9 Y:45D9 P:envmxdizc
$81/AA4F 3A          DEC A                   A:45DB X:45D9 Y:45D9 P:envmxdizc
$81/AA50 3A          DEC A                   A:45DA X:45D9 Y:45D9 P:envmxdizc
$81/AA51 9D 43 00    STA $0043,x[$7E:461C]   A:45D9 X:45D9 Y:45D9 P:envmxdizc
$81/AA54 A8          TAY                     A:45D9 X:45D9 Y:45D9 P:envmxdizc
$81/AA55 B9 13 00    LDA $0013,y[$7E:45EC]   A:45D9 X:45D9 Y:45D9 P:envmxdizc
$81/AA58 85 29       STA $29    [$00:0029]   A:4C9B X:45D9 Y:45D9 P:envmxdizc
$81/AA5A E2 20       SEP #$20                A:4C9B X:45D9 Y:45D9 P:envmxdizc
$81/AA5C B9 15 00    LDA $0015,y[$7E:45EE]   A:4C9B X:45D9 Y:45D9 P:envMxdizc
$81/AA5F 85 2B       STA $2B    [$00:002B]   A:4C7E X:45D9 Y:45D9 P:envMxdizc
$81/AA61 80 9C       BRA $9C    [$A9FF]      A:4C7E X:45D9 Y:45D9 P:envMxdizc

$81/AA63 E2 20       SEP #$20                A:45D9 X:45D9 Y:4D2B P:envmxdiZC
$81/AA65 20 E7 C3    JSR $C3E7  [$81:C3E7]   A:45D9 X:45D9 Y:4D2B P:envMxdiZC
$81/AA68 20 D8 9B    JSR $9BD8  [$81:9BD8]   A:5D0F X:45D9 Y:5D40 P:envMxdizc
$81/AA6B 20 99 AB    JSR $AB99  [$81:AB99]   A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/AA6E B0 1C       BCS $1C    [$AA8C]      A:0003 X:45D9 Y:3C00 P:envMxdiZC
code is missing here
$81/AA8C A6 D8       LDX $D8    [$00:00D8]   A:0003 X:45D9 Y:3C00 P:envMxdiZC
$81/AA8E A9 04       LDA #$04                A:0003 X:45D9 Y:3C00 P:envMxdizC
$81/AA90 20 FF D3    JSR $D3FF  [$81:D3FF]   A:0004 X:45D9 Y:3C00 P:envMxdizC
$81/AA93 A6 D8       LDX $D8    [$00:00D8]   A:0004 X:45D9 Y:3C00 P:envMxdizC
$81/AA95 BD 72 00    LDA $0072,x[$7E:464B]   A:0004 X:45D9 Y:3C00 P:envMxdizC
$81/AA98 38          SEC                     A:0006 X:45D9 Y:3C00 P:envMxdizC
$81/AA99 FD 19 02    SBC $0219,x[$7E:47F2]   A:0006 X:45D9 Y:3C00 P:envMxdizC
$81/AA9C 4A          LSR A                   A:0002 X:45D9 Y:3C00 P:envMxdizC
$81/AA9D 48          PHA                     A:0001 X:45D9 Y:3C00 P:envMxdizc
$81/AA9E C2 20       REP #$20                A:0001 X:45D9 Y:3C00 P:envMxdizc
$81/AAA0 20 8E C4    JSR $C48E  [$81:C48E]   A:0001 X:45D9 Y:3C00 P:envmxdizc
$81/AAA3 E2 20       SEP #$20                A:0016 X:45D9 Y:4FAD P:envmxdizc
$81/AAA5 68          PLA                     A:0016 X:45D9 Y:4FAD P:envMxdizc
$81/AAA6 3A          DEC A                   A:0001 X:45D9 Y:4FAD P:envMxdizc
$81/AAA7 D0 F4       BNE $F4    [$AA9D]      A:0000 X:45D9 Y:4FAD P:envMxdiZc
$81/AAA9 A9 01       LDA #$01                A:0000 X:45D9 Y:4FAD P:envMxdiZc
$81/AAAB AB          PLB                     A:0001 X:45D9 Y:4FAD P:envMxdizc
$81/AAAC 60          RTS                     A:0001 X:45D9 Y:4FAD P:envMxdizc

$81/AAAD A6 D8       LDX $D8    [$00:00D8]   A:4C7E X:45D9 Y:45D9 P:envMxdizc
$81/AAAF A5 B4       LDA $B4    [$00:00B4]   A:4C7E X:45D9 Y:45D9 P:envMxdizc
$81/AAB1 9D 17 02    STA $0217,x[$7E:47F0]   A:4C01 X:45D9 Y:45D9 P:envMxdizc
$81/AAB4 A9 03       LDA #$03                A:4C01 X:45D9 Y:45D9 P:envMxdizc
$81/AAB6 20 19 D4    JSR $D419  [$81:D419]   A:4C03 X:45D9 Y:45D9 P:envMxdizc
$81/AAB9 20 E7 C3    JSR $C3E7  [$81:C3E7]   A:45DA X:45D9 Y:45D9 P:envMxdizc
$81/AABC 20 D8 9B    JSR $9BD8  [$81:9BD8]   A:5C0F X:45D9 Y:45D9 P:envMxdizC
$81/AABF A9 01       LDA #$01                A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/AAC1 AB          PLB                     A:A801 X:45D9 Y:3C00 P:envMxdizc
$81/AAC2 60          RTS                     A:A801 X:45D9 Y:3C00 P:envMxdizc

$81/AAC3 ? TEXTBOX related?

$81/AAC3 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:0006 Y:0006 P:envMxdizc
$81/AAC5 BD 1B 02    LDA $021B,x[$7E:47F4]   A:0000 X:45D9 Y:0006 P:envMxdizc
$81/AAC8 DD 72 00    CMP $0072,x[$7E:464B]   A:0006 X:45D9 Y:0006 P:envMxdizc
$81/AACB 90 09       BCC $09    [$AAD6]      A:0006 X:45D9 Y:0006 P:envMxdiZC
$81/AACD 9E 2E 02    STZ $022E,x[$7E:4807]   A:0006 X:45D9 Y:0006 P:envMxdiZC
$81/AAD0 9E 1B 02    STZ $021B,x[$7E:47F4]   A:0006 X:45D9 Y:0006 P:envMxdiZC
$81/AAD3 4C 3F AB    JMP $AB3F  [$81:AB3F]   A:0006 X:45D9 Y:0006 P:envMxdiZC
code is missing here
$81/AB3F A6 D8       LDX $D8    [$00:00D8]   A:0006 X:45D9 Y:0006 P:envMxdiZC
$81/AB41 20 99 AB    JSR $AB99  [$81:AB99]   A:0006 X:45D9 Y:0006 P:envMxdizC
$81/AB44 B0 0F       BCS $0F    [$AB55]      A:0003 X:45D9 Y:0006 P:envMxdiZC
code is missing here
$81/AB55 A9 0B       LDA #$0B                A:0003 X:45D9 Y:0006 P:envMxdiZC
$81/AB57 20 19 D4    JSR $D419  [$81:D419]   A:000B X:45D9 Y:0006 P:envMxdizC
$81/AB5A A6 D8       LDX $D8    [$00:00D8]   A:45DB X:45D9 Y:0006 P:envMxdizC
$81/AB5C 20 DE AC    JSR $ACDE  [$81:ACDE]   A:45DB X:45D9 Y:0006 P:envMxdizC
$81/AB5F AD 65 05    LDA $0565  [$7E:0565]   A:FFFF X:45D9 Y:4E9B P:envMxdiZC
$81/AB62 89 80       BIT #$80                A:FF00 X:45D9 Y:4E9B P:envMxdiZC
$81/AB64 D0 05       BNE $05    [$AB6B]      A:FF00 X:45D9 Y:4E9B P:envMxdiZC
$81/AB66 20 EE AB    JSR $ABEE  [$81:ABEE]   A:FF00 X:45D9 Y:4E9B P:envMxdiZC
$81/AB69 80 24       BRA $24    [$AB8F]      A:D900 X:45D9 Y:6F80 P:envMxdizc
$81/AB6B 20 AE AB    JSR $ABAE  [$81:ABAE]   A:FF80 X:45D9 Y:4E9B P:eNvMxdizC
$81/AB6E A6 D8       LDX $D8    [$00:00D8]   A:FF00 X:45D9 Y:4E9B P:envMxdiZC
$81/AB70 20 F1 AB    JSR $ABF1     ; Show and animate Gloved Hand
$81/AB73 20 2F D4    JSR $D42F  [$81:D42F]   A:2301 X:45D9 Y:0006 P:envMxdizc
$81/AB76 A5 A5       LDA $A5    [$00:00A5]   A:2301 X:45D9 Y:0006 P:envMxdizc
$81/AB78 89 08       BIT #$08                A:230C X:45D9 Y:0006 P:envMxdizc
$81/AB7A F0 13       BEQ $13    [$AB8F]      A:230C X:45D9 Y:0006 P:envMxdizc
$81/AB7C 20 2F D4    JSR $D42F  [$81:D42F]   A:230C X:45D9 Y:0006 P:envMxdizc
$81/AB7F 20 11 CF    JSR $CF11  [$81:CF11]   A:230C X:45D9 Y:0006 P:envMxdizc
$81/AB82 A6 D8       LDX $D8    [$00:00D8]   A:23EE X:45D9 Y:45D9 P:eNvMxdizc
$81/AB84 9E 1B 02    STZ $021B,x[$7E:47F4]   A:23EE X:45D9 Y:45D9 P:envMxdizc
$81/AB87 A9 FF       LDA #$FF                A:23EE X:45D9 Y:45D9 P:envMxdizc
$81/AB89 9D 17 02    STA $0217,x[$7E:47F0]   A:23FF X:45D9 Y:45D9 P:eNvMxdizc
$81/AB8C 9E 19 02    STZ $0219,x[$7E:47F2]   A:23FF X:45D9 Y:45D9 P:eNvMxdizc
$81/AB8F 20 E7 C3    JSR $C3E7  [$81:C3E7]   A:D900 X:45D9 Y:6F80 P:envMxdizc
$81/AB92 20 D8 9B    JSR $9BD8  [$81:9BD8]   A:5C0F X:45D9 Y:45D9 P:envMxdizC
$81/AB95 A9 01       LDA #$01                A:A87E X:45D9 Y:3C00 P:envMxdizc
$81/AB97 AB          PLB                     A:A801 X:45D9 Y:3C00 P:envMxdizc
$81/AB98 60          RTS                     A:A801 X:45D9 Y:3C00 P:envMxdizc

$81/AB99 ?

$81/AB99 7B          TDC                     A:0000 X:0008 Y:0008 P:envMxdizc
$81/AB9A A5 A4       LDA $A4    [$00:00A4]   A:0000 X:0008 Y:0008 P:envMxdiZc
$81/AB9C 89 10       BIT #$10                A:0003 X:0008 Y:0008 P:envMxdizc
$81/AB9E D0 06       BNE $06    [$ABA6]      A:0003 X:0008 Y:0008 P:envMxdiZc
$81/ABA0 89 80       BIT #$80                A:0003 X:0008 Y:0008 P:envMxdiZc
$81/ABA2 D0 06       BNE $06    [$ABAA]      A:0003 X:0008 Y:0008 P:envMxdiZc
$81/ABA4 38          SEC                     A:0003 X:0008 Y:0008 P:envMxdiZc
$81/ABA5 60          RTS                     A:0003 X:0008 Y:0008 P:envMxdiZC
code is missing here

$81/ABAE ?

$81/ABAE A6 D8       LDX $D8    [$00:00D8]   A:FF80 X:45D9 Y:4E9B P:eNvMxdizC
$81/ABB0 BD 4F 00    LDA $004F,x[$7E:4628]   A:FF80 X:45D9 Y:4E9B P:envMxdizC
$81/ABB3 F0 04       BEQ $04    [$ABB9]      A:FF00 X:45D9 Y:4E9B P:envMxdiZC
code is missing here
$81/ABB9 60          RTS                     A:FF00 X:45D9 Y:4E9B P:envMxdiZC

$81/ABEE ?

$81/ABEE 7B          TDC                     A:FF00 X:45D9 Y:4E9B P:envMxdiZC
$81/ABEF 80 02       BRA $02    [$ABF3]      A:0000 X:45D9 Y:4E9B P:envMxdiZC

$81/ABF1 TEXTBOX: Show and animate Gloved Hand

At the End of a Textbox, there can appear a Gloved Hand Icon that moves up and down to signalize that this message will go on. This gets animated here.

$81/ABF1 A9 01       LDA #$01                A:FF00 X:45D9 Y:4E9B P:envMxdizC
$81/ABF3 48          PHA                     A:0000 X:45D9 Y:4E9B P:envMxdiZC
$81/ABF4 48          PHA                     A:0000 X:45D9 Y:4E9B P:envMxdiZC
$81/ABF5 20 1E BC    JSR $BC1E  [$81:BC1E]   A:0000 X:45D9 Y:4E9B P:envMxdiZC
$81/ABF8 85 04       STA $04    [$00:0004]   A:00D0 X:45D9 Y:4E9B P:envmxdizc
$81/ABFA A5 00       LDA $00       ; Load X-Position of the right corner of the active textbox? (result of testing)
$81/ABFC 3A          DEC A         ; Decrement twice to move the Gloved Hand 2 Tiles to the left
$81/ABFD 3A          DEC A
$81/ABFE 0A          ASL A         ; Multiply by 2
$81/ABFF 65 04       ADC $04    [$00:0004]   A:0022 X:45D9 Y:4E9B P:envmxdizc
$81/AC01 29 FF 07    AND #$07FF              A:00F2 X:45D9 Y:4E9B P:envmxdizc
$81/AC04 85 04       STA $04    [$00:0004]   A:00F2 X:45D9 Y:4E9B P:envmxdizc
$81/AC06 A5 02       LDA $02       ; Load Y-Position of the lower edge of the active textbox? (result of testing)
$81/AC08 3A          DEC A         ; Decrement to move the Gloved Hand one Tile up
$81/AC09 EB          XBA           ; Multiply by #$20 (one Tilemap line = #$20 bytes)
$81/AC0A 4A          LSR A
$81/AC0B 4A          LSR A
$81/AC0C 65 04       ADC $04       ; Add X-Position in this line
$81/AC0E 29 FF 07    AND #$07FF              A:01F2 X:45D9 Y:4E9B P:envmxdizc
$81/AC11 AA          TAX           ; Transfer in X as Store Index
$81/AC12 A3 01       LDA $01,s  [$00:1FC3]   A:01F2 X:01F2 Y:4E9B P:envmxdizc
$81/AC14 F0 05       BEQ $05    [$AC1B]      A:0000 X:01F2 Y:4E9B P:envmxdiZc
$81/AC16 A0 E6 AB    LDY #$ABE6    ; Tilemap Address for the Gloved Hand Icon
$81/AC19 80 03       BRA $03    [$AC1E]      A:0101 X:01F2 Y:ABE6 P:eNvmxdizc
$81/AC1B A0 DE AB    LDY #$ABDE    ; Tilemap Address to hide the Gloved Hand Icon
$81/AC1E 84 20       STY $20       ; Build source address of Tilemap in [$20]
$81/AC20 E2 20       SEP #$20      ; A = 8-bit
$81/AC22 A9 81       LDA #$81      ; Bank of the Tilemap is in both cases $81
$81/AC24 85 22       STA $22
$81/AC26 20 51 AC    JSR $AC51     ; Write Gloved Hand Icon into BG Tilemap buffer (2x2 tiles)
$81/AC29 A3 01       LDA $01,s  [$00:1FC3]   A:23F3 X:01F2 Y:0006 P:eNvMxdizc
$81/AC2B D0 1F       BNE $1F    [$AC4C]      A:2300 X:01F2 Y:0006 P:envMxdiZc
$81/AC2D A2 D7 D9    LDX #$D9D7    ; DMA Source Address 1 - Gloved Hand Up sprite tiles
$81/AC30 AD B9 05    LDA $05B9     ; Load General Frame Counter to decide which tiles to take
$81/AC33 89 10       BIT #$10      ; Each 16 frames, the animation changes
$81/AC35 F0 03       BEQ $03       ; [$AC3A] If Bit is set, use Source Address 2
$81/AC37 A2 17 DA    LDX #$DA17    ; DMA Source Address 2 - Gloved Hand Down sprite tiles
$81/AC3A A0 40 00    LDY #$0040    ; Number of Bytes to transfer
$81/AC3D 84 0C       STY $0C
$81/AC3F A0 80 6F    LDY #$6F80    ; VRAM Destination
$81/AC42 A9 80       LDA #$80      ; VRAM Settings (for $2115)
$81/AC44 85 0E       STA $0E
$81/AC46 A9 81       LDA #$81      ; DMA Source Bank
$81/AC48 22 24 9F 80 JSL $809F24   ; VRAM DMA
$81/AC4C 68          PLA                     A:D980 X:0000 Y:6F80 P:envMxdizc
$81/AC4D 68          PLA                     A:D900 X:0000 Y:6F80 P:envMxdiZc
$81/AC4E A6 D8       LDX $D8    [$00:00D8]   A:D900 X:0000 Y:6F80 P:envMxdiZc
$81/AC50 60          RTS                     A:D900 X:45D9 Y:6F80 P:envMxdizc

$81/AC51 TEXTBOX: Write Glove Hand into Tilemap

This loads four subsequent double-bytes from [$20] and puts it to x, x+2, x+#$40 and x+#$42.

$81/AC51 08          PHP                     A:0081 X:01F2 Y:ABDE P:eNvMxdizc
$81/AC52 DA          PHX                     A:0081 X:01F2 Y:ABDE P:eNvMxdizc
$81/AC53 C2 20       REP #$20                A:0081 X:01F2 Y:ABDE P:eNvMxdizc
$81/AC55 A0 00 00    LDY #$0000              A:0081 X:01F2 Y:ABDE P:eNvmxdizc
$81/AC58 B7 20       LDA [$20],y[$81:ABDE]   A:0081 X:01F2 Y:0000 P:envmxdiZc
$81/AC5A 9F 00 A8 7E STA $7EA800,x[$7E:A9F2] A:23F0 X:01F2 Y:0000 P:envmxdizc
$81/AC5E C8          INY                     A:23F0 X:01F2 Y:0000 P:envmxdizc
$81/AC5F C8          INY                     A:23F0 X:01F2 Y:0001 P:envmxdizc
$81/AC60 B7 20       LDA [$20],y[$81:ABE0]   A:23F0 X:01F2 Y:0002 P:envmxdizc
$81/AC62 9F 02 A8 7E STA $7EA802,x[$7E:A9F4] A:23F1 X:01F2 Y:0002 P:envmxdizc
$81/AC66 C8          INY                     A:23F1 X:01F2 Y:0002 P:envmxdizc
$81/AC67 C8          INY                     A:23F1 X:01F2 Y:0003 P:envmxdizc
$81/AC68 8A          TXA                     A:23F1 X:01F2 Y:0004 P:envmxdizc
$81/AC69 18          CLC                     A:01F2 X:01F2 Y:0004 P:envmxdizc
$81/AC6A 69 40 00    ADC #$0040              A:01F2 X:01F2 Y:0004 P:envmxdizc
$81/AC6D 29 FF 07    AND #$07FF              A:0232 X:01F2 Y:0004 P:envmxdizc
$81/AC70 AA          TAX                     A:0232 X:01F2 Y:0004 P:envmxdizc
$81/AC71 B7 20       LDA [$20],y[$81:ABE2]   A:0232 X:0232 Y:0004 P:envmxdizc
$81/AC73 9F 00 A8 7E STA $7EA800,x[$7E:AA32] A:23F2 X:0232 Y:0004 P:envmxdizc
$81/AC77 C8          INY                     A:23F2 X:0232 Y:0004 P:envmxdizc
$81/AC78 C8          INY                     A:23F2 X:0232 Y:0005 P:envmxdizc
$81/AC79 B7 20       LDA [$20],y[$81:ABE4]   A:23F2 X:0232 Y:0006 P:envmxdizc
$81/AC7B 9F 02 A8 7E STA $7EA802,x[$7E:AA34] A:23F3 X:0232 Y:0006 P:envmxdizc
$81/AC7F FA          PLX                     A:23F3 X:0232 Y:0006 P:envmxdizc
$81/AC80 28          PLP                     A:23F3 X:01F2 Y:0006 P:envmxdizc
$81/AC81 60          RTS                     A:23F3 X:01F2 Y:0006 P:eNvMxdizc

$81/AC82 ?

$81/AC82 20 99 AB    JSR $AB99  [$81:AB99]   A:0000 X:0008 Y:0008 P:envMxdizc
$81/AC85 90 2B       BCC $2B    [$ACB2]      A:0003 X:0008 Y:0008 P:envMxdiZC
$81/AC87 A6 D8       LDX $D8    [$00:00D8]   A:0003 X:0008 Y:0008 P:envMxdiZC
$81/AC89 20 DE AC    JSR $ACDE  [$81:ACDE]   A:0003 X:3919 Y:0008 P:envMxdizC
$81/AC8C AD 65 05    LDA $0565     ; Joypad held buttons - Copy?
$81/AC8F 89 80       BIT #$80                A:FF00 X:3919 Y:41DB P:envMxdiZC
$81/AC91 D0 11       BNE $11    [$ACA4]      A:FF00 X:3919 Y:41DB P:envMxdiZC
$81/AC93 AD 66 05    LDA $0566     ; Joypad held buttons - Copy?
$81/AC96 89 80       BIT #$80                A:FF00 X:3919 Y:41DB P:envMxdiZC
$81/AC98 D0 0A       BNE $0A    [$ACA4]      A:FF00 X:3919 Y:41DB P:envMxdiZC
$81/AC9A 20 E7 C3    JSR $C3E7  [$81:C3E7]   A:FF00 X:3919 Y:41DB P:envMxdiZC
$81/AC9D 20 D8 9B    JSR $9BD8  [$81:9BD8]   A:580F X:3919 Y:3919 P:envMxdizC
$81/ACA0 A9 01       LDA #$01                A:AC7E X:3919 Y:3C00 P:envMxdizc
$81/ACA2 AB          PLB                     A:AC01 X:3919 Y:3C00 P:envMxdizc
$81/ACA3 60          RTS                     A:AC01 X:3919 Y:3C00 P:envMxdizc
$81/ACA4 20 B5 AC    JSR $ACB5  [$81:ACB5]   A:FF80 X:3919 Y:41DB P:eNvMxdizC
$81/ACA7 A6 D8       LDX $D8    [$00:00D8]   A:0000 X:0000 Y:41DB P:envMxdiZc
$81/ACA9 20 2F D4    JSR $D42F  [$81:D42F]   A:0000 X:3919 Y:41DB P:envMxdizc
$81/ACAC B0 04       BCS $04    [$ACB2]      A:0000 X:3919 Y:41DB P:envMxdiZC
code is missing here
$81/ACB2 7B          TDC                     A:0000 X:3919 Y:41DB P:envMxdiZC
$81/ACB3 AB          PLB                     A:0000 X:3919 Y:41DB P:envMxdiZC
$81/ACB4 60          RTS                     A:0000 X:3919 Y:41DB P:envMxdizC

$81/ACB5 ?

$81/ACB5 A6 D8       LDX $D8    [$00:00D8]   A:FF80 X:3919 Y:41DB P:eNvMxdizC
$81/ACB7 7B          TDC                     A:FF80 X:3919 Y:41DB P:envMxdizC
$81/ACB8 BD 4F 00    LDA $004F,x[$7E:3968]   A:0000 X:3919 Y:41DB P:envMxdiZC
$81/ACBB 0A          ASL A                   A:0000 X:3919 Y:41DB P:envMxdiZC
$81/ACBC AA          TAX                     A:0000 X:3919 Y:41DB P:envMxdiZc
$81/ACBD 7C C0 AC    JMP ($ACC0,x)[$81:ACD8] A:0000 X:0000 Y:41DB P:envMxdiZc

$81/ACD8 ?

$81/ACD8 60          RTS                     A:0000 X:0000 Y:41DB P:envMxdiZc

$81/ACDE ?

$81/ACDE AD 62 05    LDA $0562  [$7E:0562]   A:0003 X:3919 Y:0008 P:envMxdizC
$81/ACE1 89 40       BIT #$40                A:0000 X:3919 Y:0008 P:envMxdiZC
$81/ACE3 F0 11       BEQ $11    [$ACF6]      A:0000 X:3919 Y:0008 P:envMxdiZC
code is missing here
$81/ACF6 20 C9 AD    JSR $ADC9  [$81:ADC9]   A:0000 X:3919 Y:0008 P:envMxdiZC
$81/ACF9 B0 03       BCS $03    [$ACFE]      A:FFFF X:3919 Y:41DB P:envMxdiZC
$81/ACFB 20 ED AD    JSR $ADED  [$81:ADED]   A:4EF1 X:45D9 Y:4EF1 P:envMxdiZc
$81/ACFE 60          RTS                     A:FFFF X:3919 Y:41DB P:envMxdiZC

$81/ADC9 ?

$81/ADC9 C2 20       REP #$20                A:0000 X:3919 Y:0008 P:envMxdiZC
$81/ADCB BD 72 00    LDA $0072,x[$7E:398B]   A:0000 X:3919 Y:0008 P:envmxdiZC
$81/ADCE 4A          LSR A                   A:0006 X:3919 Y:0008 P:envmxdizC
$81/ADCF 85 0E       STA $0E    [$00:000E]   A:0003 X:3919 Y:0008 P:envmxdizc
$81/ADD1 BC 28 02    LDY $0228,x[$7E:3B41]   A:0003 X:3919 Y:0008 P:envmxdizc
$81/ADD4 20 18 B9    JSR $B918  [$81:B918]   A:0003 X:3919 Y:4235 P:envmxdizc
$81/ADD7 B0 0E       BCS $0E    [$ADE7]      A:0016 X:3919 Y:420D P:eNvmxdizc
$81/ADD9 C9 FF FF    CMP #$FFFF              A:0016 X:3919 Y:420D P:eNvmxdizc
$81/ADDC F0 09       BEQ $09    [$ADE7]      A:0016 X:3919 Y:420D P:envmxdizc
$81/ADDE 98          TYA                     A:0016 X:3919 Y:420D P:envmxdizc
$81/ADDF 9D 2A 02    STA $022A,x[$7E:3B43]   A:420D X:3919 Y:420D P:envmxdizc
$81/ADE2 C6 0E       DEC $0E    [$00:000E]   A:420D X:3919 Y:420D P:envmxdizc
$81/ADE4 D0 EE       BNE $EE    [$ADD4]      A:420D X:3919 Y:420D P:envmxdizc
$81/ADE6 18          CLC                     A:4EF1 X:45D9 Y:4EF1 P:envmxdiZc
$81/ADE7 E2 20       SEP #$20                A:FFFF X:3919 Y:41DB P:envmxdiZC
$81/ADE9 60          RTS                     A:FFFF X:3919 Y:41DB P:envMxdiZC

$81/ADED ?

$81/ADED A9 01       LDA #$01                A:4EF1 X:45D9 Y:4EF1 P:envMxdiZc
$81/ADEF 48          PHA                     A:4E01 X:45D9 Y:4EF1 P:envMxdizc
$81/ADF0 48          PHA                     A:4E01 X:45D9 Y:4EF1 P:envMxdizc
$81/ADF1 A6 D8       LDX $D8    [$00:00D8]   A:4E01 X:45D9 Y:4EF1 P:envMxdizc
$81/ADF3 BD 4F 00    LDA $004F,x[$7E:4628]   A:4E01 X:45D9 Y:4EF1 P:envMxdizc
$81/ADF6 C9 07       CMP #$07                A:4E00 X:45D9 Y:4EF1 P:envMxdiZc
$81/ADF8 D0 03       BNE $03    [$ADFD]      A:4E00 X:45D9 Y:4EF1 P:eNvMxdizc
code is missing here
$81/ADFD A0 00 2C    LDY #$2C00              A:4E00 X:45D9 Y:4EF1 P:eNvMxdizc
$81/AE00 BD 39 02    LDA $0239,x[$7E:4812]   A:4E00 X:45D9 Y:2C00 P:envMxdizc
$81/AE03 C9 01       CMP #$01                A:4E00 X:45D9 Y:2C00 P:envMxdiZc
$81/AE05 D0 03       BNE $03    [$AE0A]      A:4E00 X:45D9 Y:2C00 P:eNvMxdizc
code is missing here
$81/AE0A 84 0C       STY $0C    [$00:000C]   A:4E00 X:45D9 Y:2C00 P:eNvMxdizc
$81/AE0C C2 20       REP #$20                A:4E00 X:45D9 Y:2C00 P:eNvMxdizc
$81/AE0E BD 62 00    LDA $0062,x[$7E:463B]   A:4E00 X:45D9 Y:2C00 P:eNvmxdizc
$81/AE11 85 06       STA $06    [$00:0006]   A:03C9 X:45D9 Y:2C00 P:envmxdizc
$81/AE13 BD 66 00    LDA $0066,x[$7E:463F]   A:03C9 X:45D9 Y:2C00 P:envmxdizc
$81/AE16 85 08       STA $08    [$00:0008]   A:83C9 X:45D9 Y:2C00 P:eNvmxdizc
$81/AE18 BC 2A 02    LDY $022A,x[$7E:4803]   A:83C9 X:45D9 Y:2C00 P:eNvmxdizc
$81/AE1B 20 18 B9    JSR $B918  [$81:B918]   A:83C9 X:45D9 Y:4EF1 P:envmxdizc
$81/AE1E BD 68 00    LDA $0068,x[$7E:4641]   A:0016 X:45D9 Y:4ECD P:eNvmxdizc
$81/AE21 85 0A       STA $0A    [$00:000A]   A:03C7 X:45D9 Y:4ECD P:envmxdizc
$81/AE23 BD 60 00    LDA $0060,x[$7E:4639]   A:03C7 X:45D9 Y:4ECD P:envmxdizc
$81/AE26 AA          TAX                     A:00F6 X:45D9 Y:4ECD P:envmxdizc
$81/AE27 B0 0A       BCS $0A    [$AE33]      A:00F6 X:00F6 Y:4ECD P:envmxdizc
$81/AE29 A3 01       LDA $01,s  [$00:1FC1]   A:00F6 X:00F6 Y:4ECD P:envmxdizc
$81/AE2B D0 06       BNE $06    [$AE33]      A:0101 X:00F6 Y:4ECD P:envmxdizc
code is missing here
$81/AE33 A5 0A       LDA $0A    [$00:000A]   A:0101 X:00F6 Y:4ECD P:envmxdizc
$81/AE35 05 0C       ORA $0C    [$00:000C]   A:03C7 X:00F6 Y:4ECD P:envmxdizc
$81/AE37 9F 00 A8 7E STA $7EA800,x[$7E:A8F6] A:2FC7 X:00F6 Y:4ECD P:envmxdizc
$81/AE3B A6 D8       LDX $D8    [$00:00D8]   A:2FC7 X:00F6 Y:4ECD P:envmxdizc
$81/AE3D BC 2A 02    LDY $022A,x[$7E:4803]   A:2FC7 X:45D9 Y:4ECD P:envmxdizc
$81/AE40 BD 72 00    LDA $0072,x[$7E:464B]   A:2FC7 X:45D9 Y:4EF1 P:envmxdizc
$81/AE43 4A          LSR A                   A:0006 X:45D9 Y:4EF1 P:envmxdizc
$81/AE44 85 04       STA $04    [$00:0004]   A:0003 X:45D9 Y:4EF1 P:envmxdizc
$81/AE46 20 64 B9    JSR $B964  [$81:B964]   A:0003 X:45D9 Y:4EF1 P:envmxdizc
$81/AE49 B0 04       BCS $04    [$AE4F]      A:0016 X:45D9 Y:4F17 P:envmxdizc
$81/AE4B C6 04       DEC $04    [$00:0004]   A:0016 X:45D9 Y:4F17 P:envmxdizc
$81/AE4D D0 F7       BNE $F7    [$AE46]      A:0016 X:45D9 Y:4F17 P:envmxdizc
$81/AE4F BD 64 00    LDA $0064,x[$7E:463D]   A:FFFF X:45D9 Y:4F51 P:envmxdizC
$81/AE52 AA          TAX                     A:0236 X:45D9 Y:4F51 P:envmxdizC
$81/AE53 B0 0A       BCS $0A    [$AE5F]      A:0236 X:0236 Y:4F51 P:envmxdizC
code is missing here
$81/AE5F A5 0A       LDA $0A    [$00:000A]   A:0236 X:0236 Y:4F51 P:envmxdizC
$81/AE61 05 0C       ORA $0C    [$00:000C]   A:03C7 X:0236 Y:4F51 P:envmxdizC
$81/AE63 9F 00 A8 7E STA $7EA800,x[$7E:AA36] A:2FC7 X:0236 Y:4F51 P:envmxdizC
$81/AE67 68          PLA                     A:2FC7 X:0236 Y:4F51 P:envmxdizC
$81/AE68 E2 20       SEP #$20                A:0101 X:0236 Y:4F51 P:envmxdizC
$81/AE6A A6 D8       LDX $D8    [$00:00D8]   A:0101 X:0236 Y:4F51 P:envMxdizC
$81/AE6C 60          RTS                     A:0101 X:45D9 Y:4F51 P:envMxdizC

$81/B918 ?

$81/B918 BD 24 02    LDA $0224,x[$7E:3B3D]   A:0003 X:3919 Y:4235 P:envmxdizc
$81/B91B 85 00       STA $00    [$00:0000]   A:41D9 X:3919 Y:4235 P:envmxdizc
$81/B91D BD 26 02    LDA $0226,x[$7E:3B3F]   A:41D9 X:3919 Y:4235 P:envmxdizc
$81/B920 85 02       STA $02    [$00:0002]   A:45D9 X:3919 Y:4235 P:envmxdizc
$81/B922 C4 00       CPY $00    [$00:0000]   A:45D9 X:3919 Y:4235 P:envmxdizc
$81/B924 D0 03       BNE $03    [$B929]      A:45D9 X:3919 Y:4235 P:envmxdizC
code is missing here
$81/B929 88          DEY                     A:45D9 X:3919 Y:4235 P:envmxdizC
$81/B92A 88          DEY                     A:45D9 X:3919 Y:4234 P:envmxdizC
$81/B92B B9 00 00    LDA $0000,y[$7E:4233]   A:45D9 X:3919 Y:4233 P:envmxdizC
$81/B92E C9 FF FF    CMP #$FFFF              A:0016 X:3919 Y:4233 P:envmxdizC
$81/B931 F0 2F       BEQ $2F    [$B962]      A:0016 X:3919 Y:4233 P:envmxdizc
$81/B933 C4 00       CPY $00    [$00:0000]   A:0016 X:3919 Y:4233 P:envmxdizc
$81/B935 D0 03       BNE $03    [$B93A]      A:0016 X:3919 Y:4233 P:envmxdizC
code is missing here
$81/B93A 88          DEY                     A:0016 X:3919 Y:4233 P:envmxdizC
$81/B93B 88          DEY                     A:0016 X:3919 Y:4232 P:envmxdizC
$81/B93C B9 00 00    LDA $0000,y[$7E:4231]   A:0016 X:3919 Y:4231 P:envmxdizC
$81/B93F C9 FF FF    CMP #$FFFF              A:0105 X:3919 Y:4231 P:envmxdizC
$81/B942 F0 13       BEQ $13    [$B957]      A:0105 X:3919 Y:4231 P:envmxdizc
$81/B944 29 FF 0F    AND #$0FFF              A:0105 X:3919 Y:4231 P:envmxdizc
$81/B947 C9 16 00    CMP #$0016              A:0105 X:3919 Y:4231 P:envmxdizc
$81/B94A F0 0B       BEQ $0B    [$B957]      A:0105 X:3919 Y:4231 P:envmxdizC
$81/B94C C4 00       CPY $00    [$00:0000]   A:0105 X:3919 Y:4231 P:envmxdizC
$81/B94E D0 03       BNE $03    [$B953]      A:0105 X:3919 Y:4231 P:envmxdizC
code is missing here
$81/B953 88          DEY                     A:0105 X:3919 Y:4231 P:envmxdizC
$81/B954 88          DEY                     A:0105 X:3919 Y:4230 P:envmxdizC
$81/B955 80 E5       BRA $E5    [$B93C]      A:0105 X:3919 Y:422F P:envmxdizC
$81/B957 C8          INY                     A:0016 X:3919 Y:420B P:envmxdiZC
$81/B958 C8          INY                     A:0016 X:3919 Y:420C P:envmxdizC
$81/B959 C4 02       CPY $02    [$00:0002]   A:0016 X:3919 Y:420D P:envmxdizC
$81/B95B D0 03       BNE $03    [$B960]      A:0016 X:3919 Y:420D P:eNvmxdizc
code is missing here
$81/B960 18          CLC                     A:0016 X:3919 Y:420D P:eNvmxdizc
$81/B961 60          RTS                     A:0016 X:3919 Y:420D P:eNvmxdizc

$81/B964 ?

$81/B964 BD 26 02    LDA $0226,x[$7E:47FF]   A:0003 X:45D9 Y:4EF1 P:envmxdizc
$81/B967 85 02       STA $02    [$00:0002]   A:5299 X:45D9 Y:4EF1 P:envmxdizc
$81/B969 B9 00 00    LDA $0000,y[$7E:4EF1]   A:5299 X:45D9 Y:4EF1 P:envmxdizc
$81/B96C 29 FF 0F    AND #$0FFF              A:00D4 X:45D9 Y:4EF1 P:envmxdizc
$81/B96F C9 16 00    CMP #$0016              A:00D4 X:45D9 Y:4EF1 P:envmxdizc
$81/B972 F0 0B       BEQ $0B    [$B97F]      A:00D4 X:45D9 Y:4EF1 P:envmxdizC
$81/B974 C8          INY                     A:00D4 X:45D9 Y:4EF1 P:envmxdizC
$81/B975 C8          INY                     A:00D4 X:45D9 Y:4EF2 P:envmxdizC
$81/B976 C4 02       CPY $02    [$00:0002]   A:00D4 X:45D9 Y:4EF3 P:envmxdizC
$81/B978 D0 03       BNE $03    [$B97D]      A:00D4 X:45D9 Y:4EF3 P:eNvmxdizc
code is missing here
$81/B97D 80 EA       BRA $EA    [$B969]      A:00D4 X:45D9 Y:4EF3 P:eNvmxdizc
$81/B97F C8          INY                     A:0016 X:45D9 Y:4F15 P:envmxdiZC
$81/B980 C8          INY                     A:0016 X:45D9 Y:4F16 P:envmxdizC
$81/B981 C4 02       CPY $02    [$00:0002]   A:0016 X:45D9 Y:4F17 P:envmxdizC
$81/B983 D0 03       BNE $03    [$B988]      A:0016 X:45D9 Y:4F17 P:eNvmxdizc
code is missing here
$81/B988 5A          PHY                     A:0016 X:45D9 Y:4F17 P:eNvmxdizc
$81/B989 B9 00 00    LDA $0000,y[$7E:4F17]   A:0016 X:45D9 Y:4F17 P:eNvmxdizc
$81/B98C C9 FF FF    CMP #$FFFF              A:0020 X:45D9 Y:4F17 P:envmxdizc
$81/B98F F0 16       BEQ $16    [$B9A7]      A:0020 X:45D9 Y:4F17 P:envmxdizc
$81/B991 29 FF 0F    AND #$0FFF              A:0020 X:45D9 Y:4F17 P:envmxdizc
$81/B994 C9 16 00    CMP #$0016              A:0020 X:45D9 Y:4F17 P:envmxdizc
$81/B997 F0 0B       BEQ $0B    [$B9A4]      A:0020 X:45D9 Y:4F17 P:envmxdizC
$81/B999 C8          INY                     A:0020 X:45D9 Y:4F17 P:envmxdizC
$81/B99A C8          INY                     A:0020 X:45D9 Y:4F18 P:envmxdizC
$81/B99B C4 02       CPY $02    [$00:0002]   A:0020 X:45D9 Y:4F19 P:envmxdizC
$81/B99D D0 03       BNE $03    [$B9A2]      A:0020 X:45D9 Y:4F19 P:eNvmxdizc
code is missing here
$81/B9A2 80 E5       BRA $E5    [$B989]      A:0020 X:45D9 Y:4F19 P:eNvmxdizc
$81/B9A4 7A          PLY                     A:0016 X:45D9 Y:4F39 P:envmxdiZC
$81/B9A5 18          CLC                     A:0016 X:45D9 Y:4F17 P:envmxdizC
$81/B9A6 60          RTS                     A:0016 X:45D9 Y:4F17 P:envmxdizc

$81/B9A7 7A          PLY                     A:FFFF X:45D9 Y:4F51 P:envmxdiZC
$81/B9A8 38          SEC                     A:FFFF X:45D9 Y:4F51 P:envmxdizC
$81/B9A9 60          RTS                     A:FFFF X:45D9 Y:4F51 P:envmxdizC

$81/BC1E ?

$81/BC1E BD 70 00    LDA $0070,x[$7E:4649]   A:0000 X:45D9 Y:4E9B P:envMxdiZC
$81/BC21 85 00       STA $00    [$00:0000]   A:0013 X:45D9 Y:4E9B P:envMxdizC
$81/BC23 64 01       STZ $01    [$00:0001]   A:0013 X:45D9 Y:4E9B P:envMxdizC
$81/BC25 BD 72 00    LDA $0072,x[$7E:464B]   A:0013 X:45D9 Y:4E9B P:envMxdizC
$81/BC28 3A          DEC A                   A:0006 X:45D9 Y:4E9B P:envMxdizC
$81/BC29 85 02       STA $02    [$00:0002]   A:0005 X:45D9 Y:4E9B P:envMxdizC
$81/BC2B 64 03       STZ $03    [$00:0003]   A:0005 X:45D9 Y:4E9B P:envMxdizC
$81/BC2D BD 6E 00    LDA $006E,x[$7E:4647]   A:0005 X:45D9 Y:4E9B P:envMxdizC
$81/BC30 8F 02 42 00 STA $004202[$00:4202]   A:0003 X:45D9 Y:4E9B P:envMxdizC
$81/BC34 A9 40       LDA #$40                A:0003 X:45D9 Y:4E9B P:envMxdizC
$81/BC36 8F 03 42 00 STA $004203[$00:4203]   A:0040 X:45D9 Y:4E9B P:envMxdizC
$81/BC3A 7B          TDC                     A:0040 X:45D9 Y:4E9B P:envMxdizC
$81/BC3B BD 6C 00    LDA $006C,x[$7E:4645]   A:0000 X:45D9 Y:4E9B P:envMxdiZC
$81/BC3E 0A          ASL A                   A:0008 X:45D9 Y:4E9B P:envMxdizC
$81/BC3F C2 21       REP #$21                A:0010 X:45D9 Y:4E9B P:envMxdizc
$81/BC41 6F 16 42 00 ADC $004216[$00:4216]   A:0010 X:45D9 Y:4E9B P:envmxdizc
$81/BC45 60          RTS                     A:00D0 X:45D9 Y:4E9B P:envmxdizc

$81/BCA7 ?

$81/BCA7 BD 19 02    LDA $0219,x[$7E:47F2]   A:978C X:45D9 Y:45D9 P:envMxdizC
$81/BCAA DD 72 00    CMP $0072,x[$7E:464B]   A:9700 X:45D9 Y:45D9 P:envMxdiZC
$81/BCAD 60          RTS                     A:9700 X:45D9 Y:45D9 P:eNvMxdizc

$81/BCAE ?

$81/BCAE BD 2E 02    LDA $022E,x[$7E:4807]   A:4C7E X:45D9 Y:45D9 P:envMxdizc
$81/BCB1 D0 13       BNE $13    [$BCC6]      A:4C00 X:45D9 Y:45D9 P:envMxdiZc
$81/BCB3 20 99 AB    JSR $AB99  [$81:AB99]   A:4C00 X:45D9 Y:45D9 P:envMxdiZc
$81/BCB6 90 07       BCC $07    [$BCBF]      A:0003 X:45D9 Y:45D9 P:envMxdiZC
$81/BCB8 AD 65 05    LDA $0565     ; Load Copy Value of Held Joypad Buttons
$81/BCBB 89 80       BIT #$80                A:0000 X:45D9 Y:45D9 P:envMxdiZC
$81/BCBD D0 02       BNE $02       ; [$BCC1] Branch if Button is held
$81/BCBF 18          CLC           ; Else, Clear Carry (Flag) and exit
$81/BCC0 60          RTS
$81/BCC1 A9 01       LDA #$01                A:0080 X:45D9 Y:45D9 P:eNvMxdizC
$81/BCC3 9D 2E 02    STA $022E,x[$7E:4807]   A:0001 X:45D9 Y:45D9 P:envMxdizC
$81/BCC6 38          SEC                     A:0001 X:45D9 Y:45D9 P:envMxdizC
$81/BCC7 60          RTS                     A:0001 X:45D9 Y:45D9 P:envMxdizC
$81/BCC8 A4 D8       LDY $D8    [$00:00D8]   A:0001 X:45D9 Y:4D2B P:envMxdizC
$81/BCCA 7B          TDC                     A:0001 X:45D9 Y:45D9 P:envMxdizC
$81/BCCB A7 29       LDA [$29]  [$7E:4C99]   A:0000 X:45D9 Y:45D9 P:envMxdiZC
$81/BCCD C9 20       CMP #$20                A:00F3 X:45D9 Y:45D9 P:eNvMxdizC
$81/BCCF 90 0C       BCC $0C    [$BCDD]      A:00F3 X:45D9 Y:45D9 P:eNvMxdizC
$81/BCD1 C9 F0       CMP #$F0                A:00F3 X:45D9 Y:45D9 P:eNvMxdizC
$81/BCD3 C2 20       REP #$20                A:00F3 X:45D9 Y:45D9 P:envMxdizC
$81/BCD5 90 03       BCC $03    [$BCDA]      A:00F3 X:45D9 Y:45D9 P:envmxdizC
$81/BCD7 4C C9 BD    JMP $BDC9  [$81:BDC9]   A:00F3 X:45D9 Y:45D9 P:envmxdizC
$81/BCDA 4C A2 BD    JMP $BDA2  [$81:BDA2]   A:00C1 X:45D9 Y:45D9 P:eNvmxdizc
$81/BCDD C2 20       REP #$20                A:0000 X:45D9 Y:45D9 P:eNvMxdizc
$81/BCDF 0A          ASL A                   A:0000 X:45D9 Y:45D9 P:eNvmxdizc
$81/BCE0 AA          TAX                     A:0000 X:45D9 Y:45D9 P:envmxdiZc
$81/BCE1 7C E4 BC    JMP ($BCE4,x)[$81:BF99] A:0000 X:0000 Y:45D9 P:envmxdiZc
$81/BCE4 99 BF --- Entry #$00 - $BF99
$81/BCE6 B4 BD --- Entry #$01 - $BDB4
$81/BCE8 B4 BD --- Entry #$02 - $BDB4
$81/BCEA B4 BD --- Entry #$03 - $BDB4
$81/BCEC B4 BD --- Entry #$04 - $BDB4
$81/BCEE B4 BD --- Entry #$05 - $BDB4
$81/BCF0 B4 BD --- Entry #$06 - $BDB4
$81/BCF2 B4 BD --- Entry #$07 - $BDB4
$81/BCF4 B4 BD --- Entry #$08 - $BDB4
$81/BCF6 B4 BD --- Entry #$09 - $BDB4
$81/BCF8 B4 BD --- Entry #$0A - $BDB4
$81/BCFA B4 BD --- Entry #$0B - $BDB4
$81/BCFC B4 BD --- Entry #$0C - $BDB4
$81/BCFE B4 BD --- Entry #$0D - $BDB4
$81/BD00 B4 BD --- Entry #$0E - $BDB4
$81/BD02 B4 BD --- Entry #$0F - $BDB4
$81/BD04 9D BD --- Entry #$10 - $BD9D
$81/BD06 9D BD --- Entry #$11 - $BD9D
$81/BD08 70 BE --- Entry #$12 - $BE70
$81/BD0A 8D BE --- Entry #$13 - $BE8D
$81/BD0C 03 BE --- Entry #$14 - $BE03
$81/BD0E AA BE --- Entry #$15 - $BEAA
$81/BD10 41 BE --- Entry #$16 - $BE41
$81/BD12 62 BE --- Entry #$17 - $BE62
$81/BD14 E5 BD --- Entry #$18 - $BDE5
$81/BD16 B1 BE --- Entry #$19 - $BEB1
$81/BD18 E6 BE --- Entry #$1A - $BEE6
$81/BD1A 64 BF --- Entry #$1B - $BF64
$81/BD1C F8 BE --- Entry #$1C - $BEF8
$81/BD1E 10 BF --- Entry #$1D - $BF10
$81/BD20 28 BD --- Entry #$1E - $BD28
$81/BD22 6B BD --- Entry #$1F - $BD6B

$81/BD98 ?

$81/BD98 E2 21       SEP #$21                A:978C X:45D9 Y:45D9 P:envMxdizc
$81/BD9A A6 D8       LDX $D8    [$00:00D8]   A:978C X:45D9 Y:45D9 P:envMxdizC
$81/BD9C 60          RTS                     A:978C X:45D9 Y:45D9 P:envMxdizC

$81/BDA2 ?

$81/BDA2 48          PHA                     A:00C1 X:45D9 Y:45D9 P:eNvmxdizc
$81/BDA3 E2 20       SEP #$20                A:00C1 X:45D9 Y:45D9 P:eNvmxdizc
$81/BDA5 20 AE C3    JSR $C3AE  [$81:C3AE]   A:00C1 X:45D9 Y:45D9 P:eNvMxdizc
$81/BDA8 C2 20       REP #$20                A:0000 X:45D9 Y:45D9 P:envMxdizc
$81/BDAA 68          PLA                     A:0000 X:45D9 Y:45D9 P:envmxdizc
$81/BDAB B0 EB       BCS $EB    [$BD98]      A:00C1 X:45D9 Y:45D9 P:envmxdizc
$81/BDAD E6 29       INC $29    [$00:0029]   A:00C1 X:45D9 Y:45D9 P:envmxdizc
$81/BDAF 20 DA C4    JSR $C4DA  [$81:C4DA]   A:00C1 X:45D9 Y:45D9 P:eNvmxdizc
$81/BDB2 80 E4       BRA $E4    [$BD98]      A:233A X:0110 Y:45D9 P:envMxdizc

$81/BDB4 ?

$81/BDB4 E2 20       SEP #$20                A:0008 X:0008 Y:45D9 P:envmxdizc
$81/BDB6 20 AE C3    JSR $C3AE  [$81:C3AE]   A:0008 X:0008 Y:45D9 P:envMxdizc
$81/BDB9 C2 20       REP #$20                A:0008 X:45D9 Y:45D9 P:envMxdizc
$81/BDBB B0 DB       BCS $DB    [$BD98]      A:0008 X:45D9 Y:45D9 P:envmxdizc
$81/BDBD A7 29       LDA [$29]  [$7E:4CA0]   A:0008 X:45D9 Y:45D9 P:envmxdizc
$81/BDBF EB          XBA                     A:6904 X:45D9 Y:45D9 P:envmxdizc
$81/BDC0 E6 29       INC $29    [$00:0029]   A:0469 X:45D9 Y:45D9 P:envmxdizc
$81/BDC2 E6 29       INC $29    [$00:0029]   A:0469 X:45D9 Y:45D9 P:envmxdizc
$81/BDC4 20 DA C4    JSR $C4DA  [$81:C4DA]   A:0469 X:45D9 Y:45D9 P:envmxdizc
$81/BDC7 80 CF       BRA $CF    [$BD98]      A:2181 X:01A0 Y:45D9 P:envMxdizc

$81/BDC9 ?

$81/BDC9 20 9E BF    JSR $BF9E  [$81:BF9E]   A:00F3 X:45D9 Y:45D9 P:envmxdizC
$81/BDCC A7 29       LDA [$29]  [$7E:4C99]   A:4C7E X:45D9 Y:45D9 P:envmxdizc
$81/BDCE EB          XBA                     A:E0F3 X:45D9 Y:45D9 P:eNvmxdizc
$81/BDCF 38          SEC                     A:F3E0 X:45D9 Y:45D9 P:eNvmxdizc
$81/BDD0 E9 00 F0    SBC #$F000              A:F3E0 X:45D9 Y:45D9 P:eNvmxdizC
$81/BDD3 0A          ASL A                   A:03E0 X:45D9 Y:45D9 P:envmxdizC
$81/BDD4 AA          TAX                     A:07C0 X:45D9 Y:45D9 P:envmxdizc
$81/BDD5 BF 96 C0 8C LDA $8CC096,x[$8C:C856] A:07C0 X:07C0 Y:45D9 P:envmxdizc
$81/BDD9 85 29       STA $29    [$00:0029]   A:9717 X:07C0 Y:45D9 P:eNvmxdizc
$81/BDDB E2 20       SEP #$20                A:9717 X:07C0 Y:45D9 P:eNvmxdizc
$81/BDDD A9 8C       LDA #$8C                A:9717 X:07C0 Y:45D9 P:eNvMxdizc
$81/BDDF 85 2B       STA $2B    [$00:002B]   A:978C X:07C0 Y:45D9 P:eNvMxdizc
$81/BDE1 A6 D8       LDX $D8    [$00:00D8]   A:978C X:07C0 Y:45D9 P:eNvMxdizc
$81/BDE3 80 B3       BRA $B3    [$BD98]      A:978C X:45D9 Y:45D9 P:envMxdizc

$81/BDE5 ?

$81/BDE5 20 9E BF    JSR $BF9E  [$81:BF9E]   A:0030 X:0030 Y:3919 P:envmxdizc
$81/BDE8 E6 29       INC $29    [$00:0029]   A:3F7E X:3919 Y:3919 P:envmxdizc
$81/BDEA E2 20       SEP #$20                A:3F7E X:3919 Y:3919 P:envmxdizc
$81/BDEC A6 D8       LDX $D8    [$00:00D8]   A:3F7E X:3919 Y:3919 P:envMxdizc
$81/BDEE BC 3A 02    LDY $023A,x[$7E:3B53]   A:3F7E X:3919 Y:3919 P:envMxdizc
$81/BDF1 A7 29       LDA [$29]  [$7E:3FDA]   A:3F7E X:3919 Y:0000 P:envMxdiZc
$81/BDF3 22 F0 E6 81 JSL $81E6F0[$81:E6F0]   A:3F0D X:3919 Y:0000 P:envMxdizc
$81/BDF7 84 29       STY $29    [$00:0029]   A:007E X:0018 Y:B824 P:envMxdizc
$81/BDF9 85 2B       STA $2B    [$00:002B]   A:007E X:0018 Y:B824 P:envMxdizc
$81/BDFB A6 D8       LDX $D8    [$00:00D8]   A:007E X:0018 Y:B824 P:envMxdizc
$81/BDFD FE 3A 02    INC $023A,x[$7E:3B53]   A:007E X:3919 Y:B824 P:envMxdizc
$81/BE00 4C 98 BD    JMP $BD98  [$81:BD98]   A:007E X:3919 Y:B824 P:envMxdizc

$81/BE41 ?

$81/BE41 E6 29       INC $29    [$00:0029]   A:002C X:002C Y:45D9 P:envmxdizc
$81/BE43 E2 20       SEP #$20                A:002C X:002C Y:45D9 P:envmxdizc
$81/BE45 A9 FF       LDA #$FF                A:002C X:002C Y:45D9 P:envMxdizc
$81/BE47 99 17 02    STA $0217,y[$7E:47F0]   A:00FF X:002C Y:45D9 P:eNvMxdizc
$81/BE4A B9 19 02    LDA $0219,y[$7E:47F2]   A:00FF X:002C Y:45D9 P:eNvMxdizc
$81/BE4D 1A          INC A                   A:0000 X:002C Y:45D9 P:envMxdiZc
$81/BE4E 1A          INC A                   A:0001 X:002C Y:45D9 P:envMxdizc
$81/BE4F 99 19 02    STA $0219,y[$7E:47F2]   A:0002 X:002C Y:45D9 P:envMxdizc
$81/BE52 B9 1B 02    LDA $021B,y[$7E:47F4]   A:0002 X:002C Y:45D9 P:envMxdizc
$81/BE55 1A          INC A                   A:0000 X:002C Y:45D9 P:envMxdiZc
$81/BE56 1A          INC A                   A:0001 X:002C Y:45D9 P:envMxdizc
$81/BE57 99 1B 02    STA $021B,y[$7E:47F4]   A:0002 X:002C Y:45D9 P:envMxdizc
$81/BE5A C2 20       REP #$20                A:0002 X:002C Y:45D9 P:envMxdizc
$81/BE5C 20 8E C4    JSR $C48E  [$81:C48E]   A:0002 X:002C Y:45D9 P:envmxdizc
$81/BE5F 4C 98 BD    JMP $BD98  [$81:BD98]   A:0016 X:002C Y:4EA5 P:envmxdizc

$81/BF99 ?

$81/BF99 BB          TYX                     A:0000 X:0000 Y:45D9 P:envmxdiZc
$81/BF9A E2 20       SEP #$20                A:0000 X:45D9 Y:45D9 P:envmxdizc
$81/BF9C 18          CLC                     A:0000 X:45D9 Y:45D9 P:envMxdizc
$81/BF9D 60          RTS                     A:0000 X:45D9 Y:45D9 P:envMxdizc

$81/BF9E ?

$81/BF9E A4 D8       LDY $D8    [$00:00D8]   A:00F3 X:45D9 Y:45D9 P:envmxdizC
$81/BFA0 B9 43 00    LDA $0043,y[$7E:461C]   A:00F3 X:45D9 Y:45D9 P:envmxdizC
$81/BFA3 AA          TAX                     A:45D9 X:45D9 Y:45D9 P:envmxdizC
$81/BFA4 1A          INC A                   A:45D9 X:45D9 Y:45D9 P:envmxdizC
$81/BFA5 1A          INC A                   A:45DA X:45D9 Y:45D9 P:envmxdizC
$81/BFA6 1A          INC A                   A:45DB X:45D9 Y:45D9 P:envmxdizC
$81/BFA7 99 43 00    STA $0043,y[$7E:461C]   A:45DC X:45D9 Y:45D9 P:envmxdizC
$81/BFAA 38          SEC                     A:45DC X:45D9 Y:45D9 P:envmxdizC
$81/BFAB E5 D8       SBC $D8    [$00:00D8]   A:45DC X:45D9 Y:45D9 P:envmxdizC
$81/BFAD C9 30 00    CMP #$0030              A:0003 X:45D9 Y:45D9 P:envmxdizC
$81/BFB0 90 00       BCC $00       ; [$BFB2] This line could be removed
$81/BFB2 A5 29       LDA $29    [$00:0029]   A:0003 X:45D9 Y:45D9 P:eNvmxdizc
$81/BFB4 1A          INC A                   A:4C99 X:45D9 Y:45D9 P:envmxdizc
$81/BFB5 1A          INC A                   A:4C9A X:45D9 Y:45D9 P:envmxdizc
$81/BFB6 9D 13 00    STA $0013,x[$7E:45EC]   A:4C9B X:45D9 Y:45D9 P:envmxdizc
$81/BFB9 E2 20       SEP #$20                A:4C9B X:45D9 Y:45D9 P:envmxdizc
$81/BFBB A5 2B       LDA $2B    [$00:002B]   A:4C9B X:45D9 Y:45D9 P:envMxdizc
$81/BFBD 9D 15 00    STA $0015,x[$7E:45EE]   A:4C7E X:45D9 Y:45D9 P:envMxdizc
$81/BFC0 C2 20       REP #$20                A:4C7E X:45D9 Y:45D9 P:envMxdizc
$81/BFC2 60          RTS                     A:4C7E X:45D9 Y:45D9 P:envmxdizc

$81/C3AE ?

$81/C3AE 5A          PHY                     A:00C1 X:45D9 Y:45D9 P:eNvMxdizc
$81/C3AF A6 D8       LDX $D8    [$00:00D8]   A:00C1 X:45D9 Y:45D9 P:eNvMxdizc
$81/C3B1 BD 17 02    LDA $0217,x[$7E:47F0]   A:00C1 X:45D9 Y:45D9 P:envMxdizc
$81/C3B4 1A          INC A                   A:00FF X:45D9 Y:45D9 P:eNvMxdizc
$81/C3B5 DD 70 00    CMP $0070,x[$7E:4649]   A:0000 X:45D9 Y:45D9 P:envMxdiZc
$81/C3B8 90 28       BCC $28    [$C3E2]      A:0000 X:45D9 Y:45D9 P:eNvMxdizc
code is missing here
$81/C3E2 9D 17 02    STA $0217,x[$7E:47F0]   A:0000 X:45D9 Y:45D9 P:eNvMxdizc
$81/C3E5 7A          PLY                     A:0000 X:45D9 Y:45D9 P:eNvMxdizc
$81/C3E6 60          RTS                     A:0000 X:45D9 Y:45D9 P:envMxdizc

$81/C3E7 ? Some flexible VRAM DMA

$81/C3E7 A4 D8       LDY $D8    [$00:00D8]   A:FF00 X:3919 Y:41DB P:envMxdiZC
$81/C3E9 C2 20       REP #$20                A:FF00 X:3919 Y:3919 P:envMxdizC
$81/C3EB B9 76 00    LDA $0076,y[$7E:398F]   A:FF00 X:3919 Y:3919 P:envmxdizC
$81/C3EE C5 D6       CMP $D6    [$00:00D6]   A:5870 X:3919 Y:3919 P:envmxdizC
$81/C3F0 D0 03       BNE $03    [$C3F5]      A:5870 X:3919 Y:3919 P:envmxdiZC
$81/C3F2 4C 80 C4    JMP $C480  [$81:C480]   A:5870 X:3919 Y:3919 P:envmxdiZC
$81/C3F5 A2 80 00    LDX #$0080              A:5C00 X:45D9 Y:45D9 P:eNvmxdizc
$81/C3F8 86 0E       STX $0E    [$00:000E]   A:5C00 X:0080 Y:45D9 P:envmxdizc
$81/C3FA B0 23       BCS $23    [$C41F]      A:5C00 X:0080 Y:45D9 P:envmxdizc
$81/C3FC A8          TAY           ; Transfer in Y as VRAM Destination Address
$81/C3FD E5 D6       SBC $D6    [$00:00D6]   A:5C00 X:0080 Y:5C00 P:envmxdizc
$81/C3FF 49 FF FF    EOR #$FFFF              A:FFEF X:0080 Y:5C00 P:eNvmxdizc
$81/C402 0A          ASL A                   A:0010 X:0080 Y:5C00 P:envmxdizc
$81/C403 85 0C       STA $0C    [$00:000C]   A:0020 X:0080 Y:5C00 P:envmxdizc
$81/C405 49 FF FF    EOR #$FFFF              A:0020 X:0080 Y:5C00 P:envmxdizc
$81/C408 38          SEC                     A:FFDF X:0080 Y:5C00 P:eNvmxdizc
$81/C409 65 5C       ADC $5C    [$00:005C]   A:FFDF X:0080 Y:5C00 P:eNvmxdizC
$81/C40B AA          TAX           ; Transfer in X as VRAM DAM Source Address
$81/C40C E2 20       SEP #$20      ; A = 8-bit
$81/C40E A9 7E       LDA #$7E      ; VRAM DMA Source Bank: $7E
$81/C410 22 24 9F 80 JSL $809F24   ; VRAM DMA
$81/C414 C2 20       REP #$20                A:5280 X:0000 Y:5C00 P:envMxdizc
$81/C416 A6 D8       LDX $D8    [$00:00D8]   A:5280 X:0000 Y:5C00 P:envmxdizc
$81/C418 A5 D6       LDA $D6    [$00:00D6]   A:5280 X:45D9 Y:5C00 P:envmxdizc
$81/C41A 9D 76 00    STA $0076,x[$7E:464F]   A:5C10 X:45D9 Y:5C00 P:envmxdizc
$81/C41D 80 61       BRA $61    [$C480]      A:5C10 X:45D9 Y:5C00 P:envmxdizc
code is missing here
$81/C480 E2 20       SEP #$20      ; A = 8-bit
$81/C482 AD 6A 05    LDA $056A     ; Is FBLANK active?
$81/C485 10 04       BPL $04       ; [$C48B] Branch and exit if not
code is missing here
$81/C48B A6 D8       LDX $D8    [$00:00D8]   A:580F X:3919 Y:3919 P:envMxdizC
$81/C48D 60          RTS

$81/C491 ?

$81/C491 48          PHA                     A:00C1 X:45D9 Y:45D9 P:eNvmxdizc
$81/C492 DA          PHX                     A:00C1 X:45D9 Y:45D9 P:eNvmxdizc
$81/C493 A6 D8       LDX $D8    [$00:00D8]   A:00C1 X:45D9 Y:45D9 P:eNvmxdizc
$81/C495 48          PHA                     A:00C1 X:45D9 Y:45D9 P:envmxdizc
$81/C496 BD 26 02    LDA $0226,x[$7E:47FF]   A:00C1 X:45D9 Y:45D9 P:envmxdizc
$81/C499 85 02       STA $02    [$00:0002]   A:5299 X:45D9 Y:45D9 P:envmxdizc
$81/C49B 68          PLA                     A:5299 X:45D9 Y:45D9 P:envmxdizc
$81/C49C BC 28 02    LDY $0228,x[$7E:4801]   A:00C1 X:45D9 Y:45D9 P:envmxdizc
$81/C49F 99 00 00    STA $0000,y[$7E:4E9B]   A:00C1 X:45D9 Y:4E9B P:envmxdizc
$81/C4A2 C8          INY                     A:00C1 X:45D9 Y:4E9B P:envmxdizc
$81/C4A3 C8          INY                     A:00C1 X:45D9 Y:4E9C P:envmxdizc
$81/C4A4 C4 02       CPY $02    [$00:0002]   A:00C1 X:45D9 Y:4E9D P:envmxdizc
$81/C4A6 D0 03       BNE $03    [$C4AB]      A:00C1 X:45D9 Y:4E9D P:eNvmxdizc
code is missing here
$81/C4AB 98          TYA                     A:00C1 X:45D9 Y:4E9D P:eNvmxdizc
$81/C4AC 9D 28 02    STA $0228,x[$7E:4801]   A:4E9D X:45D9 Y:4E9D P:envmxdizc
$81/C4AF A9 FF FF    LDA #$FFFF              A:4E9D X:45D9 Y:4E9D P:envmxdizc
$81/C4B2 99 00 00    STA $0000,y[$7E:4E9D]   A:FFFF X:45D9 Y:4E9D P:eNvmxdizc
$81/C4B5 FA          PLX                     A:FFFF X:45D9 Y:4E9D P:eNvmxdizc
$81/C4B6 68          PLA                     A:FFFF X:45D9 Y:4E9D P:envmxdizc
$81/C4B7 60          RTS                     A:00C1 X:45D9 Y:4E9D P:envmxdizc

$81/C4DA ?

$81/C4DA 20 91 C4    JSR $C491  [$81:C491]   A:00C1 X:45D9 Y:45D9 P:eNvmxdizc
$81/C4DD 20 25 C5    JSR $C525  [$81:C525]   A:00C1 X:45D9 Y:4E9D P:envmxdizc
$81/C4E0 20 49 C5    JSR $C549  [$81:C549]   A:00C1 X:45D9 Y:4E9D P:envmxdizc
$81/C4E3 A4 D8       LDY $D8    [$00:00D8]   A:2000 X:0284 Y:4E9D P:envmxdizc
$81/C4E5 E2 20       SEP #$20                A:2000 X:0284 Y:45D9 P:envmxdizc
$81/C4E7 B9 6E 00    LDA $006E,y[$7E:4647]   A:2000 X:0284 Y:45D9 P:envMxdizc
$81/C4EA 18          CLC                     A:2003 X:0284 Y:45D9 P:envMxdizc
$81/C4EB 79 19 02    ADC $0219,y[$7E:47F2]   A:2003 X:0284 Y:45D9 P:envMxdizc
$81/C4EE 8F 02 42 00 STA $004202[$00:4202]   A:2003 X:0284 Y:45D9 P:envMxdizc
$81/C4F2 A9 40       LDA #$40                A:2003 X:0284 Y:45D9 P:envMxdizc
$81/C4F4 8F 03 42 00 STA $004203[$00:4203]   A:2040 X:0284 Y:45D9 P:envMxdizc
$81/C4F8 7B          TDC                     A:2040 X:0284 Y:45D9 P:envMxdizc
$81/C4F9 B9 6C 00    LDA $006C,y[$7E:4645]   A:0000 X:0284 Y:45D9 P:envMxdiZc
$81/C4FC 18          CLC                     A:0008 X:0284 Y:45D9 P:envMxdizc
$81/C4FD 79 17 02    ADC $0217,y[$7E:47F0]   A:0008 X:0284 Y:45D9 P:envMxdizc
$81/C500 29 1F       AND #$1F                A:0008 X:0284 Y:45D9 P:envMxdizc
$81/C502 0A          ASL A                   A:0008 X:0284 Y:45D9 P:envMxdizc
$81/C503 C2 20       REP #$20                A:0010 X:0284 Y:45D9 P:envMxdizc
$81/C505 6F 16 42 00 ADC $004216[$00:4216]   A:0010 X:0284 Y:45D9 P:envmxdizc
$81/C509 AA          TAX                     A:00D0 X:0284 Y:45D9 P:envmxdizc
$81/C50A A5 00       LDA $00    [$00:0000]   A:00D0 X:00D0 Y:45D9 P:envmxdizc
$81/C50C 05 04       ORA $04    [$00:0004]   A:224A X:00D0 Y:45D9 P:envmxdizc
$81/C50E 9F 00 A8 7E STA $7EA800,x[$7E:A8D0] A:224A X:00D0 Y:45D9 P:envmxdizc
$81/C512 8A          TXA                     A:224A X:00D0 Y:45D9 P:envmxdizc
$81/C513 69 40 00    ADC #$0040              A:00D0 X:00D0 Y:45D9 P:envmxdizc
$81/C516 29 FF 07    AND #$07FF              A:0110 X:00D0 Y:45D9 P:envmxdizc
$81/C519 AA          TAX                     A:0110 X:00D0 Y:45D9 P:envmxdizc
$81/C51A A5 02       LDA $02    [$00:0002]   A:0110 X:0110 Y:45D9 P:envmxdizc
$81/C51C 05 04       ORA $04    [$00:0004]   A:233A X:0110 Y:45D9 P:envmxdizc
$81/C51E 9F 00 A8 7E STA $7EA800,x[$7E:A910] A:233A X:0110 Y:45D9 P:envmxdizc
$81/C522 E2 20       SEP #$20                A:233A X:0110 Y:45D9 P:envmxdizc
$81/C524 60          RTS                     A:233A X:0110 Y:45D9 P:envMxdizc

$81/C525 ?

$81/C525 48          PHA                     A:00C1 X:45D9 Y:4E9D P:envmxdizc
$81/C526 E2 20       SEP #$20                A:00C1 X:45D9 Y:4E9D P:envmxdizc
$81/C528 A5 57       LDA $57    [$00:0057]   A:00C1 X:45D9 Y:4E9D P:envMxdizc
$81/C52A F0 19       BEQ $19    [$C545]      A:0001 X:45D9 Y:4E9D P:envMxdizc
$81/C52C A6 D8       LDX $D8    [$00:00D8]   A:0001 X:45D9 Y:4E9D P:envMxdizc
$81/C52E BD 4F 00    LDA $004F,x[$7E:4628]   A:0001 X:45D9 Y:4E9D P:envMxdizc
$81/C531 F0 0E       BEQ $0E    [$C541]      A:0000 X:45D9 Y:4E9D P:envMxdiZc
code is missing here
$81/C541 A9 04       LDA #$04                A:0000 X:45D9 Y:4E9D P:envMxdiZc
$81/C543 85 F6       STA $F6    [$00:00F6]   A:0004 X:45D9 Y:4E9D P:envMxdizc
$81/C545 C2 20       REP #$20                A:0004 X:45D9 Y:4E9D P:envMxdizc
$81/C547 68          PLA                     A:0004 X:45D9 Y:4E9D P:envmxdizc
$81/C548 60          RTS                     A:00C1 X:45D9 Y:4E9D P:envmxdizc

$81/C549 ?

$81/C549 48          PHA                     A:00C1 X:45D9 Y:4E9D P:envmxdizc
$81/C54A A6 5C       LDX $5C    [$00:005C]   A:00C1 X:45D9 Y:4E9D P:envmxdizc
$81/C54C 86 20       STX $20    [$00:0020]   A:00C1 X:5299 Y:4E9D P:envmxdizc
$81/C54E E2 20       SEP #$20                A:00C1 X:5299 Y:4E9D P:envmxdizc
$81/C550 A9 7E       LDA #$7E                A:00C1 X:5299 Y:4E9D P:envMxdizc
$81/C552 85 22       STA $22    [$00:0022]   A:007E X:5299 Y:4E9D P:envMxdizc
$81/C554 C2 20       REP #$20                A:007E X:5299 Y:4E9D P:envMxdizc
$81/C556 68          PLA                     A:007E X:5299 Y:4E9D P:envmxdizc
$81/C557 20 6D C8    JSR $C86D  [$81:C86D]   A:00C1 X:5299 Y:4E9D P:envmxdizc
$81/C55A 90 33       BCC $33    [$C58F]      A:2000 X:0284 Y:4E9D P:envmxdizc
$81/C55C A5 0E       LDA $0E    [$00:000E]   A:0020 X:F5BD Y:2000 P:envmxdizC
$81/C55E 18          CLC                     A:0020 X:F5BD Y:2000 P:envmxdizC
$81/C55F 6D 5C 00    ADC $005C  [$7E:005C]   A:0020 X:F5BD Y:2000 P:envmxdizc
$81/C562 8D 5C 00    STA $005C  [$7E:005C]   A:52B9 X:F5BD Y:2000 P:envmxdizc
$81/C565 C5 5E       CMP $5E    [$00:005E]   A:52B9 X:F5BD Y:2000 P:envmxdizc
$81/C567 90 06       BCC $06    [$C56F]      A:52B9 X:F5BD Y:2000 P:eNvmxdizc
code is missing here
$81/C56F A5 D6       LDA $D6    [$00:00D6]   A:52B9 X:F5BD Y:2000 P:eNvmxdizc
$81/C571 38          SEC                     A:5C00 X:F5BD Y:2000 P:envmxdizc
$81/C572 E9 00 50    SBC #$5000              A:5C00 X:F5BD Y:2000 P:envmxdizC
$81/C575 4A          LSR A                   A:0C00 X:F5BD Y:2000 P:envmxdizC
$81/C576 4A          LSR A                   A:0600 X:F5BD Y:2000 P:envmxdizc
$81/C577 4A          LSR A                   A:0300 X:F5BD Y:2000 P:envmxdizc
$81/C578 85 00       STA $00    [$00:0000]   A:0180 X:F5BD Y:2000 P:envmxdizc
$81/C57A 1A          INC A                   A:0180 X:F5BD Y:2000 P:envmxdizc
$81/C57B 85 02       STA $02    [$00:0002]   A:0181 X:F5BD Y:2000 P:envmxdizc
$81/C57D A6 D8       LDX $D8    [$00:00D8]   A:0181 X:F5BD Y:2000 P:envmxdizc
$81/C57F A5 0E       LDA $0E    [$00:000E]   A:0181 X:45D9 Y:2000 P:envmxdizc
$81/C581 4A          LSR A                   A:0020 X:45D9 Y:2000 P:envmxdizc
$81/C582 18          CLC                     A:0010 X:45D9 Y:2000 P:envmxdizc
$81/C583 65 D6       ADC $D6    [$00:00D6]   A:0010 X:45D9 Y:2000 P:envmxdizc
$81/C585 DD 78 00    CMP $0078,x[$7E:4651]   A:5C10 X:45D9 Y:2000 P:envmxdizc
$81/C588 90 03       BCC $03    [$C58D]      A:5C10 X:45D9 Y:2000 P:eNvmxdizc
code is missing here
$81/C58D 85 D6       STA $D6    [$00:00D6]   A:5C10 X:45D9 Y:2000 P:eNvmxdizc
$81/C58F 60          RTS                     A:2000 X:0284 Y:4E9D P:envmxdizc

$81/C86D ?

$81/C86D 20 B8 C8    JSR $C8B8  [$81:C8B8]   A:00C1 X:5299 Y:4E9D P:envmxdizc
$81/C870 B0 01       BCS $01    [$C873]      A:2000 X:0284 Y:4E9D P:envmxdizc
$81/C872 60          RTS                     A:2000 X:0284 Y:4E9D P:envmxdizc

$81/C873 D4 04       PEI ($04)     ; Buffer $04/$05 on Stack
$81/C875 85 00       STA $00       ; Multiply A by 3 (use $00/$01 as buffer)
$81/C877 0A          ASL A
$81/C878 65 00       ADC $00
$81/C87A AA          TAX           ; Transfer A in X (use as 24-bit Load Index)
$81/C87B BF B5 C1 A3 LDA $A3C1B5,x[$A3:CBF0] A:0A3B X:0A3B Y:4EB7 P:envmxdizc
$81/C87F A8          TAY                     A:F5A4 X:0A3B Y:4EB7 P:eNvmxdizc
$81/C880 E2 20       SEP #$20                A:F5A4 X:0A3B Y:F5A4 P:eNvmxdizc
$81/C882 BF B7 C1 A3 LDA $A3C1B7,x[$A3:CBF2] A:F5A4 X:0A3B Y:F5A4 P:eNvMxdizc
$81/C886 85 00       STA $00    [$00:0000]   A:F5B1 X:0A3B Y:F5A4 P:eNvMxdizc
$81/C888 A2 ED EF    LDX #$EFED              A:F5B1 X:0A3B Y:F5A4 P:eNvMxdizc
$81/C88B 86 23       STX $23    [$00:0023]   A:F5B1 X:EFED Y:F5A4 P:eNvMxdizc
$81/C88D A9 A4       LDA #$A4                A:F5B1 X:EFED Y:F5A4 P:eNvMxdizc
$81/C88F 85 25       STA $25    [$00:0025]   A:F5A4 X:EFED Y:F5A4 P:eNvMxdizc
$81/C891 BB          TYX                     A:F5A4 X:EFED Y:F5A4 P:eNvMxdizc
$81/C892 A5 00       LDA $00    [$00:0000]   A:F5A4 X:F5A4 Y:F5A4 P:eNvMxdizc
$81/C894 22 CC F7 81 JSL $81F7CC[$81:F7CC]   A:F5B1 X:F5A4 Y:F5A4 P:eNvMxdizc
$81/C898 C2 20       REP #$20                A:0020 X:F5BD Y:0020 P:envMxdizC
$81/C89A 7A          PLY           ; Restore $04/$05 from Stack
$81/C89B 84 04       STY $04
$81/C89D 38          SEC           ; Set Carry (as Flag for subroutine above)
$81/C89E 60          RTS

$81/C8B8 ?

$81/C8B8 48          PHA                     A:00C1 X:5299 Y:4E9D P:envmxdizc
$81/C8B9 29 FF 0F    AND #$0FFF              A:00C1 X:5299 Y:4E9D P:envmxdizc
$81/C8BC C9 00 01    CMP #$0100              A:00C1 X:5299 Y:4E9D P:envmxdizc
$81/C8BF 90 03       BCC $03    [$C8C4]      A:00C1 X:5299 Y:4E9D P:eNvmxdizc
$81/C8C1 4C 4E C9    JMP $C94E  [$81:C94E]   A:0469 X:5299 Y:4EB7 P:envmxdizC
$81/C8C4 C9 10 00    CMP #$0010              A:00C1 X:5299 Y:4E9D P:eNvmxdizc
$81/C8C7 D0 03       BNE $03    [$C8CC]      A:00C1 X:5299 Y:4E9D P:envmxdizC
$81/C8CC C9 11 00    CMP #$0011              A:00C1 X:5299 Y:4E9D P:envmxdizC
$81/C8CF D0 03       BNE $03    [$C8D4]      A:00C1 X:5299 Y:4E9D P:envmxdizC
code is missing here
$81/C8D4 48          PHA                     A:00C1 X:5299 Y:4E9D P:envmxdizC
$81/C8D5 A5 A4       LDA $A4    [$00:00A4]   A:00C1 X:5299 Y:4E9D P:envmxdizC
$81/C8D7 89 02 00    BIT #$0002              A:0C03 X:5299 Y:4E9D P:envmxdizC
$81/C8DA D0 1D       BNE $1D    [$C8F9]      A:0C03 X:5299 Y:4E9D P:envmxdizC
code is missing here
$81/C8F9 68          PLA                     A:0C03 X:5299 Y:4E9D P:envmxdizC
$81/C8FA C9 CF 00    CMP #$00CF              A:00C1 X:5299 Y:4E9D P:envmxdizC
$81/C8FD F0 2A       BEQ $2A    [$C929]      A:00C1 X:5299 Y:4E9D P:eNvmxdizc
$81/C8FF C9 D0 00    CMP #$00D0              A:00C1 X:5299 Y:4E9D P:eNvmxdizc
$81/C902 F0 25       BEQ $25    [$C929]      A:00C1 X:5299 Y:4E9D P:eNvmxdizc
$81/C904 38          SEC                     A:00C1 X:5299 Y:4E9D P:eNvmxdizc
$81/C905 E9 20 00    SBC #$0020              A:00C1 X:5299 Y:4E9D P:eNvmxdizC
$81/C908 0A          ASL A                   A:00A1 X:5299 Y:4E9D P:envmxdizC
$81/C909 0A          ASL A                   A:0142 X:5299 Y:4E9D P:envmxdizc
$81/C90A AA          TAX                     A:0284 X:5299 Y:4E9D P:envmxdizc
$81/C90B BF E7 D6 81 LDA $81D6E7,x[$81:D96B] A:0284 X:0284 Y:4E9D P:envmxdizc
$81/C90F 85 00       STA $00    [$00:0000]   A:224A X:0284 Y:4E9D P:envmxdizc
$81/C911 BF E9 D6 81 LDA $81D6E9,x[$81:D96D] A:224A X:0284 Y:4E9D P:envmxdizc
$81/C915 85 02       STA $02    [$00:0002]   A:233A X:0284 Y:4E9D P:envmxdizc
$81/C917 68          PLA                     A:233A X:0284 Y:4E9D P:envmxdizc
$81/C918 89 00 40    BIT #$4000              A:00C1 X:0284 Y:4E9D P:envmxdizc
$81/C91B D0 05       BNE $05    [$C922]      A:00C1 X:0284 Y:4E9D P:envmxdiZc
$81/C91D A9 00 20    LDA #$2000              A:00C1 X:0284 Y:4E9D P:envmxdiZc
$81/C920 80 03       BRA $03    [$C925]      A:2000 X:0284 Y:4E9D P:envmxdizc
code is missing here
$81/C925 85 04       STA $04    [$00:0004]   A:2000 X:0284 Y:4E9D P:envmxdizc
$81/C927 18          CLC                     A:2000 X:0284 Y:4E9D P:envmxdizc
$81/C928 60          RTS                     A:2000 X:0284 Y:4E9D P:envmxdizc
code is missing here
$81/C94E A3 01       LDA $01,s  [$00:1FBB]   A:0469 X:5299 Y:4EB7 P:envmxdizC
$81/C950 89 00 40    BIT #$4000              A:0469 X:5299 Y:4EB7 P:envmxdizC
$81/C953 D0 05       BNE $05    [$C95A]      A:0469 X:5299 Y:4EB7 P:envmxdiZC
$81/C955 A9 00 20    LDA #$2000              A:0469 X:5299 Y:4EB7 P:envmxdiZC
$81/C958 80 03       BRA $03    [$C95D]      A:2000 X:5299 Y:4EB7 P:envmxdizC
$81/C95D 85 04       STA $04    [$00:0004]   A:2000 X:5299 Y:4EB7 P:envmxdizC
$81/C95F 68          PLA                     A:2000 X:5299 Y:4EB7 P:envmxdizC
$81/C960 29 FF 0F    AND #$0FFF              A:0469 X:5299 Y:4EB7 P:envmxdizC
$81/C963 38          SEC                     A:0469 X:5299 Y:4EB7 P:envmxdizC
$81/C964 E9 00 01    SBC #$0100              A:0469 X:5299 Y:4EB7 P:envmxdizC
$81/C967 60          RTS                     A:0369 X:5299 Y:4EB7 P:envmxdizC

$81/CF11 ?

$81/CF11 A6 D8       LDX $D8    [$00:00D8]   A:230C X:45D9 Y:0006 P:envMxdizc
$81/CF13 BD 72 00    LDA $0072,x[$7E:464B]   A:230C X:45D9 Y:0006 P:envMxdizc
$81/CF16 85 08       STA $08    [$00:0008]   A:2306 X:45D9 Y:0006 P:envMxdizc
$81/CF18 C6 08       DEC $08    [$00:0008]   A:2306 X:45D9 Y:0006 P:envMxdizc
$81/CF1A 30 05       BMI $05    [$CF21]      A:2306 X:45D9 Y:0006 P:envMxdizc
$81/CF1C 20 46 D0    JSR $D046  [$81:D046]   A:2306 X:45D9 Y:0006 P:envMxdizc
$81/CF1F D0 F7       BNE $F7    [$CF18]      A:23EE X:45D9 Y:45D9 P:envMxdizc
$81/CF21 60          RTS                     A:23EE X:45D9 Y:45D9 P:eNvMxdizc

$81/D046 ?

$81/D046 20 1E BC    JSR $BC1E  [$81:BC1E]   A:2306 X:45D9 Y:0006 P:envMxdizc
$81/D049 9B          TXY                     A:00D0 X:45D9 Y:0006 P:envmxdizc
$81/D04A 85 06       STA $06    [$00:0006]   A:00D0 X:45D9 Y:45D9 P:envmxdizc
$81/D04C AA          TAX                     A:00D0 X:45D9 Y:45D9 P:envmxdizc
$81/D04D A5 02       LDA $02    [$00:0002]   A:00D0 X:00D0 Y:45D9 P:envmxdizc
$81/D04F F0 2D       BEQ $2D    [$D07E]      A:0005 X:00D0 Y:45D9 P:envmxdizc
$81/D051 A5 00       LDA $00    [$00:0000]   A:0005 X:00D0 Y:45D9 P:envmxdizc
$81/D053 85 04       STA $04    [$00:0004]   A:0013 X:00D0 Y:45D9 P:envmxdizc
$81/D055 DA          PHX                     A:0013 X:00D0 Y:45D9 P:envmxdizc
$81/D056 8A          TXA                     A:0013 X:00D0 Y:45D9 P:envmxdizc
$81/D057 18          CLC                     A:00D0 X:00D0 Y:45D9 P:envmxdizc
$81/D058 69 40 00    ADC #$0040              A:00D0 X:00D0 Y:45D9 P:envmxdizc
$81/D05B 29 FF 07    AND #$07FF              A:0110 X:00D0 Y:45D9 P:envmxdizc
$81/D05E AA          TAX                     A:0110 X:00D0 Y:45D9 P:envmxdizc
$81/D05F BF 00 A8 7E LDA $7EA800,x[$7E:A910] A:0110 X:0110 Y:45D9 P:envmxdizc
$81/D063 FA          PLX                     A:233A X:0110 Y:45D9 P:envmxdizc
$81/D064 9F 00 A8 7E STA $7EA800,x[$7E:A8D0] A:233A X:00D0 Y:45D9 P:envmxdizc
$81/D068 E8          INX                     A:233A X:00D0 Y:45D9 P:envmxdizc
$81/D069 E8          INX                     A:233A X:00D1 Y:45D9 P:envmxdizc
$81/D06A C6 04       DEC $04    [$00:0004]   A:233A X:00D2 Y:45D9 P:envmxdizc
$81/D06C D0 E7       BNE $E7    [$D055]      A:233A X:00D2 Y:45D9 P:envmxdizc
$81/D06E A5 06       LDA $06    [$00:0006]   A:23EE X:00F6 Y:45D9 P:envmxdiZc
$81/D070 18          CLC                     A:00D0 X:00F6 Y:45D9 P:envmxdizc
$81/D071 69 40 00    ADC #$0040              A:00D0 X:00F6 Y:45D9 P:envmxdizc
$81/D074 85 06       STA $06    [$00:0006]   A:0110 X:00F6 Y:45D9 P:envmxdizc
$81/D076 29 FF 07    AND #$07FF              A:0110 X:00F6 Y:45D9 P:envmxdizc
$81/D079 AA          TAX                     A:0110 X:00F6 Y:45D9 P:envmxdizc
$81/D07A C6 02       DEC $02    [$00:0002]   A:0110 X:0110 Y:45D9 P:envmxdizc
$81/D07C D0 D3       BNE $D3    [$D051]      A:0110 X:0110 Y:45D9 P:envmxdizc
$81/D07E A9 EE 23    LDA #$23EE              A:0210 X:0210 Y:45D9 P:envmxdiZc
$81/D081 9F 00 A8 7E STA $7EA800,x[$7E:AA10] A:23EE X:0210 Y:45D9 P:envmxdizc
$81/D085 E8          INX                     A:23EE X:0210 Y:45D9 P:envmxdizc
$81/D086 E8          INX                     A:23EE X:0211 Y:45D9 P:envmxdizc
$81/D087 C6 00       DEC $00    [$00:0000]   A:23EE X:0212 Y:45D9 P:envmxdizc
$81/D089 D0 F6       BNE $F6    [$D081]      A:23EE X:0212 Y:45D9 P:envmxdizc
$81/D08B E2 20       SEP #$20                A:23EE X:0236 Y:45D9 P:envmxdiZc
$81/D08D BB          TYX                     A:23EE X:0236 Y:45D9 P:envMxdiZc
$81/D08E 60          RTS                     A:23EE X:45D9 Y:45D9 P:envMxdizc

$81/D296 ?

A contains the Data Bank for this subroutine

$81/D296 8B          PHB           ; Buffer Data Bank on Stack
$81/D297 48          PHA           ; Set Data Bank to A
$81/D298 AB          PLB
$81/D299 DA          PHX           ; Buffer X and Y on Stack
$81/D29A 5A          PHY
$81/D29B A5 04       LDA $04    [$00:0004]   A:2F7E X:A800 Y:2F9A P:envMxdizc
$81/D29D F0 3D       BEQ $3D    [$D2DC]      A:2F18 X:A800 Y:2F9A P:envMxdizc
$81/D29F A5 05       LDA $05    [$00:0005]   A:2F18 X:A800 Y:2F9A P:envMxdizc
$81/D2A1 F0 39       BEQ $39    [$D2DC]      A:2F02 X:A800 Y:2F9A P:envMxdizc
$81/D2A3 7B          TDC                     A:2F02 X:A800 Y:2F9A P:envMxdizc
$81/D2A4 A5 03       LDA $03    [$00:0003]   A:0000 X:A800 Y:2F9A P:envMxdiZc
$81/D2A6 EB          XBA                     A:0005 X:A800 Y:2F9A P:envMxdizc
$81/D2A7 C2 21       REP #$21                A:0500 X:A800 Y:2F9A P:envMxdiZc
$81/D2A9 4A          LSR A                   A:0500 X:A800 Y:2F9A P:envmxdiZc
$81/D2AA 4A          LSR A                   A:0280 X:A800 Y:2F9A P:envmxdizc
$81/D2AB 63 03       ADC $03,s  [$00:1FBD]   A:0140 X:A800 Y:2F9A P:envmxdizc
$81/D2AD 48          PHA                     A:A940 X:A800 Y:2F9A P:eNvmxdizc
$81/D2AE A5 02       LDA $02    [$00:0002]   A:A940 X:A800 Y:2F9A P:eNvmxdizc
$81/D2B0 29 FF 00    AND #$00FF              A:0503 X:A800 Y:2F9A P:envmxdizc
$81/D2B3 0A          ASL A                   A:0003 X:A800 Y:2F9A P:envmxdizc
$81/D2B4 63 01       ADC $01,s  [$00:1FB9]   A:0006 X:A800 Y:2F9A P:envmxdizc
$81/D2B6 AA          TAX                     A:A946 X:A800 Y:2F9A P:eNvmxdizc
$81/D2B7 68          PLA                     A:A946 X:A946 Y:2F9A P:eNvmxdizc
$81/D2B8 A5 05       LDA $05    [$00:0005]   A:A940 X:A946 Y:2F9A P:eNvmxdizc
$81/D2BA 29 FF 00    AND #$00FF              A:0202 X:A946 Y:2F9A P:envmxdizc
$81/D2BD F0 1D       BEQ $1D    [$D2DC]      A:0002 X:A946 Y:2F9A P:envmxdizc
$81/D2BF 48          PHA                     A:0002 X:A946 Y:2F9A P:envmxdizc
$81/D2C0 DA          PHX                     A:0002 X:A946 Y:2F9A P:envmxdizc
$81/D2C1 A5 04       LDA $04    [$00:0004]   A:0002 X:A946 Y:2F9A P:envmxdizc
$81/D2C3 29 FF 00    AND #$00FF              A:0218 X:A946 Y:2F9A P:envmxdizc
$81/D2C6 48          PHA                     A:0018 X:A946 Y:2F9A P:envmxdizc
$81/D2C7 A3 07       LDA $07,s  [$00:1FBB]   A:0018 X:A946 Y:2F9A P:envmxdizc
$81/D2C9 9D 00 00    STA $0000,x[$7E:A946]   A:2F9A X:A946 Y:2F9A P:envmxdizc
$81/D2CC E8          INX                     A:2F9A X:A946 Y:2F9A P:envmxdizc
$81/D2CD E8          INX                     A:2F9A X:A947 Y:2F9A P:eNvmxdizc
$81/D2CE 68          PLA                     A:2F9A X:A948 Y:2F9A P:eNvmxdizc
$81/D2CF 3A          DEC A                   A:0018 X:A948 Y:2F9A P:envmxdizc
$81/D2D0 D0 F4       BNE $F4    [$D2C6]      A:0017 X:A948 Y:2F9A P:envmxdizc
$81/D2D2 68          PLA                     A:0000 X:A976 Y:2F9A P:envmxdiZc
$81/D2D3 18          CLC                     A:A946 X:A976 Y:2F9A P:eNvmxdizc
$81/D2D4 69 40 00    ADC #$0040              A:A946 X:A976 Y:2F9A P:eNvmxdizc
$81/D2D7 AA          TAX                     A:A986 X:A976 Y:2F9A P:eNvmxdizc
$81/D2D8 68          PLA                     A:A986 X:A986 Y:2F9A P:eNvmxdizc
$81/D2D9 3A          DEC A                   A:0002 X:A986 Y:2F9A P:envmxdizc
$81/D2DA D0 E3       BNE $E3    [$D2BF]      A:0001 X:A986 Y:2F9A P:envmxdizc
$81/D2DC E2 20       SEP #$20      ; A = 8-bit
$81/D2DE 7A          PLY           ; Restore Y and X from Stack
$81/D2DF FA          PLX
$81/D2E0 AB          PLB           ; Restore Data Bank from Stack
$81/D2E1 6B          RTL

$81/D341 ?

A contains a Data Bank

$81/D341 8B          PHB           ; Buffer Data Bank on Stack
$81/D342 48          PHA           ; Set Data Bank to A
$81/D343 AB          PLB
$81/D344 64 01       STZ $01    [$00:0001]   A:0181 X:D331 Y:015C P:eNvMxdizc
$81/D346 64 03       STZ $03    [$00:0003]   A:0181 X:D331 Y:015C P:eNvMxdizc
$81/D348 C2 21       REP #$21                A:0181 X:D331 Y:015C P:eNvMxdizc
$81/D34A 5A          PHY                     A:0181 X:D331 Y:015C P:eNvmxdizc
$81/D34B BD 00 00    LDA $0000,x[$81:D331]   A:0181 X:D331 Y:015C P:eNvmxdizc
$81/D34E 97 20       STA [$20],y[$7E:A95C]   A:2FC0 X:D331 Y:015C P:envmxdizc
$81/D350 C8          INY                     A:2FC0 X:D331 Y:015C P:envmxdizc
$81/D351 C8          INY                     A:2FC0 X:D331 Y:015D P:envmxdizc
$81/D352 A5 00       LDA $00    [$00:0000]   A:2FC0 X:D331 Y:015E P:envmxdizc
$81/D354 3A          DEC A                   A:0000 X:D331 Y:015E P:envmxdiZc
$81/D355 30 0B       BMI $0B    [$D362]      A:FFFF X:D331 Y:015E P:eNvmxdizc
$81/D357 48          PHA                     A:0001 X:D331 Y:015C P:envmxdizc
$81/D358 BD 02 00    LDA $0002,x[$81:D333]   A:0001 X:D331 Y:015C P:envmxdizc
$81/D35B 97 20       STA [$20],y[$7E:A95C]   A:2FC1 X:D331 Y:015C P:envmxdizc
$81/D35D C8          INY                     A:2FC1 X:D331 Y:015C P:envmxdizc
$81/D35E C8          INY                     A:2FC1 X:D331 Y:015D P:envmxdizc
$81/D35F 68          PLA                     A:2FC1 X:D331 Y:015E P:envmxdizc
$81/D360 80 F2       BRA $F2    [$D354]      A:0001 X:D331 Y:015E P:envmxdizc
$81/D362 BD 04 00    LDA $0004,x[$81:D335]   A:FFFF X:D331 Y:015E P:eNvmxdizc
$81/D365 97 20       STA [$20],y[$7E:A95E]   A:2FC2 X:D331 Y:015E P:envmxdizc
$81/D367 68          PLA                     A:2FC2 X:D331 Y:015E P:envmxdizc
$81/D368 18          CLC                     A:015C X:D331 Y:015E P:envmxdizc
$81/D369 69 40 00    ADC #$0040              A:015C X:D331 Y:015E P:envmxdizc
$81/D36C A8          TAY                     A:019C X:D331 Y:015E P:envmxdizc
$81/D36D C6 02       DEC $02    [$00:0002]   A:019C X:D331 Y:019C P:envmxdizc
$81/D36F 30 1C       BMI $1C    [$D38D]      A:019C X:D331 Y:019C P:eNvmxdizc
$81/D371 5A          PHY                     A:0144 X:D331 Y:0144 P:envmxdizc
$81/D372 BD 06 00    LDA $0006,x[$81:D337]   A:0144 X:D331 Y:0144 P:envmxdizc
$81/D375 97 20       STA [$20],y[$7E:A944]   A:2FC6 X:D331 Y:0144 P:envmxdizc
$81/D377 C8          INY                     A:2FC6 X:D331 Y:0144 P:envmxdizc
$81/D378 C8          INY                     A:2FC6 X:D331 Y:0145 P:envmxdizc
$81/D379 98          TYA                     A:2FC6 X:D331 Y:0146 P:envmxdizc
$81/D37A 18          CLC                     A:0146 X:D331 Y:0146 P:envmxdizc
$81/D37B 65 00       ADC $00    [$00:0000]   A:0146 X:D331 Y:0146 P:envmxdizc
$81/D37D 65 00       ADC $00    [$00:0000]   A:015E X:D331 Y:0146 P:envmxdizc
$81/D37F A8          TAY                     A:0176 X:D331 Y:0146 P:envmxdizc
$81/D380 BD 08 00    LDA $0008,x[$81:D339]   A:0176 X:D331 Y:0176 P:envmxdizc
$81/D383 97 20       STA [$20],y[$7E:A976]   A:2FC7 X:D331 Y:0176 P:envmxdizc
$81/D385 68          PLA                     A:2FC7 X:D331 Y:0176 P:envmxdizc
$81/D386 18          CLC                     A:0144 X:D331 Y:0176 P:envmxdizc
$81/D387 69 40 00    ADC #$0040              A:0144 X:D331 Y:0176 P:envmxdizc
$81/D38A A8          TAY                     A:0184 X:D331 Y:0176 P:envmxdizc
$81/D38B 80 E0       BRA $E0    [$D36D]      A:0184 X:D331 Y:0184 P:envmxdizc
$81/D38D BD 0A 00    LDA $000A,x[$81:D33B]   A:019C X:D331 Y:019C P:eNvmxdizc
$81/D390 97 20       STA [$20],y[$7E:A99C]   A:2FC3 X:D331 Y:019C P:envmxdizc
$81/D392 C8          INY                     A:2FC3 X:D331 Y:019C P:envmxdizc
$81/D393 C8          INY                     A:2FC3 X:D331 Y:019D P:envmxdizc
$81/D394 C6 00       DEC $00    [$00:0000]   A:2FC3 X:D331 Y:019E P:envmxdizc
$81/D396 30 09       BMI $09    [$D3A1]      A:2FC3 X:D331 Y:019E P:eNvmxdizc
$81/D398 BD 0C 00    LDA $000C,x[$81:D33D]   A:2FC3 X:D331 Y:019C P:envmxdizc
$81/D39B 97 20       STA [$20],y[$7E:A99C]   A:2FC4 X:D331 Y:019C P:envmxdizc
$81/D39D C8          INY                     A:2FC4 X:D331 Y:019C P:envmxdizc
$81/D39E C8          INY                     A:2FC4 X:D331 Y:019D P:envmxdizc
$81/D39F 80 F3       BRA $F3    [$D394]      A:2FC4 X:D331 Y:019E P:envmxdizc
$81/D3A1 BD 0E 00    LDA $000E,x[$81:D33F]   A:2FC3 X:D331 Y:019E P:eNvmxdizc
$81/D3A4 97 20       STA [$20],y[$7E:A99E]   A:2FC5 X:D331 Y:019E P:envmxdizc
$81/D3A6 E2 20       SEP #$20      ; A = 8-bit
$81/D3A8 AB          PLB           ; Restore Data Bank from Stack
$81/D3A9 6B          RTL

$81/D3EE ?

$81/D3EE 48          PHA                     A:0000 X:45D9 Y:0002 P:envMxdiZc
$81/D3EF C2 20       REP #$20                A:0000 X:45D9 Y:0002 P:envMxdiZc
$81/D3F1 8A          TXA                     A:0000 X:45D9 Y:0002 P:envmxdiZc
$81/D3F2 9D 11 00    STA $0011,x[$7E:45EA]   A:45D9 X:45D9 Y:0002 P:envmxdizc
$81/D3F5 E2 20       SEP #$20                A:45D9 X:45D9 Y:0002 P:envmxdizc
$81/D3F7 68          PLA                     A:45D9 X:45D9 Y:0002 P:envMxdizc
$81/D3F8 4C FF D3    JMP $D3FF  [$81:D3FF]   A:4500 X:45D9 Y:0002 P:envMxdiZc
code is missing here
$81/D3FF 5A          PHY                     A:4500 X:45D9 Y:0002 P:envMxdiZc
$81/D400 BC 11 00    LDY $0011,x[$7E:45EA]   A:4500 X:45D9 Y:0002 P:envMxdiZc
$81/D403 99 01 00    STA $0001,y[$7E:45DA]   A:4500 X:45D9 Y:45D9 P:envMxdizc
$81/D406 7A          PLY                     A:4500 X:45D9 Y:45D9 P:envMxdizc
$81/D407 60          RTS                     A:4500 X:45D9 Y:0002 P:envMxdizc

$81/D40C ?

$81/D40C 5A          PHY                     A:0000 X:3919 Y:3911 P:envMxdiZC
$81/D40D BC 11 00    LDY $0011,x[$7E:392A]   A:0000 X:3919 Y:3911 P:envMxdiZC
$81/D410 B9 01 00    LDA $0001,y[$7E:391A]   A:0000 X:3919 Y:3919 P:envMxdizC
$81/D413 7A          PLY                     A:0004 X:3919 Y:3919 P:envMxdizC
$81/D414 60          RTS                     A:0004 X:3919 Y:3911 P:envMxdizC

$81/D419 ?

$81/D419 5A          PHY                     A:4C03 X:45D9 Y:45D9 P:envMxdizc
$81/D41A BC 11 00    LDY $0011,x[$7E:45EA]   A:4C03 X:45D9 Y:45D9 P:envMxdizc
$81/D41D C8          INY                     A:4C03 X:45D9 Y:45D9 P:envMxdizc
$81/D41E 99 01 00    STA $0001,y[$7E:45DB]   A:4C03 X:45D9 Y:45DA P:envMxdizc
$81/D421 C2 20       REP #$20                A:4C03 X:45D9 Y:45DA P:envMxdizc
$81/D423 98          TYA                     A:4C03 X:45D9 Y:45DA P:envmxdizc
$81/D424 9D 11 00    STA $0011,x[$7E:45EA]   A:45DA X:45D9 Y:45DA P:envmxdizc
$81/D427 E2 20       SEP #$20                A:45DA X:45D9 Y:45DA P:envmxdizc
$81/D429 7A          PLY                     A:45DA X:45D9 Y:45DA P:envMxdizc
$81/D42A 60          RTS                     A:45DA X:45D9 Y:45D9 P:envMxdizc

$81/D42F ?

This subroutine has a flag function at its ends (Clear Carry/Set Carry), yet it seems like it is never checked outside of it. Might be a case of beta remnants/"this line could be removed".

$81/D42F C2 20       REP #$20      ; A = 16-bit
$81/D431 48          PHA           ; Buffer A on Stack
$81/D432 8A          TXA                     A:0000 X:3919 Y:41DB P:envmxdizc
$81/D433 DD 11 00    CMP $0011,x[$7E:392A]   A:3919 X:3919 Y:41DB P:envmxdizc
$81/D436 F0 08       BEQ $08    [$D440]      A:3919 X:3919 Y:41DB P:envmxdiZC
$81/D438 DE 11 00    DEC $0011,x[$7E:45EA]   A:45D9 X:45D9 Y:0006 P:eNvmxdizc
$81/D43B 68          PLA           ; Restore A from Stack
$81/D43C E2 20       SEP #$20      ; A = 8-bit
$81/D43E 18          CLC           ; Clear Carry (= Error Flag)
$81/D43F 60          RTS
$81/D440 68          PLA           ; Restore A from Stack
$81/D441 E2 21       SEP #$21      ; A = 8-bit / Set Carry (= Error Flag)
$81/D443 60          RTS

$81/D448 ?

$81/D448 48          PHA           ; Buffer A on Stack
$81/D449 7B          TDC           ; Clear 16-bit A
$81/D44A A5 C1       LDA $C1    [$00:00C1]   A:0000 X:3300 Y:3762 P:envMxdiZc
$81/D44C F0 10       BEQ $10    [$D45E]      A:0003 X:3300 Y:3762 P:envMxdizc
$81/D44E 3A          DEC A                   A:0003 X:3300 Y:3762 P:envMxdizc
$81/D44F 0A          ASL A                   A:0002 X:3300 Y:3762 P:envMxdizc
$81/D450 A8          TAY                     A:0004 X:3300 Y:3762 P:envMxdizc
$81/D451 B6 C2       LDX $C2,y  [$00:00C6]   A:0004 X:3300 Y:0004 P:envMxdizc
$81/D453 BD 00 00    LDA $0000,x[$7E:3919]   A:0004 X:3919 Y:0004 P:envMxdizc
$81/D456 C3 01       CMP $01,s  [$00:1FD0]   A:0001 X:3919 Y:0004 P:envMxdizc
$81/D458 F0 07       BEQ $07    [$D461]      A:0001 X:3919 Y:0004 P:eNvMxdizc
$81/D45A 88          DEY                     A:0001 X:3919 Y:0004 P:eNvMxdizc
$81/D45B 88          DEY                     A:0001 X:3919 Y:0003 P:envMxdizc
$81/D45C 10 F3       BPL $F3    [$D451]      A:0001 X:3919 Y:0002 P:envMxdizc
$81/D45E 68          PLA           ; Restore A from Stack
$81/D45F 38          SEC                     A:0002 X:3300 Y:FFFE P:envMxdizC
$81/D460 60          RTS                     A:0002 X:3300 Y:FFFE P:envMxdizC
$81/D461 68          PLA           ; Restore A from Stack
$81/D462 18          CLC                     A:0002 X:3911 Y:0002 P:envMxdizC
$81/D463 60          RTS                     A:0002 X:3911 Y:0002 P:envMxdizc

$81/D4B0 ?

$81/D4B0 22 7B F5 81 JSL $81F57B[$81:F57B]   A:0032 X:3300 Y:0879 P:envMxdizc
$81/D4B4 6B          RTL                     A:0032 X:0013 Y:0009 P:envMxdizc

$81/D9D7 GRAPHICS: Textbox "Go On" Hand Sprite, Low Position

SIZE: $40, ($81/D9D7 - $81/DA16) USED AT: $81/ABF1

At the End of a Textbox, there can appear a Gloved Hand Icon that moves up and down to signalize that this message will go on. These $40 bytes are the sprites tiles for the low position of this Gloved Hand.

$81/DA17 GRAPHICS: Textbox "Go On" Hand Sprite, High Position

SIZE: $40, ($81/DA17 - $81/DA46) USED AT: $81/ABF1

At the End of a Textbox, there can appear a Gloved Hand Icon that moves up and down to signalize that this message will go on. These $40 bytes are the sprites tiles for the high position of this Gloved Hand.

$81/DA64 ?

$81/DA64 48          PHA                     A:4C7E X:45D9 Y:0879 P:envMxdizc
$81/DA65 DA          PHX                     A:4C7E X:45D9 Y:0879 P:envMxdizc
$81/DA66 C0 20 05    CPY #$0520              A:4C7E X:45D9 Y:0879 P:envMxdizc
$81/DA69 90 08       BCC $08    [$DA73]      A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA6B C0 3C 05    CPY #$053C              A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA6E B0 03       BCS $03    [$DA73]      A:4C7E X:45D9 Y:0879 P:envMxdizC
code is missing here
$81/DA73 C0 92 01    CPY #$0192              A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA76 90 08       BCC $08    [$DA80]      A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA78 C0 22 02    CPY #$0222              A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA7B B0 03       BCS $03    [$DA80]      A:4C7E X:45D9 Y:0879 P:envMxdizC
code is missing here
$81/DA80 C0 C3 00    CPY #$00C3              A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA83 90 08       BCC $08    [$DA8D]      A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA85 C0 92 01    CPY #$0192              A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA88 B0 03       BCS $03    [$DA8D]      A:4C7E X:45D9 Y:0879 P:envMxdizC
code is missing here
$81/DA8D FA          PLX                     A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA8E 68          PLA                     A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA8F 38          SEC                     A:4C7E X:45D9 Y:0879 P:envMxdizC
$81/DA90 60          RTS                     A:4C7E X:45D9 Y:0879 P:envMxdizC

$81/E2C2 ?

$81/E2C2 8B          PHB                     A:000F X:BEBE Y:01FE P:envMxdizc
$81/E2C3 4B          PHK                     A:000F X:BEBE Y:01FE P:envMxdizc
$81/E2C4 AB          PLB                     A:000F X:BEBE Y:01FE P:envMxdizc
$81/E2C5 C2 21       REP #$21                A:000F X:BEBE Y:01FE P:eNvMxdizc
$81/E2C7 29 FF 00    AND #$00FF              A:000F X:BEBE Y:01FE P:eNvmxdizc
$81/E2CA 0A          ASL A                   A:000F X:BEBE Y:01FE P:envmxdizc
$81/E2CB AA          TAX                     A:001E X:BEBE Y:01FE P:envmxdizc
$81/E2CC BF 31 E3 81 LDA $81E331,x[$81:E34F] A:001E X:001E Y:01FE P:envmxdizc
$81/E2D0 AA          TAX                     A:E3C5 X:001E Y:01FE P:eNvmxdizc
$81/E2D1 E2 20       SEP #$20                A:E3C5 X:E3C5 Y:01FE P:eNvmxdizc
$81/E2D3 A0 00 00    LDY #$0000              A:E3C5 X:E3C5 Y:01FE P:eNvMxdizc
$81/E2D6 BD 00 00    LDA $0000,x[$81:E3C5]   A:E3C5 X:E3C5 Y:0000 P:envMxdiZc
$81/E2D9 97 23       STA [$23],y[$7E:BEBE]   A:E303 X:E3C5 Y:0000 P:envMxdizc
$81/E2DB 85 00       STA $00    [$00:0000]   A:E303 X:E3C5 Y:0000 P:envMxdizc
$81/E2DD C8          INY                     A:E303 X:E3C5 Y:0000 P:envMxdizc
$81/E2DE E8          INX                     A:E303 X:E3C5 Y:0001 P:envMxdizc
$81/E2DF C2 21       REP #$21                A:E303 X:E3C6 Y:0001 P:eNvMxdizc
$81/E2E1 BD 00 00    LDA $0000,x[$81:E3C6]   A:E303 X:E3C6 Y:0001 P:eNvmxdizc
$81/E2E4 97 23       STA [$23],y[$7E:BEBF]   A:0000 X:E3C6 Y:0001 P:envmxdiZc
$81/E2E6 C8          INY                     A:0000 X:E3C6 Y:0001 P:envmxdiZc
$81/E2E7 C8          INY                     A:0000 X:E3C6 Y:0002 P:envmxdizc
$81/E2E8 BD 02 00    LDA $0002,x[$81:E3C8]   A:0000 X:E3C6 Y:0003 P:envmxdizc
$81/E2EB 0A          ASL A                   A:070E X:E3C6 Y:0003 P:envmxdizc
$81/E2EC DA          PHX                     A:0E1C X:E3C6 Y:0003 P:envmxdizc
$81/E2ED AA          TAX                     A:0E1C X:E3C6 Y:0003 P:envmxdizc
$81/E2EE BF 96 C0 8C LDA $8CC096,x[$8C:CEB2] A:0E1C X:0E1C Y:0003 P:envmxdizc
$81/E2F2 FA          PLX                     A:A6AA X:0E1C Y:0003 P:eNvmxdizc
$81/E2F3 97 23       STA [$23],y[$7E:BEC1]   A:A6AA X:E3C6 Y:0003 P:eNvmxdizc
$81/E2F5 C8          INY                     A:A6AA X:E3C6 Y:0003 P:eNvmxdizc
$81/E2F6 C8          INY                     A:A6AA X:E3C6 Y:0004 P:envmxdizc
$81/E2F7 E2 20       SEP #$20                A:A6AA X:E3C6 Y:0005 P:envmxdizc
$81/E2F9 A9 8C       LDA #$8C                A:A6AA X:E3C6 Y:0005 P:envMxdizc
$81/E2FB 97 23       STA [$23],y[$7E:BEC3]   A:A68C X:E3C6 Y:0005 P:eNvMxdizc
$81/E2FD C8          INY                     A:A68C X:E3C6 Y:0005 P:eNvMxdizc
$81/E2FE 7B          TDC                     A:A68C X:E3C6 Y:0006 P:envMxdizc
$81/E2FF C2 20       REP #$20                A:0000 X:E3C6 Y:0006 P:envMxdiZc
$81/E301 46 02       LSR $02    [$00:0002]   A:0000 X:E3C6 Y:0006 P:envmxdiZc
$81/E303 E2 20       SEP #$20                A:0000 X:E3C6 Y:0006 P:envmxdiZc
$81/E305 69 00       ADC #$00                A:0000 X:E3C6 Y:0006 P:envMxdiZc
$81/E307 97 23       STA [$23],y[$7E:BEC4]   A:0000 X:E3C6 Y:0006 P:envMxdiZc
$81/E309 C8          INY                     A:0000 X:E3C6 Y:0006 P:envMxdiZc
$81/E30A C2 20       REP #$20                A:0000 X:E3C6 Y:0007 P:envMxdizc
$81/E30C BD 04 00    LDA $0004,x[$81:E3CA]   A:0000 X:E3C6 Y:0007 P:envmxdizc
$81/E30F 0A          ASL A                   A:070A X:E3C6 Y:0007 P:envmxdizc
$81/E310 DA          PHX                     A:0E14 X:E3C6 Y:0007 P:envmxdizc
$81/E311 AA          TAX                     A:0E14 X:E3C6 Y:0007 P:envmxdizc
$81/E312 BF 96 C0 8C LDA $8CC096,x[$8C:CEAA] A:0E14 X:0E14 Y:0007 P:envmxdizc
$81/E316 FA          PLX                     A:A693 X:0E14 Y:0007 P:eNvmxdizc
$81/E317 97 23       STA [$23],y[$7E:BEC5]   A:A693 X:E3C6 Y:0007 P:eNvmxdizc
$81/E319 C8          INY                     A:A693 X:E3C6 Y:0007 P:eNvmxdizc
$81/E31A C8          INY                     A:A693 X:E3C6 Y:0008 P:envmxdizc
$81/E31B E2 20       SEP #$20                A:A693 X:E3C6 Y:0009 P:envmxdizc
$81/E31D A9 8C       LDA #$8C                A:A693 X:E3C6 Y:0009 P:envMxdizc
$81/E31F 97 23       STA [$23],y[$7E:BEC7]   A:A68C X:E3C6 Y:0009 P:eNvMxdizc
$81/E321 C8          INY                     A:A68C X:E3C6 Y:0009 P:eNvMxdizc
$81/E322 C2 21       REP #$21                A:A68C X:E3C6 Y:000A P:envMxdizc
$81/E324 8A          TXA                     A:A68C X:E3C6 Y:000A P:envmxdizc
$81/E325 69 06 00    ADC #$0006              A:E3C6 X:E3C6 Y:000A P:eNvmxdizc
$81/E328 AA          TAX                     A:E3CC X:E3C6 Y:000A P:eNvmxdizc
$81/E329 E2 20       SEP #$20                A:E3CC X:E3CC Y:000A P:eNvmxdizc
$81/E32B C6 00       DEC $00    [$00:0000]   A:E3CC X:E3CC Y:000A P:eNvMxdizc
$81/E32D D0 B0       BNE $B0    [$E2DF]      A:E3CC X:E3CC Y:000A P:envMxdizc
$81/E32F AB          PLB                     A:E3D8 X:E3D8 Y:001C P:envMxdiZc
$81/E330 6B          RTL                     A:E3D8 X:E3D8 Y:001C P:eNvMxdizc

$81/E331 ? Table for the subroutine above

Table for the subroutine above

$81/E6F0 ?

$81/E6F0 48          PHA                     A:000D X:0030 Y:0000 P:envMxdizc
$81/E6F1 7B          TDC                     A:000D X:0030 Y:0000 P:envMxdizc
$81/E6F2 68          PLA                     A:0000 X:0030 Y:0000 P:envMxdiZc
$81/E6F3 3A          DEC A                   A:000D X:0030 Y:0000 P:envMxdizc
$81/E6F4 0A          ASL A                   A:000C X:0030 Y:0000 P:envMxdizc
$81/E6F5 AA          TAX                     A:0018 X:0030 Y:0000 P:envMxdizc
$81/E6F6 98          TYA                     A:0018 X:0018 Y:0000 P:envMxdizc
$81/E6F7 7C FA E6    JMP ($E6FA,x)[$81:E818] A:0000 X:0018 Y:0000 P:envMxdiZc

$81/E6FA ? Table for the subroutine above

$81/E6FA 2E E7 --- Entry #$00 - $81/E72E
$81/E6FC 33 E7 --- Entry #$01 - $81/E733
$81/E6FE 3D E7 --- Entry #$02 - $81/E73D
$81/E700 4D E7 --- Entry #$03 - $81/E74D
$81/E702 42 E7 --- Entry #$04 - $81/E742
$81/E704 A6 E7 --- Entry #$05 - $81/E7A6
$81/E706 B9 E7 --- Entry #$06 - $81/E7B9
$81/E708 CC E7 --- Entry #$07 - $81/E7CC
$81/E70A E8 E7 --- Entry #$08 - $81/E7E8
$81/E70C FE E7 --- Entry #$09 - $81/E7FE
$81/E70E 18 E8 --- Entry #$0A - $81/E818
$81/E710 47 E7 --- Entry #$0B - $81/E747
$81/E712 1E E8 --- Entry #$0C - $81/E81E
$81/E714 27 E8 --- Entry #$0D - $81/E827

$81/E818 ?

Obviously some hardcoded WRAM address

$81/E818 A0 24 B8    LDY #$B824              A:0000 X:0018 Y:0000 P:envMxdiZc
$81/E81B A9 7E       LDA #$7E                A:0000 X:0018 Y:B824 P:eNvMxdizc
$81/E81D 6B          RTL                     A:007E X:0018 Y:B824 P:envMxdizc

$81/E836 ? Deactivate HDMA Window mask and other stuff

This clears $175F and all registers from $176D to $1775.

$81/E836 9C 5F 17    STZ $175F      ; Deactivate HDMA Window mask
$81/E839 A2 00 B1    LDX #$B100     ; (Re?)set Window Mask HDMA Table Start Address to $B100
$81/E83C 8E 61 17    STX $1761
$81/E83F A2 08 00    LDX #$0008     ; Setup Loop counter
$81/E842 9E 6D 17    STZ $176D,x    ; Clear $176D-$1775
$81/E845 CA          DEX            ; Decrement Loop counter
$81/E846 10 FA       BPL $FA        ; [$E842] Loop
$81/E848 6B          RTL

$81/E849 ?

$81/E849 E2 10       SEP #$10                A:A108 X:FFFF Y:0000 P:eNvMxdizC
$81/E84B A9 E0       LDA #$E0                A:A108 X:00FF Y:0000 P:eNvMXdizC
$81/E84D 8F E0 B0 7E STA $7EB0E0[$7E:B0E0]   A:A1E0 X:00FF Y:0000 P:eNvMXdizC
$81/E851 A9 FF       LDA #$FF                A:A1E0 X:00FF Y:0000 P:eNvMXdizC
$81/E853 8F E1 B0 7E STA $7EB0E1[$7E:B0E1]   A:A1FF X:00FF Y:0000 P:eNvMXdizC
$81/E857 A9 00       LDA #$00                A:A1FF X:00FF Y:0000 P:eNvMXdizC
$81/E859 8F E2 B0 7E STA $7EB0E2[$7E:B0E2]   A:A100 X:00FF Y:0000 P:envMXdiZC
$81/E85D A9 03       LDA #$03                A:A100 X:00FF Y:0000 P:envMXdiZC
$81/E85F 85 0E       STA $0E    [$00:000E]   A:A103 X:00FF Y:0000 P:envMXdizC
$81/E861 64 0F       STZ $0F    [$00:000F]   A:A103 X:00FF Y:0000 P:envMXdizC
$81/E863 A0 08       LDY #$08                A:A103 X:00FF Y:0000 P:envMXdizC
$81/E865 B9 6D 17    LDA $176D,y[$80:1775]   A:A103 X:00FF Y:0008 P:envMXdizC
$81/E868 F0 16       BEQ $16    [$E880]      A:A100 X:00FF Y:0008 P:envMXdiZC
$81/E86A 85 01       STA $01    [$00:0001]   A:0040 X:0000 Y:0001 P:enVMXdizc
$81/E86C B9 64 17    LDA $1764,y[$7E:1765]   A:0040 X:0000 Y:0001 P:enVMXdizc
$81/E86F 85 00       STA $00    [$00:0000]   A:004F X:0000 Y:0001 P:enVMXdizc
$81/E871 B9 76 17    LDA $1776,y[$7E:1777]   A:004F X:0000 Y:0001 P:enVMXdizc
$81/E874 85 02       STA $02    [$00:0002]   A:0058 X:0000 Y:0001 P:enVMXdizc
$81/E876 B9 7F 17    LDA $177F,y[$7E:1780]   A:0058 X:0000 Y:0001 P:enVMXdizc
$81/E879 85 03       STA $03    [$00:0003]   A:009F X:0000 Y:0001 P:eNVMXdizc
$81/E87B 20 E6 E8    JSR $E8E6  [$81:E8E6]   A:009F X:0000 Y:0001 P:eNVMXdizc
$81/E87E E6 0F       INC $0F    [$00:000F]   A:0000 X:0006 Y:0001 P:envMXdizc
$81/E880 88          DEY                     A:A100 X:00FF Y:0008 P:envMXdiZC
$81/E881 10 E2       BPL $E2    [$E865]      A:A100 X:00FF Y:0007 P:envMXdizC
$81/E883 A5 0F       LDA $0F    [$00:000F]   A:A100 X:00FF Y:00FF P:eNvMXdizC
$81/E885 F0 0E       BEQ $0E    [$E895]      A:A100 X:00FF Y:00FF P:envMXdiZC
$81/E887 A9 10       LDA #$10                A:0001 X:0006 Y:00FF P:envMXdizc
$81/E889 0C B0 05    TSB $05B0  [$7E:05B0]   A:0010 X:0006 Y:00FF P:envMXdizc
$81/E88C C2 10       REP #$10                A:0010 X:0006 Y:00FF P:envMXdiZc
$81/E88E 64 0F       STZ $0F    [$00:000F]   A:0010 X:0006 Y:00FF P:envMxdiZc
$81/E890 20 A6 E8    JSR $E8A6  [$81:E8A6]   A:0010 X:0006 Y:00FF P:envMxdiZc
$81/E893 80 08       BRA $08    [$E89D]      A:0000 X:0009 Y:B109 P:envMxdizC
$81/E895 A9 10       LDA #$10                A:A100 X:00FF Y:00FF P:envMXdiZC
$81/E897 1C B0 05    TRB $05B0  [$80:05B0]   A:A110 X:00FF Y:00FF P:envMXdizC
$81/E89A C2 10       REP #$10                A:A110 X:00FF Y:00FF P:envMXdiZC
$81/E89C 6B          RTL                     A:A110 X:00FF Y:00FF P:envMxdiZC
$81/E89D A9 01       LDA #$01                A:0000 X:0009 Y:B109 P:envMxdizC
$81/E89F 8D 5F 17    STA $175F  [$7E:175F]   A:0001 X:0009 Y:B109 P:envMxdizC
$81/E8A2 8D 60 17    STA $1760  [$7E:1760]   A:0001 X:0009 Y:B109 P:envMxdizC
$81/E8A5 6B          RTL                     A:0001 X:0009 Y:B109 P:envMxdizC

$81/E8A6 ?

$81/E8A6 AC 61 17    LDY $1761  [$7E:1761]   A:0010 X:0006 Y:00FF P:envMxdiZc
$81/E8A9 8B          PHB                     A:0010 X:0006 Y:B100 P:eNvMxdizc
$81/E8AA A9 7E       LDA #$7E                A:0010 X:0006 Y:B100 P:eNvMxdizc
$81/E8AC 48          PHA                     A:007E X:0006 Y:B100 P:envMxdizc
$81/E8AD AB          PLB                     A:007E X:0006 Y:B100 P:envMxdizc
$81/E8AE 7B          TDC                     A:007E X:0006 Y:B100 P:envMxdizc
$81/E8AF AA          TAX                     A:0000 X:0006 Y:B100 P:envMxdiZc
$81/E8B0 BD E0 B0    LDA $B0E0,x[$7E:B0E0]   A:0000 X:0000 Y:B100 P:envMxdiZc
$81/E8B3 C9 80       CMP #$80                A:004F X:0000 Y:B100 P:envMxdizc
$81/E8B5 90 02       BCC $02    [$E8B9]      A:004F X:0000 Y:B100 P:eNvMxdizc
$81/E8B7 A9 7F       LDA #$7F                A:009F X:0000 Y:B120 P:envMxdizC
$81/E8B9 99 00 00    STA $0000,y[$7E:B100]   A:004F X:0000 Y:B100 P:eNvMxdizc
$81/E8BC BD E1 B0    LDA $B0E1,x[$7E:B0E1]   A:004F X:0000 Y:B100 P:eNvMxdizc
$81/E8BF 99 01 00    STA $0001,y[$7E:B101]   A:00FF X:0000 Y:B100 P:eNvMxdizc
$81/E8C2 BD E2 B0    LDA $B0E2,x[$7E:B0E2]   A:00FF X:0000 Y:B100 P:eNvMxdizc
$81/E8C5 99 02 00    STA $0002,y[$7E:B102]   A:0000 X:0000 Y:B100 P:envMxdiZc
$81/E8C8 BD E0 B0    LDA $B0E0,x[$7E:B0E0]   A:0000 X:0000 Y:B100 P:envMxdiZc
$81/E8CB C9 80       CMP #$80                A:004F X:0000 Y:B100 P:envMxdizc
$81/E8CD 90 07       BCC $07    [$E8D6]      A:004F X:0000 Y:B100 P:eNvMxdizc
$81/E8CF E9 7F       SBC #$7F                A:009F X:0000 Y:B120 P:envMxdizC
$81/E8D1 9D E0 B0    STA $B0E0,x[$7E:B0E0]   A:0020 X:0000 Y:B120 P:enVMxdizC
$81/E8D4 80 03       BRA $03    [$E8D9]      A:0020 X:0000 Y:B120 P:enVMxdizC
$81/E8D6 E8          INX                     A:004F X:0000 Y:B100 P:eNvMxdizc
$81/E8D7 E8          INX                     A:004F X:0001 Y:B100 P:envMxdizc
$81/E8D8 E8          INX                     A:004F X:0002 Y:B100 P:envMxdizc
$81/E8D9 C8          INY                     A:004F X:0003 Y:B100 P:envMxdizc
$81/E8DA C8          INY                     A:004F X:0003 Y:B101 P:eNvMxdizc
$81/E8DB C8          INY                     A:004F X:0003 Y:B102 P:eNvMxdizc
$81/E8DC E4 0E       CPX $0E    [$00:000E]   A:004F X:0003 Y:B103 P:eNvMxdizc
$81/E8DE D0 D0       BNE $D0    [$E8B0]      A:004F X:0003 Y:B103 P:eNvMxdizc
$81/E8E0 7B          TDC                     A:0051 X:0009 Y:B109 P:envMxdiZC
$81/E8E1 99 00 00    STA $0000,y[$7E:B109]   A:0000 X:0009 Y:B109 P:envMxdiZC
$81/E8E4 AB          PLB                     A:0000 X:0009 Y:B109 P:envMxdiZC
$81/E8E5 60          RTS                     A:0000 X:0009 Y:B109 P:envMxdizC

$81/E8E6 ?

$81/E8E6 8B          PHB                     A:00D7 X:00D9 Y:0004 P:eNvMXdizc
$81/E8E7 A9 7E       LDA #$7E                A:00D7 X:00D9 Y:0004 P:eNvMXdizc
$81/E8E9 48          PHA                     A:007E X:00D9 Y:0004 P:envMXdizc
$81/E8EA AB          PLB                     A:007E X:00D9 Y:0004 P:envMXdizc
$81/E8EB 64 04       STZ $04    [$00:0004]   A:007E X:00D9 Y:0004 P:envMXdizc
$81/E8ED A2 00       LDX #$00                A:007E X:00D9 Y:0004 P:envMXdizc
$81/E8EF A5 01       LDA $01    [$00:0001]   A:007E X:0000 Y:0004 P:envMXdiZc
$81/E8F1 D0 02       BNE $02    [$E8F5]      A:0030 X:0000 Y:0004 P:envMXdizc
$81/E8F3 AB          PLB                     A:0000 X:0006 Y:0004 P:envMXdiZc
$81/E8F4 60          RTS                     A:0000 X:0006 Y:0004 P:envMXdizc
$81/E8F5 BD E0 B0    LDA $B0E0,x[$7E:B0E0]   A:0030 X:0000 Y:0004 P:envMXdizc
$81/E8F8 18          CLC                     A:00E0 X:0000 Y:0004 P:eNvMXdizc
$81/E8F9 65 04       ADC $04    [$00:0004]   A:00E0 X:0000 Y:0004 P:eNvMXdizc
$81/E8FB C5 00       CMP $00    [$00:0000]   A:00E0 X:0000 Y:0004 P:eNvMXdizc
$81/E8FD F0 02       BEQ $02    [$E901]      A:00E0 X:0000 Y:0004 P:eNvMXdizC
$81/E8FF B0 0B       BCS $0B    [$E90C]      A:00E0 X:0000 Y:0004 P:eNvMXdizC
$81/E901 85 04       STA $04    [$00:0004]   A:0017 X:0000 Y:0004 P:envMXdizC
$81/E903 E8          INX                     A:0017 X:0000 Y:0004 P:envMXdizC
$81/E904 E8          INX                     A:0017 X:0001 Y:0004 P:envMXdizC
$81/E905 E8          INX                     A:0017 X:0002 Y:0004 P:envMXdizC
$81/E906 E4 0E       CPX $0E    [$00:000E]   A:0017 X:0003 Y:0004 P:envMXdizC
$81/E908 F0 E9       BEQ $E9    [$E8F3]      A:0017 X:0003 Y:0004 P:eNvMXdizc
$81/E90A 80 E3       BRA $E3    [$E8EF]      A:0017 X:0003 Y:0004 P:eNvMXdizc
$81/E90C A5 02       LDA $02    [$00:0002]   A:00E0 X:0000 Y:0004 P:eNvMXdizC
$81/E90E DD E1 B0    CMP $B0E1,x[$7E:B0E1]   A:0018 X:0000 Y:0004 P:envMXdizC
$81/E911 90 23       BCC $23    [$E936]      A:0018 X:0000 Y:0004 P:envMXdizc
code is missing here
$81/E91A A5 04       LDA $04    [$00:0004]   A:00C9 X:0000 Y:0004 P:eNvMXdizc
$81/E91C 18          CLC                     A:0000 X:0000 Y:0004 P:envMXdiZc
$81/E91D 7D E0 B0    ADC $B0E0,x[$7E:B0E0]   A:0000 X:0000 Y:0004 P:envMXdiZc
$81/E920 48          PHA                     A:0017 X:0000 Y:0004 P:envMXdizc
$81/E921 38          SEC                     A:0017 X:0000 Y:0004 P:envMXdizc
$81/E922 E5 00       SBC $00    [$00:0000]   A:0017 X:0000 Y:0004 P:envMXdizC
$81/E924 85 05       STA $05    [$00:0005]   A:0000 X:0000 Y:0004 P:envMXdiZC
$81/E926 A5 01       LDA $01    [$00:0001]   A:0000 X:0000 Y:0004 P:envMXdiZC
$81/E928 38          SEC                     A:0030 X:0000 Y:0004 P:envMXdizC
$81/E929 E5 05       SBC $05    [$00:0005]   A:0030 X:0000 Y:0004 P:envMXdizC
$81/E92B B0 02       BCS $02    [$E92F]      A:0030 X:0000 Y:0004 P:envMXdizC
$81/E92F 85 01       STA $01    [$00:0001]   A:0030 X:0000 Y:0004 P:envMXdizC
$81/E931 68          PLA                     A:0030 X:0000 Y:0004 P:envMXdizC
$81/E932 85 00       STA $00    [$00:0000]   A:0017 X:0000 Y:0004 P:envMXdizC
$81/E934 80 CB       BRA $CB    [$E901]      A:0017 X:0000 Y:0004 P:envMXdizC
$81/E936 A5 04       LDA $04    [$00:0004]   A:0018 X:0000 Y:0004 P:envMXdizc
$81/E938 C5 00       CMP $00    [$00:0000]   A:0000 X:0000 Y:0004 P:envMXdiZc
$81/E93A F0 17       BEQ $17    [$E953]      A:0000 X:0000 Y:0004 P:eNvMXdizc
$81/E93C 20 83 E9    JSR $E983  [$81:E983]   A:0000 X:0000 Y:0004 P:eNvMXdizc
$81/E93F A5 00       LDA $00    [$00:0000]   A:00E0 X:0000 Y:0004 P:envMXdizC
$81/E941 38          SEC                     A:0017 X:0000 Y:0004 P:envMXdizC
$81/E942 E5 04       SBC $04    [$00:0004]   A:0017 X:0000 Y:0004 P:envMXdizC
$81/E944 9D E0 B0    STA $B0E0,x[$7E:B0E0]   A:0017 X:0000 Y:0004 P:envMXdizC
$81/E947 38          SEC                     A:0017 X:0000 Y:0004 P:envMXdizC
$81/E948 FD E3 B0    SBC $B0E3,x[$7E:B0E3]   A:0017 X:0000 Y:0004 P:envMXdizC
$81/E94B 49 FF       EOR #$FF                A:0037 X:0000 Y:0004 P:envMXdizc
$81/E94D 1A          INC A                   A:00C8 X:0000 Y:0004 P:eNvMXdizc
$81/E94E 9D E3 B0    STA $B0E3,x[$7E:B0E3]   A:00C9 X:0000 Y:0004 P:eNvMXdizc
$81/E951 80 C7       BRA $C7    [$E91A]      A:00C9 X:0000 Y:0004 P:eNvMXdizc
$81/E953 A5 01       LDA $01    [$00:0001]   A:0017 X:0003 Y:0004 P:envMXdiZC
$81/E955 DD E0 B0    CMP $B0E0,x[$7E:B0E3]   A:0030 X:0003 Y:0004 P:envMXdizC
$81/E958 B0 11       BCS $11    [$E96B]      A:0030 X:0003 Y:0004 P:envMXdizc
$81/E95A 20 83 E9    JSR $E983  [$81:E983]   A:0030 X:0003 Y:0004 P:envMXdizc
$81/E95D A5 01       LDA $01    [$00:0001]   A:00C9 X:0003 Y:0004 P:envMXdizC
$81/E95F 9D E0 B0    STA $B0E0,x[$7E:B0E3]   A:0030 X:0003 Y:0004 P:envMXdizC
$81/E962 BD E3 B0    LDA $B0E3,x[$7E:B0E6]   A:0030 X:0003 Y:0004 P:envMXdizC
$81/E965 38          SEC                     A:00C9 X:0003 Y:0004 P:eNvMXdizC
$81/E966 E5 01       SBC $01    [$00:0001]   A:00C9 X:0003 Y:0004 P:eNvMXdizC
$81/E968 9D E3 B0    STA $B0E3,x[$7E:B0E6]   A:0099 X:0003 Y:0004 P:eNvMXdizC
$81/E96B A5 02       LDA $02    [$00:0002]   A:0099 X:0003 Y:0004 P:eNvMXdizC
$81/E96D DD E1 B0    CMP $B0E1,x[$7E:B0E4]   A:0018 X:0003 Y:0004 P:envMXdizC
$81/E970 B0 03       BCS $03    [$E975]      A:0018 X:0003 Y:0004 P:envMXdizc
$81/E972 9D E1 B0    STA $B0E1,x[$7E:B0E4]   A:0018 X:0003 Y:0004 P:envMXdizc
$81/E975 BD E2 B0    LDA $B0E2,x[$7E:B0E5]   A:0018 X:0003 Y:0004 P:envMXdizc
$81/E978 C5 03       CMP $03    [$00:0003]   A:0000 X:0003 Y:0004 P:envMXdiZc
$81/E97A B0 05       BCS $05    [$E981]      A:0000 X:0003 Y:0004 P:envMXdizc
$81/E97C A5 03       LDA $03    [$00:0003]   A:0000 X:0003 Y:0004 P:envMXdizc
$81/E97E 9D E2 B0    STA $B0E2,x[$7E:B0E5]   A:00D7 X:0003 Y:0004 P:eNvMXdizc
$81/E981 80 97       BRA $97    [$E91A]      A:00D7 X:0003 Y:0004 P:eNvMXdizc

$81/E983 ?

$81/E983 86 05       STX $05    [$00:0005]   A:0000 X:0000 Y:0004 P:eNvMXdizc
$81/E985 A6 0E       LDX $0E    [$00:000E]   A:0000 X:0000 Y:0004 P:eNvMXdizc
$81/E987 CA          DEX                     A:0000 X:0003 Y:0004 P:envMXdizc
$81/E988 BD E0 B0    LDA $B0E0,x[$7E:B0E2]   A:0000 X:0002 Y:0004 P:envMXdizc
$81/E98B 9D E3 B0    STA $B0E3,x[$7E:B0E5]   A:0000 X:0002 Y:0004 P:envMXdiZc
$81/E98E E4 05       CPX $05    [$00:0005]   A:0000 X:0002 Y:0004 P:envMXdiZc
$81/E990 D0 F5       BNE $F5    [$E987]      A:0000 X:0002 Y:0004 P:envMXdizC
$81/E992 E6 0E       INC $0E    [$00:000E]   A:00E0 X:0000 Y:0004 P:envMXdiZC
$81/E994 E6 0E       INC $0E    [$00:000E]   A:00E0 X:0000 Y:0004 P:envMXdizC
$81/E996 E6 0E       INC $0E    [$00:000E]   A:00E0 X:0000 Y:0004 P:envMXdizC
$81/E998 60          RTS                     A:00E0 X:0000 Y:0004 P:envMXdizC

$81/E9C5 ?

$81/E9C5 5A          PHY                     A:0032 X:45D9 Y:2B00 P:envMxdizc
$81/E9C6 20 40 EA    JSR $EA40  [$81:EA40]   A:0032 X:45D9 Y:2B00 P:envMxdizc
$81/E9C9 7A          PLY                     A:0032 X:0001 Y:5299 P:envMxdizC
$81/E9CA 20 38 EB    JSR $EB38  [$81:EB38]   A:0032 X:0001 Y:2B00 P:envMxdizC
$81/E9CD 6B          RTL                     A:0001 X:0000 Y:2B00 P:envMxdizC

$81/E9D7 ?

Executed every time a textbox pops up.

$81/E9D7 C2 20       REP #$20      ; A = 16-bit
$81/E9D9 29 FF 00    AND #$00FF    ; Clear High Byte of A
$81/E9DC 0A          ASL A         ; Multiply A by 8
$81/E9DD 0A          ASL A
$81/E9DE 0A          ASL A
$81/E9DF 48          PHA           ; Buffer A on stack
$81/E9E0 E2 20       SEP #$20      ; A = 8-bit
$81/E9E2 A5 B0       LDA $B0    [$00:00B0]   A:0190 X:5299 Y:2B00 P:envMxdizc
$81/E9E4 22 B7 A5 88 JSL $88A5B7[$88:A5B7]   A:0108 X:5299 Y:2B00 P:envMxdizc
$81/E9E8 C2 20       REP #$20      ; A = 16-bit
$81/E9EA 03 01       ORA $01,s     ; Add the buffered value from stack to A
$81/E9EC AA          TAX           ; Transfer A in X as Load Index
$81/E9ED 68          PLA           ; Remove buffered A value from stack
$81/E9EE BF 2F DF C4 LDA $C4DF2F,x[$C4:E0C3] A:0190 X:0194 Y:2B00 P:envmxdizc
$81/E9F2 29 FF 00    AND #$00FF    ; Remove accidentally loaded second byte
$81/E9F5 0A          ASL A         ; Multiply by 2 and use it as Load Index
$81/E9F6 AA          TAX
$81/E9F7 BF 01 80 C3 LDA $C38001,x[$C3:8087] A:0086 X:0086 Y:2B00 P:envmxdizc
$81/E9FB AA          TAX                     A:8320 X:0086 Y:2B00 P:eNvmxdizc
$81/E9FC A9 6E FB    LDA #$FB6E              A:8320 X:8320 Y:2B00 P:eNvmxdizc
$81/E9FF 85 23       STA $23    [$00:0023]   A:FB6E X:8320 Y:2B00 P:eNvmxdizc
$81/EA01 E2 20       SEP #$20                A:FB6E X:8320 Y:2B00 P:eNvmxdizc
$81/EA03 A9 C9       LDA #$C9                A:FB6E X:8320 Y:2B00 P:eNvMxdizc
$81/EA05 85 25       STA $25    [$00:0025]   A:FBC9 X:8320 Y:2B00 P:eNvMxdizc
$81/EA07 A9 C3       LDA #$C3                A:FBC9 X:8320 Y:2B00 P:eNvMxdizc
$81/EA09 22 CC F7 81 JSL $81F7CC[$81:F7CC]   A:FBC3 X:8320 Y:2B00 P:eNvMxdizc
$81/EA0D 6B          RTL

$81/EA40 ?

$81/EA40 48          PHA           ; Buffer A on Stack
$81/EA41 D4 5C       PEI ($5C)     ; Buffer $5C/$5D on Stack
$81/EA43 D4 0E       PEI ($0E)     ; Buffer $0E/$0F on Stack
$81/EA45 D4 20       PEI ($20)     ; Buffer $20-$25 on Stack
$81/EA47 D4 22       PEI ($22)
$81/EA49 D4 24       PEI ($24)
$81/EA4B A6 5C       LDX $5C    [$00:005C]   A:0032 X:45D9 Y:2B00 P:envMxdizc
$81/EA4D 86 20       STX $20    [$00:0020]   A:0032 X:5299 Y:2B00 P:envMxdizc
$81/EA4F 48          PHA                     A:0032 X:5299 Y:2B00 P:envMxdizc
$81/EA50 A9 7E       LDA #$7E                A:0032 X:5299 Y:2B00 P:envMxdizc
$81/EA52 85 22       STA $22    [$00:0022]   A:007E X:5299 Y:2B00 P:envMxdizc
$81/EA54 68          PLA                     A:007E X:5299 Y:2B00 P:envMxdizc
$81/EA55 22 D7 E9 81 JSL $81E9D7[$81:E9D7]   A:0032 X:5299 Y:2B00 P:envMxdizc
$81/EA59 C2 21       REP #$21                A:FFFF X:8326 Y:52B7 P:envMxdizC
$81/EA5B A5 5C       LDA $5C    [$00:005C]   A:FFFF X:8326 Y:52B7 P:envmxdizc
$81/EA5D AA          TAX                     A:5299 X:8326 Y:52B7 P:envmxdizc
$81/EA5E 65 0E       ADC $0E    [$00:000E]   A:5299 X:5299 Y:52B7 P:envmxdizc
$81/EA60 85 5C       STA $5C    [$00:005C]   A:52B7 X:5299 Y:52B7 P:envmxdizc
$81/EA62 E2 20       SEP #$20                A:52B7 X:5299 Y:52B7 P:envmxdizc
$81/EA64 7A          PLY           ; Restore $20-$25 from Stack
$81/EA65 84 24       STY $24
$81/EA67 7A          PLY
$81/EA68 84 22       STY $22
$81/EA6A 7A          PLY
$81/EA6B 84 20       STY $20
$81/EA6D 7A          PLY           ; Restore $0E-$0F from Stack
$81/EA6E 84 0E       STY $0E
$81/EA70 A9 7E       LDA #$7E                A:52B7 X:5299 Y:0001 P:envMxdizc
$81/EA72 20 92 EA    JSR $EA92  [$81:EA92]   A:527E X:5299 Y:0001 P:envMxdizc
$81/EA75 7A          PLY           ; Restore $5C/$5D from Stack
$81/EA76 84 5C       STY $5C
$81/EA78 68          PLA           ; Restore A from Stack
$81/EA79 60          RTS

$81/EA7A ?

$81/EA7A 85 0E       STA $0E    [$00:000E]   A:0001 X:3919 Y:45D9 P:envMxdizc
$81/EA7C C2 20       REP #$20                A:0001 X:3919 Y:45D9 P:envMxdizc
$81/EA7E 29 FF 00    AND #$00FF              A:0001 X:3919 Y:45D9 P:envmxdizc
$81/EA81 0A          ASL A                   A:0001 X:3919 Y:45D9 P:envmxdizc
$81/EA82 0A          ASL A                   A:0002 X:3919 Y:45D9 P:envmxdizc
$81/EA83 0A          ASL A                   A:0004 X:3919 Y:45D9 P:envmxdizc
$81/EA84 0A          ASL A                   A:0008 X:3919 Y:45D9 P:envmxdizc
$81/EA85 0A          ASL A                   A:0010 X:3919 Y:45D9 P:envmxdizc
$81/EA86 69 4D 14    ADC #$144D              A:0020 X:3919 Y:45D9 P:envmxdizc
$81/EA89 AA          TAX                     A:146D X:3919 Y:45D9 P:envmxdizc
$81/EA8A E2 20       SEP #$20                A:146D X:146D Y:45D9 P:envmxdizc
$81/EA8C A9 00       LDA #$00                A:146D X:146D Y:45D9 P:envMxdizc
$81/EA8E 20 92 EA    JSR $EA92  [$81:EA92]   A:1400 X:146D Y:45D9 P:envMxdiZc
$81/EA91 6B          RTL                     A:0000 X:0001 Y:002D P:envMxdizC

$81/EA92 ?

A contains the Data Bank that should be used in this subroutine

$81/EA92 8B          PHB           ; Buffer Data Bank on Stack
$81/EA93 48          PHA           ; Set Data Bank to value in A
$81/EA94 AB          PLB
$81/EA95 D4 0E       PEI ($0E)     ; Buffer $0E/$0F on Stack
$81/EA97 D4 20       PEI ($20)     ; Buffer $20-$23 on Stack
$81/EA99 D4 22       PEI ($22)
$81/EA9B A4 5C       LDY $5C    [$00:005C]   A:527E X:5299 Y:0001 P:envMxdizc
$81/EA9D 84 20       STY $20    [$00:0020]   A:527E X:5299 Y:52B7 P:envMxdizc
$81/EA9F E2 20       SEP #$20                A:527E X:5299 Y:52B7 P:envMxdizc
$81/EAA1 A9 7E       LDA #$7E                A:527E X:5299 Y:52B7 P:envMxdizc
$81/EAA3 85 22       STA $22    [$00:0022]   A:527E X:5299 Y:52B7 P:envMxdizc
$81/EAA5 7B          TDC           ; Clear 16-bit A
$81/EAA6 A5 0E       LDA $0E    [$00:000E]   A:0000 X:5299 Y:52B7 P:envMxdiZc
$81/EAA8 C2 20       REP #$20      ; A = 16-bit
$81/EAAA 0A          ASL A         ; Multiply A by #$10
$81/EAAB 0A          ASL A         ; This line could be removed? - just use XBA?
$81/EAAC 0A          ASL A
$81/EAAD 0A          ASL A
$81/EAAE 1A          INC A                   A:0010 X:5299 Y:52B7 P:envmxdizc
$81/EAAF 85 0E       STA $0E    [$00:000E]   A:0011 X:5299 Y:52B7 P:envmxdizc
$81/EAB1 A0 00 00    LDY #$0000              A:0011 X:5299 Y:52B7 P:envmxdizc
$81/EAB4 A5 0E       LDA $0E    [$00:000E]   A:0011 X:5299 Y:0000 P:envmxdiZc
$81/EAB6 97 20       STA [$20],y[$7E:52B7]   A:0011 X:5299 Y:0000 P:envmxdizc
$81/EAB8 E6 0E       INC $0E    [$00:000E]   A:0011 X:5299 Y:0000 P:envmxdizc
$81/EABA C8          INY                     A:0011 X:5299 Y:0000 P:envmxdizc
$81/EABB BD 00 00    LDA $0000,x[$7E:5299]   A:0011 X:5299 Y:0001 P:envmxdizc
$81/EABE 97 20       STA [$20],y[$7E:52B8]   A:0CA7 X:5299 Y:0001 P:envmxdizc
$81/EAC0 E8          INX                     A:0CA7 X:5299 Y:0001 P:envmxdizc
$81/EAC1 E8          INX                     A:0CA7 X:529A Y:0001 P:envmxdizc
$81/EAC2 C8          INY                     A:0CA7 X:529B Y:0001 P:envmxdizc
$81/EAC3 C8          INY                     A:0CA7 X:529B Y:0002 P:envmxdizc
$81/EAC4 C0 2D 00    CPY #$002D              A:0CA7 X:529B Y:0003 P:envmxdizc
$81/EAC7 90 EB       BCC $EB    [$EAB4]      A:0CA7 X:529B Y:0003 P:eNvmxdizc
$81/EAC9 A5 23       LDA $23    [$00:0023]   A:573A X:52B7 Y:002D P:envmxdiZC
$81/EACB 29 FF 00    AND #$00FF              A:4900 X:52B7 Y:002D P:envmxdizC
$81/EACE 0A          ASL A                   A:0000 X:52B7 Y:002D P:envmxdiZC
$81/EACF 0A          ASL A                   A:0000 X:52B7 Y:002D P:envmxdiZc
$81/EAD0 E2 20       SEP #$20                A:0000 X:52B7 Y:002D P:envmxdiZc
$81/EAD2 AA          TAX                     A:0000 X:52B7 Y:002D P:envMxdiZc
$81/EAD3 A9 0F       LDA #$0F                A:0000 X:0000 Y:002D P:envMxdiZc
$81/EAD5 22 F2 91 80 JSL $8091F2[$80:91F2]   A:000F X:0000 Y:002D P:envMxdizc
$81/EAD9 FA          PLX           ; Restore $23-$20 from Stack
$81/EADA 86 22       STX $22
$81/EADC FA          PLX
$81/EADD 86 20       STX $20
$81/EADF FA          PLX           ; Restore $0E/$0F from Stack
$81/EAE0 86 0E       STX $0E
$81/EAE2 AB          PLB           ; Restore Data Bank from Stack
$81/EAE3 60          RTS

$81/EB38 ?

$81/EB38 DA          PHX           ; Buffer X and Y on stack
$81/EB39 5A          PHY
$81/EB3A 64 0E       STZ $0E       ; Clear $0E
$81/EB3C D4 0E       PEI ($0E)     ; Push an empty byte on stack
$81/EB3E 48          PHA           ; Buffer A on stack
$81/EB3F A6 5C       LDX $5C    [$00:005C]   A:0032 X:0001 Y:2B00 P:envMxdizC
$81/EB41 86 20       STX $20    [$00:0020]   A:0032 X:5299 Y:2B00 P:envMxdizC
$81/EB43 A9 7E       LDA #$7E                A:0032 X:5299 Y:2B00 P:envMxdizC
$81/EB45 85 22       STA $22    [$00:0022]   A:007E X:5299 Y:2B00 P:envMxdizC
$81/EB47 A2 41 C3    LDX #$C341    ; Setup address $C0/C341 in [$23]
$81/EB4A A9 C0       LDA #$C0
$81/EB4C 86 23       STX $23
$81/EB4E 85 25       STA $25
$81/EB50 7B          TDC           ; Clear 16-bit A
$81/EB51 68          PLA           ; Restore A from stack
$81/EB52 C2 20       REP #$20      ; A = 16-bit
$81/EB54 0A          ASL A         ; Multiply by 4
$81/EB55 0A          ASL A
$81/EB56 AA          TAX           ; Transfer A in X as Load Index
$81/EB57 BF AF EC 81 LDA $81ECAF,x[$81:ED77] A:00C8 X:00C8 Y:2B00 P:envmxdizc
$81/EB5B 0A          ASL A                   A:0032 X:00C8 Y:2B00 P:envmxdizc
$81/EB5C 7F AF EC 81 ADC $81ECAF,x[$81:ED77] A:0064 X:00C8 Y:2B00 P:envmxdizc
$81/EB60 AA          TAX                     A:0096 X:00C8 Y:2B00 P:envmxdizc
$81/EB61 BF 87 D9 CA LDA $CAD987,x[$CA:DA1D] A:0096 X:0096 Y:2B00 P:envmxdizc
$81/EB65 48          PHA                     A:DCC1 X:0096 Y:2B00 P:eNvmxdizc
$81/EB66 E2 20       SEP #$20                A:DCC1 X:0096 Y:2B00 P:eNvmxdizc
$81/EB68 BF 89 D9 CA LDA $CAD989,x[$CA:DA1F] A:DCC1 X:0096 Y:2B00 P:eNvMxdizc
$81/EB6C FA          PLX                     A:DCC8 X:0096 Y:2B00 P:eNvMxdizc
$81/EB6D 22 98 9E 80 JSL $809E98[$80:9E98]   A:DCC8 X:DCC1 Y:2B00 P:eNvMxdizc
$81/EB71 C2 20       REP #$20                A:5280 X:0000 Y:2B00 P:envMxdizc
$81/EB73 FA          PLX                     A:5280 X:0000 Y:2B00 P:envmxdizc
$81/EB74 86 0E       STX $0E    [$00:000E]   A:5280 X:0000 Y:2B00 P:envmxdiZc
$81/EB76 68          PLA                     A:5280 X:0000 Y:2B00 P:envmxdiZc
$81/EB77 38          SEC                     A:2B00 X:0000 Y:2B00 P:envmxdizc
$81/EB78 E3 01       SBC $01,s  [$00:1FB2]   A:2B00 X:0000 Y:2B00 P:envmxdizC
$81/EB7A 4A          LSR A                   A:2AFF X:0000 Y:2B00 P:envmxdizC
$81/EB7B 4A          LSR A                   A:157F X:0000 Y:2B00 P:envmxdizC
$81/EB7C 4A          LSR A                   A:0ABF X:0000 Y:2B00 P:envmxdizC
$81/EB7D 4A          LSR A                   A:055F X:0000 Y:2B00 P:envmxdizC
$81/EB7E 05 0E       ORA $0E    [$00:000E]   A:02AF X:0000 Y:2B00 P:envmxdizC
$81/EB80 85 0E       STA $0E    [$00:000E]   A:02AF X:0000 Y:2B00 P:envmxdizC
$81/EB82 68          PLA                     A:02AF X:0000 Y:2B00 P:envmxdizC
$81/EB83 E2 20       SEP #$20      ; A = 8-bit
$81/EB85 60          RTS

$81/EB86 ? Use A as Load Index from a Table

A is a Character Sprite number ($17AE)

$81/EB86 DA          PHX           ; Buffer X on Stack
$81/EB87 EB          XBA           ; Clear Hidden Accumulator 8-bit
$81/EB88 A9 00       LDA #$00
$81/EB8A EB          XBA
$81/EB8B AA          TAX           ; Transfer 16-bit A value in X as Load Index
$81/EB8C BF 92 EB 81 LDA $81EB92,x ; Load byte from the table below
$81/EB90 FA          PLX           ; Restore X from Stack
$81/EB91 6B          RTL
00 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E
0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
1F 20 21 22 23 24 25 26 27 28 28 29 2A 2B 2F 2E
6C 62 30 31 32 33 34 35 36 37 38 39 3A 3B 3E 3C
3D 4C 4D 68 4F 50 51 52 53 54 55 3F 3B 3E 3C 3D
40 41 42 43 44 45 46 47 48 49 4A 4B 56 57 58 59
5A 64 2D 65 2C 2C 2D 3F 56 3A 75 65 6D 80 81 82
7F 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91

$81/EF8F ? Check if bit is set

A contains the Data Bank for this subroutine, X contains an address, Y contains additional data. This loads from the address in A/X and checks if a bit is set, that is corresponding to Y.

$81/EF8F 8B          PHB           ; Preserve Data Bank
$81/EF90 48          PHA           ; Set Data Bank to what is in A
$81/EF91 AB          PLB
$81/EF92 C2 20       REP #$20      ; A = 16-bit
$81/EF94 98          TYA                     A:0099 X:905E Y:000D P:eNvmxdizc
$81/EF95 4A          LSR A         ; Divide value by 8
$81/EF96 4A          LSR A
$81/EF97 4A          LSR A
$81/EF98 48          PHA           ; Buffer it on stack
$81/EF99 8A          TXA                     A:0001 X:905E Y:000D P:envmxdizC
$81/EF9A 18          CLC                     A:905E X:905E Y:000D P:eNvmxdizC
$81/EF9B 63 01       ADC $01,s     ; Add div-by-8-value
$81/EF9D 83 01       STA $01,s     ; Store result on Stack
$81/EF9F E2 20       SEP #$20      ; A = 8-bit
$81/EFA1 7B          TDC           ; Clear 16-bit A
$81/EFA2 98          TYA                     A:0000 X:905E Y:000D P:envMxdiZc
$81/EFA3 29 07       AND #$07                A:000D X:905E Y:000D P:envMxdizc
$81/EFA5 AA          TAX                     A:0005 X:905E Y:000D P:envMxdizc
$81/EFA6 BF B6 EF 81 LDA $81EFB6,x[$81:EFBB] A:0005 X:0005 Y:000D P:envMxdizc
$81/EFAA FA          PLX                     A:0020 X:0005 Y:000D P:envMxdizc
$81/EFAB 48          PHA                     A:0020 X:905F Y:000D P:eNvMxdizc
$81/EFAC BD 00 00    LDA $0000,x[$99:905F]   A:0020 X:905F Y:000D P:eNvMxdizc
$81/EFAF 23 01       AND $01,s  [$00:1FE8]   A:0000 X:905F Y:000D P:envMxdiZc
$81/EFB1 C9 01       CMP #$01                A:0000 X:905F Y:000D P:envMxdiZc
$81/EFB3 68          PLA           ; (Restore A from Stack)
$81/EFB4 AB          PLB           ; Restore Data Bank from Stack
$81/EFB5 6B          RTL

$81/EFB6 01
$81/EFB7 02
$81/EFB8 04
$81/EFB9 08
$81/EFBA 10
$81/EFBB 20
$81/EFBC 40
$81/EFBD 80

$81/F3C4 Fade Screen Out

$81/F3C4 A9 02       LDA #$02      ; Set Screen Fade Out flag
$81/F3C6 8D C2 05    STA $05C2
$81/F3C9 22 6A 8D 80 JSL $808D6A   ; Do the Fade Out
$81/F3CD 22 8A A1 80 JSL $80A18A   ; Change Bank, wait for NMI and execute code built in WRAM
$81/F3D1 AD 87 05    LDA $0587     ; Check if Screen has faded out and FBLANK is active
$81/F3D4 10 F3       BPL $F3       ; [$F3C9] Loop if not
$81/F3D6 6B          RTL

$81/F57B ?

$81/F57B 8B          PHB           ; Buffer Data Bank on Stack
$81/F57C D4 00       PEI ($00)     ; Buffer $00-$03 on Stack
$81/F57E D4 02       PEI ($02)
$81/F580 D4 20       PEI ($20)     ; Buffer $20-$25 on Stack
$81/F582 D4 22       PEI ($22)
$81/F584 D4 24       PEI ($24)
$81/F586 D4 5C       PEI ($5C)     ; Buffer $5C-$5D on Stack
$81/F588 A9 7E       LDA #$7E      ; Set Data Bank to $7E
$81/F58A 48          PHA
$81/F58B AB          PLB
$81/F58C C2 21       REP #$21      ; A = 16-bit, Clear Carry
$81/F58E 98          TYA                     A:007E X:3300 Y:0879 P:envmxdizc
$81/F58F 85 00       STA $00    [$00:0000]   A:0879 X:3300 Y:0879 P:envmxdizc
$81/F591 0A          ASL A                   A:0879 X:3300 Y:0879 P:envmxdizc
$81/F592 65 00       ADC $00    [$00:0000]   A:10F2 X:3300 Y:0879 P:envmxdizc
$81/F594 AA          TAX                     A:196B X:3300 Y:0879 P:envmxdizc
$81/F595 BF 00 80 A3 LDA $A38000,x[$A3:996B] A:196B X:196B Y:0879 P:envmxdizc
$81/F599 48          PHA                     A:E083 X:196B Y:0879 P:eNvmxdizc
$81/F59A E2 20       SEP #$20                A:E083 X:196B Y:0879 P:eNvmxdizc
$81/F59C BF 02 80 A3 LDA $A38002,x[$A3:996D] A:E083 X:196B Y:0879 P:eNvMxdizc
$81/F5A0 48          PHA                     A:E0AA X:196B Y:0879 P:eNvMxdizc
$81/F5A1 A2 00 D4    LDX #$D400              A:E0AA X:196B Y:0879 P:eNvMxdizc
$81/F5A4 86 23       STX $23    [$00:0023]   A:E0AA X:D400 Y:0879 P:eNvMxdizc
$81/F5A6 A9 A1       LDA #$A1                A:E0AA X:D400 Y:0879 P:eNvMxdizc
$81/F5A8 85 25       STA $25    [$00:0025]   A:E0A1 X:D400 Y:0879 P:eNvMxdizc
$81/F5AA A6 5C       LDX $5C    [$00:005C]   A:E0A1 X:D400 Y:0879 P:eNvMxdizc
$81/F5AC 86 20       STX $20    [$00:0020]   A:E0A1 X:45D9 Y:0879 P:envMxdizc
$81/F5AE A9 7E       LDA #$7E                A:E0A1 X:45D9 Y:0879 P:envMxdizc
$81/F5B0 85 22       STA $22    [$00:0022]   A:E07E X:45D9 Y:0879 P:envMxdizc
$81/F5B2 68          PLA                     A:E07E X:45D9 Y:0879 P:envMxdizc
$81/F5B3 FA          PLX                     A:E0AA X:45D9 Y:0879 P:eNvMxdizc
$81/F5B4 22 CC F7 81 JSL $81F7CC[$81:F7CC]   A:E0AA X:E083 Y:0879 P:eNvMxdizc
$81/F5B8 C2 21       REP #$21                A:00C3 X:E0E6 Y:0092 P:envMxdizC
$81/F5BA A5 20       LDA $20    [$00:0020]   A:00C3 X:E0E6 Y:0092 P:envmxdizc
$81/F5BC 65 0E       ADC $0E    [$00:000E]   A:45D9 X:E0E6 Y:0092 P:envmxdizc
$81/F5BE 85 23       STA $23    [$00:0023]   A:466B X:E0E6 Y:0092 P:envmxdizc
$81/F5C0 85 5C       STA $5C    [$00:005C]   A:466B X:E0E6 Y:0092 P:envmxdizc
$81/F5C2 E2 20       SEP #$20                A:466B X:E0E6 Y:0092 P:envmxdizc
$81/F5C4 A5 22       LDA $22    [$00:0022]   A:466B X:E0E6 Y:0092 P:envMxdizc
$81/F5C6 85 25       STA $25    [$00:0025]   A:467E X:E0E6 Y:0092 P:envMxdizc
$81/F5C8 64 00       STZ $00    [$00:0000]   A:467E X:E0E6 Y:0092 P:envMxdizc
$81/F5CA 64 01       STZ $01    [$00:0001]   A:467E X:E0E6 Y:0092 P:envMxdizc
$81/F5CC 64 02       STZ $02    [$00:0002]   A:467E X:E0E6 Y:0092 P:envMxdizc
$81/F5CE 64 03       STZ $03    [$00:0003]   A:467E X:E0E6 Y:0092 P:envMxdizc
$81/F5D0 20 3A F6    JSR $F63A  [$81:F63A]   A:467E X:E0E6 Y:0092 P:envMxdizc
$81/F5D3 A5 00       LDA $00    [$00:0000]   A:007E X:0002 Y:466B P:envMxdiZc
$81/F5D5 C5 02       CMP $02    [$00:0002]   A:000C X:0002 Y:466B P:envMxdizc
$81/F5D7 90 02       BCC $02    [$F5DB]      A:000C X:0002 Y:466B P:eNvMxdizc
code is missing here
$81/F5DB 7B          TDC                     A:000C X:0002 Y:466B P:eNvMxdizc
$81/F5DC A5 02       LDA $02    [$00:0002]   A:0000 X:0002 Y:466B P:envMxdiZc
$81/F5DE AA          TAX                     A:0013 X:0002 Y:466B P:envMxdizc
$81/F5DF A5 01       LDA $01    [$00:0001]   A:0013 X:0013 Y:466B P:envMxdizc
$81/F5E1 1A          INC A                   A:0008 X:0013 Y:466B P:envMxdizc
$81/F5E2 A8          TAY                     A:0009 X:0013 Y:466B P:envMxdizc
$81/F5E3 C2 20       REP #$20      ; A = 16 bit
$81/F5E5 68          PLA           ; Restore $5C/$5D from Stack
$81/F5E6 85 5C       STA $5C
$81/F5E8 68          PLA           ; Restore $20-$25 from Stack
$81/F5E9 85 24       STA $24
$81/F5EB 68          PLA
$81/F5EC 85 22       STA $22
$81/F5EE 68          PLA
$81/F5EF 85 20       STA $20
$81/F5F1 68          PLA           ; Restore $00-$03 from Stack
$81/F5F2 85 02       STA $02
$81/F5F4 68          PLA
$81/F5F5 85 00       STA $00
$81/F5F7 E2 20       SEP #$20      ; A = 8-bit
$81/F5F9 AB          PLB           ; Restore Data Bank from Stack
$81/F5FA 6B          RTL

$81/F63A ?

$81/F63A A4 20       LDY $20    [$00:0020]   A:467E X:E0E6 Y:0092 P:envMxdizc
$81/F63C C4 23       CPY $23    [$00:0023]   A:467E X:E0E6 Y:45D9 P:envMxdizc
$81/F63E D0 09       BNE $09    [$F649]      A:467E X:E0E6 Y:45D9 P:eNvMxdizc
$81/F640 A5 22       LDA $22    [$00:0022]   A:00C3 X:0002 Y:466B P:envMxdiZC
$81/F642 C5 25       CMP $25    [$00:0025]   A:007E X:0002 Y:466B P:envMxdizC
$81/F644 D0 03       BNE $03    [$F649]      A:007E X:0002 Y:466B P:envMxdiZC
$81/F646 4C 97 F7    JMP $F797  [$81:F797]   A:007E X:0002 Y:466B P:envMxdiZC
$81/F649 7B          TDC                     A:467E X:E0E6 Y:45D9 P:eNvMxdizc
$81/F64A A7 20       LDA [$20]  [$7E:45D9]   A:0000 X:E0E6 Y:45D9 P:envMxdiZc
$81/F64C C9 20       CMP #$20                A:00F3 X:E0E6 Y:45D9 P:eNvMxdizc
$81/F64E 90 0B       BCC $0B    [$F65B]      A:00F3 X:E0E6 Y:45D9 P:eNvMxdizC
$81/F650 C9 F0       CMP #$F0                A:00F3 X:E0E6 Y:45D9 P:eNvMxdizC
$81/F652 C2 20       REP #$20                A:00F3 X:E0E6 Y:45D9 P:envMxdizC
$81/F654 90 03       BCC $03    [$F659]      A:00F3 X:E0E6 Y:45D9 P:envmxdizC
$81/F656 4C BC F6    JMP $F6BC  [$81:F6BC]   A:00F3 X:E0E6 Y:45D9 P:envmxdizC
$81/F659 80 4F       BRA $4F    [$F6AA]      A:00C1 X:07C0 Y:9717 P:eNvmxdizc
$81/F65B C2 20       REP #$20                A:0000 X:07C0 Y:971B P:eNvMxdizc
$81/F65D 0A          ASL A                   A:0000 X:07C0 Y:971B P:eNvmxdizc
$81/F65E AA          TAX                     A:0000 X:07C0 Y:971B P:envmxdiZc
$81/F65F 7C 62 F6    JMP ($F662,x)[$81:F797] A:0000 X:0000 Y:971B P:envmxdiZc
$81/F662 97 F7 --- Entry #$00 - $F797
$81/F664 B2 F6 --- Entry #$01 - $F6B2
$81/F666 B2 F6 --- Entry #$02 - $F6B2
$81/F668 B2 F6 --- Entry #$03 - $F6B2
$81/F66A B2 F6 --- Entry #$04 - $F6B2
$81/F66C B2 F6 --- Entry #$05 - $F6B2
$81/F66E B2 F6 --- Entry #$06 - $F6B2
$81/F670 B2 F6 --- Entry #$07 - $F6B2
$81/F672 B2 F6 --- Entry #$08 - $F6B2
$81/F674 B2 F6 --- Entry #$09 - $F6B2
$81/F676 B2 F6 --- Entry #$0A - $F6B2
$81/F678 B2 F6 --- Entry #$0B - $F6B2
$81/F67A B2 F6 --- Entry #$0C - $F6B2
$81/F67C B2 F6 --- Entry #$0D - $F6B2
$81/F67E B2 F6 --- Entry #$0E - $F6B2
$81/F680 B2 F6 --- Entry #$0F - $F6B2
$81/F682 AA F6 --- Entry #$10 - $F6AA
$81/F684 AA F6 --- Entry #$11 - $F6AA
$81/F686 29 F7 --- Entry #$12 - $F729
$81/F688 30 F7 --- Entry #$13 - $F730
$81/F68A 0F F7 --- Entry #$14 - $F70F
$81/F68C 35 F7 --- Entry #$15 - $F735
$81/F68E 16 F7 --- Entry #$16 - $F716
$81/F690 A2 F6 --- Entry #$17 - $F6A2
$81/F692 E8 F6 --- Entry #$18 - $F6E8
$81/F694 38 F7 --- Entry #$19 - $F738
$81/F696 5F F7 --- Entry #$1A - $F75F
$81/F698 90 F7 --- Entry #$1B - $F790
$81/F69A 79 F7 --- Entry #$1C - $F779
$81/F69C 5F F7 --- Entry #$1D - $F75F
$81/F69E 3D F7 --- Entry #$1E - $F73D
$81/F6A0 2E F7 --- Entry #$1F - $F72E
code is missing here
$81/F6A6 E2 21       SEP #$21                A:00C1 X:07C0 Y:9717 P:envMxdizc
$81/F6A8 80 90       BRA $90    [$F63A]      A:00C1 X:07C0 Y:9717 P:envMxdizC
$81/F6AA E6 20       INC $20    [$00:0020]   A:00C1 X:07C0 Y:9717 P:eNvmxdizc
$81/F6AC E2 20       SEP #$20                A:00C1 X:07C0 Y:9717 P:eNvmxdizc
$81/F6AE E6 00       INC $00    [$00:0000]   A:00C1 X:07C0 Y:9717 P:eNvMxdizc
$81/F6B0 80 F4       BRA $F4    [$F6A6]      A:00C1 X:07C0 Y:9717 P:envMxdizc
$81/F6B2 E6 20       INC $20    [$00:0020]   A:0008 X:0008 Y:45E0 P:envmxdizc
$81/F6B4 E6 20       INC $20    [$00:0020]   A:0008 X:0008 Y:45E0 P:envmxdizc
$81/F6B6 E2 20       SEP #$20                A:0008 X:0008 Y:45E0 P:envmxdizc
$81/F6B8 E6 00       INC $00    [$00:0000]   A:0008 X:0008 Y:45E0 P:envMxdizc
$81/F6BA 80 EA       BRA $EA    [$F6A6]      A:0008 X:0008 Y:45E0 P:envMxdizc
$81/F6BC A5 20       LDA $20    [$00:0020]   A:00F3 X:E0E6 Y:45D9 P:envmxdizC
$81/F6BE 1A          INC A                   A:45D9 X:E0E6 Y:45D9 P:envmxdizC
$81/F6BF 1A          INC A                   A:45DA X:E0E6 Y:45D9 P:envmxdizC
$81/F6C0 48          PHA                     A:45DB X:E0E6 Y:45D9 P:envmxdizC
$81/F6C1 E2 20       SEP #$20                A:45DB X:E0E6 Y:45D9 P:envmxdizC
$81/F6C3 A5 22       LDA $22    [$00:0022]   A:45DB X:E0E6 Y:45D9 P:envMxdizC
$81/F6C5 48          PHA                     A:457E X:E0E6 Y:45D9 P:envMxdizC
$81/F6C6 C2 20       REP #$20                A:457E X:E0E6 Y:45D9 P:envMxdizC
$81/F6C8 A7 20       LDA [$20]  [$7E:45D9]   A:457E X:E0E6 Y:45D9 P:envmxdizC
$81/F6CA EB          XBA                     A:E0F3 X:E0E6 Y:45D9 P:eNvmxdizC
$81/F6CB 38          SEC                     A:F3E0 X:E0E6 Y:45D9 P:eNvmxdizC
$81/F6CC E9 00 F0    SBC #$F000              A:F3E0 X:E0E6 Y:45D9 P:eNvmxdizC
$81/F6CF 0A          ASL A                   A:03E0 X:E0E6 Y:45D9 P:envmxdizC
$81/F6D0 AA          TAX                     A:07C0 X:E0E6 Y:45D9 P:envmxdizc
$81/F6D1 BF 96 C0 8C LDA $8CC096,x[$8C:C856] A:07C0 X:07C0 Y:45D9 P:envmxdizc
$81/F6D5 85 20       STA $20    [$00:0020]   A:9717 X:07C0 Y:45D9 P:eNvmxdizc
$81/F6D7 E2 20       SEP #$20                A:9717 X:07C0 Y:45D9 P:eNvmxdizc
$81/F6D9 A9 8C       LDA #$8C                A:9717 X:07C0 Y:45D9 P:eNvMxdizc
$81/F6DB 85 22       STA $22    [$00:0022]   A:978C X:07C0 Y:45D9 P:eNvMxdizc
$81/F6DD 20 3A F6    JSR $F63A  [$81:F63A]   A:978C X:07C0 Y:45D9 P:eNvMxdizc
$81/F6E0 68          PLA                     A:0000 X:0000 Y:971B P:envMxdiZc
$81/F6E1 85 22       STA $22    [$00:0022]   A:007E X:0000 Y:971B P:envMxdizc
$81/F6E3 FA          PLX                     A:007E X:0000 Y:971B P:envMxdizc
$81/F6E4 86 20       STX $20    [$00:0020]   A:007E X:45DB Y:971B P:envMxdizc
$81/F6E6 80 BE       BRA $BE    [$F6A6]      A:007E X:45DB Y:971B P:envMxdizc
code is missing here
$81/F716 E6 20       INC $20    [$00:0020]   A:002C X:002C Y:45DB P:envmxdizc
$81/F718 E2 20       SEP #$20                A:002C X:002C Y:45DB P:envmxdizc
$81/F71A A5 00       LDA $00    [$00:0000]   A:002C X:002C Y:45DB P:envMxdizc
$81/F71C C5 02       CMP $02    [$00:0002]   A:0004 X:002C Y:45DB P:envMxdizc
$81/F71E 90 02       BCC $02    [$F722]      A:0004 X:002C Y:45DB P:envMxdizC
$81/F720 85 02       STA $02    [$00:0002]   A:0004 X:002C Y:45DB P:envMxdizC
$81/F722 64 00       STZ $00    [$00:0000]   A:0004 X:002C Y:45DB P:envMxdizC
$81/F724 E6 01       INC $01    [$00:0001]   A:0004 X:002C Y:45DB P:envMxdizC
$81/F726 4C A6 F6    JMP $F6A6  [$81:F6A6]   A:0004 X:002C Y:45DB P:envMxdizC

$81/F797 ?

$81/F797 E2 20       SEP #$20                A:0000 X:0000 Y:971B P:envmxdiZc
$81/F799 18          CLC                     A:0000 X:0000 Y:971B P:envMxdiZc
$81/F79A 60          RTS                     A:0000 X:0000 Y:971B P:envMxdiZc

$81/F7CC ? Some Decompression

This subroutine is for decompression. It works with not less than three 24-bit-addresses: The Address of the Decompression Commands ([$23], i. e. $23-$25), the address of the Compressed Data (in X and A when this subroutine is entered) and the Store Address ([$20], i. e. $20-$22). After some setup (the MVN command in $AC, for instance), the subroutine loads a byte from [$23] and depending on its value, it jumps to a different decompression segment.

Please Read the Segment under "Tutorials" about this decompression subroutine.

    A - Compressed Data Bank
    X - Compressed Data Address
 $06  - Flag Byte for decompression
 $07  - Bitwise Counter for when to load a new byte into $06
 $09  - AND-Mask
 $0C  - Number of Bytes to do for MVN, LOW BYTE
 $0D  - Number of Bytes to do for MVN, HIGH BYTE
[$20] - 24-bit Decompression Store Address
[$23] - 24-bit Load Address, contains the commands for Decompression
 $28  - Buffer for the Compressed Data Bank (this subroutine is entered with it in A)

Notes:

At the bottom, this subroutine loads a Data Byte with Flags and stores it in $06. It also sets up a Bitwise Counter in $07 that keeps track when the next Flag Byte has to be loaded. If the bit/flag is set, the next Data Byte gets transfered as it is; if the bit/flag is cleared, a decompression is done.

$81/F7CC 8B          PHB           ; Buffer Data Bank on Stack
$81/F7CD 0B          PHD           ; Buffer Direct Page on Stack
$81/F7CE F4 00 00    PEA $0000     ; Set Direct Page to #$0000
$81/F7D1 2B          PLD
$81/F7D2 48          PHA           ; Set Data Bank to A
$81/F7D3 85 28       STA $28       ; Buffer Data Bank in $28, too
$81/F7D5 AB          PLB
$81/F7D6 A5 22       LDA $22       ; Setup Code in $AC --- MVN-Command, Destination Bank is the same as [$20]
$81/F7D8 85 AD       STA $AD
$81/F7DA A9 54       LDA #$54      ; #$54 = MVN
$81/F7DC 85 AC       STA $AC
$81/F7DE A9 60       LDA #$60      ; #$60 = RTS
$81/F7E0 85 AF       STA $AF
$81/F7E2 A7 23       LDA [$23]     ; Load Decompression Command Data Byte
$81/F7E4 F0 36       BEQ $36       ; [$F81C] Branch if Data Byte = #$00
$81/F7E6 3A          DEC A
$81/F7E7 D0 03       BNE $03       ; [$F7EC] Branch if Data Byte was > #$01
$81/F7E9 4C AA F8    JMP $F8AA     ; Jump if Data Byte was = #$01
$81/F7EC 3A          DEC A
$81/F7ED D0 03       BNE $03       ; [$F7F2] Branch if Data Byte was > #$02
code is missing here
$81/F7F2 3A          DEC A
$81/F7F3 F0 09       BEQ $09       ; [$F7FE] Branch if Data Byte was = #$03
$81/F7F5 3A          DEC A
$81/F7F6 D0 03       BNE $03       ; [$F7FB] Branch if Data Byte was > #$04
$81/F7F8 4C 8D F8    JMP $F88D     ; Jump if Data Byte was = #$04
code is missing here
$81/F81C A0 01 00    LDY #$0001    ; Load first Argument Byte for Decompression Command
$81/F81F B7 23       LDA [$23],y
$81/F821 85 0A       STA $0A       ; Store Argument Byte (Bit length of Number of Bytes to Do) in $0A
$81/F823 64 0B       STZ $0B       ; Clear "High Byte" for 16-bit-Loading $0A
$81/F825 A4 0A       LDY $0A       ; 16-bit-Load $0A into Y
$81/F827 C8          INY           ; Increment Decomp Command Load Index
$81/F828 20 D0 F9    JSR $F9D0     ; Create AND-Mask and Jump Command for Calc of Number of Bytes to Do
$81/F82B C2 21       REP #$21      ; A = 16-bit, Clear Carry
$81/F82D E6 23       INC $23       ; Increment Decomp Command Load Address twice
$81/F82F E6 23       INC $23
$81/F831 A7 23       LDA [$23]     ; Load next Decomp Command Double-Byte
$81/F833 85 0E       STA $0E       ; Set as Loop Counter Limit
$81/F835 E6 23       INC $23       ; Increment Decomp Command Load Address twice
$81/F837 E6 23       INC $23
$81/F839 A4 20       LDY $20       ; Load the Store Address into Y for MVN
$81/F83B 65 20       ADC $20       ; A = Loop Counter Limit + Store Position = ...
$81/F83D 85 26       STA $26       ; ... = $26 = End Position of this Decompression
$81/F83F E2 20       SEP #$20      ; A = 8-bit
$81/F841 64 0D       STZ $0D       ; Clear High Byte of MVN Number of Bytes to Do
$81/F843 C4 26       CPY $26       ; Was the End Position of this Decompression reached?
$81/F845 F0 43       BEQ $43       ; [$F88A] Exit if equal
$81/F847 BD 00 00    LDA $0000,x   ; Load Next Compressed Data Byte
$81/F84A 30 28       BMI $28       ; [$F874] Branch if MSB (a flag) is set
$81/F84C 0A          ASL A         ; Push (clear) flag bit out of Data Byte
$81/F84D 20 C3 F9    JSR $F9C3     ; Crop Number of Bytes to Do from Loaded Data Byte
$81/F850 3A          DEC A         ; Decrement MVN Number of Bytes to Do (because MVN always does one more)
$81/F851 85 0C       STA $0C       ; Buffer Number of Bytes to do (for MVN) in $0C
$81/F853 A5 25       LDA $25       ; Set the Bank of [$23] as Source Bank for MVN
$81/F855 85 AE       STA $AE
$81/F857 BD 00 00    LDA $0000,x   ; Load Compressed Data Double Byte (Source Address Offset) and...
$81/F85A 25 09       AND $09       ; ... remove Number of Bytes to Do from Double Byte
$81/F85C EB          XBA
$81/F85D BD 01 00    LDA $0001,x
$81/F860 E8          INX           ; Increment Data Load Index twice
$81/F861 E8          INX
$81/F862 C2 21       REP #$21      ; A = 16-bit, Clear Carry
$81/F864 65 23       ADC $23       ; Add Data Load Address to Offset for MVN Source Address
$81/F866 DA          PHX           ; Buffer Load Index on Stack
$81/F867 AA          TAX           ; Replace X with A for MVN (Source Address)
$81/F868 A5 0C       LDA $0C       ; Load Number of Bytes to do for MVN
$81/F86A 8B          PHB           ; Buffer Data Bank on Stack
$81/F86B 20 AC 00    JSR $00AC     ; MVN
$81/F86E AB          PLB           ; Restore Data Bank from Stack
$81/F86F FA          PLX           ; Restore Load Index from Stack
$81/F870 E2 20       SEP #$20      ; A = 8-bit
$81/F872 80 CF       BRA $CF       ; [$F843] Loop

$81/F874 E8          INX           ; Increment Compressed Data Load Index
$81/F875 29 7F       AND #$7F      ; Remove Flag Bit
$81/F877 85 0C       STA $0C       ; Buffer Number of Bytes to Do in $0C
$81/F879 A5 28       LDA $28       ; Set Bank of Compressed Data as Source Bank for MVN
$81/F87B 85 AE       STA $AE
$81/F87D C2 20       REP #$20      ; A = 16-bit
$81/F87F A5 0C       LDA $0C       ; Load Number of Bytes to Do in A for MVN
$81/F881 8B          PHB           ; Buffer Data Bank on Stack
$81/F882 20 AC 00    JSR $00AC     ; MVN
$81/F885 AB          PLB           ; Restore Data Bank from Stack
$81/F886 E2 20       SEP #$20      ; A = 8-bit
$81/F888 80 B9       BRA $B9       ; [$F843] Loop

$81/F88A 2B          PLD           ; Restore Direct Page from Stack
$81/F88B AB          PLB           ; Restore Data Bank from Stack
$81/F88C 6B          RTL

$81/F88D A0 01 00    LDY #$0001    ; Load first Argument Byte for Decompression Command
$81/F890 B7 23       LDA [$23],y
$81/F892 85 0A       STA $0A       ; Store Argument Byte (Bit length of Number of Bytes to Do) in $0A
$81/F894 64 0B       STZ $0B       ; Clear "High Byte" for 16-bit-Loading $0A
$81/F896 A4 0A       LDY $0A       ; 16-bit-Load $0A into Y
$81/F898 20 D0 F9    JSR $F9D0     ; Create AND-Mask and Jump Command for Calc of Number of Bytes to Do
$81/F89B C2 20       REP #$20      ; A = 16-bit
$81/F89D E6 23       INC $23       ; Increment Decomp Command Load Address twice
$81/F89F E6 23       INC $23
$81/F8A1 BD 00 00    LDA $0000,x   ; Load Data Double-Byte
$81/F8A4 85 0E       STA $0E       ; Set as Loop Counter Limit
$81/F8A6 E8          INX           ; Increment Compressed Data Load Index twice
$81/F8A7 E8          INX
$81/F8A8 80 1E       BRA $1E       ; [$F8C8]

$81/F8AA A0 01 00    LDY #$0001    ; Load first Argument Byte for Decompression Command
$81/F8AD B7 23       LDA [$23],y
$81/F8AF 85 0A       STA $0A       ; Store Argument Byte (Bit length of Number of Bytes to Do) in $0A
$81/F8B1 64 0B       STZ $0B       ; Clear "High Byte" for 16-bit-Loading $0A
$81/F8B3 A4 0A       LDY $0A       ; 16-bit-Load $0A into Y
$81/F8B5 20 D0 F9    JSR $F9D0     ; Create AND-Mask and Jump Command for Calc of Number of Bytes to Do
$81/F8B8 C2 21       REP #$21      ; A = 16-bit, Clear Carry
$81/F8BA A0 02 00    LDY #$0002    ; Load second and third Argument Bytes for Decompression Command
$81/F8BD B7 23       LDA [$23],y
$81/F8BF 85 0E       STA $0E       ; Set as Loop Counter Limit
$81/F8C1 A9 04 00    LDA #$0004    ; Increment Address in [$23] four times
$81/F8C4 65 23       ADC $23
$81/F8C6 85 23       STA $23
$81/F8C8 E2 20       SEP #$20      ; A = 8-bit
$81/F8CA 64 0D       STZ $0D       ; Clear High Byte of MVN Number of Bytes to Do
$81/F8CC A5 25       LDA $25       ; MVN Source Bank = Bank of [$23]
$81/F8CE 85 AE       STA $AE
$81/F8D0 A0 00 00    LDY #$0000    ; Setup Store Index

$81/F8D3 A9 FF       LDA #$FF      ; Setup Bitwise Counter in $07
$81/F8D5 85 07       STA $07
$81/F8D7 BD 00 00    LDA $0000,x   ; Load Command Flag Byte and store it in $06
$81/F8DA 85 06       STA $06
$81/F8DC E8          INX           ; Increment Data Load Index

$81/F8DD 06 06       ASL $06       ; Shift next Flag out of $06 and branch accordingly
$81/F8DF 90 11       BCC $11       ; [$F8F2] Branch if Flag not set
$81/F8E1 BD 00 00    LDA $0000,x   ; Else, transfer the Data Byte as it is
$81/F8E4 97 20       STA [$20],y
$81/F8E6 E8          INX           ; Increment Load Index
$81/F8E7 C8          INY           ; Increment Store Index
$81/F8E8 C4 0E       CPY $0E       ; Compare Y with Loop Counter Limit
$81/F8EA F0 35       BEQ $35       ; [$F921] Exit if Limit is reached
$81/F8EC 06 07       ASL $07       ; Shift a Bit out of the Bitwise Counter
$81/F8EE D0 ED       BNE $ED       ; [$F8DD] Normal small loop if $07 isn't empty jet
$81/F8F0 80 E1       BRA $E1       ; [$F8D3] Loop, reset Bitwise Counter and load new Flag Byte

$81/F8F2 BD 00 00    LDA $0000,x   ; Load Compressed Data Byte
$81/F8F5 20 C3 F9    JSR $F9C3     ; Crop Number of Bytes to Do from Loaded Data Byte
$81/F8F8 3A          DEC A         ; Decrement MVN Number of Bytes to Do (because MVN always does one more)
$81/F8F9 85 0C       STA $0C       ; Buffer MVN Number of Bytes to Do in $0C
$81/F8FB BD 00 00    LDA $0000,x   ; Load Compressed Data Double Byte (Source Address Offset) and...
$81/F8FE 25 09       AND $09       ; ... remove Number of Bytes to Do from Double Byte
$81/F900 EB          XBA
$81/F901 BD 01 00    LDA $0001,x
$81/F904 E8          INX           ; Increment Compressed Data Load Index twice
$81/F905 E8          INX
$81/F906 C2 21       REP #$21      ; A = 16-bit, Clear Carry
$81/F908 65 23       ADC $23       ; Add Data Load Address to Offset for MVN Source Address
$81/F90A DA          PHX           ; Buffer Comp Data Load Index on Stack
$81/F90B AA          TAX           ; Transfer MVN Source Address in X for Upcoming MVN
$81/F90C 98          TYA           ; Add Data Store Address to Data Store Index for Upcoming MVN
$81/F90D 65 20       ADC $20
$81/F90F A8          TAY
$81/F910 A5 0C       LDA $0C       ; Load Number of Bytes to Do in A for MVN
$81/F912 8B          PHB           ; Buffer Data Bank on Stack
$81/F913 20 AC 00    JSR $00AC     ; MVN
$81/F916 AB          PLB           ; Restore Data Bank from Stack
$81/F917 98          TYA           ; Remove Data Store Address from Data Store Index in Y
$81/F918 38          SEC
$81/F919 E5 20       SBC $20
$81/F91B A8          TAY
$81/F91C FA          PLX           ; Restore Comp Data Load Index from Stack
$81/F91D E2 20       SEP #$20      ; A = 8-bit
$81/F91F 80 C7       BRA $C7       ; [$F8E8] Do next Data Byte

$81/F921 2B          PLD           ; Restore Direct Page from Stack
$81/F922 AB          PLB           ; Restore Data Bank from Stack
$81/F923 6B          RTL

$81/F9C3 Jump ($000A)

$81/F9C3 6C 0A 00    JMP ($000A)[$81:F9C7]   A:000E X:E086 Y:0000 P:envMxdizc
code is missing here
$81/F9C7 4A          LSR A         ; divide by #$20
$81/F9C8 4A          LSR A
$81/F9C9 4A          LSR A
$81/F9CA 4A          LSR A
$81/F9CB 4A          LSR A
$81/F9CC 18          CLC
$81/F9CD 69 03       ADC #$03      ; plus 3
$81/F9CF 60          RTS

$81/F9D0 ? Decompression: Prepare AND-Mask, Prepare MVN Size Calculation

This prepares $0A for the subroutine above ($81/F9C3).

Y contains a number betw. 1 and 8, this subroutine creates AND-Mask where the corresponding number of bits are cleared, beginning with the MSB, and that is stored in $09 (Y = #$03 ==> $09 = #%0001.1111)

The second part changes the Jump Address in $0A according to the value that is stored there. It makes the Subroutine at $81/F9C3 jump over a number of LSR A commands, accordingly.

$81/F9D0 A9 FF       LDA #$FF      ; #$FF = AND-Mask blanket
$81/F9D2 4A          LSR A         ; Push one bit out of the AND-Mask...
$81/F9D3 88          DEY           ; ... for every DEY...
$81/F9D4 D0 FC       BNE $FC       ; [$F9D2] ... until Y = #$00
$81/F9D6 85 09       STA $09       ; Then, store the AND-Mask
$81/F9D8 7B          TDC           ; Clear 16-bit A
$81/F9D9 A5 0A       LDA $0A
$81/F9DB C2 21       REP #$21      ; A = 16-bit, Clear Carry
$81/F9DD 69 C4 F9    ADC #$F9C4    ; Add Address Offset
$81/F9E0 85 0A       STA $0A       ; Store Jump Address
$81/F9E2 E2 20       SEP #$20      ; A = 8-bit
$81/F9E4 60          RTS

$81/F9E5 Decompression subroutine

During the new game creation process, this is executed when one of these artworks gets loaded

This subroutine builds an MVN command (which moves normally big chunks of data from one address to WRAM) in WRAM and then jumps to it.

MVN: X is source, Y is destination, C number of bytes minus one (C=#$0005, six bytes will be moved)

The arguments are transfered to it as follows:

$0C contains the number of bytes to transfer minus one (if $0C = #$05, six bytes will be moved)

$0E will contain the size of the decompressed data when this subroutine is left

$20 contains the destination address for the MVN-command

$22 contains the source bank for the MVN-command (and destination bank, in many cases)

X and A contain a 24-bit address; this is an address to the compressed data.

$81/F9E5 8B          PHB           ; Preserve Data Bank
$81/F9E6 85 25       STA $25       ; Store the brought-in bank to the where-to-read address buffer
$81/F9E8 A5 22       LDA $22       ; For the MVN-command, load the Destination bank and set it up in WRAM
$81/F9EA 85 AD       STA $AD
$81/F9EC 48          PHA           ; Set up the same bank as Program Bank
$81/F9ED AB          PLB
$81/F9EE A9 54       LDA #$54      ; #$54 is "MVN" when interpreted as code
$81/F9F0 85 AC       STA $AC
$81/F9F2 A9 60       LDA #$60      ; #$60 is "RTS" when interpreted as code
$81/F9F4 85 AF       STA $AF
$81/F9F6 A4 20       LDY $20       ; Load the MVN-destination address in Y
$81/F9F8 C2 21       REP #$21      ; 16-bit A, Clear Carry
$81/F9FA 86 23       STX $23       ; Setup the load address (for the compressed data)
$81/F9FC A7 23       LDA [$23]     ; Load first two bytes (Size of the decompressed data)
$81/F9FE 85 0E       STA $0E       ; Store the size of the decompressed data in $0E
$81/FA00 65 20       ADC $20       ; Calculate the Y value when this data is completely decompressed
$81/FA02 85 0A       STA $0A       ; Store that as comparison value in $0A
$81/FA04 E8          INX           ; After the first two bytes are read, increment the pointer to the next unread byte
$81/FA05 E8          INX
$81/FA06 E2 20       SEP #$20
$81/FA08 80 31       BRA $31       ; [$FA3B] Go to the main decompression case handler

$81/FA0A E6 25       INC $25       ; Increment Compressed Data Address Bank
$81/FA0C A2 00 80    LDX #$8000    ; Set Compressed Data Address Pointer back to $8000
$81/FA0F 80 2A       BRA $2A       ; [$FA3B] Go on

$81/FA11 29 78       AND #$78      ; Remove the MSB from the Data byte
$81/FA13 4A          LSR A         ; A = A/8 + 2
$81/FA14 4A          LSR A         ; Note that the division by eight removes bits 0 to 2, too
$81/FA15 4A          LSR A         ; (And now, please read the last line's comment out loud)
$81/FA16 1A          INC A
$81/FA17 1A          INC A
$81/FA18 85 0C       STA $0C       ; A is the number of bytes to transfer
$81/FA1A A5 22       LDA $22       ; In this case, $22 is the second argument for the MVN command, too
$81/FA1C 85 AE       STA $AE       ; So this is always a movement on the same bank
$81/FA1E C2 21       REP #$21      ; 16 bit A, Clear Carry
$81/FA20 A7 23       LDA [$23]     ; Load two bytes from compressed data
$81/FA22 EB          XBA           ; Please note that the already-loaded byte gets loaded again
$81/FA23 29 FF 07    AND #$07FF    ; but this time, all the bits that were used here before are removed
$81/FA26 1A          INC A         ; What is now in A is the number of bytes to move backwards minus one
$81/FA27 85 08       STA $08       ; This decompression function repeats already decompressed lines
$81/FA29 98          TYA           ; Here, the program takes the current where-to-write pointer...
$81/FA2A 38          SEC           ; ... and subtracts the loaded number of bytes to form the new read-pointer
$81/FA2B E5 08       SBC $08       ; The "INC A" makes the program move one byte more back than in the loaded value
$81/FA2D E8          INX           ; Increment the Compressed Data Load address
$81/FA2E E8          INX
$81/FA2F DA          PHX           ; Push the Compressed Data Load address on stack, ...
$81/FA30 AA          TAX           ; ... because X has to contain the Read-Pointer for the upcoming MVN
$81/FA31 A5 0C       LDA $0C       ; Load number of bytes to transfer
$81/FA33 20 AC 00    JSR $00AC     ; Jump to the self-written MVN command
$81/FA36 FA          PLX           ; Get the Compressed Data Load Address back from stack
$81/FA37 E2 20       SEP #$20
$81/FA39 80 00       BRA $00       ; [$FA3B] Go on with the decompression - this line could be removed

$81/FA3B C4 0A       CPY $0A       ; Is the end point of the decompression reached? (= Is everything decompressed?)
$81/FA3D F0 14       BEQ $14       ; [$FA53] Exit if it is
$81/FA3F 64 0D       STZ $0D       ; Clear the upper byte of the bytes-to-transfer buffer register
$81/FA41 86 23       STX $23       ; Update the compressed data read-address
$81/FA43 A7 23       LDA [$23]     ; Load next byte (8 bit A!)
$81/FA45 30 CA       BMI $CA       ; [$FA11] Branch if MSB is set - Repeat already decompressed bytes
$81/FA47 F0 C1       BEQ $C1       ; [$FA0A] Branch if byte is empty - Compressed data is on the next bank
$81/FA49 89 40       BIT #$40
$81/FA4B D0 20       BNE $20       ; [$FA6D] Branch if Bit 6 is set - Copy directly from compressed data
$81/FA4D 89 20       BIT #$20
$81/FA4F D0 04       BNE $04       ; [$FA55] Branch if Bit 5 is set - write empty bytes into decompressed data
$81/FA51 80 2B       BRA $2B       ; [$FA7E] Branch if Bit 5 is clear - Copy decompressed data - long and/or far back

$81/FA53 AB          PLB           ; THE END: Restore Original Program Bank and exit
$81/FA54 6B          RTL

$81/FA55 29 1F       AND #$1F      ; The lower bits of this byte are the number of bytes to do (minus one)
$81/FA57 85 0C       STA $0C
$81/FA59 E8          INX           ; Increment Read Pointer and store it on Stack
$81/FA5A DA          PHX
$81/FA5B 7B          TDC           ; Clear 16-bit A
$81/FA5C 99 00 00    STA $0000,y   ; Write an empty byte into the decompressed data
$81/FA5F BB          TYX           ; Set read address to this byte
$81/FA60 C8          INY           ; Increment write address
$81/FA61 A5 22       LDA $22       ; Set the MVN destination bank to the same as the source bank
$81/FA63 85 AE       STA $AE
$81/FA65 A5 0C       LDA $0C       ; Load number of bytes to transfer
$81/FA67 20 AC 00    JSR $00AC     ; Jump to the self-written MVN command
$81/FA6A FA          PLX           ; Pull Compressed Data Read Pointer from Stack
$81/FA6B 80 CE       BRA $CE       ; [$FA3B] Go on with the decompression

$81/FA6D 29 3F       AND #$3F      ; The other bits in this command-byte are the number of bytes minus one
$81/FA6F 85 0C       STA $0C
$81/FA71 E8          INX           ; Increment read address
$81/FA72 A5 25       LDA $25       ; Source Bank is the same as the 24-bit-read address bank (of course)
$81/FA74 85 AE       STA $AE
$81/FA76 7B          TDC           ; Clear 16-bit A
$81/FA77 A5 0C       LDA $0C       ; Load the number of bytes to do minus one
$81/FA79 20 AC 00    JSR $00AC     ; Jump to the self-written MVN command
$81/FA7C 80 BD       BRA $BD       ; [$FA3B] Go on with the decompression

$81/FA7E 29 0F       AND #$0F      ; Lower part of the command byte is PART of the number of bytes to transfer
$81/FA80 85 0C       STA $0C
$81/FA82 E8          INX           ; Increment Read address
$81/FA83 86 23       STX $23
$81/FA85 A7 23       LDA [$23]     ; Read next Byte from Compressed Data
$81/FA87 29 C0       AND #$C0      ; the two most significant bits are part of the number of bytes to transfer
$81/FA89 4A          LSR A
$81/FA8A 4A          LSR A
$81/FA8B 05 0C       ORA $0C
$81/FA8D 18          CLC           ; Add three additional bytes to the number of bytes to transfer
$81/FA8E 69 03       ADC #$03
$81/FA90 85 0C       STA $0C
$81/FA92 A5 22       LDA $22       ; Source Bank is the same as Destination address
$81/FA94 85 AE       STA $AE
$81/FA96 C2 21       REP #$21      ; 16 bit A, clear Carry
$81/FA98 A7 23       LDA [$23]     ; Load next two bytes
$81/FA9A EB          XBA
$81/FA9B 29 FF 3F    AND #$3FFF    ; This value is the number of bytes to move backwards
$81/FA9E 1A          INC A         ; Move another byte backwards
$81/FA9F 85 08       STA $08       ; Temp store
$81/FAA1 98          TYA           ; Copy the write address
$81/FAA2 38          SEC
$81/FAA3 E5 08       SBC $08       ; Subtract the number of bytes to go back
$81/FAA5 E8          INX           ; Increment Compressed Data Read Pointer
$81/FAA6 E8          INX
$81/FAA7 DA          PHX           ; Buffer Compressed Data Read Pointer
$81/FAA8 AA          TAX
$81/FAA9 A5 0C       LDA $0C       ; Load number of bytes to transfer
$81/FAAB 20 AC 00    JSR $00AC     ; Jump to the self-written MVN command
$81/FAAE FA          PLX           ; Restore Compressed Data Read Pointer
$81/FAAF E2 20       SEP #$20
$81/FAB1 80 88       BRA $88       ; [$FA3B] Go on with the decompression

$81/FCA2 ?

$81/FCA2 5A          PHY                     A:0135 X:0002 Y:4440 P:envMxdizC
$81/FCA3 D4 5C       PEI ($5C)  [$45D9]      A:0135 X:0002 Y:4440 P:envMxdizC
$81/FCA5 22 DF A3 88 JSL $88A3DF   ; Load Big Sprite Flag for this Character
$81/FCA9 B0 29       BCS $29    [$FCD4]      A:0035 X:0002 Y:4440 P:envMxdizc
$81/FCAB A9 80       LDA #$80                A:0035 X:0002 Y:4440 P:envMxdizc
$81/FCAD 85 0E       STA $0E    [$00:000E]   A:0080 X:0002 Y:4440 P:eNvMxdizc
$81/FCAF A2 80 00    LDX #$0080              A:0080 X:0002 Y:4440 P:eNvMxdizc
$81/FCB2 86 0C       STX $0C    [$00:000C]   A:0080 X:0080 Y:4440 P:envMxdizc
$81/FCB4 A6 5C       LDX $5C    [$00:005C]   A:0080 X:0080 Y:4440 P:envMxdizc
$81/FCB6 A9 7E       LDA #$7E                A:0080 X:45D9 Y:4440 P:envMxdizc
$81/FCB8 22 24 9F 80 JSL $809F24[$80:9F24]   A:007E X:45D9 Y:4440 P:envMxdizc
$81/FCBC C2 21       REP #$21                A:4580 X:0000 Y:4440 P:envMxdizc
$81/FCBE A3 03       LDA $03,s  [$00:1FD1]   A:4580 X:0000 Y:4440 P:envmxdizc
$81/FCC0 69 00 01    ADC #$0100              A:4440 X:0000 Y:4440 P:envmxdizc
$81/FCC3 A8          TAY                     A:4540 X:0000 Y:4440 P:envmxdizc
$81/FCC4 A3 01       LDA $01,s  [$00:1FCF]   A:4540 X:0000 Y:4540 P:envmxdizc
$81/FCC6 69 80 00    ADC #$0080              A:45D9 X:0000 Y:4540 P:envmxdizc
$81/FCC9 AA          TAX                     A:4659 X:0000 Y:4540 P:envmxdizc
$81/FCCA E2 20       SEP #$20                A:4659 X:4659 Y:4540 P:envmxdizc
$81/FCCC A9 7E       LDA #$7E                A:4659 X:4659 Y:4540 P:envMxdizc
$81/FCCE 22 24 9F 80 JSL $809F24[$80:9F24]   A:467E X:4659 Y:4540 P:envMxdizc
$81/FCD2 80 27       BRA $27    [$FCFB]      A:4680 X:0002 Y:4540 P:envMxdizc
code is missing here
$81/FCFB 7A          PLY                     A:4680 X:0002 Y:4540 P:envMxdizc
$81/FCFC 7A          PLY                     A:4680 X:0002 Y:45D9 P:envMxdizc
$81/FCFD 6B          RTL                     A:4680 X:0002 Y:4440 P:envMxdizc

Bank $82

$82/89B0 Clear Map that shows which Figure Stands where

The Map at $7F/DC00 is structured as the others at the upper end of Bank $7F (the whole NE-SW-/NW-SE-Axis stuff); this maps shows where each figure stands. Either the entry for corresponding rhomb on this map contains a figure's number (#$00, #$02... #$24 or #$26), or #$FF to mark that there is no figure on that rhomb.

This subroutine creates a new, clear map of this kind - it sets every entry on this Map/Table to #$FF.

$82/89B0 8B          PHB           ; Buffer Data Bank on Stack
$82/89B1 A9 7F       LDA #$7F      ; Set Data Bank to $7F
$82/89B3 48          PHA
$82/89B4 AB          PLB
$82/89B5 C2 20       REP #$20
$82/89B7 A9 FF FF    LDA #$FFFF    ; Clear Value
$82/89BA A2 00 04    LDX #$0400    ; Number of bytes to do
$82/89BD A0 00 DC    LDY #$DC00    ; Start Address $(7F)/DC00
$82/89C0 22 C8 9D 80 JSL $809DC8   ; Long Jump to Write Empty Tilemap in WRAM
$82/89C4 E2 20       SEP #$20
$82/89C6 AB          PLB           ; Restore Data Bank
$82/89C7 6B          RTL

$82/89DD ? Clear every even byte from $7E/BE4E to $7E/BE74

$82/89C8 8B          PHB           ; Buffer Data Bank on Stack
$82/89C9 A9 7E       LDA #$7E      ; Set Data Bank to $7F
$82/89CB 48          PHA
$82/89CC AB          PLB
$82/89CD C2 20       REP #$20
$82/89CF A2 26 00    LDX #$0026    ; Set up Counter for the Clear Loop
$82/89D2 9E 4E BE    STZ $BE4E,x   ; Clear Value
$82/89D5 CA          DEX           ; Decrement Store Index twice
$82/89D6 CA          DEX
$82/89D7 10 F9       BPL $F9       ; [$89D2]
$82/89D9 E2 20       SEP #$20
$82/89DB AB          PLB           ; Restore Data Bank
$82/89DC 6B          RTL

$82/8A3C ?

X contains the Number of the Figure whose possible movement is about to be calculated.

$82/8A3C 5A          PHY           ; Push Y on Stack
$82/8A3D 9B          TXY           ; Transfer Figure Number in Y
$82/8A3E 7B          TDC           ; Clear 16-bit A
$82/8A3F B9 D7 1C    LDA $1CD7,y   ; Load Position from where the possible Movement is calculated - NE-SW-Axis
$82/8A42 C2 20       REP #$20      ; 16-bit A
$82/8A44 EB          XBA           ; Multiply NE-SW-Axis-Value by #$20
$82/8A45 4A          LSR A
$82/8A46 4A          LSR A
$82/8A47 4A          LSR A
$82/8A48 E2 20       SEP #$20      ; 8-bit A
$82/8A4A 19 D6 1C    ORA $1CD6,y   ; Add Position from where the possible Movement is calculated - NW-SE-Axis
$82/8A4D AA          TAX           ; Transfer Result in X as Load/Store-Index
$82/8A4E 98          TYA           ; Transfer Figure Number in A
$82/8A4F DF 00 DC 7F CMP $7FDC00,x ; Is this Figure actually standing on this Rhomb?
$82/8A53 F0 24       BEQ $24       ; [$8A79] Branch if it does
Code is missing here
$82/8A79 DA          PHX           ; Buffer Map Index on Stack
$82/8A7A A2 00 00    LDX #$0000              A:0108 X:0104 Y:0008 P:envMxdiZC
$82/8A7D BF 00 F8 7F LDA $7FF800,x[$7F:F800] A:0108 X:0000 Y:0008 P:envMxdiZC
$82/8A81 30 21       BMI $21    [$8AA4]      A:01FF X:0000 Y:0008 P:eNvMxdizC
Code is missing here
$82/8AA4 E8          INX           ; Increment the Load Index thrice (3 bytes per entry)
$82/8AA5 E8          INX
$82/8AA6 E8          INX
$82/8AA7 E0 39 00    CPX #$0039    ; Repeat this until Load Index reached #$39
$82/8AAA 90 D1       BCC $D1       ; [$8A7D] Loop
$82/8AAC FA          PLX           ; Restore Map Index
$82/8AAD A9 FF       LDA #$FF      ; Remove this Figure from the Map which Figure Stands where
$82/8AAF 9F 00 DC 7F STA $7FDC00,x
$82/8AB3 BB          TYX           ; Transfer Figure Number back in X
$82/8AB4 7A          PLY           ; Restore Y
$82/8AB5 6B          RTL

$82/89DD ? Set Every third byte at $7F/F800 to "$FF"

$82/89DD 8B          PHB           ; Buffer Data Bank on Stack
$82/89DE A9 7F       LDA #$7F      ; Set Data Bank to $7F
$82/89E0 48          PHA
$82/89E1 AB          PLB
$82/89E2 A2 00 00    LDX #$0000    ; Setup Counter
$82/89E5 A9 FF       LDA #$FF      ; Setup Store Value
$82/89E7 9D 00 F8    STA $F800,x   ; Store
$82/89EA E8          INX           ; Increment Store Index thrice
$82/89EB E8          INX
$82/89EC E8          INX
$82/89ED E0 39 00    CPX #$0039    ; Loop until $7F/F836 was done and $7F/F839 was reached
$82/89F0 90 F5       BCC $F5       ; [$89E7]
$82/89F2 AB          PLB           ; Restore Data Bank
$82/89F3 6B          RTL

$82/89F4 ?

$82/89F4 5A          PHY           ; Buffer Y on Stack
$82/89F5 9B          TXY           ; Transfer X (number of a figure) to Y
$82/89F6 7B          TDC           ; Clear 16-bit A
$82/89F7 B9 D7 1C    LDA $1CD7,y   ; Load Figure's Position (NE-SW-Axis)
$82/89FA C2 20       REP #$20      ; A = 16-bit
$82/89FC EB          XBA           ; Multiply Figure's Position (NE-SW-Axis) by #$20
$82/89FD 4A          LSR A
$82/89FE 4A          LSR A
$82/89FF 4A          LSR A
$82/8A00 E2 20       SEP #$20      ; A = 8-bit
$82/8A02 19 D6 1C    ORA $1CD6,y   ; Add Figure's Position (NW-SE-Axis)
$82/8A05 AA          TAX           ; Transfer to X as a Load Index for maps
$82/8A06 BF 00 DC 7F LDA $7FDC00,x ; Check Map which Figure Stands where...
$82/8A0A C9 FF       CMP #$FF      ; ...is this position empty?
$82/8A0C F0 26       BEQ $26       ; [$8A34] Branch if it is
$82/8A0E A2 00 00    LDX #$0000              A:0100 X:012A Y:0000 P:envMxdizc
$82/8A11 BF 00 F8 7F LDA $7FF800,x[$7F:F800] A:0100 X:0000 Y:0000 P:envMxdiZc
$82/8A15 30 08       BMI $08    [$8A1F]      A:0100 X:0000 Y:0000 P:envMxdiZc
$82/8A17 E8          INX                     A:0100 X:0000 Y:0000 P:envMxdiZc
$82/8A18 E8          INX                     A:0100 X:0001 Y:0000 P:envMxdizc
$82/8A19 E8          INX                     A:0100 X:0002 Y:0000 P:envMxdizc
$82/8A1A E0 39 00    CPX #$0039              A:0100 X:0003 Y:0000 P:envMxdizc
$82/8A1D 90 F2       BCC $F2    [$8A11]      A:0100 X:0003 Y:0000 P:eNvMxdizc
$82/8A1F 98          TYA                     A:0100 X:0039 Y:0000 P:envMxdiZC
$82/8A20 9F 00 F8 7F STA $7FF800,x[$7F:F839] A:0100 X:0039 Y:0000 P:envMxdiZC
$82/8A24 B9 D6 1C    LDA $1CD6,y[$7E:1CD6]   A:0100 X:0039 Y:0000 P:envMxdiZC
$82/8A27 9F 01 F8 7F STA $7FF801,x[$7F:F83A] A:010A X:0039 Y:0000 P:envMxdizC
$82/8A2B B9 D7 1C    LDA $1CD7,y[$7E:1CD7]   A:010A X:0039 Y:0000 P:envMxdizC
$82/8A2E 9F 02 F8 7F STA $7FF802,x[$7F:F83B] A:0109 X:0039 Y:0000 P:envMxdizC
$82/8A32 80 05       BRA $05    [$8A39]      A:0109 X:0039 Y:0000 P:envMxdizC
$82/8A34 98          TYA           ; Transfer figure number in A
$82/8A35 9F 00 DC 7F STA $7FDC00,x ; Store it in this position on the map
$82/8A39 BB          TYX           ; Transfer figure number back in X
$82/8A3A 7A          PLY           ; Restore Y from Stack
$82/8A3B 6B          RTL

$82/8A3C ? Check the Map which Figure Stands where

$82/8A3C 5A          PHY           ; Buffer Y on Stack
$82/8A3D 9B          TXY           ; Transfer X (number of a figure) to Y
$82/8A3E 7B          TDC           ; Clear 16-bit A
$82/8A3F B9 D7 1C    LDA $1CD7,y   ; Load Figure's Position (NE-SW-Axis)
$82/8A42 C2 20       REP #$20      ; A = 16-bit
$82/8A44 EB          XBA           ; Multiply Figure's Position (NE-SW-Axis) by #$20
$82/8A45 4A          LSR A
$82/8A46 4A          LSR A
$82/8A47 4A          LSR A
$82/8A48 E2 20       SEP #$20      ; A = 8-bit
$82/8A4A 19 D6 1C    ORA $1CD6,y   ; Add Figure's Position (NW-SE-Axis)
$82/8A4D AA          TAX           ; Transfer to X as a Load Index for maps
$82/8A4E 98          TYA           ; Transfer Figure Number in A
$82/8A4F DF 00 DC 7F CMP $7FDC00,x ; Check Map which Figure Stands where - is it here?
$82/8A53 F0 24       BEQ $24       ; [$8A79] branch if it does
$82/8A55 DA          PHX                     A:0002 X:0044 Y:0002 P:eNvMxdizc
$82/8A56 A2 00 00    LDX #$0000              A:0002 X:0044 Y:0002 P:eNvMxdizc
$82/8A59 BF 00 F8 7F LDA $7FF800,x[$7F:F800] A:0002 X:0000 Y:0002 P:envMxdiZc
$82/8A5D 30 10       BMI $10    [$8A6F]      A:0002 X:0000 Y:0002 P:envMxdizc
$82/8A5F 98          TYA                     A:0002 X:0000 Y:0002 P:envMxdizc
$82/8A60 DF 00 F8 7F CMP $7FF800,x[$7F:F800] A:0002 X:0000 Y:0002 P:envMxdizc
$82/8A64 D0 09       BNE $09    [$8A6F]      A:0002 X:0000 Y:0002 P:envMxdiZC
$82/8A66 A9 FF       LDA #$FF                A:0002 X:0000 Y:0002 P:envMxdiZC
$82/8A68 9F 00 F8 7F STA $7FF800,x[$7F:F800] A:00FF X:0000 Y:0002 P:eNvMxdizC
$82/8A6C FA          PLX                     A:00FF X:0000 Y:0002 P:eNvMxdizC
$82/8A6D 80 44       BRA $44    [$8AB3]      A:00FF X:0044 Y:0002 P:envMxdizC
$82/8A6F E8          INX                     A:0004 X:0000 Y:0004 P:envMxdizC
$82/8A70 E8          INX                     A:0004 X:0001 Y:0004 P:envMxdizC
$82/8A71 E8          INX                     A:0004 X:0002 Y:0004 P:envMxdizC
$82/8A72 E0 39 00    CPX #$0039              A:0004 X:0003 Y:0004 P:envMxdizC
$82/8A75 90 E2       BCC $E2    [$8A59]      A:0004 X:0003 Y:0004 P:eNvMxdizc
code is missing here
$82/8A79 DA          PHX           ; Buffer Load Index on Stack
$82/8A7A A2 00 00    LDX #$0000    ; Reset X as Load Index/Loop Counter
$82/8A7D BF 00 F8 7F LDA $7FF800,x[$7F:F800] A:0002 X:0000 Y:0002 P:envMxdiZC
$82/8A81 30 21       BMI $21    [$8AA4]      A:00FF X:0000 Y:0002 P:eNvMxdizC
$82/8A83 BF 01 F8 7F LDA $7FF801,x[$7F:F801] A:0100 X:0000 Y:0000 P:envMxdiZC
$82/8A87 D9 D6 1C    CMP $1CD6,y[$82:1CD6]   A:0100 X:0000 Y:0000 P:envMxdiZC
$82/8A8A D0 18       BNE $18    [$8AA4]      A:0100 X:0000 Y:0000 P:eNvMxdizc
$82/8A8C BF 02 F8 7F LDA $7FF802,x[$7F:F805] A:0003 X:0003 Y:0000 P:envMxdiZC
$82/8A90 D9 D7 1C    CMP $1CD7,y[$82:1CD7]   A:0002 X:0003 Y:0000 P:envMxdizC
$82/8A93 D0 0F       BNE $0F    [$8AA4]      A:0002 X:0003 Y:0000 P:eNvMxdizc
$82/8A95 BF 00 F8 7F LDA $7FF800,x[$7F:F800] A:0004 X:0000 Y:000A P:envMxdiZC
$82/8A99 EB          XBA                     A:000E X:0000 Y:000A P:envMxdizC
$82/8A9A A9 FF       LDA #$FF                A:0E00 X:0000 Y:000A P:envMxdiZC
$82/8A9C 9F 00 F8 7F STA $7FF800,x[$7F:F800] A:0EFF X:0000 Y:000A P:eNvMxdizC
$82/8AA0 EB          XBA                     A:0EFF X:0000 Y:000A P:eNvMxdizC
$82/8AA1 FA          PLX                     A:FF0E X:0000 Y:000A P:envMxdizC
$82/8AA2 80 0B       BRA $0B    [$8AAF]      A:FF0E X:0084 Y:000A P:envMxdizC
$82/8AA4 E8          INX           ; Increment X thrice - Each entry is 3 bytes in size
$82/8AA5 E8          INX
$82/8AA6 E8          INX
$82/8AA7 E0 39 00    CPX #$0039              A:00FF X:0003 Y:0002 P:envMxdizC
$82/8AAA 90 D1       BCC $D1       ; [$8A7D] Loop until all entries are done
$82/8AAC FA          PLX           ; Restore first Load Index in X
$82/8AAD A9 FF       LDA #$FF      ; On the Map which Figure Stands where, set...
$82/8AAF 9F 00 DC 7F STA $7FDC00,x ; ... this position to #$FF (which means "free"?)
$82/8AB3 BB          TYX           ; Move Character number back in X
$82/8AB4 7A          PLY           ; Restore Original Y
$82/8AB5 6B          RTL

$82/8AB6 ?

$82/8AB6 8B          PHB           ; Buffer Data Bank on Stack
$82/8AB7 4B          PHK           ; Set Data Bank to $82
$82/8AB8 AB          PLB
$82/8AB9 BD D6 1C    LDA $1CD6,x[$82:1CD8]   A:0007 X:0002 Y:070B P:eNvMxdizc
$82/8ABC 48          PHA                     A:000B X:0002 Y:070B P:envMxdizc
$82/8ABD BD D7 1C    LDA $1CD7,x[$82:1CD9]   A:000B X:0002 Y:070B P:envMxdizc
$82/8AC0 48          PHA                     A:0007 X:0002 Y:070B P:envMxdizc
$82/8AC1 A5 00       LDA $00    [$00:0000]   A:0007 X:0002 Y:070B P:envMxdizc
$82/8AC3 9D D6 1C    STA $1CD6,x[$82:1CD8]   A:000B X:0002 Y:070B P:envMxdizc
$82/8AC6 A5 01       LDA $01    [$00:0001]   A:000B X:0002 Y:070B P:envMxdizc
$82/8AC8 9D D7 1C    STA $1CD7,x[$82:1CD9]   A:0007 X:0002 Y:070B P:envMxdizc
$82/8ACB 22 3C 8A 82 JSL $828A3C[$82:8A3C]   A:0007 X:0002 Y:070B P:envMxdizc
$82/8ACF A5 02       LDA $02    [$00:0002]   A:00FF X:0002 Y:070B P:envMxdizC
$82/8AD1 9D D6 1C    STA $1CD6,x[$82:1CD8]   A:000B X:0002 Y:070B P:envMxdizC
$82/8AD4 A5 03       LDA $03    [$00:0003]   A:000B X:0002 Y:070B P:envMxdizC
$82/8AD6 9D D7 1C    STA $1CD7,x[$82:1CD9]   A:0007 X:0002 Y:070B P:envMxdizC
$82/8AD9 22 F4 89 82 JSL $8289F4[$82:89F4]   A:0007 X:0002 Y:070B P:envMxdizC
$82/8ADD 68          PLA                     A:0002 X:0002 Y:070B P:envMxdizC
$82/8ADE 9D D7 1C    STA $1CD7,x[$82:1CD9]   A:0007 X:0002 Y:070B P:envMxdizC
$82/8AE1 68          PLA                     A:0007 X:0002 Y:070B P:envMxdizC
$82/8AE2 9D D6 1C    STA $1CD6,x[$82:1CD8]   A:000B X:0002 Y:070B P:envMxdizC
$82/8AE5 18          CLC                     A:000B X:0002 Y:070B P:envMxdizC
$82/8AE6 AB          PLB           ; Restore Data Bank from Stack
$82/8AE7 6B          RTL

$82/98AA Battle Stats Menu - Buffer Character's data

When you open the Stats Menu in Battle (the one in the bottom part of the menu), this subroutine collects all the stats values and puts them in a number of buffer registers.

$82/98AA 8B          PHB           ; Buffer Data Bank Register on stack
$82/98AB 4B          PHK
$82/98AC AB          PLB
$82/98AD A6 39       LDX $39       ; Character number as Index
$82/98AF BD AE 17    LDA $17AE,x   ; Character graphic
$82/98B2 8D 9F 1E    STA $1E9F
$82/98B5 BD AF 17    LDA $17AF,x   ; Character Class
$82/98B8 8D 66 1E    STA $1E66
$82/98BB BD D7 17    LDA $17D7,x   ; Character Element
$82/98BE 8D 67 1E    STA $1E67
$82/98C1 BD FE 17    LDA $17FE,x   ; Level
$82/98C4 8D 68 1E    STA $1E68
$82/98C7 BD FF 17    LDA $17FF,x   ; Exp
$82/98CA 8D 69 1E    STA $1E69
$82/98CD BD B6 19    LDA $19B6,x   ; LUK
$82/98D0 8D 7E 1E    STA $1E7E
$82/98D3 BD D6 17    LDA $17D6,x   ; ???
$82/98D6 8D 7F 1E    STA $1E7F
$82/98D9 BD DE 19    LDA $19DE,x   ; ??? (Status Effects?)
$82/98DC 8D 80 1E    STA $1E80
$82/98DF BD DF 19    LDA $19DF,x   ; ???
$82/98E2 8D A0 1E    STA $1EA0
$82/98E5 BD 2E 1A    LDA $1A2E,x   ; ???
$82/98E8 8D 81 1E    STA $1E81
$82/98EB BD 2F 1A    LDA $1A2F,x   ; ???
$82/98EE 8D 82 1E    STA $1E82
$82/98F1 BD 56 1A    LDA $1A56,x   ; ???
$82/98F4 8D 8F 1E    STA $1E8F
$82/98F7 BD 57 1A    LDA $1A57,x   ; ???
$82/98FA 8D 90 1E    STA $1E90
$82/98FD BD 6E 1B    LDA $1B6E,x   ; ???
$82/9900 8D 91 1E    STA $1E91
$82/9903 BD C7 1D    LDA $1DC7,x   ; ???
$82/9906 8D 96 1E    STA $1E96
$82/9909 BD EE 1D    LDA $1DEE,x   ; Number of Moves
$82/990C 8D 97 1E    STA $1E97
$82/990F BD B7 19    LDA $19B7,x   ; ???
$82/9912 8D 9D 1E    STA $1E9D
$82/9915 BD 26 1D    LDA $1D26,x   ; Type (Manual/Guest)
$82/9918 8D 9E 1E    STA $1E9E
$82/991B C2 20       REP #$20      ; 16 bit values ahead
$82/991D BD 26 18    LDA $1826,x   ; Current HP
$82/9920 8D 6A 1E    STA $1E6A
$82/9923 BD 4E 18    LDA $184E,x   ; Max HP
$82/9926 8D 6C 1E    STA $1E6C
$82/9929 BD 76 18    LDA $1876,x   ; Current MP
$82/992C 8D 6E 1E    STA $1E6E
$82/992F BD 9E 18    LDA $189E,x   ; Max MP
$82/9932 8D 70 1E    STA $1E70
$82/9935 BD C6 18    LDA $18C6,x   ; STR
$82/9938 8D 72 1E    STA $1E72
$82/993B BD EE 18    LDA $18EE,x   ; INT
$82/993E 8D 74 1E    STA $1E74
$82/9941 BD 16 19    LDA $1916,x   ; AGI
$82/9944 8D 76 1E    STA $1E76
$82/9947 BD 3E 19    LDA $193E,x   ; DEX
$82/994A 8D 78 1E    STA $1E78
$82/994D BD 66 19    LDA $1966,x   ; VIT
$82/9950 8D 7A 1E    STA $1E7A
$82/9953 BD 8E 19    LDA $198E,x   ; MEN
$82/9956 8D 7C 1E    STA $1E7C
$82/9959 BD 7E 1A    LDA $1A7E,x   ; Equipment UL/UR Corner
$82/995C 8D 83 1E    STA $1E83
$82/995F BD A6 1A    LDA $1AA6,x   ; Equipment LL/LR Corner
$82/9962 8D 85 1E    STA $1E85
$82/9965 BD CE 1A    LDA $1ACE,x   ; Second Screen Item 1/2
$82/9968 8D 87 1E    STA $1E87
$82/996B BD F6 1A    LDA $1AF6,x   ; Second Screen Item 3/4
$82/996E 8D 89 1E    STA $1E89
$82/9971 BD 1E 1B    LDA $1B1E,x   ; Bonus/Malus on Equipment UL/UR Corner
$82/9974 8D 8B 1E    STA $1E8B
$82/9977 BD 46 1B    LDA $1B46,x   ; Bonus/Malus on Equipment LL/LR Corner
$82/997A 8D 8D 1E    STA $1E8D
$82/997D BD 96 1B    LDA $1B96,x   ; Current WT
$82/9980 8D 92 1E    STA $1E92
$82/9983 BD 9E 1D    LDA $1D9E,x   ; 16-bit Address (on WRAM bank $7E) of the Character's name, class etc.
$82/9986 8D 94 1E    STA $1E94
$82/9989 E2 20       SEP #$20
$82/998B BD 3E 1E    LDA $1E3E,x   ; ???
$82/998E 8D 98 1E    STA $1E98
$82/9991 A6 39       LDX $39       ; Load Character's number (again)
$82/9993 AB          PLB           ; Restore Data Bank Register
$82/9994 6B          RTL

$82/9BC8 ?

$82/9BC8 8B          PHB           ; Buffer Data Bank
$82/9BC9 4B          PHK           ; Set Data Bank to $82
$82/9BCA AB          PLB
$82/9BCB 9C F4 16    STZ $16F4     ; ???
$82/9BCE 9C F5 16    STZ $16F5     ; ???
$82/9BD1 9C F6 16    STZ $16F6     ; ???
$82/9BD4 9C F7 16    STZ $16F7     ; ???
$82/9BD7 9C F8 16    STZ $16F8     ; ???
$82/9BDA 9C F9 16    STZ $16F9     ; ???
$82/9BDD 9C FA 16    STZ $16FA     ; ???
$82/9BE0 A9 04       LDA #$04      ; ???
$82/9BE2 85 96       STA $96       ; ???
$82/9BE4 64 97       STZ $97       ; ???
$82/9BE6 A2 00 04    LDX #$0400    ; Size of the Tilemaps to be created (in $B206)
$82/9BE9 86 0C       STX $0C       ; Store as Number of Bytes to transfer (in $B235)
$82/9BEB 20 06 B2    JSR $B206     ; Create Clear Tilemaps (for Battle Stats Menu)
$82/9BEE 20 35 B2    JSR $B235     ; Battle Stats Menu - transfer the buffered tilemaps into VRAM
$82/9BF1 22 DA B1 82 JSL $82B1DA   ; Clear BG3 Tilemap
$82/9BF5 9C 60 00    STZ $0060     ; ???
$82/9BF8 AB          PLB           ; Restore Data Bank
$82/9BF9 6B          RTL

$82/AE91 Battle Stats Menu - Tilemap builder

This subroutine is called when the game has to build the status menu at the bottom of the battle screen. It builds some tiles into the tilemap - it is used quite often. This writes a rectangle shape into the tilemap, you have to give it the number of columns and rows it has to span.

Before it is called, certain values have to be set up.

X contains the 16-bit address where to read the tile data that has to be implemented into the tilemap.

$0A/B and $98/9 contain adress data that, together, form another part of the offset for the write address. Not sure what component each one brings in.

$0C contains what has to be added to the ROM read data before it is added to the tilemap, i. e. flipping or palette stuff.

$0E contains the number of rows this should edit, $0F the number of lines; these get transfered to $00/$01

$2C contains the 24-bit address of the tilemap buffer.

$82/AE91 C2 21       REP #$21
$82/AE93 A5 0A       LDA $0A       ; ??? This forms the where-to-write starting address
$82/AE95 65 98       ADC $98       ; ??? Dunno what each part of this addition means singularly, though
$82/AE97 A8          TAY           ; Transfer where-to-write index in Y
$82/AE98 E2 20       SEP #$20
$82/AE9A A5 0F       LDA $0F       ; Transfer row count into the loop counter
$82/AE9C 85 01       STA $01
$82/AE9E A5 0E       LDA $0E       ; Transfer column count into the loop counter
$82/AEA0 85 00       STA $00
$82/AEA2 5A          PHY           ; Push the start of this line on stack
$82/AEA3 C2 21       REP #$21
$82/AEA5 BD 00 00    LDA $0000,x   ; Load the tilemap entry from ROM
$82/AEA8 65 0C       ADC $0C       ; Add additional information to it if there is some
$82/AEAA 97 2C       STA [$2C],y   ; Write it in the buffered tilemap
$82/AEAC E2 20       SEP #$20
$82/AEAE C8          INY           ; Increment read and write counters
$82/AEAF C8          INY
$82/AEB0 E8          INX
$82/AEB1 E8          INX
$82/AEB2 C6 00       DEC $00       ; Decrement inner loop counter (columns)
$82/AEB4 D0 ED       BNE $ED       ; [$AEA3] Loop if it isn't depleted
$82/AEB6 C2 21       REP #$21
$82/AEB8 68          PLA           ; Pull the address of the start of the row from stack
$82/AEB9 69 40 00    ADC #$0040    ; Calculate the address of the start of the next row
$82/AEBC A8          TAY           ; Transfer in Y (so it gets pushed on stack at $AEA2 after looping)
$82/AEBD E2 20       SEP #$20
$82/AEBF C6 01       DEC $01       ; Decrement outer loop counter (rows)
$82/AEC1 D0 DB       BNE $DB       ; [$AE9E] Loop if it isn't depleted
$82/AEC3 60          RTS

$82/B1DA Clear BG3 Tilemap

This subroutine writes an empty tilemap for BG3 in WRAM and transfers it to VRAM. It writes at 7E/A800 "$03EE" for $800 bytes and transfers this to VRAM at $3C00, where the BG3 Tilemap in many/most of the cases is located. "$03EE" is of course an empty tile - "$0000" is used by some sprite tiles.

$82/B1DA 8B          PHB           ; Buffer Data Bank
$82/B1DB A9 7E       LDA #$7E      ; Set Data Bank to $7E
$82/B1DD 48          PHA
$82/B1DE AB          PLB
$82/B1DF C2 20       REP #$20
$82/B1E1 A2 00 08    LDX #$0800    ; Write "$03EE" at $7E/A800 and onwards for #$0800 times
$82/B1E4 A0 00 A8    LDY #$A800
$82/B1E7 A9 EE 03    LDA #$03EE
$82/B1EA 22 C8 9D 80 JSL $809DC8   ; Write Empty Tilemap
$82/B1EE E2 20       SEP #$20
$82/B1F0 AB          PLB           ; Restore Original Data Bank
$82/B1F1 A2 00 00    LDX #$0000    ; Set BG3 Scroll Registers to 0
$82/B1F4 8E 99 05    STX $0599
$82/B1F7 8E 9B 05    STX $059B
$82/B1FA 22 EB 9E 80 JSL $809EEB   ; VRAM DMA of the following data:
$82/B1FE 00 A8 7E    Address:      $7E/A800
$82/B201 00 3C       VRAM Address:    $3C00 (BG3 Tilemap)
$82/B203 00 08       Transfer         $0800 Bytes
$82/B205 6B          RTL

$82/B206 Create Clear Tilemaps (for Battle Stats Menu?)

$82/B206 8B          PHB           ; Buffer Data Bank
$82/B207 A9 7F       LDA #$7F      ; Set Data Bank to $7F
$82/B209 48          PHA
$82/B20A AB          PLB
$82/B20B C2 20       REP #$20
$82/B20D 86 00       STX $00       ; Buffer the Number of Bytes to do
$82/B20F A0 00 14    LDY #$1400    ; Write to $7F/1400
$82/B212 A9 80 00    LDA #$0080    ; The value to write
$82/B215 22 C8 9D 80 JSL $809DC8   ; Long Jump to Write Empty Tilemap in WRAM
$82/B219 A6 00       LDX $00       ; Restore the Number of Bytes to do
$82/B21B A0 00 18    LDY #$1800    ; Write to $7F/1800
$82/B21E A9 80 02    LDA #$0280    ; The value to write
$82/B221 22 C8 9D 80 JSL $809DC8   ; Long Jump to Write Empty Tilemap in WRAM
$82/B225 A6 00       LDX $00       ; Restore the Number of Bytes to do
$82/B227 A0 00 1C    LDY #$1C00    ; Write to $7F/1C00
$82/B22A A9 EE 03    LDA #$03EE    ; The value to write
$82/B22D 22 C8 9D 80 JSL $809DC8   ; Long Jump to Write Empty Tilemap in WRAM
$82/B231 E2 20       SEP #$20
$82/B233 AB          PLB           ; Restore Data Bank
$82/B234 60          RTS

$82/B235 Battle Stats Menu - transfer the buffered tilemaps into VRAM

This simple subroutine transfers the three buffered BG1 to BG3 tilemaps for the menu to VRAM.

$82/B235 A9 80       LDA #$80      ; VRAM transfer settings (for $2115)
$82/B237 85 0E       STA $0E
$82/B239 A0 00 36    LDY #$3600    ; BG1 tilemap: VRAM destination
$82/B23C A2 00 14    LDX #$1400    ; BG1 tilemap: Source Data Position: $7F/1400
$82/B23F A9 7F       LDA #$7F
$82/B241 22 24 9F 80 JSL $809F24   ; BG1 tilemap: VRAM DMA
$82/B245 A0 00 3A    LDY #$3A00    ; BG2 tilemap: VRAM destination
$82/B248 A2 00 18    LDX #$1800    ; BG2 tilemap: Source Data Position: $7F/1800
$82/B24B A9 7F       LDA #$7F
$82/B24D 22 24 9F 80 JSL $809F24   ; BG2 tilemap: VRAM DMA
$82/B251 A0 00 38    LDY #$3800    ; BG3 tilemap: VRAM destination
$82/B254 A2 00 1C    LDX #$1C00    ; BG3 tilemap: Source Data Position: $7F/1C00
$82/B257 A9 7F       LDA #$7F
$82/B259 22 24 9F 80 JSL $809F24   ; BG3 tilemap: VRAM DMA
$82/B25D 60          RTS

$82/DE25 Load new Map?

$82/DE25 8B          PHB           ; Buffer Data Bank on Stack
$82/DE26 A9 8B       LDA #$8B      ; Set Data Bank to $8B
$82/DE28 48          PHA
$82/DE29 AB          PLB
$82/DE2A A2 00 00    LDX #$0000    ; Setup $7F/0000 as 24-bit address in $20
$82/DE2D A9 7F       LDA #$7F
$82/DE2F 86 20       STX $20
$82/DE31 85 22       STA $22
$82/DE33 AE BE 16    LDX $16BE  [$8B:16BE]   A:007F X:0000 Y:2141 P:envMxdizc
$82/DE36 7B          TDC                     A:007F X:0003 Y:2141 P:envMxdizc
$82/DE37 18          CLC                     A:0000 X:0003 Y:2141 P:envMxdiZc
$82/DE38 BD DD 82    LDA $82DD,x[$8B:82E0]   A:0000 X:0003 Y:2141 P:envMxdiZc
$82/DE3B 6D C0 16    ADC $16C0  [$8B:16C0]   A:0019 X:0003 Y:2141 P:envMxdizc
$82/DE3E 8D C4 16    STA $16C4  [$8B:16C4]   A:001A X:0003 Y:2141 P:envMxdizc
$82/DE41 9C C5 16    STZ $16C5  [$8B:16C5]   A:001A X:0003 Y:2141 P:envMxdizc
$82/DE44 AE BE 16    LDX $16BE  [$8B:16BE]   A:001A X:0003 Y:2141 P:envMxdizc
$82/DE47 7B          TDC                     A:001A X:0003 Y:2141 P:envMxdizc
$82/DE48 18          CLC                     A:0000 X:0003 Y:2141 P:envMxdiZc
$82/DE49 BF 07 84 8B LDA $8B8407,x[$8B:840A] A:0000 X:0003 Y:2141 P:envMxdiZc
$82/DE4D 6D C0 16    ADC $16C0  [$8B:16C0]   A:0019 X:0003 Y:2141 P:envMxdizc
$82/DE50 AA          TAX                     A:001A X:0003 Y:2141 P:envMxdizc
$82/DE51 A9 20       LDA #$20                A:001A X:001A Y:2141 P:envMxdizc
$82/DE53 8D 02 42    STA $4202  [$8B:4202]   A:0020 X:001A Y:2141 P:envMxdizc
$82/DE56 BD 1F 84    LDA $841F,x[$8B:8439]   A:0020 X:001A Y:2141 P:envMxdizc
$82/DE59 8D 03 42    STA $4203  [$8B:4203]   A:0004 X:001A Y:2141 P:envMxdizc
$82/DE5C EA          NOP           ; Wait for the Multiplication to be done
$82/DE5D EA          NOP
$82/DE5E EA          NOP
$82/DE5F EA          NOP
$82/DE60 AC 16 42    LDY $4216  [$8B:4216]   A:0004 X:001A Y:2141 P:envMxdizc
$82/DE63 8C C6 16    STY $16C6  [$8B:16C6]   A:0004 X:001A Y:0080 P:envMxdizc
$82/DE66 AD BE 16    LDA $16BE     ; Load Index for Compressed ? Data
$82/DE69 0A          ASL A         ; Multiply by 2 (addresses are 2 byte in size)
$82/DE6A AA          TAX           ; Transfer in X and Buffer on Stack
$82/DE6B DA          PHX
$82/DE6C 4B          PHK           ; Set Data Bank to $82
$82/DE6D AB          PLB
$82/DE6E C2 20       REP #$20                A:0006 X:0006 Y:0080 P:eNvMxdizc
$82/DE70 BF 00 80 A2 LDA $A28000,x[$A2:8006] A:0006 X:0006 Y:0080 P:eNvmxdizc
$82/DE74 AA          TAX                     A:894F X:0006 Y:0080 P:eNvmxdizc
$82/DE75 E2 20       SEP #$20                A:894F X:894F Y:0080 P:eNvmxdizc
$82/DE77 A9 A2       LDA #$A2      ; Bank of the Compressed Data
$82/DE79 22 E5 F9 81 JSL $81F9E5   ; Decompression Subroutine
$82/DE7D FA          PLX           ; Resotre Load Index for Compressed ? Data
$82/DE7E C2 21       REP #$21      ; A = 16-bit, Clear Carry
$82/DE80 AF 00 00 7F LDA $7F0000[$7F:0000]   A:FFFF X:0006 Y:0AC0 P:envmxdizc
$82/DE84 85 A6       STA $A6    [$00:00A6]   A:0444 X:0006 Y:0AC0 P:envmxdizc
$82/DE86 AF 02 00 7F LDA $7F0002[$7F:0002]   A:0444 X:0006 Y:0AC0 P:envmxdizc
$82/DE8A 85 A8       STA $A8    [$00:00A8]   A:0844 X:0006 Y:0AC0 P:envmxdizc
$82/DE8C A9 00 00    LDA #$0000              A:0844 X:0006 Y:0AC0 P:envmxdizc
$82/DE8F 65 0E       ADC $0E    [$00:000E]   A:0000 X:0006 Y:0AC0 P:envmxdiZc
$82/DE91 85 20       STA $20       ; Set as Decompression Store Address
$82/DE93 85 AA       STA $AA    [$00:00AA]   A:0AC0 X:0006 Y:0AC0 P:envmxdizc
$82/DE95 BF 2E A9 A4 LDA $A4A92E,x ; Load Compressed Data Address and transfer it to X
$82/DE99 AA          TAX           ; for upcoming Decompression
$82/DE9A A9 1F 9C    LDA #$9C1F    ; Decompression Command Address: $A5/9C1F
$82/DE9D 85 23       STA $23
$82/DE9F E2 20       SEP #$20      ; A = 8-bit
$82/DEA1 A9 A5       LDA #$A5
$82/DEA3 85 25       STA $25
$82/DEA5 A9 A4       LDA #$A4      ; Compressed Data Bank: $A4
$82/DEA7 22 CC F7 81 JSL $81F7CC[$81:F7CC]   A:9CA4 X:ABFA Y:0AC0 P:eNvMxdizc
$82/DEAB A9 7E       LDA #$7E                A:0400 X:AC89 Y:0400 P:eNvMxdizC
$82/DEAD 85 22       STA $22    [$00:0022]   A:047E X:AC89 Y:0400 P:envMxdizC
$82/DEAF C2 20       REP #$20                A:047E X:AC89 Y:0400 P:envMxdizC
$82/DEB1 A5 5C       LDA $5C    [$00:005C]   A:047E X:AC89 Y:0400 P:envmxdizC
$82/DEB3 85 20       STA $20    [$00:0020]   A:2000 X:AC89 Y:0400 P:envmxdizC
$82/DEB5 AD C4 16    LDA $16C4  [$82:16C4]   A:2000 X:AC89 Y:0400 P:envmxdizC
$82/DEB8 0A          ASL A         ; Multiply value by 3 to use it as Load Index
$82/DEB9 6D C4 16    ADC $16C4     ; (Each Entry is 3 Bytes in Size)
$82/DEBC AA          TAX
$82/DEBD BF 7E BB A6 LDA $A6BB7E,x[$A6:BBCC] A:004E X:004E Y:0400 P:envmxdizc
$82/DEC1 A8          TAY                     A:B7F4 X:004E Y:0400 P:eNvmxdizc
$82/DEC2 E2 20       SEP #$20                A:B7F4 X:004E Y:B7F4 P:eNvmxdizc
$82/DEC4 BF 80 BB A6 LDA $A6BB80,x[$A6:BBCE] A:B7F4 X:004E Y:B7F4 P:eNvMxdizc
$82/DEC8 BB          TYX                     A:B7A5 X:004E Y:B7F4 P:eNvMxdizc
$82/DEC9 22 83 FB 81 JSL $81FB83[$81:FB83]   A:B7A5 X:B7F4 Y:B7F4 P:eNvMxdizc
$82/DECD A5 22       LDA $22    [$00:0022]   A:0006 X:270B Y:271B P:eNvMxdizC
$82/DECF 85 25       STA $25    [$00:0025]   A:007E X:270B Y:271B P:envMxdizC
$82/DED1 A9 7F       LDA #$7F      ; Set Data Bank to $7F
$82/DED3 48          PHA
$82/DED4 AB          PLB
$82/DED5 C2 20       REP #$20
$82/DED7 A9 FF FF    LDA #$FFFF    ; Write "#$FFFF" at $7F/C800 to $7F/BFFF
$82/DEDA A2 00 04    LDX #$0400
$82/DEDD A0 00 C8    LDY #$C800
$82/DEE0 22 C8 9D 80 JSL $809DC8
$82/DEE4 7B          TDC           ; Write "#$0000" at $7F/C000 to $7F/FFFF
$82/DEE5 A2 00 04    LDX #$0400
$82/DEE8 A0 00 CC    LDY #$CC00
$82/DEEB 22 C8 9D 80 JSL $809DC8
$82/DEEF 7B          TDC           ; Write "#$0000" at $7F/D800 to $7F/DFFF
$82/DEF0 A2 00 04    LDX #$0400    ; This is going to be the Height Map
$82/DEF3 A0 00 D8    LDY #$D800
$82/DEF6 22 C8 9D 80 JSL $809DC8
$82/DEFA E2 20       SEP #$20
$82/DEFC 4B          PHK           ; Set Data Bank to $82
$82/DEFD AB          PLB
$82/DEFE 7B          TDC           ; Clear 16-bit A
$82/DEFF A8          TAY           ; Clear Y as Load Index
$82/DF00 B7 20       LDA [$20],y   ; Load 1st byte
$82/DF02 8D C8 16    STA $16C8     ; Store as Width of the Map on the NW-SE-Axis
$82/DF05 9C C9 16    STZ $16C9     ; Clear High Byte
$82/DF08 8D 02 42    STA $4202     ; Store in Multiplication Register
$82/DF0B C8          INY           ; Increment Data Load Index
$82/DF0C B7 20       LDA [$20],y   ; Load 2nd byte
$82/DF0E 8D CA 16    STA $16CA     ; Store as Width of the Map on the NE-SW-Axis?
$82/DF11 9C CB 16    STZ $16CB     ; Clear High Byte
$82/DF14 8D 03 42    STA $4203     ; Store in Multiplication Register
$82/DF17 C8          INY           ; Increment Data Load Index
$82/DF18 B7 20       LDA [$20],y   ; Load 3rd byte
$82/DF1A 8D CC 16    STA $16CC     ; Store as Width of the Map on the NW-SE-Axis!?!?!?!?!
$82/DF1D 9C CD 16    STZ $16CD     ; Clear High Byte
$82/DF20 C8          INY           ; Increment Data Load Index
$82/DF21 C2 21       REP #$21      ; 16-bit A, clear Carry
$82/DF23 AD 16 42    LDA $4216     ; Load Multiplication Result (Size of the Map)
$82/DF26 65 20       ADC $20       ; Add to the Offset the Data Address
$82/DF28 85 23       STA $23       ; $23 contains the Address of the Data AFTER the Height Map
$82/DF2A E2 20       SEP #$20      ; This line could be removed?
$82/DF2C C2 21       REP #$21      ; Clear Carry
$82/DF2E AD C6 16    LDA $16C6     ; Load Index/Offset for the Terrain Type Dataset
$82/DF31 69 5D 87    ADC #$875D    ; Add Offset of the Data Table ($8B/875D) to the Index
$82/DF34 85 26       STA $26       ; Set it up as 24-bit Load Address in [$26]
$82/DF36 E2 20       SEP #$20
$82/DF38 A9 8B       LDA #$8B
$82/DF3A 85 28       STA $28
$82/DF3C AD CA 16    LDA $16CA     ; Setup Outer Loop Counter:
$82/DF3F 85 00       STA $00       ; Width of the Map of the Map on the NE-SW-Axis
$82/DF41 A2 21 00    LDX #$0021              A:871E X:2000 Y:0003 P:envMxdizc
$82/DF44 AD C8 16    LDA $16C8     ; Setup Inner Loop Counter:
$82/DF47 85 01       STA $01       ; Width of the Map of the Map on the NW-SE-Axis
$82/DF49 DA          PHX                     A:871E X:0021 Y:0003 P:envMxdizc
$82/DF4A 7B          TDC                     A:871E X:0021 Y:0003 P:envMxdizc
$82/DF4B B7 23       LDA [$23],y[$7E:2387]   A:0000 X:0021 Y:0003 P:envMxdiZc
$82/DF4D C9 E0       CMP #$E0                A:0003 X:0021 Y:0003 P:envMxdizc
$82/DF4F 90 24       BCC $24    [$DF75]      A:0003 X:0021 Y:0003 P:envMxdizc
Code is missing here
$82/DF75 B7 20       LDA [$20],y[$7E:2003]   A:0003 X:0021 Y:0003 P:envMxdizc
$82/DF77 9F 00 C8 7F STA $7FC800,x[$7F:C821] A:001F X:0021 Y:0003 P:envMxdizc
$82/DF7B 10 01       BPL $01    [$DF7E]      A:001F X:0021 Y:0003 P:envMxdizc
Code is missing here
$82/DF7E 9F 00 D8 7F STA $7FD800,x[$7F:D821] A:001F X:0021 Y:0003 P:envMxdizc
$82/DF82 7B          TDC                     A:001F X:0021 Y:0003 P:envMxdizc
$82/DF83 B7 23       LDA [$23],y[$7E:2387]   A:0000 X:0021 Y:0003 P:envMxdiZc
$82/DF85 9F 00 D0 7F STA $7FD000,x[$7F:D021] A:0003 X:0021 Y:0003 P:envMxdizc
$82/DF89 29 1F       AND #$1F                A:0003 X:0021 Y:0003 P:envMxdizc
$82/DF8B 9F 00 D4 7F STA $7FD400,x   ; Store in "Object" Type Map
$82/DF8F 5A          PHY             ; Buffer Data Load Index on Stack
$82/DF90 A8          TAY             ; Transfer "Object" Type value in Y as Load Index
$82/DF91 B7 26       LDA [$26],y[$8B:87E0]   A:0003 X:0021 Y:0003 P:envMxdizc
$82/DF93 7A          PLY             ; Restore Data Load Index from Stack
$82/DF94 9F 00 CC 7F STA $7FCC00,x   ; Store in Terrain Type Map
$82/DF98 C8          INY             ; Increment Load Index
$82/DF99 E8          INX             ; Increment Store Index
$82/DF9A C6 01       DEC $01         ; Decrement Inner Loop Counter
$82/DF9C D0 AC       BNE $AC         ; [$DF4A] Loop until Counter is empty
$82/DF51 7B          TDC                     A:00E2 X:0023 Y:0005 P:envMxdizC
$82/DF52 9F 00 C8 7F STA $7FC800,x[$7F:C823] A:0000 X:0023 Y:0005 P:envMxdiZC
$82/DF56 B7 20       LDA [$20],y[$7E:2005]   A:0000 X:0023 Y:0005 P:envMxdiZC
$82/DF58 10 01       BPL $01    [$DF5B]      A:001D X:0023 Y:0005 P:envMxdizC
$82/DF5B 9F 00 D8 7F STA $7FD800,x[$7F:D823] A:001D X:0023 Y:0005 P:envMxdizC
$82/DF5F 7B          TDC                     A:001D X:0023 Y:0005 P:envMxdizC
$82/DF60 9F 00 D0 7F STA $7FD000,x[$7F:D023] A:0000 X:0023 Y:0005 P:envMxdiZC
$82/DF64 9F 00 D4 7F STA $7FD400,x[$7F:D423] A:0000 X:0023 Y:0005 P:envMxdiZC
$82/DF68 B7 23       LDA [$23],y[$7E:2389]   A:0000 X:0023 Y:0005 P:envMxdiZC
$82/DF6A 29 03       AND #$03                A:00E2 X:0023 Y:0005 P:eNvMxdizC
$82/DF6C 18          CLC                     A:0002 X:0023 Y:0005 P:envMxdizC
$82/DF6D 69 18       ADC #$18                A:0002 X:0023 Y:0005 P:envMxdizc
$82/DF6F 9F 00 CC 7F STA $7FCC00,x[$7F:CC23] A:001A X:0023 Y:0005 P:envMxdizc
$82/DF73 80 23       BRA $23    [$DF98]      A:001A X:0023 Y:0005 P:envMxdizc
$82/DF9E C2 21       REP #$21                A:0001 X:003F Y:0021 P:envMxdiZc
$82/DFA0 68          PLA                     A:0001 X:003F Y:0021 P:envmxdiZc
$82/DFA1 69 20 00    ADC #$0020              A:0021 X:003F Y:0021 P:envmxdizc
$82/DFA4 AA          TAX                     A:0041 X:003F Y:0021 P:envmxdizc
$82/DFA5 E2 20       SEP #$20                A:0041 X:0041 Y:0021 P:envmxdizc
$82/DFA7 C6 00       DEC $00       ; Decrement Outer Loop Counter
$82/DFA9 D0 99       BNE $99       ; [$DF44] Loop until Counter is empty
$82/DFAB EE C8 16    INC $16C8  [$82:16C8]   A:03E1 X:03E1 Y:0387 P:envMxdiZc
$82/DFAE EE CA 16    INC $16CA  [$82:16CA]   A:03E1 X:03E1 Y:0387 P:envMxdizc
$82/DFB1 C2 20       REP #$20                A:03E1 X:03E1 Y:0387 P:envMxdizc
$82/DFB3 A9 A0 FF    LDA #$FFA0              A:03E1 X:03E1 Y:0387 P:envmxdizc
$82/DFB6 85 00       STA $00    [$00:0000]   A:FFA0 X:03E1 Y:0387 P:eNvmxdizc
$82/DFB8 18          CLC                     A:FFA0 X:03E1 Y:0387 P:eNvmxdizc
$82/DFB9 AD C8 16    LDA $16C8  [$82:16C8]   A:FFA0 X:03E1 Y:0387 P:eNvmxdizc
$82/DFBC 6D CA 16    ADC $16CA  [$82:16CA]   A:001F X:03E1 Y:0387 P:envmxdizc
$82/DFBF 0A          ASL A                   A:003E X:03E1 Y:0387 P:envmxdizc
$82/DFC0 0A          ASL A                   A:007C X:03E1 Y:0387 P:envmxdizc
$82/DFC1 0A          ASL A                   A:00F8 X:03E1 Y:0387 P:envmxdizc
$82/DFC2 48          PHA                     A:01F0 X:03E1 Y:0387 P:envmxdizc
$82/DFC3 0A          ASL A                   A:01F0 X:03E1 Y:0387 P:envmxdizc
$82/DFC4 38          SEC                     A:03E0 X:03E1 Y:0387 P:envmxdizc
$82/DFC5 E9 A0 00    SBC #$00A0              A:03E0 X:03E1 Y:0387 P:envmxdizC
$82/DFC8 85 02       STA $02    [$00:0002]   A:0340 X:03E1 Y:0387 P:envmxdizC
$82/DFCA A9 A8 FF    LDA #$FFA8              A:0340 X:03E1 Y:0387 P:envmxdizC
$82/DFCD 85 04       STA $04    [$00:0004]   A:FFA8 X:03E1 Y:0387 P:eNvmxdizC
$82/DFCF 68          PLA                     A:FFA8 X:03E1 Y:0387 P:eNvmxdizC
$82/DFD0 85 06       STA $06    [$00:0006]   A:01F0 X:03E1 Y:0387 P:envmxdizC
$82/DFD2 AD CC 16    LDA $16CC  [$82:16CC]   A:01F0 X:03E1 Y:0387 P:envmxdizC
$82/DFD5 0A          ASL A                   A:001E X:03E1 Y:0387 P:envmxdizC
$82/DFD6 0A          ASL A                   A:003C X:03E1 Y:0387 P:envmxdizc
$82/DFD7 0A          ASL A                   A:0078 X:03E1 Y:0387 P:envmxdizc
$82/DFD8 65 06       ADC $06    [$00:0006]   A:00F0 X:03E1 Y:0387 P:envmxdizc
$82/DFDA 38          SEC                     A:02E0 X:03E1 Y:0387 P:envmxdizc
$82/DFDB E9 78 00    SBC #$0078              A:02E0 X:03E1 Y:0387 P:envmxdizC
$82/DFDE 85 06       STA $06    [$00:0006]   A:0268 X:03E1 Y:0387 P:envmxdizC
$82/DFE0 AD CA 16    LDA $16CA  [$82:16CA]   A:0268 X:03E1 Y:0387 P:envmxdizC
$82/DFE3 3A          DEC A                   A:001F X:03E1 Y:0387 P:envmxdizC
$82/DFE4 85 0C       STA $0C    [$00:000C]   A:001E X:03E1 Y:0387 P:envmxdizC
$82/DFE6 85 0A       STA $0A    [$00:000A]   A:001E X:03E1 Y:0387 P:envmxdizC
$82/DFE8 A9 01 00    LDA #$0001              A:001E X:03E1 Y:0387 P:envmxdizC
$82/DFEB 85 08       STA $08    [$00:0008]   A:0001 X:03E1 Y:0387 P:envmxdizC
$82/DFED A5 0A       LDA $0A    [$00:000A]   A:0001 X:03E1 Y:0387 P:envmxdizC
$82/DFEF EB          XBA                     A:001E X:03E1 Y:0387 P:envmxdizC
$82/DFF0 4A          LSR A                   A:1E00 X:03E1 Y:0387 P:envmxdiZC
$82/DFF1 4A          LSR A                   A:0F00 X:03E1 Y:0387 P:envmxdizc
$82/DFF2 4A          LSR A                   A:0780 X:03E1 Y:0387 P:envmxdizc
$82/DFF3 05 08       ORA $08    [$00:0008]   A:03C0 X:03E1 Y:0387 P:envmxdizc
$82/DFF5 AA          TAX                     A:03C1 X:03E1 Y:0387 P:envmxdizc
$82/DFF6 7B          TDC                     A:03C1 X:03C1 Y:0387 P:envmxdizc
$82/DFF7 E2 20       SEP #$20      ; A = 8-bit
$82/DFF9 BF 00 C8 7F LDA $7FC800,x ; Load Entry of the Step Map
$82/DFFD C2 20       REP #$20                A:000A X:03C1 Y:0387 P:envMxdizc
$82/DFFF C9 00 00    CMP #$0000              A:000A X:03C1 Y:0387 P:envmxdizc
$82/E002 F0 05       BEQ $05    [$E009]      A:000A X:03C1 Y:0387 P:envmxdizC
$82/E004 C9 FF 00    CMP #$00FF              A:000A X:03C1 Y:0387 P:envmxdizC
$82/E007 D0 21       BNE $21    [$E02A]      A:000A X:03C1 Y:0387 P:eNvmxdizc
code is missing here
$82/E02A AD C8 16    LDA $16C8  [$82:16C8]   A:000A X:03C1 Y:0387 P:eNvmxdizc
$82/E02D 3A          DEC A                   A:001F X:03C1 Y:0387 P:envmxdizc
$82/E02E 85 08       STA $08    [$00:0008]   A:001E X:03C1 Y:0387 P:envmxdizc
$82/E030 85 0C       STA $0C    [$00:000C]   A:001E X:03C1 Y:0387 P:envmxdizc
$82/E032 A9 01 00    LDA #$0001              A:001E X:03C1 Y:0387 P:envmxdizc
$82/E035 85 0A       STA $0A    [$00:000A]   A:0001 X:03C1 Y:0387 P:envmxdizc
$82/E037 A5 0A       LDA $0A    [$00:000A]   A:0001 X:03C1 Y:0387 P:envmxdizc
$82/E039 EB          XBA                     A:0001 X:03C1 Y:0387 P:envmxdizc
$82/E03A 4A          LSR A                   A:0100 X:03C1 Y:0387 P:envmxdiZc
$82/E03B 4A          LSR A                   A:0080 X:03C1 Y:0387 P:envmxdizc
$82/E03C 4A          LSR A                   A:0040 X:03C1 Y:0387 P:envmxdizc
$82/E03D 05 08       ORA $08    [$00:0008]   A:0020 X:03C1 Y:0387 P:envmxdizc
$82/E03F AA          TAX                     A:003E X:03C1 Y:0387 P:envmxdizc
$82/E040 7B          TDC                     A:003E X:003E Y:0387 P:envmxdizc
$82/E041 E2 20       SEP #$20                A:0000 X:003E Y:0387 P:envmxdiZc
$82/E043 BF 00 C8 7F LDA $7FC800,x[$7F:C83E] A:0000 X:003E Y:0387 P:envMxdiZc
$82/E047 C2 20       REP #$20                A:001E X:003E Y:0387 P:envMxdizc
$82/E049 C9 00 00    CMP #$0000              A:001E X:003E Y:0387 P:envmxdizc
$82/E04C F0 05       BEQ $05    [$E053]      A:001E X:003E Y:0387 P:envmxdizC
$82/E04E C9 FF 00    CMP #$00FF              A:001E X:003E Y:0387 P:envmxdizC
$82/E051 D0 21       BNE $21    [$E074]      A:001E X:003E Y:0387 P:eNvmxdizc
code is missing here
$82/E074 A5 00       LDA $00    [$00:0000]   A:001E X:003E Y:0387 P:eNvmxdizc
$82/E076 8D CE 16    STA $16CE  [$82:16CE]   A:FFA0 X:003E Y:0387 P:eNvmxdizc
$82/E079 A5 02       LDA $02    [$00:0002]   A:FFA0 X:003E Y:0387 P:eNvmxdizc
$82/E07B 8D D0 16    STA $16D0  [$82:16D0]   A:0340 X:003E Y:0387 P:envmxdizc
$82/E07E A5 04       LDA $04    [$00:0004]   A:0340 X:003E Y:0387 P:envmxdizc
$82/E080 8D D2 16    STA $16D2  [$82:16D2]   A:FFA8 X:003E Y:0387 P:eNvmxdizc
$82/E083 A5 06       LDA $06    [$00:0006]   A:FFA8 X:003E Y:0387 P:eNvmxdizc
$82/E085 8D D4 16    STA $16D4  [$82:16D4]   A:0268 X:003E Y:0387 P:envmxdizc
$82/E088 E2 20       SEP #$20                A:0268 X:003E Y:0387 P:envmxdizc
$82/E08A 20 EA FC    JSR $FCEA  [$82:FCEA]   A:0268 X:003E Y:0387 P:envMxdizc
$82/E08D 22 3D 85 86 JSL $86853D[$86:853D]   A:001F X:03DF Y:0387 P:envMxdiZC
$82/E091 AB          PLB                     A:0000 X:1F1F Y:0387 P:eNvMxdizC
$82/E092 6B          RTL                     A:0000 X:1F1F Y:0387 P:eNvMxdizC

$82/E093 ?

$82/E093 8B          PHB           ; Buffer Data Bank
$82/E094 4B          PHK           ; Set Data Bank to $82 - This line could be removed?
$82/E095 AB          PLB           ; This line could be removed?
$82/E096 20 9B E0    JSR $E09B     ; ???
$82/E099 AB          PLB           ; Restore Data Bank
$82/E09A 6B          RTL

$82/E093 ?

$82/E09B A9 7F       LDA #$7F      ; Set Data Bank to $7F
$82/E09D 48          PHA
$82/E09E AB          PLB
$82/E09F C2 20       REP #$20      ; 16-bit A
$82/E0A1 7B          TDC           ; Set $7F/8000 to $7F/97FF to "#$0000"
$82/E0A2 A2 00 18    LDX #$1800
$82/E0A5 A0 00 80    LDY #$8000
$82/E0A8 22 C8 9D 80 JSL $809DC8
$82/E0AC 7B          TDC           ; Set $7F/9800 to $7F/C7FF to "#$0000"
$82/E0AD A2 00 30    LDX #$3000
$82/E0B0 A0 00 98    LDY #$9800
$82/E0B3 22 C8 9D 80 JSL $809DC8
$82/E0B7 A9 80 02    LDA #$0280    ; Set $7F/2000 to $7F/7FFF to "#$0280"
$82/E0BA A2 00 60    LDX #$6000
$82/E0BD A0 00 20    LDY #$2000
$82/E0C0 22 C8 9D 80 JSL $809DC8
$82/E0C4 E2 20       SEP #$20      ; 8-bit A
$82/E0C6 4B          PHK           ; Set Data Bank to $82
$82/E0C7 AB          PLB
$82/E0C8 A2 01 00    LDX #$0001              A:0280 X:1F1F Y:8000 P:eNVMxdizc
$82/E0CB A0 01 00    LDY #$0001              A:0280 X:0001 Y:8000 P:enVMxdizc
$82/E0CE DA          PHX                     A:0280 X:0001 Y:0001 P:enVMxdizc
$82/E0CF 5A          PHY                     A:0280 X:0001 Y:0001 P:enVMxdizc
$82/E0D0 64 10       STZ $10    [$00:0010]   A:0280 X:0001 Y:0001 P:enVMxdizc
$82/E0D2 20 F6 E0    JSR $E0F6  [$82:E0F6]   A:0280 X:0001 Y:0001 P:enVMxdizc
$82/E0DD A2 01 00    LDX #$0001              A:101F X:0001 Y:001F P:envMxdiZC
$82/E0E0 A0 01 00    LDY #$0001              A:101F X:0001 Y:001F P:envMxdizC
$82/E0E3 DA          PHX                     A:101F X:0001 Y:0001 P:envMxdizC
$82/E0E4 5A          PHY                     A:101F X:0001 Y:0001 P:envMxdizC
$82/E0E5 A9 01       LDA #$01                A:101F X:0001 Y:0001 P:envMxdizC
$82/E0E7 85 10       STA $10    [$00:0010]   A:1001 X:0001 Y:0001 P:envMxdizC
$82/E0E9 20 F6 E0    JSR $E0F6  [$82:E0F6]   A:1001 X:0001 Y:0001 P:envMxdizC
$82/E0EC 7A          PLY                     A:171F X:2E3E Y:01D2 P:envMxdiZC
$82/E0ED FA          PLX                     A:171F X:2E3E Y:0001 P:envMxdizC
$82/E0EE E8          INX                     A:171F X:0001 Y:0001 P:envMxdizC
$82/E0EF EC C8 16    CPX $16C8  [$82:16C8]   A:171F X:0002 Y:0001 P:envMxdizC
$82/E0F2 D0 EF       BNE $EF    [$E0E3]      A:171F X:0002 Y:0001 P:eNvMxdizc
$82/E0F4 60          RTS           ; THE FINAL EXIT

$82/E0F6 ? Big Map Stuff

X contains a Position (NW-SE-Axis)

Y contains a Position (NE-SW-Axis)

$00 contains the Original X value - Low Byte

$01 contains the Original X value - High Byte

$09 entry of the $7F/C800 table

$0A contains the Original X value

$0B contains the Original Y value

$0E contains the Offset of the Rhomb that this subroutine is aimed at (X/Y Original Contents)

$10 contains some kinda case decider, see $82/E120

$82/E0F6 86 00       STX $00       ; Buffer brought-in X in $00/1
$82/E0F8 BA          TSX           ; Store current Stack pointer in $05F6
$82/E0F9 8E F6 05    STX $05F6
$82/E0FC A6 00       LDX $00       ; Restore Original X
$82/E0FE A9 20       LDA #$20      ; Multiply Original Y value by 20 (Position (NE-SW-Axis)
$82/E100 8D 02 42    STA $4202
$82/E103 98          TYA
$82/E104 85 0B       STA $0B       ; Buffer Original Y in $0B
$82/E106 8D 03 42    STA $4203
$82/E109 8A          TXA
$82/E10A 85 0A       STA $0A       ; Buffer Original X in $0A
$82/E10C C2 21       REP #$21      ; 16 bit A, Clear Carry
$82/E10E 8A          TXA           ; A = Orig. X + Orig. Y * #$20
$82/E10F 6D 16 42    ADC $4216
$82/E112 AA          TAX           ; Transfer it in X, to use it as Load Index
$82/E113 E2 20       SEP #$20      ; Turn A to 8 bit again
$82/E115 86 0E       STX $0E       ; Store the Load Index in $0E/F
$82/E117 BF 00 C8 7F LDA $7FC800,x ; Load Step Number(?) of the Rhomb
$82/E11B 85 09       STA $09       ; Store Value in $09
$82/E11D 20 50 E3    JSR $E350     ; ??? (Calculates a value in Y)
$82/E120 A5 10       LDA $10    [$00:0010]   A:009E X:0021 Y:009E P:envMxdizc
$82/E122 F0 01       BEQ $01    [$E125]      A:0000 X:0021 Y:009E P:envMxdiZc
Code is missing here
$82/E125 84 20       STY $20    [$00:0020]   A:0000 X:0021 Y:009E P:envMxdiZc
$82/E127 A9 01       LDA #$01                A:0000 X:0021 Y:009E P:envMxdiZc
$82/E129 85 07       STA $07    [$00:0007]   A:0001 X:0021 Y:009E P:envMxdizc
$82/E12B 64 06       STZ $06    [$00:0006]   A:0001 X:0021 Y:009E P:envMxdizc
$82/E12D A9 FF       LDA #$FF                A:0001 X:0021 Y:009E P:envMxdizc
$82/E12F 85 0C       STA $0C    [$00:000C]   A:00FF X:0021 Y:009E P:eNvMxdizc
$82/E131 A5 10       LDA $10    [$00:0010]   A:00FF X:0021 Y:009E P:eNvMxdizc
$82/E133 D0 0C       BNE $0C    [$E141]      A:0000 X:0021 Y:009E P:envMxdiZc
$82/E135 BF 20 C8 7F LDA $7FC820,x ; Load Step Map value from next row's Rhomb
$82/E139 85 0D       STA $0D       ; Buffer in $0D
$82/E13B BF 20 D0 7F LDA $7FD020,x ; Load ??? Map value from next row's Rhomb
$82/E13F 80 0A       BRA $0A    [$E14B]      A:0011 X:0021 Y:009E P:envMxdizc
Code is missing here
$82/E14B 4A          LSR A         ; divide by #$20
$82/E14C 4A          LSR A
$82/E14D 4A          LSR A
$82/E14E 4A          LSR A
$82/E14F 4A          LSR A
$82/E150 85 05       STA $05    [$00:0005]   A:0000 X:0021 Y:009E P:envMxdiZC
$82/E152 64 04       STZ $04    [$00:0004]   A:0000 X:0021 Y:009E P:envMxdiZC
$82/E154 64 22       STZ $22    [$00:0022]   A:0000 X:0021 Y:009E P:envMxdiZC
$82/E156 A9 1F       LDA #$1F                A:0000 X:0021 Y:009E P:envMxdiZC
$82/E158 85 11       STA $11    [$00:0011]   A:001F X:0021 Y:009E P:envMxdizC
$82/E15A 85 12       STA $12    [$00:0012]   A:001F X:0021 Y:009E P:envMxdizC
$82/E15C A5 09       LDA $09    [$00:0009]   A:001F X:0021 Y:009E P:envMxdizC
$82/E15E F0 03       BEQ $03       ; [$E163]
$82/E160 4C 4F E2    JMP $E24F  [$82:E24F]   A:001F X:0021 Y:009E P:envMxdizC
$82/E163 E6 12       INC $12    [$00:0012]   A:0000 X:013C Y:0024 P:envMxdiZc
$82/E165 A5 10       LDA $10    [$00:0010]   A:0000 X:013C Y:0024 P:envMxdizc
$82/E167 49 01       EOR #$01                A:0000 X:013C Y:0024 P:envMxdiZc
$82/E169 85 10       STA $10    [$00:0010]   A:0001 X:013C Y:0024 P:envMxdizc
$82/E16B D0 1D       BNE $1D    [$E18A]      A:0001 X:013C Y:0024 P:envMxdizc
$82/E16D E6 0A       INC $0A    [$00:000A]   A:0100 X:01BC Y:007E P:envMxdiZc
$82/E16F A5 0A       LDA $0A    [$00:000A]   A:0100 X:01BC Y:007E P:envMxdizc
$82/E171 CD C8 16    CMP $16C8     ; Compare with Width of the Map on the NW-SE-Axis
$82/E174 90 03       BCC $03       ; [$E179] Branch if $0A hasn't exceeded it
code is missing here
$82/E179 A6 0E       LDX $0E    [$00:000E]   A:0102 X:01BC Y:007E P:eNvMxdizc
$82/E17B E8          INX                     A:0102 X:0041 Y:007E P:envMxdizc
$82/E17C 86 0E       STX $0E    [$00:000E]   A:0102 X:0042 Y:007E P:envMxdizc
$82/E17E BF FF D7 7F LDA $7FD7FF,x ; Load Height Map value from previous Rhomb
$82/E182 C5 12       CMP $12    [$00:0012]   A:011F X:0042 Y:007E P:envMxdizc
$82/E184 B0 26       BCS $26    [$E1AC]      A:011F X:0042 Y:007E P:eNvMxdizc
$82/E186 85 12       STA $12    [$00:0012]   A:011F X:0042 Y:007E P:eNvMxdizc 
$82/E188 80 22       BRA $22    [$E1AC]      A:011F X:0042 Y:007E P:eNvMxdizc
$82/E18A E6 0B       INC $0B    [$00:000B]   A:0001 X:013C Y:0024 P:envMxdizc
$82/E18C A5 0B       LDA $0B       ; 
$82/E18E CD CA 16    CMP $16CA     ; Compare with Width of the Map on the NE-SW-Axis
$82/E191 90 03       BCC $03       ; [$E196] Branch if $0B hasn't exceeded it
code is missing here
$82/E196 C2 21       REP #$21      ; Clear Carry and add #$20 to $0E
$82/E198 A5 0E       LDA $0E
$82/E19A 69 20 00    ADC #$0020
$82/E19D 85 0E       STA $0E
$82/E19F E2 20       SEP #$20
$82/E1A1 AA          TAX           ; Transfer new value in $0E in X as Load Index
$82/E1A2 BF E0 D7 7F LDA $7FD7E0,x ; Load Height Map value from previous row's Rhomb
$82/E1A6 C5 12       CMP $12    [$00:0012]   A:001F X:0041 Y:0024 P:envMxdizc
$82/E1A8 B0 02       BCS $02    [$E1AC]      A:001F X:0041 Y:0024 P:eNvMxdizc
$82/E1AA 85 12       STA $12    [$00:0012]   A:001F X:0041 Y:0024 P:eNvMxdizc
$82/E1AC A5 09       LDA $09    [$00:0009]   A:001F X:0041 Y:0024 P:eNvMxdizc
$82/E1AE 85 0C       STA $0C    [$00:000C]   A:001F X:0041 Y:0024 P:envMxdizc
$82/E1B0 A5 0D       LDA $0D    [$00:000D]   A:001F X:0041 Y:0024 P:envMxdizc
$82/E1B2 85 09       STA $09    [$00:0009]   A:001F X:0041 Y:0024 P:envMxdizc
$82/E1B4 A5 10       LDA $10    [$00:0010]   A:001F X:0041 Y:0024 P:envMxdizc
$82/E1B6 D0 06       BNE $06    [$E1BE]      A:0001 X:0041 Y:0024 P:envMxdizc
$82/E1B8 BF 20 C8 7F LDA $7FC820,x[$7F:C862] A:0100 X:0042 Y:007E P:envMxdiZc
$82/E1BC 80 04       BRA $04    [$E1C2]      A:011C X:0042 Y:007E P:envMxdizc
$82/E1BE BF 01 C8 7F LDA $7FC801,x[$7F:C842] A:0001 X:0041 Y:0024 P:envMxdizc
$82/E1C2 10 01       BPL $01    [$E1C5]      A:001F X:0041 Y:0024 P:envMxdizc
Code is missing here
$82/E1C5 85 0D       STA $0D    [$00:000D]   A:001F X:0041 Y:0024 P:envMxdizc
$82/E1C7 A5 09       LDA $09    [$00:0009]   A:001F X:0041 Y:0024 P:envMxdizc
$82/E1C9 F0 98       BEQ $98    [$E163]      A:001F X:0041 Y:0024 P:envMxdizc
$82/E1CB 20 50 E3    JSR $E350  [$82:E350]   A:001F X:0041 Y:0024 P:envMxdizc
$82/E1CE A5 10       LDA $10    [$00:0010]   A:00DD X:0041 Y:00DD P:envMxdizc
$82/E1D0 F0 01       BEQ $01    [$E1D3]      A:0001 X:0041 Y:00DD P:envMxdizc
$82/E1D2 C8          INY                     A:0001 X:0041 Y:00DD P:envMxdizc
$82/E1D3 84 20       STY $20    [$00:0020]   A:0001 X:0041 Y:00DE P:envMxdizc
$82/E1D5 A5 09       LDA $09    [$00:0009]   A:0001 X:0041 Y:00DE P:envMxdizc
$82/E1D7 C5 0C       CMP $0C    [$00:000C]   A:001F X:0041 Y:00DE P:envMxdizc
$82/E1D9 F0 1D       BEQ $1D    [$E1F8]      A:001F X:0041 Y:00DE P:envMxdiZC
$82/E1F8 A5 04       LDA $04    [$00:0004]   A:001F X:0041 Y:00DE P:envMxdiZC
$82/E1FA F0 04       BEQ $04    [$E200]      A:0000 X:0041 Y:00DE P:envMxdiZC
$82/E200 A5 05       LDA $05    [$00:0005]   A:0000 X:0041 Y:00DE P:envMxdiZC
$82/E202 F0 F8       BEQ $F8    [$E1FC]      A:0000 X:0041 Y:00DE P:envMxdiZC
$82/E1FC A9 09       LDA #$09                A:0000 X:0041 Y:00DE P:envMxdiZC
$82/E1FE 80 08       BRA $08    [$E208]      A:0009 X:0041 Y:00DE P:envMxdizC
$82/E208 85 07       STA $07    [$00:0007]   A:0009 X:0041 Y:00DE P:envMxdizC
$82/E20A A5 0C       LDA $0C    [$00:000C]   A:0009 X:0041 Y:00DE P:envMxdizC
$82/E20C D0 33       BNE $33    [$E241]      A:001F X:0041 Y:00DE P:envMxdizC
$82/E241 A5 09       LDA $09    [$00:0009]   A:001F X:0041 Y:00DE P:envMxdizC
$82/E243 38          SEC                     A:001F X:0041 Y:00DE P:envMxdizC
$82/E244 E5 0C       SBC $0C    [$00:000C]   A:001F X:0041 Y:00DE P:envMxdizC
$82/E246 30 07       BMI $07    [$E24F]      A:0000 X:0041 Y:00DE P:envMxdiZC
$82/E248 F0 05       BEQ $05    [$E24F]      A:0000 X:0041 Y:00DE P:envMxdiZC
$82/E24F A6 0E       LDX $0E    [$00:000E]   A:001F X:0021 Y:009E P:envMxdizC
$82/E251 BF 00 D0 7F LDA $7FD000,x[$7F:D021] A:001F X:0021 Y:009E P:envMxdizC
$82/E255 4A          LSR A                   A:0003 X:0021 Y:009E P:envMxdizC
$82/E256 4A          LSR A                   A:0001 X:0021 Y:009E P:envMxdizC
$82/E257 4A          LSR A                   A:0000 X:0021 Y:009E P:envMxdiZC
$82/E258 4A          LSR A                   A:0000 X:0021 Y:009E P:envMxdiZc
$82/E259 4A          LSR A                   A:0000 X:0021 Y:009E P:envMxdiZc
$82/E25A 85 04       STA $04    [$00:0004]   A:0000 X:0021 Y:009E P:envMxdiZc
$82/E25C F0 07       BEQ $07    [$E265]      A:0000 X:0021 Y:009E P:envMxdiZc
$82/E25E 1A          INC A                   A:0702 X:0107 Y:079E P:envMxdizC
$82/E25F C5 22       CMP $22    [$00:0022]   A:0703 X:0107 Y:079E P:envMxdizC
$82/E261 90 02       BCC $02    [$E265]      A:0703 X:0107 Y:079E P:envMxdizC
$82/E263 85 22       STA $22    [$00:0022]   A:0703 X:0107 Y:079E P:envMxdizC
$82/E265 BF 00 D0 7F LDA $7FD000,x[$7F:D021] A:0000 X:0021 Y:009E P:envMxdiZc
$82/E269 29 1F       AND #$1F                A:0003 X:0021 Y:009E P:envMxdizc
$82/E26B 85 08       STA $08    [$00:0008]   A:0003 X:0021 Y:009E P:envMxdizc
$82/E26D C9 18       CMP #$18                A:0003 X:0021 Y:009E P:envMxdizc
$82/E26F 90 1C       BCC $1C    [$E28D]      A:0003 X:0021 Y:009E P:eNvMxdizc
$82/E271 A5 10       LDA $10    [$00:0010]   A:071A X:0107 Y:079E P:envMxdizC
$82/E273 D0 06       BNE $06    [$E27B]      A:0701 X:0107 Y:079E P:envMxdizC
$82/E275 BF FF CF 7F LDA $7FCFFF,x[$7F:D107] A:0700 X:0108 Y:07DE P:envMxdiZC
$82/E279 80 04       BRA $04    [$E27F]      A:075A X:0108 Y:07DE P:envMxdizC
$82/E27B BF E0 CF 7F LDA $7FCFE0,x[$7F:D0E7] A:0701 X:0107 Y:079E P:envMxdizC
$82/E27F 29 1F       AND #$1F                A:0704 X:0107 Y:079E P:envMxdizC
$82/E281 C5 08       CMP $08    [$00:0008]   A:0704 X:0107 Y:079E P:envMxdizC
$82/E283 D0 08       BNE $08    [$E28D]      A:0704 X:0107 Y:079E P:eNvMxdizc
$82/E285 A5 0C       LDA $0C    [$00:000C]   A:071A X:0108 Y:07DE P:envMxdiZC
$82/E287 C5 09       CMP $09    [$00:0009]   A:0710 X:0108 Y:07DE P:envMxdizC
$82/E289 D0 02       BNE $02    [$E28D]      A:0710 X:0108 Y:07DE P:envMxdiZC
$82/E28B E6 08       INC $08    [$00:0008]   A:0710 X:0108 Y:07DE P:envMxdiZC
$82/E28D A5 0D       LDA $0D    [$00:000D]   A:0003 X:0021 Y:009E P:eNvMxdizc
$82/E28F D0 59       BNE $59    [$E2EA]      A:001F X:0021 Y:009E P:envMxdizc
$82/E291 A9 01       LDA #$01                A:1600 X:03DE Y:165E P:envMxdiZc
$82/E293 85 03       STA $03    [$00:0003]   A:1601 X:03DE Y:165E P:envMxdizc
$82/E295 A5 10       LDA $10    [$00:0010]   A:1601 X:03DE Y:165E P:envMxdizc
$82/E297 D0 08       BNE $08    [$E2A1]      A:1600 X:03DE Y:165E P:envMxdiZc
$82/E299 80 17       BRA $17    [$E2B2]      A:1600 X:03DE Y:165E P:envMxdiZc
$82/E29B BF 00 D8 7F LDA $7FD800,x ; Load Entry from Height Map
$82/E29F 85 00       STA $00       ; Buffer Height Map Entry
$82/E2A1 E8          INX           ; Increment Load Index
$82/E2A2 BF 00 C8 7F LDA $7FC800,x ; Load next Entry from the Step Map
$82/E2A6 30 42       BMI $42       ; [$E2EA] ??? Branch if negative
$82/E2A8 D0 1D       BNE $1D       ; [$E2C7] ???
$82/E2AA E6 03       INC $03    [$00:0003]   A:0300 X:0183 Y:0395 P:envMxdiZc
$82/E2AC BF 00 D8 7F LDA $7FD800,x ; Load corresponding rhomb's value from Height Map
$82/E2B0 85 00       STA $00       ; Buffer in $00
$82/E2B2 C2 21       REP #$21      ; Clear Carry and add #$20 to X (jump to the next row)
$82/E2B4 8A          TXA
$82/E2B5 69 20 00    ADC #$0020
$82/E2B8 AA          TAX
$82/E2B9 E2 20       SEP #$20
$82/E2BB BF 00 C8 7F LDA $7FC800,x ; Load (next row) value from Step Map
$82/E2BF 30 29       BMI $29       ; [$E2EA] Branch if Step Map value is negative ( =#$FF = invalid?)
$82/E2C1 D0 04       BNE $04       ; [$E2C7] Branch if Step Map value is positive and not zero
$82/E2C3 E6 03       INC $03    [$00:0003]   A:0000 X:0061 Y:00DD P:envMxdiZc
$82/E2C5 80 D4       BRA $D4    [$E29B]      A:0000 X:0061 Y:00DD P:envMxdizc
$82/E2C7 C5 00       CMP $00       ; Compare Step Map value with Height Map value
$82/E2C9 B0 02       BCS $02    [$E2CD]      A:001C X:0062 Y:00DD P:envMxdiZC
Code is missing here
$82/E2CD A5 03       LDA $03    [$00:0003]   A:001C X:0062 Y:00DD P:envMxdiZC
$82/E2CF 18          CLC                     A:0002 X:0062 Y:00DD P:envMxdizC
$82/E2D0 65 09       ADC $09    [$00:0009]   A:0002 X:0062 Y:00DD P:envMxdizc
$82/E2D2 85 11       STA $11    [$00:0011]   A:0021 X:0062 Y:00DD P:envMxdizc
$82/E2D4 A5 09       LDA $09    [$00:0009]   A:0021 X:0062 Y:00DD P:envMxdizc
$82/E2D6 38          SEC                     A:001F X:0062 Y:00DD P:envMxdizc
$82/E2D7 E5 00       SBC $00       ; Subtract Height Map value
$82/E2D9 18          CLC                     A:0003 X:0062 Y:00DD P:envMxdizC
$82/E2DA 65 03       ADC $03    [$00:0003]   A:0003 X:0062 Y:00DD P:envMxdizc
$82/E2DC C9 02       CMP #$02                A:0005 X:0062 Y:00DD P:envMxdizc
$82/E2DE 10 02       BPL $02    [$E2E2]      A:0005 X:0062 Y:00DD P:envMxdizC
$82/E2E2 85 03       STA $03    [$00:0003]   A:0005 X:0062 Y:00DD P:envMxdizC
$82/E2E4 A5 09       LDA $09    [$00:0009]   A:0005 X:0062 Y:00DD P:envMxdizC
$82/E2E6 C5 03       CMP $03    [$00:0003]   A:001F X:0062 Y:00DD P:envMxdizC
$82/E2E8 B0 35       BCS $35    [$E31F]      A:001F X:0062 Y:00DD P:envMxdizC
$82/E2EA A6 0E       LDX $0E    [$00:000E]   A:001F X:0021 Y:009E P:envMxdizc
$82/E2EC A5 10       LDA $10    [$00:0010]   A:001F X:0021 Y:009E P:envMxdizc
$82/E2EE D0 06       BNE $06    [$E2F6]      A:0000 X:0021 Y:009E P:envMxdiZc
$82/E2F0 BF 20 D0 7F LDA $7FD020,x[$7F:D041] A:0000 X:0021 Y:009E P:envMxdiZc
$82/E2F4 80 04       BRA $04    [$E2FA]      A:0011 X:0021 Y:009E P:envMxdizc
$82/E2F6 BF 01 D0 7F LDA $7FD001,x[$7F:D042] A:0001 X:0041 Y:00DE P:envMxdizc
$82/E2FA 4A          LSR A                   A:0011 X:0021 Y:009E P:envMxdizc
$82/E2FB 4A          LSR A                   A:0008 X:0021 Y:009E P:envMxdizC
$82/E2FC 4A          LSR A                   A:0004 X:0021 Y:009E P:envMxdizc
$82/E2FD 4A          LSR A                   A:0002 X:0021 Y:009E P:envMxdizc
$82/E2FE 4A          LSR A                   A:0001 X:0021 Y:009E P:envMxdizc
$82/E2FF 85 05       STA $05    [$00:0005]   A:0000 X:0021 Y:009E P:envMxdiZC
$82/E301 18          CLC                     A:0000 X:0021 Y:009E P:envMxdiZC
$82/E302 65 09       ADC $09    [$00:0009]   A:0000 X:0021 Y:009E P:envMxdiZc
$82/E304 38          SEC                     A:001F X:0021 Y:009E P:envMxdizc
$82/E305 E5 0D       SBC $0D    [$00:000D]   A:001F X:0021 Y:009E P:envMxdizC
$82/E307 F0 08       BEQ $08    [$E311]      A:0000 X:0021 Y:009E P:envMxdiZC
$82/E309 10 06       BPL $06    [$E311]      A:0103 X:0042 Y:011E P:envMxdizC
$82/E311 85 03       STA $03    [$00:0003]   A:0000 X:0021 Y:009E P:envMxdiZC
$82/E313 A5 05       LDA $05    [$00:0005]   A:0000 X:0021 Y:009E P:envMxdiZC
$82/E315 F0 02       BEQ $02    [$E319]      A:0000 X:0021 Y:009E P:envMxdiZC
$82/E319 A5 0D       LDA $0D    [$00:000D]   A:0000 X:0021 Y:009E P:envMxdiZC
$82/E31B D0 02       BNE $02    [$E31F]      A:001F X:0021 Y:009E P:envMxdizC
$82/E31D E6 03       INC $03    [$00:0003]   A:0300 X:03DE Y:165E P:envMxdiZC
$82/E31F 64 02       STZ $02    [$00:0002]   A:001F X:0021 Y:009E P:envMxdizC
$82/E321 A5 07       LDA $07    [$00:0007]   A:001F X:0021 Y:009E P:envMxdizC
$82/E323 20 75 E3    JSR $E375  [$82:E375]   A:0001 X:0021 Y:009E P:envMxdizC
$82/E326 A5 03       LDA $03    [$00:0003]   A:0000 X:013C Y:0024 P:envMxdiZc
$82/E328 F0 1C       BEQ $1C    [$E346]      A:0000 X:013C Y:0024 P:envMxdiZc
$82/E340 E6 02       INC $02    [$00:0002]   A:0100 X:033C Y:01F8 P:envMxdiZc
$82/E342 C6 03       DEC $03    [$00:0003]   A:0100 X:033C Y:01F8 P:envMxdizc
$82/E344 D0 EF       BNE $EF    [$E335]      A:0100 X:033C Y:01F8 P:envMxdizc
$82/E346 4C 63 E1    JMP $E163  [$82:E163]   A:0000 X:013C Y:0024 P:envMxdiZc

$82/E350 ?

Mathematically spoken, the use of this subroutine is

Y = Width of the Map on the NE-SW-Axis + Original X - Original Y + (#$40 * (Original X + Original Y + 1 + $16CC - Step Value per Rhomb))

$09 entry of the $7F/C800 table - Step Value per Rhomb

$0A contains the Original X value

$0B contains the Original Y value

$82/E350 A9 40       LDA #$40      ; Multiply by #$40
$82/E352 8D 02 42    STA $4202
$82/E355 A5 0A       LDA $0A    [$00:000A]   A:0040 X:0021 Y:0001 P:envMxdizc
$82/E357 38          SEC                     A:0001 X:0021 Y:0001 P:envMxdizc
$82/E358 65 0B       ADC $0B    [$00:000B]   A:0001 X:0021 Y:0001 P:envMxdizC
$82/E35A 6D CC 16    ADC $16CC  [$82:16CC]   A:0003 X:0021 Y:0001 P:envMxdizc
$82/E35D 38          SEC                     A:0021 X:0021 Y:0001 P:envMxdizc
$82/E35E E5 09       SBC $09    [$00:0009]   A:0021 X:0021 Y:0001 P:envMxdizC
$82/E360 8D 03 42    STA $4203  [$82:4203]   A:0002 X:0021 Y:0001 P:envMxdizC
$82/E363 18          CLC           ; Clear Carry
$82/E364 7B          TDC           ; Clear 16-bit A
$82/E365 AD CA 16    LDA $16CA  [$82:16CA]   A:0000 X:0021 Y:0001 P:envMxdiZc
$82/E368 65 0A       ADC $0A    [$00:000A]   A:001F X:0021 Y:0001 P:envMxdizc
$82/E36A E5 0B       SBC $0B    [$00:000B]   A:0020 X:0021 Y:0001 P:envMxdizc
$82/E36C C2 21       REP #$21      ; 16-bit A, Clear Carry
$82/E36E 6D 16 42    ADC $4216  [$82:4216]   A:001E X:0021 Y:0001 P:envmxdizc
$82/E371 A8          TAY                     A:009E X:0021 Y:0001 P:envmxdizc
$82/E372 E2 20       SEP #$20      ; 8-bit A
$82/E374 60          RTS

$82/E375 ?

$82/E375 18          CLC                     A:0001 X:0021 Y:009E P:envMxdizC
$82/E376 65 10       ADC $10    [$00:0010]   A:0001 X:0021 Y:009E P:envMxdizc
$82/E378 EB          XBA                     A:0001 X:0021 Y:009E P:envMxdizc
$82/E379 A5 06       LDA $06    [$00:0006]   A:0100 X:0021 Y:009E P:envMxdiZc
$82/E37B F0 10       BEQ $10    [$E38D]      A:0100 X:0021 Y:009E P:envMxdiZc
$82/E37D C6 06       DEC $06    [$00:0006]   A:0202 X:00E6 Y:069E P:envMxdizc
$82/E37F A9 00       LDA #$00                A:0202 X:00E6 Y:069E P:envMxdizc
$82/E381 EB          XBA                     A:0200 X:00E6 Y:069E P:envMxdiZc
$82/E382 20 B4 E3    JSR $E3B4  [$82:E3B4]   A:0002 X:00E6 Y:069E P:envMxdizc
$82/E385 A5 22       LDA $22    [$00:0022]   A:06DE X:0D3C Y:0026 P:envMxdizc
$82/E387 F0 2A       BEQ $2A    [$E3B3]      A:0600 X:0D3C Y:0026 P:envMxdiZc
$82/E38D A5 22       LDA $22    [$00:0022]   A:0100 X:0021 Y:009E P:envMxdiZc
$82/E38F F0 10       BEQ $10    [$E3A1]      A:0100 X:0021 Y:009E P:envMxdiZc
$82/E3A1 A9 00       LDA #$00                A:0100 X:0021 Y:009E P:envMxdiZc
$82/E3A3 EB          XBA                     A:0100 X:0021 Y:009E P:envMxdiZc
$82/E3A4 20 13 E4    JSR $E413  [$82:E413]   A:0001 X:0021 Y:009E P:envMxdizc
$82/E3A7 A5 06       LDA $06    [$00:0006]   A:00DE X:013C Y:0024 P:envMxdizc
$82/E3A9 F0 02       BEQ $02    [$E3AD]      A:0000 X:013C Y:0024 P:envMxdiZc
$82/E3AD A5 22       LDA $22    [$00:0022]   A:0000 X:013C Y:0024 P:envMxdiZc
$82/E3AF F0 02       BEQ $02    [$E3B3]      A:0000 X:013C Y:0024 P:envMxdiZc
$82/E3B3 60          RTS                     A:0000 X:013C Y:0024 P:envMxdiZc

$82/E3B4 ? Tilemap building

$82/E3B4 A6 20       LDX $20         ; Load Map Index
$82/E3B6 48          PHA             ; ??? Push Original A on Stack
$82/E3B7 BF 00 80 7F LDA $7F8000,x[$7F:869E] A:0002 X:069E Y:069E P:envMxdizc
$82/E3BB 29 F0       AND #$F0                A:00B0 X:069E Y:069E P:eNvMxdizc
$82/E3BD 03 01       ORA $01,s       ; Add Original A value to it
$82/E3BF 9F 00 80 7F STA $7F8000,x[$7F:869E] A:00B2 X:069E Y:069E P:eNvMxdizc
$82/E3C3 A5 0A       LDA $0A    [$00:000A]   A:00B2 X:069E Y:069E P:eNvMxdizc
$82/E3C5 9F 00 98 7F STA $7F9800,x[$7F:9E9E] A:0006 X:069E Y:069E P:envMxdizc
$82/E3C9 A5 0B       LDA $0B    [$00:000B]   A:0006 X:069E Y:069E P:envMxdizc
$82/E3CB 9F 00 B0 7F STA $7FB000,x[$7F:B69E] A:0007 X:069E Y:069E P:envMxdizc
$82/E3CF 68          PLA             ; Restore Original A
$82/E3D0 20 53 E4    JSR $E453  [$82:E453]   A:0002 X:069E Y:069E P:envMxdizc
$82/E3D3 48          PHA             ; Push Double Byte for Tilemap on Stack
$82/E3D4 A5 20       LDA $20         ; Load Map Index
$82/E3D6 0A          ASL A           ; Multiply by 2 - has to be double sized for the upcoming Map
$82/E3D7 AA          TAX             ; Transfer in X as Store Index
$82/E3D8 68          PLA             ; Pull Double Byte for Tilemap back from Stack
$82/E3D9 09 00 20    ORA #$2000      ; Add Tile Priority Bit
$82/E3DC 9F 00 20 7F STA $7F2000,x   ; Store Byte in BG1 Overall Map
$82/E3E0 8A          TXA             ; Transfer Store Index in A
$82/E3E1 18          CLC             ; Clear Carry so the program doesn't roll in a set bit
$82/E3E2 4A          LSR A           ; Div by 2 to store it back in $20 later
$82/E3E3 69 40 00    ADC #$0040      ; Add #$40 - this jumps one line down in the Overall Map
$82/E3E6 85 20       STA $20         ; Store back Map Index
$82/E3E8 E2 20       SEP #$20        ; A = 16 Bit
$82/E3EA 60          RTS

$82/E413 ?

$82/E413 A6 20       LDX $20         ; Load Map Index
$82/E415 48          PHA             ; ??? Push Original A on Stack
$82/E416 BF 00 80 7F LDA $7F8000,x[$7F:809E] A:0001 X:009E Y:009E P:envMxdizc
$82/E41A 29 F0       AND #$F0                A:0000 X:009E Y:009E P:envMxdiZc
$82/E41C F0 02       BEQ $02    [$E420]      A:0000 X:009E Y:009E P:envMxdiZc
Code is missing here
$82/E420 68          PLA             ; ??? Restore Original A
$82/E421 48          PHA             ; ??? Make a Savety Copy of Original A on Stack
$82/E422 0A          ASL A                   A:0001 X:009E Y:009E P:envMxdizc
$82/E423 0A          ASL A                   A:0002 X:009E Y:009E P:envMxdizc
$82/E424 0A          ASL A                   A:0004 X:009E Y:009E P:envMxdizc
$82/E425 0A          ASL A                   A:0008 X:009E Y:009E P:envMxdizc
$82/E426 1F 00 80 7F ORA $7F8000,x[$7F:809E] A:0010 X:009E Y:009E P:envMxdizc
$82/E42A 9F 00 80 7F STA $7F8000,x[$7F:809E] A:0010 X:009E Y:009E P:envMxdizc
$82/E42E 68          PLA             ; ??? Restore Original A from Stack
$82/E42F 20 53 E4    JSR $E453  [$82:E453]   A:0001 X:009E Y:009E P:envMxdizc
$82/E432 48          PHA             ; Push Map Bytes on Stack
$82/E433 A5 20       LDA $20    [$00:0020]   A:1020 X:00A4 Y:0024 P:eNvmxdizc
$82/E435 0A          ASL A           ; Multiply by 2 - has to be double sized for the upcoming Map
$82/E436 AA          TAX
$82/E437 68          PLA             ; Pull Map Bytes from Stack
$82/E438 9F 00 50 7F STA $7F5000,x   ; Store Byte in BG2 Overall Map
$82/E43C 8A          TXA             ; Transfer Map Index to A
$82/E43D 4A          LSR A           ; Div by 2 to store it back in $20 later
$82/E43E 69 40 00    ADC #$0040      ; Add #$40 - this jumps one line down in the Overall Map
$82/E441 85 20       STA $20         ; Store back Map Index
$82/E443 E2 20       SEP #$20        ; A = 16 Bit
$82/E445 60          RTS

$82/E453 ? Jump Table

$82/E453 8B          PHB             ; Buffer Data Bank on Stack
$82/E454 F4 00 7F    PEA $7F00       ; Set Data Bank to $7F
$82/E457 AB          PLB
$82/E458 AB          PLB
$82/E459 0A          ASL A         ; Use A as Index for the Jump Table beneath
$82/E45A AA          TAX
$82/E45B 7C 5E E4    JMP ($E45E,x)

$82/E45E ? Jump Table for $82/E453

78 E4   Entry #$00 - 
7F E4   Entry #$01 - 
8C E4   Entry #$02 - 
99 E4   Entry #$03 - 
A6 E4   Entry #$04 - 
CD E4   Entry #$05 - 
DF E4   Entry #$06 - 
B3 E4   Entry #$07 - 
C0 E4   Entry #$08 - 
F1 E4   Entry #$09 - 
08 E5   Entry #$0A - 
1F E5   Entry #$0B - 
46 E5   Entry #$0C - 

$82/E47F ? Jump Table Entry #$01

$82/E47F A5 08       LDA $08    [$00:0008]   A:0002 X:0002 Y:009E P:envMxdizc
$82/E481 0A          ASL A                   A:0003 X:0002 Y:009E P:envMxdizc
$82/E482 A8          TAY                     A:0006 X:0002 Y:009E P:envMxdizc
$82/E483 BE 04 00    LDX $0004,y[$7F:000A]   A:0006 X:0002 Y:0006 P:envMxdizc
$82/E486 BD 00 00    LDA $0000,x[$7F:00A4]   A:0006 X:00A4 Y:0006 P:envMxdizc
$82/E489 4C 6D E5    JMP $E56D      ; Jump Table Entry End 1: Use A * 2 as Load Index for Tilemap Value

$82/E48C ? Jump Table Entry #$02

$82/E48C A5 08       LDA $08    [$00:0008]   A:0004 X:0004 Y:069E P:envMxdizc
$82/E48E 0A          ASL A                   A:0003 X:0004 Y:069E P:envMxdizc
$82/E48F A8          TAY                     A:0006 X:0004 Y:069E P:envMxdizc
$82/E490 BE 04 00    LDX $0004,y[$7F:000A]   A:0006 X:0004 Y:0006 P:envMxdizc
$82/E493 BD 00 00    LDA $0000,x[$7F:00A4]   A:0006 X:00A4 Y:0006 P:envMxdizc
$82/E496 4C 75 E5    JMP $E575      ; Jump Table Entry End 2: Use A * 6 as Load Index for Tilemap Value

$82/E499 ? Jump Table Entry #$03

$82/E499 A5 08       LDA $08    [$00:0008]   A:0006 X:0006 Y:0094 P:envMxdizc
$82/E49B 0A          ASL A                   A:0003 X:0006 Y:0094 P:envMxdizc
$82/E49C A8          TAY                     A:0006 X:0006 Y:0094 P:envMxdizc
$82/E49D BE 04 00    LDX $0004,y[$7F:000A]   A:0006 X:0006 Y:0006 P:envMxdizc
$82/E4A0 BD 01 00    LDA $0001,x[$7F:00A5]   A:0006 X:00A4 Y:0006 P:envMxdizc
$82/E4A3 4C 6D E5    JMP $E56D      ; Jump Table Entry End 1: Use A * 2 as Load Index for Tilemap Value

$82/E4A6 ? Jump Table Entry #$04

$82/E4A6 A5 08       LDA $08    [$00:0008]   A:0008 X:0008 Y:0116 P:envMxdizc
$82/E4A8 0A          ASL A                   A:0003 X:0008 Y:0116 P:envMxdizc
$82/E4A9 A8          TAY                     A:0006 X:0008 Y:0116 P:envMxdizc
$82/E4AA BE 04 00    LDX $0004,y[$7F:000A]   A:0006 X:0008 Y:0006 P:envMxdizc
$82/E4AD BD 01 00    LDA $0001,x[$7F:00A5]   A:0006 X:00A4 Y:0006 P:envMxdizc
$82/E4B0 4C 75 E5    JMP $E575      ; Jump Table Entry End 2: Use A * 6 as Load Index for Tilemap Value

$82/E4B3 ? Jump Table Entry #$07

$82/E4B3 A5 08       LDA $08    [$00:0008]   A:000E X:000E Y:0170 P:envMxdizc
$82/E4B5 0A          ASL A                   A:0006 X:000E Y:0170 P:envMxdizc
$82/E4B6 A8          TAY                     A:000C X:000E Y:0170 P:envMxdizc
$82/E4B7 BE 04 00    LDX $0004,y[$7F:0010]   A:000C X:000E Y:000C P:envMxdizc
$82/E4BA BD 02 00    LDA $0002,x[$7F:0106]   A:000C X:0104 Y:000C P:envMxdizc
$82/E4BD 4C 6D E5    JMP $E56D      ; Jump Table Entry End 1: Use A * 2 as Load Index for Tilemap Value

$82/E4C0 ? Jump Table Entry #$08

$82/E4C0 A5 08       LDA $08    [$00:0008]   A:0010 X:0010 Y:0172 P:envMxdizc
$82/E4C2 0A          ASL A                   A:0006 X:0010 Y:0172 P:envMxdizc
$82/E4C3 A8          TAY                     A:000C X:0010 Y:0172 P:envMxdizc
$82/E4C4 BE 04 00    LDX $0004,y[$7F:0010]   A:000C X:0010 Y:000C P:envMxdizc
$82/E4C7 BD 02 00    LDA $0002,x[$7F:0106]   A:000C X:0104 Y:000C P:envMxdizc
$82/E4CA 4C 75 E5    JMP $E575      ; Jump Table Entry End 2: Use A * 6 as Load Index for Tilemap Value

$82/E4CD ? Jump Table Entry #$05

$82/E4CD A5 08       LDA $08    [$00:0008]   A:000A X:000A Y:0034 P:envMxdizc
$82/E4CF 0A          ASL A                   A:0003 X:000A Y:0034 P:envMxdizc
$82/E4D0 AA          TAX                     A:0006 X:000A Y:0034 P:envMxdizc
$82/E4D1 A5 02       LDA $02    [$00:0002]   A:0006 X:0006 Y:0034 P:envMxdizc
$82/E4D3 C2 21       REP #$21                A:0001 X:0006 Y:0034 P:envMxdizc
$82/E4D5 7D 04 00    ADC $0004,x[$7F:000A]   A:0001 X:0006 Y:0034 P:envmxdizc
$82/E4D8 AA          TAX                     A:00A5 X:0006 Y:0034 P:envmxdizc
$82/E4D9 BD 02 00    LDA $0002,x[$7F:00A7]   A:00A5 X:00A5 Y:0034 P:envmxdizc
$82/E4DC 4C 6D E5    JMP $E56D      ; Jump Table Entry End 1: Use A * 2 as Load Index for Tilemap Value

$82/E4DF ? Jump Table Entry #$06

$82/E4DF A5 08       LDA $08    [$00:0008]   A:000C X:000C Y:0036 P:envMxdizc
$82/E4E1 0A          ASL A                   A:0003 X:000C Y:0036 P:envMxdizc
$82/E4E2 AA          TAX                     A:0006 X:000C Y:0036 P:envMxdizc
$82/E4E3 A5 02       LDA $02    [$00:0002]   A:0006 X:0006 Y:0036 P:envMxdizc
$82/E4E5 C2 21       REP #$21                A:0001 X:0006 Y:0036 P:envMxdizc
$82/E4E7 7D 04 00    ADC $0004,x[$7F:000A]   A:0001 X:0006 Y:0036 P:envmxdizc
$82/E4EA AA          TAX                     A:00A5 X:0006 Y:0036 P:envmxdizc
$82/E4EB BD 02 00    LDA $0002,x[$7F:00A7]   A:00A5 X:00A5 Y:0036 P:envmxdizc
$82/E4EE 4C 75 E5    JMP $E575      ; Jump Table Entry End 2: Use A * 6 as Load Index for Tilemap Value

$82/E4F1 ? Jump Table Entry #$09

$82/E4F1 A6 0E       LDX $0E    [$00:000E]   A:0012 X:0012 Y:011E P:envMxdizc
$82/E4F3 BF FF CF 7F LDA $7FCFFF,x[$7F:D041] A:0012 X:0042 Y:011E P:envMxdizc
$82/E4F7 29 1F       AND #$1F                A:0011 X:0042 Y:011E P:envMxdizc
$82/E4F9 C2 20       REP #$20                A:0011 X:0042 Y:011E P:envMxdizc
$82/E4FB EB          XBA                     A:0011 X:0042 Y:011E P:envmxdizc
$82/E4FC 4A          LSR A                   A:1100 X:0042 Y:011E P:envmxdiZc
$82/E4FD 4A          LSR A                   A:0880 X:0042 Y:011E P:envmxdizc
$82/E4FE 4A          LSR A                   A:0440 X:0042 Y:011E P:envmxdizc
$82/E4FF E2 20       SEP #$20                A:0220 X:0042 Y:011E P:envmxdizc
$82/E501 05 08       ORA $08    [$00:0008]   A:0220 X:0042 Y:011E P:envMxdizc
$82/E503 A8          TAY                     A:0223 X:0042 Y:011E P:envMxdizc
$82/E504 B1 A6       LDA ($A6),y[$7F:0667]   A:0223 X:0042 Y:0223 P:envMxdizc
$82/E506 80 65       BRA $65       ; [$E56D] Jump Table Entry End 1: Use A * 2 as Load Index for Tilemap Value

$82/E508 ? Jump Table Entry #$0A

$82/E508 A6 0E       LDX $0E    [$00:000E]   A:0014 X:0014 Y:00DE P:envMxdizc
$82/E50A BF E0 CF 7F LDA $7FCFE0,x[$7F:D021] A:0014 X:0041 Y:00DE P:envMxdizc
$82/E50E 29 1F       AND #$1F                A:0003 X:0041 Y:00DE P:envMxdizc
$82/E510 C2 20       REP #$20                A:0003 X:0041 Y:00DE P:envMxdizc
$82/E512 EB          XBA                     A:0003 X:0041 Y:00DE P:envmxdizc
$82/E513 4A          LSR A                   A:0300 X:0041 Y:00DE P:envmxdiZc
$82/E514 4A          LSR A                   A:0180 X:0041 Y:00DE P:envmxdizc
$82/E515 4A          LSR A                   A:00C0 X:0041 Y:00DE P:envmxdizc
$82/E516 E2 20       SEP #$20                A:0060 X:0041 Y:00DE P:envmxdizc
$82/E518 05 08       ORA $08    [$00:0008]   A:0060 X:0041 Y:00DE P:envMxdizc
$82/E51A A8          TAY                     A:0071 X:0041 Y:00DE P:envMxdizc
$82/E51B B1 A6       LDA ($A6),y[$7F:04B5]   A:0071 X:0041 Y:0071 P:envMxdizc
$82/E51D 80 56       BRA $56       ; [$E575] Jump Table Entry End 2: Use A * 6 as Load Index for Tilemap Value

$82/E51F ? Jump Table Entry #$0B

$82/E51F A6 0E       LDX $0E    [$00:000E]   A:0016 X:0016 Y:029E P:envMxdizc
$82/E521 18          CLC                     A:0016 X:0063 Y:029E P:envMxdizc
$82/E522 BF FF C7 7F LDA $7FC7FF,x   ; Load value from Step Map
$82/E526 FF 00 C8 7F SBC $7FC800,x   ; Subtract value from the rhomb next to it
$82/E52A 0A          ASL A                   A:0000 X:0063 Y:029E P:envMxdiZC
$82/E52B A8          TAY                     A:0000 X:0063 Y:029E P:envMxdiZc
$82/E52C BF FF D3 7F LDA $7FD3FF,x   ; Load value from "Object" Map
$82/E530 29 1F       AND #$1F                A:0003 X:0063 Y:0000 P:envMxdizc
$82/E532 0A          ASL A                   A:0003 X:0063 Y:0000 P:envMxdizc
$82/E533 C2 21       REP #$21        ; A = 16-bit, Clear Carry
$82/E535 71 A8       ADC ($A8),y[$7F:0844]   A:0006 X:0063 Y:0000 P:envmxdizc
$82/E537 A8          TAY                     A:0886 X:0063 Y:0000 P:envmxdizc
$82/E538 A5 08       LDA $08    [$00:0008]   A:0886 X:0063 Y:0886 P:envmxdizc
$82/E53A 29 FF 00    AND #$00FF              A:1B05 X:0063 Y:0886 P:envmxdizc
$82/E53D 79 00 00    ADC $0000,y[$7F:0886]   A:0005 X:0063 Y:0886 P:envmxdizc
$82/E540 A8          TAY                     A:09C5 X:0063 Y:0886 P:envmxdizc
$82/E541 B9 00 00    LDA $0000,y[$7F:09C5]   A:09C5 X:0063 Y:09C5 P:envmxdizc
$82/E544 80 27       BRA $27        ; [$E56D] Jump Table Entry End 1: Use A * 2 as Load Index for Tilemap Value

$82/E56D Jump Table Entry End 1: Use A * 2 as Load Index for Tilemap Value

$82/E56D C2 20       REP #$20       ; A = 16 bit
$82/E56F 29 FF 00    AND #$00FF     ; Remove Upper Byte of A
$82/E572 0A          ASL A          ; Multiply A by 2
$82/E573 80 07       BRA $07        ; [$E57C] Do the rest like below

$82/E575 Jump Table Entry End 2: Use A * 6 as Load Index for Tilemap Value

This is one of two ways how the Jump Table Entries from above can end

$82/E575 C2 20       REP #$20       ; A = 16 bit
$82/E577 29 FF 00    AND #$00FF     ; Remove Upper Byte of A
$82/E57A 0A          ASL A          ; Multiply A by 6
$82/E57B 1A          INC A
$82/E57C 0A          ASL A
$82/E57D A8          TAY            ; Transfer A in Y as Load Index
$82/E57E B1 AA       LDA ($AA),y    ; Load Value for Tilemap
$82/E580 AB          PLB            ; Restore Original Data Bank
$82/E581 60          RTS

$82/EB6B Set BG1/2 Scroll Registers

$82/EB6B AE B1 05    LDX $05B1     ; Update BG1 H-Scroll Register Buffer
$82/EB6E 8E 91 05    STX $0591
$82/EB71 AE B3 05    LDX $05B3     ; Update BG1 V-Scroll Register Buffer
$82/EB74 8E 93 05    STX $0593
$82/EB77 AE B5 05    LDX $05B5     ; Update BG2 H-Scroll Register Buffer
$82/EB7A 8E 95 05    STX $0595
$82/EB7D AE B7 05    LDX $05B7     ; Update BG2 V-Scroll Register Buffer
$82/EB80 8E 97 05    STX $0597
$82/EB83 60          RTS

$82/EB84 ?

$82/EB84 A0 00 00    LDY #$0000              A:0780 X:0000 Y:5800 P:eNvMxdizc
$82/EB87 8C DC 16    STY $16DC  [$82:16DC]   A:0780 X:0000 Y:0000 P:envMxdiZc
$82/EB8A 8C E0 16    STY $16E0  [$82:16E0]   A:0780 X:0000 Y:0000 P:envMxdiZc
$82/EB8D 8C E4 16    STY $16E4  [$82:16E4]   A:0780 X:0000 Y:0000 P:envMxdiZc
$82/EB90 8C E8 16    STY $16E8  [$82:16E8]   A:0780 X:0000 Y:0000 P:envMxdiZc
$82/EB93 88          DEY                     A:0780 X:0000 Y:0000 P:envMxdiZc
$82/EB94 8C DA 16    STY $16DA  [$82:16DA]   A:0780 X:0000 Y:FFFF P:eNvMxdizc
$82/EB97 8C DE 16    STY $16DE  [$82:16DE]   A:0780 X:0000 Y:FFFF P:eNvMxdizc
$82/EB9A 8C E2 16    STY $16E2  [$82:16E2]   A:0780 X:0000 Y:FFFF P:eNvMxdizc
$82/EB9D 8C E6 16    STY $16E6  [$82:16E6]   A:0780 X:0000 Y:FFFF P:eNvMxdizc
$82/EBA0 6B          RTL                     A:0780 X:0000 Y:FFFF P:eNvMxdizc

$82/EBA5 ?

$82/EBA5 C2 20       REP #$20                A:0008 X:002E Y:0026 P:envMxdiZC
$82/EBA7 AD DC 16    LDA $16DC  [$82:16DC]   A:0008 X:002E Y:0026 P:envmxdiZC
$82/EBAA 38          SEC                     A:0000 X:002E Y:0026 P:envmxdiZC
$82/EBAB ED DA 16    SBC $16DA  [$82:16DA]   A:0000 X:002E Y:0026 P:envmxdiZC
$82/EBAE 90 31       BCC $31    [$EBE1]      A:0001 X:002E Y:0026 P:envmxdizc
code is missing here
$82/EBE1 AD E4 16    LDA $16E4  [$82:16E4]   A:0001 X:002E Y:0026 P:envmxdizc
$82/EBE4 38          SEC                     A:0022 X:002E Y:0026 P:envmxdizc
$82/EBE5 ED E2 16    SBC $16E2  [$82:16E2]   A:0022 X:002E Y:0026 P:envmxdizC
$82/EBE8 90 2F       BCC $2F    [$EC19]      A:0014 X:002E Y:0026 P:envmxdizC
$82/EBEA 85 00       STA $00    [$00:0000]   A:0014 X:002E Y:0026 P:envmxdizC
$82/EBEC AD E8 16    LDA $16E8  [$82:16E8]   A:0014 X:002E Y:0026 P:envmxdizC
$82/EBEF 38          SEC                     A:0900 X:002E Y:0026 P:envmxdizC
$82/EBF0 ED E6 16    SBC $16E6  [$82:16E6]   A:0900 X:002E Y:0026 P:envmxdizC
$82/EBF3 0A          ASL A                   A:0580 X:002E Y:0026 P:envmxdizC
$82/EBF4 EB          XBA                     A:0B00 X:002E Y:0026 P:envmxdizc
$82/EBF5 85 02       STA $02    [$00:0002]   A:000B X:002E Y:0026 P:envmxdizc
$82/EBF7 AD E2 16    LDA $16E2  [$82:16E2]   A:000B X:002E Y:0026 P:envmxdizc
$82/EBFA 29 7F 00    AND #$007F              A:000E X:002E Y:0026 P:envmxdizc
$82/EBFD 0A          ASL A                   A:000E X:002E Y:0026 P:envmxdizc
$82/EBFE 0A          ASL A                   A:001C X:002E Y:0026 P:envmxdizc
$82/EBFF 0A          ASL A                   A:0038 X:002E Y:0026 P:envmxdizc
$82/EC00 85 04       STA $04    [$00:0004]   A:0070 X:002E Y:0026 P:envmxdizc
$82/EC02 AD E6 16    LDA $16E6  [$82:16E6]   A:0070 X:002E Y:0026 P:envmxdizc
$82/EC05 29 80 3F    AND #$3F80              A:0380 X:002E Y:0026 P:envmxdizc
$82/EC08 4A          LSR A                   A:0380 X:002E Y:0026 P:envmxdizc
$82/EC09 4A          LSR A                   A:01C0 X:002E Y:0026 P:envmxdizc
$82/EC0A 4A          LSR A                   A:00E0 X:002E Y:0026 P:envmxdizc
$82/EC0B 4A          LSR A                   A:0070 X:002E Y:0026 P:envmxdizc
$82/EC0C 85 06       STA $06    [$00:0006]   A:0038 X:002E Y:0026 P:envmxdizc
$82/EC0E E2 20       SEP #$20                A:0038 X:002E Y:0026 P:envmxdizc
$82/EC10 A9 02       LDA #$02                A:0038 X:002E Y:0026 P:envMxdizc
$82/EC12 20 04 F1    JSR $F104  [$82:F104]   A:0002 X:002E Y:0026 P:envMxdizc
$82/EC15 22 8A A1 80 JSL $80A18A[$80:A18A]   A:01B8 X:002A Y:7E20 P:envMxdiZc
$82/EC19 E2 20       SEP #$20                A:0058 X:0014 Y:0000 P:eNvMxdizC
$82/EC1B 60          RTS                     A:0058 X:0014 Y:0000 P:eNvMxdizC

$82/F0FC ?

$82/F0FC 8B          PHB           ; Buffer Program Bank
$82/F0FD 4B          PHK           ; Set Program Bank to $82
$82/F0FE AB          PLB
$82/F0FF 20 04 F1    JSR $F104  [$82:F104]   A:0003 X:00DF Y:0060 P:eNvMxdizC
$82/F102 AB          PLB           ; Restore Program Bank
$82/F103 6B          RTL

$82/F104 ?

$82/F104 48          PHA                     A:0003 X:00DF Y:0060 P:eNvMxdizC
$82/F105 A5 00       LDA $00    [$00:0000]   A:0003 X:00DF Y:0060 P:eNvMxdizC
$82/F107 C5 02       CMP $02    [$00:0002]   A:0001 X:00DF Y:0060 P:envMxdizC
$82/F109 68          PLA                     A:0001 X:00DF Y:0060 P:eNvMxdizc
$82/F10A 90 05       BCC $05    [$F111]      A:0003 X:00DF Y:0060 P:envMxdizc
Code is missing here
$82/F10F 80 03       BRA $03       ; [$F114] Exit
$82/F111 20 AD F2    JSR $F2AD  [$82:F2AD]   A:0003 X:00DF Y:0060 P:envMxdizc
$82/F114 60          RTS                     A:0038 X:0006 Y:781B P:envMxdiZc

$82/F115 ? Build and transfer BG1 Tilemap

$04 = Used to find the address from where to load data of the whole BG1 map

$06 = Used to find the address from where to load data of the whole BG1 map

$08 = number of Tiles to build in BG1 tilemap, first part

$09 = number of Tiles to build in BG1 tilemap, second part

$16D6 = Store Index for BG1 Tilemap buffer

$82/F115 64 01       STZ $01    [$00:0001]   A:1003 X:01A0 Y:0110 P:envMxdizC
$82/F117 64 03       STZ $03    [$00:0003]   A:1003 X:01A0 Y:0110 P:envMxdizC
$82/F119 85 0F       STA $0F    [$00:000F]   A:1003 X:01A0 Y:0110 P:envMxdizC
$82/F11B A9 80       LDA #$80                A:1003 X:01A0 Y:0110 P:envMxdizC
$82/F11D 85 0E       STA $0E    [$00:000E]   A:1080 X:01A0 Y:0110 P:eNvMxdizC
$82/F11F C2 20       REP #$20       ; A = 16-bit
$82/F121 A5 06       LDA $06    [$00:0006]   A:1080 X:01A0 Y:0110 P:eNvmxdizC
$82/F123 29 F8 FF    AND #$FFF8              A:0110 X:01A0 Y:0110 P:envmxdizC
$82/F126 0A          ASL A                   A:0110 X:01A0 Y:0110 P:envmxdizC
$82/F127 0A          ASL A                   A:0220 X:01A0 Y:0110 P:envmxdizc
$82/F128 0A          ASL A                   A:0440 X:01A0 Y:0110 P:envmxdizc
$82/F129 0A          ASL A                   A:0880 X:01A0 Y:0110 P:envmxdizc
$82/F12A 85 06       STA $06    [$00:0006]   A:1100 X:01A0 Y:0110 P:envmxdizc
$82/F12C A5 04       LDA $04    [$00:0004]   A:1100 X:01A0 Y:0110 P:envmxdizc
$82/F12E 4A          LSR A                   A:01A0 X:01A0 Y:0110 P:envmxdizc
$82/F12F 4A          LSR A                   A:00D0 X:01A0 Y:0110 P:envmxdizc
$82/F130 4A          LSR A                   A:0068 X:01A0 Y:0110 P:envmxdizc
$82/F131 85 04       STA $04    [$00:0004]   A:0034 X:01A0 Y:0110 P:envmxdizc
$82/F133 E2 20       SEP #$20                A:0034 X:01A0 Y:0110 P:envmxdizc
$82/F135 29 1F       AND #$1F                A:0034 X:01A0 Y:0110 P:envMxdizc
$82/F137 18          CLC                     A:0014 X:01A0 Y:0110 P:envMxdizc
$82/F138 65 00       ADC $00    [$00:0000]   A:0014 X:01A0 Y:0110 P:envMxdizc
$82/F13A C9 21       CMP #$21                A:0034 X:01A0 Y:0110 P:envMxdizc
$82/F13C 90 0C       BCC $0C    [$F14A]      A:0034 X:01A0 Y:0110 P:envMxdizC
$82/F13E E9 20       SBC #$20                A:0034 X:01A0 Y:0110 P:envMxdizC
$82/F140 85 09       STA $09    [$00:0009]   A:0014 X:01A0 Y:0110 P:envMxdizC
$82/F142 A5 00       LDA $00    [$00:0000]   A:0014 X:01A0 Y:0110 P:envMxdizC
$82/F144 E5 09       SBC $09    [$00:0009]   A:0020 X:01A0 Y:0110 P:envMxdizC
$82/F146 85 08       STA $08    [$00:0008]   A:000C X:01A0 Y:0110 P:envMxdizC
$82/F148 80 06       BRA $06    [$F150]      A:000C X:01A0 Y:0110 P:envMxdizC
code is missing here
$82/F150 A5 0F       LDA $0F    [$00:000F]   A:000C X:01A0 Y:0110 P:envMxdizC
$82/F152 89 01       BIT #$01                A:0003 X:01A0 Y:0110 P:envMxdizC
$82/F154 D0 03       BNE $03    [$F159]      A:0003 X:01A0 Y:0110 P:envMxdizC
code is missing here
$82/F159 A9 7F       LDA #$7F      ; Set up $7F/2000 in $20-2
$82/F15B 85 22       STA $22       ; (Address of the whole BG1 map for the TM buffer building subroutines)
$82/F15D A2 00 20    LDX #$2000
$82/F160 86 20       STX $20
$82/F162 C2 20       REP #$20      ; A = 16-bit
$82/F164 D4 02       PEI ($02)     ; Buffer $02/3 and $06/7 on Stack
$82/F166 D4 06       PEI ($06)
$82/F168 AE D6 16    LDX $16D6  [$82:16D6]   A:007F X:2000 Y:0110 P:envmxdizC
$82/F16B A5 06       LDA $06    [$00:0006]   A:007F X:0000 Y:0110 P:envmxdiZC
$82/F16D C9 00 30    CMP #$3000              A:1100 X:0000 Y:0110 P:envmxdizC
$82/F170 90 07       BCC $07    [$F179]      A:1100 X:0000 Y:0110 P:eNvmxdizc
code is missing here
$82/F179 A5 04       LDA $04    [$00:0004]   A:1100 X:0000 Y:0110 P:eNvmxdizc
$82/F17B C9 80 00    CMP #$0080              A:0034 X:0000 Y:0110 P:envmxdizc
$82/F17E B0 0A       BCS $0A    [$F18A]      A:0034 X:0000 Y:0110 P:eNvmxdizc
$82/F180 05 06       ORA $06    [$00:0006]   A:0034 X:0000 Y:0110 P:eNvmxdizc
$82/F182 A8          TAY           ; Use as Load Index for whole BG1 map
$82/F183 A5 08       LDA $08       ; Load number of Tiles to build in BG1 Tilemap buffer
$82/F185 20 CB F6    JSR $F6CB     ; Build BG1 Tilemap in Buffer
$82/F188 80 09       BRA $09    [$F193]      A:0281 X:0018 Y:1140 P:envmxdiZc
code is missing here
$82/F193 A5 09       LDA $09    [$00:0009]   A:0281 X:0018 Y:1140 P:envmxdiZc
$82/F195 29 FF 00    AND #$00FF              A:0014 X:0018 Y:1140 P:envmxdizc
$82/F198 F0 21       BEQ $21    [$F1BB]      A:0014 X:0018 Y:1140 P:envmxdizc
$82/F19A A5 04       LDA $04    [$00:0004]   A:0014 X:0018 Y:1140 P:envmxdizc
$82/F19C 18          CLC                     A:0034 X:0018 Y:1140 P:envmxdizc
$82/F19D 69 20 00    ADC #$0020              A:0034 X:0018 Y:1140 P:envmxdizc
$82/F1A0 29 E0 1F    AND #$1FE0              A:0054 X:0018 Y:1140 P:envmxdizc
$82/F1A3 C9 80 00    CMP #$0080              A:0040 X:0018 Y:1140 P:envmxdizc
$82/F1A6 B0 0A       BCS $0A    [$F1B2]      A:0040 X:0018 Y:1140 P:eNvmxdizc
$82/F1A8 05 06       ORA $06    [$00:0006]   A:0040 X:0018 Y:1140 P:eNvmxdizc
$82/F1AA A8          TAY           ; Use as Load Index for whole BG1 map
$82/F1AB A5 09       LDA $09       ; Load number of Tiles to build in BG1 Tilemap buffer
$82/F1AD 20 CB F6    JSR $F6CB     ; Build BG1 Tilemap in Buffer
$82/F1B0 80 09       BRA $09    [$F1BB]      A:0281 X:0040 Y:1154 P:envmxdiZc
code is missing here
$82/F1BB A2 00 00    LDX #$0000              A:0281 X:0040 Y:1154 P:envmxdiZc
$82/F1BE A5 04       LDA $04    [$00:0004]   A:0281 X:0000 Y:1154 P:envmxdiZc
$82/F1C0 89 20 00    BIT #$0020              A:0034 X:0000 Y:1154 P:envmxdizc
$82/F1C3 F0 03       BEQ $03    [$F1C8]      A:0034 X:0000 Y:1154 P:envmxdizc
$82/F1C5 A2 00 04    LDX #$0400              A:0034 X:0000 Y:1154 P:envmxdizc
$82/F1C8 86 0A       STX $0A    [$00:000A]   A:0034 X:0400 Y:1154 P:envmxdizc
$82/F1CA 29 1F 00    AND #$001F              A:0034 X:0400 Y:1154 P:envmxdizc
$82/F1CD 04 0A       TSB $0A    [$00:000A]   A:0014 X:0400 Y:1154 P:envmxdizc
$82/F1CF A5 06       LDA $06    [$00:0006]   A:0014 X:0400 Y:1154 P:envmxdiZc
$82/F1D1 4A          LSR A                   A:1100 X:0400 Y:1154 P:envmxdizc
$82/F1D2 4A          LSR A                   A:0880 X:0400 Y:1154 P:envmxdizc
$82/F1D3 29 E0 03    AND #$03E0              A:0440 X:0400 Y:1154 P:envmxdizc
$82/F1D6 04 0A       TSB $0A    [$00:000A]   A:0040 X:0400 Y:1154 P:envmxdizc
$82/F1D8 A5 08       LDA $08    [$00:0008]   A:0040 X:0400 Y:1154 P:envmxdiZc
$82/F1DA 20 C5 F7    JSR $F7C5     ; Transfer Buffered BG1 Tilemap into VRAM
$82/F1DD A5 0A       LDA $0A    [$00:000A]   A:0018 X:0018 Y:7454 P:envmxdizc
$82/F1DF 29 E0 07    AND #$07E0              A:0454 X:0018 Y:7454 P:envmxdizc
$82/F1E2 49 00 04    EOR #$0400              A:0440 X:0018 Y:7454 P:envmxdizc
$82/F1E5 85 0A       STA $0A    [$00:000A]   A:0040 X:0018 Y:7454 P:envmxdizc
$82/F1E7 A5 09       LDA $09    [$00:0009]   A:0040 X:0018 Y:7454 P:envmxdizc
$82/F1E9 20 C5 F7    JSR $F7C5     ; Transfer Buffered BG1 Tilemap into VRAM
$82/F1EC C6 02       DEC $02    [$00:0002]   A:0040 X:0028 Y:7040 P:envmxdizc
$82/F1EE F0 0B       BEQ $0B    [$F1FB]      A:0040 X:0028 Y:7040 P:envmxdizc
$82/F1F0 A5 06       LDA $06    [$00:0006]   A:0040 X:0028 Y:7040 P:envmxdizc
$82/F1F2 18          CLC                     A:1100 X:0028 Y:7040 P:envmxdizc
$82/F1F3 69 80 00    ADC #$0080              A:1100 X:0028 Y:7040 P:envmxdizc
$82/F1F6 85 06       STA $06    [$00:0006]   A:1180 X:0028 Y:7040 P:envmxdizc
$82/F1F8 4C 68 F1    JMP $F168  [$82:F168]   A:1180 X:0028 Y:7040 P:envmxdizc
$82/F1FB FA          PLX           ; Restore $06/7 and $02/3 from Stack
$82/F1FC 86 06       STX $06
$82/F1FE FA          PLX
$82/F1FF 86 02       STX $02
$82/F201 E2 20       SEP #$20                A:0700 X:001C Y:73A0 P:envmxdizc
$82/F203 A5 0F       LDA $0F    [$00:000F]   A:0700 X:001C Y:73A0 P:envMxdizc
$82/F205 89 02       BIT #$02                A:0703 X:001C Y:73A0 P:envMxdizc
$82/F207 D0 03       BNE $03    [$F20C]      A:0703 X:001C Y:73A0 P:envMxdizc
code is missing here
$82/F20C A9 7F       LDA #$7F       ; (Setting up 24-bit address $7F/5000 in $20-2)
$82/F20E 85 22       STA $22
$82/F210 A2 00 50    LDX #$5000
$82/F213 86 20       STX $20
$82/F215 C2 20       REP #$20                A:077F X:5000 Y:73A0 P:envMxdizc
$82/F217 AE D8 16    LDX $16D8  [$82:16D8]   A:077F X:5000 Y:73A0 P:envmxdizc
$82/F21A A5 06       LDA $06    [$00:0006]   A:077F X:0000 Y:73A0 P:envmxdiZc
$82/F21C C9 00 30    CMP #$3000              A:1100 X:0000 Y:73A0 P:envmxdizc
$82/F21F 90 07       BCC $07    [$F228]      A:1100 X:0000 Y:73A0 P:eNvmxdizc
code is missing here
$82/F228 A5 04       LDA $04    [$00:0004]   A:1100 X:0000 Y:73A0 P:eNvmxdizc
$82/F22A C9 80 00    CMP #$0080              A:0034 X:0000 Y:73A0 P:envmxdizc
$82/F22D B0 0A       BCS $0A    [$F239]      A:0034 X:0000 Y:73A0 P:eNvmxdizc
$82/F22F 05 06       ORA $06    [$00:0006]   A:0034 X:0000 Y:73A0 P:eNvmxdizc
$82/F231 A8          TAY                     A:1134 X:0000 Y:73A0 P:envmxdizc
$82/F232 A5 08       LDA $08    [$00:0008]   A:1134 X:0000 Y:1134 P:envmxdizc
$82/F234 20 14 F7    JSR $F714     ; Build BG2 Tilemap in Buffer
$82/F237 80 09       BRA $09    [$F242]      A:1131 X:0018 Y:1140 P:envmxdiZc
code is missing here
$82/F242 A5 09       LDA $09    [$00:0009]   A:1131 X:0018 Y:1140 P:envmxdiZc
$82/F244 29 FF 00    AND #$00FF              A:0014 X:0018 Y:1140 P:envmxdizc
$82/F247 F0 21       BEQ $21    [$F26A]      A:0014 X:0018 Y:1140 P:envmxdizc
$82/F249 A5 04       LDA $04    [$00:0004]   A:0014 X:0018 Y:1140 P:envmxdizc
$82/F24B 18          CLC                     A:0034 X:0018 Y:1140 P:envmxdizc
$82/F24C 69 20 00    ADC #$0020              A:0034 X:0018 Y:1140 P:envmxdizc
$82/F24F 29 E0 1F    AND #$1FE0              A:0054 X:0018 Y:1140 P:envmxdizc
$82/F252 C9 80 00    CMP #$0080              A:0040 X:0018 Y:1140 P:envmxdizc
$82/F255 B0 0A       BCS $0A    [$F261]      A:0040 X:0018 Y:1140 P:eNvmxdizc
$82/F257 05 06       ORA $06    [$00:0006]   A:0040 X:0018 Y:1140 P:eNvmxdizc
$82/F259 A8          TAY                     A:1140 X:0018 Y:1140 P:envmxdizc
$82/F25A A5 09       LDA $09    [$00:0009]   A:1140 X:0018 Y:1140 P:envmxdizc
$82/F25C 20 14 F7    JSR $F714     ; Build BG2 Tilemap in Buffer
$82/F25F 80 09       BRA $09    [$F26A]      A:103B X:0040 Y:1154 P:envmxdiZc
code is missing here
$82/F26A A2 00 00    LDX #$0000              A:103B X:0040 Y:1154 P:envmxdiZc
$82/F26D A5 04       LDA $04    [$00:0004]   A:103B X:0000 Y:1154 P:envmxdiZc
$82/F26F 89 20 00    BIT #$0020              A:0034 X:0000 Y:1154 P:envmxdizc
$82/F272 F0 03       BEQ $03    [$F277]      A:0034 X:0000 Y:1154 P:envmxdizc
$82/F274 A2 00 04    LDX #$0400              A:0034 X:0000 Y:1154 P:envmxdizc
$82/F277 86 0A       STX $0A    [$00:000A]   A:0034 X:0400 Y:1154 P:envmxdizc
$82/F279 29 1F 00    AND #$001F              A:0034 X:0400 Y:1154 P:envmxdizc
$82/F27C 04 0A       TSB $0A    [$00:000A]   A:0014 X:0400 Y:1154 P:envmxdizc
$82/F27E A5 06       LDA $06    [$00:0006]   A:0014 X:0400 Y:1154 P:envmxdiZc
$82/F280 4A          LSR A                   A:1100 X:0400 Y:1154 P:envmxdizc
$82/F281 4A          LSR A                   A:0880 X:0400 Y:1154 P:envmxdizc
$82/F282 29 E0 03    AND #$03E0              A:0440 X:0400 Y:1154 P:envmxdizc
$82/F285 04 0A       TSB $0A    [$00:000A]   A:0040 X:0400 Y:1154 P:envmxdizc
$82/F287 A5 08       LDA $08    [$00:0008]   A:0040 X:0400 Y:1154 P:envmxdiZc
$82/F289 20 10 F8    JSR $F810     ; Transfer Buffered BG2 Tilemap into VRAM
$82/F28C A5 0A       LDA $0A    [$00:000A]   A:0018 X:0018 Y:7C54 P:envmxdizc
$82/F28E 29 E0 07    AND #$07E0              A:0454 X:0018 Y:7C54 P:envmxdizc
$82/F291 49 00 04    EOR #$0400              A:0440 X:0018 Y:7C54 P:envmxdizc
$82/F294 85 0A       STA $0A    [$00:000A]   A:0040 X:0018 Y:7C54 P:envmxdizc
$82/F296 A5 09       LDA $09    [$00:0009]   A:0040 X:0018 Y:7C54 P:envmxdizc
$82/F298 20 10 F8    JSR $F810     ; Transfer Buffered BG2 Tilemap into VRAM
$82/F29B C6 02       DEC $02       ; ($02 = Loop counter?)
$82/F29D F0 0B       BEQ $0B       ; [$F2AA] Exit if 0
$82/F29F A5 06       LDA $06    [$00:0006]   A:0040 X:0028 Y:7840 P:envmxdizc
$82/F2A1 18          CLC                     A:1100 X:0028 Y:7840 P:envmxdizc
$82/F2A2 69 80 00    ADC #$0080              A:1100 X:0028 Y:7840 P:envmxdizc
$82/F2A5 85 06       STA $06    [$00:0006]   A:1180 X:0028 Y:7840 P:envmxdizc
$82/F2A7 4C 17 F2    JMP $F217  [$82:F217]   A:1180 X:0028 Y:7840 P:envmxdizc
$82/F2AA E2 20       SEP #$20      ; A = 8-bit
$82/F2AC 60          RTS

$82/F2AD ?

When this subroutine is called, $04/5 contain a copy of the BG1 H-Scroll value and $06/7 contain a copy of the BG1 V-Scroll value.

$00 and $02 contain 8-bit values that seem to be rhomb related(?). A contains an additional value of unknown sort.

      • Just a quick note, because I'm not sure about this, so I can't explain that whole stuff correctly, wholely and completely convinced: that "subtract #$20" stuff seems to be related to "do more than one row". If that value is higher than #$20, its more than one row, and so it has to subtract that #$20 and make a mark somewhere that it has more to do. Or something


$82/F2AD 64 01       STZ $01    [$00:0001]   A:0003 X:00DF Y:0060 P:envMxdizc
$82/F2AF 64 03       STZ $03       ; ???
$82/F2B1 85 0F       STA $0F       ; Buffer Original A in $0F
$82/F2B3 A9 81       LDA #$81                A:0003 X:00DF Y:0060 P:envMxdizc
$82/F2B5 85 0E       STA $0E    [$00:000E]   A:0081 X:00DF Y:0060 P:eNvMxdizc
$82/F2B7 C2 20       REP #$20                A:0081 X:00DF Y:0060 P:eNvMxdizc
$82/F2B9 A5 04       LDA $04       ; Load BG1-H-Scroll Value Copy
$82/F2BB 4A          LSR A         ; Divide it by 8
$82/F2BC 4A          LSR A
$82/F2BD 4A          LSR A
$82/F2BE 85 04       STA $04       ; Store it back
$82/F2C0 A5 06       LDA $06       ; Load BG1-V-Scroll Value Copy
$82/F2C2 A8          TAY           ; Transfer it as it is in Y
$82/F2C3 29 F8 FF    AND #$FFF8    ; Remove the lowest three bits
$82/F2C6 0A          ASL A         ; Multiply it by #$10
$82/F2C7 0A          ASL A
$82/F2C8 0A          ASL A
$82/F2C9 0A          ASL A
$82/F2CA 85 06       STA $06       ; Store it back in $06/7
$82/F2CC E2 20       SEP #$20      ; 8-bit A
$82/F2CE 98          TYA           ; Transfer the Low Byte of BG1-V-Scroll Value Copy in A
$82/F2CF 4A          LSR A         ; Divide it by 8
$82/F2D0 4A          LSR A
$82/F2D1 4A          LSR A
$82/F2D2 29 1F       AND #$1F      ; ??? Unnecessary?
$82/F2D4 18          CLC                     A:060C X:00DF Y:0060 P:envMxdizc
$82/F2D5 65 02       ADC $02    [$00:0002]   A:060C X:00DF Y:0060 P:envMxdizc
$82/F2D7 C9 21       CMP #$21      ; Check if the value is less than #$21
$82/F2D9 90 0C       BCC $0C       ; [$F2E7] Branch if it is
$82/F2DB E9 20       SBC #$20      ; *** See note above ***
$82/F2DD 85 09       STA $09    [$00:0009]   A:0608 X:00DF Y:0060 P:envMxdizC
$82/F2DF A5 02       LDA $02    [$00:0002]   A:0608 X:00DF Y:0060 P:envMxdizC
$82/F2E1 E5 09       SBC $09    [$00:0009]   A:061C X:00DF Y:0060 P:envMxdizC
$82/F2E3 85 08       STA $08    [$00:0008]   A:0614 X:00DF Y:0060 P:envMxdizC
$82/F2E5 80 06       BRA $06    [$F2ED]      A:0614 X:00DF Y:0060 P:envMxdizC
Code is missing here
$82/F2ED A5 0F       LDA $0F    [$00:000F]   A:0614 X:00DF Y:0060 P:envMxdizC
$82/F2EF 89 01       BIT #$01                A:0603 X:00DF Y:0060 P:envMxdizC
$82/F2F1 D0 03       BNE $03    [$F2F6]      A:0603 X:00DF Y:0060 P:envMxdizC
Code is missing here
$82/F2F6 A9 7F       LDA #$7F      ; Set up $7F/2000 in $20-22 (Address of the BG1 Tilemap)
$82/F2F8 85 22       STA $22
$82/F2FA A2 00 20    LDX #$2000
$82/F2FD 86 20       STX $20
$82/F2FF C2 20       REP #$20      ; 16-bit A
$82/F301 D4 00       PEI ($00)     ; Buffer $00/1/4/5 on Stack
$82/F303 D4 04       PEI ($04)
$82/F305 AE D6 16    LDX $16D6     ; Write Index on Battle BG1 Tilemap
$82/F308 A5 04       LDA $04       ; Load cut-down H-Scroll value
$82/F30A C9 80 00    CMP #$0080    ; Check if the Original HScroll is #$200 or more - Screen Maximum
$82/F30D 90 08       BCC $08       ; [$F317] Branch if Original HScroll is less than #$200
Code is missing here
$82/F317 A5 06       LDA $06       ; Load multiplied V-Scroll value
$82/F319 C9 00 30    CMP #$3000    ; Check if the Original V-Scroll is #$300 or more (more than screen Maximum)
$82/F31C B0 0A       BCS $0A       ; [$F328] Branch if it is
$82/F31E 05 04       ORA $04       ; Put the transformed H/VScroll-values together
$82/F320 A8          TAY                     A:061B X:0000 Y:0060 P:envmxdizc
$82/F321 A5 08       LDA $08       ; Load Number of Double-Bytes to transfer
$82/F323 20 5D F7    JSR $F75D     ; Update BG1 Tilemap Buffer (from Scrolling?)
$82/F326 80 09       BRA $09    [$F331]      A:101A X:0028 Y:101A P:envmxdiZc
Code is missing here
$82/F331 A5 09       LDA $09    [$00:0009]   A:101A X:0028 Y:101A P:envmxdiZc
$82/F333 29 FF 00    AND #$00FF              A:0008 X:0028 Y:101A P:envmxdizc
$82/F336 F0 21       BEQ $21    [$F359]      A:0008 X:0028 Y:101A P:envmxdizc
$82/F338 A5 06       LDA $06       ; Load multiplied V-Scroll value
$82/F33A 29 00 F0    AND #$F000    ; Remove everything but bits 0000.xxxx.000.0000 of the Original value
$82/F33D 18          CLC                     A:0000 X:0028 Y:101A P:envmxdiZc
$82/F33E 69 00 10    ADC #$1000              A:0000 X:0028 Y:101A P:envmxdiZc
$82/F341 C9 00 30    CMP #$3000    ; Check if the Original V-Scroll value is #$200 or higher
$82/F344 B0 0A       BCS $0A       ; [$F350] Branch if it is
$82/F346 05 04       ORA $04    [$00:0004]   A:1000 X:0028 Y:101A P:eNvmxdizc
$82/F348 A8          TAY                     A:101B X:0028 Y:101A P:envmxdizc
$82/F349 A5 09       LDA $09       ; Load Number of Double-Bytes to transfer
$82/F34B 20 5D F7    JSR $F75D     ; Update BG1 Tilemap Buffer (from Scrolling?)
$82/F34E 80 09       BRA $09    [$F359]      A:141A X:0038 Y:141A P:envmxdiZc
Code is missing here
$82/F359 A2 00 00    LDX #$0000              A:141A X:0038 Y:141A P:envmxdiZc
$82/F35C A5 04       LDA $04    [$00:0004]   A:141A X:0000 Y:141A P:envmxdiZc
$82/F35E 89 20 00    BIT #$0020              A:001B X:0000 Y:141A P:envmxdizc
$82/F361 F0 03       BEQ $03    [$F366]      A:001B X:0000 Y:141A P:envmxdiZc
$82/F366 86 0A       STX $0A    [$00:000A]   A:001B X:0000 Y:141A P:envmxdiZc
$82/F368 29 1F 00    AND #$001F              A:001B X:0000 Y:141A P:envmxdiZc
$82/F36B 04 0A       TSB $0A    [$00:000A]   A:001B X:0000 Y:141A P:envmxdizc
$82/F36D A5 06       LDA $06    [$00:0006]   A:001B X:0000 Y:141A P:envmxdiZc
$82/F36F 4A          LSR A                   A:0600 X:0000 Y:141A P:envmxdizc
$82/F370 4A          LSR A                   A:0300 X:0000 Y:141A P:envmxdizc
$82/F371 29 E0 03    AND #$03E0              A:0180 X:0000 Y:141A P:envmxdizc
$82/F374 04 0A       TSB $0A    [$00:000A]   A:0180 X:0000 Y:141A P:envmxdizc
$82/F376 A5 08       LDA $08      ; Load Number of Tilemap Double-Bytes to transfer
$82/F378 20 C5 F7    JSR $F7C5    ; Transfer Buffered BG1 Tilemap into VRAM
$82/F37B A5 0A       LDA $0A    [$00:000A]   A:0028 X:0000 Y:719B P:envmxdizc
$82/F37D 29 1F 04    AND #$041F              A:019B X:0000 Y:719B P:envmxdizc
$82/F380 85 0A       STA $0A    [$00:000A]   A:001B X:0000 Y:719B P:envmxdizc
$82/F382 A5 09       LDA $09    [$00:0009]   A:001B X:0000 Y:719B P:envmxdizc
$82/F384 20 C5 F7    JSR $F7C5    ; Transfer Buffered BG1 Tilemap into VRAM
$82/F387 C6 00       DEC $00    [$00:0000]   A:0038 X:0002 Y:701B P:envmxdizc
$82/F389 F0 0B       BEQ $0B    [$F396]      A:0038 X:0002 Y:701B P:envmxdiZc
Code is missing here
$82/F396 FA          PLX                     A:0038 X:0002 Y:701B P:envmxdiZc
$82/F397 86 04       STX $04    [$00:0004]   A:0038 X:001B Y:701B P:envmxdizc
$82/F399 FA          PLX                     A:0038 X:001B Y:701B P:envmxdizc
$82/F39A 86 00       STX $00    [$00:0000]   A:0038 X:0001 Y:701B P:envmxdizc
$82/F39C E2 20       SEP #$20                A:0038 X:0001 Y:701B P:envmxdizc
$82/F39E A5 0F       LDA $0F    [$00:000F]   A:0038 X:0001 Y:701B P:envMxdizc
$82/F3A0 89 02       BIT #$02                A:0003 X:0001 Y:701B P:envMxdizc
$82/F3A2 D0 03       BNE $03    [$F3A7]      A:0003 X:0001 Y:701B P:envMxdizc
Code is missing here
$82/F3A7 A9 7F       LDA #$7F      ; Set up $7F/5000 in $20-22 (Address of the BG2 Tilemap)
$82/F3A9 85 22       STA $22
$82/F3AB A2 00 50    LDX #$5000
$82/F3AE 86 20       STX $20
$82/F3B0 C2 20       REP #$20                A:007F X:5000 Y:701B P:envMxdizc
$82/F3B2 AE D8 16    LDX $16D8     ; ($16D8 contains the Write Index for the BG2 Tilemap Buffer)
$82/F3B5 A5 04       LDA $04    [$00:0004]   A:007F X:0000 Y:701B P:envmxdiZc
$82/F3B7 C9 80 00    CMP #$0080              A:001B X:0000 Y:701B P:envmxdizc
$82/F3BA 90 08       BCC $08       ; [$F3C4] (Branch if $04 is less than #$80)
Code is missing here
$82/F3C4 A5 06       LDA $06    [$00:0006]   A:001B X:0000 Y:701B P:eNvmxdizc
$82/F3C6 C9 00 30    CMP #$3000              A:0600 X:0000 Y:701B P:envmxdizc
$82/F3C9 B0 0A       BCS $0A    [$F3D5]      A:0600 X:0000 Y:701B P:eNvmxdizc
$82/F3CB 05 04       ORA $04    [$00:0004]   A:0600 X:0000 Y:701B P:eNvmxdizc
$82/F3CD A8          TAY                     A:061B X:0000 Y:701B P:envmxdizc
$82/F3CE A5 08       LDA $08    [$00:0008]   A:061B X:0000 Y:061B P:envmxdizc
$82/F3D0 20 91 F7    JSR $F791     ; Update BG2 Tilemap Buffer (from Scrolling?)
$82/F3D3 80 09       BRA $09    [$F3DE]      A:101A X:0028 Y:101A P:envmxdiZc
Code is missing here
$82/F3DE A5 09       LDA $09    [$00:0009]   A:101A X:0028 Y:101A P:envmxdiZc
$82/F3E0 29 FF 00    AND #$00FF              A:0008 X:0028 Y:101A P:envmxdizc
$82/F3E3 F0 21       BEQ $21    [$F406]      A:0008 X:0028 Y:101A P:envmxdizc
$82/F3E5 A5 06       LDA $06    [$00:0006]   A:0008 X:0028 Y:101A P:envmxdizc
$82/F3E7 29 00 F0    AND #$F000              A:0600 X:0028 Y:101A P:envmxdizc
$82/F3EA 18          CLC                     A:0000 X:0028 Y:101A P:envmxdiZc
$82/F3EB 69 00 10    ADC #$1000              A:0000 X:0028 Y:101A P:envmxdiZc
$82/F3EE C9 00 30    CMP #$3000              A:1000 X:0028 Y:101A P:envmxdizc
$82/F3F1 B0 0A       BCS $0A    [$F3FD]      A:1000 X:0028 Y:101A P:eNvmxdizc
$82/F3F3 05 04       ORA $04    [$00:0004]   A:1000 X:0028 Y:101A P:eNvmxdizc
$82/F3F5 A8          TAY                     A:101B X:0028 Y:101A P:envmxdizc
$82/F3F6 A5 09       LDA $09    [$00:0009]   A:101B X:0028 Y:101B P:envmxdizc
$82/F3F8 20 91 F7    JSR $F791     ; Update BG2 Tilemap Buffer (from Scrolling?)
$82/F3FB 80 09       BRA $09    [$F406]      A:141A X:0038 Y:141A P:envmxdiZc
Code is missing here
$82/F406 A2 00 00    LDX #$0000              A:141A X:0038 Y:141A P:envmxdiZc
$82/F409 A5 04       LDA $04    [$00:0004]   A:141A X:0000 Y:141A P:envmxdiZc
$82/F40B 89 20 00    BIT #$0020              A:001B X:0000 Y:141A P:envmxdizc
$82/F40E F0 03       BEQ $03    [$F413]      A:001B X:0000 Y:141A P:envmxdiZc
$82/F413 86 0A       STX $0A    [$00:000A]   A:001B X:0000 Y:141A P:envmxdiZc
$82/F415 29 1F 00    AND #$001F              A:001B X:0000 Y:141A P:envmxdiZc
$82/F418 04 0A       TSB $0A    [$00:000A]   A:001B X:0000 Y:141A P:envmxdizc
$82/F41A A5 06       LDA $06    [$00:0006]   A:001B X:0000 Y:141A P:envmxdiZc
$82/F41C 4A          LSR A                   A:0600 X:0000 Y:141A P:envmxdizc
$82/F41D 4A          LSR A                   A:0300 X:0000 Y:141A P:envmxdizc
$82/F41E 29 E0 03    AND #$03E0              A:0180 X:0000 Y:141A P:envmxdizc
$82/F421 04 0A       TSB $0A    [$00:000A]   A:0180 X:0000 Y:141A P:envmxdizc
$82/F423 A5 08       LDA $08    [$00:0008]   A:0180 X:0000 Y:141A P:envmxdiZc
$82/F425 20 10 F8    JSR $F810      ; Transfer Buffered BG2 Tilemap into VRAM
$82/F428 A5 0A       LDA $0A    [$00:000A]   A:0028 X:0004 Y:799B P:envmxdizc
$82/F42A 29 1F 04    AND #$041F              A:019B X:0004 Y:799B P:envmxdizc
$82/F42D 85 0A       STA $0A    [$00:000A]   A:001B X:0004 Y:799B P:envmxdizc
$82/F42F A5 09       LDA $09    [$00:0009]   A:001B X:0004 Y:799B P:envmxdizc
$82/F431 20 10 F8    JSR $F810      ; Transfer Buffered BG2 Tilemap into VRAM
$82/F434 C6 00       DEC $00    [$00:0000]   A:0038 X:0006 Y:781B P:envmxdizc
$82/F436 F0 0B       BEQ $0B    [$F443]      A:0038 X:0006 Y:781B P:envmxdiZc
Code is missing here
$82/F443 E2 20       SEP #$20                A:0038 X:0006 Y:781B P:envmxdiZc
$82/F445 60          RTS                     A:0038 X:0006 Y:781B P:envMxdiZc

$82/F609 ?

$82/F609 20 0D F6    JSR $F60D  [$82:F60D]   A:0002 X:3300 Y:FFFE P:eNvMxdizC
$82/F60C 6B          RTL                     A:1600 X:0800 Y:0000 P:envMxdiZc

$82/F60D ? Tilemap updating-related (after scrolling?)

This subroutine is prepares a lot of values for a tilemap update. I think this is used if the tilemap has to be updated when the map is scrolled.

Set in this subroutine:

$02/$03 Number of Tilemap Entries to do (= #$20)

$06/$07 BG1 Y scroll, without bits 0-2, multiplied by #$10, gets #$80 added every loop iteration, max. #$3000

$08/$09 Number of Tilemap Entries to do (= #$20)

$82/F60D 22 60 81 99 JSL $998160[$99:8160]   A:0002 X:3300 Y:FFFE P:eNvMxdizC
$82/F611 B0 05       BCS $05    [$F618]      A:0002 X:3300 Y:FFFE P:envMxdizC
code is missing here
$82/F618 C2 20       REP #$20      ; A = 16-bit
$82/F61A A9 20 00    LDA #$0020    ; Number of Tilemap entries to do / number of Tilemap lines to do
$82/F61D 85 08       STA $08
$82/F61F AD 93 05    LDA $0593     ; Load BG1 Y scroll value
$82/F622 29 F8 FF    AND #$FFF8    ; Remove bits 0-2
$82/F625 0A          ASL A         ; Multiply by sixteen / #$10
$82/F626 0A          ASL A
$82/F627 0A          ASL A
$82/F628 0A          ASL A
$82/F629 85 06       STA $06       ; Store in $06
$82/F62B 64 00       STZ $00    [$00:0000]   A:0600 X:3300 Y:FFFE P:envmxdizc
$82/F62D A5 08       LDA $08       ; $08 = Number of Tilemap lines to do
$82/F62F 85 02       STA $02       ; $02 = Number of Tilemap entries to do
$82/F631 64 04       STZ $04    [$00:0004]   A:0020 X:3300 Y:FFFE P:envmxdizc
$82/F633 64 0C       STZ $0C    [$00:000C]   A:0020 X:3300 Y:FFFE P:envmxdizc
$82/F635 AD 91 05    LDA $0591     ; Load BG1 X scroll value
$82/F638 10 12       BPL $12       ; [$F64C] Branch if positive
code is missing here
$82/F64C 4A          LSR A         ; divide by eight
$82/F64D 4A          LSR A
$82/F64E 4A          LSR A
$82/F64F 85 0C       STA $0C       ; Store in $0C/$0D
$82/F651 18          CLC                     A:001E X:3300 Y:FFFE P:envmxdizc
$82/F652 65 08       ADC $08    [$00:0008]   A:001E X:3300 Y:FFFE P:envmxdizc
$82/F654 E9 7F 00    SBC #$007F              A:003E X:3300 Y:FFFE P:envmxdizc
$82/F657 90 08       BCC $08    [$F661]      A:FFBE X:3300 Y:FFFE P:eNvmxdizc
code is missing here
$82/F661 E2 20       SEP #$20      ; A = 8-bit
$82/F663 A9 7F       LDA #$7F      ; Setup address $7F/2000 in [$20] - Address of the whole Tilemap
$82/F665 85 22       STA $22
$82/F667 A2 00 20    LDX #$2000
$82/F66A 86 20       STX $20
$82/F66C C2 20       REP #$20      ; A = 16-bit
$82/F66E A2 00 00    LDX #$0000    ; Clear X (Store Index for BG1 Tilemap Buffer)
$82/F671 A5 06       LDA $06       ; Load edited BG1 Y scroll value
$82/F673 C9 00 30    CMP #$3000    ; Branch if lower than #$3000 (Tilemap size maximum)
$82/F676 90 08       BCC $08       ; [$F680]
code is missing here
$82/F680 A4 00       LDY $00    [$00:0000]   A:0600 X:0000 Y:FFFE P:eNvmxdizc
$82/F682 F0 03       BEQ $03    [$F687]      A:0600 X:0000 Y:0000 P:envmxdiZc
code is missing here
$82/F687 A5 0C       LDA $0C       ; Load edited BG1 X scroll value
$82/F689 05 06       ORA $06       ; ORA edited BG1 Y scroll value
$82/F68B A8          TAY           ; Transfer in Y as Load Index for the whole Tilemap
$82/F68C A5 02       LDA $02       ; Load number of Tilemap Entries to do in A
$82/F68E 20 CB F6    JSR $F6CB     ; Build BG1 Tilemap in Buffer
$82/F691 A4 04       LDY $04    [$00:0004]   A:0281 X:0040 Y:063E P:envmxdiZc
$82/F693 F0 03       BEQ $03    [$F698]      A:0281 X:0040 Y:0000 P:envmxdiZc
code is missing here
$82/F698 A5 06       LDA $06       ; Add #$80 to edited Y-scroll value in $06
$82/F69A 18          CLC
$82/F69B 69 80 00    ADC #$0080
$82/F69E 85 06       STA $06
$82/F6A0 C6 08       DEC $08       ; Decrement Loop counter (originally set to #$20)
$82/F6A2 D0 CD       BNE $CD       ; [$F671] Loop until counter runs out
$82/F6A4 E2 20       SEP #$20      ; A = 8-bit
$82/F6A6 60          RTS

$82/F6CB Build BG1 Tilemap in Buffer

This subroutine is entered with 16-bit A

A = number of Tilemap entries to do

X = Store Index for BG1 Tilemap Buffer

Y = Load Index for whole BG1 map

$20-$22 = Address of the whole BG1 map

$82/F6CB 29 FF 00    AND #$00FF    ; Remove High Byte
$82/F6CE F0 43       BEQ $43       ; [$F713] Exit if Low Byte was empty
$82/F6D0 4A          LSR A         ; Divide Value of A by 2
$82/F6D1 85 0A       STA $0A       ; Store it as Loop Counter
$82/F6D3 B0 08       BCS $08       ; [$F6DD] Branch if LSB in Original A was set
$82/F6D5 98          TYA           ; Check if the LSB in Y was set
$82/F6D6 4A          LSR A
$82/F6D7 90 17       BCC $17       ; [$F6F0] Branch if it was clear
Code is missing here
$82/F6F0 A5 0A       LDA $0A       ; Load the Loop counter value
$82/F6F2 F0 15       BEQ $15       ; [$F709] Branch if it was empty
$82/F6F4 B7 20       LDA [$20],y   ; Load Byte from the whole BG1 Map
$82/F6F6 9F 00 E0 7F STA $7FE000,x ; Store in BG1 Tilemap Buffer
$82/F6FA C8          INY           ; Increment Load Index twice
$82/F6FB C8          INY
$82/F6FC E8          INX           ; Increment Store Index twice
$82/F6FD E8          INX
$82/F6FE 1A          INC A         ; Increment Tilemap Entry for the right Half of the Rhomb's Edge
$82/F6FF 9F 00 E0 7F STA $7FE000,x ; Store in BG1 Tilemap Buffer
$82/F703 E8          INX           ; Increment Store Index twice
$82/F704 E8          INX
$82/F705 C6 0A       DEC $0A       ; Decrement Loop Counter
$82/F707 D0 EB       BNE $EB       ; [$F6F4] Loop
$82/F709 90 08       BCC $08       ; [$F713] ??? Exit
Code is missing here
$82/F713 60          RTS

$82/F714 Build BG2 Tilemap in Buffer

This subroutine is entered with 16-bit A

A = number of Tilemap entries to do

X = Store Index for BG2 Tilemap Buffer

Y = Load Index for whole BG2 map

$20-$22 = Address of the whole BG2 map

$82/F714 29 FF 00    AND #$00FF    ; Remove High Byte
$82/F717 F0 43       BEQ $43       ; [$F75C] Exit if Low Byte was empty
$82/F719 4A          LSR A         ; Divide Value of A by 2
$82/F71A 85 0A       STA $0A       ; Store it as Loop Counter
$82/F71C B0 08       BCS $08       ; [$F726] Branch if LSB in Original A was set
$82/F71E 98          TYA           ; Check if the LSB in Y was set
$82/F71F 4A          LSR A
$82/F720 90 17       BCC $17       ; [$F739] Branch if it was clear
Code is missing here
$82/F739 A5 0A       LDA $0A       ; Load the Loop counter value
$82/F73B F0 15       BEQ $15       ; [$F752] Branch if it was empty
$82/F73D B7 20       LDA [$20],y   ; Load Byte from the whole BG2 Map
$82/F73F 9F 00 EC 7F STA $7FEC00,x ; Store in BG2 Tilemap Buffer
$82/F743 C8          INY           ; Increment Load Index twice
$82/F744 C8          INY
$82/F745 E8          INX           ; Increment Store Index twice
$82/F746 E8          INX
$82/F747 1A          INC A         ; Increment Tilemap Entry for the right Half of the Rhomb's Edge
$82/F748 9F 00 EC 7F STA $7FEC00,x ; Store in BG2 Tilemap Buffer
$82/F74C E8          INX           ; Increment Store Index twice
$82/F74D E8          INX
$82/F74E C6 0A       DEC $0A       ; Decrement Loop Counter
$82/F750 D0 EB       BNE $EB       ; [$F73D] Loop
$82/F752 90 08       BCC $08       ; [$F75C] ??? Exit
$82/F75C 60          RTS

$82/F75D Update BG1 Tilemap Buffer (from Scrolling?)

WHY OH WHY IS THERE THIS ADC #$80 STUFF!?!

This Subroutine transfers data from the address in $20-2 to the BG1 Tilemap Buffer at $7FE000 onwards. This is used in Battle to transfer Data from the Buffer of the whole Battle Map (stored at $7F2000) to the VRAM Tilemap buffer at $7FE000. In the latter, there is always just as much as needs to be transfered to the VRAM.

Depending on the LSB of the value in Y, it changes between two styles of transfer.

A contains number of double-bytes to transfer - A is 16 bit, but the value may not exceed #$FF.

Y contains the Load Index for the 24-bit Address in $20-2.

X contains the Write Index

Y-LSB is set: Increment loaded data before storing

Y-LSB is clear: Transfer loaded data as it is

$82/F75D 29 FF 00    AND #$00FF    ; Remove Upper Byte
$82/F760 F0 2E       BEQ $2E       ; [$F790] Exit if empty
$82/F762 85 0A       STA $0A       ; Buffer Number of Double-Bytes to transfer
$82/F764 98          TYA           ; Copy Y in A
$82/F765 4A          LSR A         ; Check if the LSB of Y is set
$82/F766 B0 14       BCS $14       ; [$F77C] Branch if it is
; Y-LSB is clear: Transfer loaded data as it is
$82/F768 B7 20       LDA [$20],y   ; Load Data Double-Byte
$82/F76A 9F 00 E0 7F STA $7FE000,x ; Store in VRAM Buffer of Battle BG1 Tilemap
$82/F76E 98          TYA           ; Transfer Load Index to A
$82/F76F 18          CLC           ; Add #$80
$82/F770 69 80 00    ADC #$0080
$82/F773 A8          TAY           ; Transfer back to Y
$82/F774 E8          INX           ; Increment Store Index twice
$82/F775 E8          INX
$82/F776 C6 0A       DEC $0A       ; Decrement Loop Counter
$82/F778 D0 EE       BNE $EE       ; [$F768] Loop til the end
$82/F77A 80 14       BRA $14       ; [$F790] Exit
;Y-LSB is set: Increment loaded data before storing
$82/F77C 88          DEY           ; Remove the Set LSB in Y - this was a flag for this subroutine, it would corrupt the Load Index
$82/F77D B7 20       LDA [$20],y   ; Load Data Double-Byte
$82/F77F 1A          INC A                   A:0280 X:0000 Y:061A P:envmxdizC
$82/F780 9F 00 E0 7F STA $7FE000,x ; Store in VRAM Buffer of Battle BG1 Tilemap
$82/F784 98          TYA           ; Transfer Load Index to A
$82/F785 18          CLC           ; Add #$80
$82/F786 69 80 00    ADC #$0080
$82/F789 A8          TAY           ; Transfer back to Y
$82/F78A E8          INX           ; Increment Store Index twice
$82/F78B E8          INX
$82/F78C C6 0A       DEC $0A       ; Decrement Loop Counter
$82/F78E D0 ED       BNE $ED       ; [$F77D] Loop til the end
$82/F790 60          RTS

$82/F791 Update BG2 Tilemap Buffer (from Scrolling?)

WHY OH WHY IS THERE THIS ADC #$80 STUFF!?!

This Subroutine transfers data from the address in $20-2 to the BG2 Tilemap Buffer at $7FEC00 onwards. This is used in Battle to transfer Data from the Buffer of the whole Battle Map (stored at $7F5000) to the VRAM Tilemap buffer at $7FEC00. In the latter, there is always just as much as needs to be transfered to the VRAM.

Depending on the LSB of the value in Y, it changes between two styles of transfer.

A contains number of double-bytes to transfer - A is 16 bit, but the value may not exceed #$FF.

Y contains the Load Index for the 24-bit Address in $20-2.

X contains the Write Index

Y-LSB is set: Increment loaded data before storing

Y-LSB is clear: Transfer loaded data as it is

$82/F791 29 FF 00    AND #$00FF    ; Remove Upper Byte
$82/F794 F0 2E       BEQ $2E       ; [$F7C4] Exit if empty
$82/F796 85 0A       STA $0A       ; Buffer Number of Double-Bytes to transfer
$82/F798 98          TYA           ; Copy Y in A
$82/F799 4A          LSR A         ; Check if the LSB of Y is set
$82/F79A B0 14       BCS $14       ; [$F7B0] Branch if it is
; Y-LSB is clear: Transfer loaded data as it is
$82/F79C B7 20       LDA [$20],y   ; Load Data Double-Byte
$82/F79E 9F 00 EC 7F STA $7FEC00,x ; Store in VRAM Buffer of Battle BG2 Tilemap
$82/F7A2 98          TYA           ; Transfer Load Index to A
$82/F7A3 18          CLC           ; Add #$80
$82/F7A4 69 80 00    ADC #$0080
$82/F7A7 A8          TAY           ; Transfer back to Y
$82/F7A8 E8          INX           ; Increment Store Index twice
$82/F7A9 E8          INX
$82/F7AA C6 0A       DEC $0A       ; Decrement Loop Counter
$82/F7AC D0 EE       BNE $EE       ; [$F79C] Loop til the end
$82/F7AE 80 14       BRA $14       ; [$F7C4] Exit
;Y-LSB is set: Increment loaded data before storing
$82/F7B0 88          DEY           ; Remove the Set LSB in Y - this was a flag for this subroutine, it would corrupt the Load Index
$82/F7B1 B7 20       LDA [$20],y   ; Load Data Double-Byte
$82/F7B3 1A          INC A                   A:19B4 X:0000 Y:061A P:envmxdizC
$82/F7B4 9F 00 EC 7F STA $7FEC00,x ; Store in VRAM Buffer of Battle BG2 Tilemap
$82/F7B8 98          TYA           ; Transfer Load Index to A
$82/F7B9 18          CLC           ; Add #$80
$82/F7BA 69 80 00    ADC #$0080
$82/F7BD A8          TAY           ; Transfer back to Y
$82/F7BE E8          INX           ; Increment Store Index twice
$82/F7BF E8          INX
$82/F7C0 C6 0A       DEC $0A       ; Decrement Loop Counter
$82/F7C2 D0 ED       BNE $ED       ; [$F7B1] Loop til the end
$82/F7C4 60          RTS

$82/F7C5 Transfer Buffered BG1 Tilemap into VRAM

A contains the number of double(!)-bytes to transfer. #$FF double-bytes are max.

$82/F7C5 29 FF 00    AND #$00FF    ; Remove Upper Byte of the Number of Double-bytes to transfer
$82/F7C8 F0 45       BEQ $45       ; [$F80F] Exit if empty
$82/F7CA 0A          ASL A         ; Multiply by 2 - Now it's the number of single bytes to transfer
$82/F7CB 85 0C       STA $0C       ; Store in $0C (for the VRAM DMA subroutine that gets called later)

Check if the VRAM Pipeline entry is full

$82/F7CD 18          CLC           ; Add Data Size of the already used VRAM Pipeline Entries...
$82/F7CE 6D C5 0E    ADC $0EC5     ; ... to this DMA's Size
$82/F7D1 AA          TAX           ; Transfer it to X for the upcoming multiplication
$82/F7D2 E2 20       SEP #$20      ; A = 8-bit
$82/F7D4 AD C7 0E    LDA $0EC7     ; Load Number of used VRAM Pipeline Entries
$82/F7D7 1A          INC A         ; Increment it (simulate that there will be another entry)
$82/F7D8 22 CB AD 80 JSL $80ADCB   ; X = A * #$40 + X
$82/F7DC E0 00 12    CPX #$1200    ; Is that too much data / too many different VRAM DMAs?
$82/F7DF 90 0C       BCC $0C       ; [$F7ED] If not, branch do the DMA, else wait for NMI

(Manually disassembled)

$82/F7E1 AE D6 16    LDX $16D6     ; ?
$82/F7E4 DA          PHX
$82/F7E5 22 8A A1 80 JSR $80A18A   ; Change Bank, wait for NMI and execute code built in WRAM
$82/F7E9 FA          PLX
$82/F7EA 8E D6 16    STX $16D6     ; ?

Execute DMA without VRAM DMA Pipeline

$82/F7ED C2 21       REP #$21      ; 16-bit A + Clear Carry
$82/F7EF A5 0A       LDA $0A       ; Load exact address where tiles on BG1 Tilemap should change
$82/F7F1 69 00 70    ADC #$7000    ; Add VRAM-Offset of the BG1 Tilemap
$82/F7F4 A8          TAY           ; Transfer it in Y as VRAM Destination
$82/F7F5 AD D6 16    LDA $16D6     ; Load Write Index for the BG1 Tilemap Buffer
$82/F7F8 18          CLC
$82/F7F9 69 00 E0    ADC #$E000    ; Add Offset of the BG1 Tilemap Buffer
$82/F7FC AA          TAX           ; Transfer it in X as DMA Source Address
$82/F7FD E2 20       SEP #$20
$82/F7FF A9 7F       LDA #$7F      ; DMA Source Bank
$82/F801 22 24 9F 80 JSL $809F24   ; Long Jump to VRAM DMA
$82/F805 C2 21       REP #$21      ; 16-bit A, clear Carry
$82/F807 A5 0C       LDA $0C       ; Load number of single bytes to transfer
$82/F809 6D D6 16    ADC $16D6     ; Add old Write Index for the BG1 Tilemap Buffer
$82/F80C 8D D6 16    STA $16D6     ; Store as new Write Index for the BG1 Tilemap Buffer
$82/F80F 60          RTS

$82/F810 Transfer Buffered BG2 Tilemap into VRAM

Used in Battle and in the Game Intro ("Quest Presents") to update the BG2 Tilemap in VRAM according to the BG2 Tilemap Buffer at $7FEC00.

A contains the number of double(!)-bytes to transfer. #$FF double-bytes are max.

$82/F810 29 FF 00    AND #$00FF    ; Remove Upper Byte of the Number of Double-bytes to transfer
$82/F813 F0 45       BEQ $45       ; [$F85A] Exit if empty
$82/F815 0A          ASL A         ; Multiply by 2 - Now it's the number of single bytes to transfer
$82/F816 85 0C       STA $0C       ; Store in $0C (for the VRAM DMA subroutine that gets called later)

Check if the VRAM Pipeline entry is full

$82/F818 18          CLC           ; Add Data Size of the already used VRAM Pipeline Entries...
$82/F819 6D C5 0E    ADC $0EC5     ; ... to this DMA's Size
$82/F81C AA          TAX           ; Transfer it to X for the upcoming multiplication
$82/F81D E2 20       SEP #$20      ; A = 8-bit
$82/F81F AD C7 0E    LDA $0EC7     ; Load Number of used VRAM DMA Pipeline Entries
$82/F822 1A          INC A         ; Increment it (simulate that there will be another entry)
$82/F823 22 CB AD 80 JSL $80ADCB   ; X = A * #$40 + X
$82/F827 E0 00 12    CPX #$1200    ;Is there too much data / too many different VRAM DMAs?
$82/F82A 90 0C       BCC $0C       ; [$F838] If not branch to do the DMA, else wait for NMI

(Manually disassembled)

$82/F7E1 AE D6 16    LDX $16D6     ; ?
$82/F7E4 DA          PHX
$82/F7E5 22 8A A1 80 JSR $80A18A   ; Change Bank, wait for NMI and execute code built in WRAM
$82/F7E9 FA          PLX
$82/F7EA 8E D6 16    STX $16D6     ; ?

Execute DMA without VRAM DMA Pipeline

$82/F838 C2 21       REP #$21      ; 16-bit A + Clear Carry
$82/F83A A5 0A       LDA $0A       ; Load exact address where tiles on BG2 Tilemap should change
$82/F83C 69 00 78    ADC #$7800    ; Add Offset for the BG2 Tilemap
$82/F83F A8          TAY           ; VRAM Destination Address
$82/F840 AD D8 16    LDA $16D8     ; Load Write Index for the BG2 Tilemap Buffer
$82/F843 18          CLC
$82/F844 69 00 EC    ADC #$EC00    ; Add Offset for the BG2 Tilemap Buffer
$82/F847 AA          TAX           ; DMA Source Address
$82/F848 E2 20       SEP #$20
$82/F84A A9 7F       LDA #$7F      ; VRAM DMA Source Bank
$82/F84C 22 24 9F 80 JSL $809F24   ; VRAM DMA Setup Execution
$82/F850 C2 21       REP #$21      ; 16-bit A, clear Carry
$82/F852 A5 0C       LDA $0C       ; Load number of single bytes to transfer
$82/F854 6D D8 16    ADC $16D8     ; Add old Write Index for the BG2 Tilemap Buffer
$82/F857 8D D8 16    STA $16D8     ; Store as new Write Index for the BG2 Tilemap Buffer
$82/F85A 60          RTS

$82/F85B ?

$82/F85B 8B          PHB           ; Preserve Data Bank
$82/F85C 4B          PHK           ; Set Data Bank to $82
$82/F85D AB          PLB
$82/F85E 48          PHA           ; ???
$82/F85F 20 4E EB    JSR $EB4E  [$82:EB4E]   A:3700 X:0200 Y:0000 P:eNvMxdizc
$82/F862 22 46 F4 82 JSL $82F446[$82:F446]   A:3700 X:0060 Y:0000 P:envMxdizc
$82/F866 A2 00 00    LDX #$0000
$82/F869 8E 91 05    STX $0591     ; Reset BG1 H-Scroll
$82/F86C 8E 93 05    STX $0593     ; Reset BG1 V-Scroll
$82/F86F 8E 95 05    STX $0595     ; Reset BG2 H-Scroll
$82/F872 8E 97 05    STX $0597     ; Reset BG2 V-Scroll
$82/F875 22 8A A1 80 JSL $80A18A   ; Change Bank, wait for NMI and execute code built in WRAM
$82/F879 22 84 EB 82 JSL $82EB84[$82:EB84]   A:0780 X:0000 Y:5800 P:eNvMxdizc
$82/F87D 68          PLA                     A:0780 X:0000 Y:FFFF P:eNvMxdizc
$82/F87E 85 09       STA $09    [$00:0009]   A:0700 X:0000 Y:FFFF P:envMxdiZc
$82/F880 A2 00 00    LDX #$0000    ; Clear X (to use it as a Loop Counter)
$82/F883 DA          PHX           ; Buffer Load Index/Loop Counter on stack
$82/F884 C2 20       REP #$20      ; A = 16-bit
$82/F886 BF DF DB 7E LDA $7EDBDF,x[$7E:DBDF] A:0700 X:0000 Y:FFFF P:envmxdiZc
$82/F88A AA          TAX                     A:004B X:0000 Y:FFFF P:envmxdizc
$82/F88B E2 20       SEP #$20      ; A = 8-bit
$82/F88D BF 00 CC 7F LDA $7FCC00,x ; Load value from Terrain Type Map
$82/F891 30 24       BMI $24    [$F8B7]      A:0014 X:004B Y:FFFF P:envMxdizc
$82/F893 A5 09       LDA $09    [$00:0009]   A:0014 X:004B Y:FFFF P:envMxdizc
$82/F895 F0 06       BEQ $06    [$F89D]      A:0000 X:004B Y:FFFF P:envMxdiZc
code is missing here
$82/F89D 9B          TXY                     A:0000 X:004B Y:FFFF P:envMxdiZc
$82/F89E C2 20       REP #$20      ; A = 16-bit
$82/F8A0 AD BE 16    LDA $16BE  [$82:16BE]   A:0000 X:004B Y:004B P:envmxdizc
$82/F8A3 EB          XBA                     A:0000 X:004B Y:004B P:envmxdiZc
$82/F8A4 4A          LSR A                   A:0000 X:004B Y:004B P:envmxdiZc
$82/F8A5 4A          LSR A                   A:0000 X:004B Y:004B P:envmxdiZc
$82/F8A6 4A          LSR A                   A:0000 X:004B Y:004B P:envmxdiZc
$82/F8A7 E2 20       SEP #$20      ; A = 8-bit
$82/F8A9 1F 00 D4 7F ORA $7FD400,x ; Add "Object" Type Map
$82/F8AD AA          TAX                     A:0002 X:004B Y:004B P:envMxdizc
$82/F8AE 7B          TDC           ; Clear 16-bit A
$82/F8AF BF DD 8D 8B LDA $8B8DDD,x[$8B:8DDF] A:0000 X:0002 Y:004B P:envMxdiZc
$82/F8B3 BB          TYX                     A:0007 X:0002 Y:004B P:envMxdizc
$82/F8B4 20 45 E7    JSR $E745  [$82:E745]   A:0007 X:004B Y:004B P:envMxdizc
$82/F8B7 FA          PLX           ; Pull Load Index/Loop Counter from stack
$82/F8B8 E8          INX           ; Increment it twice
$82/F8B9 E8          INX
$82/F8BA EC EC 16    CPX $16EC     ; Is the Loop Limit reached?
$82/F8BD 90 C4       BCC $C4       ; [$F883] Loop if not
$82/F8BF 20 A5 EB    JSR $EBA5  [$82:EBA5]   A:0007 X:002E Y:0120 P:envMxdiZC
$82/F8C2 A9 71       LDA #$71      ; BG1 Tilemap at $7000
$82/F8C4 8D 8B 05    STA $058B
$82/F8C7 A9 79       LDA #$79      ; BG2 Tilemap at $7800
$82/F8C9 8D 8C 05    STA $058C
$82/F8CC 20 6B EB    JSR $EB6B     ; Set BG1/2 Scroll Registers
$82/F8CF AB          PLB           ; Restore Data Bank
$82/F8D0 6B          RTL

$82/FAAC ?

The second part of this subroutine transfers the data from $164B onwards into the CGRAM buffer and builds actual palettes from it - the data at $164B only contains fourteen colors per planned palette.

The palettes are built the following way:

($FAD2 to $FAD9) The first color is $0000
($FADA to $FAE9) The next #$0D (thirteen) colors are copied from [$20] = $00/164B + x
($FAEA to $FAEB) The fourteenth color gets left out
($FAEC to $FAF7) The fifteenth and last color gets copied from [$20] = $00/164B + x
$82/FAAC 8B          PHB           ; Preserve Data Bank
$82/FAAD 4B          PHK           ; Change Data Bank to this
$82/FAAE AB          PLB
$82/FAAF A2 4B 16    LDX #$164B    ; Setup 24-bit Address in $20-22 to $00/164B (=$7E/164B)
$82/FAB2 86 20       STX $20
$82/FAB4 A9 00       LDA #$00
$82/FAB6 85 22       STA $22
$82/FAB8 22 0F FB 82 JSL $82FB0F   ; ???
$82/FABC D4 00       PEI ($00)     ; Preserve $00-3 on Stack
$82/FABE D4 02       PEI ($02)
$82/FAC0 C2 20       REP #$20
$82/FAC2 A2 80 00    LDX #$0080    ; Store Index - where to begin to store in $124B and $144B
$82/FAC5 A0 00 00    LDY #$0000    ; Load Index
$82/FAC8 A9 04 00    LDA #$0004    ; Setup Palette Counter - how many palettes to do
$82/FACB 85 00       STA $00
$82/FACD A9 0D 00    LDA #$000D    ; Setup Color counter - counter for the thirteen colors
$82/FAD0 85 02       STA $02    
$82/FAD2 9E 4B 12    STZ $124B,x   ; Clear the first two bytes in the palette (making it pitch-black)
$82/FAD5 9E 4B 14    STZ $144B,x   ; Do the same in the second CGRAM buffer
$82/FAD8 E8          INX           ; Increment Store Index so it points to the next color
$82/FAD9 E8          INX
$82/FADA B7 20       LDA [$20],y   ; Load color from around $164B
$82/FADC 9D 4B 12    STA $124B,x   ; Store it in CGRAM buffer
$82/FADF 9D 4B 14    STA $144B,x   ; Do the same in the second CGRAM buffer
$82/FAE2 C8          INY           ; Increment Load Index so it points to the next color
$82/FAE3 C8          INY
$82/FAE4 E8          INX           ; Increment Store Index so it points to the next color
$82/FAE5 E8          INX
$82/FAE6 C6 02       DEC $02       ; Decrement color counter
$82/FAE8 D0 F0       BNE $F0       ; [$FADA] Loop until all thirteen colors are done
$82/FAEA E8          INX           ; Increment X twice - leave the fourteenth color out
$82/FAEB E8          INX
$82/FAEC B7 20       LDA [$20],y   ; Load color from around $164B
$82/FAEE 9D 4B 12    STA $124B,x   ; Store it in CGRAM buffer
$82/FAF1 9D 4B 14    STA $144B,x   ; Do the same in the second CGRAM buffer
$82/FAF4 C8          INY           ; Increment Load Index so it points to the next color
$82/FAF5 C8          INY
$82/FAF6 E8          INX           ; Increment Store Index so it points to the next color
$82/FAF7 E8          INX
$82/FAF8 C6 00       DEC $00       ; Decrement Palette Counter
$82/FAFA D0 D1       BNE $D1       ; [$FACD] Loop until all four palettes are done
$82/FAFC E2 20       SEP #$20
$82/FAFE A9 40       LDA #$40      ; CGRAM Destination
$82/FB00 A0 80 00    LDY #$0080    ; Number of Bytes
$82/FB03 22 B5 9E 80 JSL $809EB5   ; Transfer these four palettes from CGRAM buffer to CGRAM
$82/FB07 7A          PLY           ; Restore $00-$03 and exit
$82/FB08 84 02       STY $02
$82/FB0A 7A          PLY
$82/FB0B 84 00       STY $00
$82/FB0D AB          PLB
$82/FB0E 6B          RTL

$82/FCEA ?

$82/FCEA AF 89 BD 7E LDA $7EBD89[$7E:BD89]   A:0268 X:003E Y:0387 P:envMxdizc
$82/FCEE C9 12       CMP #$12                A:020C X:003E Y:0387 P:envMxdizc
$82/FCF0 B0 04       BCS $04    [$FCF6]      A:020C X:003E Y:0387 P:eNvMxdizc
$82/FCF2 C9 06       CMP #$06                A:020C X:003E Y:0387 P:eNvMxdizc
$82/FCF4 B0 6B       BCS $6B    [$FD61]      A:020C X:003E Y:0387 P:envMxdizC
code is missing here
$82/FD61 AD BE 16    LDA $16BE  [$82:16BE]   A:020C X:003E Y:0387 P:envMxdizC
$82/FD64 C9 03       CMP #$03                A:0203 X:003E Y:0387 P:envMxdizC
$82/FD66 F0 0C       BEQ $0C    [$FD74]      A:0203 X:003E Y:0387 P:envMxdiZC
code is missing here
$82/FD74 A9 01       LDA #$01      ; Setup $01 as Row Counter
$82/FD76 85 01       STA $01
$82/FD78 A9 01       LDA #$01      ; Setup $00 as Tile per Row Counter
$82/FD7A 85 00       STA $00
$82/FD7C 7B          TDC           ; Clear 16-bit A
$82/FD7D A5 01       LDA $01       ; Load Row Counter value
$82/FD7F C2 20       REP #$20      ; A = 16-bit
$82/FD81 EB          XBA           ; Row Counter value * #$20
$82/FD82 4A          LSR A
$82/FD83 4A          LSR A
$82/FD84 4A          LSR A
$82/FD85 E2 20       SEP #$20      ; A = 8-bit
$82/FD87 05 00       ORA $00       ; Add Tile per Row Counter
$82/FD89 AA          TAX           ; Transfer in X as Store Index
$82/FD8A 20 C0 FD    JSR $FDC0  [$82:FDC0]   A:0021 X:0021 Y:0387 P:envMxdizc
$82/FD8D E8          INX           ; Increment Store Index
$82/FD8E E6 00       INC $00       ; Increment Tile per Row Counter
$82/FD90 A5 00       LDA $00       ; Check if Tile per Row Counter has exceeded...
$82/FD92 CD C8 16    CMP $16C8     ; the Map Width on the NW-SE-Axis
$82/FD95 90 F3       BCC $F3       ; [$FD8A] Loop if not
$82/FD97 E6 01       INC $01       ; Else, increment the Row Counter
$82/FD99 A5 01       LDA $01       ; Check if it has exceeded the Map Width/NE-SW-Axis
$82/FD9B CD CA 16    CMP $16CA
$82/FD9E 90 D8       BCC $D8       ; [$FD78] If not, Loop, else exit
$82/FDA0 60          RTS

$82/FDC0 ?

$82/FDC0 7B          TDC                     A:0021 X:0021 Y:0387 P:envMxdizc
$82/FDC1 BF 00 D0 7F LDA $7FD000,x[$7F:D021] A:0000 X:0021 Y:0387 P:envMxdiZc
$82/FDC5 29 1F       AND #$1F                A:0003 X:0021 Y:0387 P:envMxdizc
$82/FDC7 C9 1F       CMP #$1F                A:0003 X:0021 Y:0387 P:envMxdizc
$82/FDC9 D0 2F       BNE $2F    [$FDFA]      A:0003 X:0021 Y:0387 P:eNvMxdizc
$82/FDCB BF 00 D0 7F LDA $7FD000,x[$7F:D1C6] A:001F X:01C6 Y:0387 P:envMxdiZC
$82/FDCF 29 E0       AND #$E0                A:007F X:01C6 Y:0387 P:envMxdizC
$82/FDD1 38          SEC                     A:0060 X:01C6 Y:0387 P:envMxdizC
$82/FDD2 E9 40       SBC #$40                A:0060 X:01C6 Y:0387 P:envMxdizC
$82/FDD4 B0 01       BCS $01    [$FDD7]      A:0020 X:01C6 Y:0387 P:envMxdizC
$82/FDD6 7B          TDC                     A:00C0 X:034D Y:0387 P:eNvMxdizc
$82/FDD7 09 1E       ORA #$1E                A:0020 X:01C6 Y:0387 P:envMxdizC
$82/FDD9 9F 00 D0 7F STA $7FD000,x[$7F:D1C6] A:003E X:01C6 Y:0387 P:envMxdizC
$82/FDDD 29 1F       AND #$1F                A:003E X:01C6 Y:0387 P:envMxdizC
$82/FDDF 9F 00 D4 7F STA $7FD400,x   ; Store in "Object" Type Map
$82/FDE3 5A          PHY             ; Buffer Y on stack
$82/FDE4 A8          TAY             ; Transfer "Object" Type Map value in Y as Load Index
$82/FDE5 B7 26       LDA [$26],y     ; Load value from Data Table
$82/FDE7 7A          PLY             ; Restore Y from stack
$82/FDE8 9F 00 CC 7F STA $7FCC00,x   ; Set A as value for the Terrain Type Map
$82/FDEC BF 00 C8 7F LDA $7FC800,x   ; Lower Step Map value by 2
$82/FDF0 3A          DEC A
$82/FDF1 3A          DEC A
$82/FDF2 9F 00 C8 7F STA $7FC800,x
$82/FDF6 9F 00 D8 7F STA $7FD800,x   ; Set lowered value as Height Map value
$82/FDFA 60          RTS

Bank $83

$83/A990 ? Color Calculation-related

This is about some color calculation. $20-22 and $23-25 both contain 24-addresses to colors.

$7EB140,x 1st color RED - 2nd color RED     000x.xxxx
$7EB141,x 2nd color RED                     xxxx.x000
$7EB160,x 1st color BLUE - 2nd color BLUE   000x.xxxx
$7EB161,x 2nd color BLUE                    xxxx.x000
$7EB180,x 1st color GREEN - 2nd color GREEN 000x.xxxx
$7EB181,x 2nd color GREEN                   xxxx.x000


$83/A990 7B          TDC           ; Clear 16-bit A
$83/A991 AD A6 17    LDA $17A6     ; Load number of colors to do
$83/A994 AA          TAX
$83/A995 86 06       STX $06       ; Store number of colors to do in $06 and clear $07
$83/A997 AD A7 17    LDA $17A7     ; (Load a Load Index)
$83/A99A C2 20       REP #$20      ; 16-bit A
$83/A99C 0A          ASL A         ; Multiply Load Index by 2 (values are 2 bytes in size)
$83/A99D A8          TAY           ; Transfer in Y
$83/A99E A2 00 00    LDX #$0000    ; Clear X (use as store index)
$83/A9A1 C2 20       REP #$20      ; 16-bit A again (necessary for loops)
$83/A9A3 B7 23       LDA [$23],y   ; Buffer 1st color in $02/$03
$83/A9A5 85 02       STA $02
$83/A9A7 B7 20       LDA [$20],y   ; Buffer 2nd color in $00/$01
$83/A9A9 85 00       STA $00
$83/A9AB E2 20       SEP #$20      ; A = 16-bit
$83/A9AD 29 1F       AND #$1F      ; Exempt RED Color Segment
$83/A9AF 85 04       STA $04       ; Buffer 2nd color RED in $04
$83/A9B1 0A          ASL A         ; Roll value left thrice
$83/A9B2 0A          ASL A
$83/A9B3 0A          ASL A
$83/A9B4 9F 41 B1 7E STA $7EB141,x ; Buffer that value
$83/A9B8 A5 02       LDA $02       ; Load 1st color
$83/A9BA 29 1F       AND #$1F      ; Exempt RED Color Segment
$83/A9BC 38          SEC           ; Subtract 2nd color RED
$83/A9BD E5 04       SBC $04
$83/A9BF 9F 40 B1 7E STA $7EB140,x ; Buffer result

$83/A9C3 C2 20       REP #$20      ; A = 16-bit
$83/A9C5 A5 00       LDA $00       ; Load 2nd color
$83/A9C7 29 E0 03    AND #$03E0    ; Exempt GREEN Color Segment
$83/A9CA 85 04       STA $04       ; Buffer it in $04/$05
$83/A9CC 4A          LSR A         ; Roll value right twice
$83/A9CD 4A          LSR A
$83/A9CE E2 20       SEP #$20      ; A = 8-bit
$83/A9D0 9F 81 B1 7E STA $7EB181,x ; Buffer that value
$83/A9D4 C2 20       REP #$20      ; A = 16-bit
$83/A9D6 A5 02       LDA $02       ; Load 1st color
$83/A9D8 29 E0 03    AND #$03E0    ; Exempt GREEN Color Segment
$83/A9DB 38          SEC           ; Subtract 2nd color GREEN
$83/A9DC E5 04       SBC $04
$83/A9DE 4A          LSR A         ; Roll result into position
$83/A9DF 4A          LSR A
$83/A9E0 4A          LSR A
$83/A9E1 4A          LSR A
$83/A9E2 4A          LSR A
$83/A9E3 E2 20       SEP #$20      ; A = 8-bit
$83/A9E5 9F 80 B1 7E STA $7EB180,x ; Buffer the result
$83/A9E9 A5 01       LDA $01       ; Load 2nd color high byte
$83/A9EB 29 7C       AND #$7C      ; Exempt BLUE Color Segment
$83/A9ED 85 04       STA $04       ; Buffer 2nd color BLUE in $04
$83/A9EF 0A          ASL A         ; Roll value left once
$83/A9F0 9F 61 B1 7E STA $7EB161,x ; Buffer value
$83/A9F4 A5 03       LDA $03       ; Load 1st color high byte
$83/A9F6 29 7C       AND #$7C      ; Exempt BLUE Color Segment
$83/A9F8 38          SEC           ; Subtract 2nd color BLUE
$83/A9F9 E5 04       SBC $04
$83/A9FB 10 06       BPL $06       ; [$AA03] Branch if the result is positive
code is missing here
$83/AA03 4A          LSR A         ; Roll result right twice
$83/AA04 4A          LSR A
$83/AA05 9F 60 B1 7E STA $7EB160,x ; Buffer result
$83/AA09 C8          INY           ; Increment Load Index twice
$83/AA0A C8          INY
$83/AA0B E8          INX           ; Increment Store Index twice
$83/AA0C E8          INX
$83/AA0D A5 00       LDA $00       ; This line could be removed!?!
$83/AA0F C6 06       DEC $06       ; Decrement number of colors to do
$83/AA11 D0 8E       BNE $8E       ; [$A9A1] Loop until counter runs out
$83/AA13 60          RTS

$83/AA14 ?

Jump to the subroutine above

$83/AA14 8B          PHB                     A:009C X:DEA2 Y:7000 P:eNvMxdizC
$83/AA15 4B          PHK                     A:009C X:DEA2 Y:7000 P:eNvMxdizC
$83/AA16 AB          PLB                     A:009C X:DEA2 Y:7000 P:eNvMxdizC
$83/AA17 20 90 A9    JSR $A990  [$83:A990]   A:009C X:DEA2 Y:7000 P:eNvMxdizC
$83/AA1A AB          PLB                     A:0000 X:0020 Y:0020 P:envMxdiZc
$83/AA1B 6B          RTL                     A:0000 X:0020 Y:0020 P:eNvMxdizc

Bank $84

$84/8000 ?

$84/8000 8B          PHB           ; Buffer Data Bank on stack
$84/8001 4B          PHK           ; Set Data Bank to $84
$84/8002 AB          PLB
$84/8003 9C F4 05    STZ $05F4  [$84:05F4]   A:0000 X:0040 Y:0000 P:eNvMxdizC
$84/8006 9C F5 05    STZ $05F5  [$84:05F5]   A:0000 X:0040 Y:0000 P:eNvMxdizC
$84/8009 9C C7 0E    STZ $0EC7     ; Clear Counter of used VRAM DMA Pipeline Entries
$84/800C 9C C9 11    STZ $11C9     ; Clear Number of the next free Animation VRAM DMA slot
$84/800F 9C CA 11    STZ $11CA     ; Clear Number of the first used Animation VRAM DMA slot
$84/8012 9C C5 0E    STZ $0EC5     ; Clear Data Size used VRAM DMA Pipeline Entries - Low Byte
$84/8015 9C C6 0E    STZ $0EC6     ; Clear Data Size used VRAM DMA Pipeline Entries - High Byte
$84/8018 22 5F 80 84 JSL $84805F[$84:805F]   A:0000 X:0040 Y:0000 P:eNvMxdizC
$84/801C AD F4 05    LDA $05F4  [$84:05F4]   A:0001 X:0026 Y:12C0 P:eNvMxdizc
$84/801F D0 F7       BNE $F7    [$8018]      A:0001 X:0026 Y:12C0 P:envMxdizc
$84/8021 A9 03       LDA #$03                A:0000 X:0026 Y:001E P:envMxdiZC
$84/8023 85 36       STA $36    [$00:0036]   A:0003 X:0026 Y:001E P:envMxdizC
$84/8025 AB          PLB           ; Restore Data Bank from stack
$84/8026 6B          RTL

$84/805F Do the Tile/Figure Animation

$05F4 is the General Animation Counter. It counts each frame from #$00 to #$07 and then gets reset. In the frames when the counter is $#00 or $01, this subroutine does the Tile Animation, like the movement of the water in the Opening Battle - it replaces the Tile graphics in VRAM via DMA. The other 6 counter steps/frames, this subroutine changes the Tile Graphics for two or four Figures.

$84/805F 8B          PHB           ; Preserve Data Bank on Stack
$84/8060 4B          PHK           ; Change Data Bank to $84
$84/8061 AB          PLB
$84/8062 AD C9 11    LDA $11C9     ; Load Number of the next free Animation VRAM DMA slot
$84/8065 CD CA 11    CMP $11CA     ; Check if all Animation VRAM DMA slots are used
$84/8068 F0 03       BEQ $03       ; [$806D] Branch if they are
$84/806A 4C CA 80    JMP $80CA     ; Exit if not
$84/806D D4 39       PEI ($39)     ; Push $39-$3C on Stack
$84/806F D4 3B       PEI ($3B)
$84/8071 7B          TDC           ; Clear 16-bit A
$84/8072 AD F4 05    LDA $05F4     ; Load the General Animation Counter
$84/8075 0A          ASL A         ; Use it as a Load Index for the Table at $84/837A - each entry is...
$84/8076 0A          ASL A         ; ... 4 bytes in size, so multiply Value by 4 and...
$84/8077 A8          TAY           ; Transfer it in Y
$84/8078 7B          TDC           ; Clear 16-bit A
$84/8079 B9 7A 83    LDA $837A,y   ; Load first byte
$84/807C 10 09       BPL $09       ; [$8087] Branch if positive - that means: Animate a Figure!
$84/807E C9 FF       CMP #$FF      ; (This can happen when there are only two figures to do per Frame)
$84/8080 F0 39       BEQ $39       ; [$80BB] Increment General Animation Counter and exit
$84/8082 20 2E E7    JSR $E72E     ; Do the Tile Animation
$84/8085 80 34       BRA $34       ; [$80BB] Increment General Animation Counter and exit
$84/8087 5A          PHY           ; Buffer Load Index on Stack
$84/8088 A8          TAY           ; Transfer it in Y - it's a Figure Number, use it as Load Index
$84/8089 B9 AE 17    LDA $17AE,y   ; Load Graphic Set of this Figure
$84/808C F0 26       BEQ $26       ; [$80B4] Leave this figure out if it has no Graphic Set = isn't activated
$84/808E C9 F0       CMP #$F0                A:0001 X:0026 Y:0000 P:envMxdizc
$84/8090 B0 04       BCS $04    [$8096]      A:0001 X:0026 Y:0000 P:envMxdizc
$84/8092 C9 DC       CMP #$DC                A:0001 X:0026 Y:0000 P:envMxdizc
$84/8094 B0 1E       BCS $1E    [$80B4]      A:0001 X:0026 Y:0000 P:envMxdizc
$84/8096 BE 3E 1E    LDX $1E3E,y[$84:1E3E]   A:0001 X:0026 Y:0000 P:envMxdizc
$84/8099 BD 03 06    LDA $0603,x[$84:0603]   A:0001 X:0000 Y:0000 P:envMxdiZc
$84/809C F0 16       BEQ $16    [$80B4]      A:0001 X:0000 Y:0000 P:envMxdizc
$84/809E B9 DF 19    LDA $19DF,y[$84:19DF]   A:0001 X:0000 Y:0000 P:envMxdizc
$84/80A1 89 40       BIT #$40                A:0000 X:0000 Y:0000 P:envMxdiZc
$84/80A3 D0 0F       BNE $0F    [$80B4]      A:0000 X:0000 Y:0000 P:envMxdiZc
$84/80A5 B9 DE 19    LDA $19DE,y[$84:19DE]   A:0000 X:0000 Y:0000 P:envMxdiZc
$84/80A8 89 02       BIT #$02                A:0000 X:0000 Y:0000 P:envMxdiZc
$84/80AA D0 08       BNE $08    [$80B4]      A:0000 X:0000 Y:0000 P:envMxdiZc
$84/80AC BD C3 06    LDA $06C3,x[$84:06C3]   A:0000 X:0000 Y:0000 P:envMxdiZc
$84/80AF F0 03       BEQ $03    [$80B4]      A:0008 X:0000 Y:0000 P:envMxdizc
$84/80B1 20 CC 80    JSR $80CC  [$84:80CC]   A:0008 X:0000 Y:0000 P:envMxdizc
$84/80B4 7A          PLY           ; Restore Load Index
$84/80B5 C8          INY           ; Increment it
$84/80B6 98          TYA           ; These two lines check if it was the fourth time it was incremented...
$84/80B7 89 03       BIT #$03
$84/80B9 D0 BD       BNE $BD       ; [$8078] Loop if it wasn't, else go on - inc General Anim Counter and exit
$84/80BB AD F4 05    LDA $05F4     ; Load the General Animation Counter
$84/80BE 1A          INC A         ; Increment it
$84/80BF 29 07       AND #$07      ; Jump back to #$00 if it was #$07 before
$84/80C1 8D F4 05    STA $05F4     ; Store General Animation Counter back
$84/80C4 FA          PLX           ; Restore $39-$3B from Stack
$84/80C5 86 3B       STX $3B
$84/80C7 FA          PLX
$84/80C8 86 39       STX $39
$84/80CA AB          PLB           ; Restore Data Bank
$84/80CB 6B          RTL

$84/80CC Figure Animation related

$84/80CC 86 3B       STX $3B       ; ??? (Buffer Figure's 1E3E value)
$84/80CE 84 39       STY $39       ; Buffer Figure's Number
$84/80D0 B9 DF 19    LDA $19DF,y[$84:19DF]   A:0008 X:0000 Y:0000 P:envMxdizc
$84/80D3 10 20       BPL $20    [$80F5]      A:0000 X:0000 Y:0000 P:envMxdiZc
$84/80F5 B9 AE 17    LDA $17AE,y   ; Load Figure's Graphic Set
$84/80F8 C9 F0       CMP #$F0                A:0032 X:0000 Y:0000 P:envMxdizc
$84/80FA B0 25       BCS $25    [$8121]      A:0032 X:0000 Y:0000 P:envMxdizc
$84/80FC B9 DE 19    LDA $19DE,y[$84:19DE]   A:0032 X:0000 Y:0000 P:envMxdizc
$84/80FF 4A          LSR A                   A:0000 X:0000 Y:0000 P:envMxdiZc
$84/8100 90 0B       BCC $0B    [$810D]      A:0000 X:0000 Y:0000 P:envMxdiZc
$84/810D BB          TYX                     A:0000 X:0000 Y:0000 P:envMxdiZc
$84/810E 20 67 C2    JSR $C267  [$84:C267]   A:0000 X:0000 Y:0000 P:envMxdiZc
$84/8111 D9 EF 1D    CMP $1DEF,y[$84:1DEF]   A:0001 X:0000 Y:0000 P:envMxdiZc
$84/8114 F0 0B       BEQ $0B    [$8121]      A:0001 X:0000 Y:0000 P:envMxdiZC
$84/8121 B9 17 1E    LDA $1E17,y[$84:1E17]   A:0001 X:0000 Y:0000 P:envMxdiZC
$84/8124 F0 06       BEQ $06    [$812C]      A:0001 X:0000 Y:0000 P:envMxdizC
$84/8126 3A          DEC A                   A:0001 X:0000 Y:0000 P:envMxdizC
$84/8127 99 17 1E    STA $1E17,y[$84:1E17]   A:0000 X:0000 Y:0000 P:envMxdiZC
$84/812A D0 45       BNE $45    [$8171]      A:0000 X:0000 Y:0000 P:envMxdiZC
$84/812C 7B          TDC                     A:0000 X:0000 Y:0000 P:envMxdiZC
$84/812D B9 EF 1D    LDA $1DEF,y[$84:1DEF]   A:0000 X:0000 Y:0000 P:envMxdiZC
$84/8130 AA          TAX                     A:0001 X:0000 Y:0000 P:envMxdizC
$84/8131 BD A6 83    LDA $83A6,x[$84:83A7]   A:0001 X:0001 Y:0000 P:envMxdizC
$84/8134 18          CLC                     A:0005 X:0001 Y:0000 P:envMxdizC
$84/8135 79 16 1E    ADC $1E16,y[$84:1E16]   A:0005 X:0001 Y:0000 P:envMxdizc
$84/8138 AA          TAX                     A:0009 X:0001 Y:0000 P:envMxdizc
$84/8139 BD C9 83    LDA $83C9,x[$84:83D2]   A:0009 X:0009 Y:0000 P:envMxdizc
$84/813C 10 07       BPL $07    [$8145]      A:00FF X:0009 Y:0000 P:eNvMxdizc
$84/813E A9 00       LDA #$00                A:00FF X:0009 Y:0000 P:eNvMxdizc
$84/8140 99 16 1E    STA $1E16,y[$84:1E16]   A:0000 X:0009 Y:0000 P:envMxdiZc
$84/8143 80 E7       BRA $E7    [$812C]      A:0000 X:0009 Y:0000 P:envMxdiZc
$84/8145 48          PHA                     A:0007 X:0005 Y:0000 P:envMxdizc
$84/8146 B9 DE 19    LDA $19DE,y[$84:19DE]   A:0007 X:0005 Y:0000 P:envMxdizc
$84/8149 89 20       BIT #$20                A:0000 X:0005 Y:0000 P:envMxdiZc
$84/814B D0 0E       BNE $0E    [$815B]      A:0000 X:0005 Y:0000 P:envMxdiZc
$84/814D 89 40       BIT #$40                A:0000 X:0005 Y:0000 P:envMxdiZc
$84/814F D0 05       BNE $05    [$8156]      A:0000 X:0005 Y:0000 P:envMxdiZc
$84/8151 BD 9C 84    LDA $849C,x[$84:84A1]   A:0000 X:0005 Y:0000 P:envMxdiZc
$84/8154 80 08       BRA $08    [$815E]      A:0001 X:0005 Y:0000 P:envMxdizc
$84/815E 99 17 1E    STA $1E17,y[$84:1E17]   A:0001 X:0005 Y:0000 P:envMxdizc
$84/8161 B9 16 1E    LDA $1E16,y[$84:1E16]   A:0001 X:0005 Y:0000 P:envMxdizc
$84/8164 1A          INC A                   A:0000 X:0005 Y:0000 P:envMxdiZc
$84/8165 99 16 1E    STA $1E16,y[$84:1E16]   A:0001 X:0005 Y:0000 P:envMxdizc
$84/8168 68          PLA                     A:0001 X:0005 Y:0000 P:envMxdizc
$84/8169 A6 3B       LDX $3B    [$00:003B]   A:0007 X:0005 Y:0000 P:envMxdizc
$84/816B 9D C4 06    STA $06C4,x[$84:06C4]   A:0007 X:0000 Y:0000 P:envMxdiZc
$84/816E 20 72 81    JSR $8172  [$84:8172]   A:0007 X:0000 Y:0000 P:envMxdiZc
$84/8171 60          RTS                     A:00FF X:000E Y:8A23 P:envMxdiZC

$84/8172 Figure Animation related

$84/8172 3A          DEC A                   A:0007 X:0000 Y:0000 P:envMxdiZc
$84/8173 30 5E       BMI $5E       ; [$81D3] Exit if A was 0
$84/8175 0A          ASL A                   A:0006 X:0000 Y:0000 P:envMxdizc
$84/8176 85 00       STA $00    [$00:0000]   A:000C X:0000 Y:0000 P:envMxdizc
$84/8178 64 01       STZ $01    [$00:0001]   A:000C X:0000 Y:0000 P:envMxdizc
$84/817A 7B          TDC                     A:000C X:0000 Y:0000 P:envMxdizc
$84/817B BD 03 06    LDA $0603,x[$84:0603]   A:0000 X:0000 Y:0000 P:envMxdiZc
$84/817E 3A          DEC A                   A:0001 X:0000 Y:0000 P:envMxdizc
$84/817F C2 20       REP #$20                A:0000 X:0000 Y:0000 P:envMxdiZc
$84/8181 0A          ASL A                   A:0000 X:0000 Y:0000 P:envmxdiZc
$84/8182 A8          TAY                     A:0000 X:0000 Y:0000 P:envmxdiZc
$84/8183 B9 15 87    LDA $8715,y[$84:8715]   A:0000 X:0000 Y:0000 P:envmxdiZc
$84/8186 65 00       ADC $00    [$00:0000]   A:87D5 X:0000 Y:0000 P:eNvmxdizc
$84/8188 A8          TAY                     A:87E1 X:0000 Y:0000 P:eNvmxdizc
$84/8189 B9 00 00    LDA $0000,y[$84:87E1]   A:87E1 X:0000 Y:87E1 P:eNvmxdizc
$84/818C A8          TAY                     A:8A14 X:0000 Y:87E1 P:eNvmxdizc
$84/818D BD C3 06    LDA $06C3,x[$84:06C3]   A:8A14 X:0000 Y:8A14 P:eNvmxdizc
$84/8190 29 FF 00    AND #$00FF              A:0708 X:0000 Y:8A14 P:envmxdizc
$84/8193 20 13 9E    JSR $9E13  [$84:9E13]   A:0008 X:0000 Y:8A14 P:envmxdizc
$84/8196 85 02       STA $02    [$00:0002]   A:4400 X:0000 Y:8A14 P:envmxdizc
$84/8198 85 04       STA $04    [$00:0004]   A:4400 X:0000 Y:8A14 P:envmxdizc
$84/819A E2 20       SEP #$20                A:4400 X:0000 Y:8A14 P:envmxdizc
$84/819C 7B          TDC                     A:4400 X:0000 Y:8A14 P:envMxdizc
$84/819D B9 00 00    LDA $0000,y[$84:8A14]   A:0000 X:0000 Y:8A14 P:envMxdiZc
$84/81A0 10 09       BPL $09    [$81AB]      A:0081 X:0000 Y:8A14 P:eNvMxdizc
$84/81A2 C9 FF       CMP #$FF                A:0081 X:0000 Y:8A14 P:eNvMxdizc
$84/81A4 F0 2D       BEQ $2D    [$81D3]      A:0081 X:0000 Y:8A14 P:eNvMxdizc
$84/81A6 20 1A 82    JSR $821A  [$84:821A]   A:0081 X:0000 Y:8A14 P:eNvMxdizc
$84/81A9 80 F1       BRA $F1    [$819C]      A:3A01 X:0000 Y:8A16 P:eNvMxdizc
$84/81AB C2 20       REP #$20                A:0002 X:0000 Y:8A16 P:envMxdizc
$84/81AD EB          XBA                     A:0002 X:0000 Y:8A16 P:envmxdizc
$84/81AE 4A          LSR A                   A:0200 X:0000 Y:8A16 P:envmxdiZc
$84/81AF 4A          LSR A                   A:0100 X:0000 Y:8A16 P:envmxdizc
$84/81B0 4A          LSR A                   A:0080 X:0000 Y:8A16 P:envmxdizc
$84/81B1 85 0C       STA $0C    [$00:000C]   A:0040 X:0000 Y:8A16 P:envmxdizc
$84/81B3 E2 20       SEP #$20                A:0040 X:0000 Y:8A16 P:envmxdizc
$84/81B5 BE 01 00    LDX $0001,y[$84:8A17]   A:0040 X:0000 Y:8A16 P:envMxdizc
$84/81B8 C8          INY                     A:0040 X:0728 Y:8A16 P:envMxdizc
$84/81B9 C8          INY                     A:0040 X:0728 Y:8A17 P:eNvMxdizc
$84/81BA C8          INY                     A:0040 X:0728 Y:8A18 P:eNvMxdizc
$84/81BB 5A          PHY                     A:0040 X:0728 Y:8A19 P:eNvMxdizc
$84/81BC 20 D4 81    JSR $81D4  [$84:81D4]   A:0040 X:0728 Y:8A19 P:eNvMxdizc
$84/81BF A4 04       LDY $04       ; Load VRAM Destination
$84/81C1 22 B7 9F 80 JSL $809FB7   ; Animation VRAM DMA
$84/81C5 7A          PLY                     A:9F05 X:0008 Y:4400 P:eNvMxdizc
$84/81C6 C2 20       REP #$20                A:9F05 X:0008 Y:8A19 P:eNvMxdizc
$84/81C8 A5 0C       LDA $0C    [$00:000C]   A:9F05 X:0008 Y:8A19 P:eNvmxdizc
$84/81CA 4A          LSR A                   A:0040 X:0008 Y:8A19 P:envmxdizc
$84/81CB 65 04       ADC $04    [$00:0004]   A:0020 X:0008 Y:8A19 P:envmxdizc
$84/81CD 85 04       STA $04    [$00:0004]   A:4420 X:0008 Y:8A19 P:envmxdizc
$84/81CF E2 20       SEP #$20                A:4420 X:0008 Y:8A19 P:envmxdizc
$84/81D1 80 C9       BRA $C9    [$819C]      A:4420 X:0008 Y:8A19 P:envMxdizc
$84/81D3 60          RTS

$84/81D4 Figure Animation related

$84/81D4 C2 21       REP #$21                A:0040 X:0728 Y:8A19 P:eNvMxdizc
$84/81D6 8A          TXA                     A:0040 X:0728 Y:8A19 P:eNvmxdizc
$84/81D7 10 13       BPL $13    [$81EC]      A:0728 X:0728 Y:8A19 P:envmxdizc
$84/81D9 0A          ASL A                   A:8000 X:8000 Y:89D9 P:eNvmxdizc
$84/81DA 0A          ASL A                   A:0000 X:8000 Y:89D9 P:envmxdiZC
$84/81DB 0A          ASL A                   A:0000 X:8000 Y:89D9 P:envmxdiZc
$84/81DC 0A          ASL A                   A:0000 X:8000 Y:89D9 P:envmxdiZc
$84/81DD 0A          ASL A                   A:0000 X:8000 Y:89D9 P:envmxdiZc
$84/81DE 69 00 80    ADC #$8000              A:0000 X:8000 Y:89D9 P:envmxdiZc
$84/81E1 EB          XBA                     A:8000 X:8000 Y:89D9 P:eNvmxdizc
$84/81E2 E2 20       SEP #$20                A:0080 X:8000 Y:89D9 P:eNvmxdizc
$84/81E4 65 39       ADC $39    [$00:0039]   A:0080 X:8000 Y:89D9 P:eNvMxdizc
$84/81E6 EB          XBA                     A:0086 X:8000 Y:89D9 P:eNvMxdizc
$84/81E7 AA          TAX                     A:8600 X:8000 Y:89D9 P:envMxdiZc
$84/81E8 A9 7E       LDA #$7E                A:8600 X:8600 Y:89D9 P:eNvMxdizc
$84/81EA 80 2D       BRA $2D    [$8219]      A:867E X:8600 Y:89D9 P:envMxdizc
$84/81EC 0A          ASL A         ; Multiply by #$20
$84/81ED 0A          ASL A
$84/81EE 0A          ASL A
$84/81EF 0A          ASL A
$84/81F0 0A          ASL A
$84/81F1 29 FF 7F    AND #$7FFF    ; This line could be removed?
$84/81F4 18          CLC           ; This line could be removed?
$84/81F5 69 00 80    ADC #$8000    ; This line could be removed?
$84/81F8 09 00 80    ORA #$8000    ; Set MSB
$84/81FB 85 06       STA $06    [$00:0006]   A:E500 X:0728 Y:8A19 P:eNvmxdizc
$84/81FD 8A          TXA                     A:E500 X:0728 Y:8A19 P:eNvmxdizc
$84/81FE EB          XBA                     A:0728 X:0728 Y:8A19 P:envmxdizc
$84/81FF E2 20       SEP #$20                A:2807 X:0728 Y:8A19 P:envmxdizc
$84/8201 08          PHP                     A:2807 X:0728 Y:8A19 P:envMxdizc
$84/8202 4A          LSR A                   A:2807 X:0728 Y:8A19 P:envMxdizc
$84/8203 4A          LSR A                   A:2803 X:0728 Y:8A19 P:envMxdizC
$84/8204 28          PLP                     A:2801 X:0728 Y:8A19 P:envMxdizC
$84/8205 69 B7       ADC #$B7                A:2801 X:0728 Y:8A19 P:envMxdizc
$84/8207 85 08       STA $08    [$00:0008]   A:28B8 X:0728 Y:8A19 P:eNvMxdizc
$84/8209 C2 21       REP #$21                A:28B8 X:0728 Y:8A19 P:eNvMxdizc
$84/820B A5 20       LDA $20    [$00:0020]   A:28B8 X:0728 Y:8A19 P:eNvmxdizc
$84/820D 65 06       ADC $06    [$00:0006]   A:3A00 X:0728 Y:8A19 P:envmxdizc
$84/820F 09 00 80    ORA #$8000              A:1F00 X:0728 Y:8A19 P:envmxdizC
$84/8212 AA          TAX                     A:9F00 X:0728 Y:8A19 P:eNvmxdizC
$84/8213 E2 20       SEP #$20                A:9F00 X:9F00 Y:8A19 P:eNvmxdizC
$84/8215 A5 22       LDA $22    [$00:0022]   A:9F00 X:9F00 Y:8A19 P:eNvMxdizC
$84/8217 65 08       ADC $08    [$00:0008]   A:9F01 X:9F00 Y:8A19 P:envMxdizC
$84/8219 60          RTS                     A:9FBA X:9F00 Y:8A19 P:eNvMxdizc

$84/821A Use Jump Table

$84/821A 0A          ASL A                   A:0081 X:0000 Y:89C4 P:eNvMxdizc
$84/821B AA          TAX                     A:0002 X:0000 Y:89C4 P:envMxdizC
$84/821C 7C 1F 82    JMP ($821F,x)[$84:8254] A:0002 X:0002 Y:89C4 P:envMxdizC

$84/821F Jump Table for $84/821A

2F 82 - $822F - Entry #$00
54 82 - $8254 - Entry #$01
3E 82 - $823E - Entry #$02
54 82 - $8254 - Entry #$03
A4 82 - $82A4 - Entry #$04
E4 82 - $82E4 - Entry #$05
CD 82 - $82CD - Entry #$06
4D 83 - $834D - Entry #$07

$84/822F ?

$84/822F C2 21       REP #$21                A:0000 X:0000 Y:8A1C P:envMxdiZC
$84/8231 A5 02       LDA $02    [$00:0002]   A:0000 X:0000 Y:8A1C P:envmxdiZc
$84/8233 69 00 01    ADC #$0100              A:4400 X:0000 Y:8A1C P:envmxdizc
$84/8236 85 02       STA $02    [$00:0002]   A:4500 X:0000 Y:8A1C P:envmxdizc
$84/8238 85 04       STA $04    [$00:0004]   A:4500 X:0000 Y:8A1C P:envmxdizc
$84/823A E2 20       SEP #$20                A:4500 X:0000 Y:8A1C P:envmxdizc
$84/823C C8          INY                     A:4500 X:0000 Y:8A1C P:envMxdizc
$84/823D 60          RTS                     A:4500 X:0000 Y:8A1D P:eNvMxdizc

$84/8254 ?

$84/8254 A6 39       LDX $39    [$00:0039]   A:0002 X:0002 Y:8A14 P:envMxdizC
$84/8256 22 38 A1 88 JSL $88A138   ; Load Figure's Character Class/Graphic Set number
$84/825A DA          PHX           ; Buffer X (Figure Number) on stack
$84/825B C2 20       REP #$20      ; A = 16-bit
$84/825D 0A          ASL A         ; X = A * 4 (To use it as Load Index for...
$84/825E 0A          ASL A         ; ... a Table with 4 byte entries)
$84/825F AA          TAX
$84/8260 E2 20       SEP #$20      ; A = 8-bit
$84/8262 7B          TDC           ; Clear 16-bit A
$84/8263 BF 41 A6 84 LDA $84A641,x[$84:A709] A:0000 X:00C8 Y:8A14 P:envMxdiZc
$84/8267 FA          PLX           ; Restore X (Figure Number from $39) from stack
$84/8268 85 20       STA $20    [$00:0020]   A:001F X:0000 Y:8A14 P:envMxdiZc
$84/826A 64 21       STZ $21    [$00:0021]   A:001F X:0000 Y:8A14 P:envMxdiZc
$84/826C B9 01 00    LDA $0001,y[$84:8A15]   A:001F X:0000 Y:8A14 P:envMxdiZc
$84/826F D0 04       BNE $04    [$8275]      A:0006 X:0000 Y:8A14 P:envMxdizc
code is missing here
$84/8275 C9 03       CMP #$03                A:0006 X:0000 Y:8A14 P:envMxdizc
$84/8277 D0 0D       BNE $0D    [$8286]      A:0006 X:0000 Y:8A14 P:envMxdizC
$84/8279 C2 21       REP #$21                A:0003 X:0000 Y:8A14 P:envMxdiZC
$84/827B A5 20       LDA $20    [$00:0020]   A:0003 X:0000 Y:8A14 P:envmxdiZc
$84/827D 0A          ASL A                   A:003E X:0000 Y:8A14 P:envmxdizc
$84/827E 65 20       ADC $20    [$00:0020]   A:007C X:0000 Y:8A14 P:envmxdizc
$84/8280 85 20       STA $20    [$00:0020]   A:00BA X:0000 Y:8A14 P:envmxdizc
$84/8282 E2 20       SEP #$20                A:00BA X:0000 Y:8A14 P:envmxdizc
$84/8284 80 09       BRA $09    [$828F]      A:00BA X:0000 Y:8A14 P:envMxdizc
$84/8286 4A          LSR A                   A:0006 X:0000 Y:8A14 P:envMxdizC
$84/8287 F0 06       BEQ $06    [$828F]      A:0003 X:0000 Y:8A14 P:envMxdizc
$84/8289 06 20       ASL $20    [$00:0020]   A:0003 X:0000 Y:8A14 P:envMxdizc
$84/828B 26 21       ROL $21    [$00:0021]   A:0003 X:0000 Y:8A14 P:envMxdizc
$84/828D 80 E6       BRA $E6    [$8275]      A:0003 X:0000 Y:8A14 P:envMxdiZc
$84/828F C2 20       REP #$20                A:00BA X:0000 Y:8A14 P:envMxdizc
$84/8291 A5 20       LDA $20    [$00:0020]   A:00BA X:0000 Y:8A14 P:envmxdizc
$84/8293 E2 20       SEP #$20                A:00BA X:0000 Y:8A14 P:envmxdizc
$84/8295 C9 80       CMP #$80                A:00BA X:0000 Y:8A14 P:envMxdizc
$84/8297 29 7F       AND #$7F                A:00BA X:0000 Y:8A14 P:envMxdizC
$84/8299 64 20       STZ $20    [$00:0020]   A:003A X:0000 Y:8A14 P:envMxdizC
$84/829B 85 21       STA $21    [$00:0021]   A:003A X:0000 Y:8A14 P:envMxdizC
$84/829D EB          XBA                     A:003A X:0000 Y:8A14 P:envMxdizC
$84/829E 2A          ROL A                   A:3A00 X:0000 Y:8A14 P:envMxdiZC
$84/829F 85 22       STA $22    [$00:0022]   A:3A01 X:0000 Y:8A14 P:envMxdizc
$84/82A1 C8          INY                     A:3A01 X:0000 Y:8A14 P:envMxdizc
$84/82A2 C8          INY                     A:3A01 X:0000 Y:8A15 P:eNvMxdizc
$84/82A3 60          RTS

$84/82A4 ?

$84/82A4 7B          TDC                     A:0008 X:0008 Y:8C90 P:envMxdizC
$84/82A5 B9 01 00    LDA $0001,y[$84:8C91]   A:0000 X:0008 Y:8C90 P:envMxdiZC
$84/82A8 C2 20       REP #$20                A:0002 X:0008 Y:8C90 P:envMxdizC
$84/82AA EB          XBA                     A:0002 X:0008 Y:8C90 P:envmxdizC
$84/82AB 4A          LSR A                   A:0200 X:0008 Y:8C90 P:envmxdiZC
$84/82AC 4A          LSR A                   A:0100 X:0008 Y:8C90 P:envmxdizc
$84/82AD 4A          LSR A                   A:0080 X:0008 Y:8C90 P:envmxdizc
$84/82AE 85 0C       STA $0C    [$00:000C]   A:0040 X:0008 Y:8C90 P:envmxdizc
$84/82B0 E2 20       SEP #$20                A:0040 X:0008 Y:8C90 P:envmxdizc
$84/82B2 C8          INY                     A:0040 X:0008 Y:8C90 P:envMxdizc
$84/82B3 C8          INY                     A:0040 X:0008 Y:8C91 P:eNvMxdizc
$84/82B4 5A          PHY                     A:0040 X:0008 Y:8C92 P:eNvMxdizc
$84/82B5 A4 04       LDY $04    [$00:0004]   A:0040 X:0008 Y:8C92 P:eNvMxdizc
$84/82B7 A2 15 B8    LDX #$B815    ; VRAM DMA Source Address: #$84/B815
$84/82BA A9 84       LDA #$84
$84/82BC 22 B7 9F 80 JSL $809FB7   ; Animation VRAM DMA
$84/82C0 7A          PLY                     A:1800 X:0040 Y:4740 P:eNvMxdizc
$84/82C1 C2 20       REP #$20                A:1800 X:0040 Y:8C92 P:eNvMxdizc
$84/82C3 A5 0C       LDA $0C    [$00:000C]   A:1800 X:0040 Y:8C92 P:eNvmxdizc
$84/82C5 4A          LSR A                   A:0040 X:0040 Y:8C92 P:envmxdizc
$84/82C6 65 04       ADC $04    [$00:0004]   A:0020 X:0040 Y:8C92 P:envmxdizc
$84/82C8 85 04       STA $04    [$00:0004]   A:4760 X:0040 Y:8C92 P:envmxdizc
$84/82CA E2 20       SEP #$20                A:4760 X:0040 Y:8C92 P:envmxdizc
$84/82CC 60          RTS                     A:4760 X:0040 Y:8C92 P:envMxdizc

$84/837A Tile/Sprite Animation To-Do-List for each General Animation Counter Value

80 FF FF FF - Entry #$00 - Do the Tile Animation
81 FF FF FF - Entry #$01 - Do the Tile Animation and Increment $05F5
00 02 04 06 - Entry #$02 - Do the Figure Animation for #$00, #$02, #$04 and #$06
08 0A 0C 0E - Entry #$03 - Do the Figure Animation for #$08, #$0A, #$0C and #$0E
10 12 FF FF - Entry #$04 - Do the Figure Animation for #$10, and #$12
14 16 18 1A - Entry #$05 - Do the Figure Animation for #$14, #$16, #$18 and #$1A
1C 1E 20 22 - Entry #$06 - Do the Figure Animation for #$1C, #$1E, #$20 and #$22
24 26 FF FF - Entry #$07 - Do the Figure Animation for #$24, and #$26

$84/964C ?

$84/964C 8B          PHB           ; Preserve Data Bank on Stack
$84/964D 4B          PHK           ; Change Data Bank to $84
$84/964E AB          PLB
$84/964F 20 54 96    JSR $9654  [$84:9654]   A:0000 X:003E Y:000A P:eNvMxdizc
$84/9652 AB          PLB           ; Restore old bank
$84/9653 6B          RTL

$84/9654 ?

$84/9654 08          PHP           ; Push Status Register
$84/9655 C2 10       REP #$10      ; X/Y = 16 bit
$84/9657 BD 04 07    LDA $0704,x[$84:0742]   A:0000 X:003E Y:000A P:eNvMxdizc
$84/965A 89 04       BIT #$04                A:0000 X:003E Y:000A P:envMxdiZc
$84/965C F0 07       BEQ $07    [$9665]      A:0000 X:003E Y:000A P:envMxdiZc
Code is missing here
$84/9665 BD 84 06    LDA $0684,x[$84:06C2]   A:0000 X:003E Y:000A P:envMxdiZc
$84/9668 F0 0B       BEQ $0B    [$9675]      A:0005 X:003E Y:000A P:envMxdizc
$84/966A C9 FF       CMP #$FF                A:0005 X:003E Y:000A P:envMxdizc
$84/966C F0 05       BEQ $05    [$9673]      A:0005 X:003E Y:000A P:envMxdizc
$84/966E DE 84 06    DEC $0684,x[$84:06C2]   A:0005 X:003E Y:000A P:envMxdizc
$84/9671 F0 02       BEQ $02    [$9675]      A:0005 X:003E Y:000A P:envMxdizc
$84/9673 28          PLP           ; Restore Status Register
$84/9674 60          RTS

$84/9675 8B          PHB                     A:0001 X:003E Y:000A P:envMxdiZc
$84/9676 A9 8A       LDA #$8A                A:0001 X:003E Y:000A P:envMxdiZc
$84/9678 48          PHA                     A:008A X:003E Y:000A P:eNvMxdizc
$84/9679 AB          PLB                     A:008A X:003E Y:000A P:eNvMxdizc
$84/967A 7B          TDC                     A:008A X:003E Y:000A P:eNvMxdizc
$84/967B BD 03 06    LDA $0603,x[$8A:0641]   A:0000 X:003E Y:000A P:envMxdiZc
$84/967E F0 35       BEQ $35    [$96B5]      A:00C9 X:003E Y:000A P:eNvMxdizc
$84/9680 BD 43 06    LDA $0643,x[$8A:0681]   A:00C9 X:003E Y:000A P:eNvMxdizc
$84/9683 C2 20       REP #$20                A:00C9 X:003E Y:000A P:eNvMxdizc
$84/9685 0A          ASL A                   A:00C9 X:003E Y:000A P:eNvmxdizc
$84/9686 A8          TAY                     A:0192 X:003E Y:000A P:envmxdizc
$84/9687 B9 7A ED    LDA $ED7A,y[$8A:EF0C]   A:0192 X:003E Y:0192 P:envmxdizc
$84/968A 85 20       STA $20    [$00:0020]   A:F131 X:003E Y:0192 P:eNvmxdizc
$84/968C E2 20       SEP #$20                A:F131 X:003E Y:0192 P:eNvmxdizc
$84/968E 7B          TDC                     A:F131 X:003E Y:0192 P:eNvMxdizc
$84/968F BD 44 06    LDA $0644,x[$8A:0682]   A:0000 X:003E Y:0192 P:envMxdiZc
$84/9692 0A          ASL A                   A:0000 X:003E Y:0192 P:envMxdiZc
$84/9693 A8          TAY                     A:0000 X:003E Y:0192 P:envMxdiZc
$84/9694 C2 20       REP #$20                A:0000 X:003E Y:0000 P:envMxdiZc
$84/9696 B1 20       LDA ($20),y[$8A:F131]   A:0000 X:003E Y:0000 P:envmxdiZc
$84/9698 85 29       STA $29    [$00:0029]   A:F13D X:003E Y:0000 P:eNvmxdizc
$84/969A E2 20       SEP #$20                A:F13D X:003E Y:0000 P:eNvmxdizc
$84/969C 7B          TDC                     A:F13D X:003E Y:0000 P:eNvMxdizc
$84/969D BD 83 06    LDA $0683,x[$8A:06C1]   A:0000 X:003E Y:0000 P:envMxdiZc
$84/96A0 A8          TAY                     A:0002 X:003E Y:0000 P:envMxdizc
$84/96A1 B1 29       LDA ($29),y[$8A:F13F]   A:0002 X:003E Y:0002 P:envMxdizc
$84/96A3 C8          INY                     A:0003 X:003E Y:0002 P:envMxdizc
$84/96A4 C9 C0       CMP #$C0                A:0003 X:003E Y:0003 P:envMxdizc
$84/96A6 B0 12       BCS $12    [$96BA]      A:0003 X:003E Y:0003 P:envMxdizc
$84/96A8 9D 04 06    STA $0604,x[$8A:0642]   A:0003 X:003E Y:0003 P:envMxdizc
$84/96AB B1 29       LDA ($29),y[$8A:F140]   A:0003 X:003E Y:0003 P:envMxdizc
$84/96AD 9D 84 06    STA $0684,x[$8A:06C2]   A:0003 X:003E Y:0003 P:envMxdizc
$84/96B0 C8          INY                     A:0003 X:003E Y:0003 P:envMxdizc
$84/96B1 98          TYA                     A:0003 X:003E Y:0004 P:envMxdizc
$84/96B2 9D 83 06    STA $0683,x[$8A:06C1]   A:0004 X:003E Y:0004 P:envMxdizc
$84/96B5 A6 3B       LDX $3B    [$00:003B]   A:0004 X:003E Y:0004 P:envMxdizc
$84/96B7 AB          PLB                     A:0004 X:003E Y:0004 P:envMxdizc
$84/96B8 28          PLP                     A:0004 X:003E Y:0004 P:eNvMxdizc
$84/96B9 60          RTS

$84/96BA Use Jump Table

$84/96BA 49 FF       EOR #$FF                A:00FD X:003E Y:0013 P:envMxdizC
$84/96BC 0A          ASL A         ; Multiply by 2 - 2 bytes per entry (16-bit addresses)
$84/96BD AA          TAX           ; Transfer in X
$84/96BE C2 20       REP #$20      ; 16-bit A
$84/96C0 BF CD 96 84 LDA $8496CD,x ; Load Addres from Address Table
$84/96C4 85 00       STA $00       ; Store in $00/1
$84/96C6 E2 20       SEP #$20      ; 8-bit A again
$84/96C8 A6 3B       LDX $3B    [$00:003B]   A:97A0 X:0004 Y:0013 P:eNvMxdizc
$84/96CA 6C 00 00    JMP ($0000)   ; Jump to Address from Address Table
$84/96CD 50 97 --- Entry #$00 - $9750
$84/96CF 87 97 --- Entry #$01 - $9787
$84/96D1 A0 97 --- Entry #$02 - $97A0
$84/96D3 A6 97 --- Entry #$03 - $97A6
$84/96D5 AE 97 --- Entry #$04 - $97AE
$84/96D7 CB 97 --- Entry #$05 - $97CB
$84/96D9 EE 97 --- Entry #$06 - $97EE
$84/96DB 22 98 --- Entry #$07 - $9822
$84/96DD 34 98 --- Entry #$08 - $9834
$84/96DF A6 98 --- Entry #$09 - $98A6
$84/96E1 DF 98 --- Entry #$0A - $98DF
$84/96E3 12 99 --- Entry #$0B - $9912
$84/96E5 9B 99 --- Entry #$0C - $999B
$84/96E7 C0 99 --- Entry #$0D - $99C0
$84/96E9 DF 99 --- Entry #$0E - $99DF
$84/96EB 7A 97 --- Entry #$0F - $977A
$84/96ED 73 9A --- Entry #$10 - $9A73
$84/96EF 43 9A --- Entry #$11 - $9A43
$84/96F1 13 9A --- Entry #$12 - $9A13
$84/96F3 37 99 --- Entry #$13 - $9937
$84/96F5 3B 99 --- Entry #$14 - $993B
$84/96F7 3F 99 --- Entry #$15 - $993F
$84/96F9 61 99 --- Entry #$16 - $9961
$84/96FB 68 99 --- Entry #$17 - $9968
$84/96FD 74 99 --- Entry #$18 - $9974
$84/96FF F2 97 --- Entry #$19 - $97F2
$84/9701 13 98 --- Entry #$1A - $9813
$84/9703 97 99 --- Entry #$1B - $9997
$84/9705 93 99 --- Entry #$1C - $9993
$84/9707 8F 99 --- Entry #$1D - $998F
$84/9709 8B 99 --- Entry #$1E - $998B
$84/970B 87 99 --- Entry #$1F - $9987
$84/970D 94 9A --- Entry #$20 - $9A94
$84/970F 98 9A --- Entry #$21 - $9A98
$84/9711 9C 9A --- Entry #$22 - $9A9C
$84/9713 A0 9A --- Entry #$23 - $9AA0
$84/9715 A4 9A --- Entry #$24 - $9AA4
$84/9717 A8 9A --- Entry #$25 - $9AA8
$84/9719 AC 9A --- Entry #$26 - $9AAC
$84/971B B0 9A --- Entry #$27 - $9AB0
$84/971D 08 9B --- Entry #$28 - $9B08
$84/971F 0C 9B --- Entry #$29 - $9B0C
$84/9721 10 9B --- Entry #$2A - $9B10
$84/9723 14 9B --- Entry #$2B - $9B14
$84/9725 18 9B --- Entry #$2C - $9B18
$84/9727 1C 9B --- Entry #$2D - $9B1C
$84/9729 20 9B --- Entry #$2E - $9B20
$84/972B 24 9B --- Entry #$2F - $9B24
$84/972D 28 9B --- Entry #$30 - $9B28
$84/972F 2C 9B --- Entry #$31 - $9B2C
$84/9731 30 9B --- Entry #$32 - $9B30
$84/9733 34 9B --- Entry #$33 - $9B34
$84/9735 38 9B --- Entry #$34 - $9B38
$84/9737 3C 9B --- Entry #$35 - $9B3C
$84/9739 40 9B --- Entry #$36 - $9B40
$84/973B 44 9B --- Entry #$37 - $9B44
$84/973D 48 9B --- Entry #$38 - $9B48
$84/973F 4C 9B --- Entry #$39 - $9B4C
$84/9741 50 9B --- Entry #$3A - $9B50
$84/9743 54 9B --- Entry #$3B - $9B54
$84/9745 58 9B --- Entry #$3C - $9B58
$84/9747 5C 9B --- Entry #$3D - $9B5C
$84/9749 60 9B --- Entry #$3E - $9B60
$84/974B 64 9B --- Entry #$3F - $9B64
$84/974D 4C 9C --- Entry #$40 - $9C4C

$84/9750 ?

$84/9750 BD 04 07    LDA $0704,x[$8A:070A]   A:FC80 X:0006 Y:0005 P:eNvMxdizc
$84/9753 89 02       BIT #$02                A:FC10 X:0006 Y:0005 P:envMxdizc
$84/9755 F0 14       BEQ $14    [$976B]      A:FC10 X:0006 Y:0005 P:envMxdiZc
code is missing here
$84/976B 9E 43 08    STZ $0843,x[$8A:0849]   A:FC10 X:0006 Y:0005 P:envMxdiZc
$84/976E 7B          TDC                     A:FC10 X:0006 Y:0005 P:envMxdiZc
$84/976F BD C4 09    LDA $09C4,x[$8A:09CA]   A:0000 X:0006 Y:0005 P:envMxdiZc
$84/9772 10 03       BPL $03    [$9777]      A:00FF X:0006 Y:0005 P:eNvMxdizc
$84/9774 4C B5 96    JMP $96B5  [$84:96B5]   A:00FF X:0006 Y:0005 P:eNvMxdizc

$84/977A ?

$84/977A BD 04 07    LDA $0704,x[$8A:070A]   A:977A X:0006 Y:0005 P:envMxdizc
$84/977D 09 10       ORA #$10                A:9700 X:0006 Y:0005 P:envMxdiZc
$84/977F 9D 04 07    STA $0704,x[$8A:070A]   A:9710 X:0006 Y:0005 P:envMxdizc
$84/9782 20 AB 9B    JSR $9BAB  [$84:9BAB]   A:9710 X:0006 Y:0005 P:envMxdizc
$84/9785 80 C9       BRA $C9    [$9750]      A:FC80 X:0006 Y:0005 P:eNvMxdizc

$84/97A0 ?

$84/97A0 9E 83 06    STZ $0683,x[$8A:06C1]   A:97A0 X:003E Y:0013 P:envMxdizc
$84/97A3 4C 9C 96    JMP $969C  [$84:969C]   A:97A0 X:003E Y:0013 P:envMxdizc

$84/9B10 ?

$84/9B10 A9 E1       LDA #$E1                A:9B10 X:002C Y:000C P:envMxdizc
$84/9B12 80 52       BRA $52    [$9B66]      A:9BE1 X:002C Y:000C P:eNvMxdizc

$84/9B14 ?

$84/9B14 A9 21       LDA #$21                A:9B14 X:002A Y:003C P:envMxdizc
$84/9B16 80 4E       BRA $4E    [$9B66]      A:9B21 X:002A Y:003C P:envMxdizc

$84/9B18 ?

$84/9B18 A9 1F       LDA #$1F                A:9B18 X:002A Y:0026 P:envMxdizc
$84/9B1A 80 4A       BRA $4A    [$9B66]      A:9B1F X:002A Y:0026 P:envMxdizc

$84/9B1C ?

$84/9B1C A9 FF       LDA #$FF                A:9B1C X:002A Y:0030 P:envMxdizc
$84/9B1E 80 46       BRA $46    [$9B66]      A:9BFF X:002A Y:0030 P:eNvMxdizc

$84/9B20 ?

$84/9B20 A9 F1       LDA #$F1                A:9B20 X:002A Y:0018 P:envMxdizc
$84/9B22 80 42       BRA $42    [$9B66]      A:9BF1 X:002A Y:0018 P:eNvMxdizc

$84/9B24 ?

$84/9B24 A9 11       LDA #$11                A:9B24 X:002A Y:0023 P:envMxdizc
$84/9B26 80 3E       BRA $3E    [$9B66]      A:9B11 X:002A Y:0023 P:envMxdizc

$84/9B28 ?

$84/9B28 A9 0C       LDA #$0C                A:9B28 X:002A Y:0022 P:envMxdizc
$84/9B2A 80 3A       BRA $3A    [$9B66]      A:9B0C X:002A Y:0022 P:envMxdizc

$84/9B2C ?

$84/9B2C A9 0D       LDA #$0D                A:9B2C X:002A Y:0033 P:envMxdizc
$84/9B2E 80 36       BRA $36    [$9B66]      A:9B0D X:002A Y:0033 P:envMxdizc

$84/9B40 ?

$84/9B40 A9 E0       LDA #$E0                A:9B40 X:002A Y:0023 P:envMxdizc
$84/9B42 80 22       BRA $22    [$9B66]      A:9BE0 X:002A Y:0023 P:eNvMxdizc

$84/9B4C ?

$84/9B4C A9 03       LDA #$03                A:9B4C X:002C Y:000A P:envMxdizc
$84/9B4E 80 16       BRA $16    [$9B66]      A:9B03 X:002C Y:000A P:envMxdizc

$84/9B5C ?

$84/9B5C A9 30       LDA #$30                A:9B5C X:002A Y:0032 P:envMxdizc
$84/9B5E 80 06       BRA $06    [$9B66]      A:9B30 X:002A Y:0032 P:envMxdizc

$84/9B66 Change Figure's Position

ONLY EXECUTED DURING BATTLE ANIMATIONS

A contains a 8-bit value. The High Nybble changes the Position on the NW to SE Axis, the Low Nybble changes the Position on the NE to SW Axis. These are "signed nybbles": The MSB of each Nybble (that is bit 3) decides whether or not this is a positive or negative value.

A = #$30: Move 3 on the NW to SE Axis
A = #$0D: Move 3 in the other direction on the NE to SW Axis
$84/9B66 48          PHA           ; Buffer A on Stack
$84/9B67 4A          LSR A         ; Store Original A's High Nybble as Low Nybble in $00
$84/9B68 4A          LSR A
$84/9B69 4A          LSR A
$84/9B6A 4A          LSR A
$84/9B6B 85 00       STA $00
$84/9B6D 68          PLA           ; Restore A from Stack
$84/9B6E 29 0F       AND #$0F      ; Store Low Nybble in $01
$84/9B70 85 01       STA $01
$84/9B72 7B          TDC           ; Clear 16-bit A
$84/9B73 A5 00       LDA $00       ; Load High Nybble
$84/9B75 89 08       BIT #$08      ; Branch if MSB of High Nybble was clear
$84/9B77 F0 07       BEQ $07       ; [$9B80]

$84/9B79 C2 20       REP #$20      ; A = 16-bit
$84/9B7B 09 F0 FF    ORA #$FFF0    ; Set every else bit
$84/9B7E E2 20       SEP #$20      ; This line could be removed?

$84/9B80 C2 21       REP #$21      ; A = 16-bit + Set Carry
$84/9B82 7D 03 0A    ADC $0A03,x   ; Add Position - NW to SE Axis
$84/9B85 9D 03 0A    STA $0A03,x   ; Store as Position - NW to SE Axis
$84/9B88 E2 20       SEP #$20      ; A = 8-bit
$84/9B8A 7B          TDC           ; Clear 16-bit A
$84/9B8B A5 01       LDA $01       ; Load Low Nybble
$84/9B8D 89 08       BIT #$08      ; Branch if MSB of Low Nybble was clear
$84/9B8F F0 07       BEQ $07       ; [$9B98]

$84/9B91 C2 20       REP #$20      ; A = 16-bit
$84/9B93 09 F0 FF    ORA #$FFF0    ; Set every else bit
$84/9B96 E2 20       SEP #$20      ; This line could be removed?

$84/9B98 C2 21       REP #$21      ; A = 16-bit + Set Carry
$84/9B9A 7D 43 0A    ADC $0A43,x   ; Add Position - NE to SW Axis
$84/9B9D 9D 43 0A    STA $0A43,x   ; Store as Position - NE to SW Axis
$84/9BA0 E2 20       SEP #$20      ; A = 8-bit
$84/9BA2 A6 3B       LDX $3B    [$00:003B]   A:0001 X:002A Y:0018 P:envMxdizc
$84/9BA4 98          TYA                     A:0001 X:002A Y:0018 P:envMxdizc
$84/9BA5 9D 83 06    STA $0683,x[$8A:06AD]   A:0018 X:002A Y:0018 P:envMxdizc
$84/9BA8 4C 9C 96    JMP $969C  [$84:969C]   A:0018 X:002A Y:0018 P:envMxdizc

$84/9BAB ?

$84/9BAB 8B          PHB           ; Buffer Data Bank on Stack
$84/9BAC A9 8B       LDA #$8B      ; Set Data Bank to $84
$84/9BAE 48          PHA
$84/9BAF AB          PLB
$84/9BB0 DA          PHX           ; Buffer X and Y on Stack
$84/9BB1 5A          PHY
$84/9BB2 D4 20       PEI ($20)     ; Buffer $20/$21 on Stack
$84/9BB4 D4 29       PEI ($29)     ; Buffer $29/$2A on Stack
$84/9BB6 7B          TDC           ; Clear 16-bit A
$84/9BB7 BD 03 06    LDA $0603,x[$8B:0609]   A:0000 X:0006 Y:0005 P:envMxdiZc
$84/9BBA 3A          DEC A                   A:0030 X:0006 Y:0005 P:envMxdizc
$84/9BBB C2 20       REP #$20                A:002F X:0006 Y:0005 P:envMxdizc
$84/9BBD 0A          ASL A                   A:002F X:0006 Y:0005 P:envmxdizc
$84/9BBE A8          TAY                     A:005E X:0006 Y:0005 P:envmxdizc
$84/9BBF BD 04 06    LDA $0604,x[$8B:060A]   A:005E X:0006 Y:005E P:envmxdizc
$84/9BC2 3A          DEC A                   A:CA13 X:0006 Y:005E P:eNvmxdizc
$84/9BC3 29 FF 00    AND #$00FF              A:CA12 X:0006 Y:005E P:eNvmxdizc
$84/9BC6 0A          ASL A                   A:0012 X:0006 Y:005E P:envmxdizc
$84/9BC7 79 2F A6    ADC $A62F,y[$8B:A68D]   A:0024 X:0006 Y:005E P:envmxdizc
$84/9BCA A8          TAY                     A:AF31 X:0006 Y:005E P:eNvmxdizc
$84/9BCB B9 00 00    LDA $0000,y[$8B:AF31]   A:AF31 X:0006 Y:AF31 P:eNvmxdizc
$84/9BCE 85 20       STA $20    [$00:0020]   A:CAAB X:0006 Y:AF31 P:eNvmxdizc
$84/9BD0 E2 20       SEP #$20                A:CAAB X:0006 Y:AF31 P:eNvmxdizc
$84/9BD2 7B          TDC                     A:CAAB X:0006 Y:AF31 P:eNvMxdizc
$84/9BD3 18          CLC                     A:0000 X:0006 Y:AF31 P:envMxdiZc
$84/9BD4 BD C3 06    LDA $06C3,x[$8B:06C9]   A:0000 X:0006 Y:AF31 P:envMxdiZc
$84/9BD7 29 3C       AND #$3C                A:000D X:0006 Y:AF31 P:envMxdizc
$84/9BD9 7D C3 06    ADC $06C3,x[$8B:06C9]   A:000C X:0006 Y:AF31 P:envMxdizc
$84/9BDC C2 20       REP #$20                A:0019 X:0006 Y:AF31 P:envMxdizc
$84/9BDE 0A          ASL A                   A:0019 X:0006 Y:AF31 P:envmxdizc
$84/9BDF 0A          ASL A                   A:0032 X:0006 Y:AF31 P:envmxdizc
$84/9BE0 85 02       STA $02    [$00:0002]   A:0064 X:0006 Y:AF31 P:envmxdizc
$84/9BE2 E2 20       SEP #$20                A:0064 X:0006 Y:AF31 P:envmxdizc
$84/9BE4 B2 20       LDA ($20)  [$8B:CAAB]   A:0064 X:0006 Y:AF31 P:envMxdizc
$84/9BE6 85 04       STA $04    [$00:0004]   A:0091 X:0006 Y:AF31 P:eNvMxdizc
$84/9BE8 29 07       AND #$07                A:0091 X:0006 Y:AF31 P:eNvMxdizc
$84/9BEA 85 00       STA $00    [$00:0000]   A:0001 X:0006 Y:AF31 P:envMxdizc
$84/9BEC A5 04       LDA $04