Mega Code Archive

 
Categories / Delphi / Hardware
 

Bios haritası [unit şeklinde]

//Ersin Kecis. 01/05/2002. ersin@kecis.4t.com unit Bios; interface var BiosSeg : record ComBase : array[1..4] of word; LptBase : array[1..4] of word; InstalledHardware : array[1..2] of byte; POST_Status : byte; { Convertible only } MemorySize : word; _RESERVED1 : word; KeyboardControl : array[1..2] of byte; AlternateKeypadEntry : byte; KeyboardBufferHeadPtr : word; { points to first char in type-ahead buffer } KeyboardBufferTailPtr : word; { points to last char in type-ahead buffer } KeyboardBuffer : array[1..16] of word; FloppyRecalStatus : byte; FloppyMotorStatus : byte; FloppyMotorOffCounter : byte; FloppyPrevOpStatus : byte; FloppyControllerStatus : array[1..7] of byte; DisplayMode : byte; NumberOfColumns : word; RegenBufferLength : word; RegenBufferAddress : word; CursorPosition : array[1..8] of word; CursorType : word; CurrentDisplayPage : byte; VideoControllerBaseAddress : word; Current3x8Register : byte; Current3x9Register : byte; PointerToResetCode : pointer; { PS/2 only - except model 30 } _RESERVED2 : byte; TimerCounter : longint; TimerOverflowFlag : byte; { non-zero means timer passed 24 hours } BreakKeyState : byte; ResetFlag : word; { $1234=bypass mem test; $4321=preserve mem (PS/2) } { $5678=system supended (Convertible) } { $9ABC=manufacturing test (Convertible) } { $ABCD=system POST loop (Convertible only) } FixedDiskPrevOpStatus : byte; NumberOfFixedDrives : byte; FixedDiskDriveControl : byte; {XT only} FixedDiskControllerPort : byte; {XT only} LptTimeOut : array[1..4] of byte; { [4] valid for PC, XT and AT only } ComTimeOut : array[1..4] of byte; KeyboardBufferStartOffsetPtr :word; KeyboardBufferEndOffsetPtr :word; VideoRows : byte; CharacterHeight : word; { bytes per character } VideoControlStates : array[1..2] of byte; _RESERVED3 : word; MediaControl : byte; FixedDiskControllerStatus : byte; { AT, XT after 1/10/85, PS/2 only } FixedDiskControllerErrorStatus : byte; { AT, XT after 1/10/85, PS/2 only } FixedDiskInterruptControl : byte; { AT, XT after 1/10/85, PS/2 only } _RESERVED4 : byte; DriveMediaState : array[0..1] of byte; _RESERVED5 : word; DriveCurrentCylinder : array[0..1] of byte; KeyboardModeState : byte; KeyboardLEDflags : byte; UserWaitCompleteFlagAddress : pointer; UserWaitCount : longint; { micro-seconds } WaitActiveFlag : byte; _RESERVED6 : array[1..7] of byte; VideoParameterTable : pointer; { EGA and PS/2 only } DynamicSaveArea : pointer; { EGA and PS/2 only } AlphaModeAuxCharGenerator : pointer; { EGA and PS/2 only } GraphicsModeAuxCharGenerator : pointer; { EGA and PS/2 only } SecondarySaveArea : pointer; { PS/2 only (not Model 30) } _RESERVED7 : array[1..4] of byte; _RESERVED8 : array[1..64] of byte; PrintScreenStatus : byte; end absolute $0040:$0000; implementation end.