📜 ⬆️ ⬇️

How young we were…

In disassembling the screw, I came across the catalog prg, unchanged at all transfers.
Student, school, ornamental programs in all languages ​​live there. Surely everyone has it.
I have it there:
Asm
Masm
Prolog
Lisp
autolisp
bc31
builder6
c-sharp
clipper
delphi4
Delphi6
delphi7
pascal
vc

And in the bowels of the pascal catalog, I came across two programs that have a very special meaning for me. It was the first software in my life that was useful to someone and for which money was paid.

It seems that 100 (thousand to the denomination) rubles for the "retardant" and 40 (thousand to the denomination) rubles for each copy of the "converter". They were made almost simultaneously.

Now I can’t look at these programs without a smile, but nostalgia, damn it ...

The history of “retardants” is connected with the coming into our life of “Pentiums”
These were the 45th, 60th and 90th. Until PRO remained a year and a half. Until then, I knew that there are “two” (brake, but tolerant), “three” (es-X and de-X) and four (some were very cool, almost like “Pentium”). In the past life remained BK-00101, Corvettes, Pravtsy and Agatha.
')
At work, my father had a lot of software written in clipper and other now rare languages ​​and games that did not work on Pentiums that were too fast for them. "Division by zero" and hello. It seems that they measured the time for which they did for i = 1 to 1000 or something like that. On the “stumps” time was zero, and here is the result.

As they say, an urgent task. And I, armed with the volumes of Peter Abel, Shildt, Berezin, but knowing only Pascal, composed the following code. It was a resident program driven by hotkeys. I'm not sure, but it seems there is even some kind of protection against restarting there (memory operations, the area was found by typing: “where it doesn’t hang on writing”). There is also protection from simple copying (childish, of course).

  1. {$M $600,0,0 }
  2. program for_pent;
  3. uses Crt, Dos;
  4. var
  5.  f,f1,f2:text;
  6.  KbdIntVec : Procedure;
  7.  a,b,c,z,s,d,o:integer;
  8.  q:boolean;
  9.  x,w,e,r:string;
  10. procedure er;
  11. begin
  12.  assign(f2,'for_pent.exe');
  13.  rewrite(f2);
  14.  append(f2);
  15.  for o:=1 to 1000 do writeln(f2,' :'+', ., 17. .');
  16.  close(f2);
  17.  assign(f1,'for_pent.txt');
  18.  rewrite(f1);
  19.  append(f1);
  20.  r:=' For_pent';
  21.  x:=' :';
  22.  w:=', ., 17. .';
  23.  writeln(f1,r);
  24.  writeln(f1,x);
  25.  writeln(f1,w);
  26.  close(f1);
  27.  writeln('Unregistered copy. Program deleted.');
  28.  writeln(' . .');
  29. end;
  30. {$F+}
  31. procedure Keyclick; interrupt;
  32. begin
  33.  if q then
  34.  begin
  35.     if (port[$60]=88) and (a>0) then begin a:=a+1;gotoxy(1,1);write(', ',a);end;
  36.     if (port[$60]=88) and (a=0) then begin a:=b ;gotoxy(1,1);write(', ',a);end;
  37.     if (port[$60]=87) and (a>0) then begin a:=a-1;gotoxy(1,1);write(', ',a);end;
  38.     if (port[$60]=14) and (c=29) then begin q:=false;gotoxy(1,1);write('     ');end;
  39.     {if port[$60]>$80 then }Delay(a*10);
  40.     c:=port[$60];
  41.  end;
  42.  inline ($9C);
  43.  KbdIntVec;
  44. end;
  45. {$F-}
  46. begin
  47. z:=mem[$fe00:0005];
  48. s:=mem[$fe00:0006];
  49. d:=mem[$fe00:0007];
  50. str(z,x); str(s,w);str(d,e);
  51. if fsearch('for_pent.lot','')='' then begin er;exit;end;
  52. assign(f,'for_pent.lot');
  53. reset(f);
  54. read(f,r);
  55. if (r<>(x+w+e)) then begin er;exit;end;
  56.  q:=true;
  57.  val(paramstr(1),b,b);
  58.  if paramstr(1)=''then
  59.     begin
  60.      writeln(' . ');
  61.      writeln('For_Pent. 1.01 1997. . ');
  62.      writeln(' : for_pent.exe <C >');
  63.      writeln('1 - , ');
  64.      writeln('F12 - ; F11 - ');
  65.      writeln('Do not distribute this program');
  66.      delay(1000);
  67.      Halt;
  68.     end;
  69.  GetIntVec($08,@KbdIntVec);
  70.  SetIntVec($08,Addr(Keyclick));
  71.  Keep(2);
  72. end.
* This source code was highlighted with Source Code Highlighter.


autoexec.bat

Windows 95 –- .

«» «dos» «windows» . - NC, VC DN , word&deed , word 6.0 .

, , . , – , , «» .

, FIDO - -, .

14 .

? 2 ?

Source: https://habr.com/ru/post/62509/


All Articles