CMOS - zápis, čtení

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Kategórie: KMP (Programy mladých programátorů)

Autor: Jojko
Program: Cmos.pas
Soubor exe: Cmos.exe

Program umí zapisovat/číst údaje CMOS. Po spuštení zálohuje obsah CMOS na disk do souboru CMOS.dat.
{ CMOS.PAS                                                          }
{ Program vie zapisovat/citat udaje CMOS.                           }
{ Po spusteni zalohuje obsah CMOS na disk do suboru CMOS.dat        }
{                                                                   }
{ Author: jojko                                                     }
{ Datum: 22.07.2007                           http://www.trsek.com  }
 
program cmos;
uses crt,dos;
 
{ precita znak z CMOS }
procedure write_cmos(adresa,hodnota:byte);
begin
  port[$70]:=adresa;
  delay(20);
  port[$71]:=hodnota;
end;
 
{ zapise znak do CMOS }
function read_cmos(adresa:byte):byte;
begin
  port[$70]:=adresa;
  delay(20);
  read_cmos:=port[$71];
end;
 
{ urobi zalohu CMOS }
{ od adresy 0x00 az do 0x40 zapise do suboru }
procedure bakup_cmos;
var f:file of byte;
    b:byte;
  adresa:byte;
 hodnota:byte;
begin
 assign(f,'CMOS.dat');
 rewrite(f);
 adresa:=$0; b:=0;
 
 repeat
  read_cmos(adresa,b);
  write(f,b);
  inc(adresa);
 until adresa=$40;
 
 close(f);
end;
 
{ obnovi CMOS zo suboru }
procedure restore_cmos;
var f:file of byte;
    b:byte;
  adresa:byte;
 hodnota:byte;
begin
 assign(f,'CMOS.dat');
 reset(f);
 adresa:=$0; b:=0;
 
 repeat
  reaf(f,b);
  write_cmos(adresa,b);
  inc(adresa);
 until adresa=$40;
 
 close(f);
end;
 
begin
 writeln('Vytvaram zalohu CMOS do suboru CMOS.dat');
 bakup_cmos;
 writeln('hotovo');
 
 { odkomentovanie nasledovneho riadku urobi CMOS zo suboru }
 { restore_cmos; }
end.