;******* DECOMPRESSION FOR TITLE LOGO $FD/8825 A9 09 00 LDA #$0009 A:007F X:00DD Y:0008 D:0000 DB:7E S:01F5 P:envmxdIzcHC:0094 VC:170 00 FL:60383 $FD/8828 A0 10 00 LDY #$0010 A:0009 X:00DD Y:0008 D:0000 DB:7E S:01F5 P:envmxdIzcHC:0112 VC:170 00 FL:60383 $FD/882B 54 7E 7E MVN 7E 7E A:0009 X:00DD Y:0010 D:0000 DB:7E S:01F5 P:envmxdIzcHC:0130 VC:170 00 FL:60383 $FD/882E E2 20 SEP #$20 A:FFFF X:00E7 Y:001A D:0000 DB:7E S:01F5 P:envmxdIzcHC:0590 VC:170 00 FL:60383 $FD/8830 A2 00 00 LDX #$0000 A:FFFF X:00E7 Y:001A D:0000 DB:7E S:01F5 P:envMxdIzcHC:0608 VC:170 00 FL:60383 $FD/8833 9E 00 F7 STZ $F700,x[$7E:F700] A:FFFF X:0000 Y:001A D:0000 DB:7E S:01F5 P:envMxdIZcHC:0626 VC:170 00 FL:60383 $FD/8836 E8 INX A:FFFF X:0000 Y:001A D:0000 DB:7E S:01F5 P:envMxdIZcHC:0652 VC:170 00 FL:60383 $FD/8837 E0 EF 07 CPX #$07EF A:FFFF X:0001 Y:001A D:0000 DB:7E S:01F5 P:envMxdIzcHC:0664 VC:170 00 FL:60383 $FD/883A D0 F7 BNE $F7 [$8833] A:FFFF X:0001 Y:001A D:0000 DB:7E S:01F5 P:eNvMxdIzcHC:0682 VC:170 00 FL:60383 $FD/883C A2 EE 07 LDX #$07EE A:FFFF X:07EF Y:001A D:0000 DB:7E S:01F5 P:envMxdIZCHC:0434 VC:018 00 FL:60383 $FD/883F C2 20 REP #$20 A:FFFF X:07EE Y:001A D:0000 DB:7E S:01F5 P:envMxdIzCHC:0452 VC:018 00 FL:60383 $FD/8841 64 66 STZ $66 [$00:0066] A:FFFF X:07EE Y:001A D:0000 DB:7E S:01F5 P:envmxdIzCHC:0470 VC:018 00 FL:60383 $FD/8843 A5 14 LDA $14 [$00:0014] A:FFFF X:07EE Y:001A D:0000 DB:7E S:01F5 P:envmxdIzCHC:0498 VC:018 00 FL:60383 $FD/8845 85 20 STA $20 [$00:0020] A:1000 X:07EE Y:001A D:0000 DB:7E S:01F5 P:envmxdIzCHC:0526 VC:018 00 FL:60383 $FD/8847 8B PHB A:1000 X:07EE Y:001A D:0000 DB:7E S:01F5 P:envmxdIzCHC:0554 VC:018 00 FL:60383 $FD/8848 E2 20 SEP #$20 A:1000 X:07EE Y:001A D:0000 DB:7E S:01F4 P:envmxdIzCHC:0574 VC:018 00 FL:60383 $FD/884A A5 12 LDA $12 [$00:0012] A:1000 X:07EE Y:001A D:0000 DB:7E S:01F4 P:envMxdIzCHC:0592 VC:018 00 FL:60383 $FD/884C 48 PHA A:10FE X:07EE Y:001A D:0000 DB:7E S:01F4 P:eNvMxdIzCHC:0612 VC:018 00 FL:60383 $FD/884D AB PLB A:10FE X:07EE Y:001A D:0000 DB:7E S:01F3 P:eNvMxdIzCHC:0632 VC:018 00 FL:60383 $FD/884E A4 10 LDY $10 [$00:0010] A:10FE X:07EE Y:001A D:0000 DB:FE S:01F4 P:eNvMxdIzCHC:0658 VC:018 00 FL:60383 $FD/8850 C2 20 REP #$20 A:10FE X:07EE Y:A6F4 D:0000 DB:FE S:01F4 P:eNvMxdIzCHC:0686 VC:018 00 FL:60383 $FD/8852 46 66 LSR $66 [$00:0066] A:10FE X:07EE Y:A6F4 D:0000 DB:FE S:01F4 P:eNvmxdIzCHC:0704 VC:018 00 FL:60383 $FD/8854 A5 66 LDA $66 [$00:0066] A:10FE X:07EE Y:A6F4 D:0000 DB:FE S:01F4 P:envmxdIZcHC:0754 VC:018 00 FL:60383 $FD/8856 89 00 01 BIT #$0100 A:0000 X:07EE Y:A6F4 D:0000 DB:FE S:01F4 P:envmxdIZcHC:0782 VC:018 00 FL:60383 $FD/8859 D0 1C BNE $1C [$8877] A:0000 X:07EE Y:A6F4 D:0000 DB:FE S:01F4 P:envmxdIZcHC:0800 VC:018 00 FL:60383 $FD/885B B9 00 00 LDA $0000,y[$FE:A6F4] A:0000 X:07EE Y:A6F4 D:0000 DB:FE S:01F4 P:envmxdIZcHC:0812 VC:018 00 FL:60383 $FD/885E 09 00 FF ORA #$FF00 A:00FF X:07EE Y:A6F4 D:0000 DB:FE S:01F4 P:envmxdIzcHC:0842 VC:018 00 FL:60383 $FD/8861 85 66 STA $66 [$00:0066] A:FFFF X:07EE Y:A6F4 D:0000 DB:FE S:01F4 P:eNvmxdIzcHC:0860 VC:018 00 FL:60383 $FD/8863 C8 INY A:FFFF X:07EE Y:A6F4 D:0000 DB:FE S:01F4 P:eNvmxdIzcHC:0888 VC:018 00 FL:60383 $FD/8864 D0 0A BNE $0A [$8870] A:FFFF X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:eNvmxdIzcHC:0900 VC:018 00 FL:60383 $FD/8870 C6 18 DEC $18 [$00:0018] A:FFFF X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:eNvmxdIzcHC:0918 VC:018 00 FL:60383 $FD/8872 D0 03 BNE $03 [$8877] A:FFFF X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:envmxdIzcHC:0968 VC:018 00 FL:60383 $FD/8877 A5 66 LDA $66 [$00:0066] A:FFFF X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:envmxdIzcHC:0986 VC:018 00 FL:60383 $FD/8879 89 01 00 BIT #$0001 A:FFFF X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:eNvmxdIzcHC:1014 VC:018 00 FL:60383 $FD/887C F0 2C BEQ $2C [$88AA] A:FFFF X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:eNvmxdIzcHC:1032 VC:018 00 FL:60383 $FD/887E E2 20 SEP #$20 A:FFFF X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:eNvmxdIzcHC:1044 VC:018 00 FL:60383 $FD/8880 B9 00 00 LDA $0000,y[$FE:A6F5] A:FFFF X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:eNvMxdIzcHC:1062 VC:018 00 FL:60383 $FD/8883 87 14 STA [$14] [$7F:1000] A:FF00 X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:envMxdIZcHC:1110 VC:018 00 FL:60383 $FD/8885 9F 00 F7 7E STA $7EF700,x[$7E:FEEE] A:FF00 X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:envMxdIZcHC:1154 VC:018 00 FL:60383 $FD/8889 C2 20 REP #$20 A:FF00 X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:envMxdIZcHC:1186 VC:018 00 FL:60383 $FD/888B E6 14 INC $14 [$00:0014] A:FF00 X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:envmxdIZcHC:1204 VC:018 00 FL:60383 $FD/888D C6 18 DEC $18 [$00:0018] A:FF00 X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:envmxdIzcHC:1254 VC:018 00 FL:60383 $FD/888F D0 03 BNE $03 [$8894] A:FF00 X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:envmxdIzcHC:1304 VC:018 00 FL:60383 $FD/8891 4C 2B 89 JMP $892B $FD/8894 C8 INY A:FF00 X:07EE Y:A6F5 D:0000 DB:FE S:01F4 P:envmxdIzcHC:1322 VC:018 00 FL:60383 $FD/8895 D0 0A BNE $0A [$88A1] A:FF00 X:07EE Y:A6F6 D:0000 DB:FE S:01F4 P:eNvmxdIzcHC:1334 VC:018 00 FL:60383 $FD/8897 E6 12 INC $12 $FD/8899 E2 20 SEP #$20 $FD/889B A5 12 LDA $12 $FD/889D 48 PHA $FD/889E AB PLB $FD/889F C2 20 REP #$20 $FD/88A1 E8 INX A:FF00 X:07EE Y:A6F6 D:0000 DB:FE S:01F4 P:eNvmxdIzcHC:1352 VC:018 00 FL:60383 $FD/88A2 8A TXA A:FF00 X:07EF Y:A6F6 D:0000 DB:FE S:01F4 P:envmxdIzcHC:1364 VC:018 00 FL:60383 $FD/88A3 29 FF 07 AND #$07FF A:07EF X:07EF Y:A6F6 D:0000 DB:FE S:01F4 P:envmxdIzcHC:0008 VC:019 00 FL:60383 $FD/88A6 AA TAX A:07EF X:07EF Y:A6F6 D:0000 DB:FE S:01F4 P:envmxdIzcHC:0026 VC:019 00 FL:60383 $FD/88A7 4C 28 89 JMP $8928 [$FE:8928] A:07EF X:07EF Y:A6F6 D:0000 DB:FE S:01F4 P:envmxdIzcHC:0038 VC:019 00 FL:60383 $FD/88AA B9 00 00 LDA $0000,y[$FE:A73D] A:FFFE X:002E Y:A73D D:0000 DB:FE S:01F4 P:eNvmxdIZCHC:0570 VC:046 00 FL:60383 $FD/88AD 29 FF 00 AND #$00FF A:032E X:002E Y:A73D D:0000 DB:FE S:01F4 P:envmxdIzCHC:0600 VC:046 00 FL:60383 $FD/88B0 85 1C STA $1C [$00:001C] A:002E X:002E Y:A73D D:0000 DB:FE S:01F4 P:envmxdIzCHC:0618 VC:046 00 FL:60383 $FD/88B2 C6 18 DEC $18 [$00:0018] A:002E X:002E Y:A73D D:0000 DB:FE S:01F4 P:envmxdIzCHC:0646 VC:046 00 FL:60383 $FD/88B4 F0 75 BEQ $75 [$892B] A:002E X:002E Y:A73D D:0000 DB:FE S:01F4 P:envmxdIzCHC:0696 VC:046 00 FL:60383 $FD/88B6 C8 INY A:002E X:002E Y:A73D D:0000 DB:FE S:01F4 P:envmxdIzCHC:0708 VC:046 00 FL:60383 $FD/88B7 D0 0A BNE $0A [$88C3] A:002E X:002E Y:A73E D:0000 DB:FE S:01F4 P:eNvmxdIzCHC:0720 VC:046 00 FL:60383 $FD/88C3 B9 00 00 LDA $0000,y[$FE:A73E] A:002E X:002E Y:A73E D:0000 DB:FE S:01F4 P:eNvmxdIzCHC:0738 VC:046 00 FL:60383 $FD/88C6 29 FF 00 AND #$00FF A:4003 X:002E Y:A73E D:0000 DB:FE S:01F4 P:envmxdIzCHC:0768 VC:046 00 FL:60383 $FD/88C9 85 1A STA $1A [$00:001A] A:0003 X:002E Y:A73E D:0000 DB:FE S:01F4 P:envmxdIzCHC:0786 VC:046 00 FL:60383 $FD/88CB C6 18 DEC $18 [$00:0018] A:0003 X:002E Y:A73E D:0000 DB:FE S:01F4 P:envmxdIzCHC:0814 VC:046 00 FL:60383 $FD/88CD F0 5C BEQ $5C [$892B] A:0003 X:002E Y:A73E D:0000 DB:FE S:01F4 P:envmxdIzCHC:0864 VC:046 00 FL:60383 $FD/88CF C8 INY A:0003 X:002E Y:A73E D:0000 DB:FE S:01F4 P:envmxdIzCHC:0876 VC:046 00 FL:60383 $FD/88D0 D0 0A BNE $0A [$88DC] A:0003 X:002E Y:A73F D:0000 DB:FE S:01F4 P:eNvmxdIzCHC:0888 VC:046 00 FL:60383 $FD/88DC A5 1A LDA $1A [$00:001A] A:0003 X:002E Y:A73F D:0000 DB:FE S:01F4 P:eNvmxdIzCHC:0906 VC:046 00 FL:60383 $FD/88DE 29 F0 00 AND #$00F0 A:0003 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIzCHC:0934 VC:046 00 FL:60383 $FD/88E1 0A ASL A A:0000 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIZCHC:0952 VC:046 00 FL:60383 $FD/88E2 0A ASL A A:0000 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIZcHC:0964 VC:046 00 FL:60383 $FD/88E3 0A ASL A A:0000 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIZcHC:0976 VC:046 00 FL:60383 $FD/88E4 0A ASL A A:0000 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIZcHC:0988 VC:046 00 FL:60383 $FD/88E5 05 1C ORA $1C [$00:001C] A:0000 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIZcHC:1000 VC:046 00 FL:60383 $FD/88E7 85 1C STA $1C [$00:001C] A:002E X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIzcHC:1028 VC:046 00 FL:60383 $FD/88E9 A5 1A LDA $1A [$00:001A] A:002E X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIzcHC:1056 VC:046 00 FL:60383 $FD/88EB 29 0F 00 AND #$000F A:0003 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIzcHC:1084 VC:046 00 FL:60383 $FD/88EE 1A INC A A:0003 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIzcHC:1102 VC:046 00 FL:60383 $FD/88EF 1A INC A A:0004 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIzcHC:1114 VC:046 00 FL:60383 $FD/88F0 1A INC A A:0005 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIzcHC:1126 VC:046 00 FL:60383 $FD/88F1 85 1A STA $1A [$00:001A] A:0006 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIzcHC:1138 VC:046 00 FL:60383 $FD/88F3 8B PHB A:0006 X:002E Y:A73F D:0000 DB:FE S:01F4 P:envmxdIzcHC:1166 VC:046 00 FL:60383 $FD/88F4 E2 20 SEP #$20 A:0006 X:002E Y:A73F D:0000 DB:FE S:01F3 P:envmxdIzcHC:1186 VC:046 00 FL:60383 $FD/88F6 A9 7E LDA #$7E A:0006 X:002E Y:A73F D:0000 DB:FE S:01F3 P:envMxdIzcHC:1204 VC:046 00 FL:60383 $FD/88F8 48 PHA A:007E X:002E Y:A73F D:0000 DB:FE S:01F3 P:envMxdIzcHC:1216 VC:046 00 FL:60383 $FD/88F9 AB PLB A:007E X:002E Y:A73F D:0000 DB:FE S:01F2 P:envMxdIzcHC:1236 VC:046 00 FL:60383 $FD/88FA 84 10 STY $10 [$00:0010] A:007E X:002E Y:A73F D:0000 DB:7E S:01F3 P:envMxdIzcHC:1262 VC:046 00 FL:60383 $FD/88FC C2 20 REP #$20 A:007E X:002E Y:A73F D:0000 DB:7E S:01F3 P:envMxdIzcHC:1290 VC:046 00 FL:60383 $FD/88FE 64 1E STZ $1E [$00:001E] A:007E X:002E Y:A73F D:0000 DB:7E S:01F3 P:envmxdIzcHC:1308 VC:046 00 FL:60383 $FD/8900 A5 1C LDA $1C [$00:001C] A:007E X:002E Y:A73F D:0000 DB:7E S:01F3 P:envmxdIzcHC:1336 VC:046 00 FL:60383 $FD/8902 18 CLC A:002E X:002E Y:A73F D:0000 DB:7E S:01F3 P:envmxdIzcHC:1364 VC:046 00 FL:60383 $FD/8903 65 1E ADC $1E [$00:001E] A:002E X:002E Y:A73F D:0000 DB:7E S:01F3 P:envmxdIzcHC:0008 VC:047 00 FL:60383 $FD/8905 29 FF 07 AND #$07FF A:002E X:002E Y:A73F D:0000 DB:7E S:01F3 P:envmxdIzcHC:0036 VC:047 00 FL:60383 $FD/8908 A8 TAY A:002E X:002E Y:A73F D:0000 DB:7E S:01F3 P:envmxdIzcHC:0054 VC:047 00 FL:60383 $FD/8909 E2 20 SEP #$20 A:002E X:002E Y:002E D:0000 DB:7E S:01F3 P:envmxdIzcHC:0066 VC:047 00 FL:60383 $FD/890B B9 00 F7 LDA $F700,y[$7E:F72E] A:002E X:002E Y:002E D:0000 DB:7E S:01F3 P:envMxdIzcHC:0084 VC:047 00 FL:60383 $FD/890E 87 14 STA [$14] [$7F:1040] A:0000 X:002E Y:002E D:0000 DB:7E S:01F3 P:envMxdIZcHC:0134 VC:047 00 FL:60383 $FD/8910 9D 00 F7 STA $F700,x[$7E:F72E] A:0000 X:002E Y:002E D:0000 DB:7E S:01F3 P:envMxdIZcHC:0178 VC:047 00 FL:60383 $FD/8913 E8 INX A:0000 X:002E Y:002E D:0000 DB:7E S:01F3 P:envMxdIZcHC:0204 VC:047 00 FL:60383 $FD/8914 C2 20 REP #$20 A:0000 X:002F Y:002E D:0000 DB:7E S:01F3 P:envMxdIzcHC:0216 VC:047 00 FL:60383 $FD/8916 8A TXA A:0000 X:002F Y:002E D:0000 DB:7E S:01F3 P:envmxdIzcHC:0234 VC:047 00 FL:60383 $FD/8917 29 FF 07 AND #$07FF A:002F X:002F Y:002E D:0000 DB:7E S:01F3 P:envmxdIzcHC:0246 VC:047 00 FL:60383 $FD/891A AA TAX A:002F X:002F Y:002E D:0000 DB:7E S:01F3 P:envmxdIzcHC:0264 VC:047 00 FL:60383 $FD/891B E6 14 INC $14 [$00:0014] A:002F X:002F Y:002E D:0000 DB:7E S:01F3 P:envmxdIzcHC:0276 VC:047 00 FL:60383 $FD/891D E6 1E INC $1E [$00:001E] A:002F X:002F Y:002E D:0000 DB:7E S:01F3 P:envmxdIzcHC:0326 VC:047 00 FL:60383 $FD/891F A5 1E LDA $1E [$00:001E] A:002F X:002F Y:002E D:0000 DB:7E S:01F3 P:envmxdIzcHC:0376 VC:047 00 FL:60383 $FD/8921 C5 1A CMP $1A [$00:001A] A:0001 X:002F Y:002E D:0000 DB:7E S:01F3 P:envmxdIzcHC:0404 VC:047 00 FL:60383 $FD/8923 D0 DB BNE $DB [$8900] A:0001 X:002F Y:002E D:0000 DB:7E S:01F3 P:eNvmxdIzcHC:0432 VC:047 00 FL:60383 $FD/8925 AB PLB A:0012 X:0000 Y:07ED D:0000 DB:7E S:01F3 P:envmxdIZCHC:1202 VC:221 00 FL:64655 $FD/8926 A4 10 LDY $10 [$00:0010] A:0012 X:0000 Y:07ED D:0000 DB:FE S:01F4 P:eNvmxdIzCHC:1228 VC:221 00 FL:64655 $FD/8928 4C 52 88 JMP $8852 [$FE:8852] A:0012 X:0000 Y:EE5B D:0000 DB:FE S:01F4 P:eNvmxdIzCHC:1256 VC:221 00 FL:64655 $FD/892B AB PLB A:00FF X:07EE Y:FA62 D:0000 DB:FE S:01F4 P:envmxdIZcHC:1048 VC:190 00 FL:65169 $FD/892C A5 14 LDA $14 [$00:0014] A:00FF X:07EE Y:FA62 D:0000 DB:7E S:01F5 P:envmxdIzcHC:1074 VC:190 00 FL:65169 $FD/892E 38 SEC A:3000 X:07EE Y:FA62 D:0000 DB:7E S:01F5 P:envmxdIzcHC:1102 VC:190 00 FL:65169 $FD/892F E5 20 SBC $20 [$00:0020] A:3000 X:07EE Y:FA62 D:0000 DB:7E S:01F5 P:envmxdIzCHC:1114 VC:190 00 FL:65169 $FD/8931 60 RTS A:2000 X:07EE Y:FA62 D:0000 DB:7E S:01F5 P:envmxdIzCHC:1142 VC:190 00 FL:65169 ;*********************************************************************************************************************** ;*********************************************************************************************************************** ;*********************************************************************************************************************** ;*********************************************************************************************************************** ;******* DECOMPRESSION FOR CREDIT LOGO $C2/3B87 E2 10 SEP #$10 A:7880 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:eNvmxdIzcHC:0112 VC:002 00 FL:62266 $C2/3B89 64 46 STZ $46 [$00:0246] A:7880 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:eNvmXdIzcHC:0134 VC:002 00 FL:62266 $C2/3B8B 64 48 STZ $48 [$00:0248] A:7880 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:eNvmXdIzcHC:0166 VC:002 00 FL:62266 ;******* multiplicamos el valor en memoria RAM $7E:0244 por 32 para obtener el tamaño en bytes de lo descomprimido $C2/3B8D 06 44 ASL $44 [$00:0244] A:7880 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:eNvmXdIzcHC:0198 VC:002 00 FL:62266 $C2/3B8F 06 44 ASL $44 [$00:0244] A:7880 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzcHC:0252 VC:002 00 FL:62266 $C2/3B91 06 44 ASL $44 [$00:0244] A:7880 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzcHC:0306 VC:002 00 FL:62266 $C2/3B93 06 44 ASL $44 [$00:0244] A:7880 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzcHC:0360 VC:002 00 FL:62266 $C2/3B95 06 44 ASL $44 [$00:0244] A:7880 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzcHC:0414 VC:002 00 FL:62266 ;******* al valor resultante lo dividimos entre 8 con redondeo hacia arriba; esto es así porque a cada 8 bytes descomprimidos ;******* en la salida les corresponde un byte de patrón, que está en la zona de ROM con datos comprimidos, y el contador que ;******* se almacenará en $44 es el de bytes de patrón que hay que leer de la zona comprimida $C2/3B97 A5 44 LDA $44 [$00:0244] A:7880 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzcHC:0468 VC:002 00 FL:62266 $C2/3B99 18 CLC A:1000 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzcHC:0500 VC:002 00 FL:62266 $C2/3B9A 69 07 00 ADC #$0007 A:1000 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzcHC:0514 VC:002 00 FL:62266 $C2/3B9D 4A LSR A A:1007 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzcHC:0538 VC:002 00 FL:62266 $C2/3B9E 4A LSR A A:0803 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzCHC:0552 VC:002 00 FL:62266 $C2/3B9F 4A LSR A A:0401 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzCHC:0566 VC:002 00 FL:62266 $C2/3BA0 85 44 STA $44 [$00:0244] A:0200 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzCHC:0580 VC:002 00 FL:62266 $C2/3BA2 E2 20 SEP #$20 A:0200 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzCHC:0612 VC:002 00 FL:62266 ;******* BUCLE DE LECTURA DE BYTES PATRÓN DE ROM ;******* leemos bytes de datos comprimidos; el primero de ellos está tras los 16 bits que indican el tamaño $C2/3BA4 A7 73 LDA [$73] [$E9:BE4F] A:0200 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIzCHC:0658 VC:002 00 FL:62266 $C2/3BA6 85 4A STA $4A [$00:024A] A:0202 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIzCHC:0706 VC:002 00 FL:62266 $C2/3BA8 C2 20 REP #$20 A:0202 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIzCHC:0730 VC:002 00 FL:62266 ;******* incrementamos el puntero de lectura de ROM en un byte y comprobamos que no nos hayamos pasado del límite del banco $C2/3BAA E6 73 INC $73 [$00:0273] A:0202 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIzCHC:0752 VC:002 00 FL:62266 $C2/3BAC D0 04 BNE $04 [$3BB2] A:0202 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:eNvmXdIzCHC:0806 VC:002 00 FL:62266 $C2/3BB2 E2 20 SEP #$20 A:0202 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:eNvmXdIzCHC:0828 VC:002 00 FL:62266 ;******* preparamos el contador en el registro X que indica cuántos bits del patrón en $4A hemos analizado ya $C2/3BB4 A2 08 LDX #$08 A:0202 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:eNvMXdIzCHC:0850 VC:002 00 FL:62266 ;******* BUCLE PARA ANALIZAR LOS 8 BITS QUE FORMAN EL PATRÓN ;******* metemos el MSB del byte leído de ROM con el patrón en el CARRY para comprobar si es '1' ó '0' $C2/3BB6 06 4A ASL $4A [$00:024A] A:0202 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIzCHC:0866 VC:002 00 FL:62266 $C2/3BB8 90 10 BCC $10 [$3BCA] A:0202 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIzcHC:0904 VC:002 00 FL:62266 ;******* SI EL BIT DEL PATRÓN ES '1' $C2/3BBA C2 20 REP #$20 A:F0F0 X:0008 Y:003F D:0200 DB:7E S:0AF4 P:eNvMXdIzCHC:0122 VC:005 00 FL:62266 ;******* leemos el siguiente byte de la entrada comprimida, incrementamos el puntero de lectura de ROM en un byte y ;******* comprobamos que no nos hayamos pasado del límite del banco $C2/3BBC A7 73 LDA [$73] [$E9:BE52] A:F0F0 X:0008 Y:003F D:0200 DB:7E S:0AF4 P:eNvmXdIzCHC:0168 VC:005 00 FL:62266 $C2/3BBE E6 73 INC $73 [$00:0273] A:3F40 X:0008 Y:003F D:0200 DB:7E S:0AF4 P:envmXdIzCHC:0224 VC:005 00 FL:62266 $C2/3BC0 D0 04 BNE $04 [$3BC6] A:3F40 X:0008 Y:003F D:0200 DB:7E S:0AF4 P:eNvmXdIzCHC:0278 VC:005 00 FL:62266 ;******* el byte leído de ROM pasará directamente a la salida descomprimida y se covertirá en el valor de $46; el valor ;******* antiguo de $46 pasará a $48 $C2/3BC6 E2 20 SEP #$20 A:3F40 X:0008 Y:003F D:0200 DB:7E S:0AF4 P:eNvmXdIzCHC:0300 VC:005 00 FL:62266 $C2/3BC8 80 02 BRA $02 [$3BCC] A:3F40 X:0008 Y:003F D:0200 DB:7E S:0AF4 P:eNvMXdIzCHC:0322 VC:005 00 FL:62266 ;******* SI EL BIT DEL PATRÓN ES '0' ;******* el valor que haya en $48 es el que se guarda en la salida descomprimida de RAM; este valor se intercambiará con el ;******* de la variable $46 (que contiene el último valor sacado en la salida) y $48 (que contiene el anterior que se sacó) $C2/3BCA A5 48 LDA $48 [$00:0248] A:0202 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIzcHC:0926 VC:002 00 FL:62266 ;******* intercambiamos $46 y $48 siempre, lo cual implica que ante varios bits a '0' en el patrón, se estarán sacando ;******* alternativamente el byte último y el byte penúltimo que se descomprimieron; cuando el bit del patrón está a '1', ;******* se pierde el byte penúltimo que se sacó, el cual se sustituye por el último, y el último se sustituye por el nuevo ;******* que hemos leído de ROM $C2/3BCC A4 46 LDY $46 [$00:0246] A:0200 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIZcHC:0950 VC:002 00 FL:62266 $C2/3BCE 84 48 STY $48 [$00:0248] A:0200 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIZcHC:0974 VC:002 00 FL:62266 $C2/3BD0 85 46 STA $46 [$00:0246] A:0200 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIZcHC:0998 VC:002 00 FL:62266 $C2/3BD2 92 76 STA ($76) [$7E:B0A0] A:0200 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIZcHC:1038 VC:002 00 FL:62266 $C2/3BD4 C2 20 REP #$20 A:0200 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIZcHC:1078 VC:002 00 FL:62266 ;******* incrementamos el puntero de salida de los bytes descomprimidos en RAM $C2/3BD6 E6 76 INC $76 [$00:0276] A:0200 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:envmXdIZcHC:1100 VC:002 00 FL:62266 $C2/3BD8 E2 20 SEP #$20 A:0200 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:eNvmXdIzcHC:1154 VC:002 00 FL:62266 ;******* decrementamos el contador de bits analizados y si quedan más, continuamos el bucle $C2/3BDA CA DEX A:0200 X:0008 Y:0000 D:0200 DB:7E S:0AF4 P:eNvMXdIzcHC:1176 VC:002 00 FL:62266 $C2/3BDB D0 D9 BNE $D9 [$3BB6] A:0200 X:0007 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIzcHC:1190 VC:002 00 FL:62266 ;******* en $44 tenemos la cantidad de bytes de patrón que se han de analizar para descomprimir; si no ha llegado a cero, ;******* se sigue decomprimiendo leyendo el siguiente byte de patrón $C2/3BDD C2 20 REP #$20 A:F000 X:0000 Y:003F D:0200 DB:7E S:0AF4 P:envMXdIZcHC:1084 VC:004 00 FL:62266 $C2/3BDF C6 44 DEC $44 [$00:0244] A:F000 X:0000 Y:003F D:0200 DB:7E S:0AF4 P:envmXdIZcHC:1106 VC:004 00 FL:62266 $C2/3BE1 E2 20 SEP #$20 A:F000 X:0000 Y:003F D:0200 DB:7E S:0AF4 P:envmXdIzcHC:1160 VC:004 00 FL:62266 $C2/3BE3 D0 BF BNE $BF [$3BA4] A:F000 X:0000 Y:003F D:0200 DB:7E S:0AF4 P:envMXdIzcHC:1182 VC:004 00 FL:62266 ;******* al acabar con todos los bytes de patrón, se sale de la rutina con MEM/IDX ambos a 16 bits $C2/3BE5 C2 30 REP #$30 A:0000 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envMXdIZcHC:0500 VC:130 00 FL:62266 $C2/3BE7 60 RTS A:0000 X:0000 Y:0000 D:0200 DB:7E S:0AF4 P:envmxdIZcHC:0522 VC:130 00 FL:62266