_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL