Home » Personal collection » Commodore disks » disk41a_autostereo.d64 » autostereo
autostereo
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 » disk41a_autostereo.d64 |
| Filename: | autostereo |
| Read OK: | ✔ |
| File size: | 04C4 bytes |
| Load address: | 0801 |
| Exec address: | 0000 |
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 XM=C*1024:H=INT(XM/256):L=XM-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=XM TO XM+7999
105 POKE J,0
110 NEXT
129 GOSUB 2000
175 GETK$:IFK$<>" "THEN175
180 POKE53265,PEEK(53265) AND 223
185 POKE53272,(PEEK(53272) AND 240) OR4
190 STOP
1000 BYTE=XM+7687-320*INT(R/8)-(RAND7)+INT(C/8)*8
1005 BIT=7-(CAND7)
1010 POKE BYTE,PEEK(BYTE) OR 2^BIT
1015 RETURN
2000 WIDTH=320
2010 HEIGHT=200
2020 EYES=90
2030 DIMSAME%(WIDTH)
2040 DIMCOLOUR%(WIDTH)
2050 FOR Y=HE-1 TO 0 STEP -1
2060 FOR X=0 TO WI-1:SAME%(X)=X:NEXT
2070 FOR X=0 TO WI-1
2072 POKE 49152,X AND 255:POKE 49153,Y
2080 GOSUB 3000
2090 I=X-(SE+(SE AND Y AND 1))/2
2100 J=I+SE
2110 IF I<0 OR J>=WI THEN NEXT:GOTO2180
2120 S=SAME%(I)
2130 IF S<=J THEN I=S:GOTO 2150
2140 SAME%(I)=J:I=J:J=S
2150 IF NOT SAME%(I)=INT(I) AND SAME%(J)=INT(J) THEN GOTO 2120
2160 SAME%(I)=J
2170 NEXT X
2180 FOR X=WI-1 TO 0 STEP -1
2185 IF SAME%(X)=X THEN COL%(X)=INT(RND(1)*2)
2190 IF NOT SAME%(X)=X THEN COL%(X)=COL%(SAME%(X))
2200 IF COL%(X)=1 THEN R=X:C=Y:GOSUB1000
2210 NEXT X
2220 NEXT Y
3000 GR=EY/2:HA=GR-3
3010 BR=70:HR=30:BH=25
3020 SE=GR
3030 IF Y>=HE/2+BR THEN RETURN
3040 IF Y>=HE/2-BR+BH AND X>=WI/2-HR AND X<WI/2+HR THEN SE=HA:RETURN
3050 IF Y>=HE/2-BR AND X>=WI/2-BR AND X<WI/2+BR THEN SE=HA
3060 RETURN
( S�16:B�3:C�8:SM�1024 9- �53272,(�(53272) � 15) � S Q2 �56578,�(56578) � 3 p7 �56576,(�(56576) � 252) �B �<