Brendan wrote:
I took a quick look at the code, and noticed you've got different code for every single BIOS function. This is completely unnecessary -
protected mode interrupt handlers can switch to real mode and transfer control to the BIOS ...
The transfer is handled by the small rm_interrupt routine.
Brendan wrote:
... without caring what it is.
SudoBIOS cares.
That would be fine for a simple extender. The user would be required to call setup routines and juggle various aspects of the interface.
SudoBIOS "emulates" a 32bit protected mode BIOS transparently. 32bit input/output use only one register (not two like in RM), user
address buffers are in high memory (SudoBIOS does the translations and buffering) and only those registers and flags in the specification
of the functions are altered (SudoBIOS guarantees this). Even RM interrupts which occur while the RM BIOS is executing are handled in PM
(the default handler merely executes the original RM handler), this is so the user can manage all interrupts (if they choose) totally in PM.
Brendan wrote:
mikegonta wrote:
SudoBIOS is written in FASM (2400+ lines of Intel syntax x86 assembly language)
Exactly - it could be more like 200 lines of Intel syntax x86 assembly language.
The attention is in the detail.