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

64SORT.SRC

FILE INFORMATION

FILENAME(S): 64SORT.SRC

FILE TYPE(S): SEQ

FILE SIZE: 4.5K

FIRST SEEN: 2025-12-02 00:17:46

APPEARS ON: 1 disk(s)

FILE HASH

a96342b11c80277ac59e7aad77e5ac7e83184ff556f99df453120ba000668b51

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
K ASSEMBLER 1 64SORT.SRC SEQ Maestro 16 9 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 50 55 54 22 40 30 3A  36 34 53 4F 52 54 22 0D  |;PUT"@0:64SORT".|
00000010: 3B 0D 3B 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;.;*************|
00000020: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 0D 3B 2A 20 20  |***********.;*  |
00000030: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000040: 20 20 20 20 2A 0D 3B 2A  20 43 4F 4D 4D 4F 44 4F  |    *.;* COMMODO|
00000050: 52 45 20 36 34 20 4D 43  20 53 4F 52 54 20 2A 0D  |RE 64 MC SORT *.|
00000060: 3B 2A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;*              |
00000070: 20 20 20 20 20 20 20 20  2A 0D 3B 2A 20 4F 52 49  |        *.;* ORI|
00000080: 47 49 4E 41 4C 20 50 52  4F 47 52 41 4D 20 42 59  |GINAL PROGRAM BY|
00000090: 20 20 2A 0D 3B 2A 20 20  20 4E 49 43 4B 20 48 41  |  *.;*   NICK HA|
000000A0: 4D 50 53 48 49 52 45 20  20 20 20 20 2A 0D 3B 2A  |MPSHIRE     *.;*|
000000B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000C0: 20 20 20 20 20 20 2A 0D  3B 2A 20 20 52 45 57 4F  |      *.;*  REWO|
000000D0: 52 4B 45 44 20 46 4F 52  20 43 36 34 20 20 20 20  |RKED FOR C64    |
000000E0: 2A 0D 3B 2A 20 20 20 20  28 42 41 53 49 43 20 32  |*.;*    (BASIC 2|
000000F0: 2E 30 29 20 20 20 20 20  20 20 2A 0D 3B 2A 20 20  |.0)       *.;*  |
00000100: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000110: 20 20 20 20 2A 0D 3B 2A  20 20 20 20 20 50 41 55  |    *.;*     PAU|
00000120: 4C 20 42 4C 41 49 52 20  20 20 20 20 20 20 2A 0D  |L BLAIR       *.|
00000130: 3B 2A 20 20 20 20 43 41  4E 42 45 52 52 41 20 41  |;*    CANBERRA A|
00000140: 43 54 20 20 20 20 20 20  2A 0D 3B 2A 20 20 20 20  |CT      *.;*    |
00000150: 20 41 55 53 54 52 41 4C  49 41 20 20 20 20 20 20  | AUSTRALIA      |
00000160: 20 20 2A 0D 3B 2A 20 20  20 20 20 20 20 20 20 20  |  *.;*          |
00000170: 20 20 20 20 20 20 20 20  20 20 20 20 2A 0D 3B 2A  |            *.;*|
00000180: 20 20 20 20 20 31 30 20  53 45 50 20 38 33 20 20  |     10 SEP 83  |
00000190: 20 20 20 20 20 20 2A 0D  3B 2A 20 20 20 20 20 20  |      *.;*      |
000001A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001B0: 2A 0D 3B 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |*.;*************|
000001C0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 0D 2E 53 4B 49  |***********..SKI|
000001D0: 50 0D 2E 53 4B 49 50 0D  2E 53 4B 49 50 0D 3B 54  |P..SKIP..SKIP.;T|
000001E0: 48 49 53 20 56 45 52 53  49 4F 4E 20 49 53 20 44  |HIS VERSION IS D|
000001F0: 45 53 49 47 4E 45 44 0D  3B 54 4F 20 53 49 54 20  |ESIGNED.;TO SIT |
00000200: 41 54 20 24 43 30 30 30  20 57 48 45 52 45 20 49  |AT $C000 WHERE I|
00000210: 54 0D 3B 49 53 20 50 52  4F 54 45 43 54 45 44 20  |T.;IS PROTECTED |
00000220: 46 52 4F 4D 20 42 41 53  49 43 0D 3B 0D 3B 4E 41  |FROM BASIC.;.;NA|
00000230: 4D 45 20 4F 46 20 41 52  52 41 59 20 54 4F 20 53  |ME OF ARRAY TO S|
00000240: 4F 52 54 20 49 53 0D 3B  53 54 4F 52 45 44 20 49  |ORT IS.;STORED I|
00000250: 4E 20 27 43 41 27 20 41  4E 44 20 27 43 42 27 0D  |N 'CA' AND 'CB'.|
00000260: 3B 0D 3B 42 41 53 45 20  41 44 44 52 45 53 53 20  |;.;BASE ADDRESS |
00000270: 42 41 3D 34 39 31 35 32  0D 3B 0D 3B 50 4F 4B 45  |BA=49152.;.;POKE|
00000280: 20 42 41 2C 41 53 43 28  43 48 41 52 31 29 0D 3B  | BA,ASC(CHAR1).;|
00000290: 50 4F 4B 45 20 42 41 2B  31 2C 41 53 43 28 43 48  |POKE BA+1,ASC(CH|
000002A0: 41 52 32 29 0D 3B 0D 3B  52 45 41 44 20 45 52 52  |AR2).;.;READ ERR|
000002B0: 4F 52 20 46 52 4F 4D 20  42 41 2B 32 0D 3B 0D 3B  |OR FROM BA+2.;.;|
000002C0: 2D 2D 53 59 53 54 45 4D  20 43 4F 4E 53 54 41 4E  |--SYSTEM CONSTAN|
000002D0: 54 2D 2D 0D 3B 0D 41 53  54 41 52 54 20 3D 24 32  |T--.;.ASTART =$2|
000002E0: 46 20 3B 53 54 41 52 54  20 4F 46 20 41 52 52 41  |F ;START OF ARRA|
000002F0: 59 53 0D 3B 0D 3B 2D 2D  57 4F 52 4B 53 50 41 43  |YS.;.;--WORKSPAC|
00000300: 45 2D 2D 0D 3B 0D 2A 20  3D 24 34 42 0D 42 41 53  |E--.;.* =$4B.BAS|
00000310: 45 20 2A 3D 2A 2B 32 0D  50 41 49 52 20 2A 3D 2A  |E *=*+2.PAIR *=*|
00000320: 2B 32 0D 53 54 52 31 20  2A 3D 2A 2B 32 0D 53 54  |+2.STR1 *=*+2.ST|
00000330: 52 32 20 2A 3D 2A 2B 32  0D 3B 0D 3B 50 52 4F 47  |R2 *=*+2.;.;PROG|
00000340: 52 41 4D 20 41 4E 44 20  44 41 54 41 20 40 20 24  |RAM AND DATA @ $|
00000350: 43 30 30 30 0D 3B 0D 2A  20 3D 24 43 30 30 30 0D  |C000.;.* =$C000.|
00000360: 3B 0D 3B 2D 2D 56 41 52  49 41 42 4C 45 53 2D 2D  |;.;--VARIABLES--|
00000370: 0D 3B 0D 43 41 20 2A 3D  2A 2B 31 0D 43 42 20 2A  |.;.CA *=*+1.CB *|
00000380: 3D 2A 2B 31 0D 45 52 52  4F 52 20 2A 3D 2A 2B 31  |=*+1.ERROR *=*+1|
00000390: 0D 4E 4F 4F 46 45 20 2A  3D 2A 2B 32 0D 4E 4F 4F  |.NOOFE *=*+2.NOO|
000003A0: 46 43 20 2A 3D 2A 2B 32  0D 4C 45 4E 31 20 2A 3D  |FC *=*+2.LEN1 *=|
000003B0: 2A 2B 31 0D 4C 45 4E 32  20 2A 3D 2A 2B 31 0D 43  |*+1.LEN2 *=*+1.C|
000003C0: 4F 55 4E 54 20 2A 3D 2A  2B 32 0D 54 45 4D 50 20  |OUNT *=*+2.TEMP |
000003D0: 2A 3D 2A 2B 32 0D 46 4C  41 47 20 2A 3D 2A 2B 31  |*=*+2.FLAG *=*+1|
000003E0: 0D 2E 53 4B 49 50 0D 2E  53 4B 49 50 0D 2E 53 4B  |..SKIP..SKIP..SK|
000003F0: 49 50 0D 3B 2D 2D 2D 2D  4D 41 49 4E 20 50 52 4F  |IP.;----MAIN PRO|
00000400: 47 52 41 4D 2D 2D 2D 2D  0D 3B 2D 2D 2D 2D 20 42  |GRAM----.;---- B|
00000410: 41 2B 31 34 3D 34 39 31  36 36 20 2D 2D 2D 0D 2E  |A+14=49166 ---..|
00000420: 53 4B 49 50 0D 3B 0D 20  50 48 41 20 3B 53 41 56  |SKIP.;. PHA ;SAV|
00000430: 45 20 52 45 47 49 53 54  45 52 53 20 46 49 52 53  |E REGISTERS FIRS|
00000440: 54 0D 20 54 59 41 0D 20  50 48 41 0D 20 54 58 41  |T. TYA. PHA. TXA|
00000450: 0D 20 50 48 41 0D 3B 0D  3B 43 4C 45 41 52 20 54  |. PHA.;.;CLEAR T|
00000460: 4F 50 20 42 49 54 20 4F  46 20 43 41 0D 3B 0D 20  |OP BIT OF CA.;. |
00000470: 4C 44 41 20 43 41 0D 20  41 4E 44 20 23 24 37 46  |LDA CA. AND #$7F|
00000480: 0D 20 53 54 41 20 43 41  0D 3B 0D 3B 53 45 54 20  |. STA CA.;.;SET |
00000490: 54 4F 50 20 42 49 54 20  4F 46 20 43 42 0D 3B 0D  |TOP BIT OF CB.;.|
000004A0: 20 4C 44 41 20 43 42 0D  20 4F 52 41 20 23 24 38  | LDA CB. ORA #$8|
000004B0: 30 0D 20 53 54 41 20 43  42 0D 3B 0D 3B 43 4C 45  |0. STA CB.;.;CLE|
000004C0: 41 52 20 45 52 52 4F 52  20 46 4C 41 47 0D 3B 0D  |AR ERROR FLAG.;.|
000004D0: 20 4C 44 41 20 23 24 30  30 0D 20 53 54 41 20 45  | LDA #$00. STA E|
000004E0: 52 52 4F 52 0D 3B 0D 3B  53 45 41 52 43 48 20 41  |RROR.;.;SEARCH A|
000004F0: 52 52 41 59 20 4E 41 4D  45 20 4C 49 53 54 0D 3B  |RRAY NAME LIST.;|
00000500: 4C 4F 41 44 20 42 41 53  45 20 57 49 54 48 20 53  |LOAD BASE WITH S|
00000510: 54 41 52 54 20 4F 46 20  41 52 52 41 59 53 0D 3B  |TART OF ARRAYS.;|
00000520: 0D 20 4C 44 41 20 41 53  54 41 52 54 0D 20 53 54  |. LDA ASTART. ST|
00000530: 41 20 42 41 53 45 0D 20  4C 44 41 20 41 53 54 41  |A BASE. LDA ASTA|
00000540: 52 54 2B 31 0D 20 53 54  41 20 42 41 53 45 2B 31  |RT+1. STA BASE+1|
00000550: 0D 3B 0D 3B 4C 4F 43 41  54 45 20 41 52 52 41 59  |.;.;LOCATE ARRAY|
00000560: 20 49 4E 20 43 41 20 41  4E 44 20 43 42 0D 3B 0D  | IN CA AND CB.;.|
00000570: 4C 4F 43 41 54 45 20 4C  44 59 20 23 24 30 30 0D  |LOCATE LDY #$00.|
00000580: 20 4C 44 41 20 28 42 41  53 45 29 2C 59 0D 20 43  | LDA (BASE),Y. C|
00000590: 4D 50 20 23 24 32 34 20  3B 45 4E 44 20 4F 46 20  |MP #$24 ;END OF |
000005A0: 41 52 52 41 59 3F 0D 20  42 4E 45 20 4D 4F 52 45  |ARRAY?. BNE MORE|
000005B0: 41 20 3B 4E 4F 0D 3B 0D  3B 45 52 52 4F 52 20 31  |A ;NO.;.;ERROR 1|
000005C0: 20 2D 20 41 52 52 41 59  20 4E 4F 54 20 46 4F 55  | - ARRAY NOT FOU|
000005D0: 4E 44 0D 3B 0D 20 4C 44  41 20 23 24 30 31 0D 20  |ND.;. LDA #$01. |
000005E0: 53 54 41 20 45 52 52 4F  52 0D 20 4A 4D 50 20 52  |STA ERROR. JMP R|
000005F0: 54 4E 0D 3B 0D 3B 43 48  45 43 4B 20 54 48 49 53  |TN.;.;CHECK THIS|
00000600: 20 41 52 52 41 59 20 4E  41 4D 45 0D 3B 41 47 41  | ARRAY NAME.;AGA|
00000610: 49 4E 53 54 20 43 41 20  41 4E 44 20 43 42 0D 3B  |INST CA AND CB.;|
00000620: 0D 4D 4F 52 45 41 20 43  4D 50 20 43 41 20 3B 31  |.MOREA CMP CA ;1|
00000630: 53 54 20 43 48 41 52 0D  20 42 4E 45 20 4E 45 58  |ST CHAR. BNE NEX|
00000640: 54 41 0D 20 49 4E 59 20  3B 4E 45 58 54 20 43 48  |TA. INY ;NEXT CH|
00000650: 41 52 0D 20 4C 44 41 20  28 42 41 53 45 29 2C 59  |AR. LDA (BASE),Y|
00000660: 0D 20 43 4D 50 20 43 42  0D 20 42 45 51 20 41 46  |. CMP CB. BEQ AF|
00000670: 4F 55 4E 44 0D 3B 0D 3B  43 48 45 43 4B 20 4E 45  |OUND.;.;CHECK NE|
00000680: 58 54 20 41 52 52 41 59  20 49 4E 20 54 41 42 4C  |XT ARRAY IN TABL|
00000690: 45 0D 3B 53 54 4F 52 45  20 52 45 4C 41 54 49 56  |E.;STORE RELATIV|
000006A0: 45 20 4F 46 46 53 45 54  20 49 4E 20 54 45 4D 50  |E OFFSET IN TEMP|
000006B0: 0D 3B 0D 4E 45 58 54 41  20 4C 44 59 20 23 24 30  |.;.NEXTA LDY #$0|
000006C0: 32 0D 20 4C 44 41 20 28  42 41 53 45 29 2C 59 0D  |2. LDA (BASE),Y.|
000006D0: 20 53 54 41 20 54 45 4D  50 0D 20 49 4E 59 0D 20  | STA TEMP. INY. |
000006E0: 4C 44 41 20 28 42 41 53  45 29 2C 59 0D 20 53 54  |LDA (BASE),Y. ST|
000006F0: 41 20 54 45 4D 50 2B 31  0D 3B 0D 3B 41 44 44 20  |A TEMP+1.;.;ADD |
00000700: 52 45 4C 41 54 49 56 45  20 4F 46 46 53 45 54 20  |RELATIVE OFFSET |
00000710: 54 4F 20 42 41 53 45 0D  3B 0D 20 43 4C 43 0D 20  |TO BASE.;. CLC. |
00000720: 4C 44 41 20 42 41 53 45  0D 20 41 44 43 20 54 45  |LDA BASE. ADC TE|
00000730: 4D 50 0D 20 53 54 41 20  42 41 53 45 0D 20 4C 44  |MP. STA BASE. LD|
00000740: 41 20 42 41 53 45 2B 31  0D 20 41 44 43 20 54 45  |A BASE+1. ADC TE|
00000750: 4D 50 2B 31 0D 20 53 54  41 20 42 41 53 45 2B 31  |MP+1. STA BASE+1|
00000760: 0D 3B 0D 3B 4E 45 58 54  20 41 52 52 41 59 0D 3B  |.;.;NEXT ARRAY.;|
00000770: 0D 20 42 43 43 20 4C 4F  43 41 54 45 0D 3B 0D 3B  |. BCC LOCATE.;.;|
00000780: 4E 41 4D 45 44 20 41 52  52 41 59 20 46 4F 55 4E  |NAMED ARRAY FOUN|
00000790: 44 0D 3B 43 48 45 43 4B  20 49 46 20 4F 4E 4C 59  |D.;CHECK IF ONLY|
000007A0: 20 31 20 44 49 4D 45 4E  53 49 4F 4E 0D 3B 0D 41  | 1 DIMENSION.;.A|
000007B0: 46 4F 55 4E 44 20 4C 44  59 20 23 24 30 34 0D 20  |FOUND LDY #$04. |
000007C0: 4C 44 41 20 28 42 41 53  45 29 2C 59 0D 20 43 4D  |LDA (BASE),Y. CM|
000007D0: 50 20 23 24 30 31 0D 20  42 45 51 20 44 4F 53 4F  |P #$01. BEQ DOSO|
000007E0: 52 54 0D 3B 0D 3B 45 52  52 4F 52 20 32 20 2D 20  |RT.;.;ERROR 2 - |
000007F0: 49 4E 43 4F 52 52 45 43  54 20 44 49 4D 45 4E 53  |INCORRECT DIMENS|
00000800: 49 4F 4E 0D 3B 0D 20 4C  44 41 20 23 24 30 32 0D  |ION.;. LDA #$02.|
00000810: 20 53 54 41 20 45 52 52  4F 52 0D 20 4A 4D 50 20  | STA ERROR. JMP |
00000820: 52 54 4E 0D 3B 0D 3B 44  4F 20 42 55 42 42 4C 45  |RTN.;.;DO BUBBLE|
00000830: 20 53 4F 52 54 20 4F 4E  20 41 52 52 41 59 0D 3B  | SORT ON ARRAY.;|
00000840: 53 41 56 45 20 23 20 45  4C 45 4D 45 4E 54 53 20  |SAVE # ELEMENTS |
00000850: 49 4E 20 4E 4F 4F 46 45  0D 3B 0D 44 4F 53 4F 52  |IN NOOFE.;.DOSOR|
00000860: 54 20 4C 44 59 20 23 24  30 35 0D 20 4C 44 41 20  |T LDY #$05. LDA |
00000870: 28 42 41 53 45 29 2C 59  0D 20 53 54 41 20 4E 4F  |(BASE),Y. STA NO|
00000880: 4F 46 45 2B 31 0D 20 49  4E 59 0D 20 4C 44 41 20  |OFE+1. INY. LDA |
00000890: 28 42 41 53 45 29 2C 59  0D 20 53 54 41 20 4E 4F  |(BASE),Y. STA NO|
000008A0: 4F 46 45 0D 3B 0D 3B 43  48 45 43 4B 20 54 48 45  |OFE.;.;CHECK THE|
000008B0: 52 45 20 41 52 45 20 32  20 4F 52 20 4D 4F 52 45  |RE ARE 2 OR MORE|
000008C0: 0D 3B 45 4C 45 4D 45 4E  54 53 20 49 4E 20 4F 52  |.;ELEMENTS IN OR|
000008D0: 44 45 52 0D 3B 0D 20 4C  44 58 20 4E 4F 4F 46 45  |DER.;. LDX NOOFE|
000008E0: 2B 31 0D 20 42 4E 45 20  49 4E 49 54 0D 20 4C 44  |+1. BNE INIT. LD|
000008F0: 41 20 4E 4F 4F 46 45 0D  20 43 4D 50 20 23 24 30  |A NOOFE. CMP #$0|
00000900: 32 0D 20 42 43 53 20 49  4E 49 54 0D 3B 0D 3B 45  |2. BCS INIT.;.;E|
00000910: 52 52 4F 52 20 33 20 2D  20 54 4F 4F 20 46 45 57  |RROR 3 - TOO FEW|
00000920: 20 45 4C 45 4D 45 4E 54  53 0D 3B 0D 20 4C 44 41  | ELEMENTS.;. LDA|
00000930: 20 23 24 30 33 0D 20 53  54 41 20 45 52 52 4F 52  | #$03. STA ERROR|
00000940: 0D 20 4A 4D 50 20 52 54  4E 0D 3B 0D 3B 53 45 54  |. JMP RTN.;.;SET|
00000950: 20 55 50 20 53 4F 52 54  20 50 41 52 41 4D 45 54  | UP SORT PARAMET|
00000960: 45 52 53 0D 3B 0D 49 4E  49 54 20 4C 44 41 20 4E  |ERS.;.INIT LDA N|
00000970: 4F 4F 46 45 0D 20 53 54  41 20 4E 4F 4F 46 43 0D  |OOFE. STA NOOFC.|
00000980: 20 4C 44 41 20 4E 4F 4F  46 45 2B 31 0D 20 53 54  | LDA NOOFE+1. ST|
00000990: 41 20 4E 4F 4F 46 43 2B  31 0D 3B 0D 3B 4F 55 54  |A NOOFC+1.;.;OUT|
000009A0: 45 52 20 4C 4F 4F 50 20  53 4F 52 54 0D 3B 49 3D  |ER LOOP SORT.;I=|
000009B0: 31 20 54 4F 20 4E 4F 4F  46 45 2D 31 0D 3B 43 4C  |1 TO NOOFE-1.;CL|
000009C0: 45 41 52 20 54 4F 20 53  57 41 50 20 46 4C 41 47  |EAR TO SWAP FLAG|
000009D0: 53 0D 3B 0D 4F 4C 4F 4F  50 20 4C 44 41 20 23 24  |S.;.OLOOP LDA #$|
000009E0: 30 30 0D 20 53 54 41 20  46 4C 41 47 0D 3B 0D 3B  |00. STA FLAG.;.;|
000009F0: 43 4C 45 41 52 20 23 20  54 45 53 54 53 20 43 4F  |CLEAR # TESTS CO|
00000A00: 55 4E 54 45 52 0D 3B 0D  20 53 54 41 20 43 4F 55  |UNTER.;. STA COU|
00000A10: 4E 54 0D 20 53 54 41 20  43 4F 55 4E 54 2B 31 0D  |NT. STA COUNT+1.|
00000A20: 3B 0D 3B 53 55 42 54 52  41 43 54 20 31 20 46 52  |;.;SUBTRACT 1 FR|
00000A30: 4F 4D 20 4E 4F 4F 46 43  0D 3B 23 20 43 4F 4D 50  |OM NOOFC.;# COMP|
00000A40: 41 52 49 53 4F 4E 53 20  28 31 20 4C 45 53 53 20  |ARISONS (1 LESS |
00000A50: 45 41 43 48 20 54 49 4D  45 29 0D 3B 0D 20 53 45  |EACH TIME).;. SE|
00000A60: 43 0D 20 4C 44 41 20 4E  4F 4F 46 43 0D 20 53 42  |C. LDA NOOFC. SB|
00000A70: 43 20 23 24 30 31 0D 20  53 54 41 20 4E 4F 4F 46  |C #$01. STA NOOF|
00000A80: 43 0D 20 42 43 53 20 43  4F 4E 54 0D 20 4C 44 41  |C. BCS CONT. LDA|
00000A90: 20 4E 4F 4F 46 43 2B 31  0D 20 53 42 43 20 23 24  | NOOFC+1. SBC #$|
00000AA0: 30 30 0D 20 53 54 41 20  4E 4F 4F 46 43 2B 31 0D  |00. STA NOOFC+1.|
00000AB0: 3B 0D 3B 41 4C 4C 20 44  4F 4E 45 20 57 48 45 4E  |;.;ALL DONE WHEN|
00000AC0: 20 4E 4F 4F 46 43 3D 30  0D 3B 0D 43 4F 4E 54 20  | NOOFC=0.;.CONT |
00000AD0: 4C 44 58 20 4E 4F 4F 46  43 2B 31 0D 20 42 4E 45  |LDX NOOFC+1. BNE|
00000AE0: 20 53 50 41 49 52 0D 20  4C 44 41 20 4E 4F 4F 46  | SPAIR. LDA NOOF|
00000AF0: 43 0D 20 43 4D 50 20 23  24 30 30 0D 20 42 4E 45  |C. CMP #$00. BNE|
00000B00: 20 53 50 41 49 52 0D 3B  0D 3B 53 4F 52 54 20 46  | SPAIR.;.;SORT F|
00000B10: 49 4E 49 53 48 45 44 0D  3B 0D 20 4A 4D 50 20 52  |INISHED.;. JMP R|
00000B20: 54 4E 0D 3B 0D 3B 53 54  41 52 54 20 4F 46 20 53  |TN.;.;START OF S|
00000B30: 54 52 49 4E 47 20 50 54  52 53 0D 3B 50 41 49 52  |TRING PTRS.;PAIR|
00000B40: 3D 42 41 53 45 2B 37 0D  3B 0D 53 50 41 49 52 20  |=BASE+7.;.SPAIR |
00000B50: 43 4C 43 0D 20 4C 44 41  20 42 41 53 45 0D 20 41  |CLC. LDA BASE. A|
00000B60: 44 43 20 23 24 30 37 0D  20 53 54 41 20 50 41 49  |DC #$07. STA PAI|
00000B70: 52 0D 20 4C 44 41 20 42  41 53 45 2B 31 0D 20 41  |R. LDA BASE+1. A|
00000B80: 44 43 20 23 24 30 30 0D  20 53 54 41 20 50 41 49  |DC #$00. STA PAI|
00000B90: 52 2B 31 0D 3B 0D 3B 49  4E 4E 45 52 20 4C 4F 4F  |R+1.;.;INNER LOO|
00000BA0: 50 20 2D 20 53 55 43 43  45 53 53 49 56 45 20 43  |P - SUCCESSIVE C|
00000BB0: 4F 4D 50 41 52 45 53 0D  3B 0D 49 4C 4F 4F 50 20  |OMPARES.;.ILOOP |
00000BC0: 4C 44 59 20 23 24 30 30  0D 20 4C 44 41 20 28 50  |LDY #$00. LDA (P|
00000BD0: 41 49 52 29 2C 59 0D 20  53 54 41 20 4C 45 4E 31  |AIR),Y. STA LEN1|
00000BE0: 0D 20 49 4E 59 0D 20 4C  44 41 20 28 50 41 49 52  |. INY. LDA (PAIR|
00000BF0: 29 2C 59 0D 20 53 54 41  20 53 54 52 31 0D 20 49  |),Y. STA STR1. I|
00000C00: 4E 59 0D 20 4C 44 41 20  28 50 41 49 52 29 2C 59  |NY. LDA (PAIR),Y|
00000C10: 0D 20 53 54 41 20 53 54  52 31 2B 31 0D 20 49 4E  |. STA STR1+1. IN|
00000C20: 59 0D 20 4C 44 41 20 28  50 41 49 52 29 2C 59 0D  |Y. LDA (PAIR),Y.|
00000C30: 20 53 54 41 20 4C 45 4E  32 0D 20 49 4E 59 0D 20  | STA LEN2. INY. |
00000C40: 4C 44 41 20 28 50 41 49  52 29 2C 59 0D 20 53 54  |LDA (PAIR),Y. ST|
00000C50: 41 20 53 54 52 32 0D 20  49 4E 59 0D 20 4C 44 41  |A STR2. INY. LDA|
00000C60: 20 28 50 41 49 52 29 2C  59 0D 20 53 54 41 20 53  | (PAIR),Y. STA S|
00000C70: 54 52 32 2B 31 0D 3B 0D  3B 43 4F 4D 50 41 52 45  |TR2+1.;.;COMPARE|
00000C80: 20 41 44 4A 41 43 45 4E  54 20 53 54 52 49 4E 47  | ADJACENT STRING|
00000C90: 53 0D 3B 50 4F 49 4E 54  45 44 20 41 54 20 42 59  |S.;POINTED AT BY|
00000CA0: 20 53 54 52 31 20 41 4E  44 20 53 54 52 32 0D 3B  | STR1 AND STR2.;|
00000CB0: 49 46 20 4C 45 4E 28 53  54 52 32 29 3D 30 54 48  |IF LEN(STR2)=0TH|
00000CC0: 45 4E 20 4E 4F 20 53 57  41 50 0D 3B 0D 20 4C 44  |EN NO SWAP.;. LD|
00000CD0: 58 20 4C 45 4E 32 0D 20  42 45 51 20 4E 4F 53 57  |X LEN2. BEQ NOSW|
00000CE0: 41 50 0D 3B 0D 3B 4F 54  48 45 52 57 49 53 45 20  |AP.;.;OTHERWISE |
00000CF0: 49 46 20 4C 45 4E 28 53  54 52 31 29 3D 30 0D 3B  |IF LEN(STR1)=0.;|
00000D00: 54 48 45 4E 20 53 57 41  50 0D 3B 0D 20 4C 44 58  |THEN SWAP.;. LDX|
00000D10: 20 4C 45 4E 31 0D 20 42  45 51 20 53 57 41 50 0D  | LEN1. BEQ SWAP.|
00000D20: 3B 0D 3B 43 48 45 43 4B  20 45 41 43 48 20 43 48  |;.;CHECK EACH CH|
00000D30: 41 52 20 49 4E 20 54 55  52 4E 0D 3B 46 49 52 53  |AR IN TURN.;FIRS|
00000D40: 54 20 4E 4F 4E 2D 45 51  55 41 4C 20 50 41 49 52  |T NON-EQUAL PAIR|
00000D50: 0D 3B 44 45 46 49 4E 45  53 20 4C 45 58 49 43 41  |.;DEFINES LEXICA|
00000D60: 4C 20 4F 52 44 45 52 0D  3B 0D 20 4C 44 59 20 23  |L ORDER.;. LDY #|
00000D70: 24 30 30 0D 43 4F 4D 20  4C 44 41 20 28 53 54 52  |$00.COM LDA (STR|
00000D80: 31 29 2C 59 0D 20 43 4D  50 20 28 53 54 52 32 29  |1),Y. CMP (STR2)|
00000D90: 2C 59 0D 20 42 45 51 20  4E 45 58 54 43 48 20 3B  |,Y. BEQ NEXTCH ;|
00000DA0: 45 51 55 41 4C 20 2D 20  47 45 54 20 4E 45 58 54  |EQUAL - GET NEXT|
00000DB0: 20 43 48 41 52 0D 20 42  43 43 20 4E 4F 53 57 41  | CHAR. BCC NOSWA|
00000DC0: 50 20 3B 53 54 52 31 3C  53 54 52 32 0D 20 4A 4D  |P ;STR1<STR2. JM|
00000DD0: 50 20 53 57 41 50 20 3B  53 54 52 31 3E 53 54 52  |P SWAP ;STR1>STR|
00000DE0: 32 0D 4E 45 58 54 43 48  20 49 4E 59 20 3B 4E 45  |2.NEXTCH INY ;NE|
00000DF0: 58 54 20 32 20 43 48 41  52 53 0D 20 42 45 51 20  |XT 2 CHARS. BEQ |
00000E00: 4E 4F 53 57 41 50 20 3B  32 35 35 20 43 48 41 52  |NOSWAP ;255 CHAR|
00000E10: 53 20 45 51 55 41 4C 0D  20 43 50 59 20 4C 45 4E  |S EQUAL. CPY LEN|
00000E20: 31 20 3B 45 4E 44 20 4F  46 20 53 54 52 49 4E 47  |1 ;END OF STRING|
00000E30: 3F 0D 20 42 43 43 20 43  4B 4C 32 20 3B 4E 4F 0D  |?. BCC CKL2 ;NO.|
00000E40: 20 42 45 51 20 4C 45 4E  45 51 0D 20 42 43 53 20  | BEQ LENEQ. BCS |
00000E50: 4C 45 4E 45 51 0D 43 4B  4C 32 20 43 50 59 20 4C  |LENEQ.CKL2 CPY L|
00000E60: 45 4E 32 0D 20 42 43 43  20 43 4F 4D 0D 20 42 45  |EN2. BCC COM. BE|
00000E70: 51 20 4C 45 4E 45 51 0D  3B 0D 3B 43 48 41 52 53  |Q LENEQ.;.;CHARS|
00000E80: 20 45 51 55 41 4C 20 54  4F 20 4C 45 4E 31 20 4F  | EQUAL TO LEN1 O|
00000E90: 52 20 4C 45 4E 32 0D 3B  4C 4F 4E 47 45 52 20 53  |R LEN2.;LONGER S|
00000EA0: 54 52 49 4E 47 20 49 53  20 4C 45 58 49 43 41 4C  |TRING IS LEXICAL|
00000EB0: 20 47 52 45 41 54 45 52  0D 3B 0D 4C 45 4E 45 51  | GREATER.;.LENEQ|
00000EC0: 20 4C 44 41 20 4C 45 4E  31 0D 20 43 4D 50 20 4C  | LDA LEN1. CMP L|
00000ED0: 45 4E 32 0D 20 42 45 51  20 4E 4F 53 57 41 50 20  |EN2. BEQ NOSWAP |
00000EE0: 3B 45 58 41 43 54 4C 59  20 45 51 55 41 4C 0D 20  |;EXACTLY EQUAL. |
00000EF0: 42 43 43 20 4E 4F 53 57  41 50 20 3B 53 54 52 31  |BCC NOSWAP ;STR1|
00000F00: 20 53 48 4F 52 54 45 52  0D 20 4A 4D 50 20 53 57  | SHORTER. JMP SW|
00000F10: 41 50 0D 3B 0D 3B 52 45  56 45 52 53 45 20 4F 52  |AP.;.;REVERSE OR|
00000F20: 44 45 52 20 4F 46 20 53  54 52 49 4E 47 53 20 42  |DER OF STRINGS B|
00000F30: 59 0D 3B 53 57 41 50 50  49 4E 47 20 50 4F 49 4E  |Y.;SWAPPING POIN|
00000F40: 54 45 52 53 20 41 52 4F  55 4E 44 0D 3B 0D 53 57  |TERS AROUND.;.SW|
00000F50: 41 50 20 4C 44 59 20 23  24 30 30 0D 20 4C 44 41  |AP LDY #$00. LDA|
00000F60: 20 4C 45 4E 32 0D 20 53  54 41 20 28 50 41 49 52  | LEN2. STA (PAIR|
00000F70: 29 2C 59 0D 20 49 4E 59  0D 20 4C 44 41 20 53 54  |),Y. INY. LDA ST|
00000F80: 52 32 0D 20 53 54 41 20  28 50 41 49 52 29 2C 59  |R2. STA (PAIR),Y|
00000F90: 0D 20 49 4E 59 0D 20 4C  44 41 20 53 54 52 32 2B  |. INY. LDA STR2+|
00000FA0: 31 0D 20 53 54 41 20 28  50 41 49 52 29 2C 59 0D  |1. STA (PAIR),Y.|
00000FB0: 20 49 4E 59 0D 20 4C 44  41 20 4C 45 4E 31 0D 20  | INY. LDA LEN1. |
00000FC0: 53 54 41 20 28 50 41 49  52 29 2C 59 0D 20 49 4E  |STA (PAIR),Y. IN|
00000FD0: 59 0D 20 4C 44 41 20 53  54 52 31 0D 20 53 54 41  |Y. LDA STR1. STA|
00000FE0: 20 28 50 41 49 52 29 2C  59 0D 20 49 4E 59 0D 20  | (PAIR),Y. INY. |
00000FF0: 4C 44 41 20 53 54 52 31  2B 31 0D 20 53 54 41 20  |LDA STR1+1. STA |
00001000: 28 50 41 49 52 29 2C 59  0D 3B 0D 3B 53 45 54 20  |(PAIR),Y.;.;SET |
00001010: 53 57 41 50 20 46 4C 41  47 0D 3B 0D 20 4C 44 41  |SWAP FLAG.;. LDA|
00001020: 20 23 24 30 30 31 0D 20  53 54 41 20 46 4C 41 47  | #$001. STA FLAG|
00001030: 0D 3B 0D 3B 41 44 44 20  31 20 54 4F 20 43 4F 55  |.;.;ADD 1 TO COU|
00001040: 4E 54 0D 3B 0D 4E 4F 53  57 41 50 20 49 4E 43 20  |NT.;.NOSWAP INC |
00001050: 43 4F 55 4E 54 0D 20 42  4E 45 20 4F 31 0D 20 49  |COUNT. BNE O1. I|
00001060: 4E 43 20 43 4F 55 4E 54  2B 31 0D 3B 0D 3B 43 48  |NC COUNT+1.;.;CH|
00001070: 45 43 4B 20 49 46 20 43  4F 55 4E 54 3D 4E 4F 4F  |ECK IF COUNT=NOO|
00001080: 46 43 0D 3B 0D 4F 31 20  4C 44 41 20 43 4F 55 4E  |FC.;.O1 LDA COUN|
00001090: 54 0D 20 43 4D 50 20 4E  4F 4F 46 43 0D 20 42 4E  |T. CMP NOOFC. BN|
000010A0: 45 20 50 4C 55 53 33 0D  20 4C 44 41 20 43 4F 55  |E PLUS3. LDA COU|
000010B0: 4E 54 2B 31 0D 20 43 4D  50 20 4E 4F 4F 46 43 2B  |NT+1. CMP NOOFC+|
000010C0: 31 0D 20 42 4E 45 20 50  4C 55 53 33 0D 3B 0D 3B  |1. BNE PLUS3.;.;|
000010D0: 49 4E 4E 45 52 20 4C 4F  4F 50 20 46 49 4E 49 53  |INNER LOOP FINIS|
000010E0: 48 45 44 0D 3B 49 46 20  4E 4F 20 53 57 41 50 53  |HED.;IF NO SWAPS|
000010F0: 2C 20 41 4C 4C 20 44 4F  4E 45 21 0D 3B 0D 20 4C  |, ALL DONE!.;. L|
00001100: 44 58 20 46 4C 41 47 0D  20 42 45 51 20 52 54 4E  |DX FLAG. BEQ RTN|
00001110: 0D 20 4A 4D 50 20 4F 4C  4F 4F 50 0D 52 54 4E 20  |. JMP OLOOP.RTN |
00001120: 50 4C 41 20 3B 52 45 53  54 4F 52 45 20 52 45 47  |PLA ;RESTORE REG|
00001130: 49 53 54 45 52 53 0D 20  54 41 58 0D 20 50 4C 41  |ISTERS. TAX. PLA|
00001140: 0D 20 54 41 59 0D 20 50  4C 41 0D 20 52 54 53 0D  |. TAY. PLA. RTS.|
00001150: 3B 0D 3B 41 44 44 20 33  20 54 4F 20 50 41 49 52  |;.;ADD 3 TO PAIR|
00001160: 20 46 4F 52 20 4E 45 58  54 20 54 57 4F 0D 3B 53  | FOR NEXT TWO.;S|
00001170: 54 52 49 4E 47 53 20 49  4E 20 49 4E 4E 45 52 20  |TRINGS IN INNER |
00001180: 4C 4F 4F 50 0D 3B 0D 50  4C 55 53 33 20 43 4C 43  |LOOP.;.PLUS3 CLC|
00001190: 0D 20 4C 44 41 20 50 41  49 52 0D 20 41 44 43 20  |. LDA PAIR. ADC |
000011A0: 23 24 30 33 0D 20 53 54  41 20 50 41 49 52 0D 20  |#$03. STA PAIR. |
000011B0: 4C 44 41 20 50 41 49 52  2B 31 0D 20 41 44 43 20  |LDA PAIR+1. ADC |
000011C0: 23 24 30 30 0D 20 53 54  41 20 50 41 49 52 2B 31  |#$00. STA PAIR+1|
000011D0: 0D 20 4A 4D 50 20 49 4C  4F 4F 50 0D 3B 0D 3B 0D  |. JMP ILOOP.;.;.|
000011E0: 2E 45 4E 44 0D                                    |.END.           |
;PUT"@0:64SORT".;.;*********************
***.;*                      *.;* COMMODO
RE 64 MC SORT *.;*                      
*.;* ORIGINAL PROGRAM BY  *.;*   NICK HA
MPSHIRE     *.;*                      *.
;*  REWORKED FOR C64    *.;*    (BASIC 2
.0)       *.;*                      *.;*
     PAUL BLAIR       *.;*    CANBERRA A
CT      *.;*     AUSTRALIA        *.;*  
                    *.;*     10 SEP 83  
      *.;*                      *.;*****
*******************..SKIP..SKIP..SKIP.;T
HIS VERSION IS DESIGNED.;TO SIT AT $C000
 WHERE IT.;IS PROTECTED FROM BASIC.;.;NA
ME OF ARRAY TO SORT IS.;STORED IN 'CA' A
ND 'CB'.;.;BASE ADDRESS BA=49152.;.;POKE
 BA,ASC(CHAR1).;POKE BA+1,ASC(CHAR2).;.;
READ ERROR FROM BA+2.;.;--SYSTEM CONSTAN
T--.;.ASTART =$2F ;START OF ARRAYS.;.;--
WORKSPACE--.;.* =$4B.BASE *=*+2.PAIR *=*
+2.STR1 *=*+2.STR2 *=*+2.;.;PROGRAM AND 
DATA @ $C000.;.* =$C000.;.;--VARIABLES--
.;.CA *=*+1.CB *=*+1.ERROR *=*+1.NOOFE *
=*+2.NOOFC *=*+2.LEN1 *=*+1.LEN2 *=*+1.C
OUNT *=*+2.TEMP *=*+2.FLAG *=*+1..SKIP..
SKIP..SKIP.;----MAIN PROGRAM----.;---- B
A+14=49166 ---..SKIP.;. PHA ;SAVE REGIST
ERS FIRST. TYA. PHA. TXA. PHA.;.;CLEAR T
OP BIT OF CA.;. LDA CA. AND #$7F. STA CA
.;.;SET TOP BIT OF CB.;. LDA CB. ORA #$8
0. STA CB.;.;CLEAR ERROR FLAG.;. LDA #$0
0. STA ERROR.;.;SEARCH ARRAY NAME LIST.;
LOAD BASE WITH START OF ARRAYS.;. LDA AS
TART. STA BASE. LDA ASTART+1. STA BASE+1
.;.;LOCATE ARRAY IN CA AND CB.;.LOCATE L
DY #$00. LDA (BASE),Y. CMP #$24 ;END OF 
ARRAY?. BNE MOREA ;NO.;.;ERROR 1 - ARRAY
 NOT FOUND.;. LDA #$01. STA ERROR. JMP R
TN.;.;CHECK THIS ARRAY NAME.;AGAINST CA 
AND CB.;.MOREA CMP CA ;1ST CHAR. BNE NEX
TA. INY ;NEXT CHAR. LDA (BASE),Y. CMP CB
. BEQ AFOUND.;.;CHECK NEXT ARRAY IN TABL
E.;STORE RELATIVE OFFSET IN TEMP.;.NEXTA
 LDY #$02. LDA (BASE),Y. STA TEMP. INY. 
LDA (BASE),Y. STA TEMP+1.;.;ADD RELATIVE
 OFFSET TO BASE.;. CLC. LDA BASE. ADC TE
MP. STA BASE. LDA BASE+1. ADC TEMP+1. ST
A BASE+1.;.;NEXT ARRAY.;. BCC LOCATE.;.;
NAMED ARRAY FOUND.;CHECK IF ONLY 1 DIMEN
SION.;.AFOUND LDY #$04. LDA (BASE),Y. CM
P #$01. BEQ DOSORT.;.;ERROR 2 - INCORREC
T DIMENSION.;. LDA #$02. STA ERROR. JMP 
RTN.;.;DO BUBBLE SORT ON ARRAY.;SAVE # E
LEMENTS IN NOOFE.;.DOSORT LDY #$05. LDA 
(BASE),Y. STA NOOFE+1. INY. LDA (BASE),Y
. STA NOOFE.;.;CHECK THERE ARE 2 OR MORE
.;ELEMENTS IN ORDER.;. LDX NOOFE+1. BNE 
INIT. LDA NOOFE. CMP #$02. BCS INIT.;.;E
RROR 3 - TOO FEW ELEMENTS.;. LDA #$03. S
TA ERROR. JMP RTN.;.;SET UP SORT PARAMET
ERS.;.INIT LDA NOOFE. STA NOOFC. LDA NOO
FE+1. STA NOOFC+1.;.;OUTER LOOP SORT.;I=
1 TO NOOFE-1.;CLEAR TO SWAP FLAGS.;.OLOO
P LDA #$00. STA FLAG.;.;CLEAR # TESTS CO
UNTER.;. STA COUNT. STA COUNT+1.;.;SUBTR
ACT 1 FROM NOOFC.;# COMPARISONS (1 LESS 
EACH TIME).;. SEC. LDA NOOFC. SBC #$01. 
STA NOOFC. BCS CONT. LDA NOOFC+1. SBC #$
00. STA NOOFC+1.;.;ALL DONE WHEN NOOFC=0
.;.CONT LDX NOOFC+1. BNE SPAIR. LDA NOOF
C. CMP #$00. BNE SPAIR.;.;SORT FINISHED.
;. JMP RTN.;.;START OF STRING PTRS.;PAIR
=BASE+7.;.SPAIR CLC. LDA BASE. ADC #$07.
 STA PAIR. LDA BASE+1. ADC #$00. STA PAI
R+1.;.;INNER LOOP - SUCCESSIVE COMPARES.
;.ILOOP LDY #$00. LDA (PAIR),Y. STA LEN1
. INY. LDA (PAIR),Y. STA STR1. INY. LDA 
(PAIR),Y. STA STR1+1. INY. LDA (PAIR),Y.
 STA LEN2. INY. LDA (PAIR),Y. STA STR2. 
INY. LDA (PAIR),Y. STA STR2+1.;.;COMPARE
 ADJACENT STRINGS.;POINTED AT BY STR1 AN
D STR2.;IF LEN(STR2)=0THEN NO SWAP.;. LD
X LEN2. BEQ NOSWAP.;.;OTHERWISE IF LEN(S
TR1)=0.;THEN SWAP.;. LDX LEN1. BEQ SWAP.
;.;CHECK EACH CHAR IN TURN.;FIRST NON-EQ
UAL PAIR.;DEFINES LEXICAL ORDER.;. LDY #
$00.COM LDA (STR1),Y. CMP (STR2),Y. BEQ 
NEXTCH ;EQUAL - GET NEXT CHAR. BCC NOSWA
P ;STR1<STR2. JMP SWAP ;STR1>STR2.NEXTCH
 INY ;NEXT 2 CHARS. BEQ NOSWAP ;255 CHAR
S EQUAL. CPY LEN1 ;END OF STRING?. BCC C
KL2 ;NO. BEQ LENEQ. BCS LENEQ.CKL2 CPY L
EN2. BCC COM. BEQ LENEQ.;.;CHARS EQUAL T
O LEN1 OR LEN2.;LONGER STRING IS LEXICAL
 GREATER.;.LENEQ LDA LEN1. CMP LEN2. BEQ
 NOSWAP ;EXACTLY EQUAL. BCC NOSWAP ;STR1
 SHORTER. JMP SWAP.;.;REVERSE ORDER OF S
TRINGS BY.;SWAPPING POINTERS AROUND.;.SW
AP LDY #$00. LDA LEN2. STA (PAIR),Y. INY
. LDA STR2. STA (PAIR),Y. INY. LDA STR2+
1. STA (PAIR),Y. INY. LDA LEN1. STA (PAI
R),Y. INY. LDA STR1. STA (PAIR),Y. INY. 
LDA STR1+1. STA (PAIR),Y.;.;SET SWAP FLA
G.;. LDA #$001. STA FLAG.;.;ADD 1 TO COU
NT.;.NOSWAP INC COUNT. BNE O1. INC COUNT
+1.;.;CHECK IF COUNT=NOOFC.;.O1 LDA COUN
T. CMP NOOFC. BNE PLUS3. LDA COUNT+1. CM
P NOOFC+1. BNE PLUS3.;.;INNER LOOP FINIS
HED.;IF NO SWAPS, ALL DONE!.;. LDX FLAG.
 BEQ RTN. JMP OLOOP.RTN PLA ;RESTORE REG
ISTERS. TAX. PLA. TAY. PLA. RTS.;.;ADD 3
 TO PAIR FOR NEXT TWO.;STRINGS IN INNER 
LOOP.;.PLUS3 CLC. LDA PAIR. ADC #$03. ST
A PAIR. LDA PAIR+1. ADC #$00. STA PAIR+1
. JMP ILOOP.;.;..END.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL