Specifications

DIGITAL-LOGIC AG Geode LX800 Manual V1.1C
Driver, Software & BIOS Information
32
6.1.2.4. Programming Int15dl Interface under Windows
Programming of the Int15dl Interface is very similar to DOS programming, based on the DeviceIOControl
function, which operate with a pre-defined structure named "Registers".
Files:
Int15srv.h: contains definitions for the Registers structure.
Int15dlioctl.h: contains definitions for the IO control code constants.
Test_Int15dl.cpp: Sample subroutines providing access to hardware functions over the Int15dl driver.
6.1.2.4.1. Functions (Test_Int15dl.cpp)
bool Int15(Registers *Regs): the main function, which sends user requests to the driver.
Returns true, if the request finished successfully, otherwise it returns false.
Regs: address of the Registers structure containing specific request data (defined in Int15srv.h).
For example, the following code will initiate temperature measuring:
Registers Regs;
Regs.ah = 0xEC;
if(!Int15(&Regs)) //error in driver request
{
printf("Error reading temperature\n");
return;
}
//success - temperature value is in Regs.al
if(Regs.bl == 0)printf("\tTemperature = %d C\n",Regs.al);
//error - not valid value
else printf("\tError reading Temperature\n");
Note: Input and output arguments of Int15 function for different chipsets and
BIOSes are different, please, read the user manual about registers definition.
For example: To get temperature value on the board with PIIX4 chipset you have
to use "Regs.ah = 0xEC;", but on the board with ICH4 chipset, please use
"Regs.ax = 0x78EC;".
bool Open_Int15dl(void): the first function, it must be called to create a link between "DIGITAL-LOGIC
INT15 functions emulator" driver and user software. It returns “true, if the device was successfully opened;
otherwise it returns “false”.
void Close_Int15dl(void): the last function, it breaks the link between the driver and user software.
int GetChipID(void): an additional service function, it returns the type of chipset; for PIIX4 = 4, for ICH4 = 5.