Informatyczna archeologia

Przy okazji okresowych porządków znalazłem kod źródłowy w PASCAL-u - program to jakaś parodia oprogramowania Microsoftu. Po kompilacji na Linuksie zamiast polskich liter wyskakują jakieś dziwne znaczki. Problem wynika stąd, że DOS używał innego kodowania znaków niż Linux.

Jak ktoś będzie kiedyś miał nadmiar wolnego czasu i wenę to może się pobawić (i rozbawić :slightly_smiling_face: ).

{Program o niczym i do niczego...(?)}
program Dos_Plus;
 uses crt;
  var exit,z,y,x,s,t,b,i,k:integer;
      znak,mn:char;
      p,q,rs,a,c,d:integer;



procedure logo;
begin
textcolor(25);
gotoxy(45,10);
write('         ßßßß');
gotoxy(45,11);
write('       ßßßßßßßß');
gotoxy(45,12);
write('    ßßßßßßßßßßßßßß');
textcolor(134);
gotoxy(45,13);
write(' ßßßßßßßßßßßßßßßßßßßßß');
textcolor(16);
gotoxy(45,14);
write('    ßßßßßßßßßßßßßß');
gotoxy(45,15);
write('       ßßßßßßßß');
gotoxy(45,16);
write('         ßßßß');
gotoxy(45,17);
write(' B€K(R) Corporation  ');
gotoxy(40,18);
write('sp:z zoo, sc, sa,auto casco...');
textcolor(41);
end;

procedure gtx;
begin
textcolor(54);
lowvideo;
gotoxy(3,2);
write('ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»');
gotoxy(3,3);
write('º');
gotoxy(77,3);
write('º');
gotoxy(3,4);
write('º');
gotoxy(77,4);
write('º');
gotoxy(3,5);
write('º');
gotoxy(77,5);
write('º');
gotoxy(3,6);
write('º');
gotoxy(77,6);
write('º');
gotoxy(3,7);
write('ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ');
end;

procedure tlo2;
begin
normvideo;
textcolor(165);
gotoxy(1,1);
textbackground(0);
write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
textcolor(143);
write('Û                                                                              Û');
write('Û     ÛßßßßÜ  ÛßßßßÛ   Ûßßßßßß        °°°°°  °     °  °   Ûßßßßßß              Û');
write('Û     Û    Û  Û    Û   ßßßßßßÛ   ÛÛÛ  °   °  °     °  °   ßßßßßßÛ              Û');
write('Û     ÛÜÜÜÜß  ÛÜÜÜÜÛ   ÛÜÜÜÜÜÛ        °°°°°  °°°°  °°°°   Û    Û              Û');
write('Û                                     °                   ÛÜÜÜÜÜÛ              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('Û                                                                              Û');
write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
textcolor(87);
gotoxy(3,24);
write('Pilar() Corporation()');
gtx;
end;

procedure text;
begin
gotoxy(2,8);
textcolor(156);
lowvideo;
write(' Program Scandisc przeszukuje dysk w poszukiwaniu skarbu...                     ');
write(' Aby zapobiec uruchamianiu si© tego programu zawsze zamykaj                     ');
write(' system Windows przez opcj© "Reset" na obudowie.                                ');
write('                                                                                ');
write(' Aby zakoäzy† przeszukiwanie wci˜nij przycisk Zakoäcz.                          ');
textcolor(143);
Normvideo;
end;


procedure tlo;
begin
write('                                                                                ');
write('          Microsft(R) Scandisc(R)                                               ');
write('  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ  ');
write('  PoniewaŸ system Windows(R) zostaˆ prawidˆowo zamkni©ty(R) jeden               ');
write('  l¢b wi©cej dysk¢w moŸe zawiera† bˆ©dy. Program(R) Scandisc(R) przeszuka       ');
write('  dysk twardy w poszukiwaniu bˆ©d¢w.                                            ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ  ');
write('        % wykonano                                                              ');
write('                                                                                ');
write('                                                                               ');
gotoxy(5,20);
textbackground(7);
write(#17,' Zakoäcz ',#16);
textbackground(1);
textcolor(8);
gotoxy(16,20);
write('Û');
gotoxy(6,21);
write('ßßßßßßßßßßß');
text;
end;

procedure resume;
begin
clrscr;
write('                                                                                ');
write('          Microsft(R) Scandisc(R)                                               ');
write('  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ  ');
write('                                                                                ');
write('  Microsft(R) Scandisc(R) Prdsumowanie(r)                                       ');
write('                                                                                ');
write('         Sektor¢w dysku: Ty˜¥c pincet                                           ');
write('  Sektor¢w uszkodzonych: Dwa dziewiäcet                                         ');
write('  Sektor¢w naprawionych: Syskie tsy (+papruch)                                  ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('                                                                                ');
write('  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ  ');
write('                                                                                ');
write('                                                                                ');
write('                                                                               ');
end;



procedure blad;
begin
textcolor(122);
textbackground(4);
gotoxy(17,8);
write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
gotoxy(17,9);
write('Û         Scandisc(R) ERROR(R)                    Û');
gotoxy(17,10);
write('Û  Pogram scandisc znalazˆ bˆ©dy na dysku         Û');
gotoxy(17,11);
write('Û   w sektorah od 1-F01100432302237FFF Wykryto    Û');
gotoxy(17,12);
write('Û   teŸ papruch na 3 taleŸu dysku i co˜ odpadˆo   Û');
gotoxy(17,13);
write('Û   chyba kawaˆek pˆytki...  Ale tym sie mie      Û');
gotoxy(17,14);
write('Û  kieruj! Program Scandisk naprawi uszkodzone    Û');
gotoxy(17,15);
write('Û  sektory (i wyjmie paprucha!)                   Û');
gotoxy(17,16);
write('Û                                                 Û');
gotoxy(17,17);
write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
textcolor(13+blink);
gotoxy(37,16);
write('Na†i˜nij co˜');
textcolor(145);
textbackground(1);
readkey;
clrscr;
tlo;
textcolor(154);
gotoxy(23,23);
for t:=1 to 50 do
begin
textbackground(1);
write('°');
end;
gotoxy(23,23);
for t:=1 to 30 do
begin
textbackground(1);
write('Û');
end;
end;

procedure blado;
begin
  textcolor(315);
  textbackground(4);
  gotoxy(17,8);
  write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
  gotoxy(17,9);
  write('Û                                                 Û');
  gotoxy(17,10);
  write('Û  Ej we« si© pozb¥d« tego twardziela....         Û');
  gotoxy(17,11);
  write('Û  Ajak nie to chociaŸ go ˆadnie wyczy˜†          Û');
  gotoxy(17,12);
  write('Û  najlepiej  papierem ˜ciernym i Cif-em          Û');
  gotoxy(17,13);
  write('Û  (nie rysuje powieszchni)                       Û');
  gotoxy(17,14);
  write('Û  Inaczej Program Scandisk wyczy˜ci twardego     Û');
  gotoxy(17,15);
  write('Û  i w ramach rekompensaty opˆaci mie˜©czn¥       Û');
  gotoxy(17,16);
  write('Û  opˆat© za buszowanie  w sieci.                 Û');
  gotoxy(17,17);
  write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
  textcolor(194);
  textbackground(1);
  readkey;
  clrscr;
  tlo;
  textcolor(149);
  gotoxy(23,23);
   for t:=1 to 50 do
    begin
     textbackground(1);
       write('°');
    end;
  gotoxy(23,23);
   for t:=1 to 40 do
    begin
     textbackground(1);
     write('Û');
     end;
end;

procedure start_scan;
begin
  textcolor(142);
  textbackground(1);
  gotoxy(17,8);
  write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
  gotoxy(17,9);
  write('Û                Scandisc(R)                      Û');
  gotoxy(17,10);
  write('Û    Wloz dysk i nacisnij ENTER aby Program(R)    Û');
  gotoxy(17,11);
  write('Û    Scandisc(R) mogl zaczac proces szukania      Û');
  gotoxy(17,12);
  write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
  delay(100);
  textcolor(144);
  textbackground(1);
  readkey;
  clrscr;
  tlo;
  textcolor(147);
  gotoxy(23,23);
   for t:=1 to 50 do
    begin
     textbackground(1);
       write('°');
    end;
  gotoxy(23,23);
   for t:=1 to 1 do
    begin
     textbackground(1);
     write('Û');
     end;
end;


procedure procenty;
begin;
  textbackground(1);
  gotoxy(6,23);
  write(s*2);
   if s=30 then blad;
   if s=40 then blado;
end;

procedure system_ram;
begin
  clrscr;
  textcolor(159);
  write('ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»');
  write('º   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        º');
  write('º   ³ CPU & RAM Controll                              ³                        º');
  write('º   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                        º');
  write('º                                                                              º');
  write('º CPU tempeaatyre:                                                             º');
  write('º RAM Temperature:                                                             º');
  write('º                                                                              º');
  write('º CPU speed: 0.0333 MHz                                                        º');
  write('º Speed wiatraczka:1,5 G obr/min                                               º');
  write('º CPU bizi: 3%                                                                 º');
  write('º                                                                              º');
  write('º RAM speed: 10000 GHz                                                         º');
  write('º Ram bizi: 50%                                                                º');
  write('º If RAM przekroczy nadmiern¥ speed then speacer turn pikawa                   º');
  write('º                                                                              º');
  write('º Power control: ON                                                            º');
  write('º HDD control: Von zeit zu zeit ON                                             º');
  write('º Turbo Control: Always OFF                                                    º');
  write('º Kabel try: OK                                                                º');
  write('º Sound volume: MAX                                                            º');
  write('º                                                                              º');
  write('º                                                                              º');
  write('º   (ci¥g dalsz nie nast¥pi...)                                                º');
  write('ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ');
  gotoxy(19,6);
  textcolor(443);
  write('113 ',#248,'C  Danger!');
  gotoxy(19,7);
  textcolor(2);
  write('-60 ',#248,'C  Easy!  ');
  gotoxy(10,23);
  textcolor(2+blink);
  write('Wait... ');
  delay(5000);
  sound(777);
  readkey;
  sound(666);
end;

procedure system_wykres;
begin
  clrscr;
  textcolor(12);
  write('ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»');
  write('º   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        º');
  write('º   ³Rozkˆad wykoŸystania mocy obliczeniowej procesora³                        º');
  write('º   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                        º');
  write('º                           ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿                                     º');
  write('º 0.1 MHz                   ³            ³                                     º');
  write('º                           ³            ³                                     º');
  write('º                           ³            ³          ÚÄÄÄÄÄÄ¿                   º');
  write('º                           ³            ³          ³      ³                   º');
  write('º                           ³            ³          ³      ³                   º');
  write('º                           ³            ³          ³      ³                   º');
  write('º                           ³            ³          ³      À¿                  º');
  write('º                           ³            ³          ³       ³                  º');
  write('º 0.05 MHz                  ³            ³          ³       À¿                 º');
  write('º                      ÚÄÄÄÄÙ            ³          ³        ³                 º');
  write('º                    ÚÄÙ                 ³          ³        ÀÄ¿               º');
  write('º                    ³                   ³          ³          ³               º');
  write('º                  ÚÄÙ                   ³          ³          ³               º');
  write('º               ÚÄÄÙ                     ³          ³          ³               º');
  write('º             ÚÄÙ                        ³          ³          ³               º');
  write('º           ÚÄÙ                          ³          ³          ³               º');
  write('º 0.01 MHz ÄÙ                            ÀÄÄÄÄÄÄÄÄÄÄÙ          ³               º');
  write('º          Quake       QuakeII     Tetris    UT      Warcaby   ³   AutoCAD R14 º');
  write('º   (ci¥g dalsz nast¥pi...)                                    ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ');
  write('ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ');
  readkey;
  system_ram;
end;

procedure ludzik;
begin
textcolor(135);
clrscr;
gotoxy(25,9);
writeln('N I E  BAW SIš BO WYBUHNš!! ');
textcolor(467);
gotoxy(30,10);
writeln('  ººººººººººº ');
textcolor(777);
gotoxy(30,11);
writeln('  ÛßßßßßßßßßÛ ');
gotoxy(30,12);
writeln(' ÚÛ  ß*Ü ß  Û¿ ');
gotoxy(30,13);
writeln(' ÀÛ ÀÄÄÄÄÄÙ ÛÙ');
gotoxy(30,14);
writeln('Û ßßßßßÛßßßßß ');
gotoxy(30,15);
writeln('ßßßßßßßÛßßßßßÛ');
gotoxy(30,16);
writeln('       Û      ');
gotoxy(30,17);
writeln('     ÛßßßÛ    ');
gotoxy(30,18);
writeln('   ßßß   ßßß  ');
end;

procedure system_info;
begin
  clrscr;
  textcolor(115);
  write('ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»');
  write('º   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                                           º');
  write('º   ³        Info System           ³                                           º');
  write('º   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                                           º');
  write('º                                                                              º');
  write('º                                                                              º');
  write('º   Yor system:                                                                º');
  write('º   procesor:                                                                  º');
  write('º            Genui Intel Pentium III 0,01MHz                                   º');
  write('º   memory:                                                                    º');
  write('º            DIMM 1 MB                                                         º');
  write('º   disk:                                                                      º');
  write('º            UDMA Segate 1.44 MB                                               º');
  write('º   graphic port:                                                              º');
  write('º            AGP-PCI                                                           º');
  write('º   sound card:                                                                º');
  write('º            Sound Blaster Life 1989                                           º');
  write('º   graphic card:                                                              º');
  write('º            VooDoo 6 8000 0.1 MB RAM                                          º');
  write('º   CPU temperature: 150',#248' C                                                    º');
  write('º   BIOS wersion: American Megatrends 1410                                     º');
  write('º   Operatong system:                                                          º');
  write('º                Microsoft(R) Windoza 89(r)                                    º');
  write('º   (ci¥g dalsz nast¥pi...)                                                    º');
  write('ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ');
  readkey;
  system_wykres;
end;

procedure menu;
begin
   logo;
   textcolor(124);
   gotoxy(4,10);
   write('Menu (wybierz opcj©)');
   gotoxy(5,12);
   write('I-System info ');
   gotoxy(5,13);
   write('S-Scandisc    ');
   gotoxy(5,14);
   write('R-Test Ram    ');
   gotoxy(5,15);
   write('Q-Quit        ');
end;

procedure scan;
begin
  textcolor(146);
  textbackground(1);
  clrscr;
  tlo;
  textcolor(14);
  gotoxy(23,23);
   for t:=1 to 50 do
     begin
     textbackground(1);
     write('°');
     end;
     start_scan;
   for s:=1 to 50 do
     begin
     gotoxy(22+s,23);
     write('Û');
     procenty;
     delay(400);
     end;
  delay(400);
  resume;
  readkey;
  textcolor(14);
end;

procedure rys1;
begin
 gotoxy(x,y);
 writeln(#26' ',#27 ,' x=',x,' y=',y);
end;

procedure dol;
begin
 clrscr;
 y:=y+1;
  if y>24 then y:=24;
  if y<1 then y:=1;
 rys1;
end;

procedure gora;
begin
  clrscr;
  y:=y-1;
   if y>24 then x:=24;
   if y<1 then y:=1;
  rys1;
end;

procedure r;
begin
   clrscr;
   x:=x+1;
    if x>79 then x:=79;
    if x<1 then x:=1;
    rys1;
end;

procedure l;
begin
   clrscr;
   x:=x-1;
    if x>79 then x:=79;
    if x<1 then x:=1;
    rys1;
end;

procedure kr;
 begin
 clrscr;
 writeln('Chcesz sobie powciska† kursory? bardzo prosze...(Esc=exit)');
 readkey;
 textcolor(15);
  repeat
   znak:=readkey;
   if znak<>#27 then
    if znak=#0 then
     begin
      znak:=readkey;
      if znak=#80 then dol;
      if znak=#72 then gora;
      if znak=#77 then r;
      if znak=#75 then l;
      end;
  until znak=#27
 end;

procedure dog;
begin
textcolor(1);
textbackground(0);
lowvideo;
if rs=60 then
begin
gotoxy(6,14);
write('Pami©† uszkodzona na 198982 n¢Ÿce procesora (nacisnij cos...)');
readkey;
gotoxy(24,20);
end;
if rs=10 then
begin
gotoxy(6,11);
write('Wˆ¢Ÿ pami©† do szyny na pˆycie gˆ¢wnej i naci˜nij ENTER');
readkey;
gotoxy(14,18);
end;
if rs=30 then
begin
gotoxy(6,12);
write('Pami©† wˆoŸona odwrotnie!!!                              ');
delay(150);
gotoxy(34,18);
end;
if rs=50 then
begin
gotoxy(6,13);
write('Wˆa˜nie odpadˆ procesor...                                ');
delay(300);
gotoxy(54,18);
end;
if rs=60 then
begin
gotoxy(6,15);
write('Wymiana podzespoˆ¢w DIMM....                              ');
delay(500);
gotoxy(64,18);
end;
textcolor(1);
normvideo;
end;

procedure wnioski;
begin
readkey;
clrscr;
writeln('PODSUMOWANIE SCANOWANIA:');
writeln('    pami©†:128.0MB      ');
writeln('uszkodzone:127.9MB      ');
writeln('  poprawne:0.01MB       ');
readkey;
end;

procedure bay;
begin clrscr;
gotoxy(12,10);
write('Do nast©pnego run DOS-Plus !!!');
delay(1500);
end;

procedure error;
 begin
  textbackground(1);
  textcolor(1);
  clrscr;
  textbackground(7);
  gotoXY(36,10);
  writeln(' MS-DOS ');
  gotoXY(9,13);
  textbackground(1);
  textcolor(15);
  writeln('Wyst¥piˆ krytyczny wyj¥tek XC w 1037BFF9A3C0. ');
  writeln('         Nie zakoäcz© bieŸ¥cej aplikacji bo ci© lubi©!');
  writeln;
  writeln('        * Naci˜nij jaki˜ klawisz aby powruci† do systemu DOS .');
  writeln('        * Naci˜nij CTRL+ALT+DEL ponownie, aby zresetowa† komputer.');
  writeln('          Wszystkie nie zapisane dane we wszystkich aplikacjach nie zostan¥');
  writeln('          utracone.');
  writeln;
  write('                           press any key...');
  sound(900);
  delay(500);
  nosound;
  readkey;
 end;

procedure ram;
 begin
  textbackground(0);
  clrscr;
  gotoxy(6,2);
  textcolor(2);
  write('Scaning memory...');
   textbackground(lightgray);
  textcolor(1);
     GoToXY(4, 18);
       For rs:=1 To 70 Do Write(#176);
     GoToXY(4, 18);
     for rs:=1 To 70 Do
    Begin
     Write(#219);
       Delay(200);
       dog;
       textcolor(1);
    End;
 textbackground(Black);
 delay(400);
 gotoxy(10,6);
 textcolor(1);
 textbackground(Black);
 delay(300);
 wnioski;
end;

procedure option;
begin
mn:=readkey;
 if mn=#0 then
  begin
  x:=1;
  y:=1;
  znak:=readkey;
  if znak=#80 then kr;
  if znak=#72 then kr;
  if znak=#77 then kr;
  if znak=#75 then kr;
  end;
 if mn=#105 then system_info;
 if mn=#115 then scan;
 if mn=#114 then Ram;
 if mn=#8 then error;
 if mn=#13 then
   begin
   Gotoxy(10,8);
   Textcolor(5);
   write(' Te Stefek ! Zapomniaˆe˜ Ÿe tu ENTER nie dziaˆa.');
   readkey;
   Textcolor(14);
   end;
  if mn=#27 then
   begin
   Gotoxy(10,8);
   Textcolor(3);
   write(' Kucze Kiler! ESCAPE powoduje choroby zaka«ne!');
   readkey;
   Textcolor(14);
   end;
 if mn=#113 then
   begin
   exit:=1;
   end
 else
 begin
 p:=p+20;
 if p=2000 then p:=40;
 if p>1000 then ludzik;
 sound(p);
 delay(100);
 nosound;
 end;
end;



begin
repeat
exit:=0;
c:=1;
a:=1;
clrscr;
tlo2;
menu;
option;
until exit=1;
bay;
end.