MIG14.SID
FILE INFORMATION
FILENAME(S): MIG14.SID
FILE TYPE(S): DEL
FILE SIZE: 11.1K
FIRST SEEN: 2025-10-19 22:49:33
APPEARS ON: 2 disk(s)
FILE HASH
e4b3b2b3899547ea4ce6d8a47fe3268baad03bdfb025fd5ad8cbca07bc19d57d
FOUND ON DISKS (2 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| MIGDTL | MIG14.SID | DEL | Radd Maxx | 6 | 0 | DOWNLOAD FILE |
| MIGDTL | MIG14.SID | DEL | DuncanTwain | 6 | 0 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 4F 4E 45 2D 31 0D 20 2E 57 4F 52 44 20 44 4F 4E |ONE-1. .WORD DON| 00000010: 45 2D 31 0D 20 2E 57 4F 52 44 20 44 4F 4E 45 2D |E-1. .WORD DONE-| 00000020: 31 0D 20 2E 57 4F 52 44 20 44 4F 4E 45 2D 31 0D |1. .WORD DONE-1.| 00000030: 20 2E 57 4F 52 44 20 44 4F 4E 45 2D 31 20 3B 20 | .WORD DONE-1 ; | 00000040: 24 35 38 0D 20 2E 57 4F 52 44 20 44 4F 4E 45 2D |$58. .WORD DONE-| 00000050: 31 0D 20 2E 57 4F 52 44 20 44 4F 4E 45 2D 31 0D |1. .WORD DONE-1.| 00000060: 20 2E 57 4F 52 44 20 44 4F 4E 45 2D 31 0D 20 2E | .WORD DONE-1. .| 00000070: 57 4F 52 44 20 44 4F 4E 45 2D 31 0D 20 2E 57 4F |WORD DONE-1. .WO| 00000080: 52 44 20 44 4F 4E 45 2D 31 0D 20 2E 57 4F 52 44 |RD DONE-1. .WORD| 00000090: 20 44 4F 4E 45 2D 31 0D 20 2E 57 4F 52 44 20 44 | DONE-1. .WORD D| 000000A0: 4F 4E 45 2D 31 0D 20 2E 57 4F 52 44 20 4F 46 46 |ONE-1. .WORD OFF| 000000B0: 53 45 54 2D 31 20 3B 24 36 30 0D 20 2E 57 4F 52 |SET-1 ;$60. .WOR| 000000C0: 44 20 49 46 30 2D 31 0D 20 2E 57 4F 52 44 20 44 |D IF0-1. .WORD D| 000000D0: 4F 4E 45 2D 31 20 3B 20 50 52 50 4D 0D 20 2E 57 |ONE-1 ; PRPM. .W| 000000E0: 4F 52 44 20 43 41 4C 4C 2D 31 0D 20 2E 57 4F 52 |ORD CALL-1. .WOR| 000000F0: 44 20 44 4F 4E 45 2D 31 20 3B 20 52 4F 54 41 54 |D DONE-1 ; ROTAT| 00000100: 45 0D 20 2E 57 4F 52 44 20 53 50 52 58 2D 31 0D |E. .WORD SPRX-1.| 00000110: 20 2E 57 4F 52 44 20 53 50 52 59 2D 31 0D 20 2E | .WORD SPRY-1. .| 00000120: 57 4F 52 44 20 44 4F 4E 45 2D 31 0D 20 2E 57 4F |WORD DONE-1. .WO| 00000130: 52 44 20 44 4F 4E 45 2D 31 20 3B 24 36 38 0D 20 |RD DONE-1 ;$68. | 00000140: 2E 57 4F 52 44 20 44 4F 4E 45 2D 31 0D 20 2E 57 |.WORD DONE-1. .W| 00000150: 4F 52 44 20 44 4F 4E 45 2D 31 0D 20 2E 57 4F 52 |ORD DONE-1. .WOR| 00000160: 44 20 44 4F 4E 45 2D 31 0D 20 2E 57 4F 52 44 20 |D DONE-1. .WORD | 00000170: 44 4F 4E 45 2D 31 0D 20 2E 57 4F 52 44 20 44 4F |DONE-1. .WORD DO| 00000180: 4E 45 2D 31 0D 20 2E 57 4F 52 44 20 44 4F 4E 45 |NE-1. .WORD DONE| 00000190: 2D 31 0D 20 2E 57 4F 52 44 20 44 4F 4E 45 2D 31 |-1. .WORD DONE-1| 000001A0: 0D 20 2E 57 4F 52 44 20 46 4F 52 2D 31 20 3B 24 |. .WORD FOR-1 ;$| 000001B0: 37 30 0D 20 2E 57 4F 52 44 20 49 46 2D 31 0D 20 |70. .WORD IF-1. | 000001C0: 2E 57 4F 52 44 20 52 4E 47 59 2D 31 0D 20 2E 57 |.WORD RNGY-1. .W| 000001D0: 4F 52 44 20 44 4F 4E 45 2D 31 0D 20 2E 57 4F 52 |ORD DONE-1. .WOR| 000001E0: 44 20 44 4F 4E 45 2D 31 0D 20 2E 57 4F 52 44 20 |D DONE-1. .WORD | 000001F0: 44 4F 4E 45 2D 31 0D 20 2E 57 4F 52 44 20 44 4F |DONE-1. .WORD DO| 00000200: 4E 45 2D 31 0D 20 2E 57 4F 52 44 20 44 4F 4E 45 |NE-1. .WORD DONE| 00000210: 2D 31 0D 20 2E 57 4F 52 44 20 44 4F 4E 45 2D 31 |-1. .WORD DONE-1| 00000220: 20 3B 24 37 38 0D 20 2E 57 4F 52 44 20 44 4F 4E | ;$78. .WORD DON| 00000230: 45 2D 31 0D 20 2E 57 4F 52 44 20 44 4F 4E 45 2D |E-1. .WORD DONE-| 00000240: 31 0D 20 2E 57 4F 52 44 20 45 4C 53 45 2D 31 0D |1. .WORD ELSE-1.| 00000250: 20 2E 57 4F 52 44 20 45 45 45 49 46 2D 31 0D 20 | .WORD EEEIF-1. | 00000260: 2E 57 4F 52 44 20 45 4E 44 49 46 2D 31 0D 20 2E |.WORD ENDIF-1. .| 00000270: 57 4F 52 44 20 43 4C 52 2D 31 0D 20 2E 57 4F 52 |WORD CLR-1. .WOR| 00000280: 44 20 52 55 4E 2D 31 0D 3B 20 2D 2D 2D 2D 2D 2D |D RUN-1.; ------| 00000290: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 000002A0: 2D 2D 2D 2D 2D 2D 2D 0D 3B 20 20 4D 41 49 4E 0D |-------.; MAIN.| 000002B0: 20 2A 20 3D 20 42 41 53 45 2B 24 33 34 30 0D 20 | * = BASE+$340. | 000002C0: 4A 4D 50 20 4D 41 49 4E 0D 3B 4A 4D 50 20 4C 4F |JMP MAIN.;JMP LO| 000002D0: 4F 4B 20 20 20 2A 2A 2A 0D 3B 4A 4D 50 20 53 45 |OK ***.;JMP SE| 000002E0: 54 20 20 20 20 2A 2A 2A 0D 3B 4A 4D 50 20 51 50 |T ***.;JMP QP| 000002F0: 0D 3B 0D 4D 41 49 4E 20 4C 44 41 20 24 38 30 30 |.;.MAIN LDA $800| 00000300: 31 0D 20 53 54 41 20 50 43 4E 54 2B 31 0D 20 53 |1. STA PCNT+1. S| 00000310: 54 41 20 50 43 53 56 45 2B 31 0D 20 4C 44 41 20 |TA PCSVE+1. LDA | 00000320: 24 38 30 30 30 0D 20 53 54 41 20 50 43 4E 54 0D |$8000. STA PCNT.| 00000330: 20 53 54 41 20 50 43 53 56 45 0D 20 4A 53 52 20 | STA PCSVE. JSR | 00000340: 52 55 4E 31 0D 4C 4F 4F 50 20 4A 4D 50 20 45 58 |RUN1.LOOP JMP EX| 00000350: 45 43 55 54 0D 3B 20 2D 2D 2D 2D 2D 2D 2D 2D 2D |ECUT.; ---------| 00000360: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000370: 2D 2D 2D 2D 0D 3B 20 52 45 54 55 52 4E 20 56 41 |----.; RETURN VA| 00000380: 52 20 56 41 4C 55 45 0D 3B 4C 4F 4F 4B 20 4C 44 |R VALUE.;LOOK LD| 00000390: 41 20 24 38 30 30 30 20 20 20 20 3C 3C 3C 3C 3C |A $8000 <<<<<| 000003A0: 3C 3C 3C 0D 3B 41 53 4C 20 41 0D 3B 54 41 58 0D |<<<.;ASL A.;TAX.| 000003B0: 3B 4C 44 41 20 56 41 52 4C 2C 58 0D 3B 54 41 59 |;LDA VARL,X.;TAY| 000003C0: 0D 3B 4C 44 41 20 56 41 52 48 2C 58 0D 3B 52 54 |.;LDA VARH,X.;RT| 000003D0: 53 0D 3B 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |S.; ------------| 000003E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 000003F0: 2D 0D 3B 20 20 53 54 4F 52 45 20 56 41 52 20 56 |-.; STORE VAR V| 00000400: 41 4C 55 45 0D 3B 53 45 54 20 4C 44 41 20 24 38 |ALUE.;SET LDA $8| 00000410: 30 30 30 20 20 20 20 3C 3C 3C 3C 3C 3C 3C 3C 3C |000 <<<<<<<<<| 00000420: 0D 3B 41 53 4C 20 41 0D 3B 54 41 59 0D 3B 4C 44 |.;ASL A.;TAY.;LD| 00000430: 41 20 24 38 30 30 33 0D 3B 53 54 41 20 56 41 52 |A $8003.;STA VAR| 00000440: 48 2C 59 0D 3B 4C 44 41 20 24 38 30 30 32 0D 3B |H,Y.;LDA $8002.;| 00000450: 53 54 41 20 56 41 52 4C 2C 59 0D 3B 52 54 53 0D |STA VARL,Y.;RTS.| 00000460: 3B 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |; --------------| 00000470: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D |---------------.| 00000480: 3B 20 20 45 58 45 43 55 54 45 20 31 20 49 4E 53 |; EXECUTE 1 INS| 00000490: 54 52 55 43 54 49 4F 4E 0D 45 58 45 43 55 54 20 |TRUCTION.EXECUT | 000004A0: 4C 44 59 20 23 24 30 30 0D 20 4C 44 41 20 28 50 |LDY #$00. LDA (P| 000004B0: 43 4E 54 29 2C 59 20 3B 47 45 54 20 4F 50 45 52 |CNT),Y ;GET OPER| 000004C0: 41 54 4F 52 0D 20 53 54 41 20 4F 50 45 52 0D 20 |ATOR. STA OPER. | 000004D0: 42 49 54 20 4F 50 45 52 20 3B 20 54 45 53 54 20 |BIT OPER ; TEST | 000004E0: 4F 50 45 52 41 54 4F 52 0D 20 42 50 4C 20 45 58 |OPERATOR. BPL EX| 000004F0: 31 0D 20 41 53 4C 20 41 20 3B 20 4C 4F 41 44 2F |1. ASL A ; LOAD/| 00000500: 53 54 4F 52 45 20 56 41 52 49 41 42 4C 45 0D 20 |STORE VARIABLE. | 00000510: 41 4E 44 20 23 24 37 46 0D 20 54 41 59 0D 20 42 |AND #$7F. TAY. B| 00000520: 56 53 20 45 58 30 0D 20 49 4E 58 0D 20 49 4E 58 |VS EX0. INX. INX| 00000530: 0D 20 4A 53 52 20 4C 4F 41 44 0D 20 4A 4D 50 20 |. JSR LOAD. JMP | 00000540: 45 58 52 54 53 0D 45 58 30 20 4A 53 52 20 53 54 |EXRTS.EX0 JSR ST| 00000550: 4F 52 45 0D 20 4A 4D 50 20 50 4F 50 31 0D 3B 2D |ORE. JMP POP1.;-| 00000560: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000570: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 45 58 31 20 |-----------.EX1 | 00000580: 42 56 43 20 45 58 32 20 3B 20 4E 4F 20 41 52 47 |BVC EX2 ; NO ARG| 00000590: 0D 20 43 4D 50 20 23 24 37 41 0D 20 42 43 53 20 |. CMP #$7A. BCS | 000005A0: 53 50 45 43 0D 20 4A 53 52 20 49 4E 43 50 43 20 |SPEC. JSR INCPC | 000005B0: 3B 20 49 4E 43 52 45 4D 45 4E 54 20 50 43 0D 20 |; INCREMENT PC. | 000005C0: 4C 44 41 20 28 50 43 4E 54 29 2C 59 0D 20 53 54 |LDA (PCNT),Y. ST| 000005D0: 41 20 41 52 47 0D 45 58 32 20 4A 53 52 20 47 4F |A ARG.EX2 JSR GO| 000005E0: 20 3B 20 47 4F 20 54 4F 20 4F 50 45 52 41 54 4F | ; GO TO OPERATO| 000005F0: 52 0D 45 58 44 4F 4E 45 20 4C 44 41 20 4F 50 45 |R.EXDONE LDA OPE| 00000600: 52 0D 20 41 53 4C 20 41 0D 20 41 53 4C 20 41 0D |R. ASL A. ASL A.| 00000610: 20 53 54 41 20 4F 50 45 52 0D 20 42 49 54 20 4F | STA OPER. BIT O| 00000620: 50 45 52 0D 20 42 4D 49 20 45 58 34 20 3B 20 50 |PER. BMI EX4 ; P| 00000630: 4F 50 20 4F 52 20 50 4F 50 58 32 0D 20 42 56 43 |OP OR POPX2. BVC| 00000640: 20 45 58 52 54 53 20 3B 20 4E 4F 0D 45 50 55 53 | EXRTS ; NO.EPUS| 00000650: 48 20 49 4E 58 0D 20 49 4E 58 0D 20 4A 4D 50 20 |H INX. INX. JMP | 00000660: 45 58 52 54 53 0D 45 58 34 20 44 45 58 0D 20 44 |EXRTS.EX4 DEX. D| 00000670: 45 58 0D 20 42 56 43 20 45 58 52 54 53 0D 50 4F |EX. BVC EXRTS.PO| 00000680: 50 31 20 44 45 58 0D 20 44 45 58 0D 45 58 52 54 |P1 DEX. DEX.EXRT| 00000690: 53 20 4A 53 52 20 49 4E 43 50 43 0D 20 4A 4D 50 |S JSR INCPC. JMP| 000006A0: 20 45 58 45 43 55 54 0D 3B 0D 53 50 45 43 20 4A | EXECUT.;.SPEC J| 000006B0: 53 52 20 47 4F 0D 20 4C 44 41 20 4F 50 45 52 0D |SR GO. LDA OPER.| 000006C0: 20 43 4D 50 20 23 24 37 46 0D 20 42 45 51 20 53 | CMP #$7F. BEQ S| 000006D0: 50 45 43 31 0D 20 4A 53 52 20 49 4E 43 50 43 0D |PEC1. JSR INCPC.| 000006E0: 53 50 45 43 31 20 4A 4D 50 20 45 58 45 43 55 54 |SPEC1 JMP EXECUT| 000006F0: 0D 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |.;--------------| 00000700: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 49 |--------------.I| 00000710: 4E 43 50 43 20 49 4E 43 20 50 43 4E 54 0D 20 42 |NCPC INC PCNT. B| 00000720: 4E 45 20 49 4E 43 50 43 31 0D 20 49 4E 43 20 50 |NE INCPC1. INC P| 00000730: 43 4E 54 2B 31 0D 49 4E 43 50 43 31 20 52 54 53 |CNT+1.INCPC1 RTS| 00000740: 0D 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |.;--------------| 00000750: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 47 |--------------.G| 00000760: 4F 20 4C 44 41 20 4F 50 45 52 0D 20 41 53 4C 20 |O LDA OPER. ASL | 00000770: 41 0D 20 54 41 59 0D 20 4C 44 41 20 4F 50 54 42 |A. TAY. LDA OPTB| 00000780: 4C 2B 31 2C 59 0D 20 50 48 41 0D 20 4C 44 41 20 |L+1,Y. PHA. LDA | 00000790: 4F 50 54 42 4C 2C 59 0D 20 50 48 41 0D 20 4C 44 |OPTBL,Y. PHA. LD| 000007A0: 59 20 41 52 47 0D 20 52 54 53 20 3B 20 47 4F 20 |Y ARG. RTS ; GO | 000007B0: 21 21 0D 3B 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |!!.; -----------| 000007C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 000007D0: 2D 2D 0D 3B 20 20 49 4E 54 45 47 45 52 20 53 55 |--.; INTEGER SU| 000007E0: 42 52 4F 55 54 49 4E 45 53 0D 3B 0D 3B 20 20 4C |BROUTINES.;.; L| 000007F0: 4F 41 44 2C 20 56 41 52 28 59 2B 56 50 4C 55 53 |OAD, VAR(Y+VPLUS| 00000800: 29 3D 3E 53 54 4B 20 24 38 30 2D 24 42 46 0D 4C |)=>STK $80-$BF.L| 00000810: 4F 41 44 20 43 50 59 20 56 4C 49 4D 0D 20 42 4D |OAD CPY VLIM. BM| 00000820: 49 20 4C 44 4C 4F 0D 20 54 59 41 0D 20 43 4C 43 |I LDLO. TYA. CLC| 00000830: 0D 20 41 44 43 20 56 50 4C 55 53 0D 20 54 41 59 |. ADC VPLUS. TAY| 00000840: 0D 4C 44 4C 4F 20 4C 44 41 20 56 41 52 4C 2C 59 |.LDLO LDA VARL,Y| 00000850: 0D 20 53 54 41 20 53 54 4C 2C 58 0D 20 4C 44 41 |. STA STL,X. LDA| 00000860: 20 56 41 52 48 2C 59 0D 20 53 54 41 20 53 54 48 | VARH,Y. STA STH| 00000870: 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 53 54 4F |,X. RTS.;.; STO| 00000880: 52 45 2C 20 53 54 4B 3D 3E 56 41 52 28 59 2B 56 |RE, STK=>VAR(Y+V| 00000890: 50 4C 55 53 29 20 24 43 30 2D 24 46 46 0D 53 54 |PLUS) $C0-$FF.ST| 000008A0: 4F 52 45 20 43 50 59 20 56 4C 49 4D 0D 20 42 4D |ORE CPY VLIM. BM| 000008B0: 49 20 53 54 4C 4F 0D 20 54 59 41 0D 20 43 4C 43 |I STLO. TYA. CLC| 000008C0: 0D 20 41 44 43 20 56 50 4C 55 53 0D 20 54 41 59 |. ADC VPLUS. TAY| 000008D0: 0D 53 54 4C 4F 20 4C 44 41 20 53 54 4C 2C 58 0D |.STLO LDA STL,X.| 000008E0: 20 53 54 41 20 56 41 52 4C 2C 59 0D 20 4C 44 41 | STA VARL,Y. LDA| 000008F0: 20 53 54 48 2C 58 0D 20 53 54 41 20 56 41 52 48 | STH,X. STA VARH| 00000900: 2C 59 0D 20 52 54 53 0D 3B 0D 3B 20 4F 46 46 53 |,Y. RTS.;.; OFFS| 00000910: 45 54 2C 20 53 54 4B 3D 3E 56 50 4C 55 53 20 59 |ET, STK=>VPLUS Y| 00000920: 3D 3E 56 4C 49 4D 20 24 36 30 0D 4F 46 46 53 45 |=>VLIM $60.OFFSE| 00000930: 54 20 54 59 41 0D 20 41 53 4C 20 41 0D 20 53 54 |T TYA. ASL A. ST| 00000940: 41 20 56 4C 49 4D 0D 20 4C 44 41 20 53 54 4C 2C |A VLIM. LDA STL,| 00000950: 58 0D 20 41 53 4C 20 41 0D 20 53 54 41 20 56 50 |X. ASL A. STA VP| 00000960: 4C 55 53 0D 20 52 54 53 0D 3B 0D 3B 20 20 41 44 |LUS. RTS.;.; AD| 00000970: 44 2C 20 53 54 4B 2B 4F 50 52 3D 3E 4F 50 52 20 |D, STK+OPR=>OPR | 00000980: 24 32 30 0D 41 44 44 20 43 4C 43 0D 20 4C 44 41 |$20.ADD CLC. LDA| 00000990: 20 53 54 4C 2C 58 0D 20 41 44 43 20 4F 50 4C 2C | STL,X. ADC OPL,| 000009A0: 58 0D 20 53 54 41 20 4F 50 4C 2C 58 0D 20 4C 44 |X. STA OPL,X. LD| 000009B0: 41 20 53 54 48 2C 58 0D 20 41 44 43 20 4F 50 48 |A STH,X. ADC OPH| 000009C0: 2C 58 0D 20 53 54 41 20 4F 50 48 2C 58 0D 20 52 |,X. STA OPH,X. R| 000009D0: 54 53 0D 3B 0D 3B 20 20 53 55 42 2C 20 4F 50 52 |TS.;.; SUB, OPR| 000009E0: 2D 53 54 4B 3D 3E 4F 50 52 20 24 32 31 0D 53 55 |-STK=>OPR $21.SU| 000009F0: 42 20 53 45 43 0D 20 4C 44 41 20 4F 50 4C 2C 58 |B SEC. LDA OPL,X| 00000A00: 0D 20 53 42 43 20 53 54 4C 2C 58 0D 20 53 54 41 |. SBC STL,X. STA| 00000A10: 20 4F 50 4C 2C 58 0D 20 4C 44 41 20 4F 50 48 2C | OPL,X. LDA OPH,| 00000A20: 58 0D 20 53 42 43 20 53 54 48 2C 58 0D 20 53 54 |X. SBC STH,X. ST| 00000A30: 41 20 4F 50 48 2C 58 0D 20 52 54 53 0D 3B 0D 3B |A OPH,X. RTS.;.;| 00000A40: 20 20 4D 55 4C 54 2C 20 53 54 4B 2A 4F 50 52 3D | MULT, STK*OPR=| 00000A50: 3E 4F 50 52 20 24 32 32 0D 3B 20 31 36 20 42 49 |>OPR $22.; 16 BI| 00000A60: 54 20 50 52 45 43 49 53 49 4F 4E 0D 4D 55 4C 54 |T PRECISION.MULT| 00000A70: 20 4C 44 59 20 23 24 31 30 0D 4D 32 20 4C 44 41 | LDY #$10.M2 LDA| 00000A80: 20 23 24 30 30 0D 20 53 54 41 20 53 54 58 32 2C | #$00. STA STX2,| 00000A90: 58 0D 20 53 54 41 20 53 54 58 31 2C 58 0D 4D 55 |X. STA STX1,X.MU| 00000AA0: 4C 54 32 20 4C 44 41 20 53 54 4C 2C 58 0D 20 4C |LT2 LDA STL,X. L| 00000AB0: 53 52 20 41 0D 20 42 43 43 20 4D 55 4C 54 34 20 |SR A. BCC MULT4 | 00000AC0: 3B 42 49 54 20 4F 46 46 0D 20 43 4C 43 0D 20 4C |;BIT OFF. CLC. L| 00000AD0: 44 41 20 53 54 58 31 2C 58 0D 20 41 44 43 20 4F |DA STX1,X. ADC O| 00000AE0: 50 4C 2C 58 0D 20 53 54 41 20 53 54 58 31 2C 58 |PL,X. STA STX1,X| 00000AF0: 0D 20 4C 44 41 20 53 54 58 32 2C 58 0D 20 41 44 |. LDA STX2,X. AD| 00000B00: 43 20 4F 50 48 2C 58 0D 20 53 54 41 20 53 54 58 |C OPH,X. STA STX| 00000B10: 32 2C 58 0D 4D 55 4C 54 34 20 52 4F 52 20 53 54 |2,X.MULT4 ROR ST| 00000B20: 58 32 2C 58 0D 20 52 4F 52 20 53 54 58 31 2C 58 |X2,X. ROR STX1,X| 00000B30: 0D 20 52 4F 52 20 53 54 48 2C 58 0D 20 52 4F 52 |. ROR STH,X. ROR| 00000B40: 20 53 54 4C 2C 58 0D 20 44 45 59 0D 20 42 4E 45 | STL,X. DEY. BNE| 00000B50: 20 4D 55 4C 54 32 0D 50 55 4E 43 48 20 4C 44 41 | MULT2.PUNCH LDA| 00000B60: 20 53 54 4C 2C 58 0D 20 53 54 41 20 4F 50 4C 2C | STL,X. STA OPL,| 00000B70: 58 0D 20 4C 44 41 20 53 54 48 2C 58 0D 20 53 54 |X. LDA STH,X. ST| 00000B80: 41 20 4F 50 48 2C 58 0D 20 52 54 53 0D 3B 0D 3B |A OPH,X. RTS.;.;| 00000B90: 20 20 53 48 49 46 54 20 52 49 47 48 54 2C 20 53 | SHIFT RIGHT, S| 00000BA0: 54 4B 2F 28 32 5E 59 29 3D 3E 53 54 4B 20 24 34 |TK/(2^Y)=>STK $4| 00000BB0: 31 0D 53 48 49 46 54 52 20 4C 44 41 20 53 54 48 |1.SHIFTR LDA STH| 00000BC0: 2C 58 0D 20 52 4F 4C 20 41 0D 20 52 4F 52 20 53 |,X. ROL A. ROR S| 00000BD0: 54 48 2C 58 0D 20 52 4F 52 20 53 54 4C 2C 58 0D |TH,X. ROR STL,X.| 00000BE0: 20 44 45 59 0D 20 42 4E 45 20 53 48 49 46 54 52 | DEY. BNE SHIFTR| 00000BF0: 0D 20 52 54 53 0D 3B 0D 3B 20 53 48 49 46 54 20 |. RTS.;.; SHIFT | 00000C00: 52 49 47 48 54 20 50 4F 53 49 54 49 56 45 2C 20 |RIGHT POSITIVE, | 00000C10: 24 34 43 0D 53 48 52 30 20 3D 20 2A 0D 20 4C 53 |$4C.SHR0 = *. LS| 00000C20: 52 20 53 54 48 2C 58 0D 20 52 4F 52 20 53 54 4C |R STH,X. ROR STL| 00000C30: 2C 58 0D 20 44 45 59 0D 20 42 4E 45 20 53 48 52 |,X. DEY. BNE SHR| 00000C40: 30 0D 20 52 54 53 0D 3B 0D 3B 20 20 53 48 49 46 |0. RTS.;.; SHIF| 00000C50: 54 20 4C 45 46 54 2C 20 53 54 4B 2A 28 32 5E 59 |T LEFT, STK*(2^Y| 00000C60: 29 3D 53 54 4B 20 24 34 32 0D 53 48 49 46 54 4C |)=STK $42.SHIFTL| 00000C70: 20 3D 20 2A 0D 20 41 53 4C 20 53 54 4C 2C 58 0D | = *. ASL STL,X.| 00000C80: 20 52 4F 4C 20 53 54 48 2C 58 0D 20 44 45 59 0D | ROL STH,X. DEY.| 00000C90: 20 42 4E 45 20 53 48 49 46 54 4C 0D 20 52 54 53 | BNE SHIFTL. RTS| 00000CA0: 0D 3B 0D 3B 20 4E 45 47 41 54 45 2C 20 2D 53 54 |.;.; NEGATE, -ST| 00000CB0: 4B 3D 3E 53 54 4B 20 24 30 32 0D 4E 45 47 20 53 |K=>STK $02.NEG S| 00000CC0: 45 43 0D 20 4C 44 41 20 23 24 30 0D 20 53 42 43 |EC. LDA #$0. SBC| 00000CD0: 20 53 54 4C 2C 58 0D 20 53 54 41 20 53 54 4C 2C | STL,X. STA STL,| 00000CE0: 58 0D 20 4C 44 41 20 23 24 30 0D 20 53 42 43 20 |X. LDA #$0. SBC | 00000CF0: 53 54 48 2C 58 0D 20 53 54 41 20 53 54 48 2C 58 |STH,X. STA STH,X| 00000D00: 0D 20 52 54 53 0D 3B 0D 4E 45 47 4F 50 52 20 53 |. RTS.;.NEGOPR S| 00000D10: 45 43 0D 20 4C 44 41 20 23 30 0D 20 53 42 43 20 |EC. LDA #0. SBC | 00000D20: 4F 50 4C 2C 58 0D 20 53 54 41 20 4F 50 4C 2C 58 |OPL,X. STA OPL,X| 00000D30: 0D 20 4C 44 41 20 23 24 30 0D 20 53 42 43 20 4F |. LDA #$0. SBC O| 00000D40: 50 48 2C 58 0D 20 53 54 41 20 4F 50 48 2C 58 0D |PH,X. STA OPH,X.| 00000D50: 20 52 54 53 0D 3B 0D 3B 20 20 42 49 54 2C 20 46 | RTS.;.; BIT, F| 00000D60: 49 52 53 54 20 42 49 54 20 53 45 54 2C 20 24 35 |IRST BIT SET, $5| 00000D70: 45 0D 3B 42 49 54 58 20 4C 44 59 20 23 30 0D 3B |E.;BITX LDY #0.;| 00000D80: 20 54 59 41 0D 3B 20 53 54 41 20 53 54 48 2C 58 | TYA.; STA STH,X| 00000D90: 0D 3B 42 49 54 31 20 4C 53 52 20 53 54 4C 2C 58 |.;BIT1 LSR STL,X| 00000DA0: 0D 3B 20 42 43 53 20 42 49 54 32 0D 3B 20 49 4E |.; BCS BIT2.; IN| 00000DB0: 59 0D 3B 20 43 50 59 20 23 38 0D 3B 20 42 4D 49 |Y.; CPY #8.; BMI| 00000DC0: 20 42 49 54 31 0D 3B 42 49 54 32 20 54 59 41 0D | BIT1.;BIT2 TYA.| 00000DD0: 3B 20 53 54 41 20 53 54 4C 2C 58 0D 3B 20 52 54 |; STA STL,X.; RT| 00000DE0: 53 0D 3B 0D 3B 20 43 41 4C 4C 2C 20 41 53 4D 20 |S.;.; CALL, ASM | 00000DF0: 53 55 42 52 4F 55 54 49 4E 45 3B 20 59 3D 50 55 |SUBROUTINE; Y=PU| 00000E00: 53 48 20 46 4C 41 47 0D 43 41 4C 4C 20 44 45 59 |SH FLAG.CALL DEY| 00000E10: 20 3B 20 54 45 53 54 20 46 4F 52 20 41 52 47 0D | ; TEST FOR ARG.| 00000E20: 20 42 4D 49 20 43 41 4C 4C 31 0D 20 4C 44 41 20 | BMI CALL1. LDA | 00000E30: 53 54 4C 2C 58 0D 20 53 54 41 20 24 38 30 30 30 |STL,X. STA $8000| 00000E40: 0D 20 4C 44 41 20 53 54 48 2C 58 0D 20 53 54 41 |. LDA STH,X. STA| 00000E50: 20 24 38 30 30 31 0D 20 44 45 58 0D 20 44 45 58 | $8001. DEX. DEX| 00000E60: 0D 43 41 4C 4C 31 20 3D 20 2A 0D 20 4C 44 41 20 |.CALL1 = *. LDA | 00000E70: 53 54 4C 2C 58 0D 20 42 4E 45 20 43 41 4C 4C 32 |STL,X. BNE CALL2| 00000E80: 0D 20 44 45 43 20 53 54 48 2C 58 0D 43 41 4C 4C |. DEC STH,X.CALL| 00000E90: 32 20 4C 44 41 20 53 54 48 2C 58 0D 20 50 48 41 |2 LDA STH,X. PHA| 00000EA0: 0D 20 4C 44 59 20 53 54 4C 2C 58 0D 20 44 45 59 |. LDY STL,X. DEY| 00000EB0: 0D 20 54 59 41 0D 20 50 48 41 0D 20 52 54 53 0D |. TYA. PHA. RTS.| 00000EC0: 3B 0D 3B 20 20 43 4F 4E 53 54 41 4E 54 2D 38 20 |;.; CONSTANT-8 | 00000ED0: 42 49 54 53 2C 20 59 3D 3E 53 54 4B 20 30 2D 32 |BITS, Y=>STK 0-2| 00000EE0: 35 35 20 24 35 32 0D 43 4F 4E 50 20 4C 44 41 20 |55 $52.CONP LDA | 00000EF0: 23 30 0D 20 49 4E 58 0D 20 49 4E 58 0D 20 53 54 |#0. INX. INX. ST| 00000F00: 41 20 53 54 48 2C 58 0D 20 54 59 41 0D 20 53 54 |A STH,X. TYA. ST| 00000F10: 41 20 53 54 4C 2C 58 0D 20 44 45 58 0D 20 44 45 |A STL,X. DEX. DE| 00000F20: 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 43 4F 4E 53 |X. RTS.;.; CONS| 00000F30: 54 41 4E 54 2D 38 20 42 49 54 53 2C 20 59 3D 3E |TANT-8 BITS, Y=>| 00000F40: 53 54 4B 20 31 32 37 2F 2D 31 32 38 20 24 35 30 |STK 127/-128 $50| 00000F50: 0D 43 4F 4E 20 49 4E 58 0D 20 49 4E 58 0D 20 4A |.CON INX. INX. J| 00000F60: 53 52 20 43 4F 4E 30 0D 20 44 45 58 0D 20 44 45 |SR CON0. DEX. DE| 00000F70: 58 0D 50 4F 50 20 52 54 53 20 3B 20 50 4F 50 2C |X.POP RTS ; POP,| 00000F80: 20 20 24 32 42 0D 3B 0D 43 4F 4E 30 20 4C 44 41 | $2B.;.CON0 LDA| 00000F90: 20 23 24 30 30 0D 20 53 54 41 20 53 54 48 2C 58 | #$00. STA STH,X| 00000FA0: 0D 20 54 59 41 0D 20 42 50 4C 20 43 4F 4E 31 0D |. TYA. BPL CON1.| 00000FB0: 20 44 45 43 20 53 54 48 2C 58 20 3B 20 4E 45 47 | DEC STH,X ; NEG| 00000FC0: 41 54 49 56 45 20 43 4F 4E 53 54 0D 43 4F 4E 31 |ATIVE CONST.CON1| 00000FD0: 20 53 54 41 20 53 54 4C 2C 58 20 3B 24 30 30 20 | STA STL,X ;$00 | 00000FE0: 4F 52 20 24 46 46 0D 20 52 54 53 0D 3B 0D 3B 20 |OR $FF. RTS.;.; | 00000FF0: 43 4F 4E 53 54 41 4E 54 2D 31 36 20 42 49 54 53 |CONSTANT-16 BITS| 00001000: 2C 20 59 2C 41 3D 3E 53 54 4B 20 24 35 31 0D 43 |, Y,A=>STK $51.C| 00001010: 4F 4E 31 36 20 54 59 41 0D 20 49 4E 58 0D 20 49 |ON16 TYA. INX. I| 00001020: 4E 58 0D 20 53 54 41 20 53 54 4C 2C 58 0D 20 4A |NX. STA STL,X. J| 00001030: 53 52 20 49 4E 43 50 43 0D 20 4C 44 59 20 23 24 |SR INCPC. LDY #$| 00001040: 30 30 0D 20 4C 44 41 20 28 50 43 4E 54 29 2C 59 |00. LDA (PCNT),Y| 00001050: 0D 20 53 54 41 20 53 54 48 2C 58 0D 20 44 45 58 |. STA STH,X. DEX| 00001060: 0D 20 44 45 58 0D 20 52 54 53 0D 3B 0D 3B 0D 3B |. DEX. RTS.;.;.;| 00001070: 0D 3B 20 53 50 52 49 54 45 20 43 4F 4D 4D 41 4E |.; SPRITE COMMAN| 00001080: 44 53 0D 3B 0D 42 4D 41 53 4B 20 2E 42 59 54 45 |DS.;.BMASK .BYTE| 00001090: 20 24 46 45 2C 24 30 31 2C 24 46 44 2C 24 30 32 | $FE,$01,$FD,$02| 000010A0: 2C 24 46 42 2C 24 30 34 2C 24 46 37 2C 24 30 38 |,$FB,$04,$F7,$08| 000010B0: 0D 20 2E 42 59 54 45 20 24 45 46 2C 24 31 30 2C |. .BYTE $EF,$10,| 000010C0: 24 44 46 2C 24 32 30 2C 24 42 46 2C 24 34 30 2C |$DF,$20,$BF,$40,| 000010D0: 24 37 46 2C 24 38 30 0D 20 2E 42 59 54 45 20 24 |$7F,$80. .BYTE $| 000010E0: 46 45 2C 24 30 31 2C 24 46 44 2C 24 30 32 2C 24 |FE,$01,$FD,$02,$| 000010F0: 46 42 2C 24 30 34 2C 24 46 37 2C 24 30 38 0D 20 |FB,$04,$F7,$08. | 00001100: 2E 42 59 54 45 20 24 46 45 2C 24 30 31 2C 24 46 |.BYTE $FE,$01,$F| 00001110: 44 2C 24 30 32 2C 24 46 42 2C 24 30 34 2C 24 46 |D,$02,$FB,$04,$F| 00001120: 37 2C 24 30 38 0D 20 2E 42 59 54 45 20 24 45 46 |7,$08. .BYTE $EF| 00001130: 2C 24 31 30 2C 24 44 46 2C 24 32 30 2C 24 42 46 |,$10,$DF,$20,$BF| 00001140: 2C 24 34 30 2C 24 37 46 2C 24 38 30 0D 20 2E 42 |,$40,$7F,$80. .B| 00001150: 59 54 45 20 24 46 45 2C 24 30 31 2C 24 46 44 2C |YTE $FE,$01,$FD,| 00001160: 24 30 32 2C 24 46 42 2C 24 30 34 2C 24 46 37 2C |$02,$FB,$04,$F7,| 00001170: 24 30 38 0D 4D 4F 46 53 54 20 2E 57 4F 52 44 20 |$08.MOFST .WORD | 00001180: 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 0D |0,0,0,0,0,0,0,0.| 00001190: 20 2E 57 4F 52 44 20 31 2C 31 2C 31 2C 31 0D 20 | .WORD 1,1,1,1. | 000011A0: 2E 57 4F 52 44 20 32 2C 32 2C 32 2C 32 2C 32 2C |.WORD 2,2,2,2,2,| 000011B0: 32 2C 32 2C 32 0D 20 2E 57 4F 52 44 20 33 2C 33 |2,2,2. .WORD 3,3| 000011C0: 2C 33 2C 33 0D 3B 0D 3B 20 53 50 58 2C 20 53 54 |,3,3.;.; SPX, ST| 000011D0: 4B 20 3D 3E 20 53 50 52 45 47 58 20 5B 59 5D 28 |K => SPREGX [Y](| 000011E0: 20 4F 52 20 5B 56 41 52 5B 59 5D 5D 20 29 0D 3B | OR [VAR[Y]] ).;| 000011F0: 0D 53 50 52 58 20 3D 20 2A 0D 20 4A 53 52 20 53 |.SPRX = *. JSR S| 00001200: 50 32 59 20 3B 20 47 45 54 20 53 50 52 49 54 45 |P2Y ; GET SPRITE| 00001210: 20 4E 55 4D 42 45 52 20 4F 46 46 53 45 54 0D 20 | NUMBER OFFSET. | 00001220: 4C 44 41 20 53 54 4C 2C 58 0D 20 53 54 41 20 53 |LDA STL,X. STA S| 00001230: 50 30 58 2C 59 20 3B 20 53 54 4F 52 45 20 4C 53 |P0X,Y ; STORE LS| 00001240: 20 42 59 54 45 0D 20 4C 44 41 20 42 4D 41 53 4B | BYTE. LDA BMASK| 00001250: 2B 31 2C 59 20 3B 20 53 54 4F 52 45 20 4D 53 20 |+1,Y ; STORE MS | 00001260: 42 49 54 0D 20 50 48 41 0D 20 4C 44 41 20 42 4D |BIT. PHA. LDA BM| 00001270: 41 53 4B 2C 59 0D 20 50 48 41 0D 20 4C 44 41 20 |ASK,Y. PHA. LDA | 00001280: 4D 4F 46 53 54 2C 59 0D 20 54 41 59 0D 20 50 4C |MOFST,Y. TAY. PL| 00001290: 41 0D 20 41 4E 44 20 4D 53 42 52 45 47 2C 59 0D |A. AND MSBREG,Y.| 000012A0: 20 53 54 41 20 54 4D 50 31 0D 20 4C 44 41 20 53 | STA TMP1. LDA S| 000012B0: 54 48 2C 58 0D 20 52 4F 52 20 41 0D 20 50 4C 41 |TH,X. ROR A. PLA| 000012C0: 0D 20 42 43 43 20 53 50 58 31 20 3B 20 53 45 54 |. BCC SPX1 ; SET| 000012D0: 20 4D 53 42 0D 20 4F 52 41 20 54 4D 50 31 0D 20 | MSB. ORA TMP1. | 000012E0: 53 54 41 20 54 4D 50 31 0D 53 50 58 31 20 4C 44 |STA TMP1.SPX1 LD| 000012F0: 41 20 54 4D 50 31 0D 20 53 54 41 20 4D 53 42 52 |A TMP1. STA MSBR| 00001300: 45 47 2C 59 0D 20 52 54 53 0D 3B 0D 3B 0D 3B 20 |EG,Y. RTS.;.;.; | 00001310: 53 50 59 2C 20 53 54 4B 20 3D 3E 20 53 50 52 45 |SPY, STK => SPRE| 00001320: 47 59 20 5B 59 5D 28 20 4F 52 20 56 41 52 29 0D |GY [Y]( OR VAR).| 00001330: 53 50 52 59 20 3D 20 2A 0D 20 4A 53 52 20 53 50 |SPRY = *. JSR SP| 00001340: 32 59 0D 20 4C 44 41 20 53 54 4C 2C 58 0D 20 53 |2Y. LDA STL,X. S| 00001350: 54 41 20 53 50 30 59 2C 59 0D 20 52 54 53 0D 3B |TA SP0Y,Y. RTS.;| 00001360: 0D 53 50 32 59 20 3D 20 2A 0D 20 4C 44 41 20 41 |.SP2Y = *. LDA A| 00001370: 52 47 20 3B 20 49 46 20 41 52 47 20 3E 20 31 32 |RG ; IF ARG > 12| 00001380: 37 2C 20 41 52 47 20 49 53 20 53 50 52 49 54 45 |7, ARG IS SPRITE| 00001390: 0D 20 42 4D 49 20 53 50 32 59 31 0D 20 41 53 4C |. BMI SP2Y1. ASL| 000013A0: 20 41 20 3B 20 45 4C 53 45 20 56 41 52 20 5B 41 | A ; ELSE VAR [A| 000013B0: 52 47 5D 20 49 53 20 53 50 52 49 54 45 20 4E 55 |RG] IS SPRITE NU| 000013C0: 4D 42 45 52 0D 20 54 41 59 0D 20 4C 44 41 20 56 |MBER. TAY. LDA V| 000013D0: 41 52 4C 2C 59 0D 53 50 32 59 31 20 3D 20 2A 0D |ARL,Y.SP2Y1 = *.| 000013E0: 20 41 53 4C 20 41 0D 20 54 41 59 0D 20 52 54 53 | ASL A. TAY. RTS| 000013F0: 0D 3B 0D 3B 0D 3B 20 57 4F 52 44 2C 20 57 4F 52 |.;.;.; WORD, WOR| 00001400: 44 28 53 54 4B 29 3D 3E 53 54 4B 20 24 30 46 0D |D(STK)=>STK $0F.| 00001410: 57 52 44 20 4C 44 59 20 53 54 4C 2C 58 0D 20 4A |WRD LDY STL,X. J| 00001420: 4D 50 20 43 4F 4E 30 0D 3B 0D 3B 20 20 52 4E 44 |MP CON0.;.; RND| 00001430: 2C 20 53 54 4B 2A 52 4E 44 3D 3E 53 54 4B 20 24 |, STK*RND=>STK $| 00001440: 30 38 0D 52 4E 44 20 49 4E 58 20 3B 20 46 41 4B |08.RND INX ; FAK| 00001450: 45 20 53 54 41 43 4B 0D 20 49 4E 58 0D 20 4C 44 |E STACK. INX. LD| 00001460: 41 20 52 41 4E 44 4F 4D 0D 52 4E 44 45 20 53 54 |A RANDOM.RNDE ST| 00001470: 41 20 53 54 4C 2C 58 0D 20 4C 44 41 20 23 24 30 |A STL,X. LDA #$0| 00001480: 30 0D 20 53 54 41 20 53 54 48 2C 58 0D 20 53 54 |0. STA STH,X. ST| 00001490: 41 20 54 4D 50 31 0D 20 4C 44 41 20 4F 50 48 2C |A TMP1. LDA OPH,| 000014A0: 58 0D 20 42 50 4C 20 52 4E 44 32 0D 20 4A 53 52 |X. BPL RND2. JSR| 000014B0: 20 4E 45 47 4F 50 52 20 3B 20 41 42 53 28 4F 50 | NEGOPR ; ABS(OP| 000014C0: 52 29 0D 20 49 4E 43 20 54 4D 50 31 0D 52 4E 44 |R). INC TMP1.RND| 000014D0: 32 20 4C 44 59 20 23 38 0D 20 4A 53 52 20 4D 32 |2 LDY #8. JSR M2| 000014E0: 20 3B 20 44 4F 20 4D 55 4C 54 0D 20 4C 44 41 20 | ; DO MULT. LDA | 000014F0: 53 54 58 32 2C 58 0D 20 53 54 41 20 4F 50 48 2C |STX2,X. STA OPH,| 00001500: 58 0D 20 4C 44 41 20 53 54 58 31 2C 58 20 20 3B |X. LDA STX1,X ;| 00001510: 20 4E 4F 52 4D 41 4C 49 5A 45 0D 20 53 54 41 20 | NORMALIZE. STA | 00001520: 4F 50 4C 2C 58 0D 20 4C 44 41 20 54 4D 50 31 0D |OPL,X. LDA TMP1.| 00001530: 20 42 45 51 20 52 4E 44 33 0D 20 4A 53 52 20 4E | BEQ RND3. JSR N| 00001540: 45 47 4F 50 52 0D 52 4E 44 33 20 44 45 58 20 3B |EGOPR.RND3 DEX ;| 00001550: 20 52 45 53 54 4F 52 45 20 53 54 41 43 4B 0D 20 | RESTORE STACK. | 00001560: 44 45 58 0D 20 52 54 53 0D 3B 0D 3B 0D 42 59 54 |DEX. RTS.;.;.BYT| 00001570: 58 20 4C 44 41 20 23 24 30 30 20 3B 20 20 42 59 |X LDA #$00 ; BY| 00001580: 54 45 2C 20 53 54 4B 26 46 46 3D 3E 53 54 4B 20 |TE, STK&FF=>STK | 00001590: 24 30 37 0D 20 53 54 41 20 53 54 48 2C 58 20 3B |$07. STA STH,X ;| 000015A0: 20 30 0D 20 52 54 53 0D 3B 0D 3B 0D 3B 20 20 41 | 0. RTS.;.;.; A| 000015B0: 42 53 2C 20 41 42 53 28 53 54 4B 29 3D 3E 53 54 |BS, ABS(STK)=>ST| 000015C0: 4B 20 24 30 39 0D 41 42 53 20 4C 44 41 20 53 54 |K $09.ABS LDA ST| 000015D0: 48 2C 58 0D 20 42 50 4C 20 41 42 53 31 0D 20 4A |H,X. BPL ABS1. J| 000015E0: 53 52 20 4E 45 47 20 3B 20 4E 45 47 41 54 45 20 |SR NEG ; NEGATE | 000015F0: 49 46 20 4E 45 47 0D 41 42 53 31 20 52 54 53 0D |IF NEG.ABS1 RTS.| 00001600: 3B 0D 3B 20 20 53 47 4E 2C 20 53 47 4E 28 53 54 |;.; SGN, SGN(ST| 00001610: 4B 29 3D 3E 53 54 4B 20 24 30 41 0D 53 47 4E 20 |K)=>STK $0A.SGN | 00001620: 4C 44 41 20 53 54 48 2C 58 0D 20 42 50 4C 20 53 |LDA STH,X. BPL S| 00001630: 47 4E 31 0D 20 4C 44 59 20 23 24 46 46 20 3B 3C |GN1. LDY #$FF ;<| 00001640: 30 0D 20 4A 4D 50 20 43 4F 4E 30 0D 53 47 4E 31 |0. JMP CON0.SGN1| 00001650: 20 42 45 51 20 53 47 4E 32 0D 20 4C 44 59 20 23 | BEQ SGN2. LDY #| 00001660: 24 30 31 0D 20 4A 4D 50 20 43 4F 4E 30 20 3B 3E |$01. JMP CON0 ;>| 00001670: 30 0D 53 47 4E 32 20 4C 44 41 20 53 54 4C 2C 58 |0.SGN2 LDA STL,X| 00001680: 0D 20 42 4E 45 20 53 47 4E 31 0D 20 4C 44 59 20 |. BNE SGN1. LDY | 00001690: 23 24 30 30 20 3B 3D 30 0D 20 4A 4D 50 20 43 4F |#$00 ;=0. JMP CO| 000016A0: 4E 30 0D 3B 0D 3B 20 20 50 45 45 4B 2C 20 50 45 |N0.;.; PEEK, PE| 000016B0: 45 4B 28 53 54 4B 29 3D 3E 53 54 4B 20 24 30 42 |EK(STK)=>STK $0B| 000016C0: 0D 50 45 45 4B 20 4A 53 52 20 55 53 52 20 3B 53 |.PEEK JSR USR ;S| 000016D0: 54 4B 3D 3E 46 52 30 0D 20 4C 44 41 20 23 24 30 |TK=>FR0. LDA #$0| 000016E0: 30 0D 20 53 54 41 20 53 54 48 2C 58 0D 20 4C 44 |0. STA STH,X. LD| 000016F0: 59 20 23 24 30 30 0D 20 4C 44 41 20 28 46 52 30 |Y #$00. LDA (FR0| 00001700: 29 2C 59 0D 20 53 54 41 20 53 54 4C 2C 58 0D 20 |),Y. STA STL,X. | 00001710: 52 54 53 0D 3B 0D 3B 20 20 50 4F 4B 45 2C 20 4F |RTS.;.; POKE, O| 00001720: 50 52 3D 3E 4C 4F 43 28 53 54 4B 29 20 24 33 30 |PR=>LOC(STK) $30| 00001730: 0D 50 4F 4B 45 20 4A 53 52 20 55 53 52 20 3B 53 |.POKE JSR USR ;S| 00001740: 54 4B 3D 3E 46 52 30 0D 20 4C 44 59 20 23 24 30 |TK=>FR0. LDY #$0| 00001750: 30 0D 50 4F 4B 45 30 20 4C 44 41 20 4F 50 4C 2C |0.POKE0 LDA OPL,| 00001760: 58 0D 20 53 54 41 20 28 46 52 30 29 2C 59 0D 20 |X. STA (FR0),Y. | 00001770: 52 54 53 0D 3B 0D 50 4F 4B 45 59 20 4A 53 52 20 |RTS.;.POKEY JSR | 00001780: 55 53 52 0D 20 4C 44 59 20 56 41 52 4C 0D 20 4A |USR. LDY VARL. J| 00001790: 4D 50 20 50 4F 4B 45 30 0D 3B 0D 3B 20 52 41 4E |MP POKE0.;.; RAN| 000017A0: 47 45 2C 20 56 41 4C 55 45 2C 20 4F 50 52 3D 4C |GE, VALUE, OPR=L| 000017B0: 4F 20 53 54 4B 3D 48 49 20 24 33 35 0D 3B 20 50 |O STK=HI $35.; P| 000017C0: 4F 53 49 54 49 56 45 20 56 41 4C 55 45 53 20 4F |OSITIVE VALUES O| 000017D0: 4E 4C 59 20 21 21 0D 52 41 4E 47 45 20 4C 44 41 |NLY !!.RANGE LDA| 000017E0: 20 4F 50 48 2D 32 2C 58 0D 20 42 4D 49 20 4F 52 | OPH-2,X. BMI OR| 000017F0: 4E 47 4C 4F 0D 20 43 4D 50 20 53 54 48 2C 58 0D |NGLO. CMP STH,X.| 00001800: 20 42 4E 45 20 43 50 48 49 0D 20 4C 44 41 20 4F | BNE CPHI. LDA O| 00001810: 50 4C 2D 32 2C 58 0D 20 43 4D 50 20 53 54 4C 2C |PL-2,X. CMP STL,| 00001820: 58 0D 43 50 48 49 20 42 43 53 20 4F 52 4E 47 48 |X.CPHI BCS ORNGH| 00001830: 49 0D 20 4C 44 41 20 4F 50 48 2D 32 2C 58 0D 20 |I. LDA OPH-2,X. | 00001840: 43 4D 50 20 4F 50 48 2C 58 0D 20 42 4E 45 20 43 |CMP OPH,X. BNE C| 00001850: 50 4C 4F 0D 20 4C 44 41 20 4F 50 4C 2D 32 2C 58 |PLO. LDA OPL-2,X| 00001860: 0D 20 43 4D 50 20 4F 50 4C 2C 58 0D 43 50 4C 4F |. CMP OPL,X.CPLO| 00001870: 20 42 43 43 20 4F 52 4E 47 4C 4F 0D 20 52 54 53 | BCC ORNGLO. RTS| 00001880: 0D 3B 0D 4F 52 4E 47 48 49 20 4C 44 41 20 53 54 |.;.ORNGHI LDA ST| 00001890: 48 2C 58 0D 20 53 54 41 20 4F 50 48 2D 32 2C 58 |H,X. STA OPH-2,X| 000018A0: 0D 20 4C 44 41 20 53 54 4C 2C 58 0D 20 53 54 41 |. LDA STL,X. STA| 000018B0: 20 4F 50 4C 2D 32 2C 58 0D 20 52 54 53 0D 4F 52 | OPL-2,X. RTS.OR| 000018C0: 4E 47 4C 4F 20 4C 44 41 20 4F 50 48 2C 58 0D 20 |NGLO LDA OPH,X. | 000018D0: 53 54 41 20 4F 50 48 2D 32 2C 58 0D 20 4C 44 41 |STA OPH-2,X. LDA| 000018E0: 20 4F 50 4C 2C 58 0D 20 53 54 41 20 4F 50 4C 2D | OPL,X. STA OPL-| 000018F0: 32 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 52 41 |2,X. RTS.;.; RA| 00001900: 4E 47 45 59 2C 20 56 41 4C 55 45 2C 20 4F 50 52 |NGEY, VALUE, OPR| 00001910: 3D 4C 4F 20 53 54 4B 3D 48 49 20 24 37 32 0D 3B |=LO STK=HI $72.;| 00001920: 20 50 4F 53 49 54 49 56 45 20 56 41 4C 55 45 53 | POSITIVE VALUES| 00001930: 20 4F 4E 4C 59 20 21 21 0D 52 4E 47 59 20 4C 44 | ONLY !!.RNGY LD| 00001940: 41 20 4F 50 48 2D 32 2C 58 0D 20 42 4D 49 20 4F |A OPH-2,X. BMI O| 00001950: 52 4E 47 0D 20 43 4D 50 20 53 54 48 2C 58 0D 20 |RNG. CMP STH,X. | 00001960: 42 4E 45 20 43 50 30 48 49 0D 20 4C 44 41 20 4F |BNE CP0HI. LDA O| 00001970: 50 4C 2D 32 2C 58 0D 20 43 4D 50 20 53 54 4C 2C |PL-2,X. CMP STL,| 00001980: 58 0D 43 50 30 48 49 20 42 43 53 20 4F 52 4E 47 |X.CP0HI BCS ORNG| 00001990: 0D 20 4C 44 41 20 4F 50 48 2D 32 2C 58 0D 20 43 |. LDA OPH-2,X. C| 000019A0: 4D 50 20 4F 50 48 2C 58 0D 20 42 4E 45 20 43 50 |MP OPH,X. BNE CP| 000019B0: 30 4C 4F 0D 20 4C 44 41 20 4F 50 4C 2D 32 2C 58 |0LO. LDA OPL-2,X| 000019C0: 0D 20 43 4D 50 20 4F 50 4C 2C 58 0D 43 50 30 4C |. CMP OPL,X.CP0L| 000019D0: 4F 20 42 43 43 20 4F 52 4E 47 0D 20 52 54 53 0D |O BCC ORNG. RTS.| 000019E0: 4F 52 4E 47 20 4C 44 41 20 23 30 0D 20 53 54 41 |ORNG LDA #0. STA| 000019F0: 20 4F 50 48 2D 32 2C 58 0D 20 54 59 41 0D 20 53 | OPH-2,X. TYA. S| 00001A00: 54 41 20 4F 50 4C 2D 32 2C 58 0D 20 52 54 53 0D |TA OPL-2,X. RTS.| 00001A10: 3B 0D 3B 20 20 53 54 49 43 4B 2C 20 28 53 54 4B |;.; STICK, (STK| 00001A20: 29 3D 3E 53 54 4B 2D 58 2C 4F 50 52 2D 59 20 24 |)=>STK-X,OPR-Y $| 00001A30: 31 30 0D 53 54 49 43 4B 20 4C 44 59 20 53 54 4C |10.STICK LDY STL| 00001A40: 2C 58 0D 20 4C 44 41 20 24 44 43 30 30 2C 59 0D |,X. LDA $DC00,Y.| 00001A50: 20 4C 44 59 20 23 24 30 30 0D 20 52 4F 52 20 41 | LDY #$00. ROR A| 00001A60: 0D 20 42 43 53 20 53 54 31 0D 20 4C 44 59 20 23 |. BCS ST1. LDY #| 00001A70: 24 46 46 0D 53 54 31 20 52 4F 52 20 41 0D 20 42 |$FF.ST1 ROR A. B| 00001A80: 43 53 20 53 54 32 0D 20 4C 44 59 20 23 24 30 31 |CS ST2. LDY #$01| 00001A90: 0D 53 54 32 20 50 48 41 0D 20 4A 53 52 20 43 4F |.ST2 PHA. JSR CO| 00001AA0: 4E 30 20 3B 20 44 59 0D 20 50 4C 41 0D 20 4C 44 |N0 ; DY. PLA. LD| 00001AB0: 59 20 23 24 30 30 0D 20 52 4F 52 20 41 0D 20 42 |Y #$00. ROR A. B| 00001AC0: 43 53 20 53 54 33 0D 20 44 45 59 0D 53 54 33 20 |CS ST3. DEY.ST3 | 00001AD0: 52 4F 52 20 41 0D 20 42 43 53 20 53 54 34 0D 20 |ROR A. BCS ST4. | 00001AE0: 4C 44 59 20 23 24 30 31 0D 53 54 34 20 4A 4D 50 |LDY #$01.ST4 JMP| 00001AF0: 20 43 4F 4E 20 3B 20 44 58 0D 3B 0D 3B 20 20 53 | CON ; DX.;.; S| 00001B00: 54 52 49 47 2C 20 28 53 54 4B 29 3D 3E 53 54 4B |TRIG, (STK)=>STK| 00001B10: 20 24 30 34 0D 53 54 52 49 47 20 4C 44 59 20 53 | $04.STRIG LDY S| 00001B20: 54 4C 2C 58 0D 20 4C 44 41 20 24 44 43 30 30 2C |TL,X. LDA $DC00,| 00001B30: 59 0D 20 52 4F 52 20 41 0D 20 52 4F 52 20 41 0D |Y. ROR A. ROR A.| 00001B40: 20 52 4F 52 20 41 0D 20 52 4F 52 20 41 0D 20 41 | ROR A. ROR A. A| 00001B50: 4E 44 20 23 31 0D 20 45 4F 52 20 23 31 0D 20 53 |ND #1. EOR #1. S| 00001B60: 54 41 20 53 54 4C 2C 58 0D 20 4C 44 41 20 23 24 |TA STL,X. LDA #$| 00001B70: 30 30 0D 20 53 54 41 20 53 54 48 2C 58 0D 20 52 |00. STA STH,X. R| 00001B80: 54 53 0D 3B 0D 3B 20 20 49 4E 43 2C 20 53 54 4B |TS.;.; INC, STK| 00001B90: 2B 31 3D 3E 53 54 4B 20 24 30 35 0D 49 4E 43 52 |+1=>STK $05.INCR| 00001BA0: 20 49 4E 43 20 53 54 4C 2C 58 0D 20 42 4E 45 20 | INC STL,X. BNE | 00001BB0: 49 4E 43 31 0D 20 49 4E 43 20 53 54 48 2C 58 0D |INC1. INC STH,X.| 00001BC0: 49 4E 43 31 20 52 54 53 0D 3B 0D 3B 20 20 44 45 |INC1 RTS.;.; DE| 00001BD0: 43 2C 20 53 54 4B 2D 31 3D 3E 53 54 4B 20 24 30 |C, STK-1=>STK $0| 00001BE0: 36 0D 44 45 43 52 20 4C 44 41 20 53 54 4C 2C 58 |6.DECR LDA STL,X| 00001BF0: 0D 20 42 4E 45 20 44 45 43 31 0D 20 44 45 43 20 |. BNE DEC1. DEC | 00001C00: 53 54 48 2C 58 0D 44 45 43 31 20 44 45 43 20 53 |STH,X.DEC1 DEC S| 00001C10: 54 4C 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 44 |TL,X. RTS.;.; D| 00001C20: 55 50 2C 20 53 54 4B 3D 3E 53 54 4B 2B 32 20 24 |UP, STK=>STK+2 $| 00001C30: 31 31 0D 44 55 50 20 4C 44 41 20 53 54 4C 2C 58 |11.DUP LDA STL,X| 00001C40: 0D 20 53 54 41 20 53 54 58 31 2C 58 0D 20 4C 44 |. STA STX1,X. LD| 00001C50: 41 20 53 54 48 2C 58 0D 20 53 54 41 20 53 54 58 |A STH,X. STA STX| 00001C60: 32 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 44 50 |2,X. RTS.;.; DP| 00001C70: 4F 4B 45 2C 20 4F 50 52 3D 3E 4C 4F 43 28 53 54 |OKE, OPR=>LOC(ST| 00001C80: 4B 29 20 24 33 34 0D 44 50 4F 4B 45 20 4C 44 59 |K) $34.DPOKE LDY| 00001C90: 20 23 24 30 30 0D 20 4A 53 52 20 55 53 52 20 3B | #$00. JSR USR ;| 00001CA0: 53 54 4B 3D 3E 46 52 30 0D 20 4C 44 41 20 4F 50 |STK=>FR0. LDA OP| 00001CB0: 4C 2C 58 0D 20 53 54 41 20 28 46 52 30 29 2C 59 |L,X. STA (FR0),Y| 00001CC0: 0D 20 49 4E 59 0D 20 4C 44 41 20 4F 50 48 2C 58 |. INY. LDA OPH,X| 00001CD0: 0D 20 53 54 41 20 28 46 52 30 29 2C 59 0D 20 52 |. STA (FR0),Y. R| 00001CE0: 54 53 0D 3B 0D 3B 20 20 44 50 45 45 4B 2C 20 50 |TS.;.; DPEEK, P| 00001CF0: 45 45 4B 28 53 54 4B 29 3D 3E 53 54 4B 20 24 30 |EEK(STK)=>STK $0| 00001D00: 44 0D 44 50 45 45 4B 20 4C 44 59 20 23 24 30 30 |D.DPEEK LDY #$00| 00001D10: 0D 20 4A 53 52 20 55 53 52 0D 20 4C 44 41 20 28 |. JSR USR. LDA (| 00001D20: 46 52 30 29 2C 59 0D 20 53 54 41 20 53 54 4C 2C |FR0),Y. STA STL,| 00001D30: 58 0D 20 49 4E 59 0D 20 4C 44 41 20 28 46 52 30 |X. INY. LDA (FR0| 00001D40: 29 2C 59 0D 20 53 54 41 20 53 54 48 2C 58 0D 20 |),Y. STA STH,X. | 00001D50: 52 54 53 0D 3B 0D 3B 20 20 44 4F 4E 45 20 24 30 |RTS.;.; DONE $0| 00001D60: 30 0D 44 4F 4E 45 20 50 4C 41 0D 20 50 4C 41 0D |0.DONE PLA. PLA.| 00001D70: 20 4C 44 59 20 46 52 30 0D 20 4C 44 41 20 46 52 | LDY FR0. LDA FR| 00001D80: 30 2B 31 0D 20 52 54 53 0D 3B 0D 3B 20 44 49 56 |0+1. RTS.;.; DIV| 00001D90: 49 44 45 2C 20 4F 50 52 2F 53 54 4B 3D 3E 4F 50 |IDE, OPR/STK=>OP| 00001DA0: 52 20 24 32 33 0D 44 49 56 20 4C 44 41 20 23 24 |R $23.DIV LDA #$| 00001DB0: 30 30 0D 20 53 54 41 20 46 4C 41 47 0D 20 4A 53 |00. STA FLAG. JS| 00001DC0: 52 20 44 49 56 38 0D 20 44 45 58 0D 20 44 45 58 |R DIV8. DEX. DEX| 00001DD0: 0D 20 4A 53 52 20 44 49 56 38 0D 20 49 4E 58 0D |. JSR DIV8. INX.| 00001DE0: 20 49 4E 58 0D 20 4C 44 41 20 23 24 30 30 0D 20 | INX. LDA #$00. | 00001DF0: 53 54 41 20 53 54 58 33 2C 58 0D 20 53 54 41 20 |STA STX3,X. STA | 00001E00: 53 54 58 34 2C 58 0D 20 53 54 41 20 53 54 58 31 |STX4,X. STA STX1| 00001E10: 2C 58 0D 20 53 54 41 20 53 54 58 32 2C 58 0D 20 |,X. STA STX2,X. | 00001E20: 4C 44 59 20 23 24 31 30 20 3B 20 31 36 20 42 49 |LDY #$10 ; 16 BI| 00001E30: 54 53 0D 44 49 56 31 20 41 53 4C 20 53 54 58 33 |TS.DIV1 ASL STX3| 00001E40: 2C 58 0D 20 52 4F 4C 20 53 54 58 34 2C 58 0D 20 |,X. ROL STX4,X. | 00001E50: 41 53 4C 20 4F 50 4C 2C 58 0D 20 52 4F 4C 20 4F |ASL OPL,X. ROL O| 00001E60: 50 48 2C 58 0D 20 52 4F 4C 20 53 54 58 31 2C 58 |PH,X. ROL STX1,X| 00001E70: 0D 20 52 4F 4C 20 53 54 58 32 2C 58 0D 20 53 45 |. ROL STX2,X. SE| 00001E80: 43 0D 20 4C 44 41 20 53 54 58 31 2C 58 0D 20 53 |C. LDA STX1,X. S| 00001E90: 42 43 20 53 54 4C 2C 58 0D 20 53 54 41 20 54 4D |BC STL,X. STA TM| 00001EA0: 50 31 20 3B 20 52 45 4D 41 49 4E 44 45 52 0D 20 |P1 ; REMAINDER. | 00001EB0: 4C 44 41 20 53 54 58 32 2C 58 0D 20 53 42 43 20 |LDA STX2,X. SBC | 00001EC0: 53 54 48 2C 58 0D 20 53 54 41 20 54 4D 50 32 0D |STH,X. STA TMP2.| 00001ED0: 20 42 43 43 20 44 49 56 32 0D 20 49 4E 43 20 53 | BCC DIV2. INC S| 00001EE0: 54 58 33 2C 58 20 3B 20 52 45 53 55 4C 54 0D 20 |TX3,X ; RESULT. | 00001EF0: 4C 44 41 20 54 4D 50 31 20 3B 20 52 45 4D 20 3D |LDA TMP1 ; REM =| 00001F00: 3E 20 44 49 56 0D 20 53 54 41 20 53 54 58 31 2C |> DIV. STA STX1,| 00001F10: 58 0D 20 4C 44 41 20 54 4D 50 32 0D 20 53 54 41 |X. LDA TMP2. STA| 00001F20: 20 53 54 58 32 2C 58 0D 44 49 56 32 20 44 45 59 | STX2,X.DIV2 DEY| 00001F30: 0D 20 42 4E 45 20 44 49 56 31 0D 20 4C 44 41 20 |. BNE DIV1. LDA | 00001F40: 53 54 58 34 2C 58 20 3B 20 52 45 53 55 4C 54 20 |STX4,X ; RESULT | 00001F50: 3D 3E 20 4F 50 52 0D 20 53 54 41 20 53 54 48 2C |=> OPR. STA STH,| 00001F60: 58 0D 20 4C 44 41 20 53 54 58 33 2C 58 0D 20 53 |X. LDA STX3,X. S| 00001F70: 54 41 20 53 54 4C 2C 58 0D 20 4C 44 41 20 46 4C |TA STL,X. LDA FL| 00001F80: 41 47 0D 20 42 45 51 20 44 49 56 33 0D 20 4A 53 |AG. BEQ DIV3. JS| 00001F90: 52 20 4E 45 47 0D 44 49 56 33 20 4A 4D 50 20 50 |R NEG.DIV3 JMP P| 00001FA0: 55 4E 43 48 0D 3B 0D 44 49 56 38 20 4C 44 41 20 |UNCH.;.DIV8 LDA | 00001FB0: 53 54 48 2C 58 0D 20 42 50 4C 20 44 49 56 39 0D |STH,X. BPL DIV9.| 00001FC0: 20 4A 53 52 20 4E 45 47 0D 20 4C 44 41 20 23 24 | JSR NEG. LDA #$| 00001FD0: 30 31 0D 20 45 4F 52 20 46 4C 41 47 0D 20 53 54 |01. EOR FLAG. ST| 00001FE0: 41 20 46 4C 41 47 0D 44 49 56 39 20 52 54 53 0D |A FLAG.DIV9 RTS.| 00001FF0: 3B 0D 3B 20 20 46 4F 52 2C 20 4F 50 52 3D 3E 56 |;.; FOR, OPR=>V| 00002000: 41 52 28 59 29 2C 53 54 4B 3D 3E 4C 49 4D 20 24 |AR(Y),STK=>LIM $| 00002010: 37 30 0D 46 4F 52 20 44 45 58 0D 20 44 45 58 0D |70.FOR DEX. DEX.| 00002020: 20 54 59 41 20 3B 20 56 41 52 20 49 4E 44 45 58 | TYA ; VAR INDEX| 00002030: 0D 20 41 53 4C 20 41 0D 20 54 41 59 0D 20 4A 53 |. ASL A. TAY. JS| 00002040: 52 20 53 54 4F 52 45 20 3B 20 4F 50 52 3D 3E 56 |R STORE ; OPR=>V| 00002050: 41 52 28 58 29 0D 20 53 54 59 20 59 53 41 56 45 |AR(X). STY YSAVE| 00002060: 0D 20 4C 44 59 20 46 4F 52 50 20 3B 20 46 4F 52 |. LDY FORP ; FOR| 00002070: 20 50 4E 54 52 0D 20 4C 44 41 20 53 54 58 31 2C | PNTR. LDA STX1,| 00002080: 58 20 3B 20 53 41 56 45 20 4C 49 4D 0D 20 53 54 |X ; SAVE LIM. ST| 00002090: 41 20 46 4C 4D 4C 2C 59 0D 20 4C 44 41 20 53 54 |A FLML,Y. LDA ST| 000020A0: 58 32 2C 58 0D 20 53 54 41 20 46 4C 4D 48 2C 59 |X2,X. STA FLMH,Y| 000020B0: 0D 20 4C 44 41 20 50 43 4E 54 20 3B 20 53 41 56 |. LDA PCNT ; SAV| 000020C0: 45 20 50 43 0D 20 53 54 41 20 46 50 43 4C 2C 59 |E PC. STA FPCL,Y| 000020D0: 0D 20 4C 44 41 20 50 43 4E 54 2B 31 0D 20 53 54 |. LDA PCNT+1. ST| 000020E0: 41 20 46 50 43 48 2C 59 0D 20 4C 44 41 20 59 53 |A FPCH,Y. LDA YS| 000020F0: 41 56 45 20 3B 20 53 41 56 45 20 56 41 52 23 0D |AVE ; SAVE VAR#.| 00002100: 20 53 54 41 20 46 56 41 52 2C 59 0D 20 49 4E 59 | STA FVAR,Y. INY| 00002110: 20 3B 20 4E 45 58 54 20 46 53 54 41 43 4B 0D 20 | ; NEXT FSTACK. | 00002120: 49 4E 59 0D 20 49 4E 59 0D 20 49 4E 59 0D 20 49 |INY. INY. INY. I| 00002130: 4E 59 0D 20 53 54 59 20 46 4F 52 50 0D 20 49 4E |NY. STY FORP. IN| 00002140: 58 0D 20 49 4E 58 0D 20 52 54 53 0D 3B 0D 3B 20 |X. INX. RTS.;.; | 00002150: 20 4E 45 58 54 2C 20 28 59 29 20 24 34 30 0D 4E | NEXT, (Y) $40.N| 00002160: 45 58 54 20 53 54 59 20 59 53 41 56 45 0D 20 41 |EXT STY YSAVE. A| 00002170: 53 4C 20 59 53 41 56 45 20 3B 20 56 41 52 20 49 |SL YSAVE ; VAR I| 00002180: 4E 44 45 58 0D 20 53 54 58 20 58 53 41 56 45 0D |NDEX. STX XSAVE.| 00002190: 20 4C 44 59 20 46 4F 52 50 0D 20 53 54 59 20 46 | LDY FORP. STY F| 000021A0: 53 41 56 45 0D 4E 58 54 31 20 44 45 59 0D 20 44 |SAVE.NXT1 DEY. D| 000021B0: 45 59 0D 20 44 45 59 0D 20 44 45 59 0D 20 44 45 |EY. DEY. DEY. DE| 000021C0: 59 0D 20 53 54 59 20 46 4F 52 50 0D 20 42 4D 49 |Y. STY FORP. BMI| 000021D0: 20 4E 58 54 39 20 3B 20 45 52 52 4F 52 0D 20 4C | NXT9 ; ERROR. L| 000021E0: 44 41 20 46 56 41 52 2C 59 20 3B 20 46 49 4E 44 |DA FVAR,Y ; FIND| 000021F0: 20 46 4F 52 20 45 4E 54 52 59 0D 20 43 4D 50 20 | FOR ENTRY. CMP | 00002200: 59 53 41 56 45 0D 20 42 4E 45 20 4E 58 54 31 0D |YSAVE. BNE NXT1.| 00002210: 20 4C 44 58 20 59 53 41 56 45 0D 20 49 4E 43 20 | LDX YSAVE. INC | 00002220: 56 41 52 4C 2C 58 0D 20 42 4E 45 20 4E 58 54 32 |VARL,X. BNE NXT2| 00002230: 0D 20 49 4E 43 20 56 41 52 48 2C 58 0D 4E 58 54 |. INC VARH,X.NXT| 00002240: 32 20 53 45 43 0D 20 4C 44 41 20 46 4C 4D 4C 2C |2 SEC. LDA FLML,| 00002250: 59 0D 20 53 42 43 20 56 41 52 4C 2C 58 0D 20 4C |Y. SBC VARL,X. L| 00002260: 44 41 20 46 4C 4D 48 2C 59 0D 20 53 42 43 20 56 |DA FLMH,Y. SBC V| 00002270: 41 52 48 2C 58 0D 20 42 4D 49 20 4E 58 54 39 0D |ARH,X. BMI NXT9.| 00002280: 20 4C 44 41 20 46 50 43 4C 2C 59 20 3B 20 47 4F | LDA FPCL,Y ; GO| 00002290: 20 42 41 43 4B 0D 20 53 54 41 20 50 43 4E 54 0D | BACK. STA PCNT.| 000022A0: 20 4C 44 41 20 46 50 43 48 2C 59 0D 20 53 54 41 | LDA FPCH,Y. STA| 000022B0: 20 50 43 4E 54 2B 31 0D 20 4C 44 59 20 46 53 41 | PCNT+1. LDY FSA| 000022C0: 56 45 0D 20 53 54 59 20 46 4F 52 50 0D 4E 58 54 |VE. STY FORP.NXT| 000022D0: 39 20 4C 44 58 20 58 53 41 56 45 0D 20 52 54 53 |9 LDX XSAVE. RTS| 000022E0: 0D 3B 0D 3B 20 20 47 4F 54 4F 2C 20 59 20 24 34 |.;.; GOTO, Y $4| 000022F0: 42 0D 47 4F 54 4F 20 53 54 59 20 59 53 41 56 45 |B.GOTO STY YSAVE| 00002300: 0D 20 4A 4D 50 20 47 4F 53 55 42 30 0D 3B 0D 3B |. JMP GOSUB0.;.;| 00002310: 20 20 47 4F 53 55 42 2C 20 50 43 2B 59 20 24 34 | GOSUB, PC+Y $4| 00002320: 34 0D 47 4F 53 55 42 20 53 54 59 20 59 53 41 56 |4.GOSUB STY YSAV| 00002330: 45 0D 20 4C 44 59 20 47 4F 50 0D 20 4C 44 41 20 |E. LDY GOP. LDA | 00002340: 50 43 4E 54 0D 20 53 54 41 20 47 50 43 4C 2C 59 |PCNT. STA GPCL,Y| 00002350: 0D 20 4C 44 41 20 50 43 4E 54 2B 31 0D 20 53 54 |. LDA PCNT+1. ST| 00002360: 41 20 47 50 43 48 2C 59 0D 20 44 45 59 0D 20 44 |A GPCH,Y. DEY. D| 00002370: 45 59 0D 20 53 54 59 20 47 4F 50 0D 47 4F 53 55 |EY. STY GOP.GOSU| 00002380: 42 30 20 4C 44 59 20 59 53 41 56 45 0D 20 4C 44 |B0 LDY YSAVE. LD| 00002390: 41 20 4A 4D 50 48 49 2C 59 0D 20 42 45 51 20 47 |A JMPHI,Y. BEQ G| 000023A0: 4F 53 55 42 33 0D 20 53 54 41 20 50 43 4E 54 2B |OSUB3. STA PCNT+| 000023B0: 31 0D 20 4C 44 41 20 4A 4D 50 4C 4F 2C 59 0D 20 |1. LDA JMPLO,Y. | 000023C0: 53 54 41 20 50 43 4E 54 0D 20 52 54 53 0D 3B 0D |STA PCNT. RTS.;.| 000023D0: 47 4F 53 55 42 33 20 4C 44 41 20 50 43 53 56 45 |GOSUB3 LDA PCSVE| 000023E0: 0D 20 53 54 41 20 50 43 4E 54 0D 20 4C 44 41 20 |. STA PCNT. LDA | 000023F0: 50 43 53 56 45 2B 31 0D 20 53 54 41 20 50 43 4E |PCSVE+1. STA PCN| 00002400: 54 2B 31 0D 20 4C 44 59 20 23 30 0D 47 4F 53 55 |T+1. LDY #0.GOSU| 00002410: 42 31 20 4A 53 52 20 53 43 41 4E 0D 20 43 4D 50 |B1 JSR SCAN. CMP| 00002420: 20 23 24 34 35 20 3B 20 53 42 52 3F 0D 20 42 4E | #$45 ; SBR?. BN| 00002430: 45 20 47 4F 53 55 42 31 0D 20 4A 53 52 20 49 4E |E GOSUB1. JSR IN| 00002440: 43 50 43 0D 20 4C 44 41 20 28 50 43 4E 54 29 2C |CPC. LDA (PCNT),| 00002450: 59 0D 20 43 4D 50 20 59 53 41 56 45 0D 20 42 45 |Y. CMP YSAVE. BE| 00002460: 51 20 47 4F 53 55 42 32 0D 20 4A 53 52 20 49 4E |Q GOSUB2. JSR IN| 00002470: 43 50 43 0D 20 4A 4D 50 20 47 4F 53 55 42 31 0D |CPC. JMP GOSUB1.| 00002480: 47 4F 53 55 42 32 20 4C 44 59 20 59 53 41 56 45 |GOSUB2 LDY YSAVE| 00002490: 0D 20 4C 44 41 20 50 43 4E 54 0D 20 53 54 41 20 |. LDA PCNT. STA | 000024A0: 4A 4D 50 4C 4F 2C 59 0D 20 4C 44 41 20 50 43 4E |JMPLO,Y. LDA PCN| 000024B0: 54 2B 31 0D 20 53 54 41 20 4A 4D 50 48 49 2C 59 |T+1. STA JMPHI,Y| 000024C0: 0D 20 52 54 53 0D 3B 0D 3B 20 20 52 45 54 55 52 |. RTS.;.; RETUR| 000024D0: 4E 2C 20 24 30 31 0D 52 45 54 55 52 4E 20 4C 44 |N, $01.RETURN LD| 000024E0: 59 20 47 4F 50 0D 20 49 4E 59 0D 20 49 4E 59 0D |Y GOP. INY. INY.| 000024F0: 20 4C 44 41 20 47 50 43 4C 2C 59 0D 20 53 54 41 | LDA GPCL,Y. STA| 00002500: 20 50 43 4E 54 0D 20 4C 44 41 20 47 50 43 48 2C | PCNT. LDA GPCH,| 00002510: 59 0D 20 53 54 41 20 50 43 4E 54 2B 31 0D 20 53 |Y. STA PCNT+1. S| 00002520: 54 59 20 47 4F 50 0D 20 52 54 53 0D 3B 0D 3B 20 |TY GOP. RTS.;.; | 00002530: 20 55 53 52 2C 20 53 54 4B 3D 3E 46 52 30 20 24 | USR, STK=>FR0 $| 00002540: 32 45 0D 55 53 52 20 4C 44 41 20 53 54 4C 2C 58 |2E.USR LDA STL,X| 00002550: 0D 20 53 54 41 20 46 52 30 0D 20 4C 44 41 20 53 |. STA FR0. LDA S| 00002560: 54 48 2C 58 0D 20 53 54 41 20 46 52 30 2B 31 0D |TH,X. STA FR0+1.| 00002570: 20 52 54 53 0D 3B 0D 3B 0D 3B 20 20 50 52 49 4E | RTS.;.;.; PRIN| 00002580: 54 20 2B 2F 2D 2C 20 53 54 4B 20 59 3D 23 42 4C |T +/-, STK Y=#BL| 00002590: 41 4E 4B 53 20 24 36 32 0D 3B 0D 3B 20 49 46 2C |ANKS $62.;.; IF,| 000025A0: 20 53 47 4E 28 4F 50 52 2D 53 54 4B 29 3D 59 20 | SGN(OPR-STK)=Y | 000025B0: 24 37 31 0D 49 46 20 53 54 59 20 59 53 41 56 45 |$71.IF STY YSAVE| 000025C0: 0D 20 4A 53 52 20 53 55 42 0D 20 44 45 58 0D 20 |. JSR SUB. DEX. | 000025D0: 44 45 58 0D 20 4A 53 52 20 53 47 4E 0D 20 49 4E |DEX. JSR SGN. IN| 000025E0: 58 0D 20 49 4E 58 0D 20 4C 44 41 20 4F 50 4C 2C |X. INX. LDA OPL,| 000025F0: 58 0D 49 46 39 20 43 4D 50 20 59 53 41 56 45 0D |X.IF9 CMP YSAVE.| 00002600: 20 42 45 51 20 45 45 45 49 46 20 3B 20 54 52 55 | BEQ EEEIF ; TRU| 00002610: 45 0D 45 4C 53 45 20 4C 44 59 20 23 24 30 30 20 |E.ELSE LDY #$00 | 00002620: 3B 45 4C 53 2C 20 24 37 42 0D 20 53 54 59 20 4C |;ELS, $7B. STY L| 00002630: 45 56 45 4C 0D 49 46 31 20 4A 53 52 20 53 43 41 |EVEL.IF1 JSR SCA| 00002640: 4E 20 3B 20 46 49 4E 44 20 45 4E 44 49 46 0D 20 |N ; FIND ENDIF. | 00002650: 43 4D 50 20 23 24 37 44 0D 20 42 45 51 20 45 49 |CMP #$7D. BEQ EI| 00002660: 46 0D 20 43 4D 50 20 23 24 37 43 20 3B 20 4F 52 |F. CMP #$7C ; OR| 00002670: 20 53 55 50 45 52 20 45 49 46 0D 20 42 45 51 20 | SUPER EIF. BEQ | 00002680: 45 45 45 49 46 0D 20 43 4D 50 20 23 24 37 42 20 |EEEIF. CMP #$7B | 00002690: 3B 20 4F 52 20 45 4C 53 45 0D 20 42 4E 45 20 49 |; OR ELSE. BNE I| 000026A0: 46 32 0D 20 4C 44 41 20 4C 45 56 45 4C 0D 20 42 |F2. LDA LEVEL. B| 000026B0: 4E 45 20 49 46 31 0D 20 42 45 51 20 45 45 45 49 |NE IF1. BEQ EEEI| 000026C0: 46 0D 49 46 32 20 43 4D 50 20 23 24 32 35 20 3B |F.IF2 CMP #$25 ;| 000026D0: 20 49 46 54 0D 20 42 45 51 20 49 46 33 0D 20 43 | IFT. BEQ IF3. C| 000026E0: 4D 50 20 23 24 32 36 20 3B 20 49 46 46 0D 20 42 |MP #$26 ; IFF. B| 000026F0: 45 51 20 49 46 33 0D 20 43 4D 50 20 23 24 36 31 |EQ IF3. CMP #$61| 00002700: 20 3B 20 49 46 30 0D 20 42 45 51 20 49 46 33 0D | ; IF0. BEQ IF3.| 00002710: 20 43 4D 50 20 23 24 37 31 20 3B 20 49 46 0D 20 | CMP #$71 ; IF. | 00002720: 42 4E 45 20 49 46 31 0D 49 46 33 20 49 4E 43 20 |BNE IF1.IF3 INC | 00002730: 4C 45 56 45 4C 20 3B 20 50 52 4F 43 45 53 53 20 |LEVEL ; PROCESS | 00002740: 49 46 0D 20 42 4E 45 20 49 46 31 20 3B 20 41 4C |IF. BNE IF1 ; AL| 00002750: 57 41 59 53 20 42 52 41 4E 43 48 45 53 0D 45 49 |WAYS BRANCHES.EI| 00002760: 46 20 44 45 43 20 4C 45 56 45 4C 20 3B 20 50 52 |F DEC LEVEL ; PR| 00002770: 4F 43 45 53 53 20 45 49 46 53 0D 20 42 50 4C 20 |OCESS EIFS. BPL | 00002780: 49 46 31 20 3B 20 41 4C 57 41 59 53 20 42 52 41 |IF1 ; ALWAYS BRA| 00002790: 4E 43 48 45 53 0D 50 52 4F 54 45 43 20 20 20 3B |NCHES.PROTEC ;| 000027A0: 20 24 34 44 0D 45 45 45 49 46 20 20 20 20 3B 20 | $4D.EEEIF ; | 000027B0: 53 55 50 45 52 20 45 4E 44 49 46 20 24 37 43 0D |SUPER ENDIF $7C.| 000027C0: 53 42 52 20 20 20 20 20 20 3B 20 4C 41 42 45 4C |SBR ; LABEL| 000027D0: 20 4F 50 20 24 34 35 0D 45 4E 44 49 46 20 52 54 | OP $45.ENDIF RT| 000027E0: 53 20 3B 20 45 4E 44 49 46 20 24 37 44 0D 3B 0D |S ; ENDIF $7D.;.| 000027F0: 3B 20 20 49 46 54 2C 20 53 47 4E 28 53 54 4B 29 |; IFT, SGN(STK)| 00002800: 3D 31 20 24 32 35 0D 49 46 54 20 4C 44 59 20 23 |=1 $25.IFT LDY #| 00002810: 24 30 31 0D 3B 0D 3B 20 20 49 46 30 2C 20 53 47 |$01.;.; IF0, SG| 00002820: 4E 28 53 54 4B 29 3D 59 20 24 36 31 0D 49 46 30 |N(STK)=Y $61.IF0| 00002830: 20 53 54 59 20 59 53 41 56 45 0D 20 4A 53 52 20 | STY YSAVE. JSR | 00002840: 53 47 4E 0D 20 4C 44 41 20 53 54 4C 2C 58 0D 20 |SGN. LDA STL,X. | 00002850: 4A 4D 50 20 49 46 39 0D 3B 0D 3B 20 20 49 46 46 |JMP IF9.;.; IFF| 00002860: 2C 20 53 47 4E 28 53 54 4B 29 3D 30 20 24 32 36 |, SGN(STK)=0 $26| 00002870: 0D 49 46 46 20 4C 44 59 20 23 24 30 30 0D 20 4A |.IFF LDY #$00. J| 00002880: 4D 50 20 49 46 30 0D 3B 0D 53 43 41 4E 20 4C 44 |MP IF0.;.SCAN LD| 00002890: 41 20 28 50 43 4E 54 29 2C 59 20 3B 59 20 4D 55 |A (PCNT),Y ;Y MU| 000028A0: 53 54 3D 30 0D 20 43 4D 50 20 23 24 37 41 0D 20 |ST=0. CMP #$7A. | 000028B0: 42 43 53 20 53 43 41 4E 33 0D 20 43 4D 50 20 23 |BCS SCAN3. CMP #| 000028C0: 24 34 30 0D 20 42 43 43 20 53 43 41 4E 33 0D 20 |$40. BCC SCAN3. | 000028D0: 43 4D 50 20 23 24 35 31 20 3B 4B 31 36 0D 20 42 |CMP #$51 ;K16. B| 000028E0: 45 51 20 53 43 41 4E 34 0D 53 43 41 4E 31 20 43 |EQ SCAN4.SCAN1 C| 000028F0: 4D 50 20 23 24 34 36 20 3B 20 54 58 54 0D 20 42 |MP #$46 ; TXT. B| 00002900: 4E 45 20 53 43 41 4E 32 0D 53 43 41 4E 34 20 4A |NE SCAN2.SCAN4 J| 00002910: 53 52 20 49 4E 43 50 43 0D 53 43 41 4E 32 20 4A |SR INCPC.SCAN2 J| 00002920: 53 52 20 49 4E 43 50 43 0D 53 43 41 4E 33 20 4A |SR INCPC.SCAN3 J| 00002930: 53 52 20 49 4E 43 50 43 0D 20 4C 44 41 20 28 50 |SR INCPC. LDA (P| 00002940: 43 4E 54 29 2C 59 0D 20 52 54 53 0D 3B 0D 3B 20 |CNT),Y. RTS.;.; | 00002950: 50 4F 53 54 58 54 2C 20 59 2C 59 3D 43 52 58 2C |POSTXT, Y,Y=CRX,| 00002960: 43 52 59 20 24 34 36 0D 54 50 4F 53 20 53 54 59 |CRY $46.TPOS STY| 00002970: 20 43 4F 4C 43 52 53 20 3B 20 43 52 58 0D 20 4A | COLCRS ; CRX. J| 00002980: 53 52 20 49 4E 43 50 43 0D 20 4C 44 59 20 23 30 |SR INCPC. LDY #0| 00002990: 30 0D 20 4C 44 41 20 28 50 43 4E 54 29 2C 59 0D |0. LDA (PCNT),Y.| 000029A0: 20 53 54 41 20 52 4F 57 43 52 53 20 3B 20 43 52 | STA ROWCRS ; CR| 000029B0: 59 0D 20 52 54 53 0D 3B 0D 3B 20 53 57 41 50 2C |Y. RTS.;.; SWAP,| 000029C0: 20 4F 50 52 3D 3E 53 54 4B 2C 20 53 54 4B 3D 3E | OPR=>STK, STK=>| 000029D0: 4F 50 52 20 24 30 45 0D 53 57 41 50 20 4C 44 59 |OPR $0E.SWAP LDY| 000029E0: 20 4F 50 4C 2C 58 0D 20 4C 44 41 20 53 54 4C 2C | OPL,X. LDA STL,| 000029F0: 58 0D 20 53 54 41 20 4F 50 4C 2C 58 0D 20 54 59 |X. STA OPL,X. TY| 00002A00: 41 0D 20 53 54 41 20 53 54 4C 2C 58 0D 20 4C 44 |A. STA STL,X. LD| 00002A10: 59 20 4F 50 48 2C 58 0D 20 4C 44 41 20 53 54 48 |Y OPH,X. LDA STH| 00002A20: 2C 58 0D 20 53 54 41 20 4F 50 48 2C 58 0D 20 54 |,X. STA OPH,X. T| 00002A30: 59 41 0D 20 53 54 41 20 53 54 48 2C 58 0D 20 52 |YA. STA STH,X. R| 00002A40: 54 53 0D 3B 0D 3B 20 20 41 4E 44 2C 20 53 54 4B |TS.;.; AND, STK| 00002A50: 26 59 3D 3E 53 54 4B 20 24 34 38 0D 4C 41 4E 44 |&Y=>STK $48.LAND| 00002A60: 20 54 59 41 0D 20 41 4E 44 20 53 54 4C 2C 58 0D | TYA. AND STL,X.| 00002A70: 20 53 54 41 20 53 54 4C 2C 58 0D 20 4C 44 41 20 | STA STL,X. LDA | 00002A80: 23 24 30 30 0D 20 53 54 41 20 53 54 48 2C 58 0D |#$00. STA STH,X.| 00002A90: 20 52 54 53 0D 3B 0D 3B 20 41 4E 44 32 2C 20 53 | RTS.;.; AND2, S| 00002AA0: 54 4B 26 4F 50 52 3D 3E 4F 50 52 2C 20 24 32 41 |TK&OPR=>OPR, $2A| 00002AB0: 0D 4C 41 4E 44 32 20 4C 44 41 20 53 54 4C 2C 58 |.LAND2 LDA STL,X| 00002AC0: 0D 20 41 4E 44 20 4F 50 4C 2C 58 0D 20 53 54 41 |. AND OPL,X. STA| 00002AD0: 20 4F 50 4C 2C 58 0D 20 4C 44 41 20 53 54 48 2C | OPL,X. LDA STH,| 00002AE0: 58 0D 20 41 4E 44 20 4F 50 48 2C 58 0D 20 53 54 |X. AND OPH,X. ST| 00002AF0: 41 20 4F 50 48 2C 58 0D 20 52 54 53 0D 3B 0D 3B |A OPH,X. RTS.;.;| 00002B00: 20 20 4F 52 2C 20 53 54 4B 5E 59 3D 3E 53 54 4B | OR, STK^Y=>STK| 00002B10: 20 24 34 39 0D 4C 4F 52 20 54 59 41 0D 20 4F 52 | $49.LOR TYA. OR| 00002B20: 41 20 53 54 4C 2C 58 0D 20 53 54 41 20 53 54 4C |A STL,X. STA STL| 00002B30: 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 58 4F 52 |,X. RTS.;.; XOR| 00002B40: 2C 20 53 54 4B 20 58 4F 52 20 59 3D 3E 53 54 4B |, STK XOR Y=>STK| 00002B50: 20 24 34 41 0D 4C 58 4F 52 20 54 59 41 0D 20 45 | $4A.LXOR TYA. E| 00002B60: 4F 52 20 53 54 4C 2C 58 0D 20 53 54 41 20 53 54 |OR STL,X. STA ST| 00002B70: 4C 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 43 4C 52 |L,X. RTS.;.; CLR| 00002B80: 2C 20 43 4C 45 41 52 20 53 54 41 43 4B 20 24 37 |, CLEAR STACK $7| 00002B90: 45 0D 43 4C 52 20 4C 44 58 20 23 24 46 45 0D 20 |E.CLR LDX #$FE. | 00002BA0: 52 54 53 0D 3B 0D 3B 20 52 55 4E 2C 20 53 54 41 |RTS.;.; RUN, STA| 00002BB0: 52 54 20 4F 56 45 52 20 24 37 46 0D 52 55 4E 20 |RT OVER $7F.RUN | 00002BC0: 4C 44 41 20 50 43 53 56 45 2B 31 0D 20 53 54 41 |LDA PCSVE+1. STA| 00002BD0: 20 50 43 4E 54 2B 31 0D 20 4C 44 41 20 50 43 53 | PCNT+1. LDA PCS| 00002BE0: 56 45 0D 20 53 54 41 20 50 43 4E 54 0D 52 55 4E |VE. STA PCNT.RUN| 00002BF0: 31 20 4C 44 58 20 23 24 37 38 0D 20 53 54 58 20 |1 LDX #$78. STX | 00002C00: 47 4F 50 0D 20 53 54 58 20 56 4C 49 4D 0D 20 4C |GOP. STX VLIM. L| 00002C10: 44 58 20 23 24 30 30 0D 20 53 54 58 20 56 50 4C |DX #$00. STX VPL| 00002C20: 55 53 0D 20 53 54 58 20 46 4F 52 50 0D 20 44 45 |US. STX FORP. DE| 00002C30: 58 0D 20 44 45 58 0D 20 52 54 53 0D 3B 0D 20 2E |X. DEX. RTS.;. .| 00002C40: 45 4E 44 0D |END. |
ONE-1. .WORD DONE-1. .WORD DONE-1. .WORD DONE-1. .WORD DONE-1 ; $58. .WORD DONE- 1. .WORD DONE-1. .WORD DONE-1. .WORD DON E-1. .WORD DONE-1. .WORD DONE-1. .WORD D ONE-1. .WORD OFFSET-1 ;$60. .WORD IF0-1. .WORD DONE-1 ; PRPM. .WORD CALL-1. .WOR D DONE-1 ; ROTATE. .WORD SPRX-1. .WORD S PRY-1. .WORD DONE-1. .WORD DONE-1 ;$68. .WORD DONE-1. .WORD DONE-1. .WORD DONE-1 . .WORD DONE-1. .WORD DONE-1. .WORD DONE -1. .WORD DONE-1. .WORD FOR-1 ;$70. .WOR D IF-1. .WORD RNGY-1. .WORD DONE-1. .WOR D DONE-1. .WORD DONE-1. .WORD DONE-1. .W ORD DONE-1. .WORD DONE-1 ;$78. .WORD DON E-1. .WORD DONE-1. .WORD ELSE-1. .WORD E EEIF-1. .WORD ENDIF-1. .WORD CLR-1. .WOR D RUN-1.; -----------------------------. ; MAIN. * = BASE+$340. JMP MAIN.;JMP LO OK ***.;JMP SET ***.;JMP QP.;.MAIN LDA $8001. STA PCNT+1. STA PCSVE+1. LDA $8000. STA PCNT. STA PCSVE. JSR RUN1.LOO P JMP EXECUT.; ------------------------- ----.; RETURN VAR VALUE.;LOOK LDA $8000 <<<<<<<<.;ASL A.;TAX.;LDA VARL,X.;TAY .;LDA VARH,X.;RTS.; -------------------- ---------.; STORE VAR VALUE.;SET LDA $8 000 <<<<<<<<<.;ASL A.;TAY.;LDA $8003. ;STA VARH,Y.;LDA $8002.;STA VARL,Y.;RTS. ; -----------------------------.; EXECU TE 1 INSTRUCTION.EXECUT LDY #$00. LDA (P CNT),Y ;GET OPERATOR. STA OPER. BIT OPER ; TEST OPERATOR. BPL EX1. ASL A ; LOAD/ STORE VARIABLE. AND #$7F. TAY. BVS EX0. INX. INX. JSR LOAD. JMP EXRTS.EX0 JSR ST ORE. JMP POP1.;------------------------- ---.EX1 BVC EX2 ; NO ARG. CMP #$7A. BCS SPEC. JSR INCPC ; INCREMENT PC. LDA (PCN T),Y. STA ARG.EX2 JSR GO ; GO TO OPERATO R.EXDONE LDA OPER. ASL A. ASL A. STA OPE R. BIT OPER. BMI EX4 ; POP OR POPX2. BVC EXRTS ; NO.EPUSH INX. INX. JMP EXRTS.EX 4 DEX. DEX. BVC EXRTS.POP1 DEX. DEX.EXRT S JSR INCPC. JMP EXECUT.;.SPEC JSR GO. L DA OPER. CMP #$7F. BEQ SPEC1. JSR INCPC. SPEC1 JMP EXECUT.;---------------------- ------.INCPC INC PCNT. BNE INCPC1. INC P CNT+1.INCPC1 RTS.;---------------------- ------.GO LDA OPER. ASL A. TAY. LDA OPTB L+1,Y. PHA. LDA OPTBL,Y. PHA. LDY ARG. R TS ; GO !!.; --------------------------- --.; INTEGER SUBROUTINES.;.; LOAD, VAR (Y+VPLUS)=>STK $80-$BF.LOAD CPY VLIM. BM I LDLO. TYA. CLC. ADC VPLUS. TAY.LDLO LD A VARL,Y. STA STL,X. LDA VARH,Y. STA STH ,X. RTS.;.; STORE, STK=>VAR(Y+VPLUS) $C 0-$FF.STORE CPY VLIM. BMI STLO. TYA. CLC . ADC VPLUS. TAY.STLO LDA STL,X. STA VAR L,Y. LDA STH,X. STA VARH,Y. RTS.;.; OFFS ET, STK=>VPLUS Y=>VLIM $60.OFFSET TYA. A SL A. STA VLIM. LDA STL,X. ASL A. STA VP LUS. RTS.;.; ADD, STK+OPR=>OPR $20.ADD CLC. LDA STL,X. ADC OPL,X. STA OPL,X. LD A STH,X. ADC OPH,X. STA OPH,X. RTS.;.; SUB, OPR-STK=>OPR $21.SUB SEC. LDA OPL,X . SBC STL,X. STA OPL,X. LDA OPH,X. SBC S TH,X. STA OPH,X. RTS.;.; MULT, STK*OPR= >OPR $22.; 16 BIT PRECISION.MULT LDY #$1 0.M2 LDA #$00. STA STX2,X. STA STX1,X.MU LT2 LDA STL,X. LSR A. BCC MULT4 ;BIT OFF . CLC. LDA STX1,X. ADC OPL,X. STA STX1,X . LDA STX2,X. ADC OPH,X. STA STX2,X.MULT 4 ROR STX2,X. ROR STX1,X. ROR STH,X. ROR STL,X. DEY. BNE MULT2.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. ROR STH,X. ROR STL,X. DEY. BNE SHIFTR. RTS.;.; SHIFT RIGHT PO SITIVE, $4C.SHR0 = *. LSR STH,X. ROR STL ,X. DEY. BNE SHR0. RTS.;.; SHIFT LEFT, STK*(2^Y)=STK $42.SHIFTL = *. ASL STL,X. ROL STH,X. DEY. BNE SHIFTL. RTS.;.; NEG ATE, -STK=>STK $02.NEG SEC. LDA #$0. SBC STL,X. STA STL,X. LDA #$0. SBC STH,X. S TA STH,X. RTS.;.NEGOPR SEC. LDA #0. SBC OPL,X. STA OPL,X. LDA #$0. SBC OPH,X. ST A OPH,X. RTS.;.; BIT, FIRST BIT SET, $5 E.;BITX LDY #0.; TYA.; STA STH,X.;BIT1 L SR STL,X.; BCS BIT2.; INY.; CPY #8.; BMI BIT1.;BIT2 TYA.; STA STL,X.; RTS.;.; CA LL, ASM SUBROUTINE; Y=PUSH FLAG.CALL DEY ; TEST FOR ARG. BMI CALL1. LDA STL,X. S TA $8000. LDA STH,X. STA $8001. DEX. DEX .CALL1 = *. LDA STL,X. BNE CALL2. DEC ST H,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. ST A STH,X. TYA. STA STL,X. DEX. DEX. RTS.; .; CONSTANT-8 BITS, Y=>STK 127/-128 $50 .CON INX. INX. JSR CON0. DEX. DEX.POP RT S ; POP, $2B.;.CON0 LDA #$00. STA STH,X . TYA. BPL CON1. DEC STH,X ; NEGATIVE CO NST.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. STA STH,X. DEX. DEX. R TS.;.;.;.; SPRITE COMMANDS.;.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 $F E,$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.MOFST .WORD 0,0,0,0,0,0,0,0. .WORD 1,1,1,1. .WORD 2, 2,2,2,2,2,2,2. .WORD 3,3,3,3.;.; SPX, ST K => SPREGX [Y]( OR [VAR[Y]] ).;.SPRX = *. JSR SP2Y ; GET SPRITE NUMBER OFFSET. LDA STL,X. STA SP0X,Y ; STORE LS BYTE. L DA BMASK+1,Y ; STORE MS BIT. PHA. LDA BM ASK,Y. PHA. LDA MOFST,Y. TAY. PLA. AND M SBREG,Y. STA TMP1. LDA 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 I S SPRITE. BMI SP2Y1. ASL A ; ELSE VAR [A RG] IS SPRITE NUMBER. TAY. LDA VARL,Y.SP 2Y1 = *. ASL A. TAY. RTS.;.;.; WORD, WOR D(STK)=>STK $0F.WRD LDY STL,X. JMP CON0. ;.; RND, STK*RND=>STK $08.RND INX ; FAK E STACK. INX. LDA RANDOM.RNDE STA STL,X. LDA #$00. STA STH,X. STA TMP1. LDA OPH, X. BPL RND2. JSR NEGOPR ; ABS(OPR). INC TMP1.RND2 LDY #8. JSR M2 ; DO MULT. LDA STX2,X. STA OPH,X. LDA STX1,X ; NORMALI ZE. STA OPL,X. LDA TMP1. BEQ RND3. JSR N EGOPR.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. J SR NEG ; NEGATE IF NEG.ABS1 RTS.;.; SGN , SGN(STK)=>STK $0A.SGN LDA STH,X. BPL S GN1. LDY #$FF ;<0. JMP CON0.SGN1 BEQ SGN 2. LDY #$01. JMP CON0 ;>0.SGN2 LDA STL,X . BNE SGN1. LDY #$00 ;=0. JMP CON0.;.; PEEK, PEEK(STK)=>STK $0B.PEEK JSR USR ;S TK=>FR0. LDA #$00. STA STH,X. LDY #$00. LDA (FR0),Y. STA STL,X. RTS.;.; POKE, O PR=>LOC(STK) $30.POKE JSR USR ;STK=>FR0. LDY #$00.POKE0 LDA OPL,X. STA (FR0),Y. RTS.;.POKEY JSR USR. LDY VARL. JMP POKE0 .;.; RANGE, VALUE, OPR=LO STK=HI $35.; P OSITIVE VALUES ONLY !!.RANGE LDA OPH-2,X . BMI ORNGLO. CMP STH,X. BNE CPHI. LDA O PL-2,X. CMP STL,X.CPHI BCS ORNGHI. LDA O PH-2,X. CMP OPH,X. BNE CPLO. LDA OPL-2,X . CMP OPL,X.CPLO BCC ORNGLO. RTS.;.ORNGH I 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.;.; RA NGEY, VALUE, OPR=LO STK=HI $72.; POSITIV E VALUES ONLY !!.RNGY LDA OPH-2,X. BMI O RNG. CMP STH,X. BNE CP0HI. LDA OPL-2,X. CMP STL,X.CP0HI BCS ORNG. LDA OPH-2,X. C MP OPH,X. BNE CP0LO. LDA OPL-2,X. CMP OP L,X.CP0LO BCC ORNG. RTS.ORNG LDA #0. STA OPH-2,X. TYA. STA OPL-2,X. RTS.;.; STI CK, (STK)=>STK-X,OPR-Y $10.STICK LDY STL ,X. LDA $DC00,Y. LDY #$00. ROR A. BCS ST 1. 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, (S TK)=>STK $04.STRIG LDY STL,X. LDA $DC00, Y. ROR A. ROR A. ROR A. ROR A. AND #1. E OR #1. STA STL,X. LDA #$00. STA STH,X. R TS.;.; INC, STK+1=>STK $05.INCR INC STL ,X. BNE INC1. INC STH,X.INC1 RTS.;.; DE C, STK-1=>STK $06.DECR LDA STL,X. BNE DE C1. DEC STH,X.DEC1 DEC STL,X. RTS.;.; D UP, STK=>STK+2 $11.DUP LDA STL,X. STA ST X1,X. LDA STH,X. STA STX2,X. RTS.;.; DP OKE, OPR=>LOC(STK) $34.DPOKE LDY #$00. J SR USR ;STK=>FR0. LDA OPL,X. STA (FR0),Y . INY. LDA OPH,X. STA (FR0),Y. RTS.;.; DPEEK, PEEK(STK)=>STK $0D.DPEEK LDY #$00 . JSR USR. LDA (FR0),Y. STA STL,X. INY. LDA (FR0),Y. STA STH,X. RTS.;.; DONE $0 0.DONE PLA. PLA. LDY FR0. LDA FR0+1. RTS .;.; DIVIDE, OPR/STK=>OPR $23.DIV LDA #$ 00. STA FLAG. JSR DIV8. DEX. DEX. JSR DI V8. 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 ST X2,X. SEC. LDA STX1,X. SBC STL,X. STA TM P1 ; REMAINDER. LDA STX2,X. SBC STH,X. S TA TMP2. BCC DIV2. INC STX3,X ; RESULT. LDA TMP1 ; REM => DIV. STA STX1,X. LDA T MP2. STA STX2,X.DIV2 DEY. BNE DIV1. LDA STX4,X ; RESULT => OPR. STA STH,X. LDA S TX3,X. STA STL,X. LDA FLAG. BEQ DIV3. JS R NEG.DIV3 JMP PUNCH.;.DIV8 LDA STH,X. B PL DIV9. JSR NEG. LDA #$01. EOR FLAG. ST A FLAG.DIV9 RTS.;.; FOR, OPR=>VAR(Y),ST K=>LIM $70.FOR DEX. DEX. TYA ; VAR INDEX . ASL A. TAY. JSR STORE ; OPR=>VAR(X). S TY YSAVE. LDY FORP ; FOR PNTR. LDA STX1, X ; SAVE LIM. STA FLML,Y. LDA STX2,X. ST A FLMH,Y. LDA PCNT ; SAVE PC. STA FPCL,Y . LDA PCNT+1. STA FPCH,Y. LDA YSAVE ; SA VE VAR#. STA FVAR,Y. INY ; NEXT FSTACK. INY. INY. INY. INY. STY FORP. INX. INX. RTS.;.; NEXT, (Y) $40.NEXT STY YSAVE. A SL YSAVE ; VAR INDEX. STX XSAVE. LDY FOR P. STY FSAVE.NXT1 DEY. DEY. DEY. DEY. DE Y. STY FORP. BMI NXT9 ; ERROR. LDA FVAR, Y ; FIND FOR ENTRY. CMP YSAVE. BNE NXT1. LDX YSAVE. INC VARL,X. BNE NXT2. INC VA RH,X.NXT2 SEC. LDA FLML,Y. SBC VARL,X. L DA FLMH,Y. SBC VARH,X. BMI NXT9. LDA FPC L,Y ; GO BACK. STA PCNT. LDA FPCH,Y. STA PCNT+1. LDY FSAVE. STY FORP.NXT9 LDX XS AVE. 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 G OSUB3. STA PCNT+1. LDA JMPLO,Y. STA PCNT . RTS.;.GOSUB3 LDA PCSVE. STA PCNT. LDA PCSVE+1. STA PCNT+1. LDY #0.GOSUB1 JSR S CAN. CMP #$45 ; SBR?. BNE GOSUB1. JSR IN CPC. LDA (PCNT),Y. CMP YSAVE. BEQ GOSUB2 . JSR INCPC. JMP GOSUB1.GOSUB2 LDY YSAVE . LDA PCNT. STA JMPLO,Y. LDA PCNT+1. STA JMPHI,Y. RTS.;.; RETURN, $01.RETURN LD Y GOP. INY. INY. LDA GPCL,Y. STA PCNT. L DA GPCH,Y. STA PCNT+1. STY GOP. RTS.;.; USR, STK=>FR0 $2E.USR LDA STL,X. STA FR 0. LDA STH,X. STA FR0+1. RTS.;.;.; PRIN T +/-, 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 CM P YSAVE. BEQ EEEIF ; TRUE.ELSE LDY #$00 ;ELS, $7B. STY LEVEL.IF1 JSR SCAN ; FIND ENDIF. CMP #$7D. BEQ EIF. CMP #$7C ; OR SUPER EIF. BEQ EEEIF. CMP #$7B ; OR ELS E. BNE IF2. LDA LEVEL. BNE IF1. BEQ EEEI F.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.EI F DEC LEVEL ; PROCESS EIFS. BPL IF1 ; AL WAYS BRANCHES.PROTEC ; $4D.EEEIF ; SUPER ENDIF $7C.SBR ; LABEL OP $45. ENDIF RTS ; ENDIF $7D.;.; IFT, SGN(STK) =1 $25.IFT LDY #$01.;.; IF0, SGN(STK)=Y $61.IF0 STY YSAVE. JSR SGN. LDA STL,X. JMP IF9.;.; IFF, SGN(STK)=0 $26.IFF LDY #$00. JMP IF0.;.SCAN LDA (PCNT),Y ;Y MU ST=0. CMP #$7A. BCS SCAN3. CMP #$40. BCC SCAN3. CMP #$51 ;K16. BEQ SCAN4.SCAN1 C MP #$46 ; TXT. BNE SCAN2.SCAN4 JSR INCPC .SCAN2 JSR INCPC.SCAN3 JSR INCPC. LDA (P CNT),Y. RTS.;.; POSTXT, Y,Y=CRX,CRY $46. TPOS STY COLCRS ; CRX. JSR INCPC. LDY #0 0. LDA (PCNT),Y. STA ROWCRS ; CRY. RTS.; .; SWAP, OPR=>STK, STK=>OPR $0E.SWAP LDY OPL,X. LDA STL,X. STA OPL,X. TYA. STA S TL,X. LDY OPH,X. LDA STH,X. STA OPH,X. T YA. 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 STH,X. AND OPH,X. STA OPH,X. RTS.;.; OR, STK^Y=>STK $49.LOR TYA. OR A STL,X. STA STL,X. RTS.;.; XOR, STK XO R Y=>STK $4A.LXOR TYA. EOR STL,X. STA ST L,X. RTS.;.; CLR, CLEAR STACK $7E.CLR LD X #$FE. RTS.;.; RUN, START OVER $7F.RUN LDA PCSVE+1. STA PCNT+1. LDA PCSVE. STA PCNT.RUN1 LDX #$78. STX GOP. STX VLIM. L DX #$00. STX VPLUS. STX FORP. DEX. DEX. RTS.;. .END.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL