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