(* Release 3.10 *) (*-------------------------------------------------------------------------* * * * BIOS.DEF - Modula-2 interface to BIOS.H * * * * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. * * All Rights Reserved * * * *--------------------------------------------------------------------------*) (*# project("#set tsc='on'") *) (*# call(o_a_size=>off, o_a_copy=>off, c_conv=>on, result_optional=>on) *) (*# module(implementation=>off, init_code=>off) *) (*# name(prefix=>c) *) DEFINITION MODULE bios; CONST (* Serial Port Initializers *) _COM_INIT = 0; (* init serial port *) _COM_SEND = 1; (* send character *) _COM_RECEIVE = 2; (* receive character *) _COM_STATUS = 3; (* get serial port status *) (* character size initializers *) _COM_CHR7 = BITSET(2); (* 7 bits characters *) _COM_CHR8 = BITSET(3); (* 8 bits characters *) (* stop bit values *) _COM_STOP1 = BITSET(0); (* 1 stop bit *) _COM_STOP2 = BITSET(4); (* 2 stop bits *) (* parity initializers *) _COM_NOPARITY = BITSET(0); (* no parity *) _COM_ODDPARITY = BITSET(8); (* odd parity *) _COM_EVENPARITY = BITSET(24);(* even parity *) (* baud rate initializers *) _COM_110 = BITSET(0); (* 110 Baud *) _COM_150 = BITSET(32); (* 150 Baud *) _COM_300 = BITSET(64); (* 300 Baud *) _COM_600 = BITSET(96); (* 600 Baud *) _COM_1200 = BITSET(128); (* 1200 Baud *) _COM_2400 = BITSET(160); (* 2400 Baud *) _COM_4800 = BITSET(192); (* 4800 Baud *) _COM_9600 = BITSET(224); (* 9600 Baud *) (* constants for BIOS disk support *) (* disk services *) _DISK_RESET = 0; (* reset disk controller *) _DISK_STATUS = 1; (* get disk status *) _DISK_READ = 2; (* read disk sectors *) _DISK_WRITE = 3; (* write disk sectors *) _DISK_VERIFY = 4; (* verify disk sectors *) _DISK_FORMAT = 5; (* format disk track *) (* constants for BIOS keyboard support *) _KEYBRD_READ = 0; (* read next character from keyboard *) _KEYBRD_READY = 1; (* check for keystroke *) _KEYBRD_SHIFTSTATUS = 2; (* get current shift key status *) (* constants for BIOS printer support *) _PRINTER_WRITE = 0; (* write character to printer *) _PRINTER_INIT = 1; (* initialize printer *) _PRINTER_STATUS = 2; (* get printer status *) (* constants for BIOS time of day support *) _TIME_GETCLOCK = 0; (* get current clock count *) _TIME_SETCLOCK = 1; (* set current clock count *) TYPE diskinfo_t = RECORD drive : CARDINAL; head : CARDINAL; track : CARDINAL; sector : CARDINAL; nsectors : CARDINAL; buffer : ADDRESS; END; PROCEDURE bioscom(cmd:CARDINAL;byte:BYTE;port:CARDINAL):CARDINAL; PROCEDURE biosdisk(cmd,drive,head,track,sector,nsecs:CARDINAL;buf:ADDRESS):CARDINAL; PROCEDURE biosequip():BITSET; PROCEDURE bioskey(cmd:CARDINAL):CARDINAL; PROCEDURE biosmemory():CARDINAL; PROCEDURE biosprint(cmd:CARDINAL;byte:BYTE;port:CARDINAL):CARDINAL; PROCEDURE biostime(cmd:CARDINAL;newtime:LONGCARD); PROCEDURE _bios_equiplist():CARDINAL; PROCEDURE _bios_keybrd(cmd:CARDINAL):CARDINAL; PROCEDURE _bios_memsize():CARDINAL; PROCEDURE _bios_printer(cmd,port,data:CARDINAL):CARDINAL; PROCEDURE _bios_serialcom(cmd,port,data:CARDINAL):CARDINAL; PROCEDURE _bios_timeofday(cmd:CARDINAL;VAR time:LONGCARD):CARDINAL; PROCEDURE _bios_disk(cmd:CARDINAL;VAR info:diskinfo_t):CARDINAL; END bios.