home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1989 March / Antic_Magazine_1989_03_Antic_Side_A.atr / random.m65 < prev    next >
Text File  |  2023-02-26  |  4KB  |  1 lines

  1. 10 ;RANDOM ATARI, SOURCE CODE¢20 ;BY DAVID McINTOSH¢30 ;(c)1988, ANTIC PUBLISHING¢40       *=  $6400¢50       PLA ¢60       LDA #23¢70       STA 219¢80       LDA #172¢90       STA 220¢0100     LDA #218¢0110     STA 221¢0120     LDA #126¢0130     STA 222¢0140     LDX #4¢0150 RND1¢0155     LDA 204,X¢0160     STA 212,X¢0170     DEX ¢0180     BNE RND1¢0185 ;¢0190     JSR MULT¢0200     JSR MOD231M1¢0210     LDX #4¢0220 RND2¢0225     LDA 228,X¢0230     STA 204,X¢0240     DEX ¢0250     BNE RND2¢0255 ;¢0260     JSR ROTATL¢0270     JSR BTOD¢0280     RTS ¢0285 ;¢0290     *=  1536¢0300 ;MULTIPLY FR0 BY FRE GIVING FR1¢0310 MULT¢0315     LDY #32¢0320     LDA #0¢0330     LDX #8¢0340 ML1¢0345     STA 224,X¢0350     DEX ¢0360     BNE ML1¢0365 ;¢0370 ML2¢0375     LDX #8¢0380     CLC ¢0390 R1¢0395     ROL 224,X¢0400     DEX ¢0410     BNE R1¢0415 ;¢0420     LDX #4¢0430     CLC ¢0440 R2¢0445     ROL 218,X¢0450     DEX ¢0460     BNE R2¢0465 ;¢0470     BCC ML3¢0475 ;¢0480     JSR ADDER¢0490     LDX #4¢0500 MLA¢0505     BCC ML3¢0507 ;¢0510     LDA 224,X¢0520     ADC #0¢0530     STA 224,X¢0540     DEX ¢0550     BNE MLA¢0555 ;¢0560 ML3¢0565     DEY ¢0570     BNE ML2¢0575 ;¢0580     RTS ¢0585 ;¢0590 ;ADD FR0 TO FR1¢0600 ADDER¢0605     CLC ¢0610     LDX #4¢0620 ADDR1¢0625     LDA 228,X¢0630     ADC 212,X¢0640     STA 228,X¢0650     DEX ¢0660     BNE ADDR1¢0665 ;¢0670     RTS ¢0675 ;¢0680 ;CONVERT 8 BYTES AT FR1¢0685 ;TO MOD 2^31-1¢0690 MOD231M1¢0695     LDA #0¢0700     STA 224¢0710     ASL 229¢0720     LDX #5¢0730 MOD1¢0735     ROL 223,X¢0740     DEX ¢0750     BNE MOD1¢0755 ;¢0760     LSR 229¢0770     LDY #4¢0780 MOD2¢0785     LDA 228,Y¢0790     ADC 224,Y¢0800     STA 228,Y¢0810     DEY ¢0820     BNE MOD2¢0825 ;¢0830     LDA 224¢0840     ADC #0¢0850 MOD3¢0855     STA 228¢0860     ASL 229¢0870     ROL 228¢0880     LSR 229¢0890     LDA 228¢0900     BEQ MOD5¢0905 ;¢0910     ADC 232¢0920     STA 232¢0930     LDY #3¢0940 MOD4¢0945     LDA #0¢0950     ADC 228,Y¢0960     STA 228,Y¢0970     DEY ¢0980     BNE MOD4¢0985 ;¢0990     LDA #0¢1000     BEQ MOD3¢1005 ;¢1010 MOD5¢1015     RTS ¢1017 ;¢1020 ;CONVERT BINARY TO DECIMAL¢1030 BTOD¢1035     LDY #0¢1040     LDA #63¢1050     STA (203),Y¢1060     LDA #0¢1070     INY ¢1080     STA (203),Y¢1090 BD1¢1095     JSR MOVE¢1100     JSR MUL10¢1110     LDA 228¢1120     BEQ BD2¢1125 ;¢1130     LDY #1¢1140     BNE BD6¢1145 ;¢1150 BD2¢1155     JSR MOVE¢1160     JSR MUL10¢1170     LDA 228¢1180     BEQ BD4¢1185 ;¢1190     LDY #1¢1200     BNE BD8¢1205 ;¢1210 BD4¢1215     LDY #0¢1220     LDA (203),Y¢1230     TAX ¢1240     DEX ¢1250     TXA ¢1260     STA (203),Y¢1270     BNE BD1¢1275 ;¢1280 BD5¢1285     JSR MOVE¢1290     JSR MUL10¢1300     LDA 228¢1310 BD6¢1315     ASL A¢1320     ASL A¢1330     ASL A¢1340     ASL A¢1350     STA (203),Y¢1360     JSR MOVE¢1370     JSR MUL10¢1380 BD8¢1385     LDA (203),Y¢1390     CLC ¢1400     ADC 228¢1410     STA (203),Y¢1420     INY ¢1430     CPY #6¢1440     BNE BD5¢1445 ;¢1450     RTS ¢1455 ;¢1460 ;MOVE FR1 TO FR0¢1470 MOVE¢1475     LDX #4¢1480 MV1¢1485     LDA 228,X¢1490     STA 212,X¢1500     DEX ¢1510     BNE MV1¢1515 ;¢1520     RTS ¢1525 ;¢1530 ;MULTIPLY FR0 BY 10 GIVING FR1¢1540 ;ASSUMED:  FR0 = FR1¢1550 MUL10¢1555     LDA #0¢1560     STA 228¢1570     JSR ROTATL¢1580     JSR ROTATL¢1590     JSR ADDER¢1600     LDA 228¢1610     ADC #0¢1620     STA 228¢1630 ;FALL THROUGH TO ROTATL¢1640 ;ROTATE LEFT,¢1645 ;FROM 227+1 TO 227+5¢1650 ROTATL¢1655     CLC ¢1660     LDX #5¢1670 ROTL¢1675     ROL 227,X¢1680     DEX ¢1690     BNE ROTL¢1695 ;¢1700     RTS ¢əəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəə