8-Bit Software Online Conversion
Magic Eye Program - Listing
10DEFFNS="3DEye-2"
20 REM ON ERROR PROCsave:END
30REM MAGIC3D by L Knight May 1994
40REM Adapted by D.Lowless
50REM Further modified by C.J.Richard
son
60MODE1:DIMA%(60):DIMB%(60)
70R%=3
80REPEAT
90CLS
100PRINT''"3D Magic Eye."'"Originally
by Lorin Knight."'"Adapted By D.Lowless.
"
110PRINT"Finally modified by C.J.Richa
rdson."
120PRINT''"1. Use Demo Screen."
130PRINT"2. Load screen."
140PRINT"3. *LDPIC a Screen."
150PRINT"4. Toggle Depth direction. No
w ";:IF R%=3 PRINT"out." ELSE PRINT"in."
160PRINT''"Please Enter 1 2 3 or 4. "
170*FX21
180A$=GET$
190IF A$="4" IF R%=3 R%=0 ELSE IF A$="
4" R%=3
200UNTILINSTR("123",A$)
210CLS
220IF A$="1" PROCtext
230IF A$="2":OSCLI".":INPUT'"Screen to
Load? "B$:OSCLI"LO. "+B$+" FFFF3000"
240IF A$="3":OSCLI".":INPUT'"Screen to
*LDPIC? "B$:OSCLI"LDPIC "+B$
250REMmed out for BBC compatibility *F
X108,2
260REMmed out for BBC compatibility *
FX112,0
270REMmed out for BBC compatibility *
FX113,0
280FORY%=1023 TO 0 STEP -4
290E%=15:C%=0
300FORN%=0TO60:A%(N%)=RND(2)-1:NEXT
310FORX%=0TO1279STEP4
320REMmed out for BBC compatibility *F
X112,2
330D%=ABS(R%-(POINT(X%,Y%)))*2
340REMmed out for BBC compatibility *F
X112,0
350L%=D%+45:F%=E%+45
360IFE%>D% PROCforward:GOTO390
370IFE%<D% PROCback:GOTO390
380P%=(C%+1)MOD(L%+1)
390GCOL0,A%(P%)*3:PLOT69,X%,Y%
400C%=P%:E%=D%:NEXT:NEXT
410PROCsave
420PRINTTAB(0,0)" COMPLETED "'SPC11:VD
U7
430END
440
450DEFPROCforward
460I%=E%-D%
470FORN%=0TOF%:B%(N%)=A%((N%+C%+1)MOD(
F%+1)):NEXT
480FORN%=0TOL%:A%(N%)=B%(N%+I%):NEXT
490P%=0
500ENDPROC
510
520DEFPROCback
530I%=D%-E%
540FORN%=0TOF%:B%(N%)=A%((N%+C%+1)MOD(
F%+1)):NEXT
550FORN%=I%TOL%:A%(N%)=B%(N%-I%):NEXT
560FORN%=0TO(I%-1):A%(N%)=RND(2)-1:NEX
T
570P%=0:ENDPROC
580
590 DEFPROCsave
600 REM *FX108,0
610 *SAVE FIN FFFF3000+5000
620 ENDPROC
630REM
640DEFPROCtext
650 VDU23,224,126,126,126,126,126,126,
126,126
660 PROCbig(850," Magic",1,140)
670 PROCbig(650," Eye",2,140)
680 PROCbig(450," 8-Bit",3,140)
690 PROCbig(250," Software",1,129)
700VDU4
710ENDPROC
720DEF PROCbig(T%,a$,C%,H%)
730 GCOL 0,C%
740VDU 5
750FOR Z%=1 TO LEN(a$)
760?&900=ASC(MID$(a$,Z%,1))
770X%=0:Y%=9:A%=&A:CALL&FFF1
780FOR W%=1 TO 8:FOR U%=7 TO 0 STEP -1
790IF W%?&900 AND 2^U% MOVE (Z%-1)*H%+
(7-U%)*17,T%+(9-W%)*20:VDU 224
800NEXT:NEXT:NEXT:VDU 4
810ENDPROC