ASM.PACKER
FILE INFORMATION
FILENAME(S): ASM.PACKER
FILE TYPE(S): SEQ
FILE SIZE: 9.4K
FIRST SEEN: 2025-11-30 16:45:20
APPEARS ON: 2 disk(s)
FILE HASH
f6fcb17285bbdf3ac59f773663dc65e275115c3215ccd29f98b88879e43ea83e
FOUND ON DISKS (2 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| TALENTED RULERZ | ASM.PACKER | SEQ | High Voltage Complete C64 Collection | 32 | 4 | DOWNLOAD FILE |
| THE GRAPEVINE | ASM.PACKER | SEQ | High Voltage Complete C64 Collection | 32 | 4 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 0D 3B 2A 2A 2A 20 D3 C9 D8 2D D0 C1 C3 CB 20 2A |.;*** ...-.... *| 00000010: 2A 2A 0D 0D 3B CD D5 CC D4 C9 D0 CC C5 20 26 20 |**..;........ & | 00000020: D3 C9 D8 20 C2 C9 D4 20 C3 CF CD D0 D2 C5 D3 D3 |... ... ........| 00000030: CF D2 0D 0D 3B C3 4F 44 45 20 41 4E 44 20 41 4C |....;.ODE AND AL| 00000040: 47 4F 52 49 54 48 4D 20 42 59 20 D2 45 49 4E 45 |GORITHM BY .EINE| 00000050: 52 20 D2 49 43 48 54 45 52 2E 0D 3B D3 54 41 52 |R .ICHTER..;.TAR| 00000060: 54 45 44 20 4F 4E 20 54 48 45 20 32 38 2F 38 2F |TED ON THE 28/8/| 00000070: 39 34 0D 0D 45 58 54 52 41 20 20 20 20 3D 20 24 |94..EXTRA = $| 00000080: 34 43 20 20 3B C5 58 54 52 41 20 42 59 54 45 20 |4C ;.XTRA BYTE | 00000090: 49 53 20 4D 4F 53 54 0D 20 20 20 20 20 20 20 20 |IS MOST. | 000000A0: 20 20 20 20 20 20 20 20 3B 20 43 4F 4D 4D 4F 4E | ; COMMON| 000000B0: 20 42 59 54 45 20 4F 55 54 53 49 44 45 0D 20 20 | BYTE OUTSIDE. | 000000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 | ; | 000000D0: 41 20 53 49 58 20 42 49 54 20 52 41 4E 47 45 2E |A SIX BIT RANGE.| 000000E0: 0D 50 4F 49 4E 54 45 52 20 20 3D 20 24 34 44 20 |.POINTER = $4D | 000000F0: 20 3B 36 2D 42 49 54 20 50 41 43 4B 20 50 54 52 | ;6-BIT PACK PTR| 00000100: 2E 0D 52 41 4E 47 45 20 20 20 20 3D 20 24 34 45 |..RANGE = $4E| 00000110: 20 20 3B C3 55 52 52 45 4E 54 20 D2 41 4E 47 45 | ;.URRENT .ANGE| 00000120: 2E 0D 4C 41 53 54 4F 4E 45 20 20 3D 20 24 34 46 |..LASTONE = $4F| 00000130: 0D 54 45 4D 50 20 20 20 20 20 3D 20 24 34 46 0D |.TEMP = $4F.| 00000140: 47 45 54 20 20 20 20 20 20 3D 20 24 35 30 0D 50 |GET = $50.P| 00000150: 55 54 20 20 20 20 20 20 3D 20 24 35 32 0D 43 48 |UT = $52.CH| 00000160: 45 43 4B 20 20 20 20 3D 20 24 35 34 0D 4C 4F 41 |ECK = $54.LOA| 00000170: 52 45 41 20 20 20 3D 20 24 30 34 30 30 20 3B D5 |REA = $0400 ;.| 00000180: 53 45 44 20 46 4F 52 20 53 43 41 4E 4E 49 4E 47 |SED FOR SCANNING| 00000190: 20 46 4F 52 0D 48 49 41 52 45 41 20 20 20 3D 20 | FOR.HIAREA = | 000001A0: 24 30 35 30 30 20 3B 20 27 C5 58 54 52 41 22 20 |$0500 ; '.XTRA" | 000001B0: 42 59 54 45 2E 0D 4D 45 4D 53 54 41 52 54 20 3D |BYTE..MEMSTART =| 000001C0: 20 24 46 41 0D 4D 45 4D 45 4E 44 20 20 20 3D 20 | $FA.MEMEND = | 000001D0: 24 46 43 0D 4D 45 4D 54 4F 50 20 20 20 3D 20 24 |$FC.MEMTOP = $| 000001E0: 46 45 0D 42 55 46 46 45 52 20 20 20 3D 20 24 35 |FE.BUFFER = $5| 000001F0: 38 0D 0D 0D 3B C3 CF C4 C5 20 CD C5 C1 CE C9 CE |8...;.... ......| 00000200: C7 20 20 20 20 20 20 20 20 20 20 28 D2 C1 CE C7 |. (....| 00000210: C5 29 0D 3B 30 2D 35 37 20 D2 41 4E 47 45 20 CF |.).;0-57 .ANGE .| 00000220: 46 46 53 45 54 0D 3B 20 35 38 20 20 C5 58 54 52 |FFSET.; 58 .XTR| 00000230: 41 20 42 59 54 45 0D 3B 20 35 39 20 20 D3 45 54 |A BYTE.; 59 .ET| 00000240: 20 54 4F 20 D2 41 4E 47 45 20 30 20 20 20 20 30 | TO .ANGE 0 0| 00000250: 2D 35 37 0D 3B 20 36 30 20 20 D3 45 54 20 54 4F |-57.; 60 .ET TO| 00000260: 20 D2 41 4E 47 45 20 31 20 20 20 34 38 2D 31 30 | .ANGE 1 48-10| 00000270: 35 0D 3B 20 36 31 20 20 D3 45 54 20 54 4F 20 D2 |5.; 61 .ET TO .| 00000280: 41 4E 47 45 20 32 20 20 20 39 37 2D 31 35 34 0D |ANGE 2 97-154.| 00000290: 3B 20 36 32 20 20 D3 45 54 20 54 4F 20 D2 41 4E |; 62 .ET TO .AN| 000002A0: 47 45 20 33 20 20 31 34 30 2D 31 39 37 0D 3B 20 |GE 3 140-197.; | 000002B0: 36 33 20 20 D3 45 54 20 54 4F 20 D2 41 4E 47 45 |63 .ET TO .ANGE| 000002C0: 20 34 20 20 31 39 38 2D 32 35 35 0D 0D 20 20 20 | 4 198-255.. | 000002D0: 20 20 20 20 20 20 2A 3D 20 24 30 38 30 44 0D 0D | *= $080D..| 000002E0: 20 20 20 20 20 20 20 20 20 4A 4D 50 20 4D 41 49 | JMP MAI| 000002F0: 4E 0D 0D 0D 47 45 54 42 59 54 45 20 20 4C 44 59 |N...GETBYTE LDY| 00000300: 20 23 30 0D 20 20 20 20 20 20 20 20 20 4C 44 41 | #0. LDA| 00000310: 20 28 47 45 54 29 2C 59 0D 20 20 20 20 20 20 20 | (GET),Y. | 00000320: 20 20 49 4E 43 20 47 45 54 0D 20 20 20 20 20 20 | INC GET. | 00000330: 20 20 20 42 4E 45 20 47 45 54 45 58 0D 20 20 20 | BNE GETEX. | 00000340: 20 20 20 20 20 20 49 4E 43 20 47 45 54 2B 31 0D | INC GET+1.| 00000350: 47 45 54 45 58 20 20 20 20 52 54 53 0D 0D 50 55 |GETEX RTS..PU| 00000360: 54 42 59 54 45 20 20 4C 44 59 20 23 30 0D 20 20 |TBYTE LDY #0. | 00000370: 20 20 20 20 20 20 20 53 54 41 20 28 50 55 54 29 | STA (PUT)| 00000380: 2C 59 0D 20 20 20 20 20 20 20 20 20 49 4E 43 20 |,Y. INC | 00000390: 50 55 54 0D 20 20 20 20 20 20 20 20 20 42 4E 45 |PUT. BNE| 000003A0: 20 47 45 54 45 58 0D 20 20 20 20 20 20 20 20 20 | GETEX. | 000003B0: 49 4E 43 20 50 55 54 2B 31 0D 20 20 20 20 20 20 |INC PUT+1. | 000003C0: 20 20 20 52 54 53 0D 0D 52 47 45 54 42 59 54 45 | RTS..RGETBYTE| 000003D0: 20 4C 44 59 20 23 30 0D 20 20 20 20 20 20 20 20 | LDY #0. | 000003E0: 20 4C 44 41 20 47 45 54 0D 20 20 20 20 20 20 20 | LDA GET. | 000003F0: 20 20 42 4E 45 20 53 4B 49 50 31 0D 20 20 20 20 | BNE SKIP1. | 00000400: 20 20 20 20 20 44 45 43 20 47 45 54 2B 31 0D 53 | DEC GET+1.S| 00000410: 4B 49 50 31 20 20 20 20 44 45 43 20 47 45 54 0D |KIP1 DEC GET.| 00000420: 20 20 20 20 20 20 20 20 20 4C 44 41 20 28 47 45 | LDA (GE| 00000430: 54 29 2C 59 0D 20 20 20 20 20 20 20 20 20 52 54 |T),Y. RT| 00000440: 53 0D 0D 52 50 55 54 42 59 54 45 20 4C 44 59 20 |S..RPUTBYTE LDY | 00000450: 50 55 54 0D 20 20 20 20 20 20 20 20 20 42 4E 45 |PUT. BNE| 00000460: 20 53 4B 49 50 32 0D 20 20 20 20 20 20 20 20 20 | SKIP2. | 00000470: 44 45 43 20 50 55 54 2B 31 0D 53 4B 49 50 32 20 |DEC PUT+1.SKIP2 | 00000480: 20 20 20 44 45 43 20 50 55 54 0D 20 20 20 20 20 | DEC PUT. | 00000490: 20 20 20 20 4C 44 59 20 23 30 0D 20 20 20 20 20 | LDY #0. | 000004A0: 20 20 20 20 53 54 41 20 28 50 55 54 29 2C 59 0D | STA (PUT),Y.| 000004B0: 20 20 20 20 20 20 20 20 20 52 54 53 0D 0D 47 45 | RTS..GE| 000004C0: 54 43 48 45 43 4B 20 4C 44 59 20 23 30 0D 20 20 |TCHECK LDY #0. | 000004D0: 20 20 20 20 20 20 20 4C 44 41 20 28 43 48 45 43 | LDA (CHEC| 000004E0: 4B 29 2C 59 0D 20 20 20 20 20 20 20 20 20 49 4E |K),Y. IN| 000004F0: 43 20 43 48 45 43 4B 0D 20 20 20 20 20 20 20 20 |C CHECK. | 00000500: 20 42 4E 45 20 47 45 54 43 48 4B 45 58 0D 20 20 | BNE GETCHKEX. | 00000510: 20 20 20 20 20 20 20 49 4E 43 20 43 48 45 43 4B | INC CHECK| 00000520: 2B 31 0D 47 45 54 43 48 4B 45 58 20 52 54 53 0D |+1.GETCHKEX RTS.| 00000530: 0D 0D 45 51 50 41 43 4B 20 20 20 3B D0 41 43 4B |..EQPACK ;.ACK| 00000540: 20 41 52 45 41 20 46 52 4F 4D 20 54 4F 50 2E 0D | AREA FROM TOP..| 00000550: 20 20 20 20 20 20 20 20 20 3B C5 51 55 41 4C 20 | ;.QUAL | 00000560: 42 59 54 45 20 50 41 43 4B 20 4F 4E 4C 59 2E 0D |BYTE PACK ONLY..| 00000570: 20 20 20 20 20 20 20 20 20 4C 44 59 20 4D 45 4D | LDY MEM| 00000580: 45 4E 44 2B 31 0D 20 20 20 20 20 20 20 20 20 4C |END+1. L| 00000590: 44 58 20 4D 45 4D 45 4E 44 0D 20 20 20 20 20 20 |DX MEMEND. | 000005A0: 20 20 20 53 54 58 20 47 45 54 0D 20 20 20 20 20 | STX GET. | 000005B0: 20 20 20 20 53 54 59 20 47 45 54 2B 31 0D 20 20 | STY GET+1. | 000005C0: 20 20 20 20 20 20 20 4C 44 59 20 4D 45 4D 54 4F | LDY MEMTO| 000005D0: 50 2B 31 0D 20 20 20 20 20 20 20 20 20 4C 44 58 |P+1. LDX| 000005E0: 20 4D 45 4D 54 4F 50 0D 20 20 20 20 20 20 20 20 | MEMTOP. | 000005F0: 20 53 54 58 20 50 55 54 0D 20 20 20 20 20 20 20 | STX PUT. | 00000600: 20 20 53 54 59 20 50 55 54 2B 31 0D 0D 20 20 20 | STY PUT+1.. | 00000610: 20 20 20 20 20 20 4C 44 59 20 23 24 46 46 20 20 | LDY #$FF | 00000620: 20 20 20 3B C5 4E 53 55 52 45 20 45 4E 44 42 59 | ;.NSURE ENDBY| 00000630: 54 45 0D 20 20 20 20 20 20 20 20 20 44 45 43 20 |TE. DEC | 00000640: 47 45 54 2B 31 20 20 20 20 3B 20 49 53 20 4E 4F |GET+1 ; IS NO| 00000650: 54 20 53 41 4D 45 20 41 53 0D 20 20 20 20 20 20 |T SAME AS. | 00000660: 20 20 20 4C 44 41 20 28 47 45 54 29 2C 59 20 20 | LDA (GET),Y | 00000670: 3B 20 45 4E 44 2B 31 20 42 59 54 45 2E 0D 20 20 |; END+1 BYTE.. | 00000680: 20 20 20 20 20 20 20 49 4E 43 20 47 45 54 2B 31 | INC GET+1| 00000690: 0D 20 20 20 20 20 20 20 20 20 45 4F 52 20 23 24 |. EOR #$| 000006A0: 30 46 0D 20 20 20 20 20 20 20 20 20 4C 44 59 20 |0F. LDY | 000006B0: 23 30 0D 20 20 20 20 20 20 20 20 20 53 54 41 20 |#0. STA | 000006C0: 28 50 55 54 29 2C 59 0D 0D 4D 4F 56 45 48 49 4C |(PUT),Y..MOVEHIL| 000006D0: 50 20 4A 53 52 20 52 47 45 54 42 59 54 45 0D 20 |P JSR RGETBYTE. | 000006E0: 20 20 20 20 20 20 20 20 4A 53 52 20 52 50 55 54 | JSR RPUT| 000006F0: 42 59 54 45 0D 20 20 20 20 20 20 20 20 20 4C 44 |BYTE. LD| 00000700: 41 20 47 45 54 0D 20 20 20 20 20 20 20 20 20 43 |A GET. C| 00000710: 4D 50 20 4D 45 4D 53 54 41 52 54 0D 20 20 20 20 |MP MEMSTART. | 00000720: 20 20 20 20 20 42 45 51 20 53 4B 49 50 35 0D 20 | BEQ SKIP5. | 00000730: 20 20 20 20 20 20 20 20 42 43 53 20 4D 4F 56 45 | BCS MOVE| 00000740: 48 49 4C 50 0D 53 4B 49 50 35 20 20 20 20 4C 44 |HILP.SKIP5 LD| 00000750: 41 20 47 45 54 2B 31 0D 20 20 20 20 20 20 20 20 |A GET+1. | 00000760: 20 43 4D 50 20 4D 45 4D 53 54 41 52 54 2B 31 0D | CMP MEMSTART+1.| 00000770: 20 20 20 20 20 20 20 20 20 42 43 53 20 4D 4F 56 | BCS MOV| 00000780: 45 48 49 4C 50 0D 0D 20 20 20 20 20 20 20 20 20 |EHILP.. | 00000790: 4C 44 41 20 4D 45 4D 54 4F 50 0D 20 20 20 20 20 |LDA MEMTOP. | 000007A0: 20 20 20 20 53 45 43 0D 20 20 20 20 20 20 20 20 | SEC. | 000007B0: 20 53 42 43 20 4D 45 4D 45 4E 44 0D 20 20 20 20 | SBC MEMEND. | 000007C0: 20 20 20 20 20 54 41 58 0D 20 20 20 20 20 20 20 | TAX. | 000007D0: 20 20 4C 44 41 20 4D 45 4D 54 4F 50 2B 31 0D 20 | LDA MEMTOP+1. | 000007E0: 20 20 20 20 20 20 20 20 53 42 43 20 4D 45 4D 45 | SBC MEME| 000007F0: 4E 44 2B 31 0D 20 20 20 20 20 20 20 20 20 54 41 |ND+1. TA| 00000800: 59 0D 20 20 20 20 20 20 20 20 20 54 58 41 0D 20 |Y. TXA. | 00000810: 20 20 20 20 20 20 20 20 43 4C 43 0D 20 20 20 20 | CLC. | 00000820: 20 20 20 20 20 41 44 43 20 4D 45 4D 53 54 41 52 | ADC MEMSTAR| 00000830: 54 0D 20 20 20 20 20 20 20 20 20 54 41 58 0D 20 |T. TAX. | 00000840: 20 20 20 20 20 20 20 20 54 59 41 0D 20 20 20 20 | TYA. | 00000850: 20 20 20 20 20 41 44 43 20 4D 45 4D 53 54 41 52 | ADC MEMSTAR| 00000860: 54 2B 31 0D 20 20 20 20 20 20 20 20 20 54 41 59 |T+1. TAY| 00000870: 0D 20 20 20 20 20 20 20 20 20 53 54 58 20 47 45 |. STX GE| 00000880: 54 0D 20 20 20 20 20 20 20 20 20 53 54 59 20 47 |T. STY G| 00000890: 45 54 2B 31 0D 20 20 20 20 20 20 20 20 20 4C 44 |ET+1. LD| 000008A0: 58 20 4D 45 4D 53 54 41 52 54 0D 20 20 20 20 20 |X MEMSTART. | 000008B0: 20 20 20 20 4C 44 59 20 4D 45 4D 53 54 41 52 54 | LDY MEMSTART| 000008C0: 2B 31 0D 20 20 20 20 20 20 20 20 20 53 54 58 20 |+1. STX | 000008D0: 50 55 54 0D 20 20 20 20 20 20 20 20 20 53 54 59 |PUT. STY| 000008E0: 20 50 55 54 2B 31 0D 0D 45 51 4D 41 49 4E 20 20 | PUT+1..EQMAIN | 000008F0: 20 4A 53 52 20 47 45 54 42 59 54 45 0D 20 20 20 | JSR GETBYTE. | 00000900: 20 20 20 20 20 20 53 54 41 20 4C 41 53 54 4F 4E | STA LASTON| 00000910: 45 0D 45 51 4C 4F 4F 50 20 20 20 4A 53 52 20 50 |E.EQLOOP JSR P| 00000920: 55 54 42 59 54 45 0D 20 20 20 20 20 20 20 20 20 |UTBYTE. | 00000930: 4C 44 58 20 23 31 0D 4D 55 4C 54 4C 4F 4F 50 20 |LDX #1.MULTLOOP | 00000940: 4C 44 59 20 23 24 30 30 0D 20 20 20 20 20 20 20 |LDY #$00. | 00000950: 20 20 4C 44 41 20 4C 41 53 54 4F 4E 45 0D 20 20 | LDA LASTONE. | 00000960: 20 20 20 20 20 20 20 43 4D 50 20 28 47 45 54 29 | CMP (GET)| 00000970: 2C 59 0D 20 20 20 20 20 20 20 20 20 42 4E 45 20 |,Y. BNE | 00000980: 53 54 4F 52 45 0D 20 20 20 20 20 20 20 20 20 4A |STORE. J| 00000990: 53 52 20 47 45 54 42 59 54 45 0D 20 20 20 20 20 |SR GETBYTE. | 000009A0: 20 20 20 20 49 4E 58 0D 20 20 20 20 20 20 20 20 | INX. | 000009B0: 20 42 4E 45 20 4D 55 4C 54 4C 4F 4F 50 0D 4D 55 | BNE MULTLOOP.MU| 000009C0: 4C 54 53 54 4F 52 20 4A 53 52 20 50 55 54 42 59 |LTSTOR JSR PUTBY| 000009D0: 54 45 0D 20 20 20 20 20 20 20 20 20 54 58 41 0D |TE. TXA.| 000009E0: 20 20 20 20 20 20 20 20 20 4A 4D 50 20 45 51 4C | JMP EQL| 000009F0: 4F 4F 50 0D 53 54 4F 52 45 20 20 20 20 43 50 58 |OOP.STORE CPX| 00000A00: 20 23 31 0D 20 20 20 20 20 20 20 20 20 42 4E 45 | #1. BNE| 00000A10: 20 4D 55 4C 54 53 54 4F 52 0D 0D 20 20 20 20 20 | MULTSTOR.. | 00000A20: 20 20 20 20 4C 44 41 20 47 45 54 2B 31 0D 20 20 | LDA GET+1. | 00000A30: 20 20 20 20 20 20 20 43 4D 50 20 4D 45 4D 54 4F | CMP MEMTO| 00000A40: 50 2B 31 0D 20 20 20 20 20 20 20 20 20 42 4E 45 |P+1. BNE| 00000A50: 20 45 51 4D 41 49 4E 0D 20 20 20 20 20 20 20 20 | EQMAIN. | 00000A60: 20 4C 44 41 20 47 45 54 0D 20 20 20 20 20 20 20 | LDA GET. | 00000A70: 20 20 43 4D 50 20 4D 45 4D 54 4F 50 0D 20 20 20 | CMP MEMTOP. | 00000A80: 20 20 20 20 20 20 42 4E 45 20 45 51 4D 41 49 4E | BNE EQMAIN| 00000A90: 0D 0D 20 20 20 20 20 20 20 20 20 4C 44 58 20 50 |.. LDX P| 00000AA0: 55 54 0D 20 20 20 20 20 20 20 20 20 4C 44 59 20 |UT. LDY | 00000AB0: 50 55 54 2B 31 0D 20 20 20 20 20 20 20 20 20 52 |PUT+1. R| 00000AC0: 54 53 0D 0D 4C 4F 52 41 4E 47 45 20 20 2E 42 59 |TS..LORANGE .BY| 00000AD0: 54 45 20 30 2C 34 38 2C 39 37 2C 31 34 30 2C 31 |TE 0,48,97,140,1| 00000AE0: 39 38 0D 48 49 52 41 4E 47 45 20 20 2E 42 59 54 |98.HIRANGE .BYT| 00000AF0: 45 20 35 37 2C 31 30 35 2C 31 35 34 2C 31 39 37 |E 57,105,154,197| 00000B00: 2C 32 35 35 0D 0D 49 4E 52 41 4E 47 45 20 20 3B |,255..INRANGE ;| 00000B10: C3 48 45 43 4B 20 49 46 20 42 59 54 45 20 28 C1 |.HECK IF BYTE (.| 00000B20: 29 20 49 53 20 49 4E 0D 20 20 20 20 20 20 20 20 |) IS IN. | 00000B30: 20 3B 20 43 55 52 52 45 4E 54 20 52 41 4E 47 45 | ; CURRENT RANGE| 00000B40: 20 28 D8 29 2E 0D 20 20 20 20 20 20 20 20 20 3B | (.).. ;| 00000B50: CF D5 D4 3A 20 C3 CC C3 3D D9 45 53 2C 20 D3 C5 |...: ...=.ES, ..| 00000B60: C3 3D D9 3D CE 45 57 20 D2 41 4E 47 45 0D 20 20 |.=.=.EW .ANGE. | 00000B70: 20 20 20 20 20 20 20 4C 44 58 20 52 41 4E 47 45 | LDX RANGE| 00000B80: 0D 20 20 20 20 20 20 20 20 20 43 4D 50 20 48 49 |. CMP HI| 00000B90: 52 41 4E 47 45 2C 58 0D 20 20 20 20 20 20 20 20 |RANGE,X. | 00000BA0: 20 42 45 51 20 53 4B 49 50 30 35 0D 20 20 20 20 | BEQ SKIP05. | 00000BB0: 20 20 20 20 20 42 43 53 20 4F 55 54 53 49 44 45 | BCS OUTSIDE| 00000BC0: 0D 53 4B 49 50 30 35 20 20 20 43 4D 50 20 4C 4F |.SKIP05 CMP LO| 00000BD0: 52 41 4E 47 45 2C 58 0D 20 20 20 20 20 20 20 20 |RANGE,X. | 00000BE0: 20 42 43 43 20 4F 55 54 53 49 44 45 0D 49 4E 53 | BCC OUTSIDE.INS| 00000BF0: 49 44 45 20 20 20 53 45 43 0D 20 20 20 20 20 20 |IDE SEC. | 00000C00: 20 20 20 53 42 43 20 4C 4F 52 41 4E 47 45 2C 58 | SBC LORANGE,X| 00000C10: 0D 20 20 20 20 20 20 20 20 20 43 4C 43 0D 20 20 |. CLC. | 00000C20: 20 20 20 20 20 20 20 52 54 53 0D 4F 55 54 53 49 | RTS.OUTSI| 00000C30: 44 45 20 20 3B C2 59 54 45 20 49 53 20 4F 55 54 |DE ;.YTE IS OUT| 00000C40: 53 49 44 45 20 52 45 51 55 49 52 45 44 20 52 41 |SIDE REQUIRED RA| 00000C50: 4E 47 45 0D 20 20 20 20 20 20 20 20 20 3B 20 53 |NGE. ; S| 00000C60: 4F 20 4E 45 45 44 20 54 4F 20 43 41 4C 43 55 4C |O NEED TO CALCUL| 00000C70: 41 54 45 20 4E 45 57 2E 0D 20 20 20 20 20 20 20 |ATE NEW.. | 00000C80: 20 20 4C 44 58 20 23 30 0D 4E 45 57 52 4C 4F 4F | LDX #0.NEWRLOO| 00000C90: 50 20 43 4D 50 20 48 49 52 41 4E 47 45 2C 58 0D |P CMP HIRANGE,X.| 00000CA0: 20 20 20 20 20 20 20 20 20 42 43 43 20 4E 45 57 | BCC NEW| 00000CB0: 52 41 4E 47 45 0D 20 20 20 20 20 20 20 20 20 49 |RANGE. I| 00000CC0: 4E 58 0D 20 20 20 20 20 20 20 20 20 43 50 58 20 |NX. CPX | 00000CD0: 23 34 0D 20 20 20 20 20 20 20 20 20 42 43 43 20 |#4. BCC | 00000CE0: 4E 45 57 52 4C 4F 4F 50 0D 4E 45 57 52 41 4E 47 |NEWRLOOP.NEWRANG| 00000CF0: 45 20 53 45 43 0D 20 20 20 20 20 20 20 20 20 53 |E SEC. S| 00000D00: 42 43 20 4C 4F 52 41 4E 47 45 2C 58 0D 20 20 20 |BC LORANGE,X. | 00000D10: 20 20 20 20 20 20 50 48 41 0D 20 20 20 20 20 20 | PHA. | 00000D20: 20 20 20 54 58 41 0D 20 20 20 20 20 20 20 20 20 | TXA. | 00000D30: 43 4C 43 0D 20 20 20 20 20 20 20 20 20 41 44 43 |CLC. ADC| 00000D40: 20 23 35 39 0D 20 20 20 20 20 20 20 20 20 54 41 | #59. TA| 00000D50: 59 0D 20 20 20 20 20 20 20 20 20 50 4C 41 0D 20 |Y. PLA. | 00000D60: 20 20 20 20 20 20 20 20 53 45 43 0D 20 20 20 20 | SEC. | 00000D70: 20 20 20 20 20 52 54 53 0D 0D 45 58 54 52 41 43 | RTS..EXTRAC| 00000D80: 48 4B 20 3B C3 48 45 43 4B 20 4D 45 4D 4F 52 59 |HK ;.HECK MEMORY| 00000D90: 20 46 4F 52 20 27 45 58 54 52 41 27 2E 0D 20 20 | FOR 'EXTRA'.. | 00000DA0: 20 20 20 20 20 20 20 4C 44 41 20 23 30 0D 20 20 | LDA #0. | 00000DB0: 20 20 20 20 20 20 20 53 54 41 20 52 41 4E 47 45 | STA RANGE| 00000DC0: 0D 20 20 20 20 20 20 20 20 20 54 41 58 0D 43 4C |. TAX.CL| 00000DD0: 52 4C 4F 4F 50 20 20 53 54 41 20 4C 4F 41 52 45 |RLOOP STA LOARE| 00000DE0: 41 2C 58 0D 20 20 20 20 20 20 20 20 20 53 54 41 |A,X. STA| 00000DF0: 20 48 49 41 52 45 41 2C 58 0D 20 20 20 20 20 20 | HIAREA,X. | 00000E00: 20 20 20 49 4E 58 0D 20 20 20 20 20 20 20 20 20 | INX. | 00000E10: 42 4E 45 20 43 4C 52 4C 4F 4F 50 0D 43 48 4B 4C |BNE CLRLOOP.CHKL| 00000E20: 4F 4F 50 20 20 4A 53 52 20 47 45 54 43 48 45 43 |OOP JSR GETCHEC| 00000E30: 4B 0D 20 20 20 20 20 20 20 20 20 50 48 41 0D 20 |K. PHA. | 00000E40: 20 20 20 20 20 20 20 20 4A 53 52 20 49 4E 52 41 | JSR INRA| 00000E50: 4E 47 45 0D 20 20 20 20 20 20 20 20 20 50 4C 41 |NGE. PLA| 00000E60: 0D 20 20 20 20 20 20 20 20 20 42 43 43 20 53 41 |. BCC SA| 00000E70: 4D 45 52 4E 47 0D 20 20 20 20 20 20 20 20 20 53 |MERNG. S| 00000E80: 54 58 20 52 41 4E 47 45 0D 20 20 20 20 20 20 20 |TX RANGE. | 00000E90: 20 20 54 41 58 0D 20 20 20 20 20 20 20 20 20 49 | TAX. I| 00000EA0: 4E 43 20 4C 4F 41 52 45 41 2C 58 0D 20 20 20 20 |NC LOAREA,X. | 00000EB0: 20 20 20 20 20 42 4E 45 20 53 41 4D 45 52 4E 47 | BNE SAMERNG| 00000EC0: 0D 20 20 20 20 20 20 20 20 20 49 4E 43 20 48 49 |. INC HI| 00000ED0: 41 52 45 41 2C 58 0D 53 41 4D 45 52 4E 47 20 20 |AREA,X.SAMERNG | 00000EE0: 4C 44 41 20 43 48 45 43 4B 0D 20 20 20 20 20 20 |LDA CHECK. | 00000EF0: 20 20 20 43 4D 50 20 47 45 54 0D 20 20 20 20 20 | CMP GET. | 00000F00: 20 20 20 20 42 4E 45 20 43 48 4B 4C 4F 4F 50 0D | BNE CHKLOOP.| 00000F10: 20 20 20 20 20 20 20 20 20 4C 44 41 20 43 48 45 | LDA CHE| 00000F20: 43 4B 2B 31 0D 20 20 20 20 20 20 20 20 20 43 4D |CK+1. CM| 00000F30: 50 20 47 45 54 2B 31 0D 20 20 20 20 20 20 20 20 |P GET+1. | 00000F40: 20 42 4E 45 20 43 48 4B 4C 4F 4F 50 0D 20 20 20 | BNE CHKLOOP. | 00000F50: 20 3B C3 4F 55 4E 54 45 44 20 42 59 54 45 53 2E | ;.OUNTED BYTES.| 00000F60: 0D 20 20 20 20 20 20 20 20 20 4C 44 58 20 23 30 |. LDX #0| 00000F70: 0D 4E 45 57 4C 4F 4F 50 20 20 4C 44 41 20 4C 4F |.NEWLOOP LDA LO| 00000F80: 41 52 45 41 2C 58 0D 20 20 20 20 20 20 20 20 20 |AREA,X. | 00000F90: 4C 44 59 20 48 49 41 52 45 41 2C 58 0D 20 20 20 |LDY HIAREA,X. | 00000FA0: 20 20 20 20 20 20 53 54 41 20 43 48 45 43 4B 0D | STA CHECK.| 00000FB0: 20 20 20 20 20 20 20 20 20 53 54 59 20 43 48 45 | STY CHE| 00000FC0: 43 4B 2B 31 0D 20 20 20 20 20 20 20 20 20 53 54 |CK+1. ST| 00000FD0: 58 20 4C 41 53 54 4F 4E 45 0D 54 4F 4F 53 4D 41 |X LASTONE.TOOSMA| 00000FE0: 4C 4C 20 49 4E 58 0D 20 20 20 20 20 20 20 20 20 |LL INX. | 00000FF0: 42 45 51 20 45 58 54 52 41 46 4E 44 0D 20 20 20 |BEQ EXTRAFND. | 00001000: 20 20 20 20 20 20 4C 44 59 20 48 49 41 52 45 41 | LDY HIAREA| 00001010: 2C 58 0D 20 20 20 20 20 20 20 20 20 43 4D 50 20 |,X. CMP | 00001020: 43 48 45 43 4B 2B 31 0D 20 20 20 20 20 20 20 20 |CHECK+1. | 00001030: 20 42 43 43 20 54 4F 4F 53 4D 41 4C 4C 0D 20 20 | BCC TOOSMALL. | 00001040: 20 20 20 20 20 20 20 4C 44 41 20 4C 4F 41 52 45 | LDA LOARE| 00001050: 41 2C 58 0D 20 20 20 20 20 20 20 20 20 43 4D 50 |A,X. CMP| 00001060: 20 43 48 45 43 4B 0D 20 20 20 20 20 20 20 20 20 | CHECK. | 00001070: 42 43 43 20 54 4F 4F 53 4D 41 4C 4C 0D 20 20 20 |BCC TOOSMALL. | 00001080: 20 20 20 20 20 20 42 43 53 20 4E 45 57 4C 4F 4F | BCS NEWLOO| 00001090: 50 0D 45 58 54 52 41 46 4E 44 20 4C 44 41 20 4C |P.EXTRAFND LDA L| 000010A0: 41 53 54 4F 4E 45 0D 20 20 20 20 20 20 20 20 20 |ASTONE. | 000010B0: 4C 44 58 20 50 55 54 0D 20 20 20 20 20 20 20 20 |LDX PUT. | 000010C0: 20 4C 44 59 20 50 55 54 2B 31 0D 20 20 20 20 20 | LDY PUT+1. | 000010D0: 20 20 20 20 52 54 53 0D 0D 41 4C 53 54 4F 52 45 | RTS..ALSTORE| 000010E0: 20 20 3B D3 54 4F 52 45 20 41 20 42 59 54 45 20 | ;.TORE A BYTE | 000010F0: 41 43 43 4F 52 44 49 4E 47 20 54 4F 0D 20 20 20 |ACCORDING TO. | 00001100: 20 20 20 20 20 20 3B 20 54 48 45 20 41 4C 47 4F | ; THE ALGO| 00001110: 52 49 54 48 4D 2E 0D 20 20 20 20 20 20 20 20 20 |RITHM.. | 00001120: 4C 44 58 20 50 4F 49 4E 54 45 52 0D 20 20 20 20 |LDX POINTER. | 00001130: 20 20 20 20 20 53 54 41 20 4C 4F 41 52 45 41 2C | STA LOAREA,| 00001140: 58 0D 20 20 20 20 20 20 20 20 20 49 4E 43 20 50 |X. INC P| 00001150: 4F 49 4E 54 45 52 0D 20 20 20 20 20 20 20 20 20 |OINTER. | 00001160: 43 50 58 20 23 33 0D 20 20 20 20 20 20 20 20 20 |CPX #3. | 00001170: 42 43 43 20 41 4C 53 54 4F 52 45 58 0D 50 41 43 |BCC ALSTOREX.PAC| 00001180: 4B 4C 4F 4F 50 20 4C 44 59 20 23 36 0D 53 49 58 |KLOOP LDY #6.SIX| 00001190: 50 41 4B 4C 50 20 4C 53 52 20 4C 4F 41 52 45 41 |PAKLP LSR LOAREA| 000011A0: 2C 58 20 3B D0 41 43 4B 20 46 4F 55 52 20 42 59 |,X ;.ACK FOUR BY| 000011B0: 54 45 53 0D 20 20 20 20 20 20 20 20 20 52 4F 52 |TES. ROR| 000011C0: 20 48 49 41 52 45 41 20 20 20 3B 20 49 4E 54 4F | HIAREA ; INTO| 000011D0: 20 54 48 52 45 45 2E 0D 20 20 20 20 20 20 20 20 | THREE.. | 000011E0: 20 52 4F 52 20 48 49 41 52 45 41 2B 31 0D 20 20 | ROR HIAREA+1. | 000011F0: 20 20 20 20 20 20 20 52 4F 52 20 48 49 41 52 45 | ROR HIARE| 00001200: 41 2B 32 0D 20 20 20 20 20 20 20 20 20 44 45 59 |A+2. DEY| 00001210: 0D 20 20 20 20 20 20 20 20 20 42 4E 45 20 53 49 |. BNE SI| 00001220: 58 50 41 4B 4C 50 0D 20 20 20 20 20 20 20 20 20 |XPAKLP. | 00001230: 44 45 58 0D 20 20 20 20 20 20 20 20 20 42 50 4C |DEX. BPL| 00001240: 20 50 41 43 4B 4C 4F 4F 50 0D 20 20 20 20 20 20 | PACKLOOP. | 00001250: 20 20 20 4C 44 41 20 48 49 41 52 45 41 0D 20 20 | LDA HIAREA. | 00001260: 20 20 20 20 20 20 20 4A 53 52 20 52 50 55 54 42 | JSR RPUTB| 00001270: 59 54 45 0D 20 20 20 20 20 20 20 20 20 4C 44 41 |YTE. LDA| 00001280: 20 48 49 41 52 45 41 2B 31 0D 20 20 20 20 20 20 | HIAREA+1. | 00001290: 20 20 20 4A 53 52 20 52 50 55 54 42 59 54 45 0D | JSR RPUTBYTE.| 000012A0: 20 20 20 20 20 20 20 20 20 4C 44 41 20 48 49 41 | LDA HIA| 000012B0: 52 45 41 2B 32 0D 20 20 20 20 20 20 20 20 20 4A |REA+2. J| 000012C0: 53 52 20 52 50 55 54 42 59 54 45 0D 20 20 20 20 |SR RPUTBYTE. | 000012D0: 20 20 20 20 20 4C 44 41 20 23 30 0D 20 20 20 20 | LDA #0. | 000012E0: 20 20 20 20 20 53 54 41 20 50 4F 49 4E 54 45 52 | STA POINTER| 000012F0: 0D 41 4C 53 54 4F 52 45 58 20 52 54 53 0D 0D 43 |.ALSTOREX RTS..C| 00001300: 4F 4D 50 52 45 53 53 0D 20 20 20 20 20 20 20 20 |OMPRESS. | 00001310: 20 4A 53 52 20 45 51 50 41 43 4B 20 20 3B D8 26 | JSR EQPACK ;.&| 00001320: D9 20 3D 45 4E 44 2B 31 0D 20 20 20 20 20 20 20 |. =END+1. | 00001330: 20 20 53 54 58 20 47 45 54 0D 20 20 20 20 20 20 | STX GET. | 00001340: 20 20 20 53 54 59 20 47 45 54 2B 31 0D 20 20 20 | STY GET+1. | 00001350: 20 20 20 20 20 20 4C 44 58 20 4D 45 4D 53 54 41 | LDX MEMSTA| 00001360: 52 54 0D 20 20 20 20 20 20 20 20 20 4C 44 59 20 |RT. LDY | 00001370: 4D 45 4D 53 54 41 52 54 2B 31 0D 20 20 20 20 20 |MEMSTART+1. | 00001380: 20 20 20 20 53 54 58 20 43 48 45 43 4B 0D 20 20 | STX CHECK. | 00001390: 20 20 20 20 20 20 20 53 54 59 20 43 48 45 43 4B | STY CHECK| 000013A0: 2B 31 0D 20 20 20 20 20 20 20 20 20 4C 44 58 20 |+1. LDX | 000013B0: 4D 45 4D 54 4F 50 0D 20 20 20 20 20 20 20 20 20 |MEMTOP. | 000013C0: 4C 44 59 20 4D 45 4D 54 4F 50 2B 31 0D 20 20 20 |LDY MEMTOP+1. | 000013D0: 20 20 20 20 20 20 53 54 58 20 50 55 54 0D 20 20 | STX PUT. | 000013E0: 20 20 20 20 20 20 20 53 54 59 20 50 55 54 2B 31 | STY PUT+1| 000013F0: 0D 20 20 20 20 20 20 20 20 20 4C 44 41 20 23 30 |. LDA #0| 00001400: 0D 20 20 20 20 20 20 20 20 20 53 54 41 20 50 4F |. STA PO| 00001410: 49 4E 54 45 52 0D 20 20 20 20 20 20 20 20 20 4A |INTER. J| 00001420: 53 52 20 45 58 54 52 41 43 48 4B 0D 20 20 20 20 |SR EXTRACHK. | 00001430: 20 20 20 20 20 53 54 41 20 45 58 54 52 41 0D 20 | STA EXTRA. | 00001440: 20 20 20 20 20 20 20 20 4A 53 52 20 52 50 55 54 | JSR RPUT| 00001450: 42 59 54 45 20 3B 31 53 54 20 42 59 54 45 20 49 |BYTE ;1ST BYTE I| 00001460: 53 20 58 54 52 41 0D 0D 20 20 20 20 20 20 20 20 |S XTRA.. | 00001470: 20 4C 44 41 20 23 30 0D 20 20 20 20 20 20 20 20 | LDA #0. | 00001480: 20 53 54 41 20 52 41 4E 47 45 0D 4D 41 49 4E 4C | STA RANGE.MAINL| 00001490: 4F 4F 50 20 4A 53 52 20 52 47 45 54 42 59 54 45 |OOP JSR RGETBYTE| 000014A0: 0D 20 20 20 20 20 20 20 20 20 4A 53 52 20 49 4E |. JSR IN| 000014B0: 52 41 4E 47 45 0D 20 20 20 20 20 20 20 20 20 50 |RANGE. P| 000014C0: 48 41 0D 20 20 20 20 20 20 20 20 20 42 43 43 20 |HA. BCC | 000014D0: 53 4B 49 50 33 0D 20 20 20 20 20 20 20 20 20 54 |SKIP3. T| 000014E0: 58 41 0D 20 20 20 20 20 20 20 20 20 53 54 41 20 |XA. STA | 000014F0: 52 41 4E 47 45 0D 20 20 20 20 20 20 20 20 20 54 |RANGE. T| 00001500: 59 41 0D 20 20 20 20 20 20 20 20 20 4A 53 52 20 |YA. JSR | 00001510: 41 4C 53 54 4F 52 45 0D 53 4B 49 50 33 20 20 20 |ALSTORE.SKIP3 | 00001520: 20 50 4C 41 0D 20 20 20 20 20 20 20 20 20 4A 53 | PLA. JS| 00001530: 52 20 41 4C 53 54 4F 52 45 0D 20 20 20 20 20 20 |R ALSTORE. | 00001540: 20 20 20 4C 44 41 20 47 45 54 2B 31 0D 20 20 20 | LDA GET+1. | 00001550: 20 20 20 20 20 20 43 4D 50 20 4D 45 4D 53 54 41 | CMP MEMSTA| 00001560: 52 54 2B 31 0D 20 20 20 20 20 20 20 20 20 42 4E |RT+1. BN| 00001570: 45 20 4D 41 49 4E 4C 4F 4F 50 0D 20 20 20 20 20 |E MAINLOOP. | 00001580: 20 20 20 20 4C 44 41 20 47 45 54 0D 20 20 20 20 | LDA GET. | 00001590: 20 20 20 20 20 43 4D 50 20 4D 45 4D 53 54 41 52 | CMP MEMSTAR| 000015A0: 54 0D 20 20 20 20 20 20 20 20 20 42 4E 45 20 4D |T. BNE M| 000015B0: 41 49 4E 4C 4F 4F 50 0D 0D 43 4F 4D 50 45 58 20 |AINLOOP..COMPEX | 000015C0: 20 20 4C 44 41 20 23 36 33 0D 20 20 20 20 20 20 | LDA #63. | 000015D0: 20 20 20 4A 53 52 20 41 4C 53 54 4F 52 45 0D 20 | JSR ALSTORE. | 000015E0: 20 20 20 20 20 20 20 20 4C 44 41 20 23 36 33 0D | LDA #63.| 000015F0: 20 20 20 20 20 20 20 20 20 4A 53 52 20 41 4C 53 | JSR ALS| 00001600: 54 4F 52 45 0D 20 20 20 20 20 20 20 20 20 4C 44 |TORE. LD| 00001610: 41 20 23 36 33 0D 20 20 20 20 20 20 20 20 20 4A |A #63. J| 00001620: 53 52 20 41 4C 53 54 4F 52 45 0D 20 20 20 20 20 |SR ALSTORE. | 00001630: 20 20 20 20 4C 44 58 20 50 55 54 0D 20 20 20 20 | LDX PUT. | 00001640: 20 20 20 20 20 4C 44 59 20 50 55 54 2B 31 0D 20 | LDY PUT+1. | 00001650: 20 20 20 20 20 20 20 20 53 54 58 20 47 45 54 0D | STX GET.| 00001660: 20 20 20 20 20 20 20 20 20 53 54 59 20 47 45 54 | STY GET| 00001670: 2B 31 0D 20 20 20 20 20 20 20 20 20 4C 44 58 20 |+1. LDX | 00001680: 4D 45 4D 53 54 41 52 54 0D 20 20 20 20 20 20 20 |MEMSTART. | 00001690: 20 20 4C 44 59 20 4D 45 4D 53 54 41 52 54 2B 31 | LDY MEMSTART+1| 000016A0: 0D 20 20 20 20 20 20 20 20 20 53 54 58 20 50 55 |. STX PU| 000016B0: 54 0D 20 20 20 20 20 20 20 20 20 53 54 59 20 50 |T. STY P| 000016C0: 55 54 2B 31 0D 4D 4F 56 45 4C 4F 4C 50 20 4A 53 |UT+1.MOVELOLP JS| 000016D0: 52 20 47 45 54 42 59 54 45 0D 20 20 20 20 20 20 |R GETBYTE. | 000016E0: 20 20 20 4A 53 52 20 50 55 54 42 59 54 45 0D 20 | JSR PUTBYTE. | 000016F0: 20 20 20 20 20 20 20 20 4C 44 41 20 47 45 54 0D | LDA GET.| 00001700: 20 20 20 20 20 20 20 20 20 43 4D 50 20 4D 45 4D | CMP MEM| 00001710: 54 4F 50 0D 20 20 20 20 20 20 20 20 20 42 4E 45 |TOP. BNE| 00001720: 20 4D 4F 56 45 4C 4F 4C 50 0D 20 20 20 20 20 20 | MOVELOLP. | 00001730: 20 20 20 4C 44 41 20 47 45 54 2B 31 0D 20 20 20 | LDA GET+1. | 00001740: 20 20 20 20 20 20 43 4D 50 20 4D 45 4D 54 4F 50 | CMP MEMTOP| 00001750: 2B 31 0D 20 20 20 20 20 20 20 20 20 42 4E 45 20 |+1. BNE | 00001760: 4D 4F 56 45 4C 4F 4C 50 0D 20 20 20 20 20 20 20 |MOVELOLP. | 00001770: 20 20 4C 44 58 20 50 55 54 0D 20 20 20 20 20 20 | LDX PUT. | 00001780: 20 20 20 4C 44 59 20 50 55 54 2B 31 0D 20 20 20 | LDY PUT+1. | 00001790: 20 20 20 20 20 20 52 54 53 0D 0D 3B 2D 2D 2D 2D | RTS..;----| 000017A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 000017B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 000017C0: 2D 2D 2D 0D 0D 44 47 45 54 42 59 54 45 20 4C 44 |---..DGETBYTE LD| 000017D0: 59 20 23 30 0D 20 20 20 20 20 20 20 20 20 4C 44 |Y #0. LD| 000017E0: 41 20 28 47 45 54 29 2C 59 0D 20 20 20 20 20 20 |A (GET),Y. | 000017F0: 20 20 20 49 4E 43 20 47 45 54 0D 20 20 20 20 20 | INC GET. | 00001800: 20 20 20 20 42 4E 45 20 53 4B 49 50 44 31 0D 20 | BNE SKIPD1. | 00001810: 20 20 20 20 20 20 20 20 49 4E 43 20 47 45 54 2B | INC GET+| 00001820: 31 0D 53 4B 49 50 44 31 20 20 20 52 54 53 0D 0D |1.SKIPD1 RTS..| 00001830: 44 50 55 54 42 59 54 45 20 4C 44 59 20 23 30 0D |DPUTBYTE LDY #0.| 00001840: 20 20 20 20 20 20 20 20 20 53 54 41 20 28 50 55 | STA (PU| 00001850: 54 29 2C 59 0D 20 20 20 20 20 20 20 20 20 49 4E |T),Y. IN| 00001860: 43 20 50 55 54 0D 20 20 20 20 20 20 20 20 20 42 |C PUT. B| 00001870: 4E 45 20 53 4B 49 50 44 32 0D 20 20 20 20 20 20 |NE SKIPD2. | 00001880: 20 20 20 49 4E 43 20 50 55 54 2B 31 0D 53 4B 49 | INC PUT+1.SKI| 00001890: 50 44 32 20 20 20 52 54 53 0D 0D 44 52 47 45 54 |PD2 RTS..DRGET| 000018A0: 20 20 20 20 4C 44 59 20 23 30 0D 20 20 20 20 20 | LDY #0. | 000018B0: 20 20 20 20 4C 44 41 20 47 45 54 0D 20 20 20 20 | LDA GET. | 000018C0: 20 20 20 20 20 42 4E 45 20 53 4B 49 50 44 34 0D | BNE SKIPD4.| 000018D0: 20 20 20 20 20 20 20 20 20 44 45 43 20 47 45 54 | DEC GET| 000018E0: 2B 31 0D 53 4B 49 50 44 34 20 20 20 44 45 43 20 |+1.SKIPD4 DEC | 000018F0: 47 45 54 0D 20 20 20 20 20 20 20 20 20 4C 44 41 |GET. LDA| 00001900: 20 28 47 45 54 29 2C 59 0D 20 20 20 20 20 20 20 | (GET),Y. | 00001910: 20 20 52 54 53 0D 0D 44 52 50 55 54 20 20 20 20 | RTS..DRPUT | 00001920: 4C 44 59 20 50 55 54 0D 20 20 20 20 20 20 20 20 |LDY PUT. | 00001930: 20 42 4E 45 20 53 4B 49 50 44 35 0D 20 20 20 20 | BNE SKIPD5. | 00001940: 20 20 20 20 20 44 45 43 20 50 55 54 2B 31 0D 53 | DEC PUT+1.S| 00001950: 4B 49 50 44 35 20 20 20 44 45 43 20 50 55 54 0D |KIPD5 DEC PUT.| 00001960: 20 20 20 20 20 20 20 20 20 4C 44 59 20 23 30 0D | LDY #0.| 00001970: 20 20 20 20 20 20 20 20 20 53 54 41 20 28 50 55 | STA (PU| 00001980: 54 29 2C 59 0D 20 20 20 20 20 20 20 20 20 52 54 |T),Y. RT| 00001990: 53 0D 0D 44 45 43 4F 4D 50 0D 20 20 20 20 20 20 |S..DECOMP. | 000019A0: 20 20 20 4C 44 58 20 4D 45 4D 45 4E 44 0D 20 20 | LDX MEMEND. | 000019B0: 20 20 20 20 20 20 20 4C 44 59 20 4D 45 4D 45 4E | LDY MEMEN| 000019C0: 44 2B 31 0D 20 20 20 20 20 20 20 20 20 53 54 58 |D+1. STX| 000019D0: 20 47 45 54 0D 20 20 20 20 20 20 20 20 20 53 54 | GET. ST| 000019E0: 59 20 47 45 54 2B 31 0D 20 20 20 20 20 20 20 20 |Y GET+1. | 000019F0: 20 4A 53 52 20 44 52 47 45 54 0D 20 20 20 20 20 | JSR DRGET. | 00001A00: 20 20 20 20 53 54 41 20 45 58 54 52 41 0D 20 20 | STA EXTRA. | 00001A10: 20 20 20 20 20 20 20 4C 44 58 20 4D 45 4D 54 4F | LDX MEMTO| 00001A20: 50 0D 20 20 20 20 20 20 20 20 20 4C 44 59 20 4D |P. LDY M| 00001A30: 45 4D 54 4F 50 2B 31 0D 20 20 20 20 20 20 20 20 |EMTOP+1. | 00001A40: 20 53 54 58 20 50 55 54 0D 20 20 20 20 20 20 20 | STX PUT. | 00001A50: 20 20 53 54 59 20 50 55 54 2B 31 0D 20 20 20 20 | STY PUT+1. | 00001A60: 20 20 20 20 20 4C 44 41 20 23 30 0D 20 20 20 20 | LDA #0. | 00001A70: 20 20 20 20 20 53 54 41 20 52 41 4E 47 45 0D 0D | STA RANGE..| 00001A80: 4D 41 49 4E 44 4C 50 20 20 4C 44 58 20 23 30 0D |MAINDLP LDX #0.| 00001A90: 44 47 45 54 4C 4F 4F 50 20 4A 53 52 20 44 52 47 |DGETLOOP JSR DRG| 00001AA0: 45 54 0D 20 20 20 20 20 20 20 20 20 53 54 41 20 |ET. STA | 00001AB0: 42 55 46 46 45 52 2C 58 0D 20 20 20 20 20 20 20 |BUFFER,X. | 00001AC0: 20 20 49 4E 58 0D 20 20 20 20 20 20 20 20 20 43 | INX. C| 00001AD0: 50 58 20 23 33 0D 20 20 20 20 20 20 20 20 20 42 |PX #3. B| 00001AE0: 43 43 20 44 47 45 54 4C 4F 4F 50 0D 0D 20 20 20 |CC DGETLOOP.. | 00001AF0: 20 20 20 20 20 20 4C 44 58 20 23 34 0D 42 59 54 | LDX #4.BYT| 00001B00: 45 4C 4F 4F 50 20 4C 44 59 20 23 36 0D 52 4F 4C |ELOOP LDY #6.ROL| 00001B10: 4F 4F 50 20 20 20 41 53 4C 20 42 55 46 46 45 52 |OOP ASL BUFFER| 00001B20: 2B 32 0D 20 20 20 20 20 20 20 20 20 52 4F 4C 20 |+2. ROL | 00001B30: 42 55 46 46 45 52 2B 31 0D 20 20 20 20 20 20 20 |BUFFER+1. | 00001B40: 20 20 52 4F 4C 20 42 55 46 46 45 52 0D 20 20 20 | ROL BUFFER. | 00001B50: 20 20 20 20 20 20 52 4F 4C 20 54 45 4D 50 0D 20 | ROL TEMP. | 00001B60: 20 20 20 20 20 20 20 20 44 45 59 0D 20 20 20 20 | DEY. | 00001B70: 20 20 20 20 20 42 4E 45 20 52 4F 4C 4F 4F 50 0D | BNE ROLOOP.| 00001B80: 20 20 20 20 20 20 20 20 20 4C 44 41 20 54 45 4D | LDA TEM| 00001B90: 50 0D 20 20 20 20 20 20 20 20 20 41 4E 44 20 23 |P. AND #| 00001BA0: 25 30 30 31 31 31 31 31 31 0D 20 20 20 20 20 20 |%00111111. | 00001BB0: 20 20 20 43 4D 50 20 23 35 38 0D 20 20 20 20 20 | CMP #58. | 00001BC0: 20 20 20 20 42 43 43 20 44 41 54 41 42 59 54 45 | BCC DATABYTE| 00001BD0: 0D 20 20 20 20 20 20 20 20 20 42 4E 45 20 53 45 |. BNE SE| 00001BE0: 54 52 41 4E 47 45 0D 20 20 20 20 20 20 20 20 20 |TRANGE. | 00001BF0: 4C 44 41 20 45 58 54 52 41 0D 20 20 20 20 20 20 |LDA EXTRA. | 00001C00: 20 20 20 43 4C 43 0D 20 20 20 20 20 20 20 20 20 | CLC. | 00001C10: 42 43 43 20 53 54 4F 52 45 49 54 0D 53 45 54 52 |BCC STOREIT.SETR| 00001C20: 41 4E 47 45 20 53 45 43 0D 20 20 20 20 20 20 20 |ANGE SEC. | 00001C30: 20 20 53 42 43 20 23 35 39 0D 20 20 20 20 20 20 | SBC #59. | 00001C40: 20 20 20 53 54 41 20 52 41 4E 47 45 0D 20 20 20 | STA RANGE. | 00001C50: 20 20 20 20 20 20 42 50 4C 20 4E 45 58 54 42 59 | BPL NEXTBY| 00001C60: 54 45 0D 44 41 54 41 42 59 54 45 20 4C 44 59 20 |TE.DATABYTE LDY | 00001C70: 52 41 4E 47 45 0D 20 20 20 20 20 20 20 20 20 43 |RANGE. C| 00001C80: 4C 43 0D 20 20 20 20 20 20 20 20 20 41 44 43 20 |LC. ADC | 00001C90: 4C 4F 52 41 4E 47 45 2C 59 0D 53 54 4F 52 45 49 |LORANGE,Y.STOREI| 00001CA0: 54 20 20 4A 53 52 20 44 52 50 55 54 0D 4E 45 58 |T JSR DRPUT.NEX| 00001CB0: 54 42 59 54 45 20 44 45 58 0D 20 20 20 20 20 20 |TBYTE DEX. | 00001CC0: 20 20 20 42 4E 45 20 42 59 54 45 4C 4F 4F 50 0D | BNE BYTELOOP.| 00001CD0: 0D 20 20 20 20 20 20 20 20 20 4C 44 41 20 47 45 |. LDA GE| 00001CE0: 54 2B 31 0D 20 20 20 20 20 20 20 20 20 43 4D 50 |T+1. CMP| 00001CF0: 20 4D 45 4D 53 54 41 52 54 2B 31 0D 20 20 20 20 | MEMSTART+1. | 00001D00: 20 20 20 20 20 42 4E 45 20 4D 41 49 4E 44 4C 50 | BNE MAINDLP| 00001D10: 0D 20 20 20 20 20 20 20 20 20 4C 44 41 20 47 45 |. LDA GE| 00001D20: 54 0D 20 20 20 20 20 20 20 20 20 43 4D 50 20 4D |T. CMP M| 00001D30: 45 4D 53 54 41 52 54 0D 20 20 20 20 20 20 20 20 |EMSTART. | 00001D40: 20 42 4E 45 20 4D 41 49 4E 44 4C 50 0D 0D 20 20 | BNE MAINDLP.. | 00001D50: 20 20 20 20 20 20 20 4C 44 58 20 50 55 54 0D 20 | LDX PUT. | 00001D60: 20 20 20 20 20 20 20 20 4C 44 59 20 50 55 54 2B | LDY PUT+| 00001D70: 31 0D 20 20 20 20 20 20 20 20 20 53 54 58 20 47 |1. STX G| 00001D80: 45 54 0D 20 20 20 20 20 20 20 20 20 53 54 59 20 |ET. STY | 00001D90: 47 45 54 2B 31 0D 20 20 20 20 20 20 20 20 20 4C |GET+1. L| 00001DA0: 44 58 20 4D 45 4D 53 54 41 52 54 0D 20 20 20 20 |DX MEMSTART. | 00001DB0: 20 20 20 20 20 4C 44 59 20 4D 45 4D 53 54 41 52 | LDY MEMSTAR| 00001DC0: 54 2B 31 0D 20 20 20 20 20 20 20 20 20 53 54 58 |T+1. STX| 00001DD0: 20 50 55 54 0D 20 20 20 20 20 20 20 20 20 53 54 | PUT. ST| 00001DE0: 59 20 50 55 54 2B 31 0D 0D 20 20 20 20 20 20 20 |Y PUT+1.. | 00001DF0: 20 20 4A 53 52 20 44 47 45 54 42 59 54 45 0D 20 | JSR DGETBYTE. | 00001E00: 20 20 20 20 20 20 20 20 53 54 41 20 4C 41 53 54 | STA LAST| 00001E10: 4F 4E 45 0D 20 20 20 20 20 20 20 20 20 4A 53 52 |ONE. JSR| 00001E20: 20 44 50 55 54 42 59 54 45 0D 0D 44 4D 4C 54 4C | DPUTBYTE..DMLTL| 00001E30: 4F 4F 50 20 4C 44 58 20 23 32 0D 20 20 20 20 20 |OOP LDX #2. | 00001E40: 20 20 20 20 4A 53 52 20 44 47 45 54 42 59 54 45 | JSR DGETBYTE| 00001E50: 0D 20 20 20 20 20 20 20 20 20 43 4D 50 20 4C 41 |. CMP LA| 00001E60: 53 54 4F 4E 45 0D 20 20 20 20 20 20 20 20 20 42 |STONE. B| 00001E70: 4E 45 20 4D 53 54 4F 52 45 0D 20 20 20 20 20 20 |NE MSTORE. | 00001E80: 20 20 20 4A 53 52 20 44 47 45 54 42 59 54 45 0D | JSR DGETBYTE.| 00001E90: 20 20 20 20 20 20 20 20 20 54 41 58 0D 20 20 20 | TAX. | 00001EA0: 20 20 20 20 20 20 4C 44 41 20 4C 41 53 54 4F 4E | LDA LASTON| 00001EB0: 45 0D 4D 53 54 4F 52 45 20 20 20 53 54 41 20 4C |E.MSTORE STA L| 00001EC0: 41 53 54 4F 4E 45 0D 4D 53 54 4F 52 45 4C 50 20 |ASTONE.MSTORELP | 00001ED0: 44 45 58 0D 20 20 20 20 20 20 20 20 20 42 45 51 |DEX. BEQ| 00001EE0: 20 44 4C 4F 4F 50 45 58 0D 20 20 20 20 20 20 20 | DLOOPEX. | 00001EF0: 20 20 4A 53 52 20 44 50 55 54 42 59 54 45 0D 20 | JSR DPUTBYTE. | 00001F00: 20 20 20 20 20 20 20 20 4A 4D 50 20 4D 53 54 4F | JMP MSTO| 00001F10: 52 45 4C 50 0D 0D 44 4C 4F 4F 50 45 58 20 20 4C |RELP..DLOOPEX L| 00001F20: 44 41 20 47 45 54 2B 31 0D 20 20 20 20 20 20 20 |DA GET+1. | 00001F30: 20 20 43 4D 50 20 4D 45 4D 54 4F 50 2B 31 0D 20 | CMP MEMTOP+1. | 00001F40: 20 20 20 20 20 20 20 20 42 4E 45 20 44 4D 4C 54 | BNE DMLT| 00001F50: 4C 4F 4F 50 0D 20 20 20 20 20 20 20 20 20 4C 44 |LOOP. LD| 00001F60: 58 20 50 55 54 0D 20 20 20 20 20 20 20 20 20 4C |X PUT. L| 00001F70: 44 59 20 50 55 54 2B 31 0D 20 20 20 20 20 20 20 |DY PUT+1. | 00001F80: 20 20 52 54 53 0D 0D 0D 53 54 41 52 54 58 54 20 | RTS...STARTXT | 00001F90: 20 2E 42 59 54 45 20 31 34 37 2C 35 2C 31 34 0D | .BYTE 147,5,14.| 00001FA0: 20 20 20 20 20 20 20 20 20 2E 54 45 58 54 20 22 | .TEXT "| 00001FB0: 20 20 20 20 20 20 20 20 20 20 20 20 22 0D 20 20 | ". | 00001FC0: 20 20 20 20 20 20 20 2E 54 45 58 54 20 22 2A 2A | .TEXT "**| 00001FD0: 2A 20 D3 C9 D8 2D D0 C1 C3 CB 20 2A 2A 2A 22 0D |* ...-.... ***".| 00001FE0: 20 20 20 20 20 20 20 20 20 2E 42 59 54 45 20 31 | .BYTE 1| 00001FF0: 33 2C 31 33 2C 31 35 39 0D 20 20 20 20 20 20 20 |3,13,159. | 00002000: 20 20 2E 54 45 58 54 20 22 C3 4F 44 45 20 26 20 | .TEXT ".ODE & | 00002010: 36 2D 42 49 54 20 41 4C 47 4F 52 49 54 48 4D 22 |6-BIT ALGORITHM"| 00002020: 0D 20 20 20 20 20 20 20 20 20 2E 54 45 58 54 20 |. .TEXT | 00002030: 22 20 44 45 56 45 4C 4F 50 45 44 20 42 59 20 22 |" DEVELOPED BY "| 00002040: 0D 20 20 20 20 20 20 20 20 20 2E 54 45 58 54 20 |. .TEXT | 00002050: 22 D2 45 49 4E 45 52 20 D2 49 43 48 54 45 52 2E |".EINER .ICHTER.| 00002060: 22 0D 20 20 20 20 20 20 20 20 20 2E 42 59 54 45 |". .BYTE| 00002070: 20 31 33 2C 31 33 2C 31 35 38 0D 20 20 20 20 20 | 13,13,158. | 00002080: 20 20 20 20 2E 54 45 58 54 20 22 C5 4E 54 45 52 | .TEXT ".NTER| 00002090: 20 4E 41 4D 45 20 4F 46 20 46 49 4C 45 20 22 0D | NAME OF FILE ".| 000020A0: 20 20 20 20 20 20 20 20 20 2E 54 45 58 54 20 22 | .TEXT "| 000020B0: 54 4F 20 50 41 43 4B 3A 22 0D 20 20 20 20 20 20 |TO PACK:". | 000020C0: 20 20 20 2E 42 59 54 45 20 31 33 2C 35 2C 30 0D | .BYTE 13,5,0.| 000020D0: 0D 4E 45 57 54 58 54 20 20 20 2E 42 59 54 45 20 |.NEWTXT .BYTE | 000020E0: 31 35 38 2C 31 34 37 2C 31 34 2C 31 33 0D 20 20 |158,147,14,13. | 000020F0: 20 20 20 20 20 20 20 2E 54 45 58 54 20 22 C5 4E | .TEXT ".N| 00002100: 54 45 52 20 4E 41 4D 45 20 54 4F 20 D3 C1 D6 C5 |TER NAME TO ....| 00002110: 22 0D 20 20 20 20 20 20 20 20 20 2E 54 45 58 54 |". .TEXT| 00002120: 20 22 50 41 43 4B 45 44 20 46 49 4C 45 20 41 53 | "PACKED FILE AS| 00002130: 3A 22 0D 20 20 20 20 20 20 20 20 20 2E 42 59 54 |:". .BYT| 00002140: 45 20 31 33 2C 35 2C 30 0D 0D 0D 4D 41 49 4E 0D |E 13,5,0...MAIN.| 00002150: 20 20 20 20 20 20 20 20 20 4C 44 41 20 23 24 33 | LDA #$3| 00002160: 36 0D 20 20 20 20 20 20 20 20 20 53 54 41 20 24 |6. STA $| 00002170: 30 31 0D 20 20 20 20 20 20 20 20 20 43 4C 49 0D |01. CLI.| 00002180: 20 20 20 20 20 20 20 20 20 4A 53 52 20 24 46 46 | JSR $FF| 00002190: 45 37 0D 20 20 20 20 20 20 20 20 20 4A 53 52 20 |E7. JSR | 000021A0: 24 46 46 38 31 0D 20 20 20 20 20 20 20 20 20 4C |$FF81. L| 000021B0: 44 41 20 23 30 0D 20 20 20 20 20 20 20 20 20 53 |DA #0. S| 000021C0: 54 41 20 24 44 30 32 30 0D 20 20 20 20 20 20 20 |TA $D020. | 000021D0: 20 20 53 54 41 20 24 44 30 32 31 0D 20 20 20 20 | STA $D021. | 000021E0: 20 20 20 20 20 4C 44 58 20 23 30 0D 53 54 41 52 | LDX #0.STAR| 000021F0: 54 4C 50 20 20 4C 44 41 20 53 54 41 52 54 58 54 |TLP LDA STARTXT| 00002200: 2C 58 0D 20 20 20 20 20 20 20 20 20 42 45 51 20 |,X. BEQ | 00002210: 53 54 41 52 54 45 58 0D 20 20 20 20 20 20 20 20 |STARTEX. | 00002220: 20 4A 53 52 20 24 46 46 44 32 0D 20 20 20 20 20 | JSR $FFD2. | 00002230: 20 20 20 20 49 4E 58 0D 20 20 20 20 20 20 20 20 | INX. | 00002240: 20 42 4E 45 20 53 54 41 52 54 4C 50 0D 53 54 41 | BNE STARTLP.STA| 00002250: 52 54 45 58 20 20 4A 53 52 20 47 45 54 4E 41 4D |RTEX JSR GETNAM| 00002260: 45 0D 20 20 20 20 20 20 20 20 20 4C 44 58 20 23 |E. LDX #| 00002270: 30 0D 20 20 20 20 20 20 20 20 20 4C 44 59 20 23 |0. LDY #| 00002280: 24 31 30 0D 20 20 20 20 20 20 20 20 20 53 54 58 |$10. STX| 00002290: 20 4D 45 4D 53 54 41 52 54 0D 20 20 20 20 20 20 | MEMSTART. | 000022A0: 20 20 20 53 54 59 20 4D 45 4D 53 54 41 52 54 2B | STY MEMSTART+| 000022B0: 31 0D 20 20 20 20 20 20 20 20 20 4C 44 41 20 23 |1. LDA #| 000022C0: 30 0D 20 20 20 20 20 20 20 20 20 4A 53 52 20 24 |0. JSR $| 000022D0: 46 46 44 35 0D 20 20 20 20 20 20 20 20 20 53 54 |FFD5. ST| 000022E0: 58 20 4D 45 4D 45 4E 44 0D 20 20 20 20 20 20 20 |X MEMEND. | 000022F0: 20 20 53 54 59 20 4D 45 4D 45 4E 44 2B 31 0D 20 | STY MEMEND+1. | 00002300: 20 20 20 20 20 20 20 20 42 43 53 20 4D 41 49 4E | BCS MAIN| 00002310: 20 20 20 20 20 20 3B C3 48 45 43 4B 20 49 46 20 | ;.HECK IF | 00002320: 45 52 52 4F 52 2E 0D 20 20 20 20 20 20 20 20 20 |ERROR.. | 00002330: 4C 44 58 20 23 30 0D 20 20 20 20 20 20 20 20 20 |LDX #0. | 00002340: 4C 44 59 20 23 24 44 30 0D 20 20 20 20 20 20 20 |LDY #$D0. | 00002350: 20 20 53 54 58 20 4D 45 4D 54 4F 50 0D 20 20 20 | STX MEMTOP. | 00002360: 20 20 20 20 20 20 53 54 59 20 4D 45 4D 54 4F 50 | STY MEMTOP| 00002370: 2B 31 0D 20 20 20 20 20 20 20 20 20 4A 53 52 20 |+1. JSR | 00002380: 43 4F 4D 50 52 45 53 53 0D 20 20 20 20 20 20 20 |COMPRESS. | 00002390: 20 20 53 54 58 20 4D 45 4D 45 4E 44 0D 20 20 20 | STX MEMEND. | 000023A0: 20 20 20 20 20 20 53 54 59 20 4D 45 4D 45 4E 44 | STY MEMEND| 000023B0: 2B 31 0D 0D 20 20 20 20 20 20 20 20 20 4C 44 58 |+1.. LDX| 000023C0: 20 23 30 0D 4E 45 57 54 4C 4F 4F 50 20 4C 44 41 | #0.NEWTLOOP LDA| 000023D0: 20 4E 45 57 54 58 54 2C 58 0D 20 20 20 20 20 20 | NEWTXT,X. | 000023E0: 20 20 20 42 45 51 20 4E 45 57 45 58 0D 20 20 20 | BEQ NEWEX. | 000023F0: 20 20 20 20 20 20 4A 53 52 20 24 46 46 44 32 0D | JSR $FFD2.| 00002400: 20 20 20 20 20 20 20 20 20 49 4E 58 0D 20 20 20 | INX. | 00002410: 20 20 20 20 20 20 42 4E 45 20 4E 45 57 54 4C 4F | BNE NEWTLO| 00002420: 4F 50 0D 4E 45 57 45 58 20 20 20 20 4A 53 52 20 |OP.NEWEX JSR | 00002430: 47 45 54 4E 41 4D 45 0D 20 20 20 20 20 20 20 20 |GETNAME. | 00002440: 20 4C 44 41 20 23 4D 45 4D 53 54 41 52 54 0D 20 | LDA #MEMSTART. | 00002450: 20 20 20 20 20 20 20 20 4C 44 58 20 4D 45 4D 45 | LDX MEME| 00002460: 4E 44 0D 20 20 20 20 20 20 20 20 20 4C 44 59 20 |ND. LDY | 00002470: 4D 45 4D 45 4E 44 2B 31 0D 20 20 20 20 20 20 20 |MEMEND+1. | 00002480: 20 20 4A 53 52 20 24 46 46 44 38 0D 20 20 20 20 | JSR $FFD8. | 00002490: 20 20 20 20 20 4A 4D 50 20 4D 41 49 4E 0D 0D 0D | JMP MAIN...| 000024A0: 0D 47 45 54 4E 41 4D 45 20 20 3B C7 45 54 20 46 |.GETNAME ;.ET F| 000024B0: 49 4C 45 4E 41 4D 45 20 41 4E 44 20 D3 C5 D4 CC |ILENAME AND ....| 000024C0: C6 D3 2E 0D 20 20 20 20 20 20 20 20 20 4C 44 59 |.... LDY| 000024D0: 20 23 30 0D 20 20 20 20 20 20 20 20 20 4A 53 52 | #0. JSR| 000024E0: 20 24 46 46 43 46 0D 47 45 54 4E 41 4D 4C 50 20 | $FFCF.GETNAMLP | 000024F0: 53 54 41 20 24 30 32 30 30 2C 59 0D 20 20 20 20 |STA $0200,Y. | 00002500: 20 20 20 20 20 43 4D 50 20 23 31 33 0D 20 20 20 | CMP #13. | 00002510: 20 20 20 20 20 20 42 45 51 20 47 45 54 4E 41 4D | BEQ GETNAM| 00002520: 45 58 0D 20 20 20 20 20 20 20 20 20 49 4E 59 0D |EX. INY.| 00002530: 20 20 20 20 20 20 20 20 20 42 4E 45 20 47 45 54 | BNE GET| 00002540: 4E 41 4D 4C 50 0D 47 45 54 4E 41 4D 45 58 20 54 |NAMLP.GETNAMEX T| 00002550: 59 41 0D 20 20 20 20 20 20 20 20 20 4C 44 58 20 |YA. LDX | 00002560: 23 30 0D 20 20 20 20 20 20 20 20 20 4C 44 59 20 |#0. LDY | 00002570: 23 32 0D 20 20 20 20 20 20 20 20 20 4A 53 52 20 |#2. JSR | 00002580: 24 46 46 42 44 0D 20 20 20 20 20 20 20 20 20 4C |$FFBD. L| 00002590: 44 41 20 23 38 0D 20 20 20 20 20 20 20 20 20 54 |DA #8. T| 000025A0: 41 58 0D 20 20 20 20 20 20 20 20 20 4C 44 59 20 |AX. LDY | 000025B0: 23 30 0D 20 20 20 20 20 20 20 20 20 4A 4D 50 20 |#0. JMP | 000025C0: 24 46 46 42 41 0D 0D |$FFBA.. |
.;*** SIX-PACK ***..;MULTIPLE & SIX BIT
COMPRESSOR..;CODE AND ALGORITHM BY REINE
R RICHTER..;STARTED ON THE 28/8/94..EXTR
A = $4C ;EXTRA BYTE IS MOST.
; COMMON BYTE OUTSIDE.
; A SIX BIT RANGE..POINTER = $4D
;6-BIT PACK PTR..RANGE = $4E ;CURRE
NT RANGE..LASTONE = $4F.TEMP = $4F.
GET = $50.PUT = $52.CHECK =
$54.LOAREA = $0400 ;USED FOR SCANNING
FOR.HIAREA = $0500 ; 'EXTRA" BYTE..ME
MSTART = $FA.MEMEND = $FC.MEMTOP = $
FE.BUFFER = $58...;CODE MEANING
(RANGE).;0-57 RANGE OFFSET.; 58 EXTR
A BYTE.; 59 SET TO RANGE 0 0-57.; 60
SET TO RANGE 1 48-105.; 61 SET TO R
ANGE 2 97-154.; 62 SET TO RANGE 3 14
0-197.; 63 SET TO RANGE 4 198-255..
*= $080D.. JMP MAIN...GETB
YTE LDY #0. LDA (GET),Y.
INC GET. BNE GETEX. IN
C GET+1.GETEX RTS..PUTBYTE LDY #0.
STA (PUT),Y. INC PUT.
BNE GETEX. INC PUT+1.
RTS..RGETBYTE LDY #0. LDA GET
. BNE SKIP1. DEC GET+1.S
KIP1 DEC GET. LDA (GET),Y.
RTS..RPUTBYTE LDY PUT. BNE
SKIP2. DEC PUT+1.SKIP2 DEC P
UT. LDY #0. STA (PUT),Y.
RTS..GETCHECK LDY #0. L
DA (CHECK),Y. INC CHECK.
BNE GETCHKEX. INC CHECK+1.GETCH
KEX RTS...EQPACK ;PACK AREA FROM TOP..
;EQUAL BYTE PACK ONLY..
LDY MEMEND+1. LDX MEMEND.
STX GET. STY GET+1. L
DY MEMTOP+1. LDX MEMTOP.
STX PUT. STY PUT+1.. LD
Y #$FF ;ENSURE ENDBYTE. DEC
GET+1 ; IS NOT SAME AS. LDA (
GET),Y ; END+1 BYTE.. INC GET+1
. EOR #$0F. LDY #0.
STA (PUT),Y..MOVEHILP JSR RGETBYTE.
JSR RPUTBYTE. LDA GET.
CMP MEMSTART. BEQ SKIP5.
BCS MOVEHILP.SKIP5 LDA GET+1.
CMP MEMSTART+1. BCS MOV
EHILP.. LDA MEMTOP. SEC.
SBC MEMEND. TAX.
LDA MEMTOP+1. SBC MEMEND+1.
TAY. TXA. CLC.
ADC MEMSTART. TAX.
TYA. ADC MEMSTART+1. TAY
. STX GET. STY GET+1.
LDX MEMSTART. LDY MEMSTART
+1. STX PUT. STY PUT+1..
EQMAIN JSR GETBYTE. STA LASTON
E.EQLOOP JSR PUTBYTE. LDX #1.M
ULTLOOP LDY #$00. LDA LASTONE.
CMP (GET),Y. BNE STORE.
JSR GETBYTE. INX.
BNE MULTLOOP.MULTSTOR JSR PUTBYTE.
TXA. JMP EQLOOP.STORE CPX
#1. BNE MULTSTOR.. LDA
GET+1. CMP MEMTOP+1. BNE
EQMAIN. LDA GET. CMP ME
MTOP. BNE EQMAIN.. LDX P
UT. LDY PUT+1. RTS..LORA
NGE .BYTE 0,48,97,140,198.HIRANGE .BYT
E 57,105,154,197,255..INRANGE ;CHECK IF
BYTE (A) IS IN. ; CURRENT RANGE
(X).. ;OUT: CLC=YES, SEC=Y=NEW
RANGE. LDX RANGE. CMP HI
RANGE,X. BEQ SKIP05. BCS
OUTSIDE.SKIP05 CMP LORANGE,X.
BCC OUTSIDE.INSIDE SEC. SBC L
ORANGE,X. CLC. RTS.OUTSI
DE ;BYTE IS OUTSIDE REQUIRED RANGE.
; SO NEED TO CALCULATE NEW..
LDX #0.NEWRLOOP CMP HIRANGE,X.
BCC NEWRANGE. INX. CPX
#4. BCC NEWRLOOP.NEWRANGE SEC.
SBC LORANGE,X. PHA.
TXA. CLC. ADC #59.
TAY. PLA. SEC.
RTS..EXTRACHK ;CHECK MEMORY FOR 'EX
TRA'.. LDA #0. STA RANGE
. TAX.CLRLOOP STA LOAREA,X.
STA HIAREA,X. INX.
BNE CLRLOOP.CHKLOOP JSR GETCHECK.
PHA. JSR INRANGE. PLA
. BCC SAMERNG. STX RANGE
. TAX. INC LOAREA,X.
BNE SAMERNG. INC HIAREA,X.S
AMERNG LDA CHECK. CMP GET.
BNE CHKLOOP. LDA CHECK+1.
CMP GET+1. BNE CHKLOOP.
;COUNTED BYTES.. LDX #0.NEWLOOP
LDA LOAREA,X. LDY HIAREA,X.
STA CHECK. STY CHECK+1.
STX LASTONE.TOOSMALL INX.
BEQ EXTRAFND. LDY HIAREA,X.
CMP CHECK+1. BCC TOOSMALL.
LDA LOAREA,X. CMP CHECK.
BCC TOOSMALL. BCS NEWLOO
P.EXTRAFND LDA LASTONE. LDX PUT.
LDY PUT+1. RTS..ALSTORE
;STORE A BYTE ACCORDING TO. ;
THE ALGORITHM.. LDX POINTER.
STA LOAREA,X. INC POINTER.
CPX #3. BCC ALSTOREX.PAC
KLOOP LDY #6.SIXPAKLP LSR LOAREA,X ;PACK
FOUR BYTES. ROR HIAREA ; INTO
THREE.. ROR HIAREA+1. R
OR HIAREA+2. DEY. BNE SI
XPAKLP. DEX. BPL PACKLOO
P. LDA HIAREA. JSR RPUTB
YTE. LDA HIAREA+1. JSR R
PUTBYTE. LDA HIAREA+2. J
SR RPUTBYTE. LDA #0. STA
POINTER.ALSTOREX RTS..COMPRESS.
JSR EQPACK ;X&Y =END+1. STX GE
T. STY GET+1. LDX MEMSTA
RT. LDY MEMSTART+1. STX
CHECK. STY CHECK+1. LDX
MEMTOP. LDY MEMTOP+1. ST
X PUT. STY PUT+1. LDA #0
. STA POINTER. JSR EXTRA
CHK. STA EXTRA. JSR RPUT
BYTE ;1ST BYTE IS XTRA.. LDA #0.
STA RANGE.MAINLOOP JSR RGETBYTE
. JSR INRANGE. PHA.
BCC SKIP3. TXA. STA
RANGE. TYA. JSR ALSTORE.
SKIP3 PLA. JSR ALSTORE.
LDA GET+1. CMP MEMSTART+1.
BNE MAINLOOP. LDA GET.
CMP MEMSTART. BNE MAINLOOP.
.COMPEX LDA #63. JSR ALSTORE.
LDA #63. JSR ALSTORE.
LDA #63. JSR ALSTORE.
LDX PUT. LDY PUT+1.
STX GET. STY GET+1. LDX
MEMSTART. LDY MEMSTART+1.
STX PUT. STY PUT+1.MOVELOLP JS
R GETBYTE. JSR PUTBYTE.
LDA GET. CMP MEMTOP. BNE
MOVELOLP. LDA GET+1. CM
P MEMTOP+1. BNE MOVELOLP.
LDX PUT. LDY PUT+1. RT
S..;------------------------------------
---..DGETBYTE LDY #0. LDA (GET),
Y. INC GET. BNE SKIPD1.
INC GET+1.SKIPD1 RTS..DPUTBYTE
LDY #0. STA (PUT),Y. IN
C PUT. BNE SKIPD2. INC P
UT+1.SKIPD2 RTS..DRGET LDY #0.
LDA GET. BNE SKIPD4.
DEC GET+1.SKIPD4 DEC GET. LDA
(GET),Y. RTS..DRPUT LDY PUT.
BNE SKIPD5. DEC PUT+1.S
KIPD5 DEC PUT. LDY #0.
STA (PUT),Y. RTS..DECOMP.
LDX MEMEND. LDY MEMEND+1.
STX GET. STY GET+1.
JSR DRGET. STA EXTRA. L
DX MEMTOP. LDY MEMTOP+1.
STX PUT. STY PUT+1. LDA
#0. STA RANGE..MAINDLP LDX #0.
DGETLOOP JSR DRGET. STA BUFFER,X
. INX. CPX #3. B
CC DGETLOOP.. LDX #4.BYTELOOP LD
Y #6.ROLOOP ASL BUFFER+2. ROL
BUFFER+1. ROL BUFFER. RO
L TEMP. DEY. BNE ROLOOP.
LDA TEMP. AND #%0011111
1. CMP #58. BCC DATABYTE
. BNE SETRANGE. LDA EXTR
A. CLC. BCC STOREIT.SETR
ANGE SEC. SBC #59. STA R
ANGE. BPL NEXTBYTE.DATABYTE LDY
RANGE. CLC. ADC LORANGE,
Y.STOREIT JSR DRPUT.NEXTBYTE DEX.
BNE BYTELOOP.. LDA GET+1.
CMP MEMSTART+1. BNE MAINDLP
. LDA GET. CMP MEMSTART.
BNE MAINDLP.. LDX PUT.
LDY PUT+1. STX GET.
STY GET+1. LDX MEMSTART.
LDY MEMSTART+1. STX PUT.
STY PUT+1.. JSR DGETBYTE.
STA LASTONE. JSR DPUTBYT
E..DMLTLOOP LDX #2. JSR DGETBYTE
. CMP LASTONE. BNE MSTOR
E. JSR DGETBYTE. TAX.
LDA LASTONE.MSTORE STA LASTONE.M
STORELP DEX. BEQ DLOOPEX.
JSR DPUTBYTE. JMP MSTORELP..DL
OOPEX LDA GET+1. CMP MEMTOP+1.
BNE DMLTLOOP. LDX PUT.
LDY PUT+1. RTS...STARTXT
.BYTE 147,5,14. .TEXT "
". .TEXT "*** SIX-PACK ***".
.BYTE 13,13,159. .TEXT
"CODE & 6-BIT ALGORITHM". .TEXT
" DEVELOPED BY ". .TEXT "REINER
RICHTER.". .BYTE 13,13,158.
.TEXT "ENTER NAME OF FILE ".
.TEXT "TO PACK:". .BYTE 13,5,0.
.NEWTXT .BYTE 158,147,14,13. .
TEXT "ENTER NAME TO SAVE". .TEXT
"PACKED FILE AS:". .BYTE 13,5,0
...MAIN. LDA #$36. STA $
01. CLI. JSR $FFE7.
JSR $FF81. LDA #0. S
TA $D020. STA $D021. LDX
#0.STARTLP LDA STARTXT,X. BEQ
STARTEX. JSR $FFD2. INX.
BNE STARTLP.STARTEX JSR GETNAM
E. LDX #0. LDY #$10.
STX MEMSTART. STY MEMSTART+
1. LDA #0. JSR $FFD5.
STX MEMEND. STY MEMEND+1.
BCS MAIN ;CHECK IF ERROR..
LDX #0. LDY #$D0.
STX MEMTOP. STY MEMTOP+1.
JSR COMPRESS. STX MEMEND.
STY MEMEND+1.. LDX #0.NEWT
LOOP LDA NEWTXT,X. BEQ NEWEX.
JSR $FFD2. INX. BN
E NEWTLOOP.NEWEX JSR GETNAME.
LDA #MEMSTART. LDX MEMEND.
LDY MEMEND+1. JSR $FFD8.
JMP MAIN....GETNAME ;GET FILENAME
AND SETLFS.. LDY #0. JSR
$FFCF.GETNAMLP STA $0200,Y. CMP
#13. BEQ GETNAMEX. INY.
BNE GETNAMLP.GETNAMEX TYA.
LDX #0. LDY #2. JSR
$FFBD. LDA #8. TAX.
LDY #0. JMP $FFBA..
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL