noshutdown wrote on 2026-02-26, 10:35:
well, i know that shadow ram is to copy the code of bios into corresponding location of ram(that ram cannot be used in other ways anyway), so that executing code in ram is faster than reading rom.
That's right! ^^
It also optionally copies the VGA BIOS or VGA+VESA VBE BIOS from the EPROMs into main RAM.
Having shadow memory also makes it possible to have UMBs in principle.
Some CMOS Setup utilities allow for defining a range of shadow memory regions.
Though using UMBPCI and PCI Shadow Memory on later PCs is probably more common, maybe.
noshutdown wrote on 2026-02-26, 10:35:
that should help performance in theory, but what happens if i enable shadow ram with a bios larger than 64kb? and in what os and programs are bios code run(not only mainboard but also video bios)?
is it actually faster on 386/486/586/686 and newer computers?
That's an interesting question, actually! 😁
To my understanding, bigger BIOSes are being compressed in some ways and must be run in RAM anyway.
That's why they are hard to dump to file from DOS, also. The whole thing isn't visible at once anymore.
Some use Cloaking technology, too.
In principle, that's like having a small remote control in conventional memory and the big main program in extended memory.
There are some Wiki articles here:
https://en.wikipedia.org/wiki/DOS_Protected_M … imedia_Cloaking
https://en.wikipedia.org/wiki/Helix_Netroom
noshutdown wrote on 2026-02-26, 10:35:
and in what os and programs are bios code run(not only mainboard but also video bios)?
is it actually faster on 386/486/586/686 and newer computers?
Mainly DOS and DOS applications use BIOS and VGA BIOS, I think.
The text-fonts often used in DOS are also included with the VGA BIOS.
Then there's VBE, which is part of VGA BIOS beginning with PCI graphics cards.
VESA's VBE BIOS supports calls from 32-Bit Protected-Mode since VBE 2.0 onwards.
So more recent 32-Bit DOS Extender applications and games might support it.
VBE 2 also supports linear framebuffer, which can be anywhere in 32-Bit memory and nolonger needs to use VGA's frame buffer.
The earlier VBE 1.2 merely supports good old Real-Mode and is used by DOS applications, often, if they need more than VGA's resolution/colour depth.
ISA graphics cards need a VBE driver (VBE TSR) that's included on the driver diskette or require UniVESA/UniVBE (512KB+ video RAM needed).
Many DOS games that use 320x200 256c resolution do program the VGA controller directly.
They use what's known mode 13h, mode y or mode x (320x240 256c).
The use of VGA BIOS is minimal here.
Edit: In other words, anything Real-Mode often uses BIOS code in some ways.
Older versions of Minix or CP/M-86 might do, as well.
Using BIOS code is conveniant and helps to avoid dealing with hardware incompatilities.
Games using 32-Bit DOS Extenders (those using DOS4GW) can still use Real-Mode code, too.
Because they must keep the communication with DOS and its drivers (such as CD-ROM and mice drivers).
But whenever possible these 32-Bit games and applications try to use Protected-Mode code instead.
Then there are also IDE Enhancer BIOSes similar to XT-IDE Universal BIOS.
They replace the default BIOS code for accessing hard disk (int 13h) and are stored on an EPROM chip.
Shadow memory helps to have them in RAM, too.
Typos fixed.
PS: One thing I forgot.. In early days of VGA not all PCs had shadow memory yet.
So in order to speed up access to VGA BIOS, their driver/utility disks contained a "RAM BIOS" utility.
It essentially was a TSR version of a VGA BIOS that installed itself into conventional memory.
Like any other DOS TSR it could be loaded into UMBs, too, of course.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//