From: H. Peter Anvin on
almas wrote:
> Hi every body.
> I found this file, a document file indicates that it erase the CMOS
>
> 0100 b9 40 00 mov cx,0040
> 0103 89 c8 mov ax,cx
> 0105 48 dec ax
> 0106 0c 80 or al,80
> 0108 e6 70 out 70,al
> 010a 31 c0 xor ax,ax
> 010c e6 71 out 71,al
> 010e e2 f3 loop 0103
> 0110 eb fe jmp 0110 ; a INT 20h could be better
>
> I dit not use it. If i use, what will append ?
>
>

It would erase the first 64 bytes of CMOS, including the real-time clock
setting. Since it would erase the CMOS checksum the BIOS would probably
reinitialize the CMOS on the next boot.

-hpa
From: Rod Pemberton on

"H. Peter Anvin" <hpa(a)zytor.com> wrote in message
news:473F53DC.9090805(a)zytor.com...
> almas wrote:
> > Hi every body.
> > I found this file, a document file indicates that it erase the CMOS
> >
> > 0100 b9 40 00 mov cx,0040
> > 0103 89 c8 mov ax,cx
> > 0105 48 dec ax
> > 0106 0c 80 or al,80
> > 0108 e6 70 out 70,al
> > 010a 31 c0 xor ax,ax
> > 010c e6 71 out 71,al
> > 010e e2 f3 loop 0103
> > 0110 eb fe jmp 0110 ; a INT 20h could be better
> >
> > I dit not use it. If i use, what will append ?
> >
>
> It would erase the first 64 bytes of CMOS, including the real-time clock
> setting. Since it would erase the CMOS checksum the BIOS would probably
> reinitialize the CMOS on the next boot.
>

If it's an "older" machine, blank screen, no cpu detection, no system
startup, i.e., dead until CMOS is reset and reprogrammed. He'll be
disassembling the machine completely to get to the motherboard jumpers.
Then he has to find and change the position of the CMOS reset jumper... (not
some other jumper...) power up... power down... put jumper back... rebuild
your system... reboot... hope system comes up... reset all CMOS parameters.


Rod Pemberton

From: almas on
The file was build in 1991.
I imagine that the instruction OUT 71,AL erase the CMOS

I did not use the file.
I do not know if the file can destroy the CMOS
You have an idea ?

"Rod Pemberton" <do_not_have(a)nohavenot.cmm> a �crit dans le message de news:
fho34f$a2j$1(a)aioe.org...
>
> "H. Peter Anvin" <hpa(a)zytor.com> wrote in message
> news:473F53DC.9090805(a)zytor.com...
>> almas wrote:
>> > Hi every body.
>> > I found this file, a document file indicates that it erase the CMOS
>> >
>> > 0100 b9 40 00 mov cx,0040
>> > 0103 89 c8 mov ax,cx
>> > 0105 48 dec ax
>> > 0106 0c 80 or al,80
>> > 0108 e6 70 out 70,al
>> > 010a 31 c0 xor ax,ax
>> > 010c e6 71 out 71,al
>> > 010e e2 f3 loop 0103
>> > 0110 eb fe jmp 0110 ; a INT 20h could be better
>> >
>> > I dit not use it. If i use, what will append ?
>> >
>>
>> It would erase the first 64 bytes of CMOS, including the real-time clock
>> setting. Since it would erase the CMOS checksum the BIOS would probably
>> reinitialize the CMOS on the next boot.
>>
>
> If it's an "older" machine, blank screen, no cpu detection, no system
> startup, i.e., dead until CMOS is reset and reprogrammed. He'll be
> disassembling the machine completely to get to the motherboard jumpers.
> Then he has to find and change the position of the CMOS reset jumper...
> (not
> some other jumper...) power up... power down... put jumper back... rebuild
> your system... reboot... hope system comes up... reset all CMOS
> parameters.
>
>
> Rod Pemberton
>


From: Rod Pemberton on

"almas" <almas(a)globistar.fr> wrote in message
news:4740b801$0$25948$ba4acef3(a)news.orange.fr...
> The file was build in 1991.
> I imagine that the instruction OUT 71,AL erase the CMOS
>
> I did not use the file.

Good.

> I do not know if the file can destroy the CMOS

Yes. It will. Well, actually, it will erase the contents of CMOS. It
won't destroy the CMOS. The CMOS can be reprogrammed.

> You have an idea ?

Accessing these port is documented here (actually part of Ralf Brown's
Interrupt List):
http://www.textfiles.com/programming/cmos.lst

> You have an idea ?

Yes. It should erase part or all of the CMOS. It appears that the code can
destroy the 1) complete contents of the CMOS for older machines and 2) part
of the contents of CMOS for newer machines. I didn't and don't intend to
run it to confirm this. It appears to properly access to the 0x70 and 0x71
ports erasing the first 64 bytes of CMOS. Older machines have 64 bytes of
CMOS (mov cx, 0040). Newer machines have 128 bytes of CMOS (mov cx, 0080).
So, newer machines will only have a partial erasure.


Rod Pemberton

From: almas on
Where can i find information about CMOS ?
Does exist same information in same place for CMOS ?

For example :0x70 0x71 are always used for same thing ?

"Rod Pemberton" <do_not_have(a)nohavenot.cmm> a �crit dans le message de news:
fhqnmm$ala$1(a)aioe.org...
>
> "almas" <almas(a)globistar.fr> wrote in message
> news:4740b801$0$25948$ba4acef3(a)news.orange.fr...
>> The file was build in 1991.
>> I imagine that the instruction OUT 71,AL erase the CMOS
>>
>> I did not use the file.
>
> Good.
>
>> I do not know if the file can destroy the CMOS
>
> Yes. It will. Well, actually, it will erase the contents of CMOS.
> It
> won't destroy the CMOS. The CMOS can be reprogrammed.
>
>> You have an idea ?
>
> Accessing these port is documented here (actually part of Ralf Brown's
> Interrupt List):
> http://www.textfiles.com/programming/cmos.lst
>
>> You have an idea ?
>
> Yes. It should erase part or all of the CMOS. It appears that the code
> can
> destroy the 1) complete contents of the CMOS for older machines and 2)
> part
> of the contents of CMOS for newer machines. I didn't and don't intend to
> run it to confirm this. It appears to properly access to the 0x70 and
> 0x71
> ports erasing the first 64 bytes of CMOS. Older machines have 64 bytes of
> CMOS (mov cx, 0040). Newer machines have 128 bytes of CMOS (mov cx,
> 0080).
> So, newer machines will only have a partial erasure.
>
>
> Rod Pemberton
>