MIG15.SID
FILE INFORMATION
FILENAME(S): MIG15.SID
FILE TYPE(S): DEL
FILE SIZE: 8.8K
FIRST SEEN: 2025-10-19 22:49:33
APPEARS ON: 2 disk(s)
FILE HASH
831247a3556027c5334a691a4c474cd5e1d6f9178a574473c6914ec7ce7d03b9
FOUND ON DISKS (2 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| MIGDTL | MIG15.SID | DEL | Radd Maxx | 6 | 2 | DOWNLOAD FILE |
| MIGDTL | MIG15.SID | DEL | DuncanTwain | 6 | 2 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 44 41 20 53 54 48 2C 58 0D 20 53 54 41 20 56 41 |DA STH,X. STA VA| 00000010: 52 48 2C 59 0D 20 52 54 53 0D 3B 0D 3B 20 4F 46 |RH,Y. RTS.;.; OF| 00000020: 46 53 45 54 2C 20 53 54 4B 3D 3E 56 50 4C 55 53 |FSET, STK=>VPLUS| 00000030: 20 59 3D 3E 56 4C 49 4D 20 24 36 30 0D 4F 46 46 | Y=>VLIM $60.OFF| 00000040: 53 45 54 20 54 59 41 0D 20 41 53 4C 20 41 0D 20 |SET TYA. ASL A. | 00000050: 53 54 41 20 56 4C 49 4D 0D 20 4C 44 41 20 53 54 |STA VLIM. LDA ST| 00000060: 4C 2C 58 0D 20 41 53 4C 20 41 0D 20 53 54 41 20 |L,X. ASL A. STA | 00000070: 56 50 4C 55 53 0D 20 52 54 53 0D 3B 0D 3B 20 20 |VPLUS. RTS.;.; | 00000080: 41 44 44 2C 20 53 54 4B 2B 4F 50 52 3D 3E 4F 50 |ADD, STK+OPR=>OP| 00000090: 52 20 24 32 30 0D 41 44 44 20 43 4C 43 0D 20 4C |R $20.ADD CLC. L| 000000A0: 44 41 20 53 54 4C 2C 58 0D 20 41 44 43 20 4F 50 |DA STL,X. ADC OP| 000000B0: 4C 2C 58 0D 20 53 54 41 20 4F 50 4C 2C 58 0D 20 |L,X. STA OPL,X. | 000000C0: 4C 44 41 20 53 54 48 2C 58 0D 20 41 44 43 20 4F |LDA STH,X. ADC O| 000000D0: 50 48 2C 58 0D 20 53 54 41 20 4F 50 48 2C 58 0D |PH,X. STA OPH,X.| 000000E0: 20 52 54 53 0D 3B 0D 3B 20 20 53 55 42 2C 20 4F | RTS.;.; SUB, O| 000000F0: 50 52 2D 53 54 4B 3D 3E 4F 50 52 20 24 32 31 0D |PR-STK=>OPR $21.| 00000100: 53 55 42 20 53 45 43 0D 20 4C 44 41 20 4F 50 4C |SUB SEC. LDA OPL| 00000110: 2C 58 0D 20 53 42 43 20 53 54 4C 2C 58 0D 20 53 |,X. SBC STL,X. S| 00000120: 54 41 20 4F 50 4C 2C 58 0D 20 4C 44 41 20 4F 50 |TA OPL,X. LDA OP| 00000130: 48 2C 58 0D 20 53 42 43 20 53 54 48 2C 58 0D 20 |H,X. SBC STH,X. | 00000140: 53 54 41 20 4F 50 48 2C 58 0D 20 52 54 53 0D 3B |STA OPH,X. RTS.;| 00000150: 0D 3B 20 20 4D 55 4C 54 2C 20 53 54 4B 2A 4F 50 |.; MULT, STK*OP| 00000160: 52 3D 3E 4F 50 52 20 24 32 32 0D 3B 20 31 36 20 |R=>OPR $22.; 16 | 00000170: 42 49 54 20 50 52 45 43 49 53 49 4F 4E 0D 4D 55 |BIT PRECISION.MU| 00000180: 4C 54 20 4C 44 59 20 23 24 31 30 0D 4D 32 20 4C |LT LDY #$10.M2 L| 00000190: 44 41 20 23 24 30 30 0D 20 53 54 41 20 53 54 58 |DA #$00. STA STX| 000001A0: 32 2C 58 0D 20 53 54 41 20 53 54 58 31 2C 58 0D |2,X. STA STX1,X.| 000001B0: 4D 55 4C 54 32 20 4C 44 41 20 53 54 4C 2C 58 0D |MULT2 LDA STL,X.| 000001C0: 20 4C 53 52 20 41 0D 20 42 43 43 20 4D 55 4C 54 | LSR A. BCC MULT| 000001D0: 34 20 3B 42 49 54 20 4F 46 46 0D 20 43 4C 43 0D |4 ;BIT OFF. CLC.| 000001E0: 20 4C 44 41 20 53 54 58 31 2C 58 0D 20 41 44 43 | LDA STX1,X. ADC| 000001F0: 20 4F 50 4C 2C 58 0D 20 53 54 41 20 53 54 58 31 | OPL,X. STA STX1| 00000200: 2C 58 0D 20 4C 44 41 20 53 54 58 32 2C 58 0D 20 |,X. LDA STX2,X. | 00000210: 41 44 43 20 4F 50 48 2C 58 0D 20 53 54 41 20 53 |ADC OPH,X. STA S| 00000220: 54 58 32 2C 58 0D 4D 55 4C 54 34 20 52 4F 52 20 |TX2,X.MULT4 ROR | 00000230: 53 54 58 32 2C 58 0D 20 52 4F 52 20 53 54 58 31 |STX2,X. ROR STX1| 00000240: 2C 58 0D 20 52 4F 52 20 53 54 48 2C 58 0D 20 52 |,X. ROR STH,X. R| 00000250: 4F 52 20 53 54 4C 2C 58 0D 20 44 45 59 0D 20 42 |OR STL,X. DEY. B| 00000260: 4E 45 20 4D 55 4C 54 32 0D 50 55 4E 43 48 20 4C |NE MULT2.PUNCH L| 00000270: 44 41 20 53 54 4C 2C 58 0D 20 53 54 41 20 4F 50 |DA STL,X. STA OP| 00000280: 4C 2C 58 0D 20 4C 44 41 20 53 54 48 2C 58 0D 20 |L,X. LDA STH,X. | 00000290: 53 54 41 20 4F 50 48 2C 58 0D 20 52 54 53 0D 3B |STA OPH,X. RTS.;| 000002A0: 0D 3B 20 20 53 48 49 46 54 20 52 49 47 48 54 2C |.; SHIFT RIGHT,| 000002B0: 20 53 54 4B 2F 28 32 5E 59 29 3D 3E 53 54 4B 20 | STK/(2^Y)=>STK | 000002C0: 24 34 31 0D 53 48 49 46 54 52 20 4C 44 41 20 53 |$41.SHIFTR LDA S| 000002D0: 54 48 2C 58 0D 20 52 4F 4C 20 41 0D 20 52 4F 52 |TH,X. ROL A. ROR| 000002E0: 20 53 54 48 2C 58 0D 20 52 4F 52 20 53 54 4C 2C | STH,X. ROR STL,| 000002F0: 58 0D 20 44 45 59 0D 20 42 4E 45 20 53 48 49 46 |X. DEY. BNE SHIF| 00000300: 54 52 0D 20 52 54 53 0D 3B 0D 3B 20 53 48 49 46 |TR. RTS.;.; SHIF| 00000310: 54 20 52 49 47 48 54 20 50 4F 53 49 54 49 56 45 |T RIGHT POSITIVE| 00000320: 2C 20 24 34 43 0D 53 48 52 30 20 3D 20 2A 0D 20 |, $4C.SHR0 = *. | 00000330: 4C 53 52 20 53 54 48 2C 58 0D 20 52 4F 52 20 53 |LSR STH,X. ROR S| 00000340: 54 4C 2C 58 0D 20 44 45 59 0D 20 42 4E 45 20 53 |TL,X. DEY. BNE S| 00000350: 48 52 30 0D 20 52 54 53 0D 3B 0D 3B 20 20 53 48 |HR0. RTS.;.; SH| 00000360: 49 46 54 20 4C 45 46 54 2C 20 53 54 4B 2A 28 32 |IFT LEFT, STK*(2| 00000370: 5E 59 29 3D 53 54 4B 20 24 34 32 0D 53 48 49 46 |^Y)=STK $42.SHIF| 00000380: 54 4C 20 3D 20 2A 0D 20 41 53 4C 20 53 54 4C 2C |TL = *. ASL STL,| 00000390: 58 0D 20 52 4F 4C 20 53 54 48 2C 58 0D 20 44 45 |X. ROL STH,X. DE| 000003A0: 59 0D 20 42 4E 45 20 53 48 49 46 54 4C 0D 20 52 |Y. BNE SHIFTL. R| 000003B0: 54 53 0D 3B 0D 3B 20 4E 45 47 41 54 45 2C 20 2D |TS.;.; NEGATE, -| 000003C0: 53 54 4B 3D 3E 53 54 4B 20 24 30 32 0D 4E 45 47 |STK=>STK $02.NEG| 000003D0: 20 53 45 43 0D 20 4C 44 41 20 23 24 30 0D 20 53 | SEC. LDA #$0. S| 000003E0: 42 43 20 53 54 4C 2C 58 0D 20 53 54 41 20 53 54 |BC STL,X. STA ST| 000003F0: 4C 2C 58 0D 20 4C 44 41 20 23 24 30 0D 20 53 42 |L,X. LDA #$0. SB| 00000400: 43 20 53 54 48 2C 58 0D 20 53 54 41 20 53 54 48 |C STH,X. STA STH| 00000410: 2C 58 0D 20 52 54 53 0D 3B 0D 4E 45 47 4F 50 52 |,X. RTS.;.NEGOPR| 00000420: 20 53 45 43 0D 20 4C 44 41 20 23 30 0D 20 53 42 | SEC. LDA #0. SB| 00000430: 43 20 4F 50 4C 2C 58 0D 20 53 54 41 20 4F 50 4C |C OPL,X. STA OPL| 00000440: 2C 58 0D 20 4C 44 41 20 23 24 30 0D 20 53 42 43 |,X. LDA #$0. SBC| 00000450: 20 4F 50 48 2C 58 0D 20 53 54 41 20 4F 50 48 2C | OPH,X. STA OPH,| 00000460: 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 42 49 54 2C |X. RTS.;.; BIT,| 00000470: 20 46 49 52 53 54 20 42 49 54 20 53 45 54 2C 20 | FIRST BIT SET, | 00000480: 24 35 45 0D 3B 42 49 54 58 20 4C 44 59 20 23 30 |$5E.;BITX LDY #0| 00000490: 0D 3B 20 54 59 41 0D 3B 20 53 54 41 20 53 54 48 |.; TYA.; STA STH| 000004A0: 2C 58 0D 3B 42 49 54 31 20 4C 53 52 20 53 54 4C |,X.;BIT1 LSR STL| 000004B0: 2C 58 0D 3B 20 42 43 53 20 42 49 54 32 0D 3B 20 |,X.; BCS BIT2.; | 000004C0: 49 4E 59 0D 3B 20 43 50 59 20 23 38 0D 3B 20 42 |INY.; CPY #8.; B| 000004D0: 4D 49 20 42 49 54 31 0D 3B 42 49 54 32 20 54 59 |MI BIT1.;BIT2 TY| 000004E0: 41 0D 3B 20 53 54 41 20 53 54 4C 2C 58 0D 3B 20 |A.; STA STL,X.; | 000004F0: 52 54 53 0D 3B 0D 3B 20 43 41 4C 4C 2C 20 41 53 |RTS.;.; CALL, AS| 00000500: 4D 20 53 55 42 52 4F 55 54 49 4E 45 3B 20 59 3D |M SUBROUTINE; Y=| 00000510: 50 55 53 48 20 46 4C 41 47 0D 43 41 4C 4C 20 44 |PUSH FLAG.CALL D| 00000520: 45 59 20 3B 20 54 45 53 54 20 46 4F 52 20 41 52 |EY ; TEST FOR AR| 00000530: 47 0D 20 42 4D 49 20 43 41 4C 4C 31 0D 20 4C 44 |G. BMI CALL1. LD| 00000540: 41 20 53 54 4C 2C 58 0D 20 53 54 41 20 24 38 30 |A STL,X. STA $80| 00000550: 30 30 0D 20 4C 44 41 20 53 54 48 2C 58 0D 20 53 |00. LDA STH,X. S| 00000560: 54 41 20 24 38 30 30 31 0D 20 44 45 58 0D 20 44 |TA $8001. DEX. D| 00000570: 45 58 0D 43 41 4C 4C 31 20 3D 20 2A 0D 20 4C 44 |EX.CALL1 = *. LD| 00000580: 41 20 53 54 4C 2C 58 0D 20 42 4E 45 20 43 41 4C |A STL,X. BNE CAL| 00000590: 4C 32 0D 20 44 45 43 20 53 54 48 2C 58 0D 43 41 |L2. DEC STH,X.CA| 000005A0: 4C 4C 32 20 4C 44 41 20 53 54 48 2C 58 0D 20 50 |LL2 LDA STH,X. P| 000005B0: 48 41 0D 20 4C 44 59 20 53 54 4C 2C 58 0D 20 44 |HA. LDY STL,X. D| 000005C0: 45 59 0D 20 54 59 41 0D 20 50 48 41 0D 20 52 54 |EY. TYA. PHA. RT| 000005D0: 53 0D 3B 0D 3B 20 20 43 4F 4E 53 54 41 4E 54 2D |S.;.; CONSTANT-| 000005E0: 38 20 42 49 54 53 2C 20 59 3D 3E 53 54 4B 20 30 |8 BITS, Y=>STK 0| 000005F0: 2D 32 35 35 20 24 35 32 0D 43 4F 4E 50 20 4C 44 |-255 $52.CONP LD| 00000600: 41 20 23 30 0D 20 49 4E 58 0D 20 49 4E 58 0D 20 |A #0. INX. INX. | 00000610: 53 54 41 20 53 54 48 2C 58 0D 20 54 59 41 0D 20 |STA STH,X. TYA. | 00000620: 53 54 41 20 53 54 4C 2C 58 0D 20 44 45 58 0D 20 |STA STL,X. DEX. | 00000630: 44 45 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 43 4F |DEX. RTS.;.; CO| 00000640: 4E 53 54 41 4E 54 2D 38 20 42 49 54 53 2C 20 59 |NSTANT-8 BITS, Y| 00000650: 3D 3E 53 54 4B 20 31 32 37 2F 2D 31 32 38 20 24 |=>STK 127/-128 $| 00000660: 35 30 0D 43 4F 4E 20 49 4E 58 0D 20 49 4E 58 0D |50.CON INX. INX.| 00000670: 20 4A 53 52 20 43 4F 4E 30 0D 20 44 45 58 0D 20 | JSR CON0. DEX. | 00000680: 44 45 58 0D 50 4F 50 20 52 54 53 20 3B 20 50 4F |DEX.POP RTS ; PO| 00000690: 50 2C 20 20 24 32 42 0D 3B 0D 43 4F 4E 30 20 4C |P, $2B.;.CON0 L| 000006A0: 44 41 20 23 24 30 30 0D 20 53 54 41 20 53 54 48 |DA #$00. STA STH| 000006B0: 2C 58 0D 20 54 59 41 0D 20 42 50 4C 20 43 4F 4E |,X. TYA. BPL CON| 000006C0: 31 0D 20 44 45 43 20 53 54 48 2C 58 20 3B 20 4E |1. DEC STH,X ; N| 000006D0: 45 47 41 54 49 56 45 20 43 4F 4E 53 54 0D 43 4F |EGATIVE CONST.CO| 000006E0: 4E 31 20 53 54 41 20 53 54 4C 2C 58 20 3B 24 30 |N1 STA STL,X ;$0| 000006F0: 30 20 4F 52 20 24 46 46 0D 20 52 54 53 0D 3B 0D |0 OR $FF. RTS.;.| 00000700: 3B 20 43 4F 4E 53 54 41 4E 54 2D 31 36 20 42 49 |; CONSTANT-16 BI| 00000710: 54 53 2C 20 59 2C 41 3D 3E 53 54 4B 20 24 35 31 |TS, Y,A=>STK $51| 00000720: 0D 43 4F 4E 31 36 20 54 59 41 0D 20 49 4E 58 0D |.CON16 TYA. INX.| 00000730: 20 49 4E 58 0D 20 53 54 41 20 53 54 4C 2C 58 0D | INX. STA STL,X.| 00000740: 20 4A 53 52 20 49 4E 43 50 43 0D 20 4C 44 59 20 | JSR INCPC. LDY | 00000750: 23 24 30 30 0D 20 4C 44 41 20 28 50 43 4E 54 29 |#$00. LDA (PCNT)| 00000760: 2C 59 0D 20 53 54 41 20 53 54 48 2C 58 0D 20 44 |,Y. STA STH,X. D| 00000770: 45 58 0D 20 44 45 58 0D 20 52 54 53 0D 3B 0D 3B |EX. DEX. RTS.;.;| 00000780: 0D 3B 0D 3B 20 53 50 52 49 54 45 20 43 4F 4D 4D |.;.; SPRITE COMM| 00000790: 41 4E 44 53 0D 3B 0D 42 4D 41 53 4B 20 2E 42 59 |ANDS.;.BMASK .BY| 000007A0: 54 45 20 24 46 45 2C 24 30 31 2C 24 46 44 2C 24 |TE $FE,$01,$FD,$| 000007B0: 30 32 2C 24 46 42 2C 24 30 34 2C 24 46 37 2C 24 |02,$FB,$04,$F7,$| 000007C0: 30 38 0D 20 2E 42 59 54 45 20 24 45 46 2C 24 31 |08. .BYTE $EF,$1| 000007D0: 30 2C 24 44 46 2C 24 32 30 2C 24 42 46 2C 24 34 |0,$DF,$20,$BF,$4| 000007E0: 30 2C 24 37 46 2C 24 38 30 0D 20 2E 42 59 54 45 |0,$7F,$80. .BYTE| 000007F0: 20 24 46 45 2C 24 30 31 2C 24 46 44 2C 24 30 32 | $FE,$01,$FD,$02| 00000800: 2C 24 46 42 2C 24 30 34 2C 24 46 37 2C 24 30 38 |,$FB,$04,$F7,$08| 00000810: 0D 20 2E 42 59 54 45 20 24 46 45 2C 24 30 31 2C |. .BYTE $FE,$01,| 00000820: 24 46 44 2C 24 30 32 2C 24 46 42 2C 24 30 34 2C |$FD,$02,$FB,$04,| 00000830: 24 46 37 2C 24 30 38 0D 20 2E 42 59 54 45 20 24 |$F7,$08. .BYTE $| 00000840: 45 46 2C 24 31 30 2C 24 44 46 2C 24 32 30 2C 24 |EF,$10,$DF,$20,$| 00000850: 42 46 2C 24 34 30 2C 24 37 46 2C 24 38 30 0D 20 |BF,$40,$7F,$80. | 00000860: 2E 42 59 54 45 20 24 46 45 2C 24 30 31 2C 24 46 |.BYTE $FE,$01,$F| 00000870: 44 2C 24 30 32 2C 24 46 42 2C 24 30 34 2C 24 46 |D,$02,$FB,$04,$F| 00000880: 37 2C 24 30 38 0D 4D 4F 46 53 54 20 2E 57 4F 52 |7,$08.MOFST .WOR| 00000890: 44 20 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C 30 2C |D 0,0,0,0,0,0,0,| 000008A0: 30 0D 20 2E 57 4F 52 44 20 31 2C 31 2C 31 2C 31 |0. .WORD 1,1,1,1| 000008B0: 0D 20 2E 57 4F 52 44 20 32 2C 32 2C 32 2C 32 2C |. .WORD 2,2,2,2,| 000008C0: 32 2C 32 2C 32 2C 32 0D 20 2E 57 4F 52 44 20 33 |2,2,2,2. .WORD 3| 000008D0: 2C 33 2C 33 2C 33 0D 3B 0D 3B 20 53 50 58 2C 20 |,3,3,3.;.; SPX, | 000008E0: 53 54 4B 20 3D 3E 20 53 50 52 45 47 58 20 5B 59 |STK => SPREGX [Y| 000008F0: 5D 28 20 4F 52 20 5B 56 41 52 5B 59 5D 5D 20 29 |]( OR [VAR[Y]] )| 00000900: 0D 3B 0D 53 50 52 58 20 3D 20 2A 0D 20 4A 53 52 |.;.SPRX = *. JSR| 00000910: 20 53 50 32 59 20 3B 20 47 45 54 20 53 50 52 49 | SP2Y ; GET SPRI| 00000920: 54 45 20 4E 55 4D 42 45 52 20 4F 46 46 53 45 54 |TE NUMBER OFFSET| 00000930: 0D 20 4C 44 41 20 53 54 4C 2C 58 0D 20 53 54 41 |. LDA STL,X. STA| 00000940: 20 53 50 30 58 2C 59 20 3B 20 53 54 4F 52 45 20 | SP0X,Y ; STORE | 00000950: 4C 53 20 42 59 54 45 0D 20 4C 44 41 20 42 4D 41 |LS BYTE. LDA BMA| 00000960: 53 4B 2B 31 2C 59 20 3B 20 53 54 4F 52 45 20 4D |SK+1,Y ; STORE M| 00000970: 53 20 42 49 54 0D 20 50 48 41 0D 20 4C 44 41 20 |S BIT. PHA. LDA | 00000980: 42 4D 41 53 4B 2C 59 0D 20 50 48 41 0D 20 4C 44 |BMASK,Y. PHA. LD| 00000990: 41 20 4D 4F 46 53 54 2C 59 0D 20 54 41 59 0D 20 |A MOFST,Y. TAY. | 000009A0: 50 4C 41 0D 20 41 4E 44 20 4D 53 42 52 45 47 2C |PLA. AND MSBREG,| 000009B0: 59 0D 20 53 54 41 20 54 4D 50 31 0D 20 4C 44 41 |Y. STA TMP1. LDA| 000009C0: 20 53 54 48 2C 58 0D 20 52 4F 52 20 41 0D 20 50 | STH,X. ROR A. P| 000009D0: 4C 41 0D 20 42 43 43 20 53 50 58 31 20 3B 20 53 |LA. BCC SPX1 ; S| 000009E0: 45 54 20 4D 53 42 0D 20 4F 52 41 20 54 4D 50 31 |ET MSB. ORA TMP1| 000009F0: 0D 20 53 54 41 20 54 4D 50 31 0D 53 50 58 31 20 |. STA TMP1.SPX1 | 00000A00: 4C 44 41 20 54 4D 50 31 0D 20 53 54 41 20 4D 53 |LDA TMP1. STA MS| 00000A10: 42 52 45 47 2C 59 0D 20 52 54 53 0D 3B 0D 3B 0D |BREG,Y. RTS.;.;.| 00000A20: 3B 20 53 50 59 2C 20 53 54 4B 20 3D 3E 20 53 50 |; SPY, STK => SP| 00000A30: 52 45 47 59 20 5B 59 5D 28 20 4F 52 20 56 41 52 |REGY [Y]( OR VAR| 00000A40: 29 0D 53 50 52 59 20 3D 20 2A 0D 20 4A 53 52 20 |).SPRY = *. JSR | 00000A50: 53 50 32 59 0D 20 4C 44 41 20 53 54 4C 2C 58 0D |SP2Y. LDA STL,X.| 00000A60: 20 53 54 41 20 53 50 30 59 2C 59 0D 20 52 54 53 | STA SP0Y,Y. RTS| 00000A70: 0D 3B 0D 53 50 32 59 20 3D 20 2A 0D 20 4C 44 41 |.;.SP2Y = *. LDA| 00000A80: 20 41 52 47 20 3B 20 49 46 20 41 52 47 20 3E 20 | ARG ; IF ARG > | 00000A90: 31 32 37 2C 20 41 52 47 20 49 53 20 53 50 52 49 |127, ARG IS SPRI| 00000AA0: 54 45 0D 20 42 4D 49 20 53 50 32 59 31 0D 20 41 |TE. BMI SP2Y1. A| 00000AB0: 53 4C 20 41 20 3B 20 45 4C 53 45 20 56 41 52 20 |SL A ; ELSE VAR | 00000AC0: 5B 41 52 47 5D 20 49 53 20 53 50 52 49 54 45 20 |[ARG] IS SPRITE | 00000AD0: 4E 55 4D 42 45 52 0D 20 54 41 59 0D 20 4C 44 41 |NUMBER. TAY. LDA| 00000AE0: 20 56 41 52 4C 2C 59 0D 53 50 32 59 31 20 3D 20 | VARL,Y.SP2Y1 = | 00000AF0: 2A 0D 20 41 53 4C 20 41 0D 20 54 41 59 0D 20 52 |*. ASL A. TAY. R| 00000B00: 54 53 0D 3B 0D 3B 0D 3B 20 57 4F 52 44 2C 20 57 |TS.;.;.; WORD, W| 00000B10: 4F 52 44 28 53 54 4B 29 3D 3E 53 54 4B 20 24 30 |ORD(STK)=>STK $0| 00000B20: 46 0D 57 52 44 20 4C 44 59 20 53 54 4C 2C 58 0D |F.WRD LDY STL,X.| 00000B30: 20 4A 4D 50 20 43 4F 4E 30 0D 3B 0D 3B 20 20 52 | JMP CON0.;.; R| 00000B40: 4E 44 2C 20 53 54 4B 2A 52 4E 44 3D 3E 53 54 4B |ND, STK*RND=>STK| 00000B50: 20 24 30 38 0D 52 4E 44 20 49 4E 58 20 3B 20 46 | $08.RND INX ; F| 00000B60: 41 4B 45 20 53 54 41 43 4B 0D 20 49 4E 58 0D 20 |AKE STACK. INX. | 00000B70: 4C 44 41 20 52 41 4E 44 4F 4D 0D 52 4E 44 45 20 |LDA RANDOM.RNDE | 00000B80: 53 54 41 20 53 54 4C 2C 58 0D 20 4C 44 41 20 23 |STA STL,X. LDA #| 00000B90: 24 30 30 0D 20 53 54 41 20 53 54 48 2C 58 0D 20 |$00. STA STH,X. | 00000BA0: 53 54 41 20 54 4D 50 31 0D 20 4C 44 41 20 4F 50 |STA TMP1. LDA OP| 00000BB0: 48 2C 58 0D 20 42 50 4C 20 52 4E 44 32 0D 20 4A |H,X. BPL RND2. J| 00000BC0: 53 52 20 4E 45 47 4F 50 52 20 3B 20 41 42 53 28 |SR NEGOPR ; ABS(| 00000BD0: 4F 50 52 29 0D 20 49 4E 43 20 54 4D 50 31 0D 52 |OPR). INC TMP1.R| 00000BE0: 4E 44 32 20 4C 44 59 20 23 38 0D 20 4A 53 52 20 |ND2 LDY #8. JSR | 00000BF0: 4D 32 20 3B 20 44 4F 20 4D 55 4C 54 0D 20 4C 44 |M2 ; DO MULT. LD| 00000C00: 41 20 53 54 58 32 2C 58 0D 20 53 54 41 20 4F 50 |A STX2,X. STA OP| 00000C10: 48 2C 58 0D 20 4C 44 41 20 53 54 58 31 2C 58 20 |H,X. LDA STX1,X | 00000C20: 20 3B 20 4E 4F 52 4D 41 4C 49 5A 45 0D 20 53 54 | ; NORMALIZE. ST| 00000C30: 41 20 4F 50 4C 2C 58 0D 20 4C 44 41 20 54 4D 50 |A OPL,X. LDA TMP| 00000C40: 31 0D 20 42 45 51 20 52 4E 44 33 0D 20 4A 53 52 |1. BEQ RND3. JSR| 00000C50: 20 4E 45 47 4F 50 52 0D 52 4E 44 33 20 44 45 58 | NEGOPR.RND3 DEX| 00000C60: 20 3B 20 52 45 53 54 4F 52 45 20 53 54 41 43 4B | ; RESTORE STACK| 00000C70: 0D 20 44 45 58 0D 20 52 54 53 0D 3B 0D 3B 0D 42 |. DEX. RTS.;.;.B| 00000C80: 59 54 58 20 4C 44 41 20 23 24 30 30 20 3B 20 20 |YTX LDA #$00 ; | 00000C90: 42 59 54 45 2C 20 53 54 4B 26 46 46 3D 3E 53 54 |BYTE, STK&FF=>ST| 00000CA0: 4B 20 24 30 37 0D 20 53 54 41 20 53 54 48 2C 58 |K $07. STA STH,X| 00000CB0: 20 3B 20 30 0D 20 52 54 53 0D 3B 0D 3B 0D 3B 20 | ; 0. RTS.;.;.; | 00000CC0: 20 41 42 53 2C 20 41 42 53 28 53 54 4B 29 3D 3E | ABS, ABS(STK)=>| 00000CD0: 53 54 4B 20 24 30 39 0D 41 42 53 20 4C 44 41 20 |STK $09.ABS LDA | 00000CE0: 53 54 48 2C 58 0D 20 42 50 4C 20 41 42 53 31 0D |STH,X. BPL ABS1.| 00000CF0: 20 4A 53 52 20 4E 45 47 20 3B 20 4E 45 47 41 54 | JSR NEG ; NEGAT| 00000D00: 45 20 49 46 20 4E 45 47 0D 41 42 53 31 20 52 54 |E IF NEG.ABS1 RT| 00000D10: 53 0D 3B 0D 3B 20 20 53 47 4E 2C 20 53 47 4E 28 |S.;.; SGN, SGN(| 00000D20: 53 54 4B 29 3D 3E 53 54 4B 20 24 30 41 0D 53 47 |STK)=>STK $0A.SG| 00000D30: 4E 20 4C 44 41 20 53 54 48 2C 58 0D 20 42 50 4C |N LDA STH,X. BPL| 00000D40: 20 53 47 4E 31 0D 20 4C 44 59 20 23 24 46 46 20 | SGN1. LDY #$FF | 00000D50: 3B 3C 30 0D 20 4A 4D 50 20 43 4F 4E 30 0D 53 47 |;<0. JMP CON0.SG| 00000D60: 4E 31 20 42 45 51 20 53 47 4E 32 0D 20 4C 44 59 |N1 BEQ SGN2. LDY| 00000D70: 20 23 24 30 31 0D 20 4A 4D 50 20 43 4F 4E 30 20 | #$01. JMP CON0 | 00000D80: 3B 3E 30 0D 53 47 4E 32 20 4C 44 41 20 53 54 4C |;>0.SGN2 LDA STL| 00000D90: 2C 58 0D 20 42 4E 45 20 53 47 4E 31 0D 20 4C 44 |,X. BNE SGN1. LD| 00000DA0: 59 20 23 24 30 30 20 3B 3D 30 0D 20 4A 4D 50 20 |Y #$00 ;=0. JMP | 00000DB0: 43 4F 4E 30 0D 3B 0D 3B 20 20 50 45 45 4B 2C 20 |CON0.;.; PEEK, | 00000DC0: 50 45 45 4B 28 53 54 4B 29 3D 3E 53 54 4B 20 24 |PEEK(STK)=>STK $| 00000DD0: 30 42 0D 50 45 45 4B 20 4A 53 52 20 55 53 52 20 |0B.PEEK JSR USR | 00000DE0: 3B 53 54 4B 3D 3E 46 52 30 0D 20 4C 44 41 20 23 |;STK=>FR0. LDA #| 00000DF0: 24 30 30 0D 20 53 54 41 20 53 54 48 2C 58 0D 20 |$00. STA STH,X. | 00000E00: 4C 44 59 20 23 24 30 30 0D 20 4C 44 41 20 28 46 |LDY #$00. LDA (F| 00000E10: 52 30 29 2C 59 0D 20 53 54 41 20 53 54 4C 2C 58 |R0),Y. STA STL,X| 00000E20: 0D 20 52 54 53 0D 3B 0D 3B 20 20 50 4F 4B 45 2C |. RTS.;.; POKE,| 00000E30: 20 4F 50 52 3D 3E 4C 4F 43 28 53 54 4B 29 20 24 | OPR=>LOC(STK) $| 00000E40: 33 30 0D 50 4F 4B 45 20 4A 53 52 20 55 53 52 20 |30.POKE JSR USR | 00000E50: 3B 53 54 4B 3D 3E 46 52 30 0D 20 4C 44 59 20 23 |;STK=>FR0. LDY #| 00000E60: 24 30 30 0D 50 4F 4B 45 30 20 4C 44 41 20 4F 50 |$00.POKE0 LDA OP| 00000E70: 4C 2C 58 0D 20 53 54 41 20 28 46 52 30 29 2C 59 |L,X. STA (FR0),Y| 00000E80: 0D 20 52 54 53 0D 3B 0D 50 4F 4B 45 59 20 4A 53 |. RTS.;.POKEY JS| 00000E90: 52 20 55 53 52 0D 20 4C 44 59 20 56 41 52 4C 0D |R USR. LDY VARL.| 00000EA0: 20 4A 4D 50 20 50 4F 4B 45 30 0D 3B 0D 3B 20 52 | JMP POKE0.;.; R| 00000EB0: 41 4E 47 45 2C 20 56 41 4C 55 45 2C 20 4F 50 52 |ANGE, VALUE, OPR| 00000EC0: 3D 4C 4F 20 53 54 4B 3D 48 49 20 24 33 35 0D 3B |=LO STK=HI $35.;| 00000ED0: 20 50 4F 53 49 54 49 56 45 20 56 41 4C 55 45 53 | POSITIVE VALUES| 00000EE0: 20 4F 4E 4C 59 20 21 21 0D 52 41 4E 47 45 20 4C | ONLY !!.RANGE L| 00000EF0: 44 41 20 4F 50 48 2D 32 2C 58 0D 20 42 4D 49 20 |DA OPH-2,X. BMI | 00000F00: 4F 52 4E 47 4C 4F 0D 20 43 4D 50 20 53 54 48 2C |ORNGLO. CMP STH,| 00000F10: 58 0D 20 42 4E 45 20 43 50 48 49 0D 20 4C 44 41 |X. BNE CPHI. LDA| 00000F20: 20 4F 50 4C 2D 32 2C 58 0D 20 43 4D 50 20 53 54 | OPL-2,X. CMP ST| 00000F30: 4C 2C 58 0D 43 50 48 49 20 42 43 53 20 4F 52 4E |L,X.CPHI BCS ORN| 00000F40: 47 48 49 0D 20 4C 44 41 20 4F 50 48 2D 32 2C 58 |GHI. LDA OPH-2,X| 00000F50: 0D 20 43 4D 50 20 4F 50 48 2C 58 0D 20 42 4E 45 |. CMP OPH,X. BNE| 00000F60: 20 43 50 4C 4F 0D 20 4C 44 41 20 4F 50 4C 2D 32 | CPLO. LDA OPL-2| 00000F70: 2C 58 0D 20 43 4D 50 20 4F 50 4C 2C 58 0D 43 50 |,X. CMP OPL,X.CP| 00000F80: 4C 4F 20 42 43 43 20 4F 52 4E 47 4C 4F 0D 20 52 |LO BCC ORNGLO. R| 00000F90: 54 53 0D 3B 0D 4F 52 4E 47 48 49 20 4C 44 41 20 |TS.;.ORNGHI LDA | 00000FA0: 53 54 48 2C 58 0D 20 53 54 41 20 4F 50 48 2D 32 |STH,X. STA OPH-2| 00000FB0: 2C 58 0D 20 4C 44 41 20 53 54 4C 2C 58 0D 20 53 |,X. LDA STL,X. S| 00000FC0: 54 41 20 4F 50 4C 2D 32 2C 58 0D 20 52 54 53 0D |TA OPL-2,X. RTS.| 00000FD0: 4F 52 4E 47 4C 4F 20 4C 44 41 20 4F 50 48 2C 58 |ORNGLO LDA OPH,X| 00000FE0: 0D 20 53 54 41 20 4F 50 48 2D 32 2C 58 0D 20 4C |. STA OPH-2,X. L| 00000FF0: 44 41 20 4F 50 4C 2C 58 0D 20 53 54 41 20 4F 50 |DA OPL,X. STA OP| 00001000: 4C 2D 32 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 |L-2,X. RTS.;.; | 00001010: 52 41 4E 47 45 59 2C 20 56 41 4C 55 45 2C 20 4F |RANGEY, VALUE, O| 00001020: 50 52 3D 4C 4F 20 53 54 4B 3D 48 49 20 24 37 32 |PR=LO STK=HI $72| 00001030: 0D 3B 20 50 4F 53 49 54 49 56 45 20 56 41 4C 55 |.; POSITIVE VALU| 00001040: 45 53 20 4F 4E 4C 59 20 21 21 0D 52 4E 47 59 20 |ES ONLY !!.RNGY | 00001050: 4C 44 41 20 4F 50 48 2D 32 2C 58 0D 20 42 4D 49 |LDA OPH-2,X. BMI| 00001060: 20 4F 52 4E 47 0D 20 43 4D 50 20 53 54 48 2C 58 | ORNG. CMP STH,X| 00001070: 0D 20 42 4E 45 20 43 50 30 48 49 0D 20 4C 44 41 |. BNE CP0HI. LDA| 00001080: 20 4F 50 4C 2D 32 2C 58 0D 20 43 4D 50 20 53 54 | OPL-2,X. CMP ST| 00001090: 4C 2C 58 0D 43 50 30 48 49 20 42 43 53 20 4F 52 |L,X.CP0HI BCS OR| 000010A0: 4E 47 0D 20 4C 44 41 20 4F 50 48 2D 32 2C 58 0D |NG. LDA OPH-2,X.| 000010B0: 20 43 4D 50 20 4F 50 48 2C 58 0D 20 42 4E 45 20 | CMP OPH,X. BNE | 000010C0: 43 50 30 4C 4F 0D 20 4C 44 41 20 4F 50 4C 2D 32 |CP0LO. LDA OPL-2| 000010D0: 2C 58 0D 20 43 4D 50 20 4F 50 4C 2C 58 0D 43 50 |,X. CMP OPL,X.CP| 000010E0: 30 4C 4F 20 42 43 43 20 4F 52 4E 47 0D 20 52 54 |0LO BCC ORNG. RT| 000010F0: 53 0D 4F 52 4E 47 20 4C 44 41 20 23 30 0D 20 53 |S.ORNG LDA #0. S| 00001100: 54 41 20 4F 50 48 2D 32 2C 58 0D 20 54 59 41 0D |TA OPH-2,X. TYA.| 00001110: 20 53 54 41 20 4F 50 4C 2D 32 2C 58 0D 20 52 54 | STA OPL-2,X. RT| 00001120: 53 0D 3B 0D 3B 20 20 53 54 49 43 4B 2C 20 28 53 |S.;.; STICK, (S| 00001130: 54 4B 29 3D 3E 53 54 4B 2D 58 2C 4F 50 52 2D 59 |TK)=>STK-X,OPR-Y| 00001140: 20 24 31 30 0D 53 54 49 43 4B 20 4C 44 59 20 53 | $10.STICK LDY S| 00001150: 54 4C 2C 58 0D 20 4C 44 41 20 24 44 43 30 30 2C |TL,X. LDA $DC00,| 00001160: 59 0D 20 4C 44 59 20 23 24 30 30 0D 20 52 4F 52 |Y. LDY #$00. ROR| 00001170: 20 41 0D 20 42 43 53 20 53 54 31 0D 20 4C 44 59 | A. BCS ST1. LDY| 00001180: 20 23 24 46 46 0D 53 54 31 20 52 4F 52 20 41 0D | #$FF.ST1 ROR A.| 00001190: 20 42 43 53 20 53 54 32 0D 20 4C 44 59 20 23 24 | BCS ST2. LDY #$| 000011A0: 30 31 0D 53 54 32 20 50 48 41 0D 20 4A 53 52 20 |01.ST2 PHA. JSR | 000011B0: 43 4F 4E 30 20 3B 20 44 59 0D 20 50 4C 41 0D 20 |CON0 ; DY. PLA. | 000011C0: 4C 44 59 20 23 24 30 30 0D 20 52 4F 52 20 41 0D |LDY #$00. ROR A.| 000011D0: 20 42 43 53 20 53 54 33 0D 20 44 45 59 0D 53 54 | BCS ST3. DEY.ST| 000011E0: 33 20 52 4F 52 20 41 0D 20 42 43 53 20 53 54 34 |3 ROR A. BCS ST4| 000011F0: 0D 20 4C 44 59 20 23 24 30 31 0D 53 54 34 20 4A |. LDY #$01.ST4 J| 00001200: 4D 50 20 43 4F 4E 20 3B 20 44 58 0D 3B 0D 3B 20 |MP CON ; DX.;.; | 00001210: 20 53 54 52 49 47 2C 20 28 53 54 4B 29 3D 3E 53 | STRIG, (STK)=>S| 00001220: 54 4B 20 24 30 34 0D 53 54 52 49 47 20 4C 44 59 |TK $04.STRIG LDY| 00001230: 20 53 54 4C 2C 58 0D 20 4C 44 41 20 24 44 43 30 | STL,X. LDA $DC0| 00001240: 30 2C 59 0D 20 52 4F 52 20 41 0D 20 52 4F 52 20 |0,Y. ROR A. ROR | 00001250: 41 0D 20 52 4F 52 20 41 0D 20 52 4F 52 20 41 0D |A. ROR A. ROR A.| 00001260: 20 41 4E 44 20 23 31 0D 20 45 4F 52 20 23 31 0D | AND #1. EOR #1.| 00001270: 20 53 54 41 20 53 54 4C 2C 58 0D 20 4C 44 41 20 | STA STL,X. LDA | 00001280: 23 24 30 30 0D 20 53 54 41 20 53 54 48 2C 58 0D |#$00. STA STH,X.| 00001290: 20 52 54 53 0D 3B 0D 3B 20 20 49 4E 43 2C 20 53 | RTS.;.; INC, S| 000012A0: 54 4B 2B 31 3D 3E 53 54 4B 20 24 30 35 0D 49 4E |TK+1=>STK $05.IN| 000012B0: 43 52 20 49 4E 43 20 53 54 4C 2C 58 0D 20 42 4E |CR INC STL,X. BN| 000012C0: 45 20 49 4E 43 31 0D 20 49 4E 43 20 53 54 48 2C |E INC1. INC STH,| 000012D0: 58 0D 49 4E 43 31 20 52 54 53 0D 3B 0D 3B 20 20 |X.INC1 RTS.;.; | 000012E0: 44 45 43 2C 20 53 54 4B 2D 31 3D 3E 53 54 4B 20 |DEC, STK-1=>STK | 000012F0: 24 30 36 0D 44 45 43 52 20 4C 44 41 20 53 54 4C |$06.DECR LDA STL| 00001300: 2C 58 0D 20 42 4E 45 20 44 45 43 31 0D 20 44 45 |,X. BNE DEC1. DE| 00001310: 43 20 53 54 48 2C 58 0D 44 45 43 31 20 44 45 43 |C STH,X.DEC1 DEC| 00001320: 20 53 54 4C 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 | STL,X. RTS.;.; | 00001330: 20 44 55 50 2C 20 53 54 4B 3D 3E 53 54 4B 2B 32 | DUP, STK=>STK+2| 00001340: 20 24 31 31 0D 44 55 50 20 4C 44 41 20 53 54 4C | $11.DUP LDA STL| 00001350: 2C 58 0D 20 53 54 41 20 53 54 58 31 2C 58 0D 20 |,X. STA STX1,X. | 00001360: 4C 44 41 20 53 54 48 2C 58 0D 20 53 54 41 20 53 |LDA STH,X. STA S| 00001370: 54 58 32 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 |TX2,X. RTS.;.; | 00001380: 44 50 4F 4B 45 2C 20 4F 50 52 3D 3E 4C 4F 43 28 |DPOKE, OPR=>LOC(| 00001390: 53 54 4B 29 20 24 33 34 0D 44 50 4F 4B 45 20 4C |STK) $34.DPOKE L| 000013A0: 44 59 20 23 24 30 30 0D 20 4A 53 52 20 55 53 52 |DY #$00. JSR USR| 000013B0: 20 3B 53 54 4B 3D 3E 46 52 30 0D 20 4C 44 41 20 | ;STK=>FR0. LDA | 000013C0: 4F 50 4C 2C 58 0D 20 53 54 41 20 28 46 52 30 29 |OPL,X. STA (FR0)| 000013D0: 2C 59 0D 20 49 4E 59 0D 20 4C 44 41 20 4F 50 48 |,Y. INY. LDA OPH| 000013E0: 2C 58 0D 20 53 54 41 20 28 46 52 30 29 2C 59 0D |,X. STA (FR0),Y.| 000013F0: 20 52 54 53 0D 3B 0D 3B 20 20 44 50 45 45 4B 2C | RTS.;.; DPEEK,| 00001400: 20 50 45 45 4B 28 53 54 4B 29 3D 3E 53 54 4B 20 | PEEK(STK)=>STK | 00001410: 24 30 44 0D 44 50 45 45 4B 20 4C 44 59 20 23 24 |$0D.DPEEK LDY #$| 00001420: 30 30 0D 20 4A 53 52 20 55 53 52 0D 20 4C 44 41 |00. JSR USR. LDA| 00001430: 20 28 46 52 30 29 2C 59 0D 20 53 54 41 20 53 54 | (FR0),Y. STA ST| 00001440: 4C 2C 58 0D 20 49 4E 59 0D 20 4C 44 41 20 28 46 |L,X. INY. LDA (F| 00001450: 52 30 29 2C 59 0D 20 53 54 41 20 53 54 48 2C 58 |R0),Y. STA STH,X| 00001460: 0D 20 52 54 53 0D 3B 0D 3B 20 20 44 4F 4E 45 20 |. RTS.;.; DONE | 00001470: 24 30 30 0D 44 4F 4E 45 20 50 4C 41 0D 20 50 4C |$00.DONE PLA. PL| 00001480: 41 0D 20 4C 44 59 20 46 52 30 0D 20 4C 44 41 20 |A. LDY FR0. LDA | 00001490: 46 52 30 2B 31 0D 20 52 54 53 0D 3B 0D 3B 20 44 |FR0+1. RTS.;.; D| 000014A0: 49 56 49 44 45 2C 20 4F 50 52 2F 53 54 4B 3D 3E |IVIDE, OPR/STK=>| 000014B0: 4F 50 52 20 24 32 33 0D 44 49 56 20 4C 44 41 20 |OPR $23.DIV LDA | 000014C0: 23 24 30 30 0D 20 53 54 41 20 46 4C 41 47 0D 20 |#$00. STA FLAG. | 000014D0: 4A 53 52 20 44 49 56 38 0D 20 44 45 58 0D 20 44 |JSR DIV8. DEX. D| 000014E0: 45 58 0D 20 4A 53 52 20 44 49 56 38 0D 20 49 4E |EX. JSR DIV8. IN| 000014F0: 58 0D 20 49 4E 58 0D 20 4C 44 41 20 23 24 30 30 |X. INX. LDA #$00| 00001500: 0D 20 53 54 41 20 53 54 58 33 2C 58 0D 20 53 54 |. STA STX3,X. ST| 00001510: 41 20 53 54 58 34 2C 58 0D 20 53 54 41 20 53 54 |A STX4,X. STA ST| 00001520: 58 31 2C 58 0D 20 53 54 41 20 53 54 58 32 2C 58 |X1,X. STA STX2,X| 00001530: 0D 20 4C 44 59 20 23 24 31 30 20 3B 20 31 36 20 |. LDY #$10 ; 16 | 00001540: 42 49 54 53 0D 44 49 56 31 20 41 53 4C 20 53 54 |BITS.DIV1 ASL ST| 00001550: 58 33 2C 58 0D 20 52 4F 4C 20 53 54 58 34 2C 58 |X3,X. ROL STX4,X| 00001560: 0D 20 41 53 4C 20 4F 50 4C 2C 58 0D 20 52 4F 4C |. ASL OPL,X. ROL| 00001570: 20 4F 50 48 2C 58 0D 20 52 4F 4C 20 53 54 58 31 | OPH,X. ROL STX1| 00001580: 2C 58 0D 20 52 4F 4C 20 53 54 58 32 2C 58 0D 20 |,X. ROL STX2,X. | 00001590: 53 45 43 0D 20 4C 44 41 20 53 54 58 31 2C 58 0D |SEC. LDA STX1,X.| 000015A0: 20 53 42 43 20 53 54 4C 2C 58 0D 20 53 54 41 20 | SBC STL,X. STA | 000015B0: 54 4D 50 31 20 3B 20 52 45 4D 41 49 4E 44 45 52 |TMP1 ; REMAINDER| 000015C0: 0D 20 4C 44 41 20 53 54 58 32 2C 58 0D 20 53 42 |. LDA STX2,X. SB| 000015D0: 43 20 53 54 48 2C 58 0D 20 53 54 41 20 54 4D 50 |C STH,X. STA TMP| 000015E0: 32 0D 20 42 43 43 20 44 49 56 32 0D 20 49 4E 43 |2. BCC DIV2. INC| 000015F0: 20 53 54 58 33 2C 58 20 3B 20 52 45 53 55 4C 54 | STX3,X ; RESULT| 00001600: 0D 20 4C 44 41 20 54 4D 50 31 20 3B 20 52 45 4D |. LDA TMP1 ; REM| 00001610: 20 3D 3E 20 44 49 56 0D 20 53 54 41 20 53 54 58 | => DIV. STA STX| 00001620: 31 2C 58 0D 20 4C 44 41 20 54 4D 50 32 0D 20 53 |1,X. LDA TMP2. S| 00001630: 54 41 20 53 54 58 32 2C 58 0D 44 49 56 32 20 44 |TA STX2,X.DIV2 D| 00001640: 45 59 0D 20 42 4E 45 20 44 49 56 31 0D 20 4C 44 |EY. BNE DIV1. LD| 00001650: 41 20 53 54 58 34 2C 58 20 3B 20 52 45 53 55 4C |A STX4,X ; RESUL| 00001660: 54 20 3D 3E 20 4F 50 52 0D 20 53 54 41 20 53 54 |T => OPR. STA ST| 00001670: 48 2C 58 0D 20 4C 44 41 20 53 54 58 33 2C 58 0D |H,X. LDA STX3,X.| 00001680: 20 53 54 41 20 53 54 4C 2C 58 0D 20 4C 44 41 20 | STA STL,X. LDA | 00001690: 46 4C 41 47 0D 20 42 45 51 20 44 49 56 33 0D 20 |FLAG. BEQ DIV3. | 000016A0: 4A 53 52 20 4E 45 47 0D 44 49 56 33 20 4A 4D 50 |JSR NEG.DIV3 JMP| 000016B0: 20 50 55 4E 43 48 0D 3B 0D 44 49 56 38 20 4C 44 | PUNCH.;.DIV8 LD| 000016C0: 41 20 53 54 48 2C 58 0D 20 42 50 4C 20 44 49 56 |A STH,X. BPL DIV| 000016D0: 39 0D 20 4A 53 52 20 4E 45 47 0D 20 4C 44 41 20 |9. JSR NEG. LDA | 000016E0: 23 24 30 31 0D 20 45 4F 52 20 46 4C 41 47 0D 20 |#$01. EOR FLAG. | 000016F0: 53 54 41 20 46 4C 41 47 0D 44 49 56 39 20 52 54 |STA FLAG.DIV9 RT| 00001700: 53 0D 3B 0D 3B 20 20 46 4F 52 2C 20 4F 50 52 3D |S.;.; FOR, OPR=| 00001710: 3E 56 41 52 28 59 29 2C 53 54 4B 3D 3E 4C 49 4D |>VAR(Y),STK=>LIM| 00001720: 20 24 37 30 0D 46 4F 52 20 44 45 58 0D 20 44 45 | $70.FOR DEX. DE| 00001730: 58 0D 20 54 59 41 20 3B 20 56 41 52 20 49 4E 44 |X. TYA ; VAR IND| 00001740: 45 58 0D 20 41 53 4C 20 41 0D 20 54 41 59 0D 20 |EX. ASL A. TAY. | 00001750: 4A 53 52 20 53 54 4F 52 45 20 3B 20 4F 50 52 3D |JSR STORE ; OPR=| 00001760: 3E 56 41 52 28 58 29 0D 20 53 54 59 20 59 53 41 |>VAR(X). STY YSA| 00001770: 56 45 0D 20 4C 44 59 20 46 4F 52 50 20 3B 20 46 |VE. LDY FORP ; F| 00001780: 4F 52 20 50 4E 54 52 0D 20 4C 44 41 20 53 54 58 |OR PNTR. LDA STX| 00001790: 31 2C 58 20 3B 20 53 41 56 45 20 4C 49 4D 0D 20 |1,X ; SAVE LIM. | 000017A0: 53 54 41 20 46 4C 4D 4C 2C 59 0D 20 4C 44 41 20 |STA FLML,Y. LDA | 000017B0: 53 54 58 32 2C 58 0D 20 53 54 41 20 46 4C 4D 48 |STX2,X. STA FLMH| 000017C0: 2C 59 0D 20 4C 44 41 20 50 43 4E 54 20 3B 20 53 |,Y. LDA PCNT ; S| 000017D0: 41 56 45 20 50 43 0D 20 53 54 41 20 46 50 43 4C |AVE PC. STA FPCL| 000017E0: 2C 59 0D 20 4C 44 41 20 50 43 4E 54 2B 31 0D 20 |,Y. LDA PCNT+1. | 000017F0: 53 54 41 20 46 50 43 48 2C 59 0D 20 4C 44 41 20 |STA FPCH,Y. LDA | 00001800: 59 53 41 56 45 20 3B 20 53 41 56 45 20 56 41 52 |YSAVE ; SAVE VAR| 00001810: 23 0D 20 53 54 41 20 46 56 41 52 2C 59 0D 20 49 |#. STA FVAR,Y. I| 00001820: 4E 59 20 3B 20 4E 45 58 54 20 46 53 54 41 43 4B |NY ; NEXT FSTACK| 00001830: 0D 20 49 4E 59 0D 20 49 4E 59 0D 20 49 4E 59 0D |. INY. INY. INY.| 00001840: 20 49 4E 59 0D 20 53 54 59 20 46 4F 52 50 0D 20 | INY. STY FORP. | 00001850: 49 4E 58 0D 20 49 4E 58 0D 20 52 54 53 0D 3B 0D |INX. INX. RTS.;.| 00001860: 3B 20 20 4E 45 58 54 2C 20 28 59 29 20 24 34 30 |; NEXT, (Y) $40| 00001870: 0D 4E 45 58 54 20 53 54 59 20 59 53 41 56 45 0D |.NEXT STY YSAVE.| 00001880: 20 41 53 4C 20 59 53 41 56 45 20 3B 20 56 41 52 | ASL YSAVE ; VAR| 00001890: 20 49 4E 44 45 58 0D 20 53 54 58 20 58 53 41 56 | INDEX. STX XSAV| 000018A0: 45 0D 20 4C 44 59 20 46 4F 52 50 0D 20 53 54 59 |E. LDY FORP. STY| 000018B0: 20 46 53 41 56 45 0D 4E 58 54 31 20 44 45 59 0D | FSAVE.NXT1 DEY.| 000018C0: 20 44 45 59 0D 20 44 45 59 0D 20 44 45 59 0D 20 | DEY. DEY. DEY. | 000018D0: 44 45 59 0D 20 53 54 59 20 46 4F 52 50 0D 20 42 |DEY. STY FORP. B| 000018E0: 4D 49 20 4E 58 54 39 20 3B 20 45 52 52 4F 52 0D |MI NXT9 ; ERROR.| 000018F0: 20 4C 44 41 20 46 56 41 52 2C 59 20 3B 20 46 49 | LDA FVAR,Y ; FI| 00001900: 4E 44 20 46 4F 52 20 45 4E 54 52 59 0D 20 43 4D |ND FOR ENTRY. CM| 00001910: 50 20 59 53 41 56 45 0D 20 42 4E 45 20 4E 58 54 |P YSAVE. BNE NXT| 00001920: 31 0D 20 4C 44 58 20 59 53 41 56 45 0D 20 49 4E |1. LDX YSAVE. IN| 00001930: 43 20 56 41 52 4C 2C 58 0D 20 42 4E 45 20 4E 58 |C VARL,X. BNE NX| 00001940: 54 32 0D 20 49 4E 43 20 56 41 52 48 2C 58 0D 4E |T2. INC VARH,X.N| 00001950: 58 54 32 20 53 45 43 0D 20 4C 44 41 20 46 4C 4D |XT2 SEC. LDA FLM| 00001960: 4C 2C 59 0D 20 53 42 43 20 56 41 52 4C 2C 58 0D |L,Y. SBC VARL,X.| 00001970: 20 4C 44 41 20 46 4C 4D 48 2C 59 0D 20 53 42 43 | LDA FLMH,Y. SBC| 00001980: 20 56 41 52 48 2C 58 0D 20 42 4D 49 20 4E 58 54 | VARH,X. BMI NXT| 00001990: 39 0D 20 4C 44 41 20 46 50 43 4C 2C 59 20 3B 20 |9. LDA FPCL,Y ; | 000019A0: 47 4F 20 42 41 43 4B 0D 20 53 54 41 20 50 43 4E |GO BACK. STA PCN| 000019B0: 54 0D 20 4C 44 41 20 46 50 43 48 2C 59 0D 20 53 |T. LDA FPCH,Y. S| 000019C0: 54 41 20 50 43 4E 54 2B 31 0D 20 4C 44 59 20 46 |TA PCNT+1. LDY F| 000019D0: 53 41 56 45 0D 20 53 54 59 20 46 4F 52 50 0D 4E |SAVE. STY FORP.N| 000019E0: 58 54 39 20 4C 44 58 20 58 53 41 56 45 0D 20 52 |XT9 LDX XSAVE. R| 000019F0: 54 53 0D 3B 0D 3B 20 20 47 4F 54 4F 2C 20 59 20 |TS.;.; GOTO, Y | 00001A00: 24 34 42 0D 47 4F 54 4F 20 53 54 59 20 59 53 41 |$4B.GOTO STY YSA| 00001A10: 56 45 0D 20 4A 4D 50 20 47 4F 53 55 42 30 0D 3B |VE. JMP GOSUB0.;| 00001A20: 0D 3B 20 20 47 4F 53 55 42 2C 20 50 43 2B 59 20 |.; GOSUB, PC+Y | 00001A30: 24 34 34 0D 47 4F 53 55 42 20 53 54 59 20 59 53 |$44.GOSUB STY YS| 00001A40: 41 56 45 0D 20 4C 44 59 20 47 4F 50 0D 20 4C 44 |AVE. LDY GOP. LD| 00001A50: 41 20 50 43 4E 54 0D 20 53 54 41 20 47 50 43 4C |A PCNT. STA GPCL| 00001A60: 2C 59 0D 20 4C 44 41 20 50 43 4E 54 2B 31 0D 20 |,Y. LDA PCNT+1. | 00001A70: 53 54 41 20 47 50 43 48 2C 59 0D 20 44 45 59 0D |STA GPCH,Y. DEY.| 00001A80: 20 44 45 59 0D 20 53 54 59 20 47 4F 50 0D 47 4F | DEY. STY GOP.GO| 00001A90: 53 55 42 30 20 4C 44 59 20 59 53 41 56 45 0D 20 |SUB0 LDY YSAVE. | 00001AA0: 4C 44 41 20 4A 4D 50 48 49 2C 59 0D 20 42 45 51 |LDA JMPHI,Y. BEQ| 00001AB0: 20 47 4F 53 55 42 33 0D 20 53 54 41 20 50 43 4E | GOSUB3. STA PCN| 00001AC0: 54 2B 31 0D 20 4C 44 41 20 4A 4D 50 4C 4F 2C 59 |T+1. LDA JMPLO,Y| 00001AD0: 0D 20 53 54 41 20 50 43 4E 54 0D 20 52 54 53 0D |. STA PCNT. RTS.| 00001AE0: 3B 0D 47 4F 53 55 42 33 20 4C 44 41 20 50 43 53 |;.GOSUB3 LDA PCS| 00001AF0: 56 45 0D 20 53 54 41 20 50 43 4E 54 0D 20 4C 44 |VE. STA PCNT. LD| 00001B00: 41 20 50 43 53 56 45 2B 31 0D 20 53 54 41 20 50 |A PCSVE+1. STA P| 00001B10: 43 4E 54 2B 31 0D 20 4C 44 59 20 23 30 0D 47 4F |CNT+1. LDY #0.GO| 00001B20: 53 55 42 31 20 4A 53 52 20 53 43 41 4E 0D 20 43 |SUB1 JSR SCAN. C| 00001B30: 4D 50 20 23 24 34 35 20 3B 20 53 42 52 3F 0D 20 |MP #$45 ; SBR?. | 00001B40: 42 4E 45 20 47 4F 53 55 42 31 0D 20 4A 53 52 20 |BNE GOSUB1. JSR | 00001B50: 49 4E 43 50 43 0D 20 4C 44 41 20 28 50 43 4E 54 |INCPC. LDA (PCNT| 00001B60: 29 2C 59 0D 20 43 4D 50 20 59 53 41 56 45 0D 20 |),Y. CMP YSAVE. | 00001B70: 42 45 51 20 47 4F 53 55 42 32 0D 20 4A 53 52 20 |BEQ GOSUB2. JSR | 00001B80: 49 4E 43 50 43 0D 20 4A 4D 50 20 47 4F 53 55 42 |INCPC. JMP GOSUB| 00001B90: 31 0D 47 4F 53 55 42 32 20 4C 44 59 20 59 53 41 |1.GOSUB2 LDY YSA| 00001BA0: 56 45 0D 20 4C 44 41 20 50 43 4E 54 0D 20 53 54 |VE. LDA PCNT. ST| 00001BB0: 41 20 4A 4D 50 4C 4F 2C 59 0D 20 4C 44 41 20 50 |A JMPLO,Y. LDA P| 00001BC0: 43 4E 54 2B 31 0D 20 53 54 41 20 4A 4D 50 48 49 |CNT+1. STA JMPHI| 00001BD0: 2C 59 0D 20 52 54 53 0D 3B 0D 3B 20 20 52 45 54 |,Y. RTS.;.; RET| 00001BE0: 55 52 4E 2C 20 24 30 31 0D 52 45 54 55 52 4E 20 |URN, $01.RETURN | 00001BF0: 4C 44 59 20 47 4F 50 0D 20 49 4E 59 0D 20 49 4E |LDY GOP. INY. IN| 00001C00: 59 0D 20 4C 44 41 20 47 50 43 4C 2C 59 0D 20 53 |Y. LDA GPCL,Y. S| 00001C10: 54 41 20 50 43 4E 54 0D 20 4C 44 41 20 47 50 43 |TA PCNT. LDA GPC| 00001C20: 48 2C 59 0D 20 53 54 41 20 50 43 4E 54 2B 31 0D |H,Y. STA PCNT+1.| 00001C30: 20 53 54 59 20 47 4F 50 0D 20 52 54 53 0D 3B 0D | STY GOP. RTS.;.| 00001C40: 3B 20 20 55 53 52 2C 20 53 54 4B 3D 3E 46 52 30 |; USR, STK=>FR0| 00001C50: 20 24 32 45 0D 55 53 52 20 4C 44 41 20 53 54 4C | $2E.USR LDA STL| 00001C60: 2C 58 0D 20 53 54 41 20 46 52 30 0D 20 4C 44 41 |,X. STA FR0. LDA| 00001C70: 20 53 54 48 2C 58 0D 20 53 54 41 20 46 52 30 2B | STH,X. STA FR0+| 00001C80: 31 0D 20 52 54 53 0D 3B 0D 3B 0D 3B 20 20 50 52 |1. RTS.;.;.; PR| 00001C90: 49 4E 54 20 2B 2F 2D 2C 20 53 54 4B 20 59 3D 23 |INT +/-, STK Y=#| 00001CA0: 42 4C 41 4E 4B 53 20 24 36 32 0D 3B 0D 3B 20 49 |BLANKS $62.;.; I| 00001CB0: 46 2C 20 53 47 4E 28 4F 50 52 2D 53 54 4B 29 3D |F, SGN(OPR-STK)=| 00001CC0: 59 20 24 37 31 0D 49 46 20 53 54 59 20 59 53 41 |Y $71.IF STY YSA| 00001CD0: 56 45 0D 20 4A 53 52 20 53 55 42 0D 20 44 45 58 |VE. JSR SUB. DEX| 00001CE0: 0D 20 44 45 58 0D 20 4A 53 52 20 53 47 4E 0D 20 |. DEX. JSR SGN. | 00001CF0: 49 4E 58 0D 20 49 4E 58 0D 20 4C 44 41 20 4F 50 |INX. INX. LDA OP| 00001D00: 4C 2C 58 0D 49 46 39 20 43 4D 50 20 59 53 41 56 |L,X.IF9 CMP YSAV| 00001D10: 45 0D 20 42 45 51 20 45 45 45 49 46 20 3B 20 54 |E. BEQ EEEIF ; T| 00001D20: 52 55 45 0D 45 4C 53 45 20 4C 44 59 20 23 24 30 |RUE.ELSE LDY #$0| 00001D30: 30 20 3B 45 4C 53 2C 20 24 37 42 0D 20 53 54 59 |0 ;ELS, $7B. STY| 00001D40: 20 4C 45 56 45 4C 0D 49 46 31 20 4A 53 52 20 53 | LEVEL.IF1 JSR S| 00001D50: 43 41 4E 20 3B 20 46 49 4E 44 20 45 4E 44 49 46 |CAN ; FIND ENDIF| 00001D60: 0D 20 43 4D 50 20 23 24 37 44 0D 20 42 45 51 20 |. CMP #$7D. BEQ | 00001D70: 45 49 46 0D 20 43 4D 50 20 23 24 37 43 20 3B 20 |EIF. CMP #$7C ; | 00001D80: 4F 52 20 53 55 50 45 52 20 45 49 46 0D 20 42 45 |OR SUPER EIF. BE| 00001D90: 51 20 45 45 45 49 46 0D 20 43 4D 50 20 23 24 37 |Q EEEIF. CMP #$7| 00001DA0: 42 20 3B 20 4F 52 20 45 4C 53 45 0D 20 42 4E 45 |B ; OR ELSE. BNE| 00001DB0: 20 49 46 32 0D 20 4C 44 41 20 4C 45 56 45 4C 0D | IF2. LDA LEVEL.| 00001DC0: 20 42 4E 45 20 49 46 31 0D 20 42 45 51 20 45 45 | BNE IF1. BEQ EE| 00001DD0: 45 49 46 0D 49 46 32 20 43 4D 50 20 23 24 32 35 |EIF.IF2 CMP #$25| 00001DE0: 20 3B 20 49 46 54 0D 20 42 45 51 20 49 46 33 0D | ; IFT. BEQ IF3.| 00001DF0: 20 43 4D 50 20 23 24 32 36 20 3B 20 49 46 46 0D | CMP #$26 ; IFF.| 00001E00: 20 42 45 51 20 49 46 33 0D 20 43 4D 50 20 23 24 | BEQ IF3. CMP #$| 00001E10: 36 31 20 3B 20 49 46 30 0D 20 42 45 51 20 49 46 |61 ; IF0. BEQ IF| 00001E20: 33 0D 20 43 4D 50 20 23 24 37 31 20 3B 20 49 46 |3. CMP #$71 ; IF| 00001E30: 0D 20 42 4E 45 20 49 46 31 0D 49 46 33 20 49 4E |. BNE IF1.IF3 IN| 00001E40: 43 20 4C 45 56 45 4C 20 3B 20 50 52 4F 43 45 53 |C LEVEL ; PROCES| 00001E50: 53 20 49 46 0D 20 42 4E 45 20 49 46 31 20 3B 20 |S IF. BNE IF1 ; | 00001E60: 41 4C 57 41 59 53 20 42 52 41 4E 43 48 45 53 0D |ALWAYS BRANCHES.| 00001E70: 45 49 46 20 44 45 43 20 4C 45 56 45 4C 20 3B 20 |EIF DEC LEVEL ; | 00001E80: 50 52 4F 43 45 53 53 20 45 49 46 53 0D 20 42 50 |PROCESS EIFS. BP| 00001E90: 4C 20 49 46 31 20 3B 20 41 4C 57 41 59 53 20 42 |L IF1 ; ALWAYS B| 00001EA0: 52 41 4E 43 48 45 53 0D 50 52 4F 54 45 43 20 20 |RANCHES.PROTEC | 00001EB0: 20 3B 20 24 34 44 0D 45 45 45 49 46 20 20 20 20 | ; $4D.EEEIF | 00001EC0: 3B 20 53 55 50 45 52 20 45 4E 44 49 46 20 24 37 |; SUPER ENDIF $7| 00001ED0: 43 0D 53 42 52 20 20 20 20 20 20 3B 20 4C 41 42 |C.SBR ; LAB| 00001EE0: 45 4C 20 4F 50 20 24 34 35 0D 45 4E 44 49 46 20 |EL OP $45.ENDIF | 00001EF0: 52 54 53 20 3B 20 45 4E 44 49 46 20 24 37 44 0D |RTS ; ENDIF $7D.| 00001F00: 3B 0D 3B 20 20 49 46 54 2C 20 53 47 4E 28 53 54 |;.; IFT, SGN(ST| 00001F10: 4B 29 3D 31 20 24 32 35 0D 49 46 54 20 4C 44 59 |K)=1 $25.IFT LDY| 00001F20: 20 23 24 30 31 0D 3B 0D 3B 20 20 49 46 30 2C 20 | #$01.;.; IF0, | 00001F30: 53 47 4E 28 53 54 4B 29 3D 59 20 24 36 31 0D 49 |SGN(STK)=Y $61.I| 00001F40: 46 30 20 53 54 59 20 59 53 41 56 45 0D 20 4A 53 |F0 STY YSAVE. JS| 00001F50: 52 20 53 47 4E 0D 20 4C 44 41 20 53 54 4C 2C 58 |R SGN. LDA STL,X| 00001F60: 0D 20 4A 4D 50 20 49 46 39 0D 3B 0D 3B 20 20 49 |. JMP IF9.;.; I| 00001F70: 46 46 2C 20 53 47 4E 28 53 54 4B 29 3D 30 20 24 |FF, SGN(STK)=0 $| 00001F80: 32 36 0D 49 46 46 20 4C 44 59 20 23 24 30 30 0D |26.IFF LDY #$00.| 00001F90: 20 4A 4D 50 20 49 46 30 0D 3B 0D 53 43 41 4E 20 | JMP IF0.;.SCAN | 00001FA0: 4C 44 41 20 28 50 43 4E 54 29 2C 59 20 3B 59 20 |LDA (PCNT),Y ;Y | 00001FB0: 4D 55 53 54 3D 30 0D 20 43 4D 50 20 23 24 37 41 |MUST=0. CMP #$7A| 00001FC0: 0D 20 42 43 53 20 53 43 41 4E 33 0D 20 43 4D 50 |. BCS SCAN3. CMP| 00001FD0: 20 23 24 34 30 0D 20 42 43 43 20 53 43 41 4E 33 | #$40. BCC SCAN3| 00001FE0: 0D 20 43 4D 50 20 23 24 35 31 20 3B 4B 31 36 0D |. CMP #$51 ;K16.| 00001FF0: 20 42 45 51 20 53 43 41 4E 34 0D 53 43 41 4E 31 | BEQ SCAN4.SCAN1| 00002000: 20 43 4D 50 20 23 24 34 36 20 3B 20 54 58 54 0D | CMP #$46 ; TXT.| 00002010: 20 42 4E 45 20 53 43 41 4E 32 0D 53 43 41 4E 34 | BNE SCAN2.SCAN4| 00002020: 20 4A 53 52 20 49 4E 43 50 43 0D 53 43 41 4E 32 | JSR INCPC.SCAN2| 00002030: 20 4A 53 52 20 49 4E 43 50 43 0D 53 43 41 4E 33 | JSR INCPC.SCAN3| 00002040: 20 4A 53 52 20 49 4E 43 50 43 0D 20 4C 44 41 20 | JSR INCPC. LDA | 00002050: 28 50 43 4E 54 29 2C 59 0D 20 52 54 53 0D 3B 0D |(PCNT),Y. RTS.;.| 00002060: 3B 20 50 4F 53 54 58 54 2C 20 59 2C 59 3D 43 52 |; POSTXT, Y,Y=CR| 00002070: 58 2C 43 52 59 20 24 34 36 0D 54 50 4F 53 20 53 |X,CRY $46.TPOS S| 00002080: 54 59 20 43 4F 4C 43 52 53 20 3B 20 43 52 58 0D |TY COLCRS ; CRX.| 00002090: 20 4A 53 52 20 49 4E 43 50 43 0D 20 4C 44 59 20 | JSR INCPC. LDY | 000020A0: 23 30 30 0D 20 4C 44 41 20 28 50 43 4E 54 29 2C |#00. LDA (PCNT),| 000020B0: 59 0D 20 53 54 41 20 52 4F 57 43 52 53 20 3B 20 |Y. STA ROWCRS ; | 000020C0: 43 52 59 0D 20 52 54 53 0D 3B 0D 3B 20 53 57 41 |CRY. RTS.;.; SWA| 000020D0: 50 2C 20 4F 50 52 3D 3E 53 54 4B 2C 20 53 54 4B |P, OPR=>STK, STK| 000020E0: 3D 3E 4F 50 52 20 24 30 45 0D 53 57 41 50 20 4C |=>OPR $0E.SWAP L| 000020F0: 44 59 20 4F 50 4C 2C 58 0D 20 4C 44 41 20 53 54 |DY OPL,X. LDA ST| 00002100: 4C 2C 58 0D 20 53 54 41 20 4F 50 4C 2C 58 0D 20 |L,X. STA OPL,X. | 00002110: 54 59 41 0D 20 53 54 41 20 53 54 4C 2C 58 0D 20 |TYA. STA STL,X. | 00002120: 4C 44 59 20 4F 50 48 2C 58 0D 20 4C 44 41 20 53 |LDY OPH,X. LDA S| 00002130: 54 48 2C 58 0D 20 53 54 41 20 4F 50 48 2C 58 0D |TH,X. STA OPH,X.| 00002140: 20 54 59 41 0D 20 53 54 41 20 53 54 48 2C 58 0D | TYA. STA STH,X.| 00002150: 20 52 54 53 0D 3B 0D 3B 20 20 41 4E 44 2C 20 53 | RTS.;.; AND, S| 00002160: 54 4B 26 59 3D 3E 53 54 4B 20 24 34 38 0D 4C 41 |TK&Y=>STK $48.LA| 00002170: 4E 44 20 54 59 41 0D 20 41 4E 44 20 53 54 4C 2C |ND TYA. AND STL,| 00002180: 58 0D 20 53 54 41 20 53 54 4C 2C 58 0D 20 4C 44 |X. STA STL,X. LD| 00002190: 41 20 23 24 30 30 0D 20 53 54 41 20 53 54 48 2C |A #$00. STA STH,| 000021A0: 58 0D 20 52 54 53 0D 3B 0D 3B 20 41 4E 44 32 2C |X. RTS.;.; AND2,| 000021B0: 20 53 54 4B 26 4F 50 52 3D 3E 4F 50 52 2C 20 24 | STK&OPR=>OPR, $| 000021C0: 32 41 0D 4C 41 4E 44 32 20 4C 44 41 20 53 54 4C |2A.LAND2 LDA STL| 000021D0: 2C 58 0D 20 41 4E 44 20 4F 50 4C 2C 58 0D 20 53 |,X. AND OPL,X. S| 000021E0: 54 41 20 4F 50 4C 2C 58 0D 20 4C 44 41 20 53 54 |TA OPL,X. LDA ST| 000021F0: 48 2C 58 0D 20 41 4E 44 20 4F 50 48 2C 58 0D 20 |H,X. AND OPH,X. | 00002200: 53 54 41 20 4F 50 48 2C 58 0D 20 52 54 53 0D 3B |STA OPH,X. RTS.;| 00002210: 0D 3B 20 20 4F 52 2C 20 53 54 4B 5E 59 3D 3E 53 |.; OR, STK^Y=>S| 00002220: 54 4B 20 24 34 39 0D 4C 4F 52 20 54 59 41 0D 20 |TK $49.LOR TYA. | 00002230: 4F 52 41 20 53 54 4C 2C 58 0D 20 53 54 41 20 53 |ORA STL,X. STA S| 00002240: 54 4C 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 20 58 |TL,X. RTS.;.; X| 00002250: 4F 52 2C 20 53 54 4B 20 58 4F 52 20 59 3D 3E 53 |OR, STK XOR Y=>S| 00002260: 54 4B 20 24 34 41 0D 4C 58 4F 52 20 54 59 41 0D |TK $4A.LXOR TYA.| 00002270: 20 45 4F 52 20 53 54 4C 2C 58 0D 20 53 54 41 20 | EOR STL,X. STA | 00002280: 53 54 4C 2C 58 0D 20 52 54 53 0D 3B 0D 3B 20 43 |STL,X. RTS.;.; C| 00002290: 4C 52 2C 20 43 4C 45 41 52 20 53 54 41 43 4B 20 |LR, CLEAR STACK | 000022A0: 24 37 45 0D 43 4C 52 20 4C 44 58 20 23 24 46 45 |$7E.CLR LDX #$FE| 000022B0: 0D 20 52 54 53 0D 3B 0D 3B 20 52 55 4E 2C 20 53 |. RTS.;.; RUN, S| 000022C0: 54 41 52 54 20 4F 56 45 52 20 24 37 46 0D 52 55 |TART OVER $7F.RU| 000022D0: 4E 20 4C 44 41 20 50 43 53 56 45 2B 31 0D 20 53 |N LDA PCSVE+1. S| 000022E0: 54 41 20 50 43 4E 54 2B 31 0D 20 4C 44 41 20 50 |TA PCNT+1. LDA P| 000022F0: 43 53 56 45 0D 20 53 54 41 20 50 43 4E 54 0D 52 |CSVE. STA PCNT.R| 00002300: 55 4E 31 20 4C 44 58 20 23 24 37 38 0D 20 53 54 |UN1 LDX #$78. ST| 00002310: 58 20 47 4F 50 0D 20 53 54 58 20 56 4C 49 4D 0D |X GOP. STX VLIM.| 00002320: 20 4C 44 58 20 23 24 30 30 0D 20 53 54 58 20 56 | LDX #$00. STX V| 00002330: 50 4C 55 53 0D 20 53 54 58 20 46 4F 52 50 0D 20 |PLUS. STX FORP. | 00002340: 44 45 58 0D 20 44 45 58 0D 20 52 54 53 0D 3B 0D |DEX. DEX. RTS.;.| 00002350: 20 2E 45 4E 44 0D | .END. |
DA STH,X. STA VARH,Y. RTS.;.; OFFSET, ST K=>VPLUS Y=>VLIM $60.OFFSET TYA. ASL A. STA VLIM. LDA STL,X. ASL A. STA VPLUS. R TS.;.; ADD, STK+OPR=>OPR $20.ADD CLC. L DA STL,X. ADC OPL,X. STA OPL,X. LDA STH, X. ADC OPH,X. STA OPH,X. RTS.;.; SUB, O PR-STK=>OPR $21.SUB SEC. LDA OPL,X. SBC STL,X. STA OPL,X. LDA OPH,X. SBC STH,X. STA OPH,X. RTS.;.; MULT, STK*OPR=>OPR $ 22.; 16 BIT PRECISION.MULT LDY #$10.M2 L DA #$00. STA STX2,X. STA STX1,X.MULT2 LD A 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.MULT4 ROR STX2,X. ROR STX1,X. ROR STH,X. ROR STL,X . DEY. BNE MULT2.PUNCH LDA STL,X. STA OP L,X. LDA STH,X. STA OPH,X. RTS.;.; SHIF T RIGHT, STK/(2^Y)=>STK $41.SHIFTR LDA S TH,X. ROL A. ROR STH,X. ROR STL,X. DEY. BNE SHIFTR. RTS.;.; SHIFT RIGHT POSITIVE , $4C.SHR0 = *. LSR STH,X. ROR STL,X. DE Y. BNE SHR0. RTS.;.; SHIFT LEFT, STK*(2 ^Y)=STK $42.SHIFTL = *. ASL STL,X. ROL S TH,X. DEY. BNE SHIFTL. RTS.;.; NEGATE, - STK=>STK $02.NEG SEC. LDA #$0. SBC STL,X . STA STL,X. LDA #$0. SBC STH,X. STA STH ,X. RTS.;.NEGOPR SEC. LDA #0. SBC OPL,X. STA OPL,X. LDA #$0. SBC OPH,X. STA OPH, X. RTS.;.; BIT, FIRST BIT SET, $5E.;BIT X LDY #0.; TYA.; STA STH,X.;BIT1 LSR STL ,X.; BCS BIT2.; INY.; CPY #8.; BMI BIT1. ;BIT2 TYA.; STA STL,X.; RTS.;.; CALL, AS M SUBROUTINE; Y=PUSH FLAG.CALL DEY ; TES T FOR ARG. BMI CALL1. LDA STL,X. STA $80 00. LDA STH,X. STA $8001. DEX. DEX.CALL1 = *. LDA STL,X. BNE CALL2. DEC STH,X.CA LL2 LDA STH,X. PHA. LDY STL,X. DEY. TYA. PHA. RTS.;.; CONSTANT-8 BITS, Y=>STK 0 -255 $52.CONP LDA #0. INX. INX. STA STH, X. TYA. STA STL,X. DEX. DEX. RTS.;.; CO NSTANT-8 BITS, Y=>STK 127/-128 $50.CON I NX. INX. JSR CON0. DEX. DEX.POP RTS ; PO P, $2B.;.CON0 LDA #$00. STA STH,X. TYA. BPL CON1. DEC STH,X ; NEGATIVE CONST.CO N1 STA STL,X ;$00 OR $FF. RTS.;.; CONSTA NT-16 BITS, Y,A=>STK $51.CON16 TYA. INX. INX. STA STL,X. JSR INCPC. LDY #$00. LD A (PCNT),Y. STA STH,X. DEX. DEX. RTS.;.; .;.; SPRITE COMMANDS.;.BMASK .BYTE $FE,$ 01,$FD,$02,$FB,$04,$F7,$08. .BYTE $EF,$1 0,$DF,$20,$BF,$40,$7F,$80. .BYTE $FE,$01 ,$FD,$02,$FB,$04,$F7,$08. .BYTE $FE,$01, $FD,$02,$FB,$04,$F7,$08. .BYTE $EF,$10,$ DF,$20,$BF,$40,$7F,$80. .BYTE $FE,$01,$F D,$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, STK => S PREGX [Y]( OR [VAR[Y]] ).;.SPRX = *. JSR SP2Y ; GET SPRITE NUMBER OFFSET. LDA ST L,X. STA SP0X,Y ; STORE LS BYTE. LDA BMA SK+1,Y ; STORE MS BIT. PHA. LDA BMASK,Y. PHA. LDA MOFST,Y. TAY. PLA. AND MSBREG, 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, S TK => SPREGY [Y]( OR VAR).SPRY = *. JSR SP2Y. LDA STL,X. STA SP0Y,Y. RTS.;.SP2Y = *. LDA ARG ; IF ARG > 127, ARG IS SPRI TE. BMI SP2Y1. ASL A ; ELSE VAR [ARG] IS SPRITE NUMBER. TAY. LDA VARL,Y.SP2Y1 = *. ASL A. TAY. RTS.;.;.; WORD, WORD(STK) =>STK $0F.WRD LDY STL,X. JMP CON0.;.; R ND, STK*RND=>STK $08.RND INX ; FAKE STAC K. 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.R ND2 LDY #8. JSR M2 ; DO MULT. LDA STX2,X . STA OPH,X. LDA STX1,X ; NORMALIZE. ST A OPL,X. LDA TMP1. BEQ RND3. JSR NEGOPR. RND3 DEX ; RESTORE STACK. DEX. RTS.;.;.B YTX LDA #$00 ; BYTE, STK&FF=>STK $07. S TA STH,X ; 0. RTS.;.;.; ABS, ABS(STK)=> STK $09.ABS LDA STH,X. BPL ABS1. JSR NEG ; NEGATE IF NEG.ABS1 RTS.;.; SGN, SGN( STK)=>STK $0A.SGN LDA STH,X. BPL SGN1. L DY #$FF ;<0. JMP CON0.SGN1 BEQ SGN2. LDY #$01. JMP CON0 ;>0.SGN2 LDA STL,X. BNE SGN1. LDY #$00 ;=0. JMP CON0.;.; PEEK, PEEK(STK)=>STK $0B.PEEK JSR USR ;STK=>FR 0. LDA #$00. STA STH,X. LDY #$00. LDA (F R0),Y. STA STL,X. RTS.;.; POKE, OPR=>LO C(STK) $30.POKE JSR USR ;STK=>FR0. LDY # $00.POKE0 LDA OPL,X. STA (FR0),Y. RTS.;. POKEY JSR USR. LDY VARL. JMP POKE0.;.; R ANGE, VALUE, OPR=LO STK=HI $35.; POSITIV E VALUES ONLY !!.RANGE LDA OPH-2,X. BMI ORNGLO. CMP STH,X. BNE CPHI. LDA OPL-2,X . CMP STL,X.CPHI BCS ORNGHI. LDA OPH-2,X . CMP OPH,X. BNE CPLO. LDA OPL-2,X. CMP OPL,X.CPLO BCC ORNGLO. RTS.;.ORNGHI LDA STH,X. STA OPH-2,X. LDA STL,X. STA OPL-2 ,X. RTS.ORNGLO LDA OPH,X. STA OPH-2,X. L DA OPL,X. STA OPL-2,X. RTS.;.; RANGEY, VALUE, OPR=LO STK=HI $72.; POSITIVE VALU ES ONLY !!.RNGY LDA OPH-2,X. BMI ORNG. C MP STH,X. BNE CP0HI. LDA OPL-2,X. CMP ST L,X.CP0HI BCS ORNG. LDA OPH-2,X. CMP OPH ,X. BNE CP0LO. LDA OPL-2,X. CMP OPL,X.CP 0LO BCC ORNG. RTS.ORNG LDA #0. STA OPH-2 ,X. TYA. STA OPL-2,X. RTS.;.; STICK, (S TK)=>STK-X,OPR-Y $10.STICK LDY STL,X. LD A $DC00,Y. LDY #$00. ROR A. BCS ST1. LDY #$FF.ST1 ROR A. BCS ST2. LDY #$01.ST2 P HA. JSR CON0 ; DY. PLA. LDY #$00. ROR A. BCS ST3. DEY.ST3 ROR A. BCS ST4. LDY #$ 01.ST4 JMP CON ; DX.;.; STRIG, (STK)=>S TK $04.STRIG 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, STK+1=>STK $05.INCR INC STL,X. BN E INC1. INC STH,X.INC1 RTS.;.; DEC, STK -1=>STK $06.DECR LDA STL,X. BNE DEC1. DE C STH,X.DEC1 DEC STL,X. RTS.;.; DUP, ST K=>STK+2 $11.DUP LDA STL,X. STA STX1,X. LDA STH,X. STA STX2,X. RTS.;.; DPOKE, O PR=>LOC(STK) $34.DPOKE LDY #$00. JSR 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 (F R0),Y. STA STH,X. RTS.;.; DONE $00.DONE PLA. PLA. LDY FR0. LDA FR0+1. RTS.;.; D IVIDE, OPR/STK=>OPR $23.DIV LDA #$00. ST A FLAG. JSR DIV8. DEX. DEX. JSR DIV8. IN X. 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 OP L,X. ROL OPH,X. ROL STX1,X. ROL STX2,X. SEC. LDA STX1,X. SBC STL,X. STA TMP1 ; R EMAINDER. LDA STX2,X. SBC STH,X. STA TMP 2. BCC DIV2. INC STX3,X ; RESULT. LDA TM P1 ; REM => DIV. STA STX1,X. LDA TMP2. S TA STX2,X.DIV2 DEY. BNE DIV1. LDA STX4,X ; RESULT => OPR. STA STH,X. LDA STX3,X. STA STL,X. LDA FLAG. BEQ DIV3. JSR NEG. DIV3 JMP PUNCH.;.DIV8 LDA STH,X. BPL DIV 9. JSR NEG. LDA #$01. EOR FLAG. STA FLAG .DIV9 RTS.;.; FOR, OPR=>VAR(Y),STK=>LIM $70.FOR DEX. DEX. TYA ; VAR INDEX. ASL A. TAY. JSR STORE ; OPR=>VAR(X). STY YSA VE. LDY FORP ; FOR PNTR. LDA STX1,X ; SA VE 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 FVAR,Y. INY ; NEXT FSTACK. INY. I NY. INY. INY. STY FORP. INX. INX. RTS.;. ; NEXT, (Y) $40.NEXT STY YSAVE. ASL YSA VE ; VAR INDEX. STX XSAVE. LDY FORP. STY FSAVE.NXT1 DEY. DEY. DEY. DEY. DEY. STY FORP. BMI NXT9 ; ERROR. LDA FVAR,Y ; FI ND FOR ENTRY. CMP YSAVE. BNE NXT1. LDX Y SAVE. INC VARL,X. BNE NXT2. INC VARH,X.N XT2 SEC. LDA FLML,Y. SBC VARL,X. LDA FLM H,Y. SBC VARH,X. BMI NXT9. LDA FPCL,Y ; GO BACK. STA PCNT. LDA FPCH,Y. STA PCNT+ 1. LDY FSAVE. STY FORP.NXT9 LDX XSAVE. R TS.;.; GOTO, Y $4B.GOTO STY YSAVE. JMP GOSUB0.;.; GOSUB, PC+Y $44.GOSUB STY YS AVE. LDY GOP. LDA PCNT. STA GPCL,Y. LDA PCNT+1. STA GPCH,Y. DEY. DEY. STY GOP.GO SUB0 LDY YSAVE. LDA JMPHI,Y. BEQ GOSUB3. STA PCNT+1. LDA JMPLO,Y. STA PCNT. RTS. ;.GOSUB3 LDA PCSVE. STA PCNT. LDA PCSVE+ 1. STA PCNT+1. LDY #0.GOSUB1 JSR SCAN. C MP #$45 ; SBR?. BNE GOSUB1. JSR INCPC. L DA (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 LDY GOP. INY. INY. LDA GPCL,Y. STA PCNT. LDA GPC H,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. J SR SGN. INX. INX. LDA OPL,X.IF9 CMP YSAV E. 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 ELSE. BNE IF2. LDA 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 ; PROCES S IF. BNE IF1 ; ALWAYS BRANCHES.EIF DEC LEVEL ; PROCESS EIFS. BPL IF1 ; ALWAYS B RANCHES.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.I F0 STY YSAVE. JSR SGN. LDA STL,X. JMP IF 9.;.; IFF, 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 #$4 6 ; TXT. BNE SCAN2.SCAN4 JSR INCPC.SCAN2 JSR INCPC.SCAN3 JSR INCPC. LDA (PCNT),Y . RTS.;.; POSTXT, Y,Y=CRX,CRY $46.TPOS S TY COLCRS ; CRX. JSR INCPC. LDY #00. LDA (PCNT),Y. STA ROWCRS ; CRY. RTS.;.; SWA P, OPR=>STK, STK=>OPR $0E.SWAP LDY OPL,X . LDA STL,X. STA OPL,X. TYA. STA STL,X. LDY OPH,X. LDA STH,X. STA OPH,X. TYA. ST A STH,X. RTS.;.; AND, STK&Y=>STK $48.LA ND 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. ORA STL, X. STA STL,X. RTS.;.; XOR, STK XOR Y=>S TK $4A.LXOR TYA. EOR STL,X. STA STL,X. R TS.;.; CLR, CLEAR STACK $7E.CLR LDX #$FE . RTS.;.; RUN, START OVER $7F.RUN LDA PC SVE+1. STA PCNT+1. LDA PCSVE. STA PCNT.R UN1 LDX #$78. STX GOP. STX VLIM. LDX #$0 0. STX VPLUS. STX FORP. DEX. DEX. RTS.;. .END.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL