{ ========================================================================= }
{ !                   ** FORMATIER-PROGRAMM **                            ! }
{ !                                                                       ! }
{ !  Version 2.3                                                          ! }
{ !  Fuer PROF-180 ,CONITEC-Darmstadt. Von Manfred Oheimer .              ! }
{ !  Letzte Aenderung : 18.02.87                                          ! }
{ ========================================================================= }

{ Dieses Programm muss mit Endadresse : $E006 uebersetzt werden .}
{ Da sonst das Einbinden in SUBMIT-files moeglicherweise nicht geht.}

{$I BBFMODH.PAS}
{$I BBFMOD.PAS}
{$I BBFMODP.PAS}
{$I BBFMODF.PAS}


procedure show;
begin
   clearworkspace;
   clearcomspace;
   write_show_comspace;
   gotoxy(4,7);
   write('Maxi-Drive     : ');
   gotoxy(4,9);
   write('Seite          : ');
   gotoxy(4,11);
   write('Density        : ');
   gotoxy(4,13);
   write('Headbit Side 0 : ');
   gotoxy(4,15);
   write('Headbit Side 1 : ');
   gotoxy(27,7);
   write('Spur-Anzahl    : ');
   gotoxy(27,9);
   write('Sektor-Anzahl  : ');
   gotoxy(27,11);
   write('Bytes/Sektor   : ');
   gotoxy(27,13);
   write('erster Sektor  : ');
   gotoxy(27,15);
   write('letzter Sektor : ');
   gotoxy(54,7);
   write('Writeprecomp.  : ');
   gotoxy(54,9);
   write('Wr.-Pre.-Spur  : ');
   gotoxy(54,11);
   write('Spurverfahren  : ');
   gotoxy(54,13);
   write('Format-Skew    : ');
   gotoxy(54,15);
   write('Format-Gap     : ');
   gotoxy(4,17);
   write('invertiert     : ');
   gotoxy(21,7);
   if GET_MIMA(AKTFNR) then write('J') else write('N');
   gotoxy(21,9);
   case GET_SS_DS(AKTFNR) of
   0 : write('V');
   1 : write('R');
   2 : write('V+R');
   end;
   gotoxy(21,11);
   if GET_DENSITY (AKTFNR)=true then write('DD') else write('SD');
   gotoxy(21,13);
   write(GET_HEADID(AKTFNR,0));
   gotoxy(21,15);
   write(GET_HEADID(AKTFNR,1));
   gotoxy(46,7);
   write(GET_SPURANZ(AKTFNR));
   gotoxy(46,9);
   write(GET_SEKT_ANZ(AKTFNR));
   gotoxy(46,11);
   write(GET_DECIMAL_SECTORSIZE(AKTFNR));
   gotoxy(46,13);
   write(GET_NR_1_SEKT(AKTFNR));
   gotoxy(46,15);
   write(GET_NR_L_SEKT(AKTFNR));
   gotoxy(72,7);
   write(GET_WRPRECOMP(AKTFNR));
   gotoxy(72,9);
   write(GET_WRPRECOMP_SPUR(AKTFNR));
   gotoxy(72,11);
   write(GET_TRACK_METH(AKTFNR));
   gotoxy(72,13);
   write(GET_SKEW(AKTFNR));
   gotoxy(72,15);
   write(GET_FORMAT_GAP(AKTFNR));
   gotoxy(21,17);
   if INVERTED_FORMAT(AKTFNR) then write('J') else write('N');
   read(kbd,ein);
   clearcomspace;clearworkspace;
   writecomspacemain;
   aktseitanf:=aktseitanf-16;
   neuseit;formdefstep(0);
end;


begin
   clrscr;
   aktseitanf:=-16;
   AKTFNR:=0;


{    *  Kennungstest ob Computer ein PROF-180  *   }

   leng:=hilf;
   hilf:=7;
   if  not(p180test and biosversiontest) then begin gotoxy(10,12);hilf:=leng;
     writeln('Programm nur lauffaehig auf Geraeten mit der Kennung PROF-180');
     writeln('und BIOS-Version 1.0 oder groesser');
     end
     else     { Fortgang des Programms wenn Kennung OK }
        begin
           LOAD_DISK_BLK;
           makefnames(xdpb_anz);
           makelaufwerksgueltigkeiten(xdpb_anz);
           hbild;
           clearworkspace;
           if false then noheadinv:=true
                        else noheadinv:=false; { Kennungstest Monitor }
           ganzschluss:=false;                 { fuer Invers-head     }
           drivenr:=bdos(25)+1;
           hilf:=leng;
           neuseit;
           formdefstep(0);
           repeat
              read(kbd,ein);
              ein:=upcase(ein);
              ein2:=ord(ein);
              case ein2 of
             3,67 : if not(((((AKTFNR) div 16)+1)*16)<xdpb_anz) then
                                 write(^G)
                            else begin neuseit;
                                       AKTFNR:=((AKTFNR+16)div 16)*16;
                                       formdefstep(0);end;
            18,82 : if aktseitanf<=15 then write(^G)
                            else begin aktseitanf:=aktseitanf-32;
                                       neuseit;
                                       AKTFNR:=((AKTFNR-16)div 16)*16;
                                       formdefstep(0); end;
               27 : begin clrscr;ganzschluss:=true;end;
               13 : begin clearcomspace; formatiere;
                       writecomspacemain;
                       formdefstep(0);
                    end;
           88,24  : formdefstep(1);
           69,5   : formdefstep(-1);
           83,115 : show;
           end;
          until ganzschluss;
      end { end of Kennungstest-else }
end.
