| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- (* 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.
|