8-Bit Software Online Conversion
                
             
        
        
    
:0.$.Tel>BAS - Listing
    
       10*|"                                
   20*|"     Screen Convertor v1.03     
   30*|"                                
   40*|" Written by John Carpenter 1992 
   50*|"                                
   60*|" This will change a Mode 7      
   70*|" teletext screen into an ASCII  
   80*|" file you can *EXEC into basic  
   90*|" Starting at the line number    
  100*|" you choose (or return for      
  110*|" default - 10000) and going up  
  120*|" by whatever number you like..  
  130*|" (default - 10)                 
  140*|"                                
  150*|" Change chars will wobble about 
  160*|" the hash,underline and pound   
  170*|" signs about..basically,if you  
  180*|" don't understand,try Y for     
  190*|" yes and if it looks wrong when 
  200*|" you use it,try N instead!!!    
  210*|"                                
  220*|"                                
  230ON ERROR CLOSE#0:CLS:PRINT" Done...
."'':END                                
  240MODE7                              
  250VDU23;8202;0;0;0;0;0;              
  260CLOSE#0                            
  270PROCcls                            
  280PRINT"   OSCLI command before start
ing ?"                                  
  290PRINT"   "                         
  300REPEAT:A$=GET$:UNTILINSTR("YynN",A$
)                                       
  310IFINSTR("Yy",A$) THEN PROCoscli:GOT
O240                                    
  320PROCcls                            
  330PRINT"   Screen filename ";        
  340screen$=FNinput(15)                
  350PRINT"   Convert filename ";       
  360basic$=FNinput(15)                 
  370PRINT"   Start line number ";      
  380no$=FNinput(5)                     
  390no%=VAL(no$)                       
  400IFno%<1 THEN no%=10000             
  410PRINT"   Increase no ";            
  420inc$=FNinput(3)                    
  430inc%=VAL(inc$)                     
  440IFinc%<1 THEN inc%=10              
  450PRINT"   Change Characters (norm Y)
 (Y/N)"                                 
  460REPEAT:chars$=GET$:UNTILINSTR("YyNn
",chars$)                               
  470PRINT"   Is this all Correct (Y/N)"
;                                       
  480REPEAT:A$=GET$:UNTILINSTR("YyNn",A$
)                                       
  490IFINSTR("Nn",A$) THEN RUN          
  500PROCdo                             
  510FORa%=1TO25                        
  520PRINT"   "                         
  530NEXTa%                             
  540VDU26:PRINT"   Finished    "       
  550A=GET                              
  560CLS:END                            
  570                                   
  580DEF PROCcls                        
  590CLS                                
  600PRINT" 
|||||||||||";                           
  610PRINT"        
                                        
  620PRINT"        
                                        
  630PRINT" 
///////////";                           
  640FORa%=1TO20                        
  650PRINT"   "                         
  660NEXTa%                             
  670PRINTTAB(0,5)                      
  680ENDPROC                            
  690 DEF FNinput(length%)              
  700   LOCAL total$,key%               
  710   REPEAT                          
  720     key% = GET                    
  730     IF key%=13 GOTO 790           
  740 IF key%=127 AND LEN(total$)=0 THEN
 720                                    
  750     IF key%=127 VDU8,32,8:total$=L
EFT$(total$,LEN(total$)-1):GOTO720      
  760     IF LEN(total$)=length% GOTO720
                                        
  770     total$ = total$ + CHR$(key%)  
  780     VDU key%                      
  790   UNTIL key%=13                   
  800PRINT                              
  810 =total$                           
  820                                   
  830DEF PROCdo                         
  840PROCcls                            
  850PRINT"   Please wait.. transfering 
data.."                                 
  860screen%=OPENIN(screen$)            
  870basic%=OPENOUT(basic$)             
  880z%=no%-inc%                        
  890REPEAT                             
  900z%=z%+inc%                         
  910z$=""                              
  920z$=STR$(z%)+"PRINT "+""""          
  930FORa%=1 TO 40                      
  940b%=BGET#screen%                    
  950PROCchange                         
  960z$=z$+CHR$(b%)                     
  970IFb%=34 THEN z$=z$+CHR$(34)        
  980NEXTa%                             
  990z$=z$+""""                         
 1000z$=z$+";"                          
 1010PROCwrite(z$)                      
 1020UNTIL EOF#screen%                  
 1030CLOSE#screen%                      
 1040CLOSE#basic%                       
 1050PRINT"   "                         
 1060PRINT"   All done... press return" 
 1070REPEAT UNTILGET=13                 
 1080ENDPROC                            
 1090                                   
 1100 DEF PROCwrite(string$)            
 1110   LOCAL loop%                     
 1120   FOR loop%=1 TO LEN(string$)     
 1130     BPUT#basic%,ASC(MID$(string$,l
oop%,1))                                
 1140   NEXT                            
 1150   BPUT#basic%,13                  
 1160 ENDPROC                           
 1170                                   
 1180DEF PROCoscli                      
 1190CLS                                
 1200INPUT"   *    "star$               
 1210IFstar$="" THEN ENDPROC            
 1220OSCLI(star$)                       
 1230GOTO1200                           
 1240ENDPROC                            
 1250                                   
 1260DEF PROCchange                     
 1270IFINSTR("Nn",chars$) THEN ENDPROC  
 1280IFb%=95 THEN b%=35:ENDPROC         
 1290IFb%=96 THEN b%=95:ENDPROC         
 1300IFb%=35 THEN b%=96                 
 1310ENDPROC