Home » Personal collection » Commodore disks » disk65a_programs_1.d64 » moire
moire
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Commodore disks » disk65a_programs_1.d64 |
Filename: | moire |
Read OK: | ✔ |
File size: | 0634 bytes |
Load address: | 0801 |
Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Personal collection » Commodore disks » disk65a_programs_1.d64 » moire
- Personal collection » Commodore disks » disk50a2_progs1.d64 » moire
File contents
40 S=16:B=3:C=8:SM=1024 45 POKE53272,(PEEK(53272) AND 15) OR S 50 POKE56578,PEEK(56578) OR 3 55 POKE56576,(PEEK(56576) AND 252) ORB 60 X=C*1024:H=INT(X/256):L=X-256*H 65 POKE51,L:POKE52,H 70 POKE55,L:POKE56,H 75 POKE53272,(PEEK(53272) AND 241) ORC 80 POKE53265,PEEK(53265) OR 32 85 FOR J=SM TO SM+999 90 POKEJ,1 95 NEXT 100 FOR J=X TO X+7999 105 POKE J,0 110 NEXT 111 GOTO 3000 180 POKE53265,PEEK(53265)AND223 185 POKE53272,(PEEK(53272)AND240)OR4 190 STOP 1000 BYTE=X+7687-320*INT(RB/8)-(RBAND7)+INT(CB/8)*8 1005 BIT=7-(CBAND7) 1010 POKE BYTE,PEEK(BYTE) OR 2^BIT 1015 RETURN 2000 BYTE=X+7687-320*INT(RB/8)-(RBAND7)+INT(CB/8)*8 2005 BIT=7-(CBAND7) 2010 POKE BYTE,PEEK(BYTE) AND 255-2^BIT 2015 RETURN 3000 PL=1:S=1:AX=20:BX=305:Y=15:GOSUB4000:PL=0:S=-1 3005 GOTO 3005 3010 DIMTR(1,145,2):TR(0,0,0)=20:TR(0,0,1)=305:TR(0,0,2)=15:TR=0:A=0 3020 FORT=1TOTR:AX=TR(A,T,0):BX=TR(A,T,1):Y=TR(A,T,2) 3030 AX=AX+((BX-AX)/4):BX=BX-((BX-AX)/4):Y=Y+((BX-AX)/4) 3040 TR(ABS(SGN(A-1)),T*3,0)=AX 3050 TR(ABS(SGN(A-1)),T*3,1)=BX-(BX-AX)/2 3060 TR(ABS(SGN(A-1)),T*3,2)=Y 3070 TR(ABS(SGN(A-1)),T*3+1,0)=AX+(BX-AX)/2 3080 TR(ABS(SGN(A-1)),T*3+1,1)=BX 3090 TR(ABS(SGN(A-1)),T*3+1,2)=Y 3100 TR(ABS(SGN(A-1)),T*3+2,0)=AX+(BX-AX)/4 3110 TR(ABS(SGN(TR-1)),T*3+2,1)=BX-(BX-AX)/4 3120 TR(ABS(SGN(A-1)),T*3+2,2)=Y+(BX-AX)/4 3130 AX=AX+(BX-AX)/4:BX=BX-(BX-AX)/4 3140 Y=Y+(BX-AX)/4:GOSUB4000 3150 NEXT:A=ABS(SGN(TR-1)):TR=(TR+1)*3-1 3160 IFTR>150THEN3160 3170 GOTO3020 4000 IFS=1THENX1=AX+(BX-AX)/2:Y1=Y+(BX-AX)/2 4010 IFS=-1THENX1=AX+(BX-AX)/2:Y1=Y-(BX-AX)/2 4020 Y2=Y:FORX2=AXTOBX:GOSUB5000 4030 NEXT:RETURN 5000 IFX1<>X2THENM=(Y2-Y1)/(X2-X1):C=Y1-M*X1 5010 IFABS(X2-X1)>ABS(Y2-Y1)THEN5210 5020 IFX1=X2THENRETURN 5030 FORCB=X1TOX2STEP2*SGN(X2-X1) 5040 RB=M*CB+C 5050 IFPL=1THENGOSUB1000 5055 IFPL=0THENGOSUB2000 5060 NEXT:RETURN 5210 FORRB=Y1TOY2STEPSGN(Y2-Y1) 5220 CB=X1:IFX1<>X2THENCB=(RB/C)/M 5230 IFPL=1THENGOSUB1000 5240 IFPL=0THENGOSUB2000 5250 NEXT:RETURN
( S�16:B�3:C�8:SM�1024 9- �53272,(�(53272) � 15) � S Q2 �56578,�(56578) � 3 p7 �56576,(�(56576) � 252) �B �<