COMPRESSION
FILE INFORMATION
FILENAME(S): COMPRESSION
FILE TYPE(S): PRG
FILE SIZE: 7.1K
FIRST SEEN: 2025-11-30 17:31:22
APPEARS ON: 1 disk(s)
FILE HASH
144e62c07d1ee70382076a05e5b3c23fc49a07288ffe6c1da11ec1e50bc190ba
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| CDU VOL3 NO7 MAY | COMPRESSION | PRG | UK CD | 16 | 0 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 29 08 0A 00 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A |..)...;*********|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000020: 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 51 08 0F 00 3B 2A |*********.Q...;*|
00000030: 20 20 20 20 20 20 20 44 41 54 41 20 43 4F 4D 50 | DATA COMP|
00000040: 52 45 53 53 49 4F 4E 20 20 20 20 20 20 20 20 20 |RESSION |
00000050: 2A 00 79 08 14 00 3B 2A 2D 2D 2D 2D 2D 2D 2D 2D |*.y...;*--------|
00000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000070: 2D 2D 2D 2D 2D 2D 2D 2D 2A 00 A1 08 19 00 3B 2A |--------*.....;*|
00000080: 20 20 20 20 20 20 20 20 4E 2E 48 49 47 47 49 4E | N.HIGGIN|
00000090: 53 20 31 39 38 39 20 20 20 20 20 20 20 20 20 20 |S 1989 |
000000A0: 2A 00 C9 08 1E 00 3B 2A 2D 2D 2D 2D 2D 2D 2D 2D |*.....;*--------|
000000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2A 00 F1 08 23 00 3B 2A |--------*...#.;*|
000000D0: 20 4D 45 54 48 4F 44 3A 20 52 55 4E 20 4C 45 4E | METHOD: RUN LEN|
000000E0: 47 54 48 20 45 4E 43 4F 44 49 4E 47 20 20 20 20 |GTH ENCODING |
000000F0: 2A 00 19 09 28 00 3B 2A 20 55 53 49 4E 47 20 3A |*...(.;* USING :|
00000100: 20 4D 41 52 4B 45 52 28 43 4F 55 4E 54 2C 43 48 | MARKER(COUNT,CH|
00000110: 41 52 29 20 20 20 20 20 2A 00 41 09 2D 00 3B 2A |AR) *.A.-.;*|
00000120: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000130: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000140: 2A 00 69 09 32 00 3B 2A 20 46 49 52 53 54 20 43 |*.i.2.;* FIRST C|
00000150: 41 4C 4C 20 54 48 45 20 52 4F 55 54 49 4E 45 53 |ALL THE ROUTINES|
00000160: 20 41 54 3A 2D 20 20 20 2A 00 91 09 37 00 3B 2A | AT:- *...7.;*|
00000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000190: 2A 00 B9 09 3C 00 3B 2A 20 20 43 4F 4D 50 52 45 |*...<.;* COMPRE|
000001A0: 53 53 20 2D 20 53 59 53 20 24 43 30 30 30 20 20 |SS - SYS $C000 |
000001B0: 20 20 20 20 20 20 20 20 2A 00 E1 09 41 00 3B 2A | *...A.;*|
000001C0: 20 20 44 45 43 4F 4D 50 45 52 20 2D 20 53 59 53 | DECOMPER - SYS|
000001D0: 20 24 43 30 42 38 20 20 20 20 20 20 20 20 20 20 | $C0B8 |
000001E0: 2A 00 09 0A 46 00 3B 2A 20 20 20 20 20 20 20 20 |*...F.;* |
000001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000200: 20 20 20 20 20 20 20 20 2A 00 31 0A 4B 00 3B 2A | *.1.K.;*|
00000210: 20 4E 4F 57 20 45 4E 54 45 52 20 54 48 45 20 4D | NOW ENTER THE M|
00000220: 4F 4E 49 54 4F 52 20 41 4E 44 20 55 53 45 20 20 |ONITOR AND USE |
00000230: 2A 00 59 0A 50 00 3B 2A 20 54 48 45 20 43 4F 4D |*.Y.P.;* THE COM|
00000240: 4D 41 4E 44 20 28 4D 43 31 31 30 20 43 31 37 30 |MAND (MC110 C170|
00000250: 29 20 54 4F 20 20 20 20 2A 00 81 0A 55 00 3B 2A |) TO *...U.;*|
00000260: 20 53 45 45 20 54 48 45 20 52 45 53 55 4C 54 53 | SEE THE RESULTS|
00000270: 2E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. |
00000280: 2A 00 A9 0A 5A 00 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A |*...Z.;*********|
00000290: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000002A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 AF 0A 5F 00 3B 00 |*********..._.;.|
000002B0: B5 0A 64 00 3B 00 BB 0A 69 00 3B 00 C1 0A 6E 00 |..d.;...i.;...n.|
000002C0: 3B 00 E7 0A 73 00 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D |;...s.;---------|
000002D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000002E0: 2D 2D 2D 2D 2D 2D 2D 00 0B 0B 78 00 3B 50 4F 49 |-------...x.;POI|
000002F0: 4E 54 45 52 20 54 4F 20 54 48 45 20 45 4E 44 20 |NTER TO THE END |
00000300: 4F 46 20 54 48 45 20 44 41 54 41 00 22 0B 7D 00 |OF THE DATA.".}.|
00000310: 3B 54 4F 20 42 45 20 43 4F 4D 50 52 45 53 53 45 |;TO BE COMPRESSE|
00000320: 44 2E 00 48 0B 82 00 3B 2D 2D 2D 2D 2D 2D 2D 2D |D..H...;--------|
00000330: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000340: 2D 2D 2D 2D 2D 2D 2D 2D 00 4E 0B 87 00 3B 00 60 |--------.N...;.`|
00000350: 0B 8C 00 54 45 58 54 80 B2 54 45 58 54 AA 31 36 |...TEXT..TEXT.16|
00000360: 00 66 0B 91 00 3B 00 75 0B 96 00 4D 41 52 4B 45 |.f...;.u...MARKE|
00000370: 52 B2 24 45 46 00 84 0B 9B 00 44 41 54 50 4E 54 |R.$EF.....DATPNT|
00000380: B2 24 46 42 00 90 0B A0 00 90 4E 54 B2 24 46 44 |.$FB......NT.$FD|
00000390: 00 96 0B A5 00 3B 00 9C 0B AA 00 3B 00 A8 0B AF |.....;.....;....|
000003A0: 00 AC B2 34 39 31 35 32 00 AE 0B B4 00 3B 00 B4 |...49152.....;..|
000003B0: 0B B9 00 3B 00 DA 0B BE 00 3B 2D 2D 2D 2D 2D 2D |...;.....;------|
000003C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000003D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 F9 0B C3 00 3B |----------.....;|
000003E0: 53 45 54 20 50 4F 49 4E 54 45 52 20 54 4F 20 44 |SET POINTER TO D|
000003F0: 41 54 41 20 54 4F 20 42 45 00 10 0C C8 00 3B 43 |ATA TO BE.....;C|
00000400: 4F 4D 50 52 45 53 53 45 44 20 28 54 45 58 54 29 |OMPRESSED (TEXT)|
00000410: 00 2E 0C CD 00 3B 53 45 54 20 50 4F 49 4E 54 45 |.....;SET POINTE|
00000420: 52 20 54 4F 20 53 54 4F 52 45 20 54 48 45 00 4D |R TO STORE THE.M|
00000430: 0C D2 00 3B 43 4F 4D 50 52 45 53 53 45 44 20 44 |...;COMPRESSED D|
00000440: 41 54 41 20 28 53 54 4F 52 41 47 45 29 00 73 0C |ATA (STORAGE).s.|
00000450: D7 00 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |..;-------------|
00000460: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000470: 2D 2D 2D 00 79 0C DC 00 3B 00 91 0C E1 00 43 4F |---.y...;.....CO|
00000480: 4D 50 52 45 53 53 20 4C 44 41 20 23 B3 54 45 58 |MPRESS LDA #.TEX|
00000490: 54 00 A0 0C E6 00 53 54 41 20 44 41 54 50 4E 54 |T.....STA DATPNT|
000004A0: 00 AF 0C EB 00 4C 44 41 20 23 B1 54 45 58 54 00 |.....LDA #.TEXT.|
000004B0: C0 0C F0 00 53 54 41 20 44 41 54 50 4E 54 AA 31 |....STA DATPNT.1|
000004C0: 00 D1 0C F5 00 4C 44 41 20 23 B3 53 A4 52 41 47 |.....LDA #.S.RAG|
000004D0: 45 00 DD 0C FA 00 53 54 41 20 90 4E 54 00 EE 0C |E.....STA .NT...|
000004E0: FF 00 4C 44 41 20 23 B1 53 A4 52 41 47 45 00 FC |..LDA #.S.RAGE..|
000004F0: 0C 04 01 53 54 41 20 90 4E 54 AA 31 00 02 0D 09 |...STA .NT.1....|
00000500: 01 3B 00 08 0D 0E 01 3B 00 2F 0D 13 01 3B 2D 2D |.;.....;./...;--|
00000510: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000520: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 |---------------.|
00000530: 4A 0D 18 01 3B 53 45 54 20 28 45 4E 44 46 4C 41 |J...;SET (ENDFLA|
00000540: 47 29 20 54 4F 20 5A 45 52 4F 00 60 0D 1D 01 3B |G) TO ZERO.`...;|
00000550: 53 45 54 20 28 43 4F 55 4E 54 29 20 54 4F 20 31 |SET (COUNT) TO 1|
00000560: 00 7C 0D 22 01 3B 47 45 54 20 42 59 54 45 2F 49 |.|.".;GET BYTE/I|
00000570: 53 20 43 41 52 52 59 20 53 45 54 3F 00 8E 0D 27 |S CARRY SET?...'|
00000580: 01 3B 59 45 53 3A 47 4F 54 4F 20 5B 45 5D 00 9E |.;YES:GOTO [E]..|
00000590: 0D 2C 01 3B 53 54 4F 52 45 20 42 59 54 45 00 C3 |.,.;STORE BYTE..|
000005A0: 0D 31 01 3B 5B 41 5D 20 47 45 54 20 4E 45 58 54 |.1.;[A] GET NEXT|
000005B0: 20 42 59 54 45 2F 49 53 20 43 41 52 52 59 20 53 | BYTE/IS CARRY S|
000005C0: 45 54 3F 00 D5 0D 36 01 3B 59 45 53 3A 47 4F 54 |ET?...6.;YES:GOT|
000005D0: 4F 20 5B 45 5D 00 F4 0D 3B 01 3B 49 53 20 42 59 |O [E]...;.;IS BY|
000005E0: 54 45 20 53 41 4D 45 20 41 53 20 50 52 45 56 49 |TE SAME AS PREVI|
000005F0: 4F 55 53 3F 00 06 0E 40 01 3B 4E 4F 20 3A 47 4F |OUS?...@.;NO :GO|
00000600: 54 4F 20 5B 43 5D 00 21 0E 45 01 3B 59 45 53 3A |TO [C].!.E.;YES:|
00000610: 49 4E 43 52 45 4D 45 4E 54 20 28 43 4F 55 4E 54 |INCREMENT (COUNT|
00000620: 29 00 34 0E 4A 01 3B 49 53 20 28 43 4F 55 4E 54 |).4.J.;IS (COUNT|
00000630: 29 20 3D 30 00 55 0E 4F 01 3B 59 45 53 3A 4F 55 |) =0.U.O.;YES:OU|
00000640: 54 50 55 54 20 4D 41 52 4B 45 52 28 24 46 46 2C |TPUT MARKER($FF,|
00000650: 43 48 41 52 29 00 71 0E 54 01 3B 53 45 54 20 28 |CHAR).q.T.;SET (|
00000660: 43 4F 55 4E 54 29 3D 31 2F 47 4F 54 4F 20 5B 41 |COUNT)=1/GOTO [A|
00000670: 5D 00 83 0E 59 01 3B 4E 4F 20 3A 47 4F 54 4F 20 |]...Y.;NO :GOTO |
00000680: 5B 41 5D 00 AA 0E 5E 01 3B 2D 2D 2D 2D 2D 2D 2D |[A]...^.;-------|
00000690: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000006A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 B0 0E 63 01 3B |----------...c.;|
000006B0: 00 BB 0E 68 01 4C 44 59 20 23 30 00 C9 0E 6D 01 |...h.LDY #0...m.|
000006C0: 53 54 59 20 80 46 4C 41 47 00 D4 0E 72 01 4C 44 |STY .FLAG...r.LD|
000006D0: 41 20 23 31 00 E2 0E 77 01 53 54 41 20 43 4F 55 |A #1...w.STA COU|
000006E0: 4E 54 00 F0 0E 7C 01 4A 53 52 20 A1 42 59 54 45 |NT...|.JSR .BYTE|
000006F0: 00 FF 0E 81 01 42 43 53 20 46 49 4E 49 53 48 00 |.....BCS FINISH.|
00000700: 11 0F 86 01 53 54 41 20 43 48 41 52 41 43 54 45 |....STA CHARACTE|
00000710: 52 00 17 0F 8B 01 3B 00 2B 0F 90 01 41 47 41 49 |R.....;.+...AGAI|
00000720: 4E 20 4A 53 52 20 A1 42 59 54 45 00 38 0F 95 01 |N JSR .BYTE.8...|
00000730: 42 43 53 20 4C 4F 4F 50 00 4A 0F 9A 01 43 4D 50 |BCS LOOP.J...CMP|
00000740: 20 43 48 41 52 41 43 54 45 52 00 58 0F 9F 01 42 | CHARACTER.X...B|
00000750: 4E 45 20 4C 4F 4F 50 32 00 6C 0F A4 01 9A 49 4E |NE LOOP2.l....IN|
00000760: 55 45 20 49 4E 43 20 43 4F 55 4E 54 00 7A 0F A9 |UE INC COUNT.z..|
00000770: 01 42 4E 45 20 41 47 41 49 4E 00 8A 0F AE 01 4C |.BNE AGAIN.....L|
00000780: 44 41 20 23 4D 41 52 4B 45 52 00 9A 0F B3 01 4A |DA #MARKER.....J|
00000790: 53 52 20 50 55 54 42 59 54 45 00 A7 0F B8 01 4C |SR PUTBYTE.....L|
000007A0: 44 41 20 23 24 46 46 00 B7 0F BD 01 4A 53 52 20 |DA #$FF.....JSR |
000007B0: 50 55 54 42 59 54 45 00 C9 0F C2 01 4C 44 41 20 |PUTBYTE.....LDA |
000007C0: 43 48 41 52 41 43 54 45 52 00 D9 0F C7 01 4A 53 |CHARACTER.....JS|
000007D0: 52 20 50 55 54 42 59 54 45 00 E7 0F CC 01 4A 4D |R PUTBYTE.....JM|
000007E0: 50 20 9A 49 4E 55 45 00 ED 0F D1 01 3B 00 F3 0F |P .INUE.....;...|
000007F0: D6 01 3B 00 19 10 DB 01 3B 2D 2D 2D 2D 2D 2D 2D |..;.....;-------|
00000800: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000810: 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 2D 10 E0 01 3B 5B |---------.-...;[|
00000820: 43 5D 20 53 54 4F 52 45 20 42 59 54 45 00 54 10 |C] STORE BYTE.T.|
00000830: E5 01 3B 47 45 54 20 50 52 45 56 49 4F 55 53 20 |..;GET PREVIOUS |
00000840: 42 59 54 45 2F 49 53 20 49 54 20 41 20 4D 41 52 |BYTE/IS IT A MAR|
00000850: 4B 45 52 3F 00 66 10 EA 01 3B 59 45 53 3A 47 4F |KER?.f...;YES:GO|
00000860: 54 4F 20 5B 46 5D 00 7D 10 EF 01 3B 4E 4F 20 3A |TO [F].}...;NO :|
00000870: 49 53 20 28 43 4F 55 4E 54 29 20 3C 34 00 8F 10 |IS (COUNT) <4...|
00000880: F4 01 3B 59 45 53 3A 47 4F 54 4F 20 5B 47 5D 00 |..;YES:GOTO [G].|
00000890: A1 10 F9 01 3B 4E 4F 20 3A 47 4F 54 4F 20 5B 46 |....;NO :GOTO [F|
000008A0: 5D 00 C7 10 FE 01 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D |].....;---------|
000008B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000008C0: 2D 2D 2D 2D 2D 2D 2D 00 CD 10 03 02 3B 00 E0 10 |-------.....;...|
000008D0: 08 02 4C 4F 4F 50 32 20 53 54 41 20 53 A4 52 45 |..LOOP2 STA S.RE|
000008E0: 00 F7 10 0D 02 4C 4F 4F 50 20 4C 44 41 20 43 48 |.....LOOP LDA CH|
000008F0: 41 52 41 43 54 45 52 00 07 11 12 02 43 4D 50 20 |ARACTER.....CMP |
00000900: 23 4D 41 52 4B 45 52 00 15 11 17 02 42 45 51 20 |#MARKER.....BEQ |
00000910: 4C 4F 4F 50 39 00 23 11 1C 02 4C 44 41 20 43 4F |LOOP9.#...LDA CO|
00000920: 55 4E 54 00 2E 11 21 02 43 4D 50 20 23 34 00 3C |UNT...!.CMP #4.<|
00000930: 11 26 02 42 43 43 20 4C 4F 4F 50 35 00 42 11 2B |.&.BCC LOOP5.B.+|
00000940: 02 3B 00 48 11 30 02 3B 00 6E 11 35 02 3B 2D 2D |.;.H.0.;.n.5.;--|
00000950: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000960: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 91 |--------------..|
00000970: 11 3A 02 3B 5B 46 5D 20 4F 55 54 50 55 54 20 4D |.:.;[F] OUTPUT M|
00000980: 41 52 4B 45 52 28 43 4F 55 4E 54 2C 43 48 41 52 |ARKER(COUNT,CHAR|
00000990: 29 00 B7 11 3F 02 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D |)...?.;---------|
000009A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000009B0: 2D 2D 2D 2D 2D 2D 2D 00 BD 11 44 02 3B 00 D3 11 |-------...D.;...|
000009C0: 49 02 4C 4F 4F 50 39 20 4C 44 41 20 23 4D 41 52 |I.LOOP9 LDA #MAR|
000009D0: 4B 45 52 00 E3 11 4E 02 4A 53 52 20 50 55 54 42 |KER...N.JSR PUTB|
000009E0: 59 54 45 00 F1 11 53 02 4C 44 41 20 43 4F 55 4E |YTE...S.LDA COUN|
000009F0: 54 00 01 12 58 02 4A 53 52 20 50 55 54 42 59 54 |T...X.JSR PUTBYT|
00000A00: 45 00 13 12 5D 02 4C 44 41 20 43 48 41 52 41 43 |E...].LDA CHARAC|
00000A10: 54 45 52 00 23 12 62 02 4A 53 52 20 50 55 54 42 |TER.#.b.JSR PUTB|
00000A20: 59 54 45 00 29 12 67 02 3B 00 2F 12 6C 02 3B 00 |YTE.).g.;./.l.;.|
00000A30: 55 12 71 02 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |U.q.;-----------|
00000A40: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000A50: 2D 2D 2D 2D 2D 00 74 12 76 02 3B 5B 44 5D 20 43 |-----.t.v.;[D] C|
00000A60: 48 45 43 4B 20 46 4C 41 47 2F 49 53 20 49 54 20 |HECK FLAG/IS IT |
00000A70: 53 45 54 3F 00 86 12 7B 02 3B 59 45 53 3A 47 4F |SET?...{.;YES:GO|
00000A80: 54 4F 20 5B 45 5D 00 9F 12 80 02 3B 4E 4F 20 3A |TO [E].....;NO :|
00000A90: 47 45 54 20 53 54 4F 52 45 44 20 42 59 54 45 00 |GET STORED BYTE.|
00000AA0: BE 12 85 02 3B 53 45 54 20 28 43 4F 55 4E 54 29 |....;SET (COUNT)|
00000AB0: 20 54 4F 20 31 2F 47 4F 54 4F 20 5B 41 5D 00 E4 | TO 1/GOTO [A]..|
00000AC0: 12 8A 02 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |...;------------|
00000AD0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000AE0: 2D 2D 2D 2D 00 EA 12 8F 02 3B 00 FE 12 94 02 4C |----.....;.....L|
00000AF0: 4F 4F 50 36 20 4C 44 41 20 80 46 4C 41 47 00 0D |OOP6 LDA .FLAG..|
00000B00: 13 99 02 42 4D 49 20 46 49 4E 49 53 48 00 1A 13 |...BMI FINISH...|
00000B10: 9E 02 4C 44 41 20 53 A4 52 45 00 2C 13 A3 02 53 |..LDA S.RE.,...S|
00000B20: 54 41 20 43 48 41 52 41 43 54 45 52 00 37 13 A8 |TA CHARACTER.7..|
00000B30: 02 4C 44 41 20 23 31 00 45 13 AD 02 53 54 41 20 |.LDA #1.E...STA |
00000B40: 43 4F 55 4E 54 00 53 13 B2 02 4A 4D 50 20 41 47 |COUNT.S...JMP AG|
00000B50: 41 49 4E 00 59 13 B7 02 3B 00 5F 13 BC 02 3B 00 |AIN.Y...;._...;.|
00000B60: 85 13 C1 02 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |....;-----------|
00000B70: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000B80: 2D 2D 2D 2D 2D 00 9A 13 C6 02 3B 5B 47 5D 20 4F |-----.....;[G] O|
00000B90: 55 54 50 55 54 20 43 48 41 52 00 B1 13 CB 02 3B |UTPUT CHAR.....;|
00000BA0: 44 45 43 52 45 4D 45 4E 54 20 28 43 4F 55 4E 54 |DECREMENT (COUNT|
00000BB0: 29 00 C3 13 D0 02 3B 49 53 20 28 43 4F 55 4E 54 |).....;IS (COUNT|
00000BC0: 29 3D 30 00 D5 13 D5 02 3B 59 45 53 3A 47 4F 54 |)=0.....;YES:GOT|
00000BD0: 4F 20 5B 44 5D 00 E7 13 DA 02 3B 4E 4F 20 3A 47 |O [D].....;NO :G|
00000BE0: 4F 54 4F 20 5B 47 5D 00 0D 14 DF 02 3B 2D 2D 2D |OTO [G].....;---|
00000BF0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000C00: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 13 14 |-------------...|
00000C10: E4 02 3B 00 2B 14 E9 02 4C 4F 4F 50 35 20 4C 44 |..;.+...LOOP5 LD|
00000C20: 41 20 43 48 41 52 41 43 54 45 52 00 3B 14 EE 02 |A CHARACTER.;...|
00000C30: 4A 53 52 20 50 55 54 42 59 54 45 00 49 14 F3 02 |JSR PUTBYTE.I...|
00000C40: 44 45 43 20 43 4F 55 4E 54 00 57 14 F8 02 42 45 |DEC COUNT.W...BE|
00000C50: 51 20 4C 4F 4F 50 36 00 65 14 FD 02 4A 4D 50 20 |Q LOOP6.e...JMP |
00000C60: 4C 4F 4F 50 35 00 6B 14 02 03 3B 00 71 14 07 03 |LOOP5.k...;.q...|
00000C70: 3B 00 97 14 0C 03 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D |;.....;---------|
00000C80: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000C90: 2D 2D 2D 2D 2D 2D 2D 00 BB 14 11 03 3B 5B 45 5D |-------.....;[E]|
00000CA0: 20 57 48 45 4E 20 46 49 4E 49 53 48 45 44 20 57 | WHEN FINISHED W|
00000CB0: 45 20 53 54 4F 52 45 20 54 48 45 00 DF 14 16 03 |E STORE THE.....|
00000CC0: 3B 45 4E 44 20 41 44 44 52 45 53 53 2B 31 20 4F |;END ADDRESS+1 O|
00000CD0: 46 20 54 48 45 20 43 4F 4D 50 41 43 54 45 44 00 |F THE COMPACTED.|
00000CE0: 05 15 1B 03 3B 44 41 54 41 20 46 4F 52 20 54 48 |....;DATA FOR TH|
00000CF0: 45 20 44 45 43 4F 4D 50 52 45 53 53 20 52 4F 55 |E DECOMPRESS ROU|
00000D00: 54 49 4E 45 2E 00 2B 15 20 03 3B 2D 2D 2D 2D 2D |TINE..+. .;-----|
00000D10: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000D20: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 31 15 25 03 |-----------.1.%.|
00000D30: 3B 00 44 15 2A 03 46 49 4E 49 53 48 20 4C 44 41 |;.D.*.FINISH LDA|
00000D40: 20 90 4E 54 00 52 15 2F 03 53 54 41 20 43 4F 4D | .NT.R./.STA COM|
00000D50: 50 80 00 60 15 34 03 4C 44 41 20 90 4E 54 AA 31 |P..`.4.LDA .NT.1|
00000D60: 00 70 15 39 03 53 54 41 20 43 4F 4D 50 80 AA 31 |.p.9.STA COMP..1|
00000D70: 00 78 15 3E 03 52 54 53 00 7E 15 43 03 3B 00 84 |.x.>.RTS.~.C.;..|
00000D80: 15 48 03 3B 00 AA 15 4D 03 3B 2D 2D 2D 2D 2D 2D |.H.;...M.;------|
00000D90: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000DA0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 D0 15 52 03 3B |----------...R.;|
00000DB0: 43 48 45 43 4B 20 49 46 20 52 45 41 43 48 45 44 |CHECK IF REACHED|
00000DC0: 20 54 48 45 20 45 4E 44 20 4F 46 20 44 41 54 41 | THE END OF DATA|
00000DD0: 00 F8 15 57 03 3B 4E 4F 20 3A 47 45 54 20 4E 45 |...W.;NO :GET NE|
00000DE0: 58 54 20 42 59 54 45 2F 43 4C 52 20 43 41 52 52 |XT BYTE/CLR CARR|
00000DF0: 59 2F 52 45 54 55 52 4E 00 20 16 5C 03 3B 59 45 |Y/RETURN. .\.;YE|
00000E00: 53 3A 53 45 54 20 28 45 4E 44 46 4C 41 47 29 2F |S:SET (ENDFLAG)/|
00000E10: 53 45 54 20 43 41 52 52 59 2F 52 45 54 55 52 4E |SET CARRY/RETURN|
00000E20: 00 46 16 61 03 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |.F.a.;----------|
00000E30: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000E40: 2D 2D 2D 2D 2D 2D 00 4C 16 66 03 3B 00 61 16 6B |------.L.f.;.a.k|
00000E50: 03 A1 42 59 54 45 20 4C 44 41 20 44 41 54 50 4E |..BYTE LDA DATPN|
00000E60: 54 00 71 16 70 03 43 4D 50 20 23 B3 54 45 58 54 |T.q.p.CMP #.TEXT|
00000E70: 80 00 80 16 75 03 42 4E 45 20 4C 4F 4F 50 31 32 |....u.BNE LOOP12|
00000E80: 00 91 16 7A 03 4C 44 41 20 44 41 54 50 4E 54 AA |...z.LDA DATPNT.|
00000E90: 31 00 A1 16 7F 03 43 4D 50 20 23 B1 54 45 58 54 |1.....CMP #.TEXT|
00000EA0: 80 00 B0 16 84 03 42 4E 45 20 4C 4F 4F 50 31 32 |......BNE LOOP12|
00000EB0: 00 BD 16 89 03 4C 44 41 20 23 24 46 46 00 CB 16 |.....LDA #$FF...|
00000EC0: 8E 03 53 54 41 20 80 46 4C 41 47 00 D3 16 93 03 |..STA .FLAG.....|
00000ED0: 53 45 43 00 DB 16 98 03 52 54 53 00 E1 16 9D 03 |SEC.....RTS.....|
00000EE0: 3B 00 FB 16 A2 03 4C 4F 4F 50 31 32 20 4C 44 41 |;.....LOOP12 LDA|
00000EF0: 20 28 44 41 54 50 4E 54 29 2C 59 00 0A 17 A7 03 | (DATPNT),Y.....|
00000F00: 49 4E 43 20 44 41 54 50 4E 54 00 19 17 AC 03 42 |INC DATPNT.....B|
00000F10: 4E 45 20 4C 4F 4F 50 31 34 00 2A 17 B1 03 49 4E |NE LOOP14.*...IN|
00000F20: 43 20 44 41 54 50 4E 54 AA 31 00 39 17 B6 03 4C |C DATPNT.1.9...L|
00000F30: 4F 4F 50 31 34 20 43 4C 43 00 41 17 BB 03 52 54 |OOP14 CLC.A...RT|
00000F40: 53 00 47 17 C0 03 3B 00 4D 17 C5 03 3B 00 74 17 |S.G...;.M...;.t.|
00000F50: CA 03 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |..;-------------|
00000F60: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000F70: 2D 2D 2D 2D 00 85 17 CF 03 3B 4F 55 54 50 55 54 |----.....;OUTPUT|
00000F80: 20 42 59 54 45 00 AC 17 D4 03 3B 2D 2D 2D 2D 2D | BYTE.....;-----|
00000F90: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000FA0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 B2 17 D9 |------------....|
00000FB0: 03 3B 00 CA 17 DE 03 50 55 54 42 59 54 45 20 53 |.;.....PUTBYTE S|
00000FC0: 54 41 20 28 90 4E 54 29 2C 59 00 D6 17 E3 03 49 |TA (.NT),Y.....I|
00000FD0: 4E 43 20 90 4E 54 00 E5 17 E8 03 42 4E 45 20 4C |NC .NT.....BNE L|
00000FE0: 4F 4F 50 31 35 00 F3 17 ED 03 49 4E 43 20 90 4E |OOP15.....INC .N|
00000FF0: 54 AA 31 00 02 18 F2 03 4C 4F 4F 50 31 35 20 52 |T.1.....LOOP15 R|
00001000: 54 53 00 08 18 F7 03 3B 00 0E 18 FC 03 3B 00 14 |TS.....;.....;..|
00001010: 18 01 04 3B 00 3B 18 06 04 3B 2A 2A 2A 2A 2A 2A |...;.;...;******|
00001020: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001030: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 62 18 0B 04 |***********.b...|
00001040: 3B 2A 20 20 20 20 20 44 45 43 4F 4D 50 52 45 53 |;* DECOMPRES|
00001050: 53 20 52 4F 55 54 49 4E 45 20 20 20 20 20 20 20 |S ROUTINE |
00001060: 20 2A 00 89 18 10 04 3B 2A 2A 2A 2A 2A 2A 2A 2A | *.....;********|
00001070: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001080: 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 B0 18 15 04 3B 2A |*********.....;*|
00001090: 20 54 48 49 53 20 4D 55 53 54 20 42 45 20 43 41 | THIS MUST BE CA|
000010A0: 4C 4C 45 44 20 41 46 54 45 52 20 54 48 45 20 2A |LLED AFTER THE *|
000010B0: 00 D7 18 1A 04 3B 2A 20 43 4F 4D 50 52 45 53 53 |.....;* COMPRESS|
000010C0: 49 4F 4E 20 52 4F 55 54 49 4E 45 2C 49 54 20 57 |ION ROUTINE,IT W|
000010D0: 49 4C 4C 20 20 20 2A 00 FE 18 1F 04 3B 2A 20 52 |ILL *.....;* R|
000010E0: 45 53 54 4F 52 45 20 54 48 45 20 43 4F 4D 50 52 |ESTORE THE COMPR|
000010F0: 45 53 53 45 44 20 44 41 54 41 20 20 20 2A 00 25 |ESSED DATA *.%|
00001100: 19 24 04 3B 2A 20 41 54 20 27 53 54 4F 52 41 47 |.$.;* AT 'STORAG|
00001110: 45 27 20 42 41 43 4B 20 54 4F 20 49 54 53 20 20 |E' BACK TO ITS |
00001120: 20 20 20 20 2A 00 4C 19 29 04 3B 2A 20 4F 52 49 | *.L.).;* ORI|
00001130: 47 49 4E 41 4C 20 56 41 4C 55 45 53 20 41 4E 44 |GINAL VALUES AND|
00001140: 20 50 4C 41 43 45 20 49 54 20 20 2A 00 73 19 2E | PLACE IT *.s..|
00001150: 04 3B 2A 20 41 54 20 27 4E 45 57 54 45 58 54 27 |.;* AT 'NEWTEXT'|
00001160: 2E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. |
00001170: 20 20 2A 00 9A 19 33 04 3B 2A 2A 2A 2A 2A 2A 2A | *...3.;*******|
00001180: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001190: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 C1 19 38 04 3B |**********...8.;|
000011A0: 2A 20 59 4F 55 20 43 41 4E 20 54 48 45 4E 20 43 |* YOU CAN THEN C|
000011B0: 4F 4D 50 41 52 45 20 42 4F 54 48 20 20 20 20 20 |OMPARE BOTH |
000011C0: 2A 00 E8 19 3D 04 3B 2A 20 27 54 45 58 54 27 20 |*...=.;* 'TEXT' |
000011D0: 26 20 27 4E 45 57 54 45 58 54 27 20 54 4F 20 53 |& 'NEWTEXT' TO S|
000011E0: 45 45 20 20 20 20 20 2A 00 0F 1A 42 04 3B 2A 20 |EE *...B.;* |
000011F0: 54 48 41 54 20 54 48 45 59 20 4D 41 54 43 48 2E |THAT THEY MATCH.|
00001200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2A 00 | *.|
00001210: 36 1A 47 04 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |6.G.;***********|
00001220: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001230: 2A 2A 2A 2A 2A 2A 00 3C 1A 4C 04 3B 00 42 1A 51 |******.<.L.;.B.Q|
00001240: 04 3B 00 67 1A 56 04 3B 2D 2D 2D 2D 2D 2D 2D 2D |.;.g.V.;--------|
00001250: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001260: 2D 2D 2D 2D 2D 2D 2D 00 85 1A 5B 04 3B 53 45 54 |-------...[.;SET|
00001270: 20 50 4F 49 4E 54 45 52 53 20 54 4F 20 53 54 41 | POINTERS TO STA|
00001280: 52 54 20 4F 46 00 A6 1A 60 04 3B 43 4F 4D 50 52 |RT OF...`.;COMPR|
00001290: 45 53 53 45 44 20 44 41 54 41 20 28 53 54 4F 52 |ESSED DATA (STOR|
000012A0: 41 47 45 29 20 26 00 C7 1A 65 04 3B 44 45 43 4F |AGE) &...e.;DECO|
000012B0: 4D 50 52 45 53 53 45 44 20 44 41 54 41 20 28 4E |MPRESSED DATA (N|
000012C0: 45 57 54 45 58 54 29 00 EC 1A 6A 04 3B 2D 2D 2D |EWTEXT)...j.;---|
000012D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000012E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 F2 1A 6F |------------...o|
000012F0: 04 3B 00 0C 1B 74 04 44 45 43 4F 4D 50 45 52 20 |.;...t.DECOMPER |
00001300: 4C 44 41 20 23 B3 53 A4 52 41 47 45 00 1B 1B 79 |LDA #.S.RAGE...y|
00001310: 04 53 54 41 20 44 41 54 50 4E 54 00 2C 1B 7E 04 |.STA DATPNT.,.~.|
00001320: 4C 44 41 20 23 B1 53 A4 52 41 47 45 00 3D 1B 83 |LDA #.S.RAGE.=..|
00001330: 04 53 54 41 20 44 41 54 50 4E 54 AA 31 00 4D 1B |.STA DATPNT.1.M.|
00001340: 88 04 4C 44 41 20 23 B3 A2 54 45 58 54 00 59 1B |..LDA #..TEXT.Y.|
00001350: 8D 04 53 54 41 20 90 4E 54 00 69 1B 92 04 4C 44 |..STA .NT.i...LD|
00001360: 41 20 23 B1 A2 54 45 58 54 00 77 1B 97 04 53 54 |A #..TEXT.w...ST|
00001370: 41 20 90 4E 54 AA 31 00 7D 1B 9C 04 3B 00 A2 1B |A .NT.1.}...;...|
00001380: A1 04 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |..;-------------|
00001390: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000013A0: 2D 2D 00 BB 1B A6 04 3B 47 45 54 20 43 4F 4D 50 |--.....;GET COMP|
000013B0: 52 45 53 53 45 44 20 44 41 54 41 00 D0 1B AB 04 |RESSED DATA.....|
000013C0: 3B 49 53 20 49 54 20 41 20 4D 41 52 4B 45 52 3F |;IS IT A MARKER?|
000013D0: 00 F6 1B B0 04 3B 4E 4F 3A 4F 55 54 50 55 54 20 |.....;NO:OUTPUT |
000013E0: 49 54 2F 49 4E 43 52 45 4D 45 4E 54 20 28 4E 45 |IT/INCREMENT (NE|
000013F0: 57 54 45 58 54 29 00 17 1C B5 04 3B 49 4E 43 52 |WTEXT).....;INCR|
00001400: 45 4D 45 4E 54 20 50 4F 49 4E 54 45 52 20 28 53 |EMENT POINTER (S|
00001410: 54 4F 52 41 47 45 29 00 34 1C BA 04 3B 49 53 20 |TORAGE).4...;IS |
00001420: 49 54 20 45 4E 44 20 4F 46 20 43 4F 4D 50 2E 44 |IT END OF COMP.D|
00001430: 41 54 41 3F 00 52 1C BF 04 3B 4E 4F 3A 47 4F 20 |ATA?.R...;NO:GO |
00001440: 42 41 43 4B 20 47 45 54 20 4E 45 58 54 20 42 59 |BACK GET NEXT BY|
00001450: 54 45 00 60 1C C4 04 3B 59 45 53 3A 45 58 49 54 |TE.`...;YES:EXIT|
00001460: 00 85 1C C9 04 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |.....;----------|
00001470: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001480: 2D 2D 2D 2D 2D 00 8B 1C CE 04 3B 00 96 1C D3 04 |-----.....;.....|
00001490: 4C 44 59 20 23 30 00 B0 1C D8 04 52 45 4C 4F 4F |LDY #0.....RELOO|
000014A0: 50 20 4C 44 41 20 28 44 41 54 50 4E 54 29 2C 59 |P LDA (DATPNT),Y|
000014B0: 00 C0 1C DD 04 43 4D 50 20 23 4D 41 52 4B 45 52 |.....CMP #MARKER|
000014C0: 00 CF 1C E2 04 42 45 51 20 4C 4F 4F 50 34 30 00 |.....BEQ LOOP40.|
000014D0: DF 1C E7 04 53 54 41 20 28 90 4E 54 29 2C 59 00 |....STA (.NT),Y.|
000014E0: EC 1C EC 04 4A 53 52 20 50 4E 54 31 00 00 1D F1 |....JSR PNT1....|
000014F0: 04 4C 4F 4F 50 35 30 20 4A 53 52 20 50 4E 54 32 |.LOOP50 JSR PNT2|
00001500: 00 0F 1D F6 04 4C 44 41 20 44 41 54 50 4E 54 00 |.....LDA DATPNT.|
00001510: 1D 1D FB 04 43 4D 50 20 43 4F 4D 50 80 00 2C 1D |....CMP COMP..,.|
00001520: 00 05 42 4E 45 20 52 45 4C 4F 4F 50 00 3D 1D 05 |..BNE RELOOP.=..|
00001530: 05 4C 44 41 20 44 41 54 50 4E 54 AA 31 00 4D 1D |.LDA DATPNT.1.M.|
00001540: 0A 05 43 4D 50 20 43 4F 4D 50 80 AA 31 00 5C 1D |..CMP COMP..1.\.|
00001550: 0F 05 42 4E 45 20 52 45 4C 4F 4F 50 00 64 1D 14 |..BNE RELOOP.d..|
00001560: 05 52 54 53 00 6A 1D 19 05 3B 00 8F 1D 1E 05 3B |.RTS.j...;.....;|
00001570: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001580: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 |---------------.|
00001590: AE 1D 23 05 3B 49 46 20 41 20 4D 41 52 4B 45 52 |..#.;IF A MARKER|
000015A0: 20 49 53 20 46 4F 55 4E 44 20 54 48 45 4E 00 C4 | IS FOUND THEN..|
000015B0: 1D 28 05 3B 50 55 54 20 28 43 4F 55 4E 54 29 20 |.(.;PUT (COUNT) |
000015C0: 49 4E 20 58 00 D9 1D 2D 05 3B 50 55 54 20 28 43 |IN X...-.;PUT (C|
000015D0: 48 41 52 29 20 49 4E 20 41 00 F6 1D 32 05 3B 4F |HAR) IN A...2.;O|
000015E0: 55 54 50 55 54 20 28 43 48 41 52 29 20 55 4E 54 |UTPUT (CHAR) UNT|
000015F0: 49 4C 20 58 3D 30 00 1B 1E 37 05 3B 2D 2D 2D 2D |IL X=0...7.;----|
00001600: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001610: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 21 1E 3C 05 |-----------.!.<.|
00001620: 3B 00 35 1E 41 05 4C 4F 4F 50 34 30 20 4A 53 52 |;.5.A.LOOP40 JSR|
00001630: 20 50 4E 54 32 00 48 1E 46 05 4C 44 41 20 28 44 | PNT2.H.F.LDA (D|
00001640: 41 54 50 4E 54 29 2C 59 00 50 1E 4B 05 54 41 58 |ATPNT),Y.P.K.TAX|
00001650: 00 5D 1E 50 05 4A 53 52 20 50 4E 54 32 00 70 1E |.].P.JSR PNT2.p.|
00001660: 55 05 4C 44 41 20 28 44 41 54 50 4E 54 29 2C 59 |U.LDA (DATPNT),Y|
00001670: 00 87 1E 5A 05 4C 4F 4F 50 34 32 20 53 54 41 20 |...Z.LOOP42 STA |
00001680: 28 90 4E 54 29 2C 59 00 94 1E 5F 05 4A 53 52 20 |(.NT),Y..._.JSR |
00001690: 50 4E 54 31 00 9C 1E 64 05 44 45 58 00 AB 1E 69 |PNT1...d.DEX...i|
000016A0: 05 42 4E 45 20 4C 4F 4F 50 34 32 00 BA 1E 6E 05 |.BNE LOOP42...n.|
000016B0: 42 45 51 20 4C 4F 4F 50 35 30 00 C0 1E 73 05 3B |BEQ LOOP50...s.;|
000016C0: 00 C6 1E 78 05 3B 00 E9 1E 7D 05 3B 2D 2D 2D 2D |...x.;...}.;----|
000016D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000016E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 01 1F 82 05 3B 49 |---------.....;I|
000016F0: 4E 43 52 45 4D 45 4E 54 20 50 4F 49 4E 54 45 52 |NCREMENT POINTER|
00001700: 53 00 24 1F 87 05 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D |S.$...;---------|
00001710: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001720: 2D 2D 2D 2D 00 2A 1F 8C 05 3B 00 3B 1F 91 05 50 |----.*...;.;...P|
00001730: 4E 54 31 20 49 4E 43 20 90 4E 54 00 4A 1F 96 05 |NT1 INC .NT.J...|
00001740: 42 4E 45 20 4C 4F 4F 50 34 33 00 58 1F 9B 05 49 |BNE LOOP43.X...I|
00001750: 4E 43 20 90 4E 54 AA 31 00 67 1F A0 05 4C 4F 4F |NC .NT.1.g...LOO|
00001760: 50 34 33 20 52 54 53 00 6D 1F A5 05 3B 00 81 1F |P43 RTS.m...;...|
00001770: AA 05 50 4E 54 32 20 49 4E 43 20 44 41 54 50 4E |..PNT2 INC DATPN|
00001780: 54 00 90 1F AF 05 42 4E 45 20 4C 4F 4F 50 34 34 |T.....BNE LOOP44|
00001790: 00 A1 1F B4 05 49 4E 43 20 44 41 54 50 4E 54 AA |.....INC DATPNT.|
000017A0: 31 00 B0 1F B9 05 4C 4F 4F 50 34 34 20 52 54 53 |1.....LOOP44 RTS|
000017B0: 00 B6 1F BE 05 3B 00 BC 1F C3 05 3B 00 C2 1F C8 |.....;.....;....|
000017C0: 05 3B 00 C8 1F CD 05 3B 00 CE 1F D2 05 3B 00 E0 |.;.....;.....;..|
000017D0: 1F D7 05 43 4F 4D 50 80 20 42 59 54 20 30 2C 30 |...COMP. BYT 0,0|
000017E0: 00 EF 1F DC 05 53 A4 52 45 20 42 59 54 20 30 00 |.....S.RE BYT 0.|
000017F0: FF 1F E1 05 43 4F 55 4E 54 20 42 59 54 20 30 00 |....COUNT BYT 0.|
00001800: 13 20 E6 05 43 48 41 52 41 43 54 45 52 20 42 59 |. ..CHARACTER BY|
00001810: 54 20 30 00 23 20 EB 05 80 46 4C 41 47 20 42 59 |T 0.# ...FLAG BY|
00001820: 54 20 30 00 29 20 F0 05 3B 00 4F 20 F5 05 3B 2D |T 0.) ..;.O ..;-|
00001830: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001840: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 00 |---------------.|
00001850: 6E 20 FA 05 3B 54 48 45 53 45 20 41 52 45 20 54 |n ..;THESE ARE T|
00001860: 48 45 20 42 59 54 45 53 20 54 4F 20 42 45 00 91 |HE BYTES TO BE..|
00001870: 20 FF 05 3B 43 4F 4D 50 52 45 53 53 45 44 2E 2E | ..;COMPRESSED..|
00001880: 2E 59 4F 55 20 43 41 4E 20 55 53 45 20 59 4F 55 |.YOU CAN USE YOU|
00001890: 52 00 B4 20 04 06 3B 4F 57 4E 20 49 4E 53 54 45 |R.. ..;OWN INSTE|
000018A0: 41 44 20 42 55 54 20 49 46 20 59 4F 55 20 45 58 |AD BUT IF YOU EX|
000018B0: 54 45 4E 44 00 D5 20 09 06 3B 49 54 53 20 53 49 |TEND.. ..;ITS SI|
000018C0: 5A 45 20 54 48 45 4E 20 4D 41 4B 45 20 53 55 52 |ZE THEN MAKE SUR|
000018D0: 45 20 59 4F 55 00 F9 20 0E 06 3B 41 4C 54 45 52 |E YOU.. ..;ALTER|
000018E0: 20 54 48 45 20 4F 54 48 45 52 20 53 54 4F 52 41 | THE OTHER STORA|
000018F0: 47 45 20 41 52 45 41 27 53 00 1A 21 13 06 3B 41 |GE AREA'S..!..;A|
00001900: 4E 44 20 50 4F 49 4E 54 45 52 53 20 41 43 43 4F |ND POINTERS ACCO|
00001910: 52 44 49 4E 47 4C 59 2E 2E 2E 00 40 21 18 06 3B |RDINGLY....@!..;|
00001920: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001930: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001940: 00 46 21 1D 06 3B 00 51 21 22 06 54 45 58 54 20 |.F!..;.Q!".TEXT |
00001950: 3B 00 57 21 27 06 3B 00 6F 21 2C 06 42 59 54 20 |;.W!'.;.o!,.BYT |
00001960: 24 30 31 2C 24 30 31 2C 24 30 31 2C 24 30 31 00 |$01,$01,$01,$01.|
00001970: 87 21 31 06 42 59 54 20 24 30 31 2C 24 30 31 2C |.!1.BYT $01,$01,|
00001980: 24 30 31 2C 24 30 31 00 9F 21 36 06 42 59 54 20 |$01,$01..!6.BYT |
00001990: 24 30 31 2C 24 30 31 2C 24 30 31 2C 24 30 31 00 |$01,$01,$01,$01.|
000019A0: B7 21 3B 06 42 59 54 20 24 30 31 2C 24 30 31 2C |.!;.BYT $01,$01,|
000019B0: 24 45 46 2C 24 30 31 00 BD 21 40 06 3B 00 E3 21 |$EF,$01..!@.;..!|
000019C0: 45 06 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |E.;-------------|
000019D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000019E0: 2D 2D 2D 00 07 22 4A 06 3B 54 48 45 20 42 59 54 |---.."J.;THE BYT|
000019F0: 45 53 20 41 42 4F 56 45 20 41 52 45 20 43 4F 4D |ES ABOVE ARE COM|
00001A00: 50 52 45 53 53 45 44 00 2A 22 4F 06 3B 41 4E 44 |PRESSED.*"O.;AND|
00001A10: 20 53 54 4F 52 45 44 20 48 45 52 45 2E 2E 2E 2E | STORED HERE....|
00001A20: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 00 4D 22 54 06 3B |...........M"T.;|
00001A30: 28 33 20 42 59 54 45 53 2F 46 4F 52 20 45 56 45 |(3 BYTES/FOR EVE|
00001A40: 52 59 20 31 20 49 4E 20 54 45 58 54 29 00 73 22 |RY 1 IN TEXT).s"|
00001A50: 59 06 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |Y.;-------------|
00001A60: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001A70: 2D 2D 2D 00 80 22 5E 06 53 A4 52 41 47 45 20 3B |---.."^.S.RAGE ;|
00001A80: 00 86 22 63 06 3B 00 9E 22 68 06 42 59 54 20 30 |.."c.;.."h.BYT 0|
00001A90: 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 00 B6 |,0,0,0,0,0,0,0..|
00001AA0: 22 6D 06 42 59 54 20 30 2C 30 2C 30 2C 30 2C 30 |"m.BYT 0,0,0,0,0|
00001AB0: 2C 30 2C 30 2C 30 00 CE 22 72 06 42 59 54 20 30 |,0,0,0.."r.BYT 0|
00001AC0: 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 00 E6 |,0,0,0,0,0,0,0..|
00001AD0: 22 77 06 42 59 54 20 30 2C 30 2C 30 2C 30 2C 30 |"w.BYT 0,0,0,0,0|
00001AE0: 2C 30 2C 30 2C 30 00 FE 22 7C 06 42 59 54 20 30 |,0,0,0.."|.BYT 0|
00001AF0: 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 00 16 |,0,0,0,0,0,0,0..|
00001B00: 23 81 06 42 59 54 20 30 2C 30 2C 30 2C 30 2C 30 |#..BYT 0,0,0,0,0|
00001B10: 2C 30 2C 30 2C 30 00 1C 23 86 06 3B 00 42 23 8B |,0,0,0..#..;.B#.|
00001B20: 06 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |.;--------------|
00001B30: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001B40: 2D 2D 00 68 23 90 06 3B 54 48 45 20 43 4F 4D 50 |--.h#..;THE COMP|
00001B50: 52 45 53 53 45 44 20 44 41 54 41 20 49 4E 20 27 |RESSED DATA IN '|
00001B60: 53 54 4F 52 41 47 45 27 00 8E 23 95 06 3B 49 53 |STORAGE'..#..;IS|
00001B70: 20 44 45 43 4F 4D 50 52 45 53 53 45 44 20 26 20 | DECOMPRESSED & |
00001B80: 50 4C 41 43 45 44 20 48 45 52 45 2E 2E 2E 00 B4 |PLACED HERE.....|
00001B90: 23 9A 06 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |#..;------------|
00001BA0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00001BB0: 2D 2D 2D 2D 00 BA 23 9F 06 3B 00 C6 23 A4 06 A2 |----..#..;..#...|
00001BC0: 54 45 58 54 20 3B 00 CC 23 A9 06 3B 00 E4 23 AE |TEXT ;..#..;..#.|
00001BD0: 06 42 59 54 20 30 2C 30 2C 30 2C 30 2C 30 2C 30 |.BYT 0,0,0,0,0,0|
00001BE0: 2C 30 2C 30 00 FC 23 B3 06 42 59 54 20 30 2C 30 |,0,0..#..BYT 0,0|
00001BF0: 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 00 14 24 B8 |,0,0,0,0,0,0..$.|
00001C00: 06 42 59 54 20 30 2C 30 2C 30 2C 30 2C 30 2C 30 |.BYT 0,0,0,0,0,0|
00001C10: 2C 30 2C 30 00 2C 24 BD 06 42 59 54 20 30 2C 30 |,0,0.,$..BYT 0,0|
00001C20: 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 00 44 24 C2 |,0,0,0,0,0,0.D$.|
00001C30: 06 42 59 54 20 30 2C 30 2C 30 2C 30 2C 30 2C 30 |.BYT 0,0,0,0,0,0|
00001C40: 2C 30 2C 30 00 5C 24 C7 06 42 59 54 20 30 2C 30 |,0,0.\$..BYT 0,0|
00001C50: 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 00 62 24 CC |,0,0,0,0,0,0.b$.|
00001C60: 06 3B 00 68 24 D1 06 3B 00 00 00 |.;.h$..;... |
..)...;*********************************
*.Q...;* DATA COMPRESSION
*.Y...;*--------------------------------
*.....;* N.HIGGINS 1989
*.I...;*--------------------------------
*...#.;* METHOD: RUN LENGTH ENCODING
*...(.;* USING : MARKER(COUNT,CHAR)
*.A.-.;*********************************
*.I.2.;* FIRST CALL THE ROUTINES AT:-
*...7.;*
*...<.;* COMPRESS - SYS $C000
*...A.;* DECOMPER - SYS $C0B8
*...F.;*
*.1.K.;* NOW ENTER THE MONITOR AND USE
*.Y.P.;* THE COMMAND (MC110 C170) TO
*...U.;* SEE THE RESULTS.
*...Z.;*********************************
*..._.;...D.;...I.;.A.N.;...S.;---------
-----------------------...X.;POINTER TO
THE END OF THE DATA.".}.;TO BE COMPRESSE
D..H...;--------------------------------
.N...;.`...TEXT..TEXT.16.F...;.U...MARKE
R.$EF.....DATPNT.$FB... ..NT.$FD.....;..
...;.......49152.....;.....;.Z...;------
--------------------------...C.;SET POIN
TER TO DATA TO BE...H.;COMPRESSED (TEXT)
...M.;SET POINTER TO STORE THE.M.R.;COMP
RESSED DATA (STORAGE).S.W.;-------------
-------------------.Y...;.....COMPRESS L
DA #.TEXT. ...STA DATPNT.....LDA #.TEXT.
....STA DATPNT.1.Q...LDA #.S.RAGE.....ST
A .NT.....LDA #.S.RAGE.....STA .NT.1....
.;.....;./...;--------------------------
-------.J...;SET (ENDFLAG) TO ZERO.`...;
SET (COUNT) TO 1.|.".;GET BYTE/IS CARRY
SET?...'.;YES:GOTO [E]...,.;STORE BYTE.C
.1.;[A] GET NEXT BYTE/IS CARRY SET?.U.6.
;YES:GOTO [E]...;.;IS BYTE SAME AS PREVI
OUS?...@.;NO :GOTO [C].!.E.;YES:INCREMEN
T (COUNT).4.J.;IS (COUNT) =0.U.O.;YES:OU
TPUT MARKER($FF,CHAR).Q.T.;SET (COUNT)=1
/GOTO [A]...Y.;NO :GOTO [A]...^.;-------
--------------------------...C.;...H.LDY
#0.I.M.STY .FLAG.T.R.LDA #1...W.STA COU
NT...|.JSR .BYTE.....BCS FINISH.....STA
CHARACTER.....;.+...AGAIN JSR .BYTE.8...
BCS LOOP.J...CMP CHARACTER.X...BNE LOOP2
.L....INUE INC COUNT.Z...BNE AGAIN.....L
DA #MARKER.....JSR PUTBYTE.....LDA #$FF.
....JSR PUTBYTE.I.B.LDA CHARACTER.Y.G.JS
R PUTBYTE...L.JMP .INUE...Q.;...V.;.....
;--------------------------------.-...;[
C] STORE BYTE.T...;GET PREVIOUS BYTE/IS
IT A MARKER?.F...;YES:GOTO [F].}...;NO :
IS (COUNT) <4.....;YES:GOTO [G].....;NO
:GOTO [F].G...;-------------------------
-------.M...;.....LOOP2 STA S.RE.....LOO
P LDA CHARACTER.....CMP #MARKER.....BEQ
LOOP9.#...LDA COUNT...!.CMP #4.<.&.BCC L
OOP5.B.+.;.H.0.;.N.5.;------------------
--------------...:.;[F] OUTPUT MARKER(CO
UNT,CHAR)...?.;-------------------------
-------...D.;.S.I.LOOP9 LDA #MARKER...N.
JSR PUTBYTE...S.LDA COUNT...X.JSR PUTBYT
E...].LDA CHARACTER.#.B.JSR PUTBYTE.).G.
;./.L.;.U.Q.;---------------------------
-----.T.V.;[D] CHECK FLAG/IS IT SET?...{
.;YES:GOTO [E].....;NO :GET STORED BYTE.
....;SET (COUNT) TO 1/GOTO [A].....;----
----------------------------.....;.....L
OOP6 LDA .FLAG.....BMI FINISH.....LDA S.
RE.,...STA CHARACTER.7...LDA #1.E...STA
COUNT.S...JMP AGAIN.Y...;._...;...A.;---
-----------------------------...F.;[G] O
UTPUT CHAR...K.;DECREMENT (COUNT).C.P.;I
S (COUNT)=0.U.U.;YES:GOTO [D]...Z.;NO :G
OTO [G].....;---------------------------
-----.....;.+...LOOP5 LDA CHARACTER.;...
JSR PUTBYTE.I...DEC COUNT.W...BEQ LOOP6.
E...JMP LOOP5.K...;.Q...;.....;---------
-----------------------.....;[E] WHEN FI
NISHED WE STORE THE.....;END ADDRESS+1 O
F THE COMPACTED.....;DATA FOR THE DECOMP
RESS ROUTINE..+. .;---------------------
-----------.1.%.;.D.*.FINISH LDA .NT.R./
.STA COMP..`.4.LDA .NT.1.P.9.STA COMP..1
.X.>.RTS.~.C.;...H.;...M.;--------------
------------------.P.R.;CHECK IF REACHED
THE END OF DATA...W.;NO :GET NEXT BYTE/
CLR CARRY/RETURN. .\.;YES:SET (ENDFLAG)/
SET CARRY/RETURN.F.A.;------------------
--------------.L.F.;.A.K..BYTE LDA DATPN
T.Q.P.CMP #.TEXT....U.BNE LOOP12...Z.LDA
DATPNT.1....CMP #.TEXT......BNE LOOP12
.....LDA #$FF.K...STA .FLAG.S...SEC.....
RTS.....;.....LOOP12 LDA (DATPNT),Y.....
INC DATPNT.....BNE LOOP14.*...INC DATPNT
.1.9...LOOP14 CLC.A...RTS.G...;.M.E.;.T.
J.;---------------------------------...O
.;OUTPUT BYTE...T.;---------------------
------------...Y.;.J...PUTBYTE STA (.NT)
,Y.V...INC .NT.....BNE LOOP15.....INC .N
T.1.....LOOP15 RTS.....;.....;.....;.;..
.;*********************************.B...
;* DECOMPRESS ROUTINE *.....;
*********************************.....;*
THIS MUST BE CALLED AFTER THE *.W...;*
COMPRESSION ROUTINE,IT WILL *.....;* R
ESTORE THE COMPRESSED DATA *.%.$.;* AT
'STORAGE' BACK TO ITS *.L.).;* ORI
GINAL VALUES AND PLACE IT *.S...;* AT '
NEWTEXT'. *...3.;*******
**************************.A.8.;* YOU CA
N THEN COMPARE BOTH *...=.;* 'TEXT'
& 'NEWTEXT' TO SEE *...B.;* THAT THE
Y MATCH. *.6.G.;***********
**********************.<.L.;.B.Q.;.G.V.;
-------------------------------...[.;SET
POINTERS TO START OF...`.;COMPRESSED DA
TA (STORAGE) &.G.E.;DECOMPRESSED DATA (N
EWTEXT)...J.;---------------------------
----...O.;...T.DECOMPER LDA #.S.RAGE...Y
.STA DATPNT.,.~.LDA #.S.RAGE.=...STA DAT
PNT.1.M...LDA #..TEXT.Y...STA .NT.I...LD
A #..TEXT.W...STA .NT.1.}...;.....;-----
--------------------------.....;GET COMP
RESSED DATA.P...;IS IT A MARKER?.....;NO
:OUTPUT IT/INCREMENT (NEWTEXT).....;INCR
EMENT POINTER (STORAGE).4...;IS IT END O
F COMP.DATA?.R...;NO:GO BACK GET NEXT BY
TE.`.D.;YES:EXIT...I.;------------------
-------------...N.;...S.LDY #0...X.RELOO
P LDA (DATPNT),Y.....CMP #MARKER.O...BEQ
LOOP40.....STA (.NT),Y.....JSR PNT1....
.LOOP50 JSR PNT2.....LDA DATPNT.....CMP
COMP..,...BNE RELOOP.=...LDA DATPNT.1.M.
..CMP COMP..1.\...BNE RELOOP.D...RTS.J..
.;.....;-------------------------------.
..#.;IF A MARKER IS FOUND THEN.D.(.;PUT
(COUNT) IN X.Y.-.;PUT (CHAR) IN A...2.;O
UTPUT (CHAR) UNTIL X=0...7.;------------
-------------------.!.<.;.5.A.LOOP40 JSR
PNT2.H.F.LDA (DATPNT),Y.P.K.TAX.].P.JSR
PNT2.P.U.LDA (DATPNT),Y...Z.LOOP42 STA
(.NT),Y..._.JSR PNT1...D.DEX...I.BNE LOO
P42...N.BEQ LOOP50...S.;.F.X.;...}.;----
-------------------------.....;INCREMENT
POINTERS.$...;-------------------------
----.*...;.;...PNT1 INC .NT.J...BNE LOOP
43.X...INC .NT.1.G. .LOOP43 RTS.M...;...
..PNT2 INC DATPNT.....BNE LOOP44.....INC
DATPNT.1.....LOOP44 RTS.....;...C.;.B.H
.;.H.M.;.N.R.;...W.COMP. BYT 0,0.....S.R
E BYT 0.....COUNT BYT 0.. ..CHARACTER BY
T 0.# ...FLAG BYT 0.) ..;.O ..;---------
-----------------------.N ..;THESE ARE T
HE BYTES TO BE.. ..;COMPRESSED...YOU CAN
USE YOUR.. ..;OWN INSTEAD BUT IF YOU EX
TEND.U ..;ITS SIZE THEN MAKE SURE YOU..
..;ALTER THE OTHER STORAGE AREA'S..!..;A
ND POINTERS ACCORDINGLY....@!..;--------
------------------------.F!..;.Q!".TEXT
;.W!'.;.O!,.BYT $01,$01,$01,$01..!1.BYT
$01,$01,$01,$01..!6.BYT $01,$01,$01,$01.
.!;.BYT $01,$01,$EF,$01..!@.;..!E.;-----
---------------------------.."J.;THE BYT
ES ABOVE ARE COMPRESSED.*"O.;AND STORED
HERE...............M"T.;(3 BYTES/FOR EVE
RY 1 IN TEXT).S"Y.;---------------------
-----------.."^.S.RAGE ;.."C.;.."H.BYT 0
,0,0,0,0,0,0,0.."M.BYT 0,0,0,0,0,0,0,0.N
"R.BYT 0,0,0,0,0,0,0,0.."W.BYT 0,0,0,0,0
,0,0,0.."|.BYT 0,0,0,0,0,0,0,0..#..BYT 0
,0,0,0,0,0,0,0..#..;.B#..;--------------
------------------.H#..;THE COMPRESSED D
ATA IN 'STORAGE'..#..;IS DECOMPRESSED &
PLACED HERE.....#..;--------------------
------------..#..;.F#...TEXT ;.L#..;..#.
.BYT 0,0,0,0,0,0,0,0..#..BYT 0,0,0,0,0,0
,0,0..$..BYT 0,0,0,0,0,0,0,0.,$..BYT 0,0
,0,0,0,0,0,0.D$B.BYT 0,0,0,0,0,0,0,0.\$G
.BYT 0,0,0,0,0,0,0,0.B$L.;.H$Q.;...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL