A SERVICE OF

logo

Technical Reference Guide
Compaq iPAQ Family of Internet Devices
First Edition - March 2000
8-3
To support Windows NT an additional table to the BIOS32 table has been defined to contain 32-
bit pointers for the DDC and SIT locations. The Windows NT extension table is as follows:
; Extension to BIOS SERVICE directory table (next paragraph)
db “32OS” ; sig
db 2 ; number of entries in table
db “$DDC” ; DDC POST buffer sig
dd ? ; 32-bit pointer
dw ? ; byte size
db “$SIT” ; SIT sig
dd ? ; 32-bit pointer
dw ? ; byte size
db “$ERB” ; ESCD sig
dd ? ; 32-bit pointer
dw ? ; bytes size
The service identifier for Desktop Management functions is $CLM. Once the service identifier
is found and the checksum verified, a FAR call is invoked using the value specified at offset 04h
to retrieve the CM services entry point. The following entry conditions are used for calling the
Desktop Management service directory:
INPUT:
EAX = Service Identifier [$CLM]
EBX (31..8) = Reserved
EBX (7..0) = Must be set to 00h
CS = Code selector set to encompass the physical page holding
entry point as well as the immediately following physical page.
It must have the same base. CS is execute/read.
DS = Data selector set to encompass the physical page holding
entry point as well as the immediately following physical page.
It must have the same base. DS is read only.
SS = Stack selector must provide at least 1K of stack space and be 32-bit.
(I/O permissions must be provided so that the BIOS can support as necessary)
OUTPUT:
AL = Return code:
00h, requested service is present
80h, requested service is not present
81h, un-implemented function specified in BL
86h and CF=1, function not supported
EBX = Physical address to use as the selector BASE for the service
ECX = Value to use as the selector LIMIT for the service
EDX = Entry point for the service relative to the BASE returned in EBX