DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

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

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦9d46bdab7⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »gcflyttxt«

Derivation

└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ.  Detaljer om "HC8000" projekt.
    └─⟦0364f57e3⟧ 
        └─⟦this⟧ »gcflyttxt« 
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
    └─⟦b2ec5d50f⟧ 
        └─⟦this⟧ »gcflyttxt« 

TextFile

begin
  integer i,j;
  integer array ia,ia1(1:17);
  real array ra,ra1(1:2);
  zone z1,z2(128,1,stderror);
  j:=readparam(ra);
  if j<>-1 then
  begin
    write(out,<:<10>dokument navn=:>);
    setposition(out,0,0);
    readstring(in,ra,1);
  end;
test:
  for i:=1 step 1 until 6 do
  begin
    if ra(1)=real (case i of(<:drum:>,
    <:drum1:>,<:disc:>,<:disc1:>,<:disc2:>,<:disc3:>)) then
    goto found;
  end;
  write(out,<:<10>dokument navn=:>);
  setposition(out,0,0);
  readstring(in,ra,1);
  goto test;
found:
  if j=-1 then readparam(ra1);
om:
  for i:=readparam(ra1) while i<>0 do
  begin
    if i=1 or i=3 then
    begin
      write(out,<:***param :>,<<d>,ra1(1),<:<10>:>);
      goto om;
    end;
    if lookuptail(ra1,ia)<>0 then
    begin
      j:=1;
      write(out,string ra1(increase(j)),<: ***findes ikke<10>:>);
      goto om;
    end;
    if ia(1)<1 then
    begin
      j:=1;
      write(out,string ra1(increase(j)),<: ***segments < 1 <10>:>);
      goto om;
    end;
    removeentry(<:gcmoveareal:>);
    ia(2):=(ra(1) shift (-24) extract 24);
    ia(3):=(ra(1) extract 24);
    ia(4):=ia(5):=0;
    headandtail(ra1,ia1);
    if createentry(<:gcmoveareal:>,ia)<>0 then
    begin
      j:=1;
      write(out,string ra1(increase(j)),
      <: ***gcmoveareal kan ikke oprettes<10>:>);
      goto om;
    end;
    permentry(<:gcmoveareal:>,ia1(1) extract 3);
    if setenbase(<:gcmoveareal:>,ia1(2),ia1(3))<>0 then
    begin
      j:=1;
      write(out,string ra1(increase(j)),<: ***base interval<10>:>);
      goto om;
    end;
    j:=1;
    open(z2,4,<:gcmoveareal:>,0);
    open(z1,4,string ra1(increase(j)),0);
    for j:=inrec(z1,0) while j<>0 do
    begin
      inrec(z1,128);
      outrec(z2,128);
      tofrom(z2,z1,512);
    end;
    close(z1,true);
    close(z2,true);
    removeentry(ra1);
    renameentry(<:gcmoveareal:>,ra1);
  end;
end;
▶EOF◀