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

SIDCODE.ASM

FILE INFORMATION

FILENAME(S): SIDCODE.ASM

FILE TYPE(S): DEL

FILE SIZE: 13.5K

FIRST SEEN: 2025-10-19 22:49:33

APPEARS ON: 2 disk(s)

FILE HASH

69bc9f0e4805a5d0ab22fab024b419755febec3c8b70f214d2a46e949ff80b14

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
MIGDTL SIDCODE.ASM DEL Radd Maxx 7 9 DOWNLOAD FILE
MIGDTL SIDCODE.ASM DEL DuncanTwain 7 9 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 20 20 4D 41 49 4E 4C  49 4E 45 0D 3B 20 20 30  |;  MAINLINE.;  0|
00000010: 37 2F 32 34 2F 38 34 20  41 47 49 0D 3B 20 20 42  |7/24/84 AGI.;  B|
00000020: 49 47 20 56 54 41 42 4C  45 20 21 21 21 0D 3B 0D  |IG VTABLE !!!.;.|
00000030: 3B 20 20 41 44 44 45 44  20 4E 45 57 20 4A 55 4D  |;  ADDED NEW JUM|
00000040: 50 20 41 4E 44 20 4A 53  52 20 4C 4F 47 49 43 20  |P AND JSR LOGIC |
00000050: 21 0D 3B 0D 3B 20 20 44  45 46 49 4E 45 20 4C 41  |!.;.;  DEFINE LA|
00000060: 42 45 4C 53 0D 53 54 4B  20 3D 20 42 41 53 45 2B  |BELS.STK = BASE+|
00000070: 24 38 30 20 3B 20 45 58  50 52 45 53 53 49 4F 4E  |$80 ; EXPRESSION|
00000080: 20 53 54 41 43 4B 0D 53  54 4C 20 3D 20 53 54 4B  | STACK.STL = STK|
00000090: 20 3B 20 43 55 52 52 45  4E 54 20 56 41 4C 55 45  | ; CURRENT VALUE|
000000A0: 20 28 4C 4F 57 29 0D 53  54 48 20 3D 20 53 54 4B  | (LOW).STH = STK|
000000B0: 2B 31 20 3B 20 43 55 52  52 45 4E 54 20 56 41 4C  |+1 ; CURRENT VAL|
000000C0: 55 45 20 28 48 49 47 48  29 0D 53 54 58 31 20 3D  |UE (HIGH).STX1 =|
000000D0: 20 53 54 4B 2B 32 20 3B  20 45 58 54 45 4E 44 45  | STK+2 ; EXTENDE|
000000E0: 44 20 53 54 41 43 4B 0D  53 54 58 32 20 3D 20 53  |D STACK.STX2 = S|
000000F0: 54 4B 2B 33 0D 53 54 58  33 20 3D 20 53 54 4B 2B  |TK+3.STX3 = STK+|
00000100: 34 0D 53 54 58 34 20 3D  20 53 54 4B 2B 35 0D 54  |4.STX4 = STK+5.T|
00000110: 4D 50 31 20 3D 20 53 54  4B 2D 33 20 3B 20 32 34  |MP1 = STK-3 ; 24|
00000120: 20 42 49 54 20 57 4F 52  4B 20 41 52 45 0D 54 4D  | BIT WORK ARE.TM|
00000130: 50 32 20 3D 20 53 54 4B  2D 32 0D 54 4D 50 33 20  |P2 = STK-2.TMP3 |
00000140: 3D 20 53 54 4B 2D 31 0D  4F 50 4C 20 3D 20 53 54  |= STK-1.OPL = ST|
00000150: 4B 2D 32 20 3B 20 4F 50  45 52 41 54 4F 52 20 28  |K-2 ; OPERATOR (|
00000160: 4C 4F 57 29 0D 4F 50 48  20 3D 20 4F 50 4C 2B 31  |LOW).OPH = OPL+1|
00000170: 20 3B 20 4F 50 45 52 41  54 4F 52 20 28 48 49 47  | ; OPERATOR (HIG|
00000180: 48 29 0D 56 41 52 20 3D  20 42 41 53 45 2B 24 31  |H).VAR = BASE+$1|
00000190: 30 30 20 3B 20 56 41 52  49 41 42 4C 45 20 54 41  |00 ; VARIABLE TA|
000001A0: 42 4C 45 0D 56 41 52 4C  20 3D 20 56 41 52 0D 56  |BLE.VARL = VAR.V|
000001B0: 41 52 48 20 3D 20 56 41  52 2B 31 0D 4A 4D 50 48  |ARH = VAR+1.JMPH|
000001C0: 49 20 3D 20 42 41 53 45  2B 24 32 30 30 0D 4A 4D  |I = BASE+$200.JM|
000001D0: 50 4C 4F 20 3D 20 42 41  53 45 2B 24 32 32 30 0D  |PLO = BASE+$220.|
000001E0: 4F 50 54 42 4C 20 3D 20  42 41 53 45 2B 24 32 34  |OPTBL = BASE+$24|
000001F0: 30 0D 50 43 4E 54 20 3D  20 24 39 45 20 3B 20 50  |0.PCNT = $9E ; P|
00000200: 47 4D 20 43 4F 55 4E 54  45 52 20 28 55 53 45 53  |GM COUNTER (USES|
00000210: 20 54 41 50 45 20 45 52  52 4F 52 20 52 45 47 53  | TAPE ERROR REGS|
00000220: 29 0D 4F 50 45 52 20 3D  20 42 41 53 45 2B 24 46  |).OPER = BASE+$F|
00000230: 30 20 3B 20 43 55 52 52  45 4E 54 20 4F 50 45 52  |0 ; CURRENT OPER|
00000240: 41 54 4F 52 0D 41 52 47  20 3D 20 4F 50 45 52 2B  |ATOR.ARG = OPER+|
00000250: 31 20 3B 20 41 52 47 55  4D 45 4E 54 0D 58 53 41  |1 ; ARGUMENT.XSA|
00000260: 56 45 20 3D 20 4F 50 45  52 2B 32 0D 59 53 41 56  |VE = OPER+2.YSAV|
00000270: 45 20 3D 20 4F 50 45 52  2B 33 0D 46 4F 52 50 20  |E = OPER+3.FORP |
00000280: 3D 20 4F 50 45 52 2B 34  0D 46 53 41 56 45 20 3D  |= OPER+4.FSAVE =|
00000290: 20 4F 50 45 52 2B 35 0D  47 4F 50 20 3D 20 4F 50  | OPER+5.GOP = OP|
000002A0: 45 52 2B 36 0D 46 4C 41  47 20 3D 20 4F 50 45 52  |ER+6.FLAG = OPER|
000002B0: 2B 37 0D 56 50 4C 55 53  20 3D 20 4F 50 45 52 2B  |+7.VPLUS = OPER+|
000002C0: 38 20 3B 20 56 41 52 49  41 42 4C 45 20 4F 46 46  |8 ; VARIABLE OFF|
000002D0: 53 45 54 0D 56 4C 49 4D  20 3D 20 4F 50 45 52 2B  |SET.VLIM = OPER+|
000002E0: 39 20 3B 20 4F 46 46 53  45 54 20 4C 49 4D 49 54  |9 ; OFFSET LIMIT|
000002F0: 0D 50 43 53 56 45 20 3D  20 4F 50 45 52 2B 31 30  |.PCSVE = OPER+10|
00000300: 0D 4C 49 42 20 3D 20 4F  50 45 52 2B 31 34 0D 4C  |.LIB = OPER+14.L|
00000310: 45 56 45 4C 20 3D 20 4F  50 45 52 2B 31 34 0D 46  |EVEL = OPER+14.F|
00000320: 4C 4D 4C 20 3D 20 42 41  53 45 20 3B 20 46 4F 52  |LML = BASE ; FOR|
00000330: 20 53 54 41 43 4B 0D 46  4C 4D 48 20 3D 20 46 4C  | STACK.FLMH = FL|
00000340: 4D 4C 2B 31 20 3B 4C 49  4D 49 54 0D 46 50 43 4C  |ML+1 ;LIMIT.FPCL|
00000350: 20 3D 20 46 4C 4D 4C 2B  32 0D 46 50 43 48 20 3D  | = FLML+2.FPCH =|
00000360: 20 46 4C 4D 4C 2B 33 20  3B 20 53 41 56 45 20 50  | FLML+3 ; SAVE P|
00000370: 43 0D 46 56 41 52 20 3D  20 46 4C 4D 4C 2B 34 20  |C.FVAR = FLML+4 |
00000380: 3B 20 56 41 52 20 23 0D  47 50 43 4C 20 3D 20 46  |; VAR #.GPCL = F|
00000390: 4C 4D 4C 20 3B 20 47 4F  53 55 42 20 53 41 56 45  |LML ; GOSUB SAVE|
000003A0: 20 50 43 0D 47 50 43 48  20 3D 20 46 4C 4D 4C 2B  | PC.GPCH = FLML+|
000003B0: 31 0D 46 52 30 20 3D 20  24 36 31 0D 3B 0D 52 41  |1.FR0 = $61.;.RA|
000003C0: 4E 44 4F 4D 20 3D 20 24  44 30 31 32 0D 53 50 30  |NDOM = $D012.SP0|
000003D0: 58 20 3D 20 24 38 36 35  30 20 3B 20 32 34 20 53  |X = $8650 ; 24 S|
000003E0: 50 52 49 54 45 20 45 58  54 45 4E 53 49 4F 4E 0D  |PRITE EXTENSION.|
000003F0: 53 50 30 59 20 3D 20 24  38 36 35 31 0D 4D 53 42  |SP0Y = $8651.MSB|
00000400: 52 45 47 20 3D 20 24 38  36 42 34 20 3B 20 34 20  |REG = $86B4 ; 4 |
00000410: 52 45 47 53 2D 38 2C 20  34 2C 20 38 2C 20 34 0D  |REGS-8, 4, 8, 4.|
00000420: 52 4F 57 43 52 53 20 3D  20 24 33 46 43 20 3B 20  |ROWCRS = $3FC ; |
00000430: 53 49 44 54 52 41 4E 20  4C 49 4E 45 20 50 4F 49  |SIDTRAN LINE POI|
00000440: 4E 54 45 52 0D 43 4F 4C  43 52 53 20 3D 20 24 33  |NTER.COLCRS = $3|
00000450: 46 44 20 3B 20 53 49 44  54 52 41 4E 20 43 4F 4C  |FD ; SIDTRAN COL|
00000460: 55 4D 4E 20 49 4E 20 4C  49 4E 45 0D 54 58 54 20  |UMN IN LINE.TXT |
00000470: 3D 20 36 34 38 20 3B 20  53 54 41 52 54 20 50 41  |= 648 ; START PA|
00000480: 47 45 20 4F 46 20 53 43  52 45 45 4E 20 49 4D 41  |GE OF SCREEN IMA|
00000490: 47 45 0D 42 55 46 52 20  3D 20 24 32 41 37 0D 4E  |GE.BUFR = $2A7.N|
000004A0: 4C 20 3D 20 24 32 46 45  0D 4E 48 20 3D 20 4E 4C  |L = $2FE.NH = NL|
000004B0: 2B 31 0D 20 2A 20 3D 20  4F 50 54 42 4C 0D 20 2E  |+1. * = OPTBL. .|
000004C0: 57 4F 52 44 20 44 4F 4E  45 2D 31 20 3B 20 24 30  |WORD DONE-1 ; $0|
000004D0: 30 0D 20 2E 57 4F 52 44  20 52 45 54 55 52 4E 2D  |0. .WORD RETURN-|
000004E0: 31 0D 20 2E 57 4F 52 44  20 4E 45 47 2D 31 0D 20  |1. .WORD NEG-1. |
000004F0: 2E 57 4F 52 44 20 44 4F  4E 45 2D 31 0D 20 2E 57  |.WORD DONE-1. .W|
00000500: 4F 52 44 20 53 54 52 49  47 2D 31 0D 20 2E 57 4F  |ORD STRIG-1. .WO|
00000510: 52 44 20 49 4E 43 52 2D  31 0D 20 2E 57 4F 52 44  |RD INCR-1. .WORD|
00000520: 20 44 45 43 52 2D 31 0D  20 2E 57 4F 52 44 20 42  | DECR-1. .WORD B|
00000530: 59 54 58 2D 31 0D 20 2E  57 4F 52 44 20 52 4E 44  |YTX-1. .WORD RND|
00000540: 2D 31 20 3B 20 24 30 38  0D 20 2E 57 4F 52 44 20  |-1 ; $08. .WORD |
00000550: 41 42 53 2D 31 0D 20 2E  57 4F 52 44 20 53 47 4E  |ABS-1. .WORD SGN|
00000560: 2D 31 0D 20 2E 57 4F 52  44 20 50 45 45 4B 2D 31  |-1. .WORD PEEK-1|
00000570: 0D 20 2E 57 4F 52 44 20  44 4F 4E 45 2D 31 0D 20  |. .WORD DONE-1. |
00000580: 2E 57 4F 52 44 20 44 50  45 45 4B 2D 31 0D 20 2E  |.WORD DPEEK-1. .|
00000590: 57 4F 52 44 20 53 57 41  50 2D 31 0D 20 2E 57 4F  |WORD SWAP-1. .WO|
000005A0: 52 44 20 57 52 44 2D 31  0D 20 2E 57 4F 52 44 20  |RD WRD-1. .WORD |
000005B0: 53 54 49 43 4B 2D 31 20  3B 20 24 31 30 0D 20 2E  |STICK-1 ; $10. .|
000005C0: 57 4F 52 44 20 44 55 50  2D 31 0D 20 2E 57 4F 52  |WORD DUP-1. .WOR|
000005D0: 44 20 44 4F 4E 45 2D 31  0D 20 2E 57 4F 52 44 20  |D DONE-1. .WORD |
000005E0: 44 4F 4E 45 2D 31 0D 20  2E 57 4F 52 44 20 44 4F  |DONE-1. .WORD DO|
000005F0: 4E 45 2D 31 0D 20 2E 57  4F 52 44 20 44 4F 4E 45  |NE-1. .WORD DONE|
00000600: 2D 31 0D 20 2E 57 4F 52  44 20 44 4F 4E 45 2D 31  |-1. .WORD DONE-1|
00000610: 0D 20 2E 57 4F 52 44 20  44 4F 4E 45 2D 31 0D 20  |. .WORD DONE-1. |
00000620: 2E 57 4F 52 44 20 44 4F  4E 45 2D 31 20 3B 20 24  |.WORD DONE-1 ; $|
00000630: 31 38 0D 20 2E 57 4F 52  44 20 44 4F 4E 45 2D 31  |18. .WORD DONE-1|
00000640: 0D 20 2E 57 4F 52 44 20  44 4F 4E 45 2D 31 0D 20  |. .WORD DONE-1. |
00000650: 2E 57 4F 52 44 20 44 4F  4E 45 2D 31 0D 20 2E 57  |.WORD DONE-1. .W|
00000660: 4F 52 44 20 44 4F 4E 45  2D 31 0D 20 2E 57 4F 52  |ORD DONE-1. .WOR|
00000670: 44 20 44 4F 4E 45 2D 31  0D 20 2E 57 4F 52 44 20  |D DONE-1. .WORD |
00000680: 44 4F 4E 45 2D 31 0D 20  2E 57 4F 52 44 20 44 4F  |DONE-1. .WORD DO|
00000690: 4E 45 2D 31 0D 20 2E 57  4F 52 44 20 41 44 44 2D  |NE-1. .WORD ADD-|
000006A0: 31 20 3B 20 24 32 30 0D  20 2E 57 4F 52 44 20 53  |1 ; $20. .WORD S|
000006B0: 55 42 2D 31 0D 20 2E 57  4F 52 44 20 4D 55 4C 54  |UB-1. .WORD MULT|
000006C0: 2D 31 0D 20 2E 57 4F 52  44 20 44 49 56 2D 31 0D  |-1. .WORD DIV-1.|
000006D0: 20 2E 57 4F 52 44 20 44  4F 4E 45 2D 31 0D 20 2E  | .WORD DONE-1. .|
000006E0: 57 4F 52 44 20 49 46 54  2D 31 0D 20 2E 57 4F 52  |WORD IFT-1. .WOR|
000006F0: 44 20 49 46 46 2D 31 0D  20 2E 57 4F 52 44 20 44  |D IFF-1. .WORD D|
00000700: 4F 4E 45 2D 31 20 3B 20  51 50 52 4E 54 2D 31 0D  |ONE-1 ; QPRNT-1.|
00000710: 20 2E 57 4F 52 44 20 53  49 4E 2D 31 20 3B 20 24  | .WORD SIN-1 ; $|
00000720: 32 38 0D 20 2E 57 4F 52  44 20 43 4F 53 2D 31 0D  |28. .WORD COS-1.|
00000730: 20 2E 57 4F 52 44 20 4C  41 4E 44 32 2D 31 0D 20  | .WORD LAND2-1. |
00000740: 2E 57 4F 52 44 20 50 4F  50 2D 31 0D 20 2E 57 4F  |.WORD POP-1. .WO|
00000750: 52 44 20 44 4F 4E 45 2D  31 20 3B 20 44 4F 4E 54  |RD DONE-1 ; DONT|
00000760: 20 55 53 45 20 21 21 20  22 2C 22 0D 20 2E 57 4F  | USE !! ",". .WO|
00000770: 52 44 20 44 4F 4E 45 2D  31 20 3B 20 43 4F 4C 4F  |RD DONE-1 ; COLO|
00000780: 52 0D 20 2E 57 4F 52 44  20 55 53 52 2D 31 0D 20  |R. .WORD USR-1. |
00000790: 2E 57 4F 52 44 20 41 54  4E 2D 31 0D 20 2E 57 4F  |.WORD ATN-1. .WO|
000007A0: 52 44 20 50 4F 4B 45 2D  31 20 3B 20 24 33 30 0D  |RD POKE-1 ; $30.|
000007B0: 20 2E 57 4F 52 44 20 44  4F 4E 45 2D 31 20 3B 20  | .WORD DONE-1 ; |
000007C0: 43 44 52 41 57 0D 20 2E  57 4F 52 44 20 44 4F 4E  |CDRAW. .WORD DON|
000007D0: 45 2D 31 20 3B 20 51 50  4C 4F 54 0D 20 2E 57 4F  |E-1 ; QPLOT. .WO|
000007E0: 52 44 20 44 4F 4E 45 2D  31 0D 20 2E 57 4F 52 44  |RD DONE-1. .WORD|
000007F0: 20 44 50 4F 4B 45 2D 31  0D 20 2E 57 4F 52 44 20  | DPOKE-1. .WORD |
00000800: 52 41 4E 47 45 2D 31 0D  20 2E 57 4F 52 44 20 50  |RANGE-1. .WORD P|
00000810: 4F 4B 45 59 2D 31 0D 20  2E 57 4F 52 44 20 44 4F  |OKEY-1. .WORD DO|
00000820: 4E 45 2D 31 20 3B 20 4F  42 4A 45 43 54 0D 20 2E  |NE-1 ; OBJECT. .|
00000830: 57 4F 52 44 20 44 4F 4E  45 2D 31 20 3B 20 24 33  |WORD DONE-1 ; $3|
00000840: 38 0D 20 2E 57 4F 52 44  20 44 4F 4E 45 2D 31 0D  |8. .WORD DONE-1.|
00000850: 20 2E 57 4F 52 44 20 44  4F 4E 45 2D 31 0D 20 2E  | .WORD DONE-1. .|
00000860: 57 4F 52 44 20 44 4F 4E  45 2D 31 0D 20 2E 57 4F  |WORD DONE-1. .WO|
00000870: 52 44 20 44 4F 4E 45 2D  31 0D 20 2E 57 4F 52 44  |RD DONE-1. .WORD|
00000880: 20 44 4F 4E 45 2D 31 0D  20 2E 57 4F 52 44 20 44  | DONE-1. .WORD D|
00000890: 4F 4E 45 2D 31 0D 20 2E  57 4F 52 44 20 44 4F 4E  |ONE-1. .WORD DON|
000008A0: 45 2D 31 0D 20 2E 57 4F  52 44 20 4E 45 58 54 2D  |E-1. .WORD NEXT-|
000008B0: 31 20 3B 20 24 34 30 0D  20 2E 57 4F 52 44 20 53  |1 ; $40. .WORD S|
000008C0: 48 49 46 54 52 2D 31 0D  20 2E 57 4F 52 44 20 53  |HIFTR-1. .WORD S|
000008D0: 48 49 46 54 4C 2D 31 0D  20 2E 57 4F 52 44 20 44  |HIFTL-1. .WORD D|
000008E0: 4F 4E 45 2D 31 0D 20 2E  57 4F 52 44 20 47 4F 53  |ONE-1. .WORD GOS|
000008F0: 55 42 2D 31 0D 20 2E 57  4F 52 44 20 53 42 52 2D  |UB-1. .WORD SBR-|
00000900: 31 0D 20 2E 57 4F 52 44  20 54 50 4F 53 2D 31 0D  |1. .WORD TPOS-1.|
00000910: 20 2E 57 4F 52 44 20 44  4F 4E 45 2D 31 0D 20 2E  | .WORD DONE-1. .|
00000920: 57 4F 52 44 20 4C 41 4E  44 2D 31 20 3B 20 24 34  |WORD LAND-1 ; $4|
00000930: 38 0D 20 2E 57 4F 52 44  20 4C 4F 52 2D 31 0D 20  |8. .WORD LOR-1. |
00000940: 2E 57 4F 52 44 20 4C 58  4F 52 2D 31 0D 20 2E 57  |.WORD LXOR-1. .W|
00000950: 4F 52 44 20 47 4F 54 4F  2D 31 0D 20 2E 57 4F 52  |ORD GOTO-1. .WOR|
00000960: 44 20 53 48 52 30 2D 31  0D 20 2E 57 4F 52 44 20  |D SHR0-1. .WORD |
00000970: 50 52 4F 54 45 43 2D 31  0D 20 2E 57 4F 52 44 20  |PROTEC-1. .WORD |
00000980: 44 4F 4E 45 2D 31 20 3B  20 42 49 54 58 0D 20 2E  |DONE-1 ; BITX. .|
00000990: 57 4F 52 44 20 44 4F 4E  45 2D 31 20 3B 20 43 4C  |WORD DONE-1 ; CL|
000009A0: 45 41 52 0D 20 2E 57 4F  52 44 20 43 4F 4E 2D 31  |EAR. .WORD CON-1|
000009B0: 20 20 20 3B 20 24 35 30  0D 20 2E 57 4F 52 44 20  |   ; $50. .WORD |
000009C0: 43 4F 4E 31 36 2D 31 0D  20 2E 57 4F 52 44 20 43  |CON16-1. .WORD C|
000009D0: 4F 4E 50 2D 31 0D 20 2E  57 4F 52 44 20 44 4F 4E  |ONP-1. .WORD DON|
000009E0: 45 2D 31 0D 20 2E 57 4F  52 44 20 44 4F 4E 45 2D  |E-1. .WORD DONE-|
000009F0: 31 0D 20 2E 57 4F 52 44  20 44 4F 4E 45 2D 31 0D  |1. .WORD DONE-1.|
00000A00: 20 2E 57 4F 52 44 20 44  4F 4E 45 2D 31 0D 20 2E  | .WORD DONE-1. .|
00000A10: 57 4F 52 44 20 44 4F 4E  45 2D 31 0D 20 2E 57 4F  |WORD DONE-1. .WO|
00000A20: 52 44 20 44 4F 4E 45 2D  31 20 3B 20 24 35 38 0D  |RD DONE-1 ; $58.|
00000A30: 20 2E 57 4F 52 44 20 44  4F 4E 45 2D 31 0D 20 2E  | .WORD DONE-1. .|
00000A40: 57 4F 52 44 20 44 4F 4E  45 2D 31 0D 20 2E 57 4F  |WORD DONE-1. .WO|
00000A50: 52 44 20 44 4F 4E 45 2D  31 0D 20 2E 57 4F 52 44  |RD DONE-1. .WORD|
00000A60: 20 44 4F 4E 45 2D 31 0D  20 2E 57 4F 52 44 20 44  | DONE-1. .WORD D|
00000A70: 4F 4E 45 2D 31 0D 20 2E  57 4F 52 44 20 44 4F 4E  |ONE-1. .WORD DON|
00000A80: 45 2D 31 0D 20 2E 57 4F  52 44 20 44 4F 4E 45 2D  |E-1. .WORD DONE-|
00000A90: 31 0D 20 2E 57 4F 52 44  20 4F 46 46 53 45 54 2D  |1. .WORD OFFSET-|
00000AA0: 31 20 3B 24 36 30 0D 20  2E 57 4F 52 44 20 49 46  |1 ;$60. .WORD IF|
00000AB0: 30 2D 31 0D 20 2E 57 4F  52 44 20 44 4F 4E 45 2D  |0-1. .WORD DONE-|
00000AC0: 31 20 3B 20 50 52 50 4D  0D 20 2E 57 4F 52 44 20  |1 ; PRPM. .WORD |
00000AD0: 43 41 4C 4C 2D 31 0D 20  2E 57 4F 52 44 20 44 4F  |CALL-1. .WORD DO|
00000AE0: 4E 45 2D 31 20 3B 20 52  4F 54 41 54 45 0D 20 2E  |NE-1 ; ROTATE. .|
00000AF0: 57 4F 52 44 20 53 50 52  58 2D 31 0D 20 2E 57 4F  |WORD SPRX-1. .WO|
00000B00: 52 44 20 53 50 52 59 2D  31 0D 20 2E 57 4F 52 44  |RD SPRY-1. .WORD|
00000B10: 20 44 4F 4E 45 2D 31 0D  20 2E 57 4F 52 44 20 44  | DONE-1. .WORD D|
00000B20: 4F 4E 45 2D 31 20 3B 24  36 38 0D 20 2E 57 4F 52  |ONE-1 ;$68. .WOR|
00000B30: 44 20 44 4F 4E 45 2D 31  0D 20 2E 57 4F 52 44 20  |D DONE-1. .WORD |
00000B40: 44 4F 4E 45 2D 31 0D 20  2E 57 4F 52 44 20 44 4F  |DONE-1. .WORD DO|
00000B50: 4E 45 2D 31 0D 20 2E 57  4F 52 44 20 44 4F 4E 45  |NE-1. .WORD DONE|
00000B60: 2D 31 0D 20 2E 57 4F 52  44 20 44 4F 4E 45 2D 31  |-1. .WORD DONE-1|
00000B70: 0D 20 2E 57 4F 52 44 20  44 4F 4E 45 2D 31 0D 20  |. .WORD DONE-1. |
00000B80: 2E 57 4F 52 44 20 44 4F  4E 45 2D 31 0D 20 2E 57  |.WORD DONE-1. .W|
00000B90: 4F 52 44 20 46 4F 52 2D  31 20 3B 24 37 30 0D 20  |ORD FOR-1 ;$70. |
00000BA0: 2E 57 4F 52 44 20 49 46  2D 31 0D 20 2E 57 4F 52  |.WORD IF-1. .WOR|
00000BB0: 44 20 52 4E 47 59 2D 31  0D 20 2E 57 4F 52 44 20  |D RNGY-1. .WORD |
00000BC0: 44 4F 4E 45 2D 31 0D 20  2E 57 4F 52 44 20 44 4F  |DONE-1. .WORD DO|
00000BD0: 4E 45 2D 31 0D 20 2E 57  4F 52 44 20 44 4F 4E 45  |NE-1. .WORD DONE|
00000BE0: 2D 31 0D 20 2E 57 4F 52  44 20 44 4F 4E 45 2D 31  |-1. .WORD DONE-1|
00000BF0: 0D 20 2E 57 4F 52 44 20  44 4F 4E 45 2D 31 0D 20  |. .WORD DONE-1. |
00000C00: 2E 57 4F 52 44 20 44 4F  4E 45 2D 31 20 3B 24 37  |.WORD DONE-1 ;$7|
00000C10: 38 0D 20 2E 57 4F 52 44  20 44 4F 4E 45 2D 31 0D  |8. .WORD DONE-1.|
00000C20: 20 2E 57 4F 52 44 20 44  4F 4E 45 2D 31 0D 20 2E  | .WORD DONE-1. .|
00000C30: 57 4F 52 44 20 45 4C 53  45 2D 31 0D 20 2E 57 4F  |WORD ELSE-1. .WO|
00000C40: 52 44 20 45 45 45 49 46  2D 31 0D 20 2E 57 4F 52  |RD EEEIF-1. .WOR|
00000C50: 44 20 45 4E 44 49 46 2D  31 0D 20 2E 57 4F 52 44  |D ENDIF-1. .WORD|
00000C60: 20 43 4C 52 2D 31 0D 20  2E 57 4F 52 44 20 52 55  | CLR-1. .WORD RU|
00000C70: 4E 2D 31 0D 3B 20 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |N-1.; ----------|
00000C80: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000C90: 2D 2D 2D 0D 3B 20 20 4D  41 49 4E 0D 20 2A 20 3D  |---.;  MAIN. * =|
00000CA0: 20 42 41 53 45 2B 24 33  34 30 0D 20 4A 4D 50 20  | BASE+$340. JMP |
00000CB0: 4D 41 49 4E 0D 3B 4A 4D  50 20 4C 4F 4F 4B 20 20  |MAIN.;JMP LOOK  |
00000CC0: 20 2A 2A 2A 0D 3B 4A 4D  50 20 53 45 54 20 20 20  | ***.;JMP SET   |
00000CD0: 20 2A 2A 2A 0D 3B 4A 4D  50 20 51 50 0D 3B 0D 4D  | ***.;JMP QP.;.M|
00000CE0: 41 49 4E 20 4C 44 41 20  24 38 30 30 31 0D 20 53  |AIN LDA $8001. S|
00000CF0: 54 41 20 50 43 4E 54 2B  31 0D 20 53 54 41 20 50  |TA PCNT+1. STA P|
00000D00: 43 53 56 45 2B 31 0D 20  4C 44 41 20 24 38 30 30  |CSVE+1. LDA $800|
00000D10: 30 0D 20 53 54 41 20 50  43 4E 54 0D 20 53 54 41  |0. STA PCNT. STA|
00000D20: 20 50 43 53 56 45 0D 20  4A 53 52 20 52 55 4E 31  | PCSVE. JSR RUN1|
00000D30: 0D 4C 4F 4F 50 20 4A 4D  50 20 45 58 45 43 55 54  |.LOOP JMP EXECUT|
00000D40: 0D 3B 20 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |.; -------------|
00000D50: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000D60: 0D 3B 20 52 45 54 55 52  4E 20 56 41 52 20 56 41  |.; RETURN VAR VA|
00000D70: 4C 55 45 0D 3B 4C 4F 4F  4B 20 4C 44 41 20 24 38  |LUE.;LOOK LDA $8|
00000D80: 30 30 30 20 20 20 20 3C  3C 3C 3C 3C 3C 3C 3C 0D  |000    <<<<<<<<.|
00000D90: 3B 41 53 4C 20 41 0D 3B  54 41 58 0D 3B 4C 44 41  |;ASL A.;TAX.;LDA|
00000DA0: 20 56 41 52 4C 2C 58 0D  3B 54 41 59 0D 3B 4C 44  | VARL,X.;TAY.;LD|
00000DB0: 41 20 56 41 52 48 2C 58  0D 3B 52 54 53 0D 3B 20  |A VARH,X.;RTS.; |
00000DC0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000DD0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 0D 3B 20  |-------------.; |
00000DE0: 20 53 54 4F 52 45 20 56  41 52 20 56 41 4C 55 45  | STORE VAR VALUE|
00000DF0: 0D 3B 53 45 54 20 4C 44  41 20 24 38 30 30 30 20  |.;SET LDA $8000 |
00000E00: 20 20 20 3C 3C 3C 3C 3C  3C 3C 3C 3C 0D 3B 41 53  |   <<<<<<<<<.;AS|
00000E10: 4C 20 41 0D 3B 54 41 59  0D 3B 4C 44 41 20 24 38  |L A.;TAY.;LDA $8|
00000E20: 30 30 33 0D 3B 53 54 41  20 56 41 52 48 2C 59 0D  |003.;STA VARH,Y.|
00000E30: 3B 4C 44 41 20 24 38 30  30 32 0D 3B 53 54 41 20  |;LDA $8002.;STA |
00000E40: 56 41 52 4C 2C 59 0D 3B  52 54 53 0D 3B 20 2D 2D  |VARL,Y.;RTS.; --|
00000E50: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000E60: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 0D 3B 20 20 45  |-----------.;  E|
00000E70: 58 45 43 55 54 45 20 31  20 49 4E 53 54 52 55 43  |XECUTE 1 INSTRUC|
00000E80: 54 49 4F 4E 0D 45 58 45  43 55 54 20 4C 44 59 20  |TION.EXECUT LDY |
00000E90: 23 24 30 30 0D 20 4C 44  41 20 28 50 43 4E 54 29  |#$00. LDA (PCNT)|
00000EA0: 2C 59 20 3B 47 45 54 20  4F 50 45 52 41 54 4F 52  |,Y ;GET OPERATOR|
00000EB0: 0D 20 53 54 41 20 4F 50  45 52 0D 20 42 49 54 20  |. STA OPER. BIT |
00000EC0: 4F 50 45 52 20 3B 20 54  45 53 54 20 4F 50 45 52  |OPER ; TEST OPER|
00000ED0: 41 54 4F 52 0D 20 42 50  4C 20 45 58 31 0D 20 41  |ATOR. BPL EX1. A|
00000EE0: 53 4C 20 41 20 3B 20 4C  4F 41 44 2F 53 54 4F 52  |SL A ; LOAD/STOR|
00000EF0: 45 20 56 41 52 49 41 42  4C 45 0D 20 41 4E 44 20  |E VARIABLE. AND |
00000F00: 23 24 37 46 0D 20 54 41  59 0D 20 42 56 53 20 45  |#$7F. TAY. BVS E|
00000F10: 58 30 0D 20 49 4E 58 0D  20 49 4E 58 0D 20 4A 53  |X0. INX. INX. JS|
00000F20: 52 20 4C 4F 41 44 0D 20  4A 4D 50 20 45 58 52 54  |R LOAD. JMP EXRT|
00000F30: 53 0D 45 58 30 20 4A 53  52 20 53 54 4F 52 45 0D  |S.EX0 JSR STORE.|
00000F40: 20 4A 4D 50 20 50 4F 50  31 0D 3B 2D 2D 2D 2D 2D  | JMP POP1.;-----|
00000F50: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000F60: 2D 2D 2D 2D 2D 2D 2D 0D  45 58 31 20 42 56 43 20  |-------.EX1 BVC |
00000F70: 45 58 32 20 3B 20 4E 4F  20 41 52 47 0D 20 43 4D  |EX2 ; NO ARG. CM|
00000F80: 50 20 23 24 37 41 0D 20  42 43 53 20 53 50 45 43  |P #$7A. BCS SPEC|
00000F90: 0D 20 4A 53 52 20 49 4E  43 50 43 20 3B 20 49 4E  |. JSR INCPC ; IN|
00000FA0: 43 52 45 4D 45 4E 54 20  50 43 0D 20 4C 44 41 20  |CREMENT PC. LDA |
00000FB0: 28 50 43 4E 54 29 2C 59  0D 20 53 54 41 20 41 52  |(PCNT),Y. STA AR|
00000FC0: 47 0D 45 58 32 20 4A 53  52 20 47 4F 20 3B 20 47  |G.EX2 JSR GO ; G|
00000FD0: 4F 20 54 4F 20 4F 50 45  52 41 54 4F 52 0D 45 58  |O TO OPERATOR.EX|
00000FE0: 44 4F 4E 45 20 4C 44 41  20 4F 50 45 52 0D 20 41  |DONE LDA OPER. A|
00000FF0: 53 4C 20 41 0D 20 41 53  4C 20 41 0D 20 53 54 41  |SL A. ASL A. STA|
00001000: 20 4F 50 45 52 0D 20 42  49 54 20 4F 50 45 52 0D  | OPER. BIT OPER.|
00001010: 20 42 4D 49 20 45 58 34  20 3B 20 50 4F 50 20 4F  | BMI EX4 ; POP O|
00001020: 52 20 50 4F 50 58 32 0D  20 42 56 43 20 45 58 52  |R POPX2. BVC EXR|
00001030: 54 53 20 3B 20 4E 4F 0D  45 50 55 53 48 20 49 4E  |TS ; NO.EPUSH IN|
00001040: 58 0D 20 49 4E 58 0D 20  4A 4D 50 20 45 58 52 54  |X. INX. JMP EXRT|
00001050: 53 0D 45 58 34 20 44 45  58 0D 20 44 45 58 0D 20  |S.EX4 DEX. DEX. |
00001060: 42 56 43 20 45 58 52 54  53 0D 50 4F 50 31 20 44  |BVC EXRTS.POP1 D|
00001070: 45 58 0D 20 44 45 58 0D  45 58 52 54 53 20 4A 53  |EX. DEX.EXRTS JS|
00001080: 52 20 49 4E 43 50 43 0D  20 4A 4D 50 20 45 58 45  |R INCPC. JMP EXE|
00001090: 43 55 54 0D 3B 0D 53 50  45 43 20 4A 53 52 20 47  |CUT.;.SPEC JSR G|
000010A0: 4F 0D 20 4C 44 41 20 4F  50 45 52 0D 20 43 4D 50  |O. LDA OPER. CMP|
000010B0: 20 23 24 37 46 0D 20 42  45 51 20 53 50 45 43 31  | #$7F. BEQ SPEC1|
000010C0: 0D 20 4A 53 52 20 49 4E  43 50 43 0D 53 50 45 43  |. JSR INCPC.SPEC|
000010D0: 31 20 4A 4D 50 20 45 58  45 43 55 54 0D 3B 2D 2D  |1 JMP EXECUT.;--|
000010E0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000010F0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 0D 49 4E 43 50 43  |----------.INCPC|
00001100: 20 49 4E 43 20 50 43 4E  54 0D 20 42 4E 45 20 49  | INC PCNT. BNE I|
00001110: 4E 43 50 43 31 0D 20 49  4E 43 20 50 43 4E 54 2B  |NCPC1. INC PCNT+|
00001120: 31 0D 49 4E 43 50 43 31  20 52 54 53 0D 3B 2D 2D  |1.INCPC1 RTS.;--|
00001130: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001140: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 0D 47 4F 20 4C 44  |----------.GO LD|
00001150: 41 20 4F 50 45 52 0D 20  41 53 4C 20 41 0D 20 54  |A OPER. ASL A. T|
00001160: 41 59 0D 20 4C 44 41 20  4F 50 54 42 4C 2B 31 2C  |AY. LDA OPTBL+1,|
00001170: 59 0D 20 50 48 41 0D 20  4C 44 41 20 4F 50 54 42  |Y. PHA. LDA OPTB|
00001180: 4C 2C 59 0D 20 50 48 41  0D 20 4C 44 59 20 41 52  |L,Y. PHA. LDY AR|
00001190: 47 0D 20 52 54 53 20 3B  20 47 4F 20 21 21 0D 3B  |G. RTS ; GO !!.;|
000011A0: 20 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  | ---------------|
000011B0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 0D 3B  |--------------.;|
000011C0: 20 20 49 4E 54 45 47 45  52 20 53 55 42 52 4F 55  |  INTEGER SUBROU|
000011D0: 54 49 4E 45 53 0D 3B 0D  3B 20 20 4C 4F 41 44 2C  |TINES.;.;  LOAD,|
000011E0: 20 56 41 52 28 59 2B 56  50 4C 55 53 29 3D 3E 53  | VAR(Y+VPLUS)=>S|
000011F0: 54 4B 20 24 38 30 2D 24  42 46 0D 4C 4F 41 44 20  |TK $80-$BF.LOAD |
00001200: 43 50 59 20 56 4C 49 4D  0D 20 42 4D 49 20 4C 44  |CPY VLIM. BMI LD|
00001210: 4C 4F 0D 20 54 59 41 0D  20 43 4C 43 0D 20 41 44  |LO. TYA. CLC. AD|
00001220: 43 20 56 50 4C 55 53 0D  20 54 41 59 0D 4C 44 4C  |C VPLUS. TAY.LDL|
00001230: 4F 20 4C 44 41 20 56 41  52 4C 2C 59 0D 20 53 54  |O LDA VARL,Y. ST|
00001240: 41 20 53 54 4C 2C 58 0D  20 4C 44 41 20 56 41 52  |A STL,X. LDA VAR|
00001250: 48 2C 59 0D 20 53 54 41  20 53 54 48 2C 58 0D 20  |H,Y. STA STH,X. |
00001260: 52 54 53 0D 3B 0D 3B 20  20 53 54 4F 52 45 2C 20  |RTS.;.;  STORE, |
00001270: 53 54 4B 3D 3E 56 41 52  28 59 2B 56 50 4C 55 53  |STK=>VAR(Y+VPLUS|
00001280: 29 20 24 43 30 2D 24 46  46 0D 53 54 4F 52 45 20  |) $C0-$FF.STORE |
00001290: 43 50 59 20 56 4C 49 4D  0D 20 42 4D 49 20 53 54  |CPY VLIM. BMI ST|
000012A0: 4C 4F 0D 20 54 59 41 0D  20 43 4C 43 0D 20 41 44  |LO. TYA. CLC. AD|
000012B0: 43 20 56 50 4C 55 53 0D  20 54 41 59 0D 53 54 4C  |C VPLUS. TAY.STL|
000012C0: 4F 20 4C 44 41 20 53 54  4C 2C 58 0D 20 53 54 41  |O LDA STL,X. STA|
000012D0: 20 56 41 52 4C 2C 59 0D  20 4C 44 41 20 53 54 48  | VARL,Y. LDA STH|
000012E0: 2C 58 0D 20 53 54 41 20  56 41 52 48 2C 59 0D 20  |,X. STA VARH,Y. |
000012F0: 52 54 53 0D 3B 0D 3B 20  4F 46 46 53 45 54 2C 20  |RTS.;.; OFFSET, |
00001300: 53 54 4B 3D 3E 56 50 4C  55 53 20 59 3D 3E 56 4C  |STK=>VPLUS Y=>VL|
00001310: 49 4D 20 24 36 30 0D 4F  46 46 53 45 54 20 54 59  |IM $60.OFFSET TY|
00001320: 41 0D 20 41 53 4C 20 41  0D 20 53 54 41 20 56 4C  |A. ASL A. STA VL|
00001330: 49 4D 0D 20 4C 44 41 20  53 54 4C 2C 58 0D 20 41  |IM. LDA STL,X. A|
00001340: 53 4C 20 41 0D 20 53 54  41 20 56 50 4C 55 53 0D  |SL A. STA VPLUS.|
00001350: 20 52 54 53 0D 3B 0D 3B  20 20 41 44 44 2C 20 53  | RTS.;.;  ADD, S|
00001360: 54 4B 2B 4F 50 52 3D 3E  4F 50 52 20 24 32 30 0D  |TK+OPR=>OPR $20.|
00001370: 41 44 44 20 43 4C 43 0D  20 4C 44 41 20 53 54 4C  |ADD CLC. LDA STL|
00001380: 2C 58 0D 20 41 44 43 20  4F 50 4C 2C 58 0D 20 53  |,X. ADC OPL,X. S|
00001390: 54 41 20 4F 50 4C 2C 58  0D 20 4C 44 41 20 53 54  |TA OPL,X. LDA ST|
000013A0: 48 2C 58 0D 20 41 44 43  20 4F 50 48 2C 58 0D 20  |H,X. ADC OPH,X. |
000013B0: 53 54 41 20 4F 50 48 2C  58 0D 20 52 54 53 0D 3B  |STA OPH,X. RTS.;|
000013C0: 0D 3B 20 20 53 55 42 2C  20 4F 50 52 2D 53 54 4B  |.;  SUB, OPR-STK|
000013D0: 3D 3E 4F 50 52 20 24 32  31 0D 53 55 42 20 53 45  |=>OPR $21.SUB SE|
000013E0: 43 0D 20 4C 44 41 20 4F  50 4C 2C 58 0D 20 53 42  |C. LDA OPL,X. SB|
000013F0: 43 20 53 54 4C 2C 58 0D  20 53 54 41 20 4F 50 4C  |C STL,X. STA OPL|
00001400: 2C 58 0D 20 4C 44 41 20  4F 50 48 2C 58 0D 20 53  |,X. LDA OPH,X. S|
00001410: 42 43 20 53 54 48 2C 58  0D 20 53 54 41 20 4F 50  |BC STH,X. STA OP|
00001420: 48 2C 58 0D 20 52 54 53  0D 3B 0D 3B 20 20 4D 55  |H,X. RTS.;.;  MU|
00001430: 4C 54 2C 20 53 54 4B 2A  4F 50 52 3D 3E 4F 50 52  |LT, STK*OPR=>OPR|
00001440: 20 24 32 32 0D 3B 20 31  36 20 42 49 54 20 50 52  | $22.; 16 BIT PR|
00001450: 45 43 49 53 49 4F 4E 0D  4D 55 4C 54 20 4C 44 59  |ECISION.MULT LDY|
00001460: 20 23 24 31 30 0D 4D 32  20 4C 44 41 20 23 24 30  | #$10.M2 LDA #$0|
00001470: 30 0D 20 53 54 41 20 53  54 58 32 2C 58 0D 20 53  |0. STA STX2,X. S|
00001480: 54 41 20 53 54 58 31 2C  58 0D 4D 55 4C 54 32 20  |TA STX1,X.MULT2 |
00001490: 4C 44 41 20 53 54 4C 2C  58 0D 20 4C 53 52 20 41  |LDA STL,X. LSR A|
000014A0: 0D 20 42 43 43 20 4D 55  4C 54 34 20 3B 42 49 54  |. BCC MULT4 ;BIT|
000014B0: 20 4F 46 46 0D 20 43 4C  43 0D 20 4C 44 41 20 53  | OFF. CLC. LDA S|
000014C0: 54 58 31 2C 58 0D 20 41  44 43 20 4F 50 4C 2C 58  |TX1,X. ADC OPL,X|
000014D0: 0D 20 53 54 41 20 53 54  58 31 2C 58 0D 20 4C 44  |. STA STX1,X. LD|
000014E0: 41 20 53 54 58 32 2C 58  0D 20 41 44 43 20 4F 50  |A STX2,X. ADC OP|
000014F0: 48 2C 58 0D 20 53 54 41  20 53 54 58 32 2C 58 0D  |H,X. STA STX2,X.|
00001500: 4D 55 4C 54 34 20 52 4F  52 20 53 54 58 32 2C 58  |MULT4 ROR STX2,X|
00001510: 0D 20 52 4F 52 20 53 54  58 31 2C 58 0D 20 52 4F  |. ROR STX1,X. RO|
00001520: 52 20 53 54 48 2C 58 0D  20 52 4F 52 20 53 54 4C  |R STH,X. ROR STL|
00001530: 2C 58 0D 20 44 45 59 0D  20 42 4E 45 20 4D 55 4C  |,X. DEY. BNE MUL|
00001540: 54 32 0D 50 55 4E 43 48  20 4C 44 41 20 53 54 4C  |T2.PUNCH LDA STL|
00001550: 2C 58 0D 20 53 54 41 20  4F 50 4C 2C 58 0D 20 4C  |,X. STA OPL,X. L|
00001560: 44 41 20 53 54 48 2C 58  0D 20 53 54 41 20 4F 50  |DA STH,X. STA OP|
00001570: 48 2C 58 0D 20 52 54 53  0D 3B 0D 3B 20 20 53 48  |H,X. RTS.;.;  SH|
00001580: 49 46 54 20 52 49 47 48  54 2C 20 53 54 4B 2F 28  |IFT RIGHT, STK/(|
00001590: 32 5E 59 29 3D 3E 53 54  4B 20 24 34 31 0D 53 48  |2^Y)=>STK $41.SH|
000015A0: 49 46 54 52 20 4C 44 41  20 53 54 48 2C 58 0D 20  |IFTR LDA STH,X. |
000015B0: 52 4F 4C 20 41 0D 20 52  4F 52 20 53 54 48 2C 58  |ROL A. ROR STH,X|
000015C0: 0D 20 52 4F 52 20 53 54  4C 2C 58 0D 20 44 45 59  |. ROR STL,X. DEY|
000015D0: 0D 20 42 4E 45 20 53 48  49 46 54 52 0D 20 52 54  |. BNE SHIFTR. RT|
000015E0: 53 0D 3B 0D 3B 20 53 48  49 46 54 20 52 49 47 48  |S.;.; SHIFT RIGH|
000015F0: 54 20 50 4F 53 49 54 49  56 45 2C 20 24 34 43 0D  |T POSITIVE, $4C.|
00001600: 53 48 52 30 20 3D 20 2A  0D 20 4C 53 52 20 53 54  |SHR0 = *. LSR ST|
00001610: 48 2C 58 0D 20 52 4F 52  20 53 54 4C 2C 58 0D 20  |H,X. ROR STL,X. |
00001620: 44 45 59 0D 20 42 4E 45  20 53 48 52 30 0D 20 52  |DEY. BNE SHR0. R|
00001630: 54 53 0D 3B 0D 3B 20 20  53 48 49 46 54 20 4C 45  |TS.;.;  SHIFT LE|
00001640: 46 54 2C 20 53 54 4B 2A  28 32 5E 59 29 3D 53 54  |FT, STK*(2^Y)=ST|
00001650: 4B 20 24 34 32 0D 53 48  49 46 54 4C 20 3D 20 2A  |K $42.SHIFTL = *|
00001660: 0D 20 41 53 4C 20 53 54  4C 2C 58 0D 20 52 4F 4C  |. ASL STL,X. ROL|
00001670: 20 53 54 48 2C 58 0D 20  44 45 59 0D 20 42 4E 45  | STH,X. DEY. BNE|
00001680: 20 53 48 49 46 54 4C 0D  20 52 54 53 0D 3B 0D 3B  | SHIFTL. RTS.;.;|
00001690: 20 4E 45 47 41 54 45 2C  20 2D 53 54 4B 3D 3E 53  | NEGATE, -STK=>S|
000016A0: 54 4B 20 24 30 32 0D 4E  45 47 20 53 45 43 0D 20  |TK $02.NEG SEC. |
000016B0: 4C 44 41 20 23 24 30 0D  20 53 42 43 20 53 54 4C  |LDA #$0. SBC STL|
000016C0: 2C 58 0D 20 53 54 41 20  53 54 4C 2C 58 0D 20 4C  |,X. STA STL,X. L|
000016D0: 44 41 20 23 24 30 0D 20  53 42 43 20 53 54 48 2C  |DA #$0. SBC STH,|
000016E0: 58 0D 20 53 54 41 20 53  54 48 2C 58 0D 20 52 54  |X. STA STH,X. RT|
000016F0: 53 0D 3B 0D 4E 45 47 4F  50 52 20 53 45 43 0D 20  |S.;.NEGOPR SEC. |
00001700: 4C 44 41 20 23 30 0D 20  53 42 43 20 4F 50 4C 2C  |LDA #0. SBC OPL,|
00001710: 58 0D 20 53 54 41 20 4F  50 4C 2C 58 0D 20 4C 44  |X. STA OPL,X. LD|
00001720: 41 20 23 24 30 0D 20 53  42 43 20 4F 50 48 2C 58  |A #$0. SBC OPH,X|
00001730: 0D 20 53 54 41 20 4F 50  48 2C 58 0D 20 52 54 53  |. STA OPH,X. RTS|
00001740: 0D 3B 0D 3B 20 20 42 49  54 2C 20 46 49 52 53 54  |.;.;  BIT, FIRST|
00001750: 20 42 49 54 20 53 45 54  2C 20 24 35 45 0D 3B 42  | BIT SET, $5E.;B|
00001760: 49 54 58 20 4C 44 59 20  23 30 0D 3B 20 54 59 41  |ITX LDY #0.; TYA|
00001770: 0D 3B 20 53 54 41 20 53  54 48 2C 58 0D 3B 42 49  |.; STA STH,X.;BI|
00001780: 54 31 20 4C 53 52 20 53  54 4C 2C 58 0D 3B 20 42  |T1 LSR STL,X.; B|
00001790: 43 53 20 42 49 54 32 0D  3B 20 49 4E 59 0D 3B 20  |CS BIT2.; INY.; |
000017A0: 43 50 59 20 23 38 0D 3B  20 42 4D 49 20 42 49 54  |CPY #8.; BMI BIT|
000017B0: 31 0D 3B 42 49 54 32 20  54 59 41 0D 3B 20 53 54  |1.;BIT2 TYA.; ST|
000017C0: 41 20 53 54 4C 2C 58 0D  3B 20 52 54 53 0D 3B 0D  |A STL,X.; RTS.;.|
000017D0: 3B 20 43 41 4C 4C 2C 20  41 53 4D 20 53 55 42 52  |; CALL, ASM SUBR|
000017E0: 4F 55 54 49 4E 45 3B 20  59 3D 50 55 53 48 20 46  |OUTINE; Y=PUSH F|
000017F0: 4C 41 47 0D 43 41 4C 4C  20 44 45 59 20 3B 20 54  |LAG.CALL DEY ; T|
00001800: 45 53 54 20 46 4F 52 20  41 52 47 0D 20 42 4D 49  |EST FOR ARG. BMI|
00001810: 20 43 41 4C 4C 31 0D 20  4C 44 41 20 53 54 4C 2C  | CALL1. LDA STL,|
00001820: 58 0D 20 53 54 41 20 24  38 30 30 30 0D 20 4C 44  |X. STA $8000. LD|
00001830: 41 20 53 54 48 2C 58 0D  20 53 54 41 20 24 38 30  |A STH,X. STA $80|
00001840: 30 31 0D 20 44 45 58 0D  20 44 45 58 0D 43 41 4C  |01. DEX. DEX.CAL|
00001850: 4C 31 20 3D 20 2A 0D 20  4C 44 41 20 53 54 4C 2C  |L1 = *. LDA STL,|
00001860: 58 0D 20 42 4E 45 20 43  41 4C 4C 32 0D 20 44 45  |X. BNE CALL2. DE|
00001870: 43 20 53 54 48 2C 58 0D  43 41 4C 4C 32 20 4C 44  |C STH,X.CALL2 LD|
00001880: 41 20 53 54 48 2C 58 0D  20 50 48 41 0D 20 4C 44  |A STH,X. PHA. LD|
00001890: 59 20 53 54 4C 2C 58 0D  20 44 45 59 0D 20 54 59  |Y STL,X. DEY. TY|
000018A0: 41 0D 20 50 48 41 0D 20  52 54 53 0D 3B 0D 3B 20  |A. PHA. RTS.;.; |
000018B0: 20 43 4F 4E 53 54 41 4E  54 2D 38 20 42 49 54 53  | CONSTANT-8 BITS|
000018C0: 2C 20 59 3D 3E 53 54 4B  20 30 2D 32 35 35 20 24  |, Y=>STK 0-255 $|
000018D0: 35 32 0D 43 4F 4E 50 20  4C 44 41 20 23 30 0D 20  |52.CONP LDA #0. |
000018E0: 49 4E 58 0D 20 49 4E 58  0D 20 53 54 41 20 53 54  |INX. INX. STA ST|
000018F0: 48 2C 58 0D 20 54 59 41  0D 20 53 54 41 20 53 54  |H,X. TYA. STA ST|
00001900: 4C 2C 58 0D 20 44 45 58  0D 20 44 45 58 0D 20 52  |L,X. DEX. DEX. R|
00001910: 54 53 0D 3B 0D 3B 20 20  43 4F 4E 53 54 41 4E 54  |TS.;.;  CONSTANT|
00001920: 2D 38 20 42 49 54 53 2C  20 59 3D 3E 53 54 4B 20  |-8 BITS, Y=>STK |
00001930: 31 32 37 2F 2D 31 32 38  20 24 35 30 0D 43 4F 4E  |127/-128 $50.CON|
00001940: 20 49 4E 58 0D 20 49 4E  58 0D 20 4A 53 52 20 43  | INX. INX. JSR C|
00001950: 4F 4E 30 0D 20 44 45 58  0D 20 44 45 58 0D 50 4F  |ON0. DEX. DEX.PO|
00001960: 50 20 52 54 53 20 3B 20  50 4F 50 2C 20 20 24 32  |P RTS ; POP,  $2|
00001970: 42 0D 3B 0D 43 4F 4E 30  20 4C 44 41 20 23 24 30  |B.;.CON0 LDA #$0|
00001980: 30 0D 20 53 54 41 20 53  54 48 2C 58 0D 20 54 59  |0. STA STH,X. TY|
00001990: 41 0D 20 42 50 4C 20 43  4F 4E 31 0D 20 44 45 43  |A. BPL CON1. DEC|
000019A0: 20 53 54 48 2C 58 20 3B  20 4E 45 47 41 54 49 56  | STH,X ; NEGATIV|
000019B0: 45 20 43 4F 4E 53 54 0D  43 4F 4E 31 20 53 54 41  |E CONST.CON1 STA|
000019C0: 20 53 54 4C 2C 58 20 3B  24 30 30 20 4F 52 20 24  | STL,X ;$00 OR $|
000019D0: 46 46 0D 20 52 54 53 0D  3B 0D 3B 20 43 4F 4E 53  |FF. RTS.;.; CONS|
000019E0: 54 41 4E 54 2D 31 36 20  42 49 54 53 2C 20 59 2C  |TANT-16 BITS, Y,|
000019F0: 41 3D 3E 53 54 4B 20 24  35 31 0D 43 4F 4E 31 36  |A=>STK $51.CON16|
00001A00: 20 54 59 41 0D 20 49 4E  58 0D 20 49 4E 58 0D 20  | TYA. INX. INX. |
00001A10: 53 54 41 20 53 54 4C 2C  58 0D 20 4A 53 52 20 49  |STA STL,X. JSR I|
00001A20: 4E 43 50 43 0D 20 4C 44  59 20 23 24 30 30 0D 20  |NCPC. LDY #$00. |
00001A30: 4C 44 41 20 28 50 43 4E  54 29 2C 59 0D 20 53 54  |LDA (PCNT),Y. ST|
00001A40: 41 20 53 54 48 2C 58 0D  20 44 45 58 0D 20 44 45  |A STH,X. DEX. DE|
00001A50: 58 0D 20 52 54 53 0D 3B  0D 3B 0D 3B 0D 3B 20 53  |X. RTS.;.;.;.; S|
00001A60: 50 52 49 54 45 20 43 4F  4D 4D 41 4E 44 53 0D 3B  |PRITE COMMANDS.;|
00001A70: 0D 42 4D 41 53 4B 20 2E  42 59 54 45 20 24 46 45  |.BMASK .BYTE $FE|
00001A80: 2C 24 30 31 2C 24 46 44  2C 24 30 32 2C 24 46 42  |,$01,$FD,$02,$FB|
00001A90: 2C 24 30 34 2C 24 46 37  2C 24 30 38 0D 20 2E 42  |,$04,$F7,$08. .B|
00001AA0: 59 54 45 20 24 45 46 2C  24 31 30 2C 24 44 46 2C  |YTE $EF,$10,$DF,|
00001AB0: 24 32 30 2C 24 42 46 2C  24 34 30 2C 24 37 46 2C  |$20,$BF,$40,$7F,|
00001AC0: 24 38 30 0D 20 2E 42 59  54 45 20 24 46 45 2C 24  |$80. .BYTE $FE,$|
00001AD0: 30 31 2C 24 46 44 2C 24  30 32 2C 24 46 42 2C 24  |01,$FD,$02,$FB,$|
00001AE0: 30 34 2C 24 46 37 2C 24  30 38 0D 20 2E 42 59 54  |04,$F7,$08. .BYT|
00001AF0: 45 20 24 46 45 2C 24 30  31 2C 24 46 44 2C 24 30  |E $FE,$01,$FD,$0|
00001B00: 32 2C 24 46 42 2C 24 30  34 2C 24 46 37 2C 24 30  |2,$FB,$04,$F7,$0|
00001B10: 38 0D 20 2E 42 59 54 45  20 24 45 46 2C 24 31 30  |8. .BYTE $EF,$10|
00001B20: 2C 24 44 46 2C 24 32 30  2C 24 42 46 2C 24 34 30  |,$DF,$20,$BF,$40|
00001B30: 2C 24 37 46 2C 24 38 30  0D 20 2E 42 59 54 45 20  |,$7F,$80. .BYTE |
00001B40: 24 46 45 2C 24 30 31 2C  24 46 44 2C 24 30 32 2C  |$FE,$01,$FD,$02,|
00001B50: 24 46 42 2C 24 30 34 2C  24 46 37 2C 24 30 38 0D  |$FB,$04,$F7,$08.|
00001B60: 4D 4F 46 53 54 20 2E 57  4F 52 44 20 30 2C 30 2C  |MOFST .WORD 0,0,|
00001B70: 30 2C 30 2C 30 2C 30 2C  30 2C 30 0D 20 2E 57 4F  |0,0,0,0,0,0. .WO|
00001B80: 52 44 20 31 2C 31 2C 31  2C 31 0D 20 2E 57 4F 52  |RD 1,1,1,1. .WOR|
00001B90: 44 20 32 2C 32 2C 32 2C  32 2C 32 2C 32 2C 32 2C  |D 2,2,2,2,2,2,2,|
00001BA0: 32 0D 20 2E 57 4F 52 44  20 33 2C 33 2C 33 2C 33  |2. .WORD 3,3,3,3|
00001BB0: 0D 3B 0D 3B 20 53 50 58  2C 20 53 54 4B 20 3D 3E  |.;.; SPX, STK =>|
00001BC0: 20 53 50 52 45 47 58 20  5B 59 5D 28 20 4F 52 20  | SPREGX [Y]( OR |
00001BD0: 5B 56 41 52 5B 59 5D 5D  20 29 0D 3B 0D 53 50 52  |[VAR[Y]] ).;.SPR|
00001BE0: 58 20 3D 20 2A 0D 20 4A  53 52 20 53 50 32 59 20  |X = *. JSR SP2Y |
00001BF0: 3B 20 47 45 54 20 53 50  52 49 54 45 20 4E 55 4D  |; GET SPRITE NUM|
00001C00: 42 45 52 20 4F 46 46 53  45 54 0D 20 4C 44 41 20  |BER OFFSET. LDA |
00001C10: 53 54 4C 2C 58 0D 20 53  54 41 20 53 50 30 58 2C  |STL,X. STA SP0X,|
00001C20: 59 20 3B 20 53 54 4F 52  45 20 4C 53 20 42 59 54  |Y ; STORE LS BYT|
00001C30: 45 0D 20 4C 44 41 20 42  4D 41 53 4B 2B 31 2C 59  |E. LDA BMASK+1,Y|
00001C40: 20 3B 20 53 54 4F 52 45  20 4D 53 20 42 49 54 0D  | ; STORE MS BIT.|
00001C50: 20 50 48 41 0D 20 4C 44  41 20 42 4D 41 53 4B 2C  | PHA. LDA BMASK,|
00001C60: 59 0D 20 50 48 41 0D 20  4C 44 41 20 4D 4F 46 53  |Y. PHA. LDA MOFS|
00001C70: 54 2C 59 0D 20 54 41 59  0D 20 50 4C 41 0D 20 41  |T,Y. TAY. PLA. A|
00001C80: 4E 44 20 4D 53 42 52 45  47 2C 59 0D 20 53 54 41  |ND MSBREG,Y. STA|
00001C90: 20 54 4D 50 31 0D 20 4C  44 41 20 53 54 48 2C 58  | TMP1. LDA STH,X|
00001CA0: 0D 20 52 4F 52 20 41 0D  20 50 4C 41 0D 20 42 43  |. ROR A. PLA. BC|
00001CB0: 43 20 53 50 58 31 20 3B  20 53 45 54 20 4D 53 42  |C SPX1 ; SET MSB|
00001CC0: 0D 20 4F 52 41 20 54 4D  50 31 0D 20 53 54 41 20  |. ORA TMP1. STA |
00001CD0: 54 4D 50 31 0D 53 50 58  31 20 4C 44 41 20 54 4D  |TMP1.SPX1 LDA TM|
00001CE0: 50 31 0D 20 53 54 41 20  4D 53 42 52 45 47 2C 59  |P1. STA MSBREG,Y|
00001CF0: 0D 20 52 54 53 0D 3B 0D  3B 0D 3B 20 53 50 59 2C  |. RTS.;.;.; SPY,|
00001D00: 20 53 54 4B 20 3D 3E 20  53 50 52 45 47 59 20 5B  | STK => SPREGY [|
00001D10: 59 5D 28 20 4F 52 20 56  41 52 29 0D 53 50 52 59  |Y]( OR VAR).SPRY|
00001D20: 20 3D 20 2A 0D 20 4A 53  52 20 53 50 32 59 0D 20  | = *. JSR SP2Y. |
00001D30: 4C 44 41 20 53 54 4C 2C  58 0D 20 53 54 41 20 53  |LDA STL,X. STA S|
00001D40: 50 30 59 2C 59 0D 20 52  54 53 0D 3B 0D 53 50 32  |P0Y,Y. RTS.;.SP2|
00001D50: 59 20 3D 20 2A 0D 20 4C  44 41 20 41 52 47 20 3B  |Y = *. LDA ARG ;|
00001D60: 20 49 46 20 41 52 47 20  3E 20 31 32 37 2C 20 41  | IF ARG > 127, A|
00001D70: 52 47 20 49 53 20 53 50  52 49 54 45 0D 20 42 4D  |RG IS SPRITE. BM|
00001D80: 49 20 53 50 32 59 31 0D  20 41 53 4C 20 41 20 3B  |I SP2Y1. ASL A ;|
00001D90: 20 45 4C 53 45 20 56 41  52 20 5B 41 52 47 5D 20  | ELSE VAR [ARG] |
00001DA0: 49 53 20 53 50 52 49 54  45 20 4E 55 4D 42 45 52  |IS SPRITE NUMBER|
00001DB0: 0D 20 54 41 59 0D 20 4C  44 41 20 56 41 52 4C 2C  |. TAY. LDA VARL,|
00001DC0: 59 0D 53 50 32 59 31 20  3D 20 2A 0D 20 41 53 4C  |Y.SP2Y1 = *. ASL|
00001DD0: 20 41 0D 20 54 41 59 0D  20 52 54 53 0D 3B 0D 3B  | A. TAY. RTS.;.;|
00001DE0: 0D 3B 20 57 4F 52 44 2C  20 57 4F 52 44 28 53 54  |.; WORD, WORD(ST|
00001DF0: 4B 29 3D 3E 53 54 4B 20  24 30 46 0D 57 52 44 20  |K)=>STK $0F.WRD |
00001E00: 4C 44 59 20 53 54 4C 2C  58 0D 20 4A 4D 50 20 43  |LDY STL,X. JMP C|
00001E10: 4F 4E 30 0D 3B 0D 3B 20  20 52 4E 44 2C 20 53 54  |ON0.;.;  RND, ST|
00001E20: 4B 2A 52 4E 44 3D 3E 53  54 4B 20 24 30 38 0D 52  |K*RND=>STK $08.R|
00001E30: 4E 44 20 49 4E 58 20 3B  20 46 41 4B 45 20 53 54  |ND INX ; FAKE ST|
00001E40: 41 43 4B 0D 20 49 4E 58  0D 20 4C 44 41 20 52 41  |ACK. INX. LDA RA|
00001E50: 4E 44 4F 4D 0D 52 4E 44  45 20 53 54 41 20 53 54  |NDOM.RNDE STA ST|
00001E60: 4C 2C 58 0D 20 4C 44 41  20 23 24 30 30 0D 20 53  |L,X. LDA #$00. S|
00001E70: 54 41 20 53 54 48 2C 58  0D 20 53 54 41 20 54 4D  |TA STH,X. STA TM|
00001E80: 50 31 0D 20 4C 44 41 20  4F 50 48 2C 58 0D 20 42  |P1. LDA OPH,X. B|
00001E90: 50 4C 20 52 4E 44 32 0D  20 4A 53 52 20 4E 45 47  |PL RND2. JSR NEG|
00001EA0: 4F 50 52 20 3B 20 41 42  53 28 4F 50 52 29 0D 20  |OPR ; ABS(OPR). |
00001EB0: 49 4E 43 20 54 4D 50 31  0D 52 4E 44 32 20 4C 44  |INC TMP1.RND2 LD|
00001EC0: 59 20 23 38 0D 20 4A 53  52 20 4D 32 20 3B 20 44  |Y #8. JSR M2 ; D|
00001ED0: 4F 20 4D 55 4C 54 0D 20  4C 44 41 20 53 54 58 32  |O MULT. LDA STX2|
00001EE0: 2C 58 0D 20 53 54 41 20  4F 50 48 2C 58 0D 20 4C  |,X. STA OPH,X. L|
00001EF0: 44 41 20 53 54 58 31 2C  58 20 20 3B 20 4E 4F 52  |DA STX1,X  ; NOR|
00001F00: 4D 41 4C 49 5A 45 0D 20  53 54 41 20 4F 50 4C 2C  |MALIZE. STA OPL,|
00001F10: 58 0D 20 4C 44 41 20 54  4D 50 31 0D 20 42 45 51  |X. LDA TMP1. BEQ|
00001F20: 20 52 4E 44 33 0D 20 4A  53 52 20 4E 45 47 4F 50  | RND3. JSR NEGOP|
00001F30: 52 0D 52 4E 44 33 20 44  45 58 20 3B 20 52 45 53  |R.RND3 DEX ; RES|
00001F40: 54 4F 52 45 20 53 54 41  43 4B 0D 20 44 45 58 0D  |TORE STACK. DEX.|
00001F50: 20 52 54 53 0D 3B 0D 3B  0D 42 59 54 58 20 4C 44  | RTS.;.;.BYTX LD|
00001F60: 41 20 23 24 30 30 20 3B  20 20 42 59 54 45 2C 20  |A #$00 ;  BYTE, |
00001F70: 53 54 4B 26 46 46 3D 3E  53 54 4B 20 24 30 37 0D  |STK&FF=>STK $07.|
00001F80: 20 53 54 41 20 53 54 48  2C 58 20 3B 20 30 0D 20  | STA STH,X ; 0. |
00001F90: 52 54 53 0D 3B 0D 3B 0D  3B 20 20 41 42 53 2C 20  |RTS.;.;.;  ABS, |
00001FA0: 41 42 53 28 53 54 4B 29  3D 3E 53 54 4B 20 24 30  |ABS(STK)=>STK $0|
00001FB0: 39 0D 41 42 53 20 4C 44  41 20 53 54 48 2C 58 0D  |9.ABS LDA STH,X.|
00001FC0: 20 42 50 4C 20 41 42 53  31 0D 20 4A 53 52 20 4E  | BPL ABS1. JSR N|
00001FD0: 45 47 20 3B 20 4E 45 47  41 54 45 20 49 46 20 4E  |EG ; NEGATE IF N|
00001FE0: 45 47 0D 41 42 53 31 20  52 54 53 0D 3B 0D 3B 20  |EG.ABS1 RTS.;.; |
00001FF0: 20 53 47 4E 2C 20 53 47  4E 28 53 54 4B 29 3D 3E  | SGN, SGN(STK)=>|
00002000: 53 54 4B 20 24 30 41 0D  53 47 4E 20 4C 44 41 20  |STK $0A.SGN LDA |
00002010: 53 54 48 2C 58 0D 20 42  50 4C 20 53 47 4E 31 0D  |STH,X. BPL SGN1.|
00002020: 20 4C 44 59 20 23 24 46  46 20 3B 3C 30 0D 20 4A  | LDY #$FF ;<0. J|
00002030: 4D 50 20 43 4F 4E 30 0D  53 47 4E 31 20 42 45 51  |MP CON0.SGN1 BEQ|
00002040: 20 53 47 4E 32 0D 20 4C  44 59 20 23 24 30 31 0D  | SGN2. LDY #$01.|
00002050: 20 4A 4D 50 20 43 4F 4E  30 20 3B 3E 30 0D 53 47  | JMP CON0 ;>0.SG|
00002060: 4E 32 20 4C 44 41 20 53  54 4C 2C 58 0D 20 42 4E  |N2 LDA STL,X. BN|
00002070: 45 20 53 47 4E 31 0D 20  4C 44 59 20 23 24 30 30  |E SGN1. LDY #$00|
00002080: 20 3B 3D 30 0D 20 4A 4D  50 20 43 4F 4E 30 0D 3B  | ;=0. JMP CON0.;|
00002090: 0D 3B 20 20 50 45 45 4B  2C 20 50 45 45 4B 28 53  |.;  PEEK, PEEK(S|
000020A0: 54 4B 29 3D 3E 53 54 4B  20 24 30 42 0D 50 45 45  |TK)=>STK $0B.PEE|
000020B0: 4B 20 4A 53 52 20 55 53  52 20 3B 53 54 4B 3D 3E  |K JSR USR ;STK=>|
000020C0: 46 52 30 0D 20 4C 44 41  20 23 24 30 30 0D 20 53  |FR0. LDA #$00. S|
000020D0: 54 41 20 53 54 48 2C 58  0D 20 4C 44 59 20 23 24  |TA STH,X. LDY #$|
000020E0: 30 30 0D 20 4C 44 41 20  28 46 52 30 29 2C 59 0D  |00. LDA (FR0),Y.|
000020F0: 20 53 54 41 20 53 54 4C  2C 58 0D 20 52 54 53 0D  | STA STL,X. RTS.|
00002100: 3B 0D 3B 20 20 50 4F 4B  45 2C 20 4F 50 52 3D 3E  |;.;  POKE, OPR=>|
00002110: 4C 4F 43 28 53 54 4B 29  20 24 33 30 0D 50 4F 4B  |LOC(STK) $30.POK|
00002120: 45 20 4A 53 52 20 55 53  52 20 3B 53 54 4B 3D 3E  |E JSR USR ;STK=>|
00002130: 46 52 30 0D 20 4C 44 59  20 23 24 30 30 0D 50 4F  |FR0. LDY #$00.PO|
00002140: 4B 45 30 20 4C 44 41 20  4F 50 4C 2C 58 0D 20 53  |KE0 LDA OPL,X. S|
00002150: 54 41 20 28 46 52 30 29  2C 59 0D 20 52 54 53 0D  |TA (FR0),Y. RTS.|
00002160: 3B 0D 50 4F 4B 45 59 20  4A 53 52 20 55 53 52 0D  |;.POKEY JSR USR.|
00002170: 20 4C 44 59 20 56 41 52  4C 0D 20 4A 4D 50 20 50  | LDY VARL. JMP P|
00002180: 4F 4B 45 30 0D 3B 0D 3B  20 52 41 4E 47 45 2C 20  |OKE0.;.; RANGE, |
00002190: 56 41 4C 55 45 2C 20 4F  50 52 3D 4C 4F 20 53 54  |VALUE, OPR=LO ST|
000021A0: 4B 3D 48 49 20 24 33 35  0D 3B 20 50 4F 53 49 54  |K=HI $35.; POSIT|
000021B0: 49 56 45 20 56 41 4C 55  45 53 20 4F 4E 4C 59 20  |IVE VALUES ONLY |
000021C0: 21 21 0D 52 41 4E 47 45  20 4C 44 41 20 4F 50 48  |!!.RANGE LDA OPH|
000021D0: 2D 32 2C 58 0D 20 42 4D  49 20 4F 52 4E 47 4C 4F  |-2,X. BMI ORNGLO|
000021E0: 0D 20 43 4D 50 20 53 54  48 2C 58 0D 20 42 4E 45  |. CMP STH,X. BNE|
000021F0: 20 43 50 48 49 0D 20 4C  44 41 20 4F 50 4C 2D 32  | CPHI. LDA OPL-2|
00002200: 2C 58 0D 20 43 4D 50 20  53 54 4C 2C 58 0D 43 50  |,X. CMP STL,X.CP|
00002210: 48 49 20 42 43 53 20 4F  52 4E 47 48 49 0D 20 4C  |HI BCS ORNGHI. L|
00002220: 44 41 20 4F 50 48 2D 32  2C 58 0D 20 43 4D 50 20  |DA OPH-2,X. CMP |
00002230: 4F 50 48 2C 58 0D 20 42  4E 45 20 43 50 4C 4F 0D  |OPH,X. BNE CPLO.|
00002240: 20 4C 44 41 20 4F 50 4C  2D 32 2C 58 0D 20 43 4D  | LDA OPL-2,X. CM|
00002250: 50 20 4F 50 4C 2C 58 0D  43 50 4C 4F 20 42 43 43  |P OPL,X.CPLO BCC|
00002260: 20 4F 52 4E 47 4C 4F 0D  20 52 54 53 0D 3B 0D 4F  | ORNGLO. RTS.;.O|
00002270: 52 4E 47 48 49 20 4C 44  41 20 53 54 48 2C 58 0D  |RNGHI LDA STH,X.|
00002280: 20 53 54 41 20 4F 50 48  2D 32 2C 58 0D 20 4C 44  | STA OPH-2,X. LD|
00002290: 41 20 53 54 4C 2C 58 0D  20 53 54 41 20 4F 50 4C  |A STL,X. STA OPL|
000022A0: 2D 32 2C 58 0D 20 52 54  53 0D 4F 52 4E 47 4C 4F  |-2,X. RTS.ORNGLO|
000022B0: 20 4C 44 41 20 4F 50 48  2C 58 0D 20 53 54 41 20  | LDA OPH,X. STA |
000022C0: 4F 50 48 2D 32 2C 58 0D  20 4C 44 41 20 4F 50 4C  |OPH-2,X. LDA OPL|
000022D0: 2C 58 0D 20 53 54 41 20  4F 50 4C 2D 32 2C 58 0D  |,X. STA OPL-2,X.|
000022E0: 20 52 54 53 0D 3B 0D 3B  20 20 52 41 4E 47 45 59  | RTS.;.;  RANGEY|
000022F0: 2C 20 56 41 4C 55 45 2C  20 4F 50 52 3D 4C 4F 20  |, VALUE, OPR=LO |
00002300: 53 54 4B 3D 48 49 20 24  37 32 0D 3B 20 50 4F 53  |STK=HI $72.; POS|
00002310: 49 54 49 56 45 20 56 41  4C 55 45 53 20 4F 4E 4C  |ITIVE VALUES ONL|
00002320: 59 20 21 21 0D 52 4E 47  59 20 4C 44 41 20 4F 50  |Y !!.RNGY LDA OP|
00002330: 48 2D 32 2C 58 0D 20 42  4D 49 20 4F 52 4E 47 0D  |H-2,X. BMI ORNG.|
00002340: 20 43 4D 50 20 53 54 48  2C 58 0D 20 42 4E 45 20  | CMP STH,X. BNE |
00002350: 43 50 30 48 49 0D 20 4C  44 41 20 4F 50 4C 2D 32  |CP0HI. LDA OPL-2|
00002360: 2C 58 0D 20 43 4D 50 20  53 54 4C 2C 58 0D 43 50  |,X. CMP STL,X.CP|
00002370: 30 48 49 20 42 43 53 20  4F 52 4E 47 0D 20 4C 44  |0HI BCS ORNG. LD|
00002380: 41 20 4F 50 48 2D 32 2C  58 0D 20 43 4D 50 20 4F  |A OPH-2,X. CMP O|
00002390: 50 48 2C 58 0D 20 42 4E  45 20 43 50 30 4C 4F 0D  |PH,X. BNE CP0LO.|
000023A0: 20 4C 44 41 20 4F 50 4C  2D 32 2C 58 0D 20 43 4D  | LDA OPL-2,X. CM|
000023B0: 50 20 4F 50 4C 2C 58 0D  43 50 30 4C 4F 20 42 43  |P OPL,X.CP0LO BC|
000023C0: 43 20 4F 52 4E 47 0D 20  52 54 53 0D 4F 52 4E 47  |C ORNG. RTS.ORNG|
000023D0: 20 4C 44 41 20 23 30 0D  20 53 54 41 20 4F 50 48  | LDA #0. STA OPH|
000023E0: 2D 32 2C 58 0D 20 54 59  41 0D 20 53 54 41 20 4F  |-2,X. TYA. STA O|
000023F0: 50 4C 2D 32 2C 58 0D 20  52 54 53 0D 3B 0D 3B 20  |PL-2,X. RTS.;.; |
00002400: 20 53 54 49 43 4B 2C 20  28 53 54 4B 29 3D 3E 53  | STICK, (STK)=>S|
00002410: 54 4B 2D 58 2C 4F 50 52  2D 59 20 24 31 30 0D 53  |TK-X,OPR-Y $10.S|
00002420: 54 49 43 4B 20 4C 44 59  20 53 54 4C 2C 58 0D 20  |TICK LDY STL,X. |
00002430: 4C 44 41 20 24 44 43 30  30 2C 59 0D 20 4C 44 59  |LDA $DC00,Y. LDY|
00002440: 20 23 24 30 30 0D 20 52  4F 52 20 41 0D 20 42 43  | #$00. ROR A. BC|
00002450: 53 20 53 54 31 0D 20 4C  44 59 20 23 24 46 46 0D  |S ST1. LDY #$FF.|
00002460: 53 54 31 20 52 4F 52 20  41 0D 20 42 43 53 20 53  |ST1 ROR A. BCS S|
00002470: 54 32 0D 20 4C 44 59 20  23 24 30 31 0D 53 54 32  |T2. LDY #$01.ST2|
00002480: 20 50 48 41 0D 20 4A 53  52 20 43 4F 4E 30 20 3B  | PHA. JSR CON0 ;|
00002490: 20 44 59 0D 20 50 4C 41  0D 20 4C 44 59 20 23 24  | DY. PLA. LDY #$|
000024A0: 30 30 0D 20 52 4F 52 20  41 0D 20 42 43 53 20 53  |00. ROR A. BCS S|
000024B0: 54 33 0D 20 44 45 59 0D  53 54 33 20 52 4F 52 20  |T3. DEY.ST3 ROR |
000024C0: 41 0D 20 42 43 53 20 53  54 34 0D 20 4C 44 59 20  |A. BCS ST4. LDY |
000024D0: 23 24 30 31 0D 53 54 34  20 4A 4D 50 20 43 4F 4E  |#$01.ST4 JMP CON|
000024E0: 20 3B 20 44 58 0D 3B 0D  3B 20 20 53 54 52 49 47  | ; DX.;.;  STRIG|
000024F0: 2C 20 28 53 54 4B 29 3D  3E 53 54 4B 20 24 30 34  |, (STK)=>STK $04|
00002500: 0D 53 54 52 49 47 20 4C  44 59 20 53 54 4C 2C 58  |.STRIG LDY STL,X|
00002510: 0D 20 4C 44 41 20 24 44  43 30 30 2C 59 0D 20 52  |. LDA $DC00,Y. R|
00002520: 4F 52 20 41 0D 20 52 4F  52 20 41 0D 20 52 4F 52  |OR A. ROR A. ROR|
00002530: 20 41 0D 20 52 4F 52 20  41 0D 20 41 4E 44 20 23  | A. ROR A. AND #|
00002540: 31 0D 20 45 4F 52 20 23  31 0D 20 53 54 41 20 53  |1. EOR #1. STA S|
00002550: 54 4C 2C 58 0D 20 4C 44  41 20 23 24 30 30 0D 20  |TL,X. LDA #$00. |
00002560: 53 54 41 20 53 54 48 2C  58 0D 20 52 54 53 0D 3B  |STA STH,X. RTS.;|
00002570: 0D 3B 20 20 49 4E 43 2C  20 53 54 4B 2B 31 3D 3E  |.;  INC, STK+1=>|
00002580: 53 54 4B 20 24 30 35 0D  49 4E 43 52 20 49 4E 43  |STK $05.INCR INC|
00002590: 20 53 54 4C 2C 58 0D 20  42 4E 45 20 49 4E 43 31  | STL,X. BNE INC1|
000025A0: 0D 20 49 4E 43 20 53 54  48 2C 58 0D 49 4E 43 31  |. INC STH,X.INC1|
000025B0: 20 52 54 53 0D 3B 0D 3B  20 20 44 45 43 2C 20 53  | RTS.;.;  DEC, S|
000025C0: 54 4B 2D 31 3D 3E 53 54  4B 20 24 30 36 0D 44 45  |TK-1=>STK $06.DE|
000025D0: 43 52 20 4C 44 41 20 53  54 4C 2C 58 0D 20 42 4E  |CR LDA STL,X. BN|
000025E0: 45 20 44 45 43 31 0D 20  44 45 43 20 53 54 48 2C  |E DEC1. DEC STH,|
000025F0: 58 0D 44 45 43 31 20 44  45 43 20 53 54 4C 2C 58  |X.DEC1 DEC STL,X|
00002600: 0D 20 52 54 53 0D 3B 0D  3B 20 20 44 55 50 2C 20  |. RTS.;.;  DUP, |
00002610: 53 54 4B 3D 3E 53 54 4B  2B 32 20 24 31 31 0D 44  |STK=>STK+2 $11.D|
00002620: 55 50 20 4C 44 41 20 53  54 4C 2C 58 0D 20 53 54  |UP LDA STL,X. ST|
00002630: 41 20 53 54 58 31 2C 58  0D 20 4C 44 41 20 53 54  |A STX1,X. LDA ST|
00002640: 48 2C 58 0D 20 53 54 41  20 53 54 58 32 2C 58 0D  |H,X. STA STX2,X.|
00002650: 20 52 54 53 0D 3B 0D 3B  20 20 44 50 4F 4B 45 2C  | RTS.;.;  DPOKE,|
00002660: 20 4F 50 52 3D 3E 4C 4F  43 28 53 54 4B 29 20 24  | OPR=>LOC(STK) $|
00002670: 33 34 0D 44 50 4F 4B 45  20 4C 44 59 20 23 24 30  |34.DPOKE LDY #$0|
00002680: 30 0D 20 4A 53 52 20 55  53 52 20 3B 53 54 4B 3D  |0. JSR USR ;STK=|
00002690: 3E 46 52 30 0D 20 4C 44  41 20 4F 50 4C 2C 58 0D  |>FR0. LDA OPL,X.|
000026A0: 20 53 54 41 20 28 46 52  30 29 2C 59 0D 20 49 4E  | STA (FR0),Y. IN|
000026B0: 59 0D 20 4C 44 41 20 4F  50 48 2C 58 0D 20 53 54  |Y. LDA OPH,X. ST|
000026C0: 41 20 28 46 52 30 29 2C  59 0D 20 52 54 53 0D 3B  |A (FR0),Y. RTS.;|
000026D0: 0D 3B 20 20 44 50 45 45  4B 2C 20 50 45 45 4B 28  |.;  DPEEK, PEEK(|
000026E0: 53 54 4B 29 3D 3E 53 54  4B 20 24 30 44 0D 44 50  |STK)=>STK $0D.DP|
000026F0: 45 45 4B 20 4C 44 59 20  23 24 30 30 0D 20 4A 53  |EEK LDY #$00. JS|
00002700: 52 20 55 53 52 0D 20 4C  44 41 20 28 46 52 30 29  |R USR. LDA (FR0)|
00002710: 2C 59 0D 20 53 54 41 20  53 54 4C 2C 58 0D 20 49  |,Y. STA STL,X. I|
00002720: 4E 59 0D 20 4C 44 41 20  28 46 52 30 29 2C 59 0D  |NY. LDA (FR0),Y.|
00002730: 20 53 54 41 20 53 54 48  2C 58 0D 20 52 54 53 0D  | STA STH,X. RTS.|
00002740: 3B 0D 3B 20 20 44 4F 4E  45 20 24 30 30 0D 44 4F  |;.;  DONE $00.DO|
00002750: 4E 45 20 50 4C 41 0D 20  50 4C 41 0D 20 4C 44 59  |NE PLA. PLA. LDY|
00002760: 20 46 52 30 0D 20 4C 44  41 20 46 52 30 2B 31 0D  | FR0. LDA FR0+1.|
00002770: 20 52 54 53 0D 3B 0D 3B  20 44 49 56 49 44 45 2C  | RTS.;.; DIVIDE,|
00002780: 20 4F 50 52 2F 53 54 4B  3D 3E 4F 50 52 20 24 32  | OPR/STK=>OPR $2|
00002790: 33 0D 44 49 56 20 4C 44  41 20 23 24 30 30 0D 20  |3.DIV LDA #$00. |
000027A0: 53 54 41 20 46 4C 41 47  0D 20 4A 53 52 20 44 49  |STA FLAG. JSR DI|
000027B0: 56 38 0D 20 44 45 58 0D  20 44 45 58 0D 20 4A 53  |V8. DEX. DEX. JS|
000027C0: 52 20 44 49 56 38 0D 20  49 4E 58 0D 20 49 4E 58  |R DIV8. INX. INX|
000027D0: 0D 20 4C 44 41 20 23 24  30 30 0D 20 53 54 41 20  |. LDA #$00. STA |
000027E0: 53 54 58 33 2C 58 0D 20  53 54 41 20 53 54 58 34  |STX3,X. STA STX4|
000027F0: 2C 58 0D 20 53 54 41 20  53 54 58 31 2C 58 0D 20  |,X. STA STX1,X. |
00002800: 53 54 41 20 53 54 58 32  2C 58 0D 20 4C 44 59 20  |STA STX2,X. LDY |
00002810: 23 24 31 30 20 3B 20 31  36 20 42 49 54 53 0D 44  |#$10 ; 16 BITS.D|
00002820: 49 56 31 20 41 53 4C 20  53 54 58 33 2C 58 0D 20  |IV1 ASL STX3,X. |
00002830: 52 4F 4C 20 53 54 58 34  2C 58 0D 20 41 53 4C 20  |ROL STX4,X. ASL |
00002840: 4F 50 4C 2C 58 0D 20 52  4F 4C 20 4F 50 48 2C 58  |OPL,X. ROL OPH,X|
00002850: 0D 20 52 4F 4C 20 53 54  58 31 2C 58 0D 20 52 4F  |. ROL STX1,X. RO|
00002860: 4C 20 53 54 58 32 2C 58  0D 20 53 45 43 0D 20 4C  |L STX2,X. SEC. L|
00002870: 44 41 20 53 54 58 31 2C  58 0D 20 53 42 43 20 53  |DA STX1,X. SBC S|
00002880: 54 4C 2C 58 0D 20 53 54  41 20 54 4D 50 31 20 3B  |TL,X. STA TMP1 ;|
00002890: 20 52 45 4D 41 49 4E 44  45 52 0D 20 4C 44 41 20  | REMAINDER. LDA |
000028A0: 53 54 58 32 2C 58 0D 20  53 42 43 20 53 54 48 2C  |STX2,X. SBC STH,|
000028B0: 58 0D 20 53 54 41 20 54  4D 50 32 0D 20 42 43 43  |X. STA TMP2. BCC|
000028C0: 20 44 49 56 32 0D 20 49  4E 43 20 53 54 58 33 2C  | DIV2. INC STX3,|
000028D0: 58 20 3B 20 52 45 53 55  4C 54 0D 20 4C 44 41 20  |X ; RESULT. LDA |
000028E0: 54 4D 50 31 20 3B 20 52  45 4D 20 3D 3E 20 44 49  |TMP1 ; REM => DI|
000028F0: 56 0D 20 53 54 41 20 53  54 58 31 2C 58 0D 20 4C  |V. STA STX1,X. L|
00002900: 44 41 20 54 4D 50 32 0D  20 53 54 41 20 53 54 58  |DA TMP2. STA STX|
00002910: 32 2C 58 0D 44 49 56 32  20 44 45 59 0D 20 42 4E  |2,X.DIV2 DEY. BN|
00002920: 45 20 44 49 56 31 0D 20  4C 44 41 20 53 54 58 34  |E DIV1. LDA STX4|
00002930: 2C 58 20 3B 20 52 45 53  55 4C 54 20 3D 3E 20 4F  |,X ; RESULT => O|
00002940: 50 52 0D 20 53 54 41 20  53 54 48 2C 58 0D 20 4C  |PR. STA STH,X. L|
00002950: 44 41 20 53 54 58 33 2C  58 0D 20 53 54 41 20 53  |DA STX3,X. STA S|
00002960: 54 4C 2C 58 0D 20 4C 44  41 20 46 4C 41 47 0D 20  |TL,X. LDA FLAG. |
00002970: 42 45 51 20 44 49 56 33  0D 20 4A 53 52 20 4E 45  |BEQ DIV3. JSR NE|
00002980: 47 0D 44 49 56 33 20 4A  4D 50 20 50 55 4E 43 48  |G.DIV3 JMP PUNCH|
00002990: 0D 3B 0D 44 49 56 38 20  4C 44 41 20 53 54 48 2C  |.;.DIV8 LDA STH,|
000029A0: 58 0D 20 42 50 4C 20 44  49 56 39 0D 20 4A 53 52  |X. BPL DIV9. JSR|
000029B0: 20 4E 45 47 0D 20 4C 44  41 20 23 24 30 31 0D 20  | NEG. LDA #$01. |
000029C0: 45 4F 52 20 46 4C 41 47  0D 20 53 54 41 20 46 4C  |EOR FLAG. STA FL|
000029D0: 41 47 0D 44 49 56 39 20  52 54 53 0D 3B 0D 3B 20  |AG.DIV9 RTS.;.; |
000029E0: 20 46 4F 52 2C 20 4F 50  52 3D 3E 56 41 52 28 59  | FOR, OPR=>VAR(Y|
000029F0: 29 2C 53 54 4B 3D 3E 4C  49 4D 20 24 37 30 0D 46  |),STK=>LIM $70.F|
00002A00: 4F 52 20 44 45 58 0D 20  44 45 58 0D 20 54 59 41  |OR DEX. DEX. TYA|
00002A10: 20 3B 20 56 41 52 20 49  4E 44 45 58 0D 20 41 53  | ; VAR INDEX. AS|
00002A20: 4C 20 41 0D 20 54 41 59  0D 20 4A 53 52 20 53 54  |L A. TAY. JSR ST|
00002A30: 4F 52 45 20 3B 20 4F 50  52 3D 3E 56 41 52 28 58  |ORE ; OPR=>VAR(X|
00002A40: 29 0D 20 53 54 59 20 59  53 41 56 45 0D 20 4C 44  |). STY YSAVE. LD|
00002A50: 59 20 46 4F 52 50 20 3B  20 46 4F 52 20 50 4E 54  |Y FORP ; FOR PNT|
00002A60: 52 0D 20 4C 44 41 20 53  54 58 31 2C 58 20 3B 20  |R. LDA STX1,X ; |
00002A70: 53 41 56 45 20 4C 49 4D  0D 20 53 54 41 20 46 4C  |SAVE LIM. STA FL|
00002A80: 4D 4C 2C 59 0D 20 4C 44  41 20 53 54 58 32 2C 58  |ML,Y. LDA STX2,X|
00002A90: 0D 20 53 54 41 20 46 4C  4D 48 2C 59 0D 20 4C 44  |. STA FLMH,Y. LD|
00002AA0: 41 20 50 43 4E 54 20 3B  20 53 41 56 45 20 50 43  |A PCNT ; SAVE PC|
00002AB0: 0D 20 53 54 41 20 46 50  43 4C 2C 59 0D 20 4C 44  |. STA FPCL,Y. LD|
00002AC0: 41 20 50 43 4E 54 2B 31  0D 20 53 54 41 20 46 50  |A PCNT+1. STA FP|
00002AD0: 43 48 2C 59 0D 20 4C 44  41 20 59 53 41 56 45 20  |CH,Y. LDA YSAVE |
00002AE0: 3B 20 53 41 56 45 20 56  41 52 23 0D 20 53 54 41  |; SAVE VAR#. STA|
00002AF0: 20 46 56 41 52 2C 59 0D  20 49 4E 59 20 3B 20 4E  | FVAR,Y. INY ; N|
00002B00: 45 58 54 20 46 53 54 41  43 4B 0D 20 49 4E 59 0D  |EXT FSTACK. INY.|
00002B10: 20 49 4E 59 0D 20 49 4E  59 0D 20 49 4E 59 0D 20  | INY. INY. INY. |
00002B20: 53 54 59 20 46 4F 52 50  0D 20 49 4E 58 0D 20 49  |STY FORP. INX. I|
00002B30: 4E 58 0D 20 52 54 53 0D  3B 0D 3B 20 20 4E 45 58  |NX. RTS.;.;  NEX|
00002B40: 54 2C 20 28 59 29 20 24  34 30 0D 4E 45 58 54 20  |T, (Y) $40.NEXT |
00002B50: 53 54 59 20 59 53 41 56  45 0D 20 41 53 4C 20 59  |STY YSAVE. ASL Y|
00002B60: 53 41 56 45 20 3B 20 56  41 52 20 49 4E 44 45 58  |SAVE ; VAR INDEX|
00002B70: 0D 20 53 54 58 20 58 53  41 56 45 0D 20 4C 44 59  |. STX XSAVE. LDY|
00002B80: 20 46 4F 52 50 0D 20 53  54 59 20 46 53 41 56 45  | FORP. STY FSAVE|
00002B90: 0D 4E 58 54 31 20 44 45  59 0D 20 44 45 59 0D 20  |.NXT1 DEY. DEY. |
00002BA0: 44 45 59 0D 20 44 45 59  0D 20 44 45 59 0D 20 53  |DEY. DEY. DEY. S|
00002BB0: 54 59 20 46 4F 52 50 0D  20 42 4D 49 20 4E 58 54  |TY FORP. BMI NXT|
00002BC0: 39 20 3B 20 45 52 52 4F  52 0D 20 4C 44 41 20 46  |9 ; ERROR. LDA F|
00002BD0: 56 41 52 2C 59 20 3B 20  46 49 4E 44 20 46 4F 52  |VAR,Y ; FIND FOR|
00002BE0: 20 45 4E 54 52 59 0D 20  43 4D 50 20 59 53 41 56  | ENTRY. CMP YSAV|
00002BF0: 45 0D 20 42 4E 45 20 4E  58 54 31 0D 20 4C 44 58  |E. BNE NXT1. LDX|
00002C00: 20 59 53 41 56 45 0D 20  49 4E 43 20 56 41 52 4C  | YSAVE. INC VARL|
00002C10: 2C 58 0D 20 42 4E 45 20  4E 58 54 32 0D 20 49 4E  |,X. BNE NXT2. IN|
00002C20: 43 20 56 41 52 48 2C 58  0D 4E 58 54 32 20 53 45  |C VARH,X.NXT2 SE|
00002C30: 43 0D 20 4C 44 41 20 46  4C 4D 4C 2C 59 0D 20 53  |C. LDA FLML,Y. S|
00002C40: 42 43 20 56 41 52 4C 2C  58 0D 20 4C 44 41 20 46  |BC VARL,X. LDA F|
00002C50: 4C 4D 48 2C 59 0D 20 53  42 43 20 56 41 52 48 2C  |LMH,Y. SBC VARH,|
00002C60: 58 0D 20 42 4D 49 20 4E  58 54 39 0D 20 4C 44 41  |X. BMI NXT9. LDA|
00002C70: 20 46 50 43 4C 2C 59 20  3B 20 47 4F 20 42 41 43  | FPCL,Y ; GO BAC|
00002C80: 4B 0D 20 53 54 41 20 50  43 4E 54 0D 20 4C 44 41  |K. STA PCNT. LDA|
00002C90: 20 46 50 43 48 2C 59 0D  20 53 54 41 20 50 43 4E  | FPCH,Y. STA PCN|
00002CA0: 54 2B 31 0D 20 4C 44 59  20 46 53 41 56 45 0D 20  |T+1. LDY FSAVE. |
00002CB0: 53 54 59 20 46 4F 52 50  0D 4E 58 54 39 20 4C 44  |STY FORP.NXT9 LD|
00002CC0: 58 20 58 53 41 56 45 0D  20 52 54 53 0D 3B 0D 3B  |X XSAVE. RTS.;.;|
00002CD0: 20 20 47 4F 54 4F 2C 20  59 20 24 34 42 0D 47 4F  |  GOTO, Y $4B.GO|
00002CE0: 54 4F 20 53 54 59 20 59  53 41 56 45 0D 20 4A 4D  |TO STY YSAVE. JM|
00002CF0: 50 20 47 4F 53 55 42 30  0D 3B 0D 3B 20 20 47 4F  |P GOSUB0.;.;  GO|
00002D00: 53 55 42 2C 20 50 43 2B  59 20 24 34 34 0D 47 4F  |SUB, PC+Y $44.GO|
00002D10: 53 55 42 20 53 54 59 20  59 53 41 56 45 0D 20 4C  |SUB STY YSAVE. L|
00002D20: 44 59 20 47 4F 50 0D 20  4C 44 41 20 50 43 4E 54  |DY GOP. LDA PCNT|
00002D30: 0D 20 53 54 41 20 47 50  43 4C 2C 59 0D 20 4C 44  |. STA GPCL,Y. LD|
00002D40: 41 20 50 43 4E 54 2B 31  0D 20 53 54 41 20 47 50  |A PCNT+1. STA GP|
00002D50: 43 48 2C 59 0D 20 44 45  59 0D 20 44 45 59 0D 20  |CH,Y. DEY. DEY. |
00002D60: 53 54 59 20 47 4F 50 0D  47 4F 53 55 42 30 20 4C  |STY GOP.GOSUB0 L|
00002D70: 44 59 20 59 53 41 56 45  0D 20 4C 44 41 20 4A 4D  |DY YSAVE. LDA JM|
00002D80: 50 48 49 2C 59 0D 20 42  45 51 20 47 4F 53 55 42  |PHI,Y. BEQ GOSUB|
00002D90: 33 0D 20 53 54 41 20 50  43 4E 54 2B 31 0D 20 4C  |3. STA PCNT+1. L|
00002DA0: 44 41 20 4A 4D 50 4C 4F  2C 59 0D 20 53 54 41 20  |DA JMPLO,Y. STA |
00002DB0: 50 43 4E 54 0D 20 52 54  53 0D 3B 0D 47 4F 53 55  |PCNT. RTS.;.GOSU|
00002DC0: 42 33 20 4C 44 41 20 50  43 53 56 45 0D 20 53 54  |B3 LDA PCSVE. ST|
00002DD0: 41 20 50 43 4E 54 0D 20  4C 44 41 20 50 43 53 56  |A PCNT. LDA PCSV|
00002DE0: 45 2B 31 0D 20 53 54 41  20 50 43 4E 54 2B 31 0D  |E+1. STA PCNT+1.|
00002DF0: 20 4C 44 59 20 23 30 0D  47 4F 53 55 42 31 20 4A  | LDY #0.GOSUB1 J|
00002E00: 53 52 20 53 43 41 4E 0D  20 43 4D 50 20 23 24 34  |SR SCAN. CMP #$4|
00002E10: 35 20 3B 20 53 42 52 3F  0D 20 42 4E 45 20 47 4F  |5 ; SBR?. BNE GO|
00002E20: 53 55 42 31 0D 20 4A 53  52 20 49 4E 43 50 43 0D  |SUB1. JSR INCPC.|
00002E30: 20 4C 44 41 20 28 50 43  4E 54 29 2C 59 0D 20 43  | LDA (PCNT),Y. C|
00002E40: 4D 50 20 59 53 41 56 45  0D 20 42 45 51 20 47 4F  |MP YSAVE. BEQ GO|
00002E50: 53 55 42 32 0D 20 4A 53  52 20 49 4E 43 50 43 0D  |SUB2. JSR INCPC.|
00002E60: 20 4A 4D 50 20 47 4F 53  55 42 31 0D 47 4F 53 55  | JMP GOSUB1.GOSU|
00002E70: 42 32 20 4C 44 59 20 59  53 41 56 45 0D 20 4C 44  |B2 LDY YSAVE. LD|
00002E80: 41 20 50 43 4E 54 0D 20  53 54 41 20 4A 4D 50 4C  |A PCNT. STA JMPL|
00002E90: 4F 2C 59 0D 20 4C 44 41  20 50 43 4E 54 2B 31 0D  |O,Y. LDA PCNT+1.|
00002EA0: 20 53 54 41 20 4A 4D 50  48 49 2C 59 0D 20 52 54  | STA JMPHI,Y. RT|
00002EB0: 53 0D 3B 0D 3B 20 20 52  45 54 55 52 4E 2C 20 24  |S.;.;  RETURN, $|
00002EC0: 30 31 0D 52 45 54 55 52  4E 20 4C 44 59 20 47 4F  |01.RETURN LDY GO|
00002ED0: 50 0D 20 49 4E 59 0D 20  49 4E 59 0D 20 4C 44 41  |P. INY. INY. LDA|
00002EE0: 20 47 50 43 4C 2C 59 0D  20 53 54 41 20 50 43 4E  | GPCL,Y. STA PCN|
00002EF0: 54 0D 20 4C 44 41 20 47  50 43 48 2C 59 0D 20 53  |T. LDA GPCH,Y. S|
00002F00: 54 41 20 50 43 4E 54 2B  31 0D 20 53 54 59 20 47  |TA PCNT+1. STY G|
00002F10: 4F 50 0D 20 52 54 53 0D  3B 0D 3B 20 20 55 53 52  |OP. RTS.;.;  USR|
00002F20: 2C 20 53 54 4B 3D 3E 46  52 30 20 24 32 45 0D 55  |, STK=>FR0 $2E.U|
00002F30: 53 52 20 4C 44 41 20 53  54 4C 2C 58 0D 20 53 54  |SR LDA STL,X. ST|
00002F40: 41 20 46 52 30 0D 20 4C  44 41 20 53 54 48 2C 58  |A FR0. LDA STH,X|
00002F50: 0D 20 53 54 41 20 46 52  30 2B 31 0D 20 52 54 53  |. STA FR0+1. RTS|
00002F60: 0D 3B 0D 3B 0D 3B 20 20  50 52 49 4E 54 20 2B 2F  |.;.;.;  PRINT +/|
00002F70: 2D 2C 20 53 54 4B 20 59  3D 23 42 4C 41 4E 4B 53  |-, STK Y=#BLANKS|
00002F80: 20 24 36 32 0D 3B 0D 3B  20 49 46 2C 20 53 47 4E  | $62.;.; IF, SGN|
00002F90: 28 4F 50 52 2D 53 54 4B  29 3D 59 20 24 37 31 0D  |(OPR-STK)=Y $71.|
00002FA0: 49 46 20 53 54 59 20 59  53 41 56 45 0D 20 4A 53  |IF STY YSAVE. JS|
00002FB0: 52 20 53 55 42 0D 20 44  45 58 0D 20 44 45 58 0D  |R SUB. DEX. DEX.|
00002FC0: 20 4A 53 52 20 53 47 4E  0D 20 49 4E 58 0D 20 49  | JSR SGN. INX. I|
00002FD0: 4E 58 0D 20 4C 44 41 20  4F 50 4C 2C 58 0D 49 46  |NX. LDA OPL,X.IF|
00002FE0: 39 20 43 4D 50 20 59 53  41 56 45 0D 20 42 45 51  |9 CMP YSAVE. BEQ|
00002FF0: 20 45 45 45 49 46 20 3B  20 54 52 55 45 0D 45 4C  | EEEIF ; TRUE.EL|
00003000: 53 45 20 4C 44 59 20 23  24 30 30 20 3B 45 4C 53  |SE LDY #$00 ;ELS|
00003010: 2C 20 24 37 42 0D 20 53  54 59 20 4C 45 56 45 4C  |, $7B. STY LEVEL|
00003020: 0D 49 46 31 20 4A 53 52  20 53 43 41 4E 20 3B 20  |.IF1 JSR SCAN ; |
00003030: 46 49 4E 44 20 45 4E 44  49 46 0D 20 43 4D 50 20  |FIND ENDIF. CMP |
00003040: 23 24 37 44 0D 20 42 45  51 20 45 49 46 0D 20 43  |#$7D. BEQ EIF. C|
00003050: 4D 50 20 23 24 37 43 20  3B 20 4F 52 20 53 55 50  |MP #$7C ; OR SUP|
00003060: 45 52 20 45 49 46 0D 20  42 45 51 20 45 45 45 49  |ER EIF. BEQ EEEI|
00003070: 46 0D 20 43 4D 50 20 23  24 37 42 20 3B 20 4F 52  |F. CMP #$7B ; OR|
00003080: 20 45 4C 53 45 0D 20 42  4E 45 20 49 46 32 0D 20  | ELSE. BNE IF2. |
00003090: 4C 44 41 20 4C 45 56 45  4C 0D 20 42 4E 45 20 49  |LDA LEVEL. BNE I|
000030A0: 46 31 0D 20 42 45 51 20  45 45 45 49 46 0D 49 46  |F1. BEQ EEEIF.IF|
000030B0: 32 20 43 4D 50 20 23 24  32 35 20 3B 20 49 46 54  |2 CMP #$25 ; IFT|
000030C0: 0D 20 42 45 51 20 49 46  33 0D 20 43 4D 50 20 23  |. BEQ IF3. CMP #|
000030D0: 24 32 36 20 3B 20 49 46  46 0D 20 42 45 51 20 49  |$26 ; IFF. BEQ I|
000030E0: 46 33 0D 20 43 4D 50 20  23 24 36 31 20 3B 20 49  |F3. CMP #$61 ; I|
000030F0: 46 30 0D 20 42 45 51 20  49 46 33 0D 20 43 4D 50  |F0. BEQ IF3. CMP|
00003100: 20 23 24 37 31 20 3B 20  49 46 0D 20 42 4E 45 20  | #$71 ; IF. BNE |
00003110: 49 46 31 0D 49 46 33 20  49 4E 43 20 4C 45 56 45  |IF1.IF3 INC LEVE|
00003120: 4C 20 3B 20 50 52 4F 43  45 53 53 20 49 46 0D 20  |L ; PROCESS IF. |
00003130: 42 4E 45 20 49 46 31 20  3B 20 41 4C 57 41 59 53  |BNE IF1 ; ALWAYS|
00003140: 20 42 52 41 4E 43 48 45  53 0D 45 49 46 20 44 45  | BRANCHES.EIF DE|
00003150: 43 20 4C 45 56 45 4C 20  3B 20 50 52 4F 43 45 53  |C LEVEL ; PROCES|
00003160: 53 20 45 49 46 53 0D 20  42 50 4C 20 49 46 31 20  |S EIFS. BPL IF1 |
00003170: 3B 20 41 4C 57 41 59 53  20 42 52 41 4E 43 48 45  |; ALWAYS BRANCHE|
00003180: 53 0D 50 52 4F 54 45 43  20 20 20 3B 20 24 34 44  |S.PROTEC   ; $4D|
00003190: 0D 45 45 45 49 46 20 20  20 20 3B 20 53 55 50 45  |.EEEIF    ; SUPE|
000031A0: 52 20 45 4E 44 49 46 20  24 37 43 0D 53 42 52 20  |R ENDIF $7C.SBR |
000031B0: 20 20 20 20 20 3B 20 4C  41 42 45 4C 20 4F 50 20  |     ; LABEL OP |
000031C0: 24 34 35 0D 45 4E 44 49  46 20 52 54 53 20 3B 20  |$45.ENDIF RTS ; |
000031D0: 45 4E 44 49 46 20 24 37  44 0D 3B 0D 3B 20 20 49  |ENDIF $7D.;.;  I|
000031E0: 46 54 2C 20 53 47 4E 28  53 54 4B 29 3D 31 20 24  |FT, SGN(STK)=1 $|
000031F0: 32 35 0D 49 46 54 20 4C  44 59 20 23 24 30 31 0D  |25.IFT LDY #$01.|
00003200: 3B 0D 3B 20 20 49 46 30  2C 20 53 47 4E 28 53 54  |;.;  IF0, SGN(ST|
00003210: 4B 29 3D 59 20 24 36 31  0D 49 46 30 20 53 54 59  |K)=Y $61.IF0 STY|
00003220: 20 59 53 41 56 45 0D 20  4A 53 52 20 53 47 4E 0D  | YSAVE. JSR SGN.|
00003230: 20 4C 44 41 20 53 54 4C  2C 58 0D 20 4A 4D 50 20  | LDA STL,X. JMP |
00003240: 49 46 39 0D 3B 0D 3B 20  20 49 46 46 2C 20 53 47  |IF9.;.;  IFF, SG|
00003250: 4E 28 53 54 4B 29 3D 30  20 24 32 36 0D 49 46 46  |N(STK)=0 $26.IFF|
00003260: 20 4C 44 59 20 23 24 30  30 0D 20 4A 4D 50 20 49  | LDY #$00. JMP I|
00003270: 46 30 0D 3B 0D 53 43 41  4E 20 4C 44 41 20 28 50  |F0.;.SCAN LDA (P|
00003280: 43 4E 54 29 2C 59 20 3B  59 20 4D 55 53 54 3D 30  |CNT),Y ;Y MUST=0|
00003290: 0D 20 43 4D 50 20 23 24  37 41 0D 20 42 43 53 20  |. CMP #$7A. BCS |
000032A0: 53 43 41 4E 33 0D 20 43  4D 50 20 23 24 34 30 0D  |SCAN3. CMP #$40.|
000032B0: 20 42 43 43 20 53 43 41  4E 33 0D 20 43 4D 50 20  | BCC SCAN3. CMP |
000032C0: 23 24 35 31 20 3B 4B 31  36 0D 20 42 45 51 20 53  |#$51 ;K16. BEQ S|
000032D0: 43 41 4E 34 0D 53 43 41  4E 31 20 43 4D 50 20 23  |CAN4.SCAN1 CMP #|
000032E0: 24 34 36 20 3B 20 54 58  54 0D 20 42 4E 45 20 53  |$46 ; TXT. BNE S|
000032F0: 43 41 4E 32 0D 53 43 41  4E 34 20 4A 53 52 20 49  |CAN2.SCAN4 JSR I|
00003300: 4E 43 50 43 0D 53 43 41  4E 32 20 4A 53 52 20 49  |NCPC.SCAN2 JSR I|
00003310: 4E 43 50 43 0D 53 43 41  4E 33 20 4A 53 52 20 49  |NCPC.SCAN3 JSR I|
00003320: 4E 43 50 43 0D 20 4C 44  41 20 28 50 43 4E 54 29  |NCPC. LDA (PCNT)|
00003330: 2C 59 0D 20 52 54 53 0D  3B 0D 3B 20 50 4F 53 54  |,Y. RTS.;.; POST|
00003340: 58 54 2C 20 59 2C 59 3D  43 52 58 2C 43 52 59 20  |XT, Y,Y=CRX,CRY |
00003350: 24 34 36 0D 54 50 4F 53  20 53 54 59 20 43 4F 4C  |$46.TPOS STY COL|
00003360: 43 52 53 20 3B 20 43 52  58 0D 20 4A 53 52 20 49  |CRS ; CRX. JSR I|
00003370: 4E 43 50 43 0D 20 4C 44  59 20 23 30 30 0D 20 4C  |NCPC. LDY #00. L|
00003380: 44 41 20 28 50 43 4E 54  29 2C 59 0D 20 53 54 41  |DA (PCNT),Y. STA|
00003390: 20 52 4F 57 43 52 53 20  3B 20 43 52 59 0D 20 52  | ROWCRS ; CRY. R|
000033A0: 54 53 0D 3B 0D 3B 20 53  57 41 50 2C 20 4F 50 52  |TS.;.; SWAP, OPR|
000033B0: 3D 3E 53 54 4B 2C 20 53  54 4B 3D 3E 4F 50 52 20  |=>STK, STK=>OPR |
000033C0: 24 30 45 0D 53 57 41 50  20 4C 44 59 20 4F 50 4C  |$0E.SWAP LDY OPL|
000033D0: 2C 58 0D 20 4C 44 41 20  53 54 4C 2C 58 0D 20 53  |,X. LDA STL,X. S|
000033E0: 54 41 20 4F 50 4C 2C 58  0D 20 54 59 41 0D 20 53  |TA OPL,X. TYA. S|
000033F0: 54 41 20 53 54 4C 2C 58  0D 20 4C 44 59 20 4F 50  |TA STL,X. LDY OP|
00003400: 48 2C 58 0D 20 4C 44 41  20 53 54 48 2C 58 0D 20  |H,X. LDA STH,X. |
00003410: 53 54 41 20 4F 50 48 2C  58 0D 20 54 59 41 0D 20  |STA OPH,X. TYA. |
00003420: 53 54 41 20 53 54 48 2C  58 0D 20 52 54 53 0D 3B  |STA STH,X. RTS.;|
00003430: 0D 3B 20 20 41 4E 44 2C  20 53 54 4B 26 59 3D 3E  |.;  AND, STK&Y=>|
00003440: 53 54 4B 20 24 34 38 0D  4C 41 4E 44 20 54 59 41  |STK $48.LAND TYA|
00003450: 0D 20 41 4E 44 20 53 54  4C 2C 58 0D 20 53 54 41  |. AND STL,X. STA|
00003460: 20 53 54 4C 2C 58 0D 20  4C 44 41 20 23 24 30 30  | STL,X. LDA #$00|
00003470: 0D 20 53 54 41 20 53 54  48 2C 58 0D 20 52 54 53  |. STA STH,X. RTS|
00003480: 0D 3B 0D 3B 20 41 4E 44  32 2C 20 53 54 4B 26 4F  |.;.; AND2, STK&O|
00003490: 50 52 3D 3E 4F 50 52 2C  20 24 32 41 0D 4C 41 4E  |PR=>OPR, $2A.LAN|
000034A0: 44 32 20 4C 44 41 20 53  54 4C 2C 58 0D 20 41 4E  |D2 LDA STL,X. AN|
000034B0: 44 20 4F 50 4C 2C 58 0D  20 53 54 41 20 4F 50 4C  |D OPL,X. STA OPL|
000034C0: 2C 58 0D 20 4C 44 41 20  53 54 48 2C 58 0D 20 41  |,X. LDA STH,X. A|
000034D0: 4E 44 20 4F 50 48 2C 58  0D 20 53 54 41 20 4F 50  |ND OPH,X. STA OP|
000034E0: 48 2C 58 0D 20 52 54 53  0D 3B 0D 3B 20 20 4F 52  |H,X. RTS.;.;  OR|
000034F0: 2C 20 53 54 4B 5E 59 3D  3E 53 54 4B 20 24 34 39  |, STK^Y=>STK $49|
00003500: 0D 4C 4F 52 20 54 59 41  0D 20 4F 52 41 20 53 54  |.LOR TYA. ORA ST|
00003510: 4C 2C 58 0D 20 53 54 41  20 53 54 4C 2C 58 0D 20  |L,X. STA STL,X. |
00003520: 52 54 53 0D 3B 0D 3B 20  20 58 4F 52 2C 20 53 54  |RTS.;.;  XOR, ST|
00003530: 4B 20 58 4F 52 20 59 3D  3E 53 54 4B 20 24 34 41  |K XOR Y=>STK $4A|
00003540: 0D 4C 58 4F 52 20 54 59  41 0D 20 45 4F 52 20 53  |.LXOR TYA. EOR S|
00003550: 54 4C 2C 58 0D 20 53 54  41 20 53 54 4C 2C 58 0D  |TL,X. STA STL,X.|
00003560: 20 52 54 53 0D 3B 0D 3B  20 43 4C 52 2C 20 43 4C  | RTS.;.; CLR, CL|
00003570: 45 41 52 20 53 54 41 43  4B 20 24 37 45 0D 43 4C  |EAR STACK $7E.CL|
00003580: 52 20 4C 44 58 20 23 24  46 45 0D 20 52 54 53 0D  |R LDX #$FE. RTS.|
00003590: 3B 0D 3B 20 52 55 4E 2C  20 53 54 41 52 54 20 4F  |;.; RUN, START O|
000035A0: 56 45 52 20 24 37 46 0D  52 55 4E 20 4C 44 41 20  |VER $7F.RUN LDA |
000035B0: 50 43 53 56 45 2B 31 0D  20 53 54 41 20 50 43 4E  |PCSVE+1. STA PCN|
000035C0: 54 2B 31 0D 20 4C 44 41  20 50 43 53 56 45 0D 20  |T+1. LDA PCSVE. |
000035D0: 53 54 41 20 50 43 4E 54  0D 52 55 4E 31 20 4C 44  |STA PCNT.RUN1 LD|
000035E0: 58 20 23 24 37 38 0D 20  53 54 58 20 47 4F 50 0D  |X #$78. STX GOP.|
000035F0: 20 53 54 58 20 56 4C 49  4D 0D 20 4C 44 58 20 23  | STX VLIM. LDX #|
00003600: 24 30 30 0D 20 53 54 58  20 56 50 4C 55 53 0D 20  |$00. STX VPLUS. |
00003610: 53 54 58 20 46 4F 52 50  0D 20 44 45 58 0D 20 44  |STX FORP. DEX. D|
00003620: 45 58 0D 20 52 54 53 0D  3B 0D 20 2E 45 4E 44 0D  |EX. RTS.;. .END.|
;  MAINLINE.;  07/24/84 AGI.;  BIG VTABL
E !!!.;.;  ADDED NEW JUMP AND JSR LOGIC 
!.;.;  DEFINE LABELS.STK = BASE+$80 ; EX
PRESSION STACK.STL = STK ; CURRENT VALUE
 (LOW).STH = STK+1 ; CURRENT VALUE (HIGH
).STX1 = STK+2 ; EXTENDED STACK.STX2 = S
TK+3.STX3 = STK+4.STX4 = STK+5.TMP1 = ST
K-3 ; 24 BIT WORK ARE.TMP2 = STK-2.TMP3 
= STK-1.OPL = STK-2 ; OPERATOR (LOW).OPH
 = OPL+1 ; OPERATOR (HIGH).VAR = BASE+$1
00 ; VARIABLE TABLE.VARL = VAR.VARH = VA
R+1.JMPHI = BASE+$200.JMPLO = BASE+$220.
OPTBL = BASE+$240.PCNT = $9E ; PGM COUNT
ER (USES TAPE ERROR REGS).OPER = BASE+$F
0 ; CURRENT OPERATOR.ARG = OPER+1 ; ARGU
MENT.XSAVE = OPER+2.YSAVE = OPER+3.FORP 
= OPER+4.FSAVE = OPER+5.GOP = OPER+6.FLA
G = OPER+7.VPLUS = OPER+8 ; VARIABLE OFF
SET.VLIM = OPER+9 ; OFFSET LIMIT.PCSVE =
 OPER+10.LIB = OPER+14.LEVEL = OPER+14.F
LML = BASE ; FOR STACK.FLMH = FLML+1 ;LI
MIT.FPCL = FLML+2.FPCH = FLML+3 ; SAVE P
C.FVAR = FLML+4 ; VAR #.GPCL = FLML ; GO
SUB SAVE PC.GPCH = FLML+1.FR0 = $61.;.RA
NDOM = $D012.SP0X = $8650 ; 24 SPRITE EX
TENSION.SP0Y = $8651.MSBREG = $86B4 ; 4 
REGS-8, 4, 8, 4.ROWCRS = $3FC ; SIDTRAN 
LINE POINTER.COLCRS = $3FD ; SIDTRAN COL
UMN IN LINE.TXT = 648 ; START PAGE OF SC
REEN IMAGE.BUFR = $2A7.NL = $2FE.NH = NL
+1. * = OPTBL. .WORD DONE-1 ; $00. .WORD
 RETURN-1. .WORD NEG-1. .WORD DONE-1. .W
ORD STRIG-1. .WORD INCR-1. .WORD DECR-1.
 .WORD BYTX-1. .WORD RND-1 ; $08. .WORD 
ABS-1. .WORD SGN-1. .WORD PEEK-1. .WORD 
DONE-1. .WORD DPEEK-1. .WORD SWAP-1. .WO
RD WRD-1. .WORD STICK-1 ; $10. .WORD DUP
-1. .WORD DONE-1. .WORD DONE-1. .WORD DO
NE-1. .WORD DONE-1. .WORD DONE-1. .WORD 
DONE-1. .WORD DONE-1 ; $18. .WORD DONE-1
. .WORD DONE-1. .WORD DONE-1. .WORD DONE
-1. .WORD DONE-1. .WORD DONE-1. .WORD DO
NE-1. .WORD ADD-1 ; $20. .WORD SUB-1. .W
ORD MULT-1. .WORD DIV-1. .WORD DONE-1. .
WORD IFT-1. .WORD IFF-1. .WORD DONE-1 ; 
QPRNT-1. .WORD SIN-1 ; $28. .WORD COS-1.
 .WORD LAND2-1. .WORD POP-1. .WORD DONE-
1 ; DONT USE !! ",". .WORD DONE-1 ; COLO
R. .WORD USR-1. .WORD ATN-1. .WORD POKE-
1 ; $30. .WORD DONE-1 ; CDRAW. .WORD DON
E-1 ; QPLOT. .WORD DONE-1. .WORD DPOKE-1
. .WORD RANGE-1. .WORD POKEY-1. .WORD DO
NE-1 ; OBJECT. .WORD DONE-1 ; $38. .WORD
 DONE-1. .WORD DONE-1. .WORD DONE-1. .WO
RD DONE-1. .WORD DONE-1. .WORD DONE-1. .
WORD DONE-1. .WORD NEXT-1 ; $40. .WORD S
HIFTR-1. .WORD SHIFTL-1. .WORD DONE-1. .
WORD GOSUB-1. .WORD SBR-1. .WORD TPOS-1.
 .WORD DONE-1. .WORD LAND-1 ; $48. .WORD
 LOR-1. .WORD LXOR-1. .WORD GOTO-1. .WOR
D SHR0-1. .WORD PROTEC-1. .WORD DONE-1 ;
 BITX. .WORD DONE-1 ; CLEAR. .WORD CON-1
   ; $50. .WORD CON16-1. .WORD CONP-1. .
WORD DONE-1. .WORD DONE-1. .WORD DONE-1.
 .WORD DONE-1. .WORD DONE-1. .WORD DONE-
1 ; $58. .WORD DONE-1. .WORD DONE-1. .WO
RD DONE-1. .WORD DONE-1. .WORD DONE-1. .
WORD DONE-1. .WORD DONE-1. .WORD OFFSET-
1 ;$60. .WORD IF0-1. .WORD DONE-1 ; PRPM
. .WORD CALL-1. .WORD DONE-1 ; ROTATE. .
WORD SPRX-1. .WORD SPRY-1. .WORD DONE-1.
 .WORD DONE-1 ;$68. .WORD DONE-1. .WORD 
DONE-1. .WORD DONE-1. .WORD DONE-1. .WOR
D DONE-1. .WORD DONE-1. .WORD DONE-1. .W
ORD FOR-1 ;$70. .WORD IF-1. .WORD RNGY-1
. .WORD DONE-1. .WORD DONE-1. .WORD DONE
-1. .WORD DONE-1. .WORD DONE-1. .WORD DO
NE-1 ;$78. .WORD DONE-1. .WORD DONE-1. .
WORD ELSE-1. .WORD EEEIF-1. .WORD ENDIF-
1. .WORD CLR-1. .WORD RUN-1.; ----------
-------------------.;  MAIN. * = BASE+$3
40. JMP MAIN.;JMP LOOK   ***.;JMP SET   
 ***.;JMP QP.;.MAIN LDA $8001. STA PCNT+
1. STA PCSVE+1. LDA $8000. STA PCNT. STA
 PCSVE. JSR RUN1.LOOP JMP EXECUT.; -----
------------------------.; RETURN VAR VA
LUE.;LOOK LDA $8000    <<<<<<<<.;ASL A.;
TAX.;LDA VARL,X.;TAY.;LDA VARH,X.;RTS.; 
-----------------------------.;  STORE V
AR VALUE.;SET LDA $8000    <<<<<<<<<.;AS
L A.;TAY.;LDA $8003.;STA VARH,Y.;LDA $80
02.;STA VARL,Y.;RTS.; ------------------
-----------.;  EXECUTE 1 INSTRUCTION.EXE
CUT LDY #$00. LDA (PCNT),Y ;GET OPERATOR
. STA OPER. BIT OPER ; TEST OPERATOR. BP
L EX1. ASL A ; LOAD/STORE VARIABLE. AND 
#$7F. TAY. BVS EX0. INX. INX. JSR LOAD. 
JMP EXRTS.EX0 JSR STORE. JMP POP1.;-----
-----------------------.EX1 BVC EX2 ; NO
 ARG. CMP #$7A. BCS SPEC. JSR INCPC ; IN
CREMENT PC. LDA (PCNT),Y. STA ARG.EX2 JS
R GO ; GO TO OPERATOR.EXDONE LDA OPER. A
SL A. ASL A. STA OPER. BIT OPER. BMI EX4
 ; POP OR POPX2. BVC EXRTS ; NO.EPUSH IN
X. INX. JMP EXRTS.EX4 DEX. DEX. BVC EXRT
S.POP1 DEX. DEX.EXRTS JSR INCPC. JMP EXE
CUT.;.SPEC JSR GO. LDA OPER. CMP #$7F. B
EQ SPEC1. JSR INCPC.SPEC1 JMP EXECUT.;--
--------------------------.INCPC INC PCN
T. BNE INCPC1. INC PCNT+1.INCPC1 RTS.;--
--------------------------.GO LDA OPER. 
ASL A. TAY. LDA OPTBL+1,Y. PHA. LDA OPTB
L,Y. PHA. LDY ARG. RTS ; GO !!.; -------
----------------------.;  INTEGER SUBROU
TINES.;.;  LOAD, VAR(Y+VPLUS)=>STK $80-$
BF.LOAD CPY VLIM. BMI LDLO. TYA. CLC. AD
C VPLUS. TAY.LDLO LDA VARL,Y. STA STL,X.
 LDA VARH,Y. STA STH,X. RTS.;.;  STORE, 
STK=>VAR(Y+VPLUS) $C0-$FF.STORE CPY VLIM
. BMI STLO. TYA. CLC. ADC VPLUS. TAY.STL
O LDA STL,X. STA VARL,Y. LDA STH,X. STA 
VARH,Y. RTS.;.; OFFSET, STK=>VPLUS Y=>VL
IM $60.OFFSET TYA. ASL A. STA VLIM. LDA 
STL,X. ASL A. STA VPLUS. RTS.;.;  ADD, S
TK+OPR=>OPR $20.ADD CLC. LDA STL,X. ADC 
OPL,X. STA OPL,X. LDA STH,X. ADC OPH,X. 
STA OPH,X. RTS.;.;  SUB, OPR-STK=>OPR $2
1.SUB SEC. LDA OPL,X. SBC STL,X. STA OPL
,X. LDA OPH,X. SBC STH,X. STA OPH,X. RTS
.;.;  MULT, STK*OPR=>OPR $22.; 16 BIT PR
ECISION.MULT LDY #$10.M2 LDA #$00. STA S
TX2,X. STA STX1,X.MULT2 LDA STL,X. LSR A
. BCC MULT4 ;BIT OFF. CLC. LDA STX1,X. A
DC OPL,X. STA STX1,X. LDA STX2,X. ADC OP
H,X. STA STX2,X.MULT4 ROR STX2,X. ROR ST
X1,X. ROR STH,X. ROR STL,X. DEY. BNE MUL
T2.PUNCH LDA STL,X. STA OPL,X. LDA STH,X
. STA OPH,X. RTS.;.;  SHIFT RIGHT, STK/(
2^Y)=>STK $41.SHIFTR LDA STH,X. ROL A. R
OR STH,X. ROR STL,X. DEY. BNE SHIFTR. RT
S.;.; SHIFT RIGHT POSITIVE, $4C.SHR0 = *
. LSR STH,X. ROR STL,X. DEY. BNE SHR0. R
TS.;.;  SHIFT LEFT, STK*(2^Y)=STK $42.SH
IFTL = *. ASL STL,X. ROL STH,X. DEY. BNE
 SHIFTL. RTS.;.; NEGATE, -STK=>STK $02.N
EG SEC. LDA #$0. SBC STL,X. STA STL,X. L
DA #$0. SBC STH,X. STA STH,X. RTS.;.NEGO
PR SEC. LDA #0. SBC OPL,X. STA OPL,X. LD
A #$0. SBC OPH,X. STA OPH,X. RTS.;.;  BI
T, FIRST BIT SET, $5E.;BITX LDY #0.; TYA
.; STA STH,X.;BIT1 LSR STL,X.; BCS BIT2.
; INY.; CPY #8.; BMI BIT1.;BIT2 TYA.; ST
A STL,X.; RTS.;.; CALL, ASM SUBROUTINE; 
Y=PUSH FLAG.CALL DEY ; TEST FOR ARG. BMI
 CALL1. LDA STL,X. STA $8000. LDA STH,X.
 STA $8001. DEX. DEX.CALL1 = *. LDA STL,
X. BNE CALL2. DEC STH,X.CALL2 LDA STH,X.
 PHA. LDY STL,X. DEY. TYA. PHA. RTS.;.; 
 CONSTANT-8 BITS, Y=>STK 0-255 $52.CONP 
LDA #0. INX. INX. STA STH,X. TYA. STA ST
L,X. DEX. DEX. RTS.;.;  CONSTANT-8 BITS,
 Y=>STK 127/-128 $50.CON INX. INX. JSR C
ON0. DEX. DEX.POP RTS ; POP,  $2B.;.CON0
 LDA #$00. STA STH,X. TYA. BPL CON1. DEC
 STH,X ; NEGATIVE CONST.CON1 STA STL,X ;
$00 OR $FF. RTS.;.; CONSTANT-16 BITS, Y,
A=>STK $51.CON16 TYA. INX. INX. STA STL,
X. JSR INCPC. LDY #$00. LDA (PCNT),Y. ST
A STH,X. DEX. DEX. RTS.;.;.;.; SPRITE CO
MMANDS.;.BMASK .BYTE $FE,$01,$FD,$02,$FB
,$04,$F7,$08. .BYTE $EF,$10,$DF,$20,$BF,
$40,$7F,$80. .BYTE $FE,$01,$FD,$02,$FB,$
04,$F7,$08. .BYTE $FE,$01,$FD,$02,$FB,$0
4,$F7,$08. .BYTE $EF,$10,$DF,$20,$BF,$40
,$7F,$80. .BYTE $FE,$01,$FD,$02,$FB,$04,
$F7,$08.MOFST .WORD 0,0,0,0,0,0,0,0. .WO
RD 1,1,1,1. .WORD 2,2,2,2,2,2,2,2. .WORD
 3,3,3,3.;.; SPX, STK => SPREGX [Y]( OR 
[VAR[Y]] ).;.SPRX = *. JSR SP2Y ; GET SP
RITE NUMBER OFFSET. LDA STL,X. STA SP0X,
Y ; STORE LS BYTE. LDA BMASK+1,Y ; STORE
 MS BIT. PHA. LDA BMASK,Y. PHA. LDA MOFS
T,Y. TAY. PLA. AND MSBREG,Y. STA TMP1. L
DA STH,X. ROR A. PLA. BCC SPX1 ; SET MSB
. ORA TMP1. STA TMP1.SPX1 LDA TMP1. STA 
MSBREG,Y. RTS.;.;.; SPY, STK => SPREGY [
Y]( OR VAR).SPRY = *. JSR SP2Y. LDA STL,
X. STA SP0Y,Y. RTS.;.SP2Y = *. LDA ARG ;
 IF ARG > 127, ARG IS SPRITE. BMI SP2Y1.
 ASL A ; ELSE VAR [ARG] IS SPRITE NUMBER
. TAY. LDA VARL,Y.SP2Y1 = *. ASL A. TAY.
 RTS.;.;.; WORD, WORD(STK)=>STK $0F.WRD 
LDY STL,X. JMP CON0.;.;  RND, STK*RND=>S
TK $08.RND INX ; FAKE STACK. INX. LDA RA
NDOM.RNDE STA STL,X. LDA #$00. STA STH,X
. STA TMP1. LDA OPH,X. BPL RND2. JSR NEG
OPR ; ABS(OPR). INC TMP1.RND2 LDY #8. JS
R M2 ; DO MULT. LDA STX2,X. STA OPH,X. L
DA STX1,X  ; NORMALIZE. STA OPL,X. LDA T
MP1. BEQ RND3. JSR NEGOPR.RND3 DEX ; RES
TORE STACK. DEX. RTS.;.;.BYTX LDA #$00 ;
  BYTE, STK&FF=>STK $07. STA STH,X ; 0. 
RTS.;.;.;  ABS, ABS(STK)=>STK $09.ABS LD
A STH,X. BPL ABS1. JSR NEG ; NEGATE IF N
EG.ABS1 RTS.;.;  SGN, SGN(STK)=>STK $0A.
SGN LDA STH,X. BPL SGN1. LDY #$FF ;<0. J
MP CON0.SGN1 BEQ SGN2. LDY #$01. JMP CON
0 ;>0.SGN2 LDA STL,X. BNE SGN1. LDY #$00
 ;=0. JMP CON0.;.;  PEEK, PEEK(STK)=>STK
 $0B.PEEK JSR USR ;STK=>FR0. LDA #$00. S
TA STH,X. LDY #$00. LDA (FR0),Y. STA STL
,X. RTS.;.;  POKE, OPR=>LOC(STK) $30.POK
E JSR USR ;STK=>FR0. LDY #$00.POKE0 LDA 
OPL,X. STA (FR0),Y. RTS.;.POKEY JSR USR.
 LDY VARL. JMP POKE0.;.; RANGE, VALUE, O
PR=LO STK=HI $35.; POSITIVE VALUES ONLY 
!!.RANGE LDA OPH-2,X. BMI ORNGLO. CMP ST
H,X. BNE CPHI. LDA OPL-2,X. CMP STL,X.CP
HI BCS ORNGHI. LDA OPH-2,X. CMP OPH,X. B
NE CPLO. LDA OPL-2,X. CMP OPL,X.CPLO BCC
 ORNGLO. RTS.;.ORNGHI LDA STH,X. STA OPH
-2,X. LDA STL,X. STA OPL-2,X. RTS.ORNGLO
 LDA OPH,X. STA OPH-2,X. LDA OPL,X. STA 
OPL-2,X. RTS.;.;  RANGEY, VALUE, OPR=LO 
STK=HI $72.; POSITIVE VALUES ONLY !!.RNG
Y LDA OPH-2,X. BMI ORNG. CMP STH,X. BNE 
CP0HI. LDA OPL-2,X. CMP STL,X.CP0HI BCS 
ORNG. LDA OPH-2,X. CMP OPH,X. BNE CP0LO.
 LDA OPL-2,X. CMP OPL,X.CP0LO BCC ORNG. 
RTS.ORNG LDA #0. STA OPH-2,X. TYA. STA O
PL-2,X. RTS.;.;  STICK, (STK)=>STK-X,OPR
-Y $10.STICK LDY STL,X. LDA $DC00,Y. LDY
 #$00. ROR A. BCS ST1. LDY #$FF.ST1 ROR 
A. BCS ST2. LDY #$01.ST2 PHA. JSR CON0 ;
 DY. PLA. LDY #$00. ROR A. BCS ST3. DEY.
ST3 ROR A. BCS ST4. LDY #$01.ST4 JMP CON
 ; DX.;.;  STRIG, (STK)=>STK $04.STRIG L
DY STL,X. LDA $DC00,Y. ROR A. ROR A. ROR
 A. ROR A. AND #1. EOR #1. STA STL,X. LD
A #$00. STA STH,X. RTS.;.;  INC, STK+1=>
STK $05.INCR INC STL,X. BNE INC1. INC ST
H,X.INC1 RTS.;.;  DEC, STK-1=>STK $06.DE
CR LDA STL,X. BNE DEC1. DEC STH,X.DEC1 D
EC STL,X. RTS.;.;  DUP, STK=>STK+2 $11.D
UP LDA STL,X. STA STX1,X. LDA STH,X. STA
 STX2,X. RTS.;.;  DPOKE, OPR=>LOC(STK) $
34.DPOKE LDY #$00. JSR USR ;STK=>FR0. LD
A OPL,X. STA (FR0),Y. INY. LDA OPH,X. ST
A (FR0),Y. RTS.;.;  DPEEK, PEEK(STK)=>ST
K $0D.DPEEK LDY #$00. JSR USR. LDA (FR0)
,Y. STA STL,X. INY. LDA (FR0),Y. STA STH
,X. RTS.;.;  DONE $00.DONE PLA. PLA. LDY
 FR0. LDA FR0+1. RTS.;.; DIVIDE, OPR/STK
=>OPR $23.DIV LDA #$00. STA FLAG. JSR DI
V8. DEX. DEX. JSR DIV8. INX. INX. LDA #$
00. STA STX3,X. STA STX4,X. STA STX1,X. 
STA STX2,X. LDY #$10 ; 16 BITS.DIV1 ASL 
STX3,X. ROL STX4,X. ASL OPL,X. ROL OPH,X
. ROL STX1,X. ROL STX2,X. SEC. LDA STX1,
X. SBC STL,X. STA TMP1 ; REMAINDER. LDA 
STX2,X. SBC STH,X. STA TMP2. BCC DIV2. I
NC STX3,X ; RESULT. LDA TMP1 ; REM => DI
V. STA STX1,X. LDA TMP2. STA STX2,X.DIV2
 DEY. BNE DIV1. LDA STX4,X ; RESULT => O
PR. STA STH,X. LDA STX3,X. STA STL,X. LD
A FLAG. BEQ DIV3. JSR NEG.DIV3 JMP PUNCH
.;.DIV8 LDA STH,X. BPL DIV9. JSR NEG. LD
A #$01. EOR FLAG. STA FLAG.DIV9 RTS.;.; 
 FOR, OPR=>VAR(Y),STK=>LIM $70.FOR DEX. 
DEX. TYA ; VAR INDEX. ASL A. TAY. JSR ST
ORE ; OPR=>VAR(X). STY YSAVE. LDY FORP ;
 FOR PNTR. LDA STX1,X ; SAVE LIM. STA FL
ML,Y. LDA STX2,X. STA FLMH,Y. LDA PCNT ;
 SAVE PC. STA FPCL,Y. LDA PCNT+1. STA FP
CH,Y. LDA YSAVE ; SAVE VAR#. STA FVAR,Y.
 INY ; NEXT FSTACK. INY. INY. INY. INY. 
STY FORP. INX. INX. RTS.;.;  NEXT, (Y) $
40.NEXT STY YSAVE. ASL YSAVE ; VAR INDEX
. STX XSAVE. LDY FORP. STY FSAVE.NXT1 DE
Y. DEY. DEY. DEY. DEY. STY FORP. BMI NXT
9 ; ERROR. LDA FVAR,Y ; FIND FOR ENTRY. 
CMP YSAVE. BNE NXT1. LDX YSAVE. INC VARL
,X. BNE NXT2. INC VARH,X.NXT2 SEC. LDA F
LML,Y. SBC VARL,X. LDA FLMH,Y. SBC VARH,
X. BMI NXT9. LDA FPCL,Y ; GO BACK. STA P
CNT. LDA FPCH,Y. STA PCNT+1. LDY FSAVE. 
STY FORP.NXT9 LDX XSAVE. RTS.;.;  GOTO, 
Y $4B.GOTO STY YSAVE. JMP GOSUB0.;.;  GO
SUB, PC+Y $44.GOSUB STY YSAVE. LDY GOP. 
LDA PCNT. STA GPCL,Y. LDA PCNT+1. STA GP
CH,Y. DEY. DEY. STY GOP.GOSUB0 LDY YSAVE
. LDA JMPHI,Y. BEQ GOSUB3. STA PCNT+1. L
DA JMPLO,Y. STA PCNT. RTS.;.GOSUB3 LDA P
CSVE. STA PCNT. LDA PCSVE+1. STA PCNT+1.
 LDY #0.GOSUB1 JSR SCAN. CMP #$45 ; SBR?
. BNE GOSUB1. JSR INCPC. LDA (PCNT),Y. C
MP YSAVE. BEQ GOSUB2. JSR INCPC. JMP GOS
UB1.GOSUB2 LDY YSAVE. LDA PCNT. STA JMPL
O,Y. LDA PCNT+1. STA JMPHI,Y. RTS.;.;  R
ETURN, $01.RETURN LDY GOP. INY. INY. LDA
 GPCL,Y. STA PCNT. LDA GPCH,Y. STA PCNT+
1. STY GOP. RTS.;.;  USR, STK=>FR0 $2E.U
SR LDA STL,X. STA FR0. LDA STH,X. STA FR
0+1. RTS.;.;.;  PRINT +/-, STK Y=#BLANKS
 $62.;.; IF, SGN(OPR-STK)=Y $71.IF STY Y
SAVE. JSR SUB. DEX. DEX. JSR SGN. INX. I
NX. LDA OPL,X.IF9 CMP YSAVE. BEQ EEEIF ;
 TRUE.ELSE LDY #$00 ;ELS, $7B. STY LEVEL
.IF1 JSR SCAN ; FIND ENDIF. CMP #$7D. BE
Q EIF. CMP #$7C ; OR SUPER EIF. BEQ EEEI
F. CMP #$7B ; OR ELSE. BNE IF2. LDA LEVE
L. BNE IF1. BEQ EEEIF.IF2 CMP #$25 ; IFT
. BEQ IF3. CMP #$26 ; IFF. BEQ IF3. CMP 
#$61 ; IF0. BEQ IF3. CMP #$71 ; IF. BNE 
IF1.IF3 INC LEVEL ; PROCESS IF. BNE IF1 
; ALWAYS BRANCHES.EIF DEC LEVEL ; PROCES
S EIFS. BPL IF1 ; ALWAYS BRANCHES.PROTEC
   ; $4D.EEEIF    ; SUPER ENDIF $7C.SBR 
     ; LABEL OP $45.ENDIF RTS ; ENDIF $7
D.;.;  IFT, SGN(STK)=1 $25.IFT LDY #$01.
;.;  IF0, SGN(STK)=Y $61.IF0 STY YSAVE. 
JSR SGN. LDA STL,X. JMP IF9.;.;  IFF, SG
N(STK)=0 $26.IFF LDY #$00. JMP IF0.;.SCA
N LDA (PCNT),Y ;Y MUST=0. CMP #$7A. BCS 
SCAN3. CMP #$40. BCC SCAN3. CMP #$51 ;K1
6. BEQ SCAN4.SCAN1 CMP #$46 ; TXT. BNE S
CAN2.SCAN4 JSR INCPC.SCAN2 JSR INCPC.SCA
N3 JSR INCPC. LDA (PCNT),Y. RTS.;.; POST
XT, Y,Y=CRX,CRY $46.TPOS STY COLCRS ; CR
X. JSR INCPC. LDY #00. LDA (PCNT),Y. STA
 ROWCRS ; CRY. RTS.;.; SWAP, OPR=>STK, S
TK=>OPR $0E.SWAP LDY OPL,X. LDA STL,X. S
TA OPL,X. TYA. STA STL,X. LDY OPH,X. LDA
 STH,X. STA OPH,X. TYA. STA STH,X. RTS.;
.;  AND, STK&Y=>STK $48.LAND TYA. AND ST
L,X. STA STL,X. LDA #$00. STA STH,X. RTS
.;.; AND2, STK&OPR=>OPR, $2A.LAND2 LDA S
TL,X. AND OPL,X. STA OPL,X. LDA STH,X. A
ND OPH,X. STA OPH,X. RTS.;.;  OR, STK^Y=
>STK $49.LOR TYA. ORA STL,X. STA STL,X. 
RTS.;.;  XOR, STK XOR Y=>STK $4A.LXOR TY
A. EOR STL,X. STA STL,X. RTS.;.; CLR, CL
EAR STACK $7E.CLR LDX #$FE. RTS.;.; RUN,
 START OVER $7F.RUN LDA PCSVE+1. STA PCN
T+1. LDA PCSVE. STA PCNT.RUN1 LDX #$78. 
STX GOP. STX VLIM. LDX #$00. STX VPLUS. 
STX FORP. DEX. DEX. RTS.;. .END.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL