From: Christian M. <cm...@bt...> - 2010-11-14 13:27:53
|
> I read through the boot code and didn't see and specifics written > about where the system bios is stored in memory. The boot code uses the software interrupts associated with the BIOS to call BIOS functions. For example, interrupt 16h (BIOS keyboard functions) and interrupt 13h (BIOS disk access functions). This is why the BIOS's location is only implicit in the boot code. > I'd like to backup a copy > of the bios and have a look-see through the file. Does anyone have any > recommended algorithms for such an exploration? I don't know what you mean by "backup". An actual backup would need the ROM chip's content. Direct access to that chip differs from vendor to vendor. I suppose its content is not necessarily the same as the part mapped into memory while an operating system runs. The mapped ROM is usually at segment F000h, or linear address F0000h, or 960 KiB. These all mean the same thing. If you are not interested in actually backing up your BIOS and rather only want to explore it, I'd recommend you use (FreeDOS) DEBUG to do that. You can use it for single-stepping through the BIOS; normal breakpoints can not be set in ROM though. (This means the P and G commands can't be used if their breakpoint(s) are to be written in the BIOS's code.) For this reason, just stepping into parts (or looking the addresses up in the interrupt vector table) then disassembling from there might be easier for exploring how the BIOS works. If you are not familiar with the software interrupts associated with the BIOS, look them up in Ralf Brown's Interrupt Table. Regards, Christian |