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

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL