DataMuseum.dk

Presents historical artifacts from the history of:

Q1 computer

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Q1 computer

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦3db78fb92⟧ Q1_Text, reclen=79

    Length: 9085 (0x237d)
    Types: Q1_Text, reclen=79
    Notes: q1file
    Names: »TIPS«

Derivation

└─⟦741645f15⟧ Bits:30008714 DDMQ1-0154_Games_Disk_Bio_78_Tips
    └─⟦this⟧ »TIPS« 

Text

DCL 1 TAL,                                                                     
   2 NRO FIXED(5),                                                             
   2 NR1 FIXED(5),                                                             
   2 X FIXED(9,9),                                                             
   2 RE1 CHAR(1);                                                              
                                                                               
DCL TR(13) CHAR(1),                                                            
   SVAR(13,25) CHAR(1),                                                        
   MS BINARY,                                                                  
   KS BINARY,                                                                  
   F CHAR(1),                                                                  
   S CHAR(13),                                                                 
   TRX(13) CHAR(1);                                                            
                                                                               
                                                                               
DCL MO FILE;                                                                   
                                                                               
SLUMP:PROCEDURE(WW);                                                           
   DCL ZZ FIXED;                                                               
   ZZ=32773*WW+.238418579E-6;                                                  
   WW=(32773*WW+.23841859E-6)-ZZ;                                              
   RETURN(WW);                                                                 
END;                                                                           
                                                                               
OPEN MO;                                                                       
                                                                               
LBO1:PUT FILE(D) SKIP EDIT('UTGÅNGSRAD:')(A(34));                              
GET SKIP LIST(S);                                                              
DO I=1 TO 13;                                                                  
   F=SUBSTR(S,I,1);                                                            
   IF INDEX('1X2',F)=0 THEN GO TO LBO1;                                        
   TR(I)=F;                                                                    
END;                                                                           
                                                                               
PUT FILE(D) EDIT(S)(A(13))('ANTAL GEMENSAMMA MARKERINGAR:')(A(45));            
LBO2:GET SKIP LIST(MS);                                                        
IF MS>12 THEN GO TO LBO2;                                                      
PUT FILE(D) EDIT(MS)(P'Z9')('ANTAL RADER SOM SKALL GENERERAS:')(A(43));        
GET SKIP LIST(KS);                                                             
PUT FILE(D) SKIP EDIT(' ')(A(68))('TACK!')(A(73));                             
IF KS>500 THEN KS=500;                                                         
IF KS<1 THEN GO TO SLUT;                                                       
F='0';                                                                         
                                                                               
ON ENDFILE GO TO SLUT;                                                         
READ FILE(MO) INTO(TAL);                                                       
CLOSE MO;                                                                      
LBO3:DO I=1 TO 13;                                                             
   DO J=1 TO 25;                                                               
     SVAR(I,J)=' ';                                                            
   END;                                                                        
END;                                                                           
K=1;                                                                           
                                                                               
LB1:DO I=1 TO 13;                                                              
   TRX(I)=' ';                                                                 
END;                                                                           
M=0;                                                                           
                                                                               
LB15:X=SLUMP(X);                                                               
N=X*13+1;                                                                      
IF TRX(N)¬=' ' THEN GO TO LB15;                                                
TRX(N)=TR(N);                                                                  
M=M+1;                                                                         
IF M<MS THEN GO TO LB15;                                                       
                                                                               
DO I=1 TO 13;                                                                  
   IF TRX(I)¬=' ' THEN GO TO LB25;                                             
   LB2:X=SLUMP(X);                                                             
   IF TR(I)='1' THEN DO;                                                       
     TRX(I)='2';                                                               
     IF X<.3 THEN TRX(I)='X';                                                  
     GO TO LB25;                                                               
   END;                                                                        
   IF TR(I)='2' THEN DO;                                                       
     TRX(I)='1';                                                               
     IF X<.2 THEN TRX(I)='X';                                                  
   GO TO LB25;                                                                 
   END;                                                                        
   TRX(I)='1';                                                                 
   IF X<.4 THEN TRX(I)='2';                                                    
   LB25:SVAR(I,K)=TRX(I);                                                      
                                                                               
END;                                                                           
K=K+1;                                                                         
IF K>25 THEN GO TO LB4;                                                        
IF K<(KS+1) THEN GO TO LB1;                                                    
                                                                               
LB4:IF F='1' THEN GO TO LB5;                                                   
PUT SKIP(5) EDIT('ANTAL GEMENSAMMA MARKERINGAR:')(A(35))(MS)(P'ZZ9');          
PUT SKIP EDIT('ANTAL GENERERADE TIPSRADER:')(A(35))(KS)(P'ZZ9');               
PUT SKIP(2) EDIT('UTGÅNGSRAD')(A(15))(TR(1))(A);                               
DO I=2 TO 13;                                                                  
   PUT SKIP EDIT(' ')(A(15))(TR(I))(A);                                        
END;                                                                           
PUT SKIP(14);                                                                  
F='1';                                                                         
                                                                               
LB5:DO I=1 TO 13;                                                              
   DO J=1 TO 25;                                                               
     PUT EDIT(SVAR(I,J))(A(5));                                                
   END;                                                                        
   PUT SKIP;                                                                   
END;                                                                           
PUT SKIP(3);                                                                   
KS=KS-25;                                                                      
                                                                               
IF KS>=1 THEN GO TO LBO3;                                                      
                                                                               
OPEN MO;                                                                       
WRITE FILE(MO) FROM(TAL);                                                      
CLOSE MO;                                                                      
                                                                               
SLUT:END;