home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / DPSX / TOOL-PAS.ZIP / ENCODE.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-06-04  |  1.0 KB  |  65 lines

  1.  
  2. var
  3.    fd:   file of byte;
  4.    b:    byte;
  5.    sz:   word;
  6.  
  7. function hex(w: word): string;   {integer to hex conversion}
  8. var
  9.    h:   string;
  10.  
  11.    procedure digit(ix: integer; ii: word);
  12.    begin
  13.       ii := ii and 15;
  14.       if ii > 9 then 
  15.          ii := ii + 7;
  16.       h[ix] := chr(ii + ord('0'));
  17.    end;
  18.  
  19. begin
  20.    h[0] := chr(2);
  21.    digit(1,w shr 4);
  22.    digit(2,w);
  23.    hex := h;
  24. end;
  25.  
  26. function hex2(w: word): string;
  27. begin
  28.    hex2 := hex(w div 255) + hex(w and 255);
  29. end;
  30.  
  31. procedure owrite(s: string);
  32. var
  33.    i: integer;
  34.  
  35. begin
  36.    for i := 1 to length(s) do
  37.    begin
  38.       write(s[i]);
  39.    end;
  40. end;
  41.  
  42. begin
  43.    assign(fd,paramstr(1));
  44.    reset(fd);
  45.  
  46.    sz := 0;
  47.    while not eof(fd) do
  48.    begin
  49.       if sz mod 8 = 0 then
  50.          owrite(^M^J'E '+hex2(sz+$100)+^M^J);
  51.       read(fd,b);
  52.       owrite(hex(b)+' ');
  53.       inc(sz);
  54.    end;
  55.    close(fd);
  56.  
  57.    owrite(^M^J^M^J);
  58.    owrite('R CX'^M^J);
  59.    owrite(hex2(sz)+^M^J);
  60.    owrite('N FILE.OUT'^M^J);
  61.    owrite('W 0100'^M^J);
  62.    owrite('Q'^M^J);
  63. end.
  64.  
  65.