N
Norman L. DeForest
The in/out asm port commands are not available, so software that
updates the cmos under 95/98 will not work under nt/xp, however
as in http://www.winsoft.sk/xioport.htm
it can be done through appropriate api calls. See
http://www.tetraedre.com/advanced/serial.php if you'd like more info.
The flashing of bios, is of course bios make/version dependant.
As is changing the BIOS settings.
You can have three versions of the way BIOS settings are changed:
1. Initially all BIOS settings are accessible until a certain I/O port
is written to, then access to all BIOS settings except the clock are
disabled until the PC is reset. That port is written to by the BIOS
itself *before* booting so the operating system *can't* change the
BIOS settings other than the CMOS clock.
2. All BIOS settings are accessible at all times by the appropriate
software. The operating system may restrict this as it chooses if
you are running in protected mode.
3. BIOS settings are stored on a hidden sector on the hard drive and
are normally accessible only by using a special boot floppy with
a SETUP routine for accessing that sector and changing the data on it.
Type 2 BIOSes can be subverted by software. At least one virus forced
the CMOS settings that prevented booting from a floppy until it had
loaded itself and faked a floppy boot. To boot from a floppy you *had*
to power off, enter the CMOS immediately on power-up and set the boot
order to A:,C: and then save the settings and continue booting.
Certain earlier Compaqs were type 3. A special boot disk with a SETUP
utility is needed to change the BIOS settings.
At least the earlier BIOSes were type 1. The CMOS settings were
write-accessable *only* by entering the BIOS SETUP routines before
booting. Skipping or exiting the SETUP automatically wrote to the
I/O port that disabled write access to the CMOS settings until the
next hardware reset. I think that changed when a lot of operating
system dependant stuff got added to the CMOS settings.