DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC759 "Piccoline"

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

See our Wiki for more about RegneCentralen RC759 "Piccoline"

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦72690de06⟧ TextFile

    Length: 2693 (0xa85)
    Types: TextFile
    Names: »SFREDRIK.PAS«

Derivation

└─⟦37cf4f704⟧ Bits:30003051 Dymos II - Modeller
    └─⟦this⟧ »UTIL\SFREDRIK.PAS« 

TextFile

Program SFredrik;

const max=30;
      tidskonstant= 11000;

var   i,k,dataport,kontrolport:integer;
      dummy:stringÆ25Å;
      h,tid:arrayÆ1..maxÅ of real;
      def:text;
      tab:file of real;
      svar: char;

Procedure init;
Begin
  writeln(' Maskintype ?? ');
  Writeln;
  Writeln('  1 = XT, AT og kompatible');
  Writeln;
  Writeln('  2 = PS/2 model 30');
  Writeln;
  Writeln('  3 = PS/2 model 50, 60,...');
  Writeln;
  Write('Indtast svar : '); 
  repeat
    Read(kbd,svar);
  until svar in Æ'1'..'3'Å;  
  Case svar of
  '1': begin 
         dataport := $378; 
         kontrolport:=$379 
       end;
  '2': begin 
         dataport := $378; 
         kontrolport:=$37a;
         portÆ$65Å:=portÆ$65Å or 128;
       end;
  '3': begin
         dataport := $3bc;
         kontrolport :=$3bd;
         portÆ$94Å:=portÆ$94Å and 127;
         portÆ$102Å:=portÆ$102Å and 127;
         portÆ$94Å:=portÆ$94Å or 128;
         writeln;
        end;       
  end;         
end;

Procedure fald ;
begin
  k:= k+1;
  writeln(clrhom);
  write('Fors▶9b◀g nr: ',k,' Indtast faldh▶9b◀jde i meter: ' ); readln(hÆkÅ);
  portÆdataportÅ:=255;
  Writeln;
  writeln('Monter kuglen og sl▶86◀ klappen op.');
  repeat for i:=1 to maxint do; until portÆkontrolportÅ<>47;
  writeln;
  write('Tast retur for at starte fors▶9b◀get. ');readln(dummy);
  tidÆkÅ:=0;
  portÆdataportÅ:=0;
  repeat 
    tidÆkÅ:=tidÆkÅ+1
  until portÆkontrolportÅ=47;
  tidÆkÅ:=tidÆkÅ/tidskonstant;
end;

Begin
  k:= 0;
  init;
  Repeat
    write(clrhom);
    gotoxy(10,5);if k=0 then Writeln('  1 = Start fors▶9b◀get');
    if (k < max) and (k>0) then Writeln('  1 = Forts▶91◀t fors▶9b◀get');
    gotoxy(10,7);if k>0 then writeln('  2 = Fortryd sidste m▶86◀ling') else writeln;
    gotoxy(10,9);
    writeln('  3 = Afslut fors▶9b◀get');
    writeln;
    gotoxy(10,3);if k>0 then Writeln('M▶86◀ling nr. ',k,' H▶9b◀jde: ',hÆkÅ:6:4,' meter  Faldtid: ',tidÆkÅ:6:4,' sek');
    writeln;
    gotoxy(10,11);write('Indtast svar : ');
    repeat
      read(kbd,svar);
    until svar in Æ'1'..'3'Å;
    case svar of
    '1': fald;
    '2': if k>0 then k:=k-1; 
    end;
  until svar ='3';
  
  if k>0 then 
  begin   
    writeln;
    write(clrhom);
    write('Indtast filnavnet p▶86◀ datafilen (uden efternavn) : ');
    readln(dummy);
    If len(dummy)>0 then
    begin
      assign(def,dummy+'.def');
      assign(tab,dummy+'.tab');
      rewrite(def);
      writeln(def,'Points  ',k);
      writeln(def,'Variables T,H');
      close(def);
      rewrite(tab);
      for i:=1 to k do write(tab,tidÆkÅ,hÆkÅ);
      close(def);
    end;
  end;
  write(clrhom)
end.