home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 03 / praxis / copy7.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-12-29  |  1.6 KB  |  66 lines

  1. (* ------------------------------------------------------ *)
  2. (*                     COPY7.PAS                          *)
  3. (* ------------------------------------------------------ *)
  4. USES Dos, Crt;
  5.  
  6. TYPE
  7.   Secbuf = ARRAY [0..511] OF BYTE;
  8.  
  9.   PROCEDURE ReadSector(anz, spur, sektor, kopf,
  10.                        laufwerk : byte;
  11.                        VAR puffer : Secbuf);
  12.   VAR
  13.     Regs : Registers;
  14.   BEGIN
  15.     WITH Regs DO BEGIN
  16.       ah := 2;
  17.       al := anz;
  18.       ch := spur;
  19.       cl := sektor;
  20.       dh := kopf;
  21.       dl := laufwerk;
  22.       es := Seg(puffer);
  23.       bx := Ofs(puffer);
  24.       Intr($13, Regs);
  25.     END;
  26.   END;
  27.  
  28.   PROCEDURE WriteSector(anz, spur, sektor, kopf,
  29.                         laufwerk : byte;
  30.                         VAR puffer : Secbuf);
  31.   VAR
  32.     Regs : Registers;
  33.   BEGIN
  34.     WITH Regs DO BEGIN
  35.       ah := 3;
  36.       al := anz;
  37.       ch := spur;
  38.       cl := sektor;
  39.       dh := kopf;
  40.       dl := laufwerk;
  41.       es := Seg(puffer);
  42.       bx := Ofs(puffer);
  43.       Intr($13, regs);
  44.     END;
  45.   END;
  46.  
  47.  
  48. VAR
  49.   Sektorpuffer : Secbuf;
  50.   source, target, zyl, sec, hd : BYTE;
  51.  
  52. BEGIN
  53.   ClrScr;
  54.   source := 1;  target := 0;
  55.   FOR zyl := 0 TO 79 DO
  56.     FOR sec := 0 TO 9 DO
  57.       FOR hd := 0 TO 1 DO BEGIN
  58.         ReadSector(1, zyl, sec, hd, source, Sektorpuffer);
  59.         WriteSector(1, zyl, sec, hd, target, Sektorpuffer);
  60.         GotoXY(20,1);
  61.         Write('Seite: ', hd:2, ' Sektor: ', sec:2,
  62.               ' Spur: ', zyl:2);
  63.       END;
  64. END.
  65. (* ------------------------------------------------------ *)
  66. (*                 Ende von COPY7.PAS                     *)