enigmaelectronica
Bovino de alcurnia
- Desde
- 9 Sep 2007
- Mensajes
- 3.410
- Tema Autor
- #1
Muchachos, aqui les dejo este programa, creado especialmente para aquellos que tienen problemas con su BIOS, en ocasiones las BIOS de Phoenix o BIOSTAR almacenan la contraseña y no deja resetearse...
En ocasiones se va la electricidad o tienen problemas con dispositivos perifericos, y se resetea la BIOS, puedes volver a confgurarlo con solo un par de opciones...
Tambien es util cuando tienen placas BIOSTAR que no retienen la informacion por cuestiones de desgaste de bateria y aun cambiandola no funciona mas...
Por favor compilen el codigo fuente en Pascal 7.0 usando la directiva COMPILE > Destination > Disk y luego la directiva BUILD asi les genera el Executable...
Parte del Codigo fuente:
Quieren el ejecutable?
Entonces descarguenlo desde aca:
Mirror MegaUpload
Mirror Mediafire
(si dudan pruebenlo en una maquina virtual VMWARE o Virtual PC 2007)
En ocasiones se va la electricidad o tienen problemas con dispositivos perifericos, y se resetea la BIOS, puedes volver a confgurarlo con solo un par de opciones...
Tambien es util cuando tienen placas BIOSTAR que no retienen la informacion por cuestiones de desgaste de bateria y aun cambiandola no funciona mas...
Por favor compilen el codigo fuente en Pascal 7.0 usando la directiva COMPILE > Destination > Disk y luego la directiva BUILD asi les genera el Executable...

Parte del Codigo fuente:
Código:
Program CMOS;
Uses Crt, Dos;
Const
Num_CMOS_Regs = 127; {Cantidad de registros - 1}
CMOSFile = 'CMOS.DAT';
Type TCmos = Array[0..Num_CMOS_Regs] Of Byte;
Var
Num, Info, j: Byte;
I: LongInt;
CMOSData: TCmos;
F: File of TCmos;
Procedure ShowMsg(S: String);
Begin
WriteLn;
WriteLn(S);
ReadKey;
Halt;
End;
{$I-}
Function ExistFile(S: String): Boolean;
Var F: File;
I: Byte;
Begin
Assign(F,S);
Reset(F,1);
I:= IOResult;
ExistFile:= I <> 2;
If I = 0 Then Close(F);
End;
{$I+}
{Guarda la informaci¢n actual del CMOS en un archivo}
Procedure SaveCmos;
Var C: Char;
Begin
If ExistFile(CMOSFile) Then
Begin
WriteLn;
Write('El archivo de datos ya existe ¨Desea sobreescribirlo (S/N)?');
Repeat C:= UpCase(ReadKey); Until C In ['S','N'];
WriteLn(C);
If C = 'N' Then ShowMsg('La acci¢n ha sido cancelada por el usuario.');
End;
For Num := 0 To Num_CMOS_Regs Do
Begin
Asm
xor ax, ax
mov al, Num
out 70h, al
in al, 71h
mov Info, al
End;
CmosData[Num] := Info;
End;
{$I-}
Assign(F, CMOSFile); Rewrite(F);
Write(F, CmosData);
Close(F);
{$I+}
If IOResult <> 0 Then
ShowMsg('Error: Hubo un problema intentando guardar el archivo de datos de CMOS.')
Else
ShowMsg('La informaci¢n del CMOS ha sido guardada.');
end;
Procedure RestoreCmos;
Begin
{$I-}
Assign(F, CMOSFile);
Reset(F);
Read(F, CmosData);
Close(F);
{$I+}
If IOResult <> 0 Then
Begin
ShowMsg('Error: No se pudo abrir el archivo de datos de CMOS.');
End Else
Begin
For J := 0 To Num_CMOS_Regs Do
Begin
Info := CmosData[j];
Asm
xor ax, ax
mov al, j
out 70h, al
mov al, Info
out 71h, al
End;
End;
End;
ShowMsg('La informaci¢n ha sido restaurada al CMOS exitosamente.');
End;
Var
C: Char;
Begin
ClrScr;
Help;
WriteLn;
WriteLn('Seleccione su opcion: ');
WriteLn;
WriteLn('1) Guardar los datos del CMOS y Salir');
WriteLn('2) Restaurar informaci¢n al CMOS y Salir');
WriteLn('3) Salir');
Repeat
C:= UpCase(ReadKey);
If C = '1' Then SaveCMOS;
If C = '2' Then RestoreCMOS;
Until C = '3';
End.
Quieren el ejecutable?
Entonces descarguenlo desde aca:
Mirror MegaUpload
Código:
http://www.megaupload.com/?d=NCPN4MJT
Mirror Mediafire
Código:
http://www.mediafire.com/?1jsb2358au07mjl
(si dudan pruebenlo en una maquina virtual VMWARE o Virtual PC 2007)