{ 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.