User:Johnburger/Demo/BIOS/BIOS

From OSDev Wiki
Jump to: navigation, search

Although the BIOS includes a huge number of functions, this Demonstrator only uses a few, so only those are defined herein.

Each BIOS handler has its own BIOS.*.Int number, and just about all of them expect AH to hold the requested BIOS.*.Fn. From there other registers may be used to provide more information.

One guarantee is that BIOS functions will not modify any registers that aren't expressly mentioned in their description, such as for returning results. In particular, ESI and EDI are practically never used as input or output parameters.

Demo/BIOS/BIOS.inc

;
; BIOS/BIOS.inc
;
 
; The original IBM PC BIOS, and various successors, have all embodied relatively
; arbitrary design decisions that have become industry standards. Of course, not
; every BIOS uses the same definitions, and others had bugs which were fixed in
; later versions, but those arbitrary decisions need to be either utilised or
; accommodated by any system wanting to work on the PC.
 
BIOS.RAMTop.Int EQU             12h
 
;-------------------------------------------------------------------------------
%include        "BIOS/A20.inc"          ; Definitions for A20 Gate controller
;-------------------------------------------------------------------------------
%include        "BIOS/RAMMap.inc"       ; Definitions for RAMMap information
;-------------------------------------------------------------------------------
%include        "BIOS/Key.inc"          ; Definitions for Keyboard
;-------------------------------------------------------------------------------
%include        "BIOS/VGA.inc"          ; Definitions for VGA video
;-------------------------------------------------------------------------------
%include        "BIOS/Disk.inc"         ; Definitions for Disk controller
;-------------------------------------------------------------------------------
%include        "BIOS/MBR.inc"          ; Definitions for Master Boot Record
;-------------------------------------------------------------------------------
%include        "BIOS/MemMap.inc"       ; Definitions for boot-time memory map
Personal tools
Namespaces
Variants
Actions
Navigation
About
Toolbox