News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

what is bios

Started by xiahan, October 08, 2012, 05:51:30 AM

Previous topic - Next topic

mineiro

yes Sir xiahan, the code was copied from bios chip to ram memory, but, I do not think that copying the ram contents back to bios will work 100%, I have read that some bios uncompress code to ram, instead of just copy their contents to ram.
After the code is stored on ram, the rom code is disabled, and ram code is used in their places.

dedndave

what used to be a bios "rom" is more than likely a "flash memory"
a type of rom that is re-writable

i have never heard of it being "uncompressed" into ram
it is likely that much of the bios code is excluded when running from memory, however
there is a lot of device init and "post" (power-on self test) code that is not required after boot has completed

mywan

Quote from: dedndave on October 16, 2012, 10:27:56 AM
what used to be a bios "rom" is more than likely a "flash memory"
a type of rom that is re-writable

i have never heard of it being "uncompressed" into ram
it is likely that much of the bios code is excluded when running from memory, however
there is a lot of device init and "post" (power-on self test) code that is not required after boot has completed
In bios settings when it mentions "Shadow BIOS ROM" it is referring to certain ROM content being loaded into memory for faster access. In many bios configurations you can turn this on or off, for both the system and video bios. Not everything in the bios is shadowed this way.

dedndave

i see those options less on newer machines
they might have been popular options in the days of win95 and win98
but the newer OS's probably work better without them
in fact, i seem to recall reading that they don't work with newer OS's

xiahan

Dave,

Quotein fact, i seem to recall reading that they don't work with newer OS's

do you mean that the new OS use some methods to bypass the bios interrupt routine, like the OS not use the int 13 to visit hard drive,but use some workarounds.

dedndave

i can't really answer that
i have an old machine that i haven't fired up for a long time   :P
it's a 225 MHz P3
it has the options in BIOS setup to shadow either BIOS or video ROM
but, as i recall, it is better if you do not use those options
and let the OS handle it - which, i am guessing, takes care of it

it's likely that much of the original code for, say, INT 10h, is handled by the OS
it may buffer things like the character sets
and let the video ROM handle a few functions like mode changes
then - the OS code takes care of most of the rest of INT 10h services

MichaelW

Quote from: xiahan on October 18, 2012, 03:03:32 AM
do you mean that the new OS use some methods to bypass the bios interrupt routine, like the OS not use the int 13 to visit hard drive,but use some workarounds.

The BIOS was designed to support real mode operating systems, so virtually everything it provided consisted of real-mode code. For an OS that runs in protected mode using the real-mode BIOS I/O services and hardware interrupt handling would be cumbersome and inefficient, at best. So the decision was made to take full control of the system after the BIOS had booted the OS, bypassing the BIOS completely.
Well Microsoft, here's another nice mess you've gotten us into.

mywan

Newer operating systems may us interrupts at some underlying level, but the subset of the bios code still in use is not the same subset that was being shadowed to begin with. So it makes perfect sense today to turn it off and use something like DosBox for older apps. The only thing shadowed, above the base 640k of memory, was basic real mode device drivers. This could also include legacy USB support. Unless you have a fairly narrow set of requirements to use some legacy devices shadowing is not generally useful today.

xiahan

all right, guys, now the bios code make more sense to me.