If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
NBA Jam Tournament Edition (SNES)/ROM map/Graphic decompression routine
Jump to navigation
Jump to search
This is a sub-page of NBA Jam Tournament Edition (SNES)/ROM map.
Note: The code below may not be commented perfectly. I was trying to grasp how it worked, and I commented as I went. Eventually I was able to write this into C code and I stopped adding/cleaning up comments. If something doesn't look right, it's probably my mistake. |
Commented decompression routine
$26/FC03 22 39 F0 89 JSL $89F039[$89:F039] A:8001 X:0000 Y:0000 D:0000 DB:00 S:05FC P:envmXdIzC HC:1190 VC:261 FC:17 I:00 ======================================================== load pointer to Acclaim logo 2C:A3D0 and dest of 7F:0000 ======================================================== $89/F039 E2 10 SEP #$10 A:8001 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:envmXdIzC HC:1254 VC:261 FC:17 I:00 $89/F03B E2 20 SEP #$20 A:8001 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:envmXdIzC HC:1284 VC:261 FC:17 I:00 $89/F03D A9 8F LDA #$8F A:8001 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:envMXdIzC HC:1314 VC:261 FC:17 I:00 $89/F03F 8D 00 21 STA $2100 [$00:2100] A:808F X:0000 Y:0000 D:0000 DB:00 S:05F9 P:eNvMXdIzC HC:1338 VC:261 FC:17 I:00 $89/F042 C2 20 REP #$20 A:808F X:0000 Y:0000 D:0000 DB:00 S:05F9 P:eNvMXdIzC HC:0012 VC:000 FC:17 I:00 $89/F044 A9 D0 A3 LDA #$A3D0 A:808F X:0000 Y:0000 D:0000 DB:00 S:05F9 P:eNvmXdIzC HC:0042 VC:000 FC:17 I:00 $89/F047 85 D8 STA $D8 [$00:00D8] A:A3D0 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:eNvmXdIzC HC:0074 VC:000 FC:17 I:00 $89/F049 A9 A3 2C LDA #$2CA3 A:A3D0 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:eNvmXdIzC HC:0114 VC:000 FC:17 I:00 $89/F04C 85 D9 STA $D9 [$00:00D9] A:2CA3 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:envmXdIzC HC:0146 VC:000 FC:17 I:00 $89/F04E A9 00 00 LDA #$0000 A:2CA3 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:envmXdIzC HC:0186 VC:000 FC:17 I:00 $89/F051 85 DB STA $DB [$00:00DB] A:0000 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:envmXdIZC HC:0218 VC:000 FC:17 I:00 $89/F053 A9 00 7F LDA #$7F00 A:0000 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:envmXdIZC HC:0258 VC:000 FC:17 I:00 $89/F056 85 DC STA $DC [$00:00DC] A:7F00 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:envmXdIzC HC:0290 VC:000 FC:17 I:00 $89/F058 22 00 80 A9 JSL $A98000[$A9:8000] A:7F00 X:0000 Y:0000 D:0000 DB:00 S:05F9 P:envmXdIzC HC:0330 VC:000 FC:17 I:00 ================================ *start of decompression routine* ================================ $A9/8000 08 PHP A:7F00 X:0000 Y:0000 D:0000 DB:00 S:05F6 P:envmXdIzC HC:0394 VC:000 FC:17 I:00 $A9/8001 8B PHB A:7F00 X:0000 Y:0000 D:0000 DB:00 S:05F5 P:envmXdIzC HC:0424 VC:000 FC:17 I:00 $A9/8002 A5 DA LDA $DA [$00:00DA] A:7F00 X:0000 Y:0000 D:0000 DB:00 S:05F4 P:envmXdIzC HC:0454 VC:000 FC:17 I:00 $A9/8004 85 EA STA $EA [$00:00EA] A:002C X:0000 Y:0000 D:0000 DB:00 S:05F4 P:envmXdIzC HC:0494 VC:000 FC:17 I:00 $A9/8006 85 ED STA $ED [$00:00ED] A:002C X:0000 Y:0000 D:0000 DB:00 S:05F4 P:envmXdIzC HC:0534 VC:000 FC:17 I:00 $A9/8008 C2 30 REP #$30 A:002C X:0000 Y:0000 D:0000 DB:00 S:05F4 P:envmXdIzC HC:0614 VC:000 FC:17 I:00 $A9/800A 64 E2 STZ $E2 [$00:00E2] A:002C X:0000 Y:0000 D:0000 DB:00 S:05F4 P:envmxdIzC HC:0644 VC:000 FC:17 I:00 =========================== get size of compressed data =========================== $A9/800C A7 D8 LDA [$D8] [$2C:A3D0] A:002C X:0000 Y:0000 D:0000 DB:00 S:05F4 P:envmxdIzC HC:0708 VC:000 FC:17 I:00 $A9/800E A8 TAY A:0801 X:0000 Y:0000 D:0000 DB:00 S:05F4 P:envmxdIzC HC:0772 VC:000 FC:17 I:00 ======================================= set pointer to start of compressed data ======================================= $A9/800F B7 D8 LDA [$D8],y[$2C:ABD1] A:0801 X:0000 Y:0801 D:0000 DB:00 S:05F4 P:envmxdIzC HC:0818 VC:000 FC:17 I:00 $A9/8011 85 E6 STA $E6 [$00:00E6] A:0E70 X:0000 Y:0801 D:0000 DB:00 S:05F4 P:envmxdIzC HC:0882 VC:000 FC:17 I:00 $A9/8013 18 CLC A:0E70 X:0000 Y:0801 D:0000 DB:00 S:05F4 P:envmxdIzC HC:0922 VC:000 FC:17 I:00 $A9/8014 65 DB ADC $DB [$00:00DB] A:0E70 X:0000 Y:0801 D:0000 DB:00 S:05F4 P:envmxdIzc HC:0944 VC:000 FC:17 I:00 $A9/8016 85 EE STA $EE [$00:00EE] A:0E70 X:0000 Y:0801 D:0000 DB:00 S:05F4 P:envmxdIzc HC:0984 VC:000 FC:17 I:00 $A9/8018 88 DEY A:0E70 X:0000 Y:0801 D:0000 DB:00 S:05F4 P:envmxdIzc HC:1024 VC:000 FC:17 I:00 =========================== get compression key pointer =========================== $A9/8019 E2 20 SEP #$20 A:0E70 X:0000 Y:0800 D:0000 DB:00 S:05F4 P:envmxdIzc HC:1046 VC:000 FC:17 I:00 $A9/801B B7 D8 LDA [$D8],y[$2C:ABD0] A:0E70 X:0000 Y:0800 D:0000 DB:00 S:05F4 P:envMxdIzc HC:1100 VC:000 FC:17 I:00 $A9/801D 85 DE STA $DE [$00:00DE] A:0E01 X:0000 Y:0800 D:0000 DB:00 S:05F4 P:envMxdIzc HC:1156 VC:000 FC:17 I:00 $A9/801F 88 DEY A:0E01 X:0000 Y:0800 D:0000 DB:00 S:05F4 P:envMxdIzc HC:1188 VC:000 FC:17 I:00 ========================== load first unkeyed command ========================== $A9/8020 B7 D8 LDA [$D8],y[$2C:ABCF] A:0E01 X:0000 Y:07FF D:0000 DB:00 S:05F4 P:envMxdIzc HC:1234 VC:000 FC:17 I:00 $A9/8022 85 E0 STA $E0 [$00:00E0] A:0E80 X:0000 Y:07FF D:0000 DB:00 S:05F4 P:eNvMxdIzc HC:1290 VC:000 FC:17 I:00 ================= set dest pointers ================= $A9/8024 C2 20 REP #$20 A:0E80 X:0000 Y:07FF D:0000 DB:00 S:05F4 P:eNvMxdIzc HC:1322 VC:000 FC:17 I:00 $A9/8026 98 TYA A:0E80 X:0000 Y:07FF D:0000 DB:00 S:05F4 P:eNvmxdIzc HC:1352 VC:000 FC:17 I:00 $A9/8027 18 CLC A:07FF X:0000 Y:07FF D:0000 DB:00 S:05F4 P:envmxdIzc HC:0010 VC:001 FC:18 I:00 $A9/8028 65 D8 ADC $D8 [$00:00D8] A:07FF X:0000 Y:07FF D:0000 DB:00 S:05F4 P:envmxdIzc HC:0032 VC:001 FC:18 I:00 $A9/802A 3A DEC A A:ABCF X:0000 Y:07FF D:0000 DB:00 S:05F4 P:eNvmxdIzc HC:0072 VC:001 FC:18 I:00 $A9/802B 85 E8 STA $E8 [$00:00E8] A:ABCE X:0000 Y:07FF D:0000 DB:00 S:05F4 P:eNvmxdIzc HC:0094 VC:001 FC:18 I:00 $A9/802D 85 EB STA $EB [$00:00EB] A:ABCE X:0000 Y:07FF D:0000 DB:00 S:05F4 P:eNvmxdIzc HC:0134 VC:001 FC:18 I:00 ============== set bank to 7F ============== $A9/802F E2 30 SEP #$30 A:ABCE X:0000 Y:07FF D:0000 DB:00 S:05F4 P:eNvmxdIzc HC:0174 VC:001 FC:18 I:00 $A9/8031 A6 DD LDX $DD [$00:00DD] A:ABCE X:0000 Y:00FF D:0000 DB:00 S:05F4 P:eNvMXdIzc HC:0204 VC:001 FC:18 I:00 $A9/8033 DA PHX A:ABCE X:007F Y:00FF D:0000 DB:00 S:05F4 P:envMXdIzc HC:0236 VC:001 FC:18 I:00 $A9/8034 AB PLB A:ABCE X:007F Y:00FF D:0000 DB:00 S:05F3 P:envMXdIzc HC:0266 VC:001 FC:18 I:00 ====================================== make sure decompression key isn't zero ====================================== $A9/8035 A6 DE LDX $DE [$00:00DE] A:ABCE X:007F Y:00FF D:0000 DB:7F S:05F4 P:envMXdIzc HC:0302 VC:001 FC:18 I:00 $A9/8037 D0 06 BNE $06 [$803F] A:ABCE X:0001 Y:00FF D:0000 DB:7F S:05F4 P:envMXdIzc HC:0334 VC:001 FC:18 I:00 $A9/8039 A9 80 LDA #$80 A:ABCE X:0000 Y:00FF D:0000 DB:7F S:05F4 P:envMXdIZc HC:0374 VC:001 FC:18 I:00 $A9/803B 85 E0 STA $E0 [$00:00E0] A:AB80 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0406 VC:001 FC:18 I:00 $A9/803D 80 1C BRA $1C [$805B] A:AB80 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0446 VC:001 FC:18 I:00 $A9/803F CA DEX A:ABCE X:0001 Y:00FF D:0000 DB:7F S:05F4 P:envMXdIzc HC:0364 VC:001 FC:18 I:00 ============================================== load decompression key pointer, get key (0x80) ============================================== $A9/8040 BF 83 82 29 LDA $298283,x[$29:8283] A:ABCE X:0000 Y:00FF D:0000 DB:7F S:05F4 P:envMXdIZc HC:0386 VC:001 FC:18 I:00 $A9/8044 85 F4 STA $F4 [$00:00F4] A:AB80 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0434 VC:001 FC:18 I:00 =============================================== merge key into first command byte (result 0xC0) =============================================== $A9/8046 A5 E0 LDA $E0 [$00:00E0] A:AB80 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0466 VC:001 FC:18 I:00 $A9/8048 0A ASL A A:AB80 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0498 VC:001 FC:18 I:00 $A9/8049 05 F4 ORA $F4 [$00:00F4] A:AB00 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:envMXdIZC HC:0520 VC:001 FC:18 I:00 $A9/804B 6A ROR A A:AB80 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:0592 VC:001 FC:18 I:00 $A9/804C 85 E0 STA $E0 [$00:00E0] A:ABC0 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0614 VC:001 FC:18 I:00 =========================================== *initial decompression sequence (run once)* =========================================== $A9/804E C2 20 REP #$20 A:ABC0 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0646 VC:001 FC:18 I:00 $A9/8050 A9 00 00 LDA #$0000 A:ABC0 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:eNvmXdIzc HC:0676 VC:001 FC:18 I:00 $A9/8053 E2 20 SEP #$20 A:0000 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:envmXdIZc HC:0708 VC:001 FC:18 I:00 $A9/8055 26 E0 ROL $E0 [$00:00E0] A:0000 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:envMXdIZc HC:0738 VC:001 FC:18 I:00 $A9/8057 2A ROL A A:0000 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:0784 VC:001 FC:18 I:00 $A9/8058 A8 TAY A:0001 X:0000 Y:00FF D:0000 DB:7F S:05F4 P:envMXdIzc HC:0806 VC:001 FC:18 I:00 $A9/8059 80 1C BRA $1C [$8077] A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0828 VC:001 FC:18 I:00 =================================================== *main decompression sequence (run each time after)* =================================================== -------------------------- read next bit into A and Y -------------------------- $A9/805B C2 20 REP #$20 A:000F X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0746 VC:007 FC:18 I:00 $A9/805D A9 00 00 LDA #$0000 A:000F X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvmXdIzc HC:0776 VC:007 FC:18 I:00 $A9/8060 E2 20 SEP #$20 A:0000 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0808 VC:007 FC:18 I:00 $A9/8062 06 E0 ASL $E0 [$00:00E0] A:0000 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0838 VC:007 FC:18 I:00 $A9/8064 D0 0F BNE $0F [$8075] A:0000 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envMXdIZC HC:0884 VC:007 FC:18 I:00 $A9/8066 A7 E8 LDA [$E8] [$2C:ABBF] A:0000 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envMXdIZC HC:0932 VC:007 FC:18 I:00 $A9/8068 2A ROL A A:00E4 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:0988 VC:007 FC:18 I:00 $A9/8069 85 E0 STA $E0 [$00:00E0] A:00C9 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1010 VC:007 FC:18 I:00 $A9/806B A5 E8 LDA $E8 [$00:00E8] A:00C9 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1042 VC:007 FC:18 I:00 $A9/806D D0 02 BNE $02 [$8071] A:00BF X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1074 VC:007 FC:18 I:00 $A9/8071 C6 E8 DEC $E8 [$00:00E8] A:00BF X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1104 VC:007 FC:18 I:00 $A9/8073 A9 00 LDA #$00 A:00BF X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1150 VC:007 FC:18 I:00 $A9/8075 2A ROL A A:0000 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envMXdIZC HC:1174 VC:007 FC:18 I:00 $A9/8076 A8 TAY A:0001 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1196 VC:007 FC:18 I:00 ====================== test first command bit ====================== $A9/8077 D0 03 BNE $03 [$807C] A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0858 VC:001 FC:18 I:00 $A9/8079 4C 3D 81 JMP $813D [$A9:813D] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0942 VC:034 FC:18 I:00 ================================================== first bit is high, read next two bits into A and Y ================================================== $A9/807C C2 20 REP #$20 A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0888 VC:001 FC:18 I:00 $A9/807E A9 00 00 LDA #$0000 A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0918 VC:001 FC:18 I:00 $A9/8081 E2 20 SEP #$20 A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0950 VC:001 FC:18 I:00 $A9/8083 06 E0 ASL $E0 [$00:00E0] A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0980 VC:001 FC:18 I:00 $A9/8085 D0 0F BNE $0F [$8096] A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZC HC:1026 VC:001 FC:18 I:00 $A9/8087 A7 E8 LDA [$E8] [$2C:ABCE] A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZC HC:1074 VC:001 FC:18 I:00 $A9/8089 2A ROL A A:00D3 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1130 VC:001 FC:18 I:00 $A9/808A 85 E0 STA $E0 [$00:00E0] A:00A7 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1152 VC:001 FC:18 I:00 $A9/808C A5 E8 LDA $E8 [$00:00E8] A:00A7 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1184 VC:001 FC:18 I:00 $A9/808E D0 02 BNE $02 [$8092] A:00CE X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1216 VC:001 FC:18 I:00 $A9/8092 C6 E8 DEC $E8 [$00:00E8] A:00CE X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1246 VC:001 FC:18 I:00 $A9/8094 A9 00 LDA #$00 A:00CE X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1292 VC:001 FC:18 I:00 $A9/8096 2A ROL A A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZC HC:1316 VC:001 FC:18 I:00 $A9/8097 06 E0 ASL $E0 [$00:00E0] A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1338 VC:001 FC:18 I:00 $A9/8099 D0 0F BNE $0F [$80AA] A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzC HC:0020 VC:002 FC:18 I:00 $A9/809B A8 TAY A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZC HC:0840 VC:029 FC:18 I:00 $A9/809C A7 E8 LDA [$E8] [$2C:ABA1] A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzC HC:0886 VC:029 FC:18 I:00 $A9/809E 2A ROL A A:008A X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:0942 VC:029 FC:18 I:00 $A9/809F 85 E0 STA $E0 [$00:00E0] A:0015 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzC HC:0964 VC:029 FC:18 I:00 $A9/80A1 A5 E8 LDA $E8 [$00:00E8] A:0015 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzC HC:0996 VC:029 FC:18 I:00 $A9/80A3 D0 02 BNE $02 [$80A7] A:00A1 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1028 VC:029 FC:18 I:00 $A9/80A7 C6 E8 DEC $E8 [$00:00E8] A:00A1 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1058 VC:029 FC:18 I:00 $A9/80A9 98 TYA A:00A1 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1104 VC:029 FC:18 I:00 $A9/80AA 2A ROL A A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzC HC:0050 VC:002 FC:18 I:00 $A9/80AB A8 TAY A:0003 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0072 VC:002 FC:18 I:00 ===================== branch if less than 3 ===================== $A9/80AC C9 03 CMP #$03 A:0003 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0094 VC:002 FC:18 I:00 $A9/80AE 90 45 BCC $45 [$80F5] A:0003 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIZC HC:0118 VC:002 FC:18 I:00 =================================================== COMMAND CODE 111: read 4, 8, or 16 bit count, add 4 =================================================== direct copy bytes then copy previous? 111 Lx count | | | | | | | | 4, 8, or 16 bits | Length bit copy following bytes L:0 = 4 bit count:CCCC L:10 = 8 bit count:CCCCCCC L:11 = 16 bit count:CCCCCCCCCCCCCC --------------------------- read next bit into A and Y --------------------------- $A9/80B0 C2 20 REP #$20 A:0003 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIZC HC:0142 VC:002 FC:18 I:00 $A9/80B2 A9 00 00 LDA #$0000 A:0003 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIZC HC:0172 VC:002 FC:18 I:00 $A9/80B5 E2 20 SEP #$20 A:0000 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIZC HC:0204 VC:002 FC:18 I:00 $A9/80B7 06 E0 ASL $E0 [$00:00E0] A:0000 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIZC HC:0234 VC:002 FC:18 I:00 $A9/80B9 D0 0F BNE $0F [$80CA] A:0000 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0280 VC:002 FC:18 I:00 $A9/80BB A7 E8 LDA [$E8] [$2C:ABA7] A:0000 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIZC HC:1038 VC:024 FC:18 I:00 $A9/80BD 2A ROL A A:0004 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzC HC:1094 VC:024 FC:18 I:00 $A9/80BE 85 E0 STA $E0 [$00:00E0] A:0009 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1116 VC:024 FC:18 I:00 $A9/80C0 A5 E8 LDA $E8 [$00:00E8] A:0009 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1148 VC:024 FC:18 I:00 $A9/80C2 D0 02 BNE $02 [$80C6] A:00A7 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:1180 VC:024 FC:18 I:00 $A9/80C6 C6 E8 DEC $E8 [$00:00E8] A:00A7 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:1210 VC:024 FC:18 I:00 $A9/80C8 A9 00 LDA #$00 A:00A7 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:1256 VC:024 FC:18 I:00 $A9/80CA 2A ROL A A:0000 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0310 VC:002 FC:18 I:00 $A9/80CB A8 TAY A:0000 X:0000 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0332 VC:002 FC:18 I:00 =============== test length bit =============== $A9/80CC F0 1D BEQ $1D [$80EB] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0354 VC:002 FC:18 I:00 ===================================== length bit is high, read 8 or 16 bits ===================================== -------------------------- read next bit into A and Y -------------------------- $A9/80CE C2 20 REP #$20 A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0844 VC:101 FC:18 I:00 $A9/80D0 A9 00 00 LDA #$0000 A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0874 VC:101 FC:18 I:00 $A9/80D3 E2 20 SEP #$20 A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0906 VC:101 FC:18 I:00 $A9/80D5 06 E0 ASL $E0 [$00:00E0] A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0936 VC:101 FC:18 I:00 $A9/80D7 D0 0F BNE $0F [$80E8] A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0982 VC:101 FC:18 I:00 $A9/80D9 A7 E8 LDA [$E8] [$2C:AB66] A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZc HC:1030 VC:101 FC:18 I:00 $A9/80DB 2A ROL A A:0079 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1118 VC:101 FC:18 I:00 $A9/80DC 85 E0 STA $E0 [$00:00E0] A:00F2 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:1148 VC:101 FC:18 I:00 $A9/80DE A5 E8 LDA $E8 [$00:00E8] A:00F2 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:1188 VC:101 FC:18 I:00 $A9/80E0 D0 02 BNE $02 [$80E4] A:0066 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1228 VC:101 FC:18 I:00 $A9/80E4 C6 E8 DEC $E8 [$00:00E8] A:0066 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1266 VC:101 FC:18 I:00 $A9/80E6 A9 00 LDA #$00 A:0066 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1320 VC:101 FC:18 I:00 $A9/80E8 2A ROL A A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1012 VC:101 FC:18 I:00 $A9/80E9 A8 TAY A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZc HC:1034 VC:101 FC:18 I:00 ============================================= if bit is 10, read 8 bits, if 11 read 16 bits ============================================= $A9/80EA 1A INC A A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:1056 VC:101 FC:18 I:00 ================================= length bit is 0, read next 4 bits ================================= $A9/80EB A8 TAY A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0384 VC:002 FC:18 I:00 $A9/80EC 20 19 82 JSR $8219 [$A9:8219] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0406 VC:002 FC:18 I:00 =============== add 4 to number =============== $A9/80EF C2 20 REP #$20 A:0009 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0042 VC:003 FC:18 I:00 $A9/80F1 18 CLC A:0009 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0072 VC:003 FC:18 I:00 $A9/80F2 69 03 00 ADC #$0003 A:0009 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0094 VC:003 FC:18 I:00 $A9/80F5 1A INC A A:000C X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0126 VC:003 FC:18 I:00 ==================== adjust dest pointers ==================== $A9/80F6 C2 20 REP #$20 A:000D X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0148 VC:003 FC:18 I:00 $A9/80F8 85 E4 STA $E4 [$00:00E4] A:000D X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0178 VC:003 FC:18 I:00 $A9/80FA A5 E8 LDA $E8 [$00:00E8] A:000D X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0218 VC:003 FC:18 I:00 $A9/80FC 38 SEC A:ABCD X:00FF Y:0009 D:0000 DB:7F S:05F4 P:eNvmXdIzc HC:0258 VC:003 FC:18 I:00 $A9/80FD E5 E4 SBC $E4 [$00:00E4] A:ABCD X:00FF Y:0009 D:0000 DB:7F S:05F4 P:eNvmXdIzC HC:0280 VC:003 FC:18 I:00 $A9/80FF 85 E8 STA $E8 [$00:00E8] A:ABC0 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:eNvmXdIzC HC:0320 VC:003 FC:18 I:00 $A9/8101 1A INC A A:ABC0 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:eNvmXdIzC HC:0360 VC:003 FC:18 I:00 $A9/8102 85 EB STA $EB [$00:00EB] A:ABC1 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:eNvmXdIzC HC:0382 VC:003 FC:18 I:00 $A9/8104 A5 EE LDA $EE [$00:00EE] A:ABC1 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:eNvmXdIzC HC:0422 VC:003 FC:18 I:00 $A9/8106 38 SEC A:0E70 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmXdIzC HC:0462 VC:003 FC:18 I:00 $A9/8107 E5 E4 SBC $E4 [$00:00E4] A:0E70 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmXdIzC HC:0484 VC:003 FC:18 I:00 $A9/8109 85 EE STA $EE [$00:00EE] A:0E63 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmXdIzC HC:0524 VC:003 FC:18 I:00 $A9/810B C2 10 REP #$10 A:0E63 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmXdIzC HC:0604 VC:003 FC:18 I:00 $A9/810D A0 00 00 LDY #$0000 A:0E63 X:00FF Y:0009 D:0000 DB:7F S:05F4 P:envmxdIzC HC:0634 VC:003 FC:18 I:00 $A9/8110 A5 E4 LDA $E4 [$00:00E4] A:0E63 X:00FF Y:0000 D:0000 DB:7F S:05F4 P:envmxdIZC HC:0666 VC:003 FC:18 I:00 ===================================== test for even number of bytes to copy ===================================== $A9/8112 4A LSR A A:000D X:00FF Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzC HC:0706 VC:003 FC:18 I:00 $A9/8113 AA TAX A:0006 X:00FF Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzC HC:0728 VC:003 FC:18 I:00 $A9/8114 90 0E BCC $0E [$8124] A:0006 X:0006 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzC HC:0750 VC:003 FC:18 I:00 =========== copy 1 byte =========== $A9/8116 E2 20 SEP #$20 A:0006 X:0006 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzC HC:0774 VC:003 FC:18 I:00 $A9/8118 B7 EB LDA [$EB],y[$2C:ABC1] A:0006 X:0006 Y:0000 D:0000 DB:7F S:05F4 P:envMxdIzC HC:0828 VC:003 FC:18 I:00 $A9/811A 91 EE STA ($EE),y[$7F:0E63] A:0000 X:0006 Y:0000 D:0000 DB:7F S:05F4 P:envMxdIZC HC:0900 VC:003 FC:18 I:00 $A9/811C C2 20 REP #$20 A:0000 X:0006 Y:0000 D:0000 DB:7F S:05F4 P:envMxdIZC HC:0954 VC:003 FC:18 I:00 $A9/811E E0 00 00 CPX #$0000 A:0000 X:0006 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIZC HC:0984 VC:003 FC:18 I:00 $A9/8121 F0 0A BEQ $0A [$812D] A:0000 X:0006 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzC HC:1016 VC:003 FC:18 I:00 $A9/8123 C8 INY A:0000 X:0006 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzC HC:1040 VC:003 FC:18 I:00 ===================== copy 1 word at a time ===================== $A9/8124 B7 EB LDA [$EB],y[$2C:ABC2] A:0000 X:0006 Y:0001 D:0000 DB:7F S:05F4 P:envmxdIzC HC:1086 VC:003 FC:18 I:00 $A9/8126 91 EE STA ($EE),y[$7F:0E64] A:005F X:0006 Y:0001 D:0000 DB:7F S:05F4 P:envmxdIzC HC:1166 VC:003 FC:18 I:00 $A9/8128 C8 INY A:005F X:0006 Y:0001 D:0000 DB:7F S:05F4 P:envmxdIzC HC:1228 VC:003 FC:18 I:00 $A9/8129 C8 INY A:005F X:0006 Y:0002 D:0000 DB:7F S:05F4 P:envmxdIzC HC:1250 VC:003 FC:18 I:00 $A9/812A CA DEX A:005F X:0006 Y:0003 D:0000 DB:7F S:05F4 P:envmxdIzC HC:1272 VC:003 FC:18 I:00 $A9/812B D0 F7 BNE $F7 [$8124] A:005F X:0005 Y:0003 D:0000 DB:7F S:05F4 P:envmxdIzC HC:1294 VC:003 FC:18 I:00 $A9/812D A5 E4 LDA $E4 [$00:00E4] A:0063 X:0000 Y:000D D:0000 DB:7F S:05F4 P:envmxdIZC HC:1304 VC:004 FC:18 I:00 $A9/812F 18 CLC A:000D X:0000 Y:000D D:0000 DB:7F S:05F4 P:envmxdIzC HC:1344 VC:004 FC:18 I:00 $A9/8130 65 E2 ADC $E2 [$00:00E2] A:000D X:0000 Y:000D D:0000 DB:7F S:05F4 P:envmxdIzc HC:1366 VC:004 FC:18 I:00 $A9/8132 C5 E6 CMP $E6 [$00:00E6] A:000D X:0000 Y:000D D:0000 DB:7F S:05F4 P:envmxdIzc HC:0042 VC:005 FC:18 I:00 $A9/8134 90 03 BCC $03 [$8139] A:000D X:0000 Y:000D D:0000 DB:7F S:05F4 P:eNvmxdIzc HC:0082 VC:005 FC:18 I:00 $A9/8139 85 E2 STA $E2 [$00:00E2] A:000D X:0000 Y:000D D:0000 DB:7F S:05F4 P:eNvmxdIzc HC:0112 VC:005 FC:18 I:00 $A9/813B E2 30 SEP #$30 A:000D X:0000 Y:000D D:0000 DB:7F S:05F4 P:eNvmxdIzc HC:0152 VC:005 FC:18 I:00 ========================= backstep and copy command ========================= -------------------------- read next bit into A and Y -------------------------- code 0 $A9/813D C2 20 REP #$20 A:000D X:0000 Y:000D D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0182 VC:005 FC:18 I:00 $A9/813F A9 00 00 LDA #$0000 A:000D X:0000 Y:000D D:0000 DB:7F S:05F4 P:eNvmXdIzc HC:0212 VC:005 FC:18 I:00 $A9/8142 E2 20 SEP #$20 A:0000 X:0000 Y:000D D:0000 DB:7F S:05F4 P:envmXdIZc HC:0244 VC:005 FC:18 I:00 $A9/8144 06 E0 ASL $E0 [$00:00E0] A:0000 X:0000 Y:000D D:0000 DB:7F S:05F4 P:envMXdIZc HC:0274 VC:005 FC:18 I:00 $A9/8146 D0 0F BNE $0F [$8157] A:0000 X:0000 Y:000D D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:0320 VC:005 FC:18 I:00 $A9/8148 A7 E8 LDA [$E8] [$2C:ABB6] A:0000 X:0000 Y:0008 D:0000 DB:7F S:05F4 P:envMXdIZC HC:1018 VC:010 FC:18 I:00 $A9/814A 2A ROL A A:0080 X:0000 Y:0008 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1074 VC:010 FC:18 I:00 $A9/814B 85 E0 STA $E0 [$00:00E0] A:0001 X:0000 Y:0008 D:0000 DB:7F S:05F4 P:envMXdIzC HC:1096 VC:010 FC:18 I:00 $A9/814D A5 E8 LDA $E8 [$00:00E8] A:0001 X:0000 Y:0008 D:0000 DB:7F S:05F4 P:envMXdIzC HC:1128 VC:010 FC:18 I:00 $A9/814F D0 02 BNE $02 [$8153] A:00B6 X:0000 Y:0008 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1160 VC:010 FC:18 I:00 $A9/8153 C6 E8 DEC $E8 [$00:00E8] A:00B6 X:0000 Y:0008 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1190 VC:010 FC:18 I:00 $A9/8155 A9 00 LDA #$00 A:00B6 X:0000 Y:0008 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:1236 VC:010 FC:18 I:00 $A9/8157 2A ROL A A:0000 X:0000 Y:000D D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:0350 VC:005 FC:18 I:00 $A9/8158 A8 TAY A:0001 X:0000 Y:000D D:0000 DB:7F S:05F4 P:envMXdIzc HC:0372 VC:005 FC:18 I:00 ====================== test first command bit ====================== $A9/8159 F0 0B BEQ $0B [$8166] A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0394 VC:005 FC:18 I:00 ================================================= COMMAND CODE ---1: read 8 bit count, -copy 2 bytes ================================================= $A9/815B 20 19 82 JSR $8219 [$A9:8219] A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0418 VC:005 FC:18 I:00 $A9/815E A2 02 LDX #$02 A:0003 X:00FF Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0966 VC:006 FC:18 I:00 $A9/8160 86 E4 STX $E4 [$00:00E4] A:0003 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0990 VC:006 FC:18 I:00 $A9/8162 64 E5 STZ $E5 [$00:00E5] A:0003 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1022 VC:006 FC:18 I:00 $A9/8164 80 6F BRA $6F [$81D5] A:0003 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1054 VC:006 FC:18 I:00 ========================== first command bit is low 0 ========================== -------------------------- read next bit into A and Y -------------------------- code 00 $A9/8166 C2 20 REP #$20 A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0358 VC:016 FC:18 I:00 $A9/8168 A9 00 00 LDA #$0000 A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0388 VC:016 FC:18 I:00 $A9/816B E2 20 SEP #$20 A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0420 VC:016 FC:18 I:00 $A9/816D 06 E0 ASL $E0 [$00:00E0] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0450 VC:016 FC:18 I:00 $A9/816F D0 0F BNE $0F [$8180] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0496 VC:016 FC:18 I:00 $A9/8171 A7 E8 LDA [$E8] [$2C:AB47] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZC HC:0896 VC:114 FC:18 I:00 $A9/8173 2A ROL A A:00A0 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:eNvMXdIzC HC:0952 VC:114 FC:18 I:00 $A9/8174 85 E0 STA $E0 [$00:00E0] A:0041 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIzC HC:0974 VC:114 FC:18 I:00 $A9/8176 A5 E8 LDA $E8 [$00:00E8] A:0041 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIzC HC:1006 VC:114 FC:18 I:00 $A9/8178 D0 02 BNE $02 [$817C] A:0047 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIzC HC:1038 VC:114 FC:18 I:00 $A9/817C C6 E8 DEC $E8 [$00:00E8] A:0047 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIzC HC:1068 VC:114 FC:18 I:00 $A9/817E A9 00 LDA #$00 A:0047 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIzC HC:1114 VC:114 FC:18 I:00 $A9/8180 2A ROL A A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0526 VC:016 FC:18 I:00 $A9/8181 A8 TAY A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0588 VC:016 FC:18 I:00 ======================= test second command bit ======================= $A9/8182 F0 27 BEQ $27 [$81AB] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0610 VC:016 FC:18 I:00 ===================================================== COMMAND CODE 01: read 4 or 8 bit count, -copy 5 bytes ===================================================== code ---001 -------------------------- read next bit into A and Y -------------------------- $A9/8184 C2 20 REP #$20 A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0348 VC:035 FC:18 I:00 $A9/8186 A9 00 00 LDA #$0000 A:0001 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0378 VC:035 FC:18 I:00 $A9/8189 E2 20 SEP #$20 A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0410 VC:035 FC:18 I:00 $A9/818B 06 E0 ASL $E0 [$00:00E0] A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0440 VC:035 FC:18 I:00 $A9/818D D0 0F BNE $0F [$819E] A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0486 VC:035 FC:18 I:00 $A9/818F A7 E8 LDA [$E8] [$2C:AB75] A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZC HC:0560 VC:086 FC:18 I:00 $A9/8191 2A ROL A A:0008 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzC HC:0656 VC:086 FC:18 I:00 $A9/8192 85 E0 STA $E0 [$00:00E0] A:0011 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0678 VC:086 FC:18 I:00 $A9/8194 A5 E8 LDA $E8 [$00:00E8] A:0011 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0710 VC:086 FC:18 I:00 $A9/8196 D0 02 BNE $02 [$819A] A:0075 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0742 VC:086 FC:18 I:00 $A9/819A C6 E8 DEC $E8 [$00:00E8] A:0075 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0772 VC:086 FC:18 I:00 $A9/819C A9 00 LDA #$00 A:0075 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0818 VC:086 FC:18 I:00 $A9/819E 2A ROL A A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0516 VC:035 FC:18 I:00 $A9/819F A8 TAY A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0538 VC:035 FC:18 I:00 $A9/81A0 20 19 82 JSR $8219 [$A9:8219] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0600 VC:035 FC:18 I:00 $A9/81A3 C2 20 REP #$20 A:0000 X:00FF Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0188 VC:036 FC:18 I:00 $A9/81A5 18 CLC A:0000 X:00FF Y:0000 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0218 VC:036 FC:18 I:00 $A9/81A6 69 04 00 ADC #$0004 A:0000 X:00FF Y:0000 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0240 VC:036 FC:18 I:00 $A9/81A9 80 06 BRA $06 [$81B1] A:0004 X:00FF Y:0000 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0272 VC:036 FC:18 I:00 =============================== COMMAND CODE 000: -copy 3 bytes =============================== $A9/81AB C2 20 REP #$20 A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0640 VC:016 FC:18 I:00 $A9/81AD 18 CLC A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0670 VC:016 FC:18 I:00 $A9/81AE 69 03 00 ADC #$0003 A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0692 VC:016 FC:18 I:00 $A9/81B1 85 E4 STA $E4 [$00:00E4] A:0003 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0724 VC:016 FC:18 I:00 $A9/81B3 E2 20 SEP #$20 A:0003 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0764 VC:016 FC:18 I:00 -------------------------- read next bit into A and Y -------------------------- $A9/81B5 C2 20 REP #$20 A:0003 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0794 VC:016 FC:18 I:00 $A9/81B7 A9 00 00 LDA #$0000 A:0003 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envmXdIzc HC:0824 VC:016 FC:18 I:00 $A9/81BA E2 20 SEP #$20 A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envmXdIZc HC:0856 VC:016 FC:18 I:00 $A9/81BC 06 E0 ASL $E0 [$00:00E0] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0886 VC:016 FC:18 I:00 $A9/81BE D0 0F BNE $0F [$81CF] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0932 VC:016 FC:18 I:00 $A9/81C0 A7 E8 LDA [$E8] [$2C:AB88] A:0000 X:00FF Y:0003 D:0000 DB:7F S:05F4 P:envMXdIZC HC:1180 VC:053 FC:18 I:00 $A9/81C2 2A ROL A A:0004 X:00FF Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzC HC:1236 VC:053 FC:18 I:00 $A9/81C3 85 E0 STA $E0 [$00:00E0] A:0009 X:00FF Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1258 VC:053 FC:18 I:00 $A9/81C5 A5 E8 LDA $E8 [$00:00E8] A:0009 X:00FF Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1290 VC:053 FC:18 I:00 $A9/81C7 D0 02 BNE $02 [$81CB] A:0088 X:00FF Y:0003 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:1322 VC:053 FC:18 I:00 $A9/81CB C6 E8 DEC $E8 [$00:00E8] A:0088 X:00FF Y:0003 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:1352 VC:053 FC:18 I:00 $A9/81CD A9 00 LDA #$00 A:0088 X:00FF Y:0003 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0034 VC:054 FC:18 I:00 $A9/81CF 2A ROL A A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIzc HC:0962 VC:016 FC:18 I:00 $A9/81D0 A8 TAY A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:0984 VC:016 FC:18 I:00 load 8 or 16 bit count, copy 3 bytes $A9/81D1 C8 INY A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F4 P:envMXdIZc HC:1006 VC:016 FC:18 I:00 $A9/81D2 20 19 82 JSR $8219 [$A9:8219] A:0000 X:0000 Y:0001 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1028 VC:016 FC:18 I:00 ============================ A: set pointer back xx bytes X: copy this many bytes ============================ $A9/81D5 C2 20 REP #$20 A:0003 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envMXdIzc HC:1084 VC:006 FC:18 I:00 $A9/81D7 18 CLC A:0003 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIzc HC:1114 VC:006 FC:18 I:00 $A9/81D8 65 EE ADC $EE [$00:00EE] A:0003 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIzc HC:1136 VC:006 FC:18 I:00 $A9/81DA 3A DEC A A:0E66 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIzc HC:1176 VC:006 FC:18 I:00 $A9/81DB 85 EB STA $EB [$00:00EB] A:0E65 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIzc HC:1198 VC:006 FC:18 I:00 $A9/81DD A5 EE LDA $EE [$00:00EE] A:0E65 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIzc HC:1238 VC:006 FC:18 I:00 $A9/81DF 38 SEC A:0E63 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIzc HC:1278 VC:006 FC:18 I:00 $A9/81E0 E5 E4 SBC $E4 [$00:00E4] A:0E63 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIzC HC:1300 VC:006 FC:18 I:00 $A9/81E2 85 EE STA $EE [$00:00EE] A:0E61 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIzC HC:1340 VC:006 FC:18 I:00 $A9/81E4 C2 10 REP #$10 A:0E61 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envmXdIzC HC:0016 VC:007 FC:18 I:00 $A9/81E6 A0 00 00 LDY #$0000 A:0E61 X:0002 Y:0003 D:0000 DB:7F S:05F4 P:envmxdIzC HC:0046 VC:007 FC:18 I:00 $A9/81E9 A5 E4 LDA $E4 [$00:00E4] A:0E61 X:0002 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIZC HC:0078 VC:007 FC:18 I:00 $A9/81EB 4A LSR A A:0002 X:0002 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzC HC:0118 VC:007 FC:18 I:00 $A9/81EC AA TAX A:0001 X:0002 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzc HC:0140 VC:007 FC:18 I:00 $A9/81ED 90 0E BCC $0E [$81FD] A:0001 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzc HC:0162 VC:007 FC:18 I:00 ============= copy one byte ============= $A9/81EF E2 20 SEP #$20 A:0001 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzC HC:0678 VC:018 FC:18 I:00 $A9/81F1 B1 EB LDA ($EB),y[$7F:0E5F] A:0001 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envMxdIzC HC:0724 VC:018 FC:18 I:00 $A9/81F3 91 EE STA ($EE),y[$7F:0E4F] A:0000 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envMxdIZC HC:0794 VC:018 FC:18 I:00 $A9/81F5 C2 20 REP #$20 A:0000 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envMxdIZC HC:0848 VC:018 FC:18 I:00 $A9/81F7 E0 00 00 CPX #$0000 A:0000 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIZC HC:0878 VC:018 FC:18 I:00 $A9/81FA F0 0A BEQ $0A [$8206] A:0000 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzC HC:0910 VC:018 FC:18 I:00 $A9/81FC C8 INY A:0000 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzC HC:0934 VC:018 FC:18 I:00 =================== copy multiple bytes =================== $A9/81FD B1 EB LDA ($EB),y[$7F:0E65] A:0001 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzc HC:0208 VC:007 FC:18 I:00 $A9/81FF 91 EE STA ($EE),y[$7F:0E61] A:5E00 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzc HC:0286 VC:007 FC:18 I:00 $A9/8201 C8 INY A:5E00 X:0001 Y:0000 D:0000 DB:7F S:05F4 P:envmxdIzc HC:0348 VC:007 FC:18 I:00 $A9/8202 C8 INY A:5E00 X:0001 Y:0001 D:0000 DB:7F S:05F4 P:envmxdIzc HC:0370 VC:007 FC:18 I:00 $A9/8203 CA DEX A:5E00 X:0001 Y:0002 D:0000 DB:7F S:05F4 P:envmxdIzc HC:0392 VC:007 FC:18 I:00 $A9/8204 D0 F7 BNE $F7 [$81FD] A:5E00 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envmxdIZc HC:0414 VC:007 FC:18 I:00 $A9/8206 A5 E4 LDA $E4 [$00:00E4] A:5E00 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envmxdIZc HC:0438 VC:007 FC:18 I:00 $A9/8208 18 CLC A:0002 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envmxdIzc HC:0478 VC:007 FC:18 I:00 $A9/8209 65 E2 ADC $E2 [$00:00E2] A:0002 X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envmxdIzc HC:0500 VC:007 FC:18 I:00 $A9/820B C5 E6 CMP $E6 [$00:00E6] A:000F X:0000 Y:0002 D:0000 DB:7F S:05F4 P:envmxdIzc HC:0540 VC:007 FC:18 I:00 $A9/820D B0 07 BCS $07 [$8216] A:000F X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvmxdIzc HC:0620 VC:007 FC:18 I:00 $A9/820F 85 E2 STA $E2 [$00:00E2] A:000F X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvmxdIzc HC:0644 VC:007 FC:18 I:00 $A9/8211 E2 30 SEP #$30 A:000F X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvmxdIzc HC:0684 VC:007 FC:18 I:00 $A9/8213 4C 5B 80 JMP $805B [$A9:805B] A:000F X:0000 Y:0002 D:0000 DB:7F S:05F4 P:eNvMXdIzc HC:0714 VC:007 FC:18 I:00 =========================================================================================================================== $A9/8216 AB PLB A:0E70 X:0000 Y:0016 D:0000 DB:7F S:05F4 P:envmxdIZC HC:0024 VC:054 FC:27 I:00 $A9/8217 28 PLP A:0E70 X:0000 Y:0016 D:0000 DB:00 S:05F5 P:envmxdIZC HC:0060 VC:054 FC:27 I:00 $A9/8218 6B RTL A:0E70 X:0000 Y:0016 D:0000 DB:00 S:05F6 P:envmXdIzC HC:0096 VC:054 FC:27 I:00 =========================================================================================================================== ======================== get count from bitstream ======================== Y = 0: return 4 bits in A Y = 1: return 8 bits in A Y = 2: return 16 bits in A $A9/8219 BB TYX A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIZc HC:0460 VC:002 FC:18 I:00 $A9/821A BF 7F 82 29 LDA $29827F,x[$29:827F] A:0000 X:0000 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIZc HC:0482 VC:002 FC:18 I:00 $A9/821E AA TAX A:0003 X:0000 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0530 VC:002 FC:18 I:00 $A9/821F E0 0F CPX #$0F A:0003 X:0003 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0592 VC:002 FC:18 I:00 $A9/8221 F0 20 BEQ $20 [$8243] A:0003 X:0003 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0616 VC:002 FC:18 I:00 --------------------------------- read next bit into A and Y keep A --------------------------------- $A9/8223 C2 20 REP #$20 A:0003 X:0003 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0640 VC:002 FC:18 I:00 $A9/8225 A9 00 00 LDA #$0000 A:0003 X:0003 Y:0000 D:0000 DB:7F S:05F2 P:eNvmXdIzc HC:0670 VC:002 FC:18 I:00 $A9/8228 E2 20 SEP #$20 A:0000 X:0003 Y:0000 D:0000 DB:7F S:05F2 P:envmXdIZc HC:0702 VC:002 FC:18 I:00 $A9/822A 06 E0 ASL $E0 [$00:00E0] A:0000 X:0003 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIZc HC:0740 VC:002 FC:18 I:00 $A9/822C D0 0F BNE $0F [$823D] A:0000 X:0003 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzC HC:0786 VC:002 FC:18 I:00 $A9/822E A8 TAY A:0000 X:0007 Y:0001 D:0000 DB:7F S:05F2 P:envMXdIZC HC:0814 VC:005 FC:18 I:00 $A9/822F A7 E8 LDA [$E8] [$2C:ABC0] A:0000 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIZC HC:0860 VC:005 FC:18 I:00 $A9/8231 2A ROL A A:0003 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzC HC:0916 VC:005 FC:18 I:00 $A9/8232 85 E0 STA $E0 [$00:00E0] A:0007 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0938 VC:005 FC:18 I:00 $A9/8234 A5 E8 LDA $E8 [$00:00E8] A:0007 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0970 VC:005 FC:18 I:00 $A9/8236 D0 02 BNE $02 [$823A] A:00C0 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:1002 VC:005 FC:18 I:00 $A9/8238 C6 E9 DEC $E9 [$00:00E9] A:0000 X:0006 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIZc HC:0530 VC:196 FC:18 I:00 $A9/823A C6 E8 DEC $E8 [$00:00E8] A:00C0 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:1032 VC:005 FC:18 I:00 $A9/823C 98 TYA A:00C0 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:1078 VC:005 FC:18 I:00 $A9/823D 2A ROL A A:0000 X:0003 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzC HC:0816 VC:002 FC:18 I:00 $A9/823E CA DEX A:0001 X:0003 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0838 VC:002 FC:18 I:00 $A9/823F 10 E9 BPL $E9 [$822A] A:0001 X:0002 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0860 VC:002 FC:18 I:00 $A9/8241 A8 TAY A:0009 X:00FF Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:1334 VC:002 FC:18 I:00 $A9/8242 60 RTS A:0009 X:00FF Y:0009 D:0000 DB:7F S:05F2 P:envMXdIzc HC:1356 VC:002 FC:18 I:00 ============================= count code 0x0F: read 16 bits ============================= ----------------------------- read next 8 bits into A and Y ----------------------------- $A9/8243 A2 07 LDX #$07 A:000F X:000F Y:0002 D:0000 DB:7F S:05F2 P:envMXdIZC HC:0196 VC:251 FC:18 I:00 $A9/8245 C2 20 REP #$20 A:000F X:0007 Y:0002 D:0000 DB:7F S:05F2 P:envMXdIzC HC:0220 VC:251 FC:18 I:00 $A9/8247 A9 00 00 LDA #$0000 A:000F X:0007 Y:0002 D:0000 DB:7F S:05F2 P:envmXdIzC HC:0250 VC:251 FC:18 I:00 $A9/824A E2 20 SEP #$20 A:0000 X:0007 Y:0002 D:0000 DB:7F S:05F2 P:envmXdIZC HC:0282 VC:251 FC:18 I:00 $A9/824C 06 E0 ASL $E0 [$00:00E0] A:0000 X:0007 Y:0002 D:0000 DB:7F S:05F2 P:envMXdIZC HC:0312 VC:251 FC:18 I:00 $A9/824E D0 0F BNE $0F [$825F] A:0000 X:0007 Y:0002 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0358 VC:251 FC:18 I:00 $A9/8250 A8 TAY A:0000 X:0001 Y:0002 D:0000 DB:7F S:05F2 P:envMXdIZC HC:1322 VC:251 FC:18 I:00 $A9/8251 A7 E8 LDA [$E8] [$2C:AABD] A:0000 X:0001 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIZC HC:1368 VC:251 FC:18 I:00 $A9/8253 2A ROL A A:0057 X:0001 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzC HC:0060 VC:252 FC:18 I:00 $A9/8254 85 E0 STA $E0 [$00:00E0] A:00AF X:0001 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0082 VC:252 FC:18 I:00 $A9/8256 A5 E8 LDA $E8 [$00:00E8] A:00AF X:0001 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0114 VC:252 FC:18 I:00 $A9/8258 D0 02 BNE $02 [$825C] A:00BD X:0001 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0146 VC:252 FC:18 I:00 $A9/825C C6 E8 DEC $E8 [$00:00E8] A:00BD X:0001 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0176 VC:252 FC:18 I:00 $A9/825E 98 TYA A:00BD X:0001 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0222 VC:252 FC:18 I:00 $A9/825F 2A ROL A A:0000 X:0007 Y:0002 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0388 VC:251 FC:18 I:00 $A9/8260 CA DEX A:0000 X:0007 Y:0002 D:0000 DB:7F S:05F2 P:envMXdIZc HC:0410 VC:251 FC:18 I:00 $A9/8261 10 E9 BPL $E9 [$824C] A:0000 X:0006 Y:0002 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0432 VC:251 FC:18 I:00 ================================= move lower 8bits into upper 8bits ================================= $A9/8263 EB XBA A:0001 X:00FF Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0462 VC:252 FC:18 I:00 ----------------------------- read next 8 bits into A and Y ----------------------------- $A9/8264 A2 07 LDX #$07 A:0100 X:00FF Y:0000 D:0000 DB:7F S:05F2 P:envMXdIZc HC:0490 VC:252 FC:18 I:00 $A9/8266 06 E0 ASL $E0 [$00:00E0] A:0100 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0514 VC:252 FC:18 I:00 $A9/8268 D0 0F BNE $0F [$8279] A:0100 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0600 VC:252 FC:18 I:00 $A9/826A A8 TAY A:0117 X:0001 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIZC HC:0160 VC:253 FC:18 I:00 $A9/826B A7 E8 LDA [$E8] [$2C:AABC] A:0117 X:0001 Y:0017 D:0000 DB:7F S:05F2 P:envMXdIzC HC:0206 VC:253 FC:18 I:00 $A9/826D 2A ROL A A:01A1 X:0001 Y:0017 D:0000 DB:7F S:05F2 P:eNvMXdIzC HC:0262 VC:253 FC:18 I:00 $A9/826E 85 E0 STA $E0 [$00:00E0] A:0143 X:0001 Y:0017 D:0000 DB:7F S:05F2 P:envMXdIzC HC:0284 VC:253 FC:18 I:00 $A9/8270 A5 E8 LDA $E8 [$00:00E8] A:0143 X:0001 Y:0017 D:0000 DB:7F S:05F2 P:envMXdIzC HC:0316 VC:253 FC:18 I:00 $A9/8272 D0 02 BNE $02 [$8276] A:01BC X:0001 Y:0017 D:0000 DB:7F S:05F2 P:eNvMXdIzC HC:0348 VC:253 FC:18 I:00 $A9/8276 C6 E8 DEC $E8 [$00:00E8] A:01BC X:0001 Y:0017 D:0000 DB:7F S:05F2 P:eNvMXdIzC HC:0378 VC:253 FC:18 I:00 $A9/8278 98 TYA A:01BC X:0001 Y:0017 D:0000 DB:7F S:05F2 P:eNvMXdIzC HC:0424 VC:253 FC:18 I:00 $A9/8279 2A ROL A A:0100 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0630 VC:252 FC:18 I:00 $A9/827A CA DEX A:0100 X:0007 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIZc HC:0652 VC:252 FC:18 I:00 $A9/827B 10 E9 BPL $E9 [$8266] A:0100 X:0006 Y:0000 D:0000 DB:7F S:05F2 P:envMXdIzc HC:0674 VC:252 FC:18 I:00 $A9/827D A8 TAY A:015E X:00FF Y:0017 D:0000 DB:7F S:05F2 P:eNvMXdIzc HC:0704 VC:253 FC:18 I:00 $A9/827E 60 RTS A:015E X:00FF Y:005E D:0000 DB:7F S:05F2 P:envMXdIzc HC:0726 VC:253 FC:18 I:00