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

MIG16.SID

FILE INFORMATION

FILENAME(S): MIG16.SID

FILE TYPE(S): DEL

FILE SIZE: 5.9K

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

APPEARS ON: 2 disk(s)

FILE HASH

32fadc6342e045a26e4490cb42a1615eb8f308c3162cd134a4b2282ee973bd2e

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
MIGDTL MIG16.SID DEL Radd Maxx 5 0 DOWNLOAD FILE
MIGDTL MIG16.SID DEL DuncanTwain 5 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 23 38 0D 20 4A 53 52 20  4D 32 20 3B 20 44 4F 20  |#8. JSR M2 ; DO |
00000010: 4D 55 4C 54 0D 20 4C 44  41 20 53 54 58 32 2C 58  |MULT. LDA STX2,X|
00000020: 0D 20 53 54 41 20 4F 50  48 2C 58 0D 20 4C 44 41  |. STA OPH,X. LDA|
00000030: 20 53 54 58 31 2C 58 20  20 3B 20 4E 4F 52 4D 41  | STX1,X  ; NORMA|
00000040: 4C 49 5A 45 0D 20 53 54  41 20 4F 50 4C 2C 58 0D  |LIZE. STA OPL,X.|
00000050: 20 4C 44 41 20 54 4D 50  31 0D 20 42 45 51 20 52  | LDA TMP1. BEQ R|
00000060: 4E 44 33 0D 20 4A 53 52  20 4E 45 47 4F 50 52 0D  |ND3. JSR NEGOPR.|
00000070: 52 4E 44 33 20 44 45 58  20 3B 20 52 45 53 54 4F  |RND3 DEX ; RESTO|
00000080: 52 45 20 53 54 41 43 4B  0D 20 44 45 58 0D 20 52  |RE STACK. DEX. R|
00000090: 54 53 0D 3B 0D 3B 0D 42  59 54 58 20 4C 44 41 20  |TS.;.;.BYTX LDA |
000000A0: 23 24 30 30 20 3B 20 20  42 59 54 45 2C 20 53 54  |#$00 ;  BYTE, ST|
000000B0: 4B 26 46 46 3D 3E 53 54  4B 20 24 30 37 0D 20 53  |K&FF=>STK $07. S|
000000C0: 54 41 20 53 54 48 2C 58  20 3B 20 30 0D 20 52 54  |TA STH,X ; 0. RT|
000000D0: 53 0D 3B 0D 3B 0D 3B 20  20 41 42 53 2C 20 41 42  |S.;.;.;  ABS, AB|
000000E0: 53 28 53 54 4B 29 3D 3E  53 54 4B 20 24 30 39 0D  |S(STK)=>STK $09.|
000000F0: 41 42 53 20 4C 44 41 20  53 54 48 2C 58 0D 20 42  |ABS LDA STH,X. B|
00000100: 50 4C 20 41 42 53 31 0D  20 4A 53 52 20 4E 45 47  |PL ABS1. JSR NEG|
00000110: 20 3B 20 4E 45 47 41 54  45 20 49 46 20 4E 45 47  | ; NEGATE IF NEG|
00000120: 0D 41 42 53 31 20 52 54  53 0D 3B 0D 3B 20 20 53  |.ABS1 RTS.;.;  S|
00000130: 47 4E 2C 20 53 47 4E 28  53 54 4B 29 3D 3E 53 54  |GN, SGN(STK)=>ST|
00000140: 4B 20 24 30 41 0D 53 47  4E 20 4C 44 41 20 53 54  |K $0A.SGN LDA ST|
00000150: 48 2C 58 0D 20 42 50 4C  20 53 47 4E 31 0D 20 4C  |H,X. BPL SGN1. L|
00000160: 44 59 20 23 24 46 46 20  3B 3C 30 0D 20 4A 4D 50  |DY #$FF ;<0. JMP|
00000170: 20 43 4F 4E 30 0D 53 47  4E 31 20 42 45 51 20 53  | CON0.SGN1 BEQ S|
00000180: 47 4E 32 0D 20 4C 44 59  20 23 24 30 31 0D 20 4A  |GN2. LDY #$01. J|
00000190: 4D 50 20 43 4F 4E 30 20  3B 3E 30 0D 53 47 4E 32  |MP CON0 ;>0.SGN2|
000001A0: 20 4C 44 41 20 53 54 4C  2C 58 0D 20 42 4E 45 20  | LDA STL,X. BNE |
000001B0: 53 47 4E 31 0D 20 4C 44  59 20 23 24 30 30 20 3B  |SGN1. LDY #$00 ;|
000001C0: 3D 30 0D 20 4A 4D 50 20  43 4F 4E 30 0D 3B 0D 3B  |=0. JMP CON0.;.;|
000001D0: 20 20 50 45 45 4B 2C 20  50 45 45 4B 28 53 54 4B  |  PEEK, PEEK(STK|
000001E0: 29 3D 3E 53 54 4B 20 24  30 42 0D 50 45 45 4B 20  |)=>STK $0B.PEEK |
000001F0: 4A 53 52 20 55 53 52 20  3B 53 54 4B 3D 3E 46 52  |JSR USR ;STK=>FR|
00000200: 30 0D 20 4C 44 41 20 23  24 30 30 0D 20 53 54 41  |0. LDA #$00. STA|
00000210: 20 53 54 48 2C 58 0D 20  4C 44 59 20 23 24 30 30  | STH,X. LDY #$00|
00000220: 0D 20 4C 44 41 20 28 46  52 30 29 2C 59 0D 20 53  |. LDA (FR0),Y. S|
00000230: 54 41 20 53 54 4C 2C 58  0D 20 52 54 53 0D 3B 0D  |TA STL,X. RTS.;.|
00000240: 3B 20 20 50 4F 4B 45 2C  20 4F 50 52 3D 3E 4C 4F  |;  POKE, OPR=>LO|
00000250: 43 28 53 54 4B 29 20 24  33 30 0D 50 4F 4B 45 20  |C(STK) $30.POKE |
00000260: 4A 53 52 20 55 53 52 20  3B 53 54 4B 3D 3E 46 52  |JSR USR ;STK=>FR|
00000270: 30 0D 20 4C 44 59 20 23  24 30 30 0D 50 4F 4B 45  |0. LDY #$00.POKE|
00000280: 30 20 4C 44 41 20 4F 50  4C 2C 58 0D 20 53 54 41  |0 LDA OPL,X. STA|
00000290: 20 28 46 52 30 29 2C 59  0D 20 52 54 53 0D 3B 0D  | (FR0),Y. RTS.;.|
000002A0: 50 4F 4B 45 59 20 4A 53  52 20 55 53 52 0D 20 4C  |POKEY JSR USR. L|
000002B0: 44 59 20 56 41 52 4C 0D  20 4A 4D 50 20 50 4F 4B  |DY VARL. JMP POK|
000002C0: 45 30 0D 3B 0D 3B 20 52  41 4E 47 45 2C 20 56 41  |E0.;.; RANGE, VA|
000002D0: 4C 55 45 2C 20 4F 50 52  3D 4C 4F 20 53 54 4B 3D  |LUE, OPR=LO STK=|
000002E0: 48 49 20 24 33 35 0D 3B  20 50 4F 53 49 54 49 56  |HI $35.; POSITIV|
000002F0: 45 20 56 41 4C 55 45 53  20 4F 4E 4C 59 20 21 21  |E VALUES ONLY !!|
00000300: 0D 52 41 4E 47 45 20 4C  44 41 20 4F 50 48 2D 32  |.RANGE LDA OPH-2|
00000310: 2C 58 0D 20 42 4D 49 20  4F 52 4E 47 4C 4F 0D 20  |,X. BMI ORNGLO. |
00000320: 43 4D 50 20 53 54 48 2C  58 0D 20 42 4E 45 20 43  |CMP STH,X. BNE C|
00000330: 50 48 49 0D 20 4C 44 41  20 4F 50 4C 2D 32 2C 58  |PHI. LDA OPL-2,X|
00000340: 0D 20 43 4D 50 20 53 54  4C 2C 58 0D 43 50 48 49  |. CMP STL,X.CPHI|
00000350: 20 42 43 53 20 4F 52 4E  47 48 49 0D 20 4C 44 41  | BCS ORNGHI. LDA|
00000360: 20 4F 50 48 2D 32 2C 58  0D 20 43 4D 50 20 4F 50  | OPH-2,X. CMP OP|
00000370: 48 2C 58 0D 20 42 4E 45  20 43 50 4C 4F 0D 20 4C  |H,X. BNE CPLO. L|
00000380: 44 41 20 4F 50 4C 2D 32  2C 58 0D 20 43 4D 50 20  |DA OPL-2,X. CMP |
00000390: 4F 50 4C 2C 58 0D 43 50  4C 4F 20 42 43 43 20 4F  |OPL,X.CPLO BCC O|
000003A0: 52 4E 47 4C 4F 0D 20 52  54 53 0D 3B 0D 4F 52 4E  |RNGLO. RTS.;.ORN|
000003B0: 47 48 49 20 4C 44 41 20  53 54 48 2C 58 0D 20 53  |GHI LDA STH,X. S|
000003C0: 54 41 20 4F 50 48 2D 32  2C 58 0D 20 4C 44 41 20  |TA OPH-2,X. LDA |
000003D0: 53 54 4C 2C 58 0D 20 53  54 41 20 4F 50 4C 2D 32  |STL,X. STA OPL-2|
000003E0: 2C 58 0D 20 52 54 53 0D  4F 52 4E 47 4C 4F 20 4C  |,X. RTS.ORNGLO L|
000003F0: 44 41 20 4F 50 48 2C 58  0D 20 53 54 41 20 4F 50  |DA OPH,X. STA OP|
00000400: 48 2D 32 2C 58 0D 20 4C  44 41 20 4F 50 4C 2C 58  |H-2,X. LDA OPL,X|
00000410: 0D 20 53 54 41 20 4F 50  4C 2D 32 2C 58 0D 20 52  |. STA OPL-2,X. R|
00000420: 54 53 0D 3B 0D 3B 20 20  52 41 4E 47 45 59 2C 20  |TS.;.;  RANGEY, |
00000430: 56 41 4C 55 45 2C 20 4F  50 52 3D 4C 4F 20 53 54  |VALUE, OPR=LO ST|
00000440: 4B 3D 48 49 20 24 37 32  0D 3B 20 50 4F 53 49 54  |K=HI $72.; POSIT|
00000450: 49 56 45 20 56 41 4C 55  45 53 20 4F 4E 4C 59 20  |IVE VALUES ONLY |
00000460: 21 21 0D 52 4E 47 59 20  4C 44 41 20 4F 50 48 2D  |!!.RNGY LDA OPH-|
00000470: 32 2C 58 0D 20 42 4D 49  20 4F 52 4E 47 0D 20 43  |2,X. BMI ORNG. C|
00000480: 4D 50 20 53 54 48 2C 58  0D 20 42 4E 45 20 43 50  |MP STH,X. BNE CP|
00000490: 30 48 49 0D 20 4C 44 41  20 4F 50 4C 2D 32 2C 58  |0HI. LDA OPL-2,X|
000004A0: 0D 20 43 4D 50 20 53 54  4C 2C 58 0D 43 50 30 48  |. CMP STL,X.CP0H|
000004B0: 49 20 42 43 53 20 4F 52  4E 47 0D 20 4C 44 41 20  |I BCS ORNG. LDA |
000004C0: 4F 50 48 2D 32 2C 58 0D  20 43 4D 50 20 4F 50 48  |OPH-2,X. CMP OPH|
000004D0: 2C 58 0D 20 42 4E 45 20  43 50 30 4C 4F 0D 20 4C  |,X. BNE CP0LO. L|
000004E0: 44 41 20 4F 50 4C 2D 32  2C 58 0D 20 43 4D 50 20  |DA OPL-2,X. CMP |
000004F0: 4F 50 4C 2C 58 0D 43 50  30 4C 4F 20 42 43 43 20  |OPL,X.CP0LO BCC |
00000500: 4F 52 4E 47 0D 20 52 54  53 0D 4F 52 4E 47 20 4C  |ORNG. RTS.ORNG L|
00000510: 44 41 20 23 30 0D 20 53  54 41 20 4F 50 48 2D 32  |DA #0. STA OPH-2|
00000520: 2C 58 0D 20 54 59 41 0D  20 53 54 41 20 4F 50 4C  |,X. TYA. STA OPL|
00000530: 2D 32 2C 58 0D 20 52 54  53 0D 3B 0D 3B 20 20 53  |-2,X. RTS.;.;  S|
00000540: 54 49 43 4B 2C 20 28 53  54 4B 29 3D 3E 53 54 4B  |TICK, (STK)=>STK|
00000550: 2D 58 2C 4F 50 52 2D 59  20 24 31 30 0D 53 54 49  |-X,OPR-Y $10.STI|
00000560: 43 4B 20 4C 44 59 20 53  54 4C 2C 58 0D 20 4C 44  |CK LDY STL,X. LD|
00000570: 41 20 24 44 43 30 30 2C  59 0D 20 4C 44 59 20 23  |A $DC00,Y. LDY #|
00000580: 24 30 30 0D 20 52 4F 52  20 41 0D 20 42 43 53 20  |$00. ROR A. BCS |
00000590: 53 54 31 0D 20 4C 44 59  20 23 24 46 46 0D 53 54  |ST1. LDY #$FF.ST|
000005A0: 31 20 52 4F 52 20 41 0D  20 42 43 53 20 53 54 32  |1 ROR A. BCS ST2|
000005B0: 0D 20 4C 44 59 20 23 24  30 31 0D 53 54 32 20 50  |. LDY #$01.ST2 P|
000005C0: 48 41 0D 20 4A 53 52 20  43 4F 4E 30 20 3B 20 44  |HA. JSR CON0 ; D|
000005D0: 59 0D 20 50 4C 41 0D 20  4C 44 59 20 23 24 30 30  |Y. PLA. LDY #$00|
000005E0: 0D 20 52 4F 52 20 41 0D  20 42 43 53 20 53 54 33  |. ROR A. BCS ST3|
000005F0: 0D 20 44 45 59 0D 53 54  33 20 52 4F 52 20 41 0D  |. DEY.ST3 ROR A.|
00000600: 20 42 43 53 20 53 54 34  0D 20 4C 44 59 20 23 24  | BCS ST4. LDY #$|
00000610: 30 31 0D 53 54 34 20 4A  4D 50 20 43 4F 4E 20 3B  |01.ST4 JMP CON ;|
00000620: 20 44 58 0D 3B 0D 3B 20  20 53 54 52 49 47 2C 20  | DX.;.;  STRIG, |
00000630: 28 53 54 4B 29 3D 3E 53  54 4B 20 24 30 34 0D 53  |(STK)=>STK $04.S|
00000640: 54 52 49 47 20 4C 44 59  20 53 54 4C 2C 58 0D 20  |TRIG LDY STL,X. |
00000650: 4C 44 41 20 24 44 43 30  30 2C 59 0D 20 52 4F 52  |LDA $DC00,Y. ROR|
00000660: 20 41 0D 20 52 4F 52 20  41 0D 20 52 4F 52 20 41  | A. ROR A. ROR A|
00000670: 0D 20 52 4F 52 20 41 0D  20 41 4E 44 20 23 31 0D  |. ROR A. AND #1.|
00000680: 20 45 4F 52 20 23 31 0D  20 53 54 41 20 53 54 4C  | EOR #1. STA STL|
00000690: 2C 58 0D 20 4C 44 41 20  23 24 30 30 0D 20 53 54  |,X. LDA #$00. ST|
000006A0: 41 20 53 54 48 2C 58 0D  20 52 54 53 0D 3B 0D 3B  |A STH,X. RTS.;.;|
000006B0: 20 20 49 4E 43 2C 20 53  54 4B 2B 31 3D 3E 53 54  |  INC, STK+1=>ST|
000006C0: 4B 20 24 30 35 0D 49 4E  43 52 20 49 4E 43 20 53  |K $05.INCR INC S|
000006D0: 54 4C 2C 58 0D 20 42 4E  45 20 49 4E 43 31 0D 20  |TL,X. BNE INC1. |
000006E0: 49 4E 43 20 53 54 48 2C  58 0D 49 4E 43 31 20 52  |INC STH,X.INC1 R|
000006F0: 54 53 0D 3B 0D 3B 20 20  44 45 43 2C 20 53 54 4B  |TS.;.;  DEC, STK|
00000700: 2D 31 3D 3E 53 54 4B 20  24 30 36 0D 44 45 43 52  |-1=>STK $06.DECR|
00000710: 20 4C 44 41 20 53 54 4C  2C 58 0D 20 42 4E 45 20  | LDA STL,X. BNE |
00000720: 44 45 43 31 0D 20 44 45  43 20 53 54 48 2C 58 0D  |DEC1. DEC STH,X.|
00000730: 44 45 43 31 20 44 45 43  20 53 54 4C 2C 58 0D 20  |DEC1 DEC STL,X. |
00000740: 52 54 53 0D 3B 0D 3B 20  20 44 55 50 2C 20 53 54  |RTS.;.;  DUP, ST|
00000750: 4B 3D 3E 53 54 4B 2B 32  20 24 31 31 0D 44 55 50  |K=>STK+2 $11.DUP|
00000760: 20 4C 44 41 20 53 54 4C  2C 58 0D 20 53 54 41 20  | LDA STL,X. STA |
00000770: 53 54 58 31 2C 58 0D 20  4C 44 41 20 53 54 48 2C  |STX1,X. LDA STH,|
00000780: 58 0D 20 53 54 41 20 53  54 58 32 2C 58 0D 20 52  |X. STA STX2,X. R|
00000790: 54 53 0D 3B 0D 3B 20 20  44 50 4F 4B 45 2C 20 4F  |TS.;.;  DPOKE, O|
000007A0: 50 52 3D 3E 4C 4F 43 28  53 54 4B 29 20 24 33 34  |PR=>LOC(STK) $34|
000007B0: 0D 44 50 4F 4B 45 20 4C  44 59 20 23 24 30 30 0D  |.DPOKE LDY #$00.|
000007C0: 20 4A 53 52 20 55 53 52  20 3B 53 54 4B 3D 3E 46  | JSR USR ;STK=>F|
000007D0: 52 30 0D 20 4C 44 41 20  4F 50 4C 2C 58 0D 20 53  |R0. LDA OPL,X. S|
000007E0: 54 41 20 28 46 52 30 29  2C 59 0D 20 49 4E 59 0D  |TA (FR0),Y. INY.|
000007F0: 20 4C 44 41 20 4F 50 48  2C 58 0D 20 53 54 41 20  | LDA OPH,X. STA |
00000800: 28 46 52 30 29 2C 59 0D  20 52 54 53 0D 3B 0D 3B  |(FR0),Y. RTS.;.;|
00000810: 20 20 44 50 45 45 4B 2C  20 50 45 45 4B 28 53 54  |  DPEEK, PEEK(ST|
00000820: 4B 29 3D 3E 53 54 4B 20  24 30 44 0D 44 50 45 45  |K)=>STK $0D.DPEE|
00000830: 4B 20 4C 44 59 20 23 24  30 30 0D 20 4A 53 52 20  |K LDY #$00. JSR |
00000840: 55 53 52 0D 20 4C 44 41  20 28 46 52 30 29 2C 59  |USR. LDA (FR0),Y|
00000850: 0D 20 53 54 41 20 53 54  4C 2C 58 0D 20 49 4E 59  |. STA STL,X. INY|
00000860: 0D 20 4C 44 41 20 28 46  52 30 29 2C 59 0D 20 53  |. LDA (FR0),Y. S|
00000870: 54 41 20 53 54 48 2C 58  0D 20 52 54 53 0D 3B 0D  |TA STH,X. RTS.;.|
00000880: 3B 20 20 44 4F 4E 45 20  24 30 30 0D 44 4F 4E 45  |;  DONE $00.DONE|
00000890: 20 50 4C 41 0D 20 50 4C  41 0D 20 4C 44 59 20 46  | PLA. PLA. LDY F|
000008A0: 52 30 0D 20 4C 44 41 20  46 52 30 2B 31 0D 20 52  |R0. LDA FR0+1. R|
000008B0: 54 53 0D 3B 0D 3B 20 44  49 56 49 44 45 2C 20 4F  |TS.;.; DIVIDE, O|
000008C0: 50 52 2F 53 54 4B 3D 3E  4F 50 52 20 24 32 33 0D  |PR/STK=>OPR $23.|
000008D0: 44 49 56 20 4C 44 41 20  23 24 30 30 0D 20 53 54  |DIV LDA #$00. ST|
000008E0: 41 20 46 4C 41 47 0D 20  4A 53 52 20 44 49 56 38  |A FLAG. JSR DIV8|
000008F0: 0D 20 44 45 58 0D 20 44  45 58 0D 20 4A 53 52 20  |. DEX. DEX. JSR |
00000900: 44 49 56 38 0D 20 49 4E  58 0D 20 49 4E 58 0D 20  |DIV8. INX. INX. |
00000910: 4C 44 41 20 23 24 30 30  0D 20 53 54 41 20 53 54  |LDA #$00. STA ST|
00000920: 58 33 2C 58 0D 20 53 54  41 20 53 54 58 34 2C 58  |X3,X. STA STX4,X|
00000930: 0D 20 53 54 41 20 53 54  58 31 2C 58 0D 20 53 54  |. STA STX1,X. ST|
00000940: 41 20 53 54 58 32 2C 58  0D 20 4C 44 59 20 23 24  |A STX2,X. LDY #$|
00000950: 31 30 20 3B 20 31 36 20  42 49 54 53 0D 44 49 56  |10 ; 16 BITS.DIV|
00000960: 31 20 41 53 4C 20 53 54  58 33 2C 58 0D 20 52 4F  |1 ASL STX3,X. RO|
00000970: 4C 20 53 54 58 34 2C 58  0D 20 41 53 4C 20 4F 50  |L STX4,X. ASL OP|
00000980: 4C 2C 58 0D 20 52 4F 4C  20 4F 50 48 2C 58 0D 20  |L,X. ROL OPH,X. |
00000990: 52 4F 4C 20 53 54 58 31  2C 58 0D 20 52 4F 4C 20  |ROL STX1,X. ROL |
000009A0: 53 54 58 32 2C 58 0D 20  53 45 43 0D 20 4C 44 41  |STX2,X. SEC. LDA|
000009B0: 20 53 54 58 31 2C 58 0D  20 53 42 43 20 53 54 4C  | STX1,X. SBC STL|
000009C0: 2C 58 0D 20 53 54 41 20  54 4D 50 31 20 3B 20 52  |,X. STA TMP1 ; R|
000009D0: 45 4D 41 49 4E 44 45 52  0D 20 4C 44 41 20 53 54  |EMAINDER. LDA ST|
000009E0: 58 32 2C 58 0D 20 53 42  43 20 53 54 48 2C 58 0D  |X2,X. SBC STH,X.|
000009F0: 20 53 54 41 20 54 4D 50  32 0D 20 42 43 43 20 44  | STA TMP2. BCC D|
00000A00: 49 56 32 0D 20 49 4E 43  20 53 54 58 33 2C 58 20  |IV2. INC STX3,X |
00000A10: 3B 20 52 45 53 55 4C 54  0D 20 4C 44 41 20 54 4D  |; RESULT. LDA TM|
00000A20: 50 31 20 3B 20 52 45 4D  20 3D 3E 20 44 49 56 0D  |P1 ; REM => DIV.|
00000A30: 20 53 54 41 20 53 54 58  31 2C 58 0D 20 4C 44 41  | STA STX1,X. LDA|
00000A40: 20 54 4D 50 32 0D 20 53  54 41 20 53 54 58 32 2C  | TMP2. STA STX2,|
00000A50: 58 0D 44 49 56 32 20 44  45 59 0D 20 42 4E 45 20  |X.DIV2 DEY. BNE |
00000A60: 44 49 56 31 0D 20 4C 44  41 20 53 54 58 34 2C 58  |DIV1. LDA STX4,X|
00000A70: 20 3B 20 52 45 53 55 4C  54 20 3D 3E 20 4F 50 52  | ; RESULT => OPR|
00000A80: 0D 20 53 54 41 20 53 54  48 2C 58 0D 20 4C 44 41  |. STA STH,X. LDA|
00000A90: 20 53 54 58 33 2C 58 0D  20 53 54 41 20 53 54 4C  | STX3,X. STA STL|
00000AA0: 2C 58 0D 20 4C 44 41 20  46 4C 41 47 0D 20 42 45  |,X. LDA FLAG. BE|
00000AB0: 51 20 44 49 56 33 0D 20  4A 53 52 20 4E 45 47 0D  |Q DIV3. JSR NEG.|
00000AC0: 44 49 56 33 20 4A 4D 50  20 50 55 4E 43 48 0D 3B  |DIV3 JMP PUNCH.;|
00000AD0: 0D 44 49 56 38 20 4C 44  41 20 53 54 48 2C 58 0D  |.DIV8 LDA STH,X.|
00000AE0: 20 42 50 4C 20 44 49 56  39 0D 20 4A 53 52 20 4E  | BPL DIV9. JSR N|
00000AF0: 45 47 0D 20 4C 44 41 20  23 24 30 31 0D 20 45 4F  |EG. LDA #$01. EO|
00000B00: 52 20 46 4C 41 47 0D 20  53 54 41 20 46 4C 41 47  |R FLAG. STA FLAG|
00000B10: 0D 44 49 56 39 20 52 54  53 0D 3B 0D 3B 20 20 46  |.DIV9 RTS.;.;  F|
00000B20: 4F 52 2C 20 4F 50 52 3D  3E 56 41 52 28 59 29 2C  |OR, OPR=>VAR(Y),|
00000B30: 53 54 4B 3D 3E 4C 49 4D  20 24 37 30 0D 46 4F 52  |STK=>LIM $70.FOR|
00000B40: 20 44 45 58 0D 20 44 45  58 0D 20 54 59 41 20 3B  | DEX. DEX. TYA ;|
00000B50: 20 56 41 52 20 49 4E 44  45 58 0D 20 41 53 4C 20  | VAR INDEX. ASL |
00000B60: 41 0D 20 54 41 59 0D 20  4A 53 52 20 53 54 4F 52  |A. TAY. JSR STOR|
00000B70: 45 20 3B 20 4F 50 52 3D  3E 56 41 52 28 58 29 0D  |E ; OPR=>VAR(X).|
00000B80: 20 53 54 59 20 59 53 41  56 45 0D 20 4C 44 59 20  | STY YSAVE. LDY |
00000B90: 46 4F 52 50 20 3B 20 46  4F 52 20 50 4E 54 52 0D  |FORP ; FOR PNTR.|
00000BA0: 20 4C 44 41 20 53 54 58  31 2C 58 20 3B 20 53 41  | LDA STX1,X ; SA|
00000BB0: 56 45 20 4C 49 4D 0D 20  53 54 41 20 46 4C 4D 4C  |VE LIM. STA FLML|
00000BC0: 2C 59 0D 20 4C 44 41 20  53 54 58 32 2C 58 0D 20  |,Y. LDA STX2,X. |
00000BD0: 53 54 41 20 46 4C 4D 48  2C 59 0D 20 4C 44 41 20  |STA FLMH,Y. LDA |
00000BE0: 50 43 4E 54 20 3B 20 53  41 56 45 20 50 43 0D 20  |PCNT ; SAVE PC. |
00000BF0: 53 54 41 20 46 50 43 4C  2C 59 0D 20 4C 44 41 20  |STA FPCL,Y. LDA |
00000C00: 50 43 4E 54 2B 31 0D 20  53 54 41 20 46 50 43 48  |PCNT+1. STA FPCH|
00000C10: 2C 59 0D 20 4C 44 41 20  59 53 41 56 45 20 3B 20  |,Y. LDA YSAVE ; |
00000C20: 53 41 56 45 20 56 41 52  23 0D 20 53 54 41 20 46  |SAVE VAR#. STA F|
00000C30: 56 41 52 2C 59 0D 20 49  4E 59 20 3B 20 4E 45 58  |VAR,Y. INY ; NEX|
00000C40: 54 20 46 53 54 41 43 4B  0D 20 49 4E 59 0D 20 49  |T FSTACK. INY. I|
00000C50: 4E 59 0D 20 49 4E 59 0D  20 49 4E 59 0D 20 53 54  |NY. INY. INY. ST|
00000C60: 59 20 46 4F 52 50 0D 20  49 4E 58 0D 20 49 4E 58  |Y FORP. INX. INX|
00000C70: 0D 20 52 54 53 0D 3B 0D  3B 20 20 4E 45 58 54 2C  |. RTS.;.;  NEXT,|
00000C80: 20 28 59 29 20 24 34 30  0D 4E 45 58 54 20 53 54  | (Y) $40.NEXT ST|
00000C90: 59 20 59 53 41 56 45 0D  20 41 53 4C 20 59 53 41  |Y YSAVE. ASL YSA|
00000CA0: 56 45 20 3B 20 56 41 52  20 49 4E 44 45 58 0D 20  |VE ; VAR INDEX. |
00000CB0: 53 54 58 20 58 53 41 56  45 0D 20 4C 44 59 20 46  |STX XSAVE. LDY F|
00000CC0: 4F 52 50 0D 20 53 54 59  20 46 53 41 56 45 0D 4E  |ORP. STY FSAVE.N|
00000CD0: 58 54 31 20 44 45 59 0D  20 44 45 59 0D 20 44 45  |XT1 DEY. DEY. DE|
00000CE0: 59 0D 20 44 45 59 0D 20  44 45 59 0D 20 53 54 59  |Y. DEY. DEY. STY|
00000CF0: 20 46 4F 52 50 0D 20 42  4D 49 20 4E 58 54 39 20  | FORP. BMI NXT9 |
00000D00: 3B 20 45 52 52 4F 52 0D  20 4C 44 41 20 46 56 41  |; ERROR. LDA FVA|
00000D10: 52 2C 59 20 3B 20 46 49  4E 44 20 46 4F 52 20 45  |R,Y ; FIND FOR E|
00000D20: 4E 54 52 59 0D 20 43 4D  50 20 59 53 41 56 45 0D  |NTRY. CMP YSAVE.|
00000D30: 20 42 4E 45 20 4E 58 54  31 0D 20 4C 44 58 20 59  | BNE NXT1. LDX Y|
00000D40: 53 41 56 45 0D 20 49 4E  43 20 56 41 52 4C 2C 58  |SAVE. INC VARL,X|
00000D50: 0D 20 42 4E 45 20 4E 58  54 32 0D 20 49 4E 43 20  |. BNE NXT2. INC |
00000D60: 56 41 52 48 2C 58 0D 4E  58 54 32 20 53 45 43 0D  |VARH,X.NXT2 SEC.|
00000D70: 20 4C 44 41 20 46 4C 4D  4C 2C 59 0D 20 53 42 43  | LDA FLML,Y. SBC|
00000D80: 20 56 41 52 4C 2C 58 0D  20 4C 44 41 20 46 4C 4D  | VARL,X. LDA FLM|
00000D90: 48 2C 59 0D 20 53 42 43  20 56 41 52 48 2C 58 0D  |H,Y. SBC VARH,X.|
00000DA0: 20 42 4D 49 20 4E 58 54  39 0D 20 4C 44 41 20 46  | BMI NXT9. LDA F|
00000DB0: 50 43 4C 2C 59 20 3B 20  47 4F 20 42 41 43 4B 0D  |PCL,Y ; GO BACK.|
00000DC0: 20 53 54 41 20 50 43 4E  54 0D 20 4C 44 41 20 46  | STA PCNT. LDA F|
00000DD0: 50 43 48 2C 59 0D 20 53  54 41 20 50 43 4E 54 2B  |PCH,Y. STA PCNT+|
00000DE0: 31 0D 20 4C 44 59 20 46  53 41 56 45 0D 20 53 54  |1. LDY FSAVE. ST|
00000DF0: 59 20 46 4F 52 50 0D 4E  58 54 39 20 4C 44 58 20  |Y FORP.NXT9 LDX |
00000E00: 58 53 41 56 45 0D 20 52  54 53 0D 3B 0D 3B 20 20  |XSAVE. RTS.;.;  |
00000E10: 47 4F 54 4F 2C 20 59 20  24 34 42 0D 47 4F 54 4F  |GOTO, Y $4B.GOTO|
00000E20: 20 53 54 59 20 59 53 41  56 45 0D 20 4A 4D 50 20  | STY YSAVE. JMP |
00000E30: 47 4F 53 55 42 30 0D 3B  0D 3B 20 20 47 4F 53 55  |GOSUB0.;.;  GOSU|
00000E40: 42 2C 20 50 43 2B 59 20  24 34 34 0D 47 4F 53 55  |B, PC+Y $44.GOSU|
00000E50: 42 20 53 54 59 20 59 53  41 56 45 0D 20 4C 44 59  |B STY YSAVE. LDY|
00000E60: 20 47 4F 50 0D 20 4C 44  41 20 50 43 4E 54 0D 20  | GOP. LDA PCNT. |
00000E70: 53 54 41 20 47 50 43 4C  2C 59 0D 20 4C 44 41 20  |STA GPCL,Y. LDA |
00000E80: 50 43 4E 54 2B 31 0D 20  53 54 41 20 47 50 43 48  |PCNT+1. STA GPCH|
00000E90: 2C 59 0D 20 44 45 59 0D  20 44 45 59 0D 20 53 54  |,Y. DEY. DEY. ST|
00000EA0: 59 20 47 4F 50 0D 47 4F  53 55 42 30 20 4C 44 59  |Y GOP.GOSUB0 LDY|
00000EB0: 20 59 53 41 56 45 0D 20  4C 44 41 20 4A 4D 50 48  | YSAVE. LDA JMPH|
00000EC0: 49 2C 59 0D 20 42 45 51  20 47 4F 53 55 42 33 0D  |I,Y. BEQ GOSUB3.|
00000ED0: 20 53 54 41 20 50 43 4E  54 2B 31 0D 20 4C 44 41  | STA PCNT+1. LDA|
00000EE0: 20 4A 4D 50 4C 4F 2C 59  0D 20 53 54 41 20 50 43  | JMPLO,Y. STA PC|
00000EF0: 4E 54 0D 20 52 54 53 0D  3B 0D 47 4F 53 55 42 33  |NT. RTS.;.GOSUB3|
00000F00: 20 4C 44 41 20 50 43 53  56 45 0D 20 53 54 41 20  | LDA PCSVE. STA |
00000F10: 50 43 4E 54 0D 20 4C 44  41 20 50 43 53 56 45 2B  |PCNT. LDA PCSVE+|
00000F20: 31 0D 20 53 54 41 20 50  43 4E 54 2B 31 0D 20 4C  |1. STA PCNT+1. L|
00000F30: 44 59 20 23 30 0D 47 4F  53 55 42 31 20 4A 53 52  |DY #0.GOSUB1 JSR|
00000F40: 20 53 43 41 4E 0D 20 43  4D 50 20 23 24 34 35 20  | SCAN. CMP #$45 |
00000F50: 3B 20 53 42 52 3F 0D 20  42 4E 45 20 47 4F 53 55  |; SBR?. BNE GOSU|
00000F60: 42 31 0D 20 4A 53 52 20  49 4E 43 50 43 0D 20 4C  |B1. JSR INCPC. L|
00000F70: 44 41 20 28 50 43 4E 54  29 2C 59 0D 20 43 4D 50  |DA (PCNT),Y. CMP|
00000F80: 20 59 53 41 56 45 0D 20  42 45 51 20 47 4F 53 55  | YSAVE. BEQ GOSU|
00000F90: 42 32 0D 20 4A 53 52 20  49 4E 43 50 43 0D 20 4A  |B2. JSR INCPC. J|
00000FA0: 4D 50 20 47 4F 53 55 42  31 0D 47 4F 53 55 42 32  |MP GOSUB1.GOSUB2|
00000FB0: 20 4C 44 59 20 59 53 41  56 45 0D 20 4C 44 41 20  | LDY YSAVE. LDA |
00000FC0: 50 43 4E 54 0D 20 53 54  41 20 4A 4D 50 4C 4F 2C  |PCNT. STA JMPLO,|
00000FD0: 59 0D 20 4C 44 41 20 50  43 4E 54 2B 31 0D 20 53  |Y. LDA PCNT+1. S|
00000FE0: 54 41 20 4A 4D 50 48 49  2C 59 0D 20 52 54 53 0D  |TA JMPHI,Y. RTS.|
00000FF0: 3B 0D 3B 20 20 52 45 54  55 52 4E 2C 20 24 30 31  |;.;  RETURN, $01|
00001000: 0D 52 45 54 55 52 4E 20  4C 44 59 20 47 4F 50 0D  |.RETURN LDY GOP.|
00001010: 20 49 4E 59 0D 20 49 4E  59 0D 20 4C 44 41 20 47  | INY. INY. LDA G|
00001020: 50 43 4C 2C 59 0D 20 53  54 41 20 50 43 4E 54 0D  |PCL,Y. STA PCNT.|
00001030: 20 4C 44 41 20 47 50 43  48 2C 59 0D 20 53 54 41  | LDA GPCH,Y. STA|
00001040: 20 50 43 4E 54 2B 31 0D  20 53 54 59 20 47 4F 50  | PCNT+1. STY GOP|
00001050: 0D 20 52 54 53 0D 3B 0D  3B 20 20 55 53 52 2C 20  |. RTS.;.;  USR, |
00001060: 53 54 4B 3D 3E 46 52 30  20 24 32 45 0D 55 53 52  |STK=>FR0 $2E.USR|
00001070: 20 4C 44 41 20 53 54 4C  2C 58 0D 20 53 54 41 20  | LDA STL,X. STA |
00001080: 46 52 30 0D 20 4C 44 41  20 53 54 48 2C 58 0D 20  |FR0. LDA STH,X. |
00001090: 53 54 41 20 46 52 30 2B  31 0D 20 52 54 53 0D 3B  |STA FR0+1. RTS.;|
000010A0: 0D 3B 0D 3B 20 20 50 52  49 4E 54 20 2B 2F 2D 2C  |.;.;  PRINT +/-,|
000010B0: 20 53 54 4B 20 59 3D 23  42 4C 41 4E 4B 53 20 24  | STK Y=#BLANKS $|
000010C0: 36 32 0D 3B 0D 3B 20 49  46 2C 20 53 47 4E 28 4F  |62.;.; IF, SGN(O|
000010D0: 50 52 2D 53 54 4B 29 3D  59 20 24 37 31 0D 49 46  |PR-STK)=Y $71.IF|
000010E0: 20 53 54 59 20 59 53 41  56 45 0D 20 4A 53 52 20  | STY YSAVE. JSR |
000010F0: 53 55 42 0D 20 44 45 58  0D 20 44 45 58 0D 20 4A  |SUB. DEX. DEX. J|
00001100: 53 52 20 53 47 4E 0D 20  49 4E 58 0D 20 49 4E 58  |SR SGN. INX. INX|
00001110: 0D 20 4C 44 41 20 4F 50  4C 2C 58 0D 49 46 39 20  |. LDA OPL,X.IF9 |
00001120: 43 4D 50 20 59 53 41 56  45 0D 20 42 45 51 20 45  |CMP YSAVE. BEQ E|
00001130: 45 45 49 46 20 3B 20 54  52 55 45 0D 45 4C 53 45  |EEIF ; TRUE.ELSE|
00001140: 20 4C 44 59 20 23 24 30  30 20 3B 45 4C 53 2C 20  | LDY #$00 ;ELS, |
00001150: 24 37 42 0D 20 53 54 59  20 4C 45 56 45 4C 0D 49  |$7B. STY LEVEL.I|
00001160: 46 31 20 4A 53 52 20 53  43 41 4E 20 3B 20 46 49  |F1 JSR SCAN ; FI|
00001170: 4E 44 20 45 4E 44 49 46  0D 20 43 4D 50 20 23 24  |ND ENDIF. CMP #$|
00001180: 37 44 0D 20 42 45 51 20  45 49 46 0D 20 43 4D 50  |7D. BEQ EIF. CMP|
00001190: 20 23 24 37 43 20 3B 20  4F 52 20 53 55 50 45 52  | #$7C ; OR SUPER|
000011A0: 20 45 49 46 0D 20 42 45  51 20 45 45 45 49 46 0D  | EIF. BEQ EEEIF.|
000011B0: 20 43 4D 50 20 23 24 37  42 20 3B 20 4F 52 20 45  | CMP #$7B ; OR E|
000011C0: 4C 53 45 0D 20 42 4E 45  20 49 46 32 0D 20 4C 44  |LSE. BNE IF2. LD|
000011D0: 41 20 4C 45 56 45 4C 0D  20 42 4E 45 20 49 46 31  |A LEVEL. BNE IF1|
000011E0: 0D 20 42 45 51 20 45 45  45 49 46 0D 49 46 32 20  |. BEQ EEEIF.IF2 |
000011F0: 43 4D 50 20 23 24 32 35  20 3B 20 49 46 54 0D 20  |CMP #$25 ; IFT. |
00001200: 42 45 51 20 49 46 33 0D  20 43 4D 50 20 23 24 32  |BEQ IF3. CMP #$2|
00001210: 36 20 3B 20 49 46 46 0D  20 42 45 51 20 49 46 33  |6 ; IFF. BEQ IF3|
00001220: 0D 20 43 4D 50 20 23 24  36 31 20 3B 20 49 46 30  |. CMP #$61 ; IF0|
00001230: 0D 20 42 45 51 20 49 46  33 0D 20 43 4D 50 20 23  |. BEQ IF3. CMP #|
00001240: 24 37 31 20 3B 20 49 46  0D 20 42 4E 45 20 49 46  |$71 ; IF. BNE IF|
00001250: 31 0D 49 46 33 20 49 4E  43 20 4C 45 56 45 4C 20  |1.IF3 INC LEVEL |
00001260: 3B 20 50 52 4F 43 45 53  53 20 49 46 0D 20 42 4E  |; PROCESS IF. BN|
00001270: 45 20 49 46 31 20 3B 20  41 4C 57 41 59 53 20 42  |E IF1 ; ALWAYS B|
00001280: 52 41 4E 43 48 45 53 0D  45 49 46 20 44 45 43 20  |RANCHES.EIF DEC |
00001290: 4C 45 56 45 4C 20 3B 20  50 52 4F 43 45 53 53 20  |LEVEL ; PROCESS |
000012A0: 45 49 46 53 0D 20 42 50  4C 20 49 46 31 20 3B 20  |EIFS. BPL IF1 ; |
000012B0: 41 4C 57 41 59 53 20 42  52 41 4E 43 48 45 53 0D  |ALWAYS BRANCHES.|
000012C0: 50 52 4F 54 45 43 20 20  20 3B 20 24 34 44 0D 45  |PROTEC   ; $4D.E|
000012D0: 45 45 49 46 20 20 20 20  3B 20 53 55 50 45 52 20  |EEIF    ; SUPER |
000012E0: 45 4E 44 49 46 20 24 37  43 0D 53 42 52 20 20 20  |ENDIF $7C.SBR   |
000012F0: 20 20 20 3B 20 4C 41 42  45 4C 20 4F 50 20 24 34  |   ; LABEL OP $4|
00001300: 35 0D 45 4E 44 49 46 20  52 54 53 20 3B 20 45 4E  |5.ENDIF RTS ; EN|
00001310: 44 49 46 20 24 37 44 0D  3B 0D 3B 20 20 49 46 54  |DIF $7D.;.;  IFT|
00001320: 2C 20 53 47 4E 28 53 54  4B 29 3D 31 20 24 32 35  |, SGN(STK)=1 $25|
00001330: 0D 49 46 54 20 4C 44 59  20 23 24 30 31 0D 3B 0D  |.IFT LDY #$01.;.|
00001340: 3B 20 20 49 46 30 2C 20  53 47 4E 28 53 54 4B 29  |;  IF0, SGN(STK)|
00001350: 3D 59 20 24 36 31 0D 49  46 30 20 53 54 59 20 59  |=Y $61.IF0 STY Y|
00001360: 53 41 56 45 0D 20 4A 53  52 20 53 47 4E 0D 20 4C  |SAVE. JSR SGN. L|
00001370: 44 41 20 53 54 4C 2C 58  0D 20 4A 4D 50 20 49 46  |DA STL,X. JMP IF|
00001380: 39 0D 3B 0D 3B 20 20 49  46 46 2C 20 53 47 4E 28  |9.;.;  IFF, SGN(|
00001390: 53 54 4B 29 3D 30 20 24  32 36 0D 49 46 46 20 4C  |STK)=0 $26.IFF L|
000013A0: 44 59 20 23 24 30 30 0D  20 4A 4D 50 20 49 46 30  |DY #$00. JMP IF0|
000013B0: 0D 3B 0D 53 43 41 4E 20  4C 44 41 20 28 50 43 4E  |.;.SCAN LDA (PCN|
000013C0: 54 29 2C 59 20 3B 59 20  4D 55 53 54 3D 30 0D 20  |T),Y ;Y MUST=0. |
000013D0: 43 4D 50 20 23 24 37 41  0D 20 42 43 53 20 53 43  |CMP #$7A. BCS SC|
000013E0: 41 4E 33 0D 20 43 4D 50  20 23 24 34 30 0D 20 42  |AN3. CMP #$40. B|
000013F0: 43 43 20 53 43 41 4E 33  0D 20 43 4D 50 20 23 24  |CC SCAN3. CMP #$|
00001400: 35 31 20 3B 4B 31 36 0D  20 42 45 51 20 53 43 41  |51 ;K16. BEQ SCA|
00001410: 4E 34 0D 53 43 41 4E 31  20 43 4D 50 20 23 24 34  |N4.SCAN1 CMP #$4|
00001420: 36 20 3B 20 54 58 54 0D  20 42 4E 45 20 53 43 41  |6 ; TXT. BNE SCA|
00001430: 4E 32 0D 53 43 41 4E 34  20 4A 53 52 20 49 4E 43  |N2.SCAN4 JSR INC|
00001440: 50 43 0D 53 43 41 4E 32  20 4A 53 52 20 49 4E 43  |PC.SCAN2 JSR INC|
00001450: 50 43 0D 53 43 41 4E 33  20 4A 53 52 20 49 4E 43  |PC.SCAN3 JSR INC|
00001460: 50 43 0D 20 4C 44 41 20  28 50 43 4E 54 29 2C 59  |PC. LDA (PCNT),Y|
00001470: 0D 20 52 54 53 0D 3B 0D  3B 20 50 4F 53 54 58 54  |. RTS.;.; POSTXT|
00001480: 2C 20 59 2C 59 3D 43 52  58 2C 43 52 59 20 24 34  |, Y,Y=CRX,CRY $4|
00001490: 36 0D 54 50 4F 53 20 53  54 59 20 43 4F 4C 43 52  |6.TPOS STY COLCR|
000014A0: 53 20 3B 20 43 52 58 0D  20 4A 53 52 20 49 4E 43  |S ; CRX. JSR INC|
000014B0: 50 43 0D 20 4C 44 59 20  23 30 30 0D 20 4C 44 41  |PC. LDY #00. LDA|
000014C0: 20 28 50 43 4E 54 29 2C  59 0D 20 53 54 41 20 52  | (PCNT),Y. STA R|
000014D0: 4F 57 43 52 53 20 3B 20  43 52 59 0D 20 52 54 53  |OWCRS ; CRY. RTS|
000014E0: 0D 3B 0D 3B 20 53 57 41  50 2C 20 4F 50 52 3D 3E  |.;.; SWAP, OPR=>|
000014F0: 53 54 4B 2C 20 53 54 4B  3D 3E 4F 50 52 20 24 30  |STK, STK=>OPR $0|
00001500: 45 0D 53 57 41 50 20 4C  44 59 20 4F 50 4C 2C 58  |E.SWAP LDY OPL,X|
00001510: 0D 20 4C 44 41 20 53 54  4C 2C 58 0D 20 53 54 41  |. LDA STL,X. STA|
00001520: 20 4F 50 4C 2C 58 0D 20  54 59 41 0D 20 53 54 41  | OPL,X. TYA. STA|
00001530: 20 53 54 4C 2C 58 0D 20  4C 44 59 20 4F 50 48 2C  | STL,X. LDY OPH,|
00001540: 58 0D 20 4C 44 41 20 53  54 48 2C 58 0D 20 53 54  |X. LDA STH,X. ST|
00001550: 41 20 4F 50 48 2C 58 0D  20 54 59 41 0D 20 53 54  |A OPH,X. TYA. ST|
00001560: 41 20 53 54 48 2C 58 0D  20 52 54 53 0D 3B 0D 3B  |A STH,X. RTS.;.;|
00001570: 20 20 41 4E 44 2C 20 53  54 4B 26 59 3D 3E 53 54  |  AND, STK&Y=>ST|
00001580: 4B 20 24 34 38 0D 4C 41  4E 44 20 54 59 41 0D 20  |K $48.LAND TYA. |
00001590: 41 4E 44 20 53 54 4C 2C  58 0D 20 53 54 41 20 53  |AND STL,X. STA S|
000015A0: 54 4C 2C 58 0D 20 4C 44  41 20 23 24 30 30 0D 20  |TL,X. LDA #$00. |
000015B0: 53 54 41 20 53 54 48 2C  58 0D 20 52 54 53 0D 3B  |STA STH,X. RTS.;|
000015C0: 0D 3B 20 41 4E 44 32 2C  20 53 54 4B 26 4F 50 52  |.; AND2, STK&OPR|
000015D0: 3D 3E 4F 50 52 2C 20 24  32 41 0D 4C 41 4E 44 32  |=>OPR, $2A.LAND2|
000015E0: 20 4C 44 41 20 53 54 4C  2C 58 0D 20 41 4E 44 20  | LDA STL,X. AND |
000015F0: 4F 50 4C 2C 58 0D 20 53  54 41 20 4F 50 4C 2C 58  |OPL,X. STA OPL,X|
00001600: 0D 20 4C 44 41 20 53 54  48 2C 58 0D 20 41 4E 44  |. LDA STH,X. AND|
00001610: 20 4F 50 48 2C 58 0D 20  53 54 41 20 4F 50 48 2C  | OPH,X. STA OPH,|
00001620: 58 0D 20 52 54 53 0D 3B  0D 3B 20 20 4F 52 2C 20  |X. RTS.;.;  OR, |
00001630: 53 54 4B 5E 59 3D 3E 53  54 4B 20 24 34 39 0D 4C  |STK^Y=>STK $49.L|
00001640: 4F 52 20 54 59 41 0D 20  4F 52 41 20 53 54 4C 2C  |OR TYA. ORA STL,|
00001650: 58 0D 20 53 54 41 20 53  54 4C 2C 58 0D 20 52 54  |X. STA STL,X. RT|
00001660: 53 0D 3B 0D 3B 20 20 58  4F 52 2C 20 53 54 4B 20  |S.;.;  XOR, STK |
00001670: 58 4F 52 20 59 3D 3E 53  54 4B 20 24 34 41 0D 4C  |XOR Y=>STK $4A.L|
00001680: 58 4F 52 20 54 59 41 0D  20 45 4F 52 20 53 54 4C  |XOR TYA. EOR STL|
00001690: 2C 58 0D 20 53 54 41 20  53 54 4C 2C 58 0D 20 52  |,X. STA STL,X. R|
000016A0: 54 53 0D 3B 0D 3B 20 43  4C 52 2C 20 43 4C 45 41  |TS.;.; CLR, CLEA|
000016B0: 52 20 53 54 41 43 4B 20  24 37 45 0D 43 4C 52 20  |R STACK $7E.CLR |
000016C0: 4C 44 58 20 23 24 46 45  0D 20 52 54 53 0D 3B 0D  |LDX #$FE. RTS.;.|
000016D0: 3B 20 52 55 4E 2C 20 53  54 41 52 54 20 4F 56 45  |; RUN, START OVE|
000016E0: 52 20 24 37 46 0D 52 55  4E 20 4C 44 41 20 50 43  |R $7F.RUN LDA PC|
000016F0: 53 56 45 2B 31 0D 20 53  54 41 20 50 43 4E 54 2B  |SVE+1. STA PCNT+|
00001700: 31 0D 20 4C 44 41 20 50  43 53 56 45 0D 20 53 54  |1. LDA PCSVE. ST|
00001710: 41 20 50 43 4E 54 0D 52  55 4E 31 20 4C 44 58 20  |A PCNT.RUN1 LDX |
00001720: 23 24 37 38 0D 20 53 54  58 20 47 4F 50 0D 20 53  |#$78. STX GOP. S|
00001730: 54 58 20 56 4C 49 4D 0D  20 4C 44 58 20 23 24 30  |TX VLIM. LDX #$0|
00001740: 30 0D 20 53 54 58 20 56  50 4C 55 53 0D 20 53 54  |0. STX VPLUS. ST|
00001750: 58 20 46 4F 52 50 0D 20  44 45 58 0D 20 44 45 58  |X FORP. DEX. DEX|
00001760: 0D 20 52 54 53 0D 3B 0D  20 2E 45 4E 44 0D        |. RTS.;. .END.  |
#8. JSR M2 ; DO MULT. LDA STX2,X. STA OP
H,X. LDA STX1,X  ; NORMALIZE. STA OPL,X.
 LDA TMP1. BEQ RND3. JSR NEGOPR.RND3 DEX
 ; RESTORE STACK. DEX. RTS.;.;.BYTX LDA 
#$00 ;  BYTE, STK&FF=>STK $07. STA STH,X
 ; 0. RTS.;.;.;  ABS, ABS(STK)=>STK $09.
ABS LDA STH,X. BPL ABS1. JSR NEG ; NEGAT
E IF NEG.ABS1 RTS.;.;  SGN, SGN(STK)=>ST
K $0A.SGN LDA STH,X. BPL SGN1. LDY #$FF 
;<0. JMP CON0.SGN1 BEQ SGN2. LDY #$01. J
MP CON0 ;>0.SGN2 LDA STL,X. BNE SGN1. LD
Y #$00 ;=0. JMP CON0.;.;  PEEK, PEEK(STK
)=>STK $0B.PEEK JSR USR ;STK=>FR0. LDA #
$00. STA STH,X. LDY #$00. LDA (FR0),Y. S
TA STL,X. RTS.;.;  POKE, OPR=>LOC(STK) $
30.POKE JSR USR ;STK=>FR0. LDY #$00.POKE
0 LDA OPL,X. STA (FR0),Y. RTS.;.POKEY JS
R USR. LDY VARL. JMP POKE0.;.; RANGE, VA
LUE, OPR=LO STK=HI $35.; POSITIVE VALUES
 ONLY !!.RANGE LDA OPH-2,X. BMI ORNGLO. 
CMP STH,X. BNE CPHI. LDA OPL-2,X. CMP ST
L,X.CPHI BCS ORNGHI. LDA OPH-2,X. CMP OP
H,X. BNE CPLO. LDA OPL-2,X. CMP OPL,X.CP
LO BCC ORNGLO. RTS.;.ORNGHI LDA STH,X. S
TA 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, O
PR=LO STK=HI $72.; POSITIVE VALUES ONLY 
!!.RNGY LDA OPH-2,X. BMI ORNG. CMP STH,X
. BNE CP0HI. LDA OPL-2,X. CMP STL,X.CP0H
I 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 OPL-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.ST
1 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 J
MP CON ; DX.;.;  STRIG, (STK)=>STK $04.S
TRIG LDY STL,X. LDA $DC00,Y. ROR A. ROR 
A. ROR A. ROR A. AND #1. EOR #1. STA STL
,X. LDA #$00. STA STH,X. RTS.;.;  INC, S
TK+1=>STK $05.INCR INC STL,X. BNE INC1. 
INC STH,X.INC1 RTS.;.;  DEC, STK-1=>STK 
$06.DECR LDA STL,X. BNE DEC1. DEC STH,X.
DEC1 DEC STL,X. RTS.;.;  DUP, STK=>STK+2
 $11.DUP LDA STL,X. STA STX1,X. LDA STH,
X. STA STX2,X. RTS.;.;  DPOKE, OPR=>LOC(
STK) $34.DPOKE LDY #$00. JSR USR ;STK=>F
R0. LDA OPL,X. STA (FR0),Y. INY. LDA OPH
,X. STA (FR0),Y. RTS.;.;  DPEEK, PEEK(ST
K)=>STK $0D.DPEEK LDY #$00. JSR USR. LDA
 (FR0),Y. STA STL,X. INY. LDA (FR0),Y. S
TA STH,X. RTS.;.;  DONE $00.DONE PLA. PL
A. LDY FR0. LDA FR0+1. RTS.;.; DIVIDE, O
PR/STK=>OPR $23.DIV LDA #$00. STA FLAG. 
JSR DIV8. DEX. DEX. JSR DIV8. INX. INX. 
LDA #$00. STA STX3,X. STA STX4,X. STA ST
X1,X. STA STX2,X. LDY #$10 ; 16 BITS.DIV
1 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 D
IV2. INC STX3,X ; RESULT. LDA TMP1 ; REM
 => DIV. STA STX1,X. LDA TMP2. STA STX2,
X.DIV2 DEY. BNE DIV1. LDA STX4,X ; RESUL
T => OPR. STA STH,X. LDA STX3,X. STA STL
,X. LDA FLAG. BEQ DIV3. JSR NEG.DIV3 JMP
 PUNCH.;.DIV8 LDA STH,X. BPL DIV9. JSR N
EG. LDA #$01. EOR FLAG. STA FLAG.DIV9 RT
S.;.;  FOR, OPR=>VAR(Y),STK=>LIM $70.FOR
 DEX. DEX. TYA ; VAR INDEX. ASL A. TAY. 
JSR STORE ; OPR=>VAR(X). STY YSAVE. LDY 
FORP ; FOR PNTR. LDA STX1,X ; SAVE LIM. 
STA FLML,Y. LDA STX2,X. STA FLMH,Y. LDA 
PCNT ; SAVE PC. STA FPCL,Y. LDA PCNT+1. 
STA FPCH,Y. LDA YSAVE ; SAVE VAR#. STA F
VAR,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.N
XT1 DEY. DEY. DEY. DEY. DEY. STY FORP. B
MI NXT9 ; ERROR. LDA FVAR,Y ; FIND FOR E
NTRY. CMP YSAVE. BNE NXT1. LDX YSAVE. IN
C VARL,X. BNE NXT2. INC VARH,X.NXT2 SEC.
 LDA FLML,Y. SBC VARL,X. LDA FLMH,Y. SBC
 VARH,X. BMI NXT9. LDA FPCL,Y ; GO BACK.
 STA PCNT. LDA FPCH,Y. STA PCNT+1. LDY F
SAVE. STY FORP.NXT9 LDX XSAVE. RTS.;.;  
GOTO, Y $4B.GOTO STY YSAVE. JMP GOSUB0.;
.;  GOSUB, PC+Y $44.GOSUB STY YSAVE. LDY
 GOP. LDA PCNT. STA GPCL,Y. LDA PCNT+1. 
STA GPCH,Y. DEY. DEY. STY GOP.GOSUB0 LDY
 YSAVE. LDA JMPHI,Y. BEQ GOSUB3. STA PCN
T+1. LDA JMPLO,Y. STA PCNT. RTS.;.GOSUB3
 LDA PCSVE. STA PCNT. LDA PCSVE+1. STA P
CNT+1. LDY #0.GOSUB1 JSR SCAN. CMP #$45 
; SBR?. BNE GOSUB1. JSR INCPC. LDA (PCNT
),Y. CMP YSAVE. BEQ GOSUB2. JSR INCPC. J
MP GOSUB1.GOSUB2 LDY YSAVE. LDA PCNT. ST
A JMPLO,Y. LDA PCNT+1. STA JMPHI,Y. RTS.
;.;  RETURN, $01.RETURN LDY GOP. INY. IN
Y. LDA GPCL,Y. STA PCNT. LDA GPCH,Y. STA
 PCNT+1. STY GOP. RTS.;.;  USR, STK=>FR0
 $2E.USR LDA STL,X. STA FR0. LDA STH,X. 
STA FR0+1. RTS.;.;.;  PRINT +/-, STK Y=#
BLANKS $62.;.; IF, SGN(OPR-STK)=Y $71.IF
 STY YSAVE. JSR SUB. DEX. DEX. JSR SGN. 
INX. INX. LDA OPL,X.IF9 CMP YSAVE. BEQ E
EEIF ; TRUE.ELSE LDY #$00 ;ELS, $7B. STY
 LEVEL.IF1 JSR SCAN ; FIND ENDIF. CMP #$
7D. BEQ EIF. CMP #$7C ; OR SUPER EIF. BE
Q EEEIF. CMP #$7B ; OR ELSE. BNE IF2. LD
A LEVEL. 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. BN
E IF1 ; ALWAYS BRANCHES.EIF DEC LEVEL ; 
PROCESS EIFS. BPL IF1 ; ALWAYS BRANCHES.
PROTEC   ; $4D.EEEIF    ; SUPER ENDIF $7
C.SBR      ; LABEL OP $45.ENDIF RTS ; EN
DIF $7D.;.;  IFT, SGN(STK)=1 $25.IFT LDY
 #$01.;.;  IF0, SGN(STK)=Y $61.IF0 STY Y
SAVE. JSR SGN. LDA STL,X. JMP IF9.;.;  I
FF, SGN(STK)=0 $26.IFF LDY #$00. JMP IF0
.;.SCAN LDA (PCNT),Y ;Y MUST=0. CMP #$7A
. BCS SCAN3. CMP #$40. BCC SCAN3. CMP #$
51 ;K16. BEQ SCAN4.SCAN1 CMP #$46 ; TXT.
 BNE SCAN2.SCAN4 JSR INCPC.SCAN2 JSR INC
PC.SCAN3 JSR INCPC. LDA (PCNT),Y. RTS.;.
; POSTXT, Y,Y=CRX,CRY $46.TPOS STY COLCR
S ; CRX. JSR INCPC. LDY #00. LDA (PCNT),
Y. STA ROWCRS ; CRY. RTS.;.; SWAP, OPR=>
STK, STK=>OPR $0E.SWAP LDY OPL,X. LDA ST
L,X. STA 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 STL,X. STA STL,X. LDA #$00. STA STH,
X. RTS.;.; AND2, STK&OPR=>OPR, $2A.LAND2
 LDA STL,X. AND OPL,X. STA OPL,X. LDA ST
H,X. AND OPH,X. STA OPH,X. RTS.;.;  OR, 
STK^Y=>STK $49.LOR TYA. ORA STL,X. STA S
TL,X. RTS.;.;  XOR, STK XOR Y=>STK $4A.L
XOR TYA. EOR STL,X. STA STL,X. RTS.;.; C
LR, CLEAR STACK $7E.CLR LDX #$FE. RTS.;.
; RUN, START OVER $7F.RUN LDA PCSVE+1. S
TA PCNT+1. LDA PCSVE. STA PCNT.RUN1 LDX 
#$78. STX GOP. STX VLIM. LDX #$00. STX V
PLUS. STX FORP. DEX. DEX. RTS.;. .END.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL