BIOS: Difference between revisions

920 bytes added ,  16 years ago
Added more "generic" BIOS INT calls
[unchecked revision][unchecked revision]
(Expanded stubbed article)
(Added more "generic" BIOS INT calls)
Line 40:
But there is definitely a set that is commonly used in most current OSes.
 
* INT 0x10, ??AH = 1 -- set up the cursor
* INT 0x10, AH = 3 -- cursor position
* INT 0x10, AH = 0xE -- display char
* INT 0x10, AH = 0xF -- get video page and mode
* INT 0x10, AH = 0x11 -- set 8x8 font
* INT 0x10, AH = 0x12 -- detect EGA/VGA
* INT 0x10, AH = 0x13 -- display string
* INT 0x10, AH = 0x1200 -- Alternate print screen
* INT 0x10, AH = 0x1201 -- turn off cursor emulation
* INT 0x10, AX = 0x4F00 -- video memory size
* INT 0x10, AX = 0x4F01 -- VESA get mode information call
* INT 0x10, AX = 0x4F02 -- select VESA video modes
* INT 0x10, AX = 0x4F0A -- VESA 2.0 protected mode interface
 
* INT 0x11 -- Hardware detection
 
(see [[ATA_in_x86_RealMode_(BIOS)|ATA using BIOS]] for more detail on these BIOS function calls)
Line 47 ⟶ 60:
* INT 0x13, AH = 2 -- read floppy/hard disk in CHS mode
* INT 0x13, AH = 3 -- write floppy/hard disk in CHS mode
* INT 0x13, AH = 0x15 -- detect second disk
* INT 0x13, AH = 0x41 -- test existence of INT 13 extensions
* INT 0x13, AH = 0x42 -- read hard disk in LBA mode
Line 59 ⟶ 73:
* INT 0x15, AH = 0x88 -- get contiguous memory size
 
* INT 0x15, AH = 0xC0 -- Detect MCA bus
* INT 0x15, AX = 0x0530 -- Detect APM BIOS
* INT 0x15, AH = 0x5300 -- APM detect
* INT 0x15, AX = 0x5303 -- APM connect using 32 bit
* INT 0x15, AX = 0x5304 -- APM disconnect
 
 
* INT 0x16, AH = 0 -- read keyboard scancode (blocking)
* INT 0x16, AH = 1 -- read keyboard scancode (non-blocking)
* INT 0x16, AH = 3 -- keyboard repeat rate
 
 
Anonymous user