home *** CD-ROM | disk | FTP | other *** search
- /*
- * This header file contains hardware-dependent definitions for C programs.
-
- Set up for Big Board II by Michael Mee 1983-7-30
- Revision 0.0
-
- Includes initialization for use with modem, with thanks to
- Gordon Banks.
- */
-
- /*
- * Some console (video) terminal characteristics:
- */
-
- #define TWIDTH 80 /* # of columns */
- #define TLENGTH 24 /* # of lines */
- #define CLEARS "\032" /* String to clear screen on console */
- #define INTOREV "\033G4" /* String to switch console into reverse video */
- #define OUTAREV "\033G0" /* String to switch console OUT of reverse video */
- #define ESC '\033' /* Standard ASCII 'escape' character */
-
-
- /*
- The following definitions provide a portable low-level interface
- for direct I/O to the console and modem devices. The values
- used here are only for example; be certain to go in and customize
- them for your system! Note that only one of the two sections
- (I/O port vs. memory mapped) will be needed for your system,
- so feel free to edit the unused section out of the file and remove
- the conditional compilation lines around the section you end up
- using.
- */
- /* Console */
- #define CON_TBE (TRUE) /* Memory mapped screen always rdy */
- #define CON_RDA (bios(2,0))
- #define CON_TDATA(byte) (bios(4,byte))
- #define CON_RDATA (bios(3,0))
-
- /* Modem */
- /*************
- Comment out the appropriate block for SIO A/B
- *************/
- #define SIOA /* change to SIOB for B port */
-
- #ifdef SIOA
- #define CPORT 0x81 /* sio A control port */
- #define DPORT 0x80 /* ' data ' */
- #define BAUDPORT 0x89 /* CTC B channel 1 */
- #endif
- #ifdef SIOB
- #define CPORT 0x83 /* sio B control port */
- #define DPORT 0x82 /* ' data ' */
- #define BAUDPORT 0x88 /* CTC B channel 0 */
- #endif
-
- #define MOD_TBE (inp(CPORT) & 4)
- #define MOD_RDA (inp(CPORT) & 1)
- #define MOD_TDATA(byte) (outp(DPORT, byte))
- #define MOD_RDATA (inp(DPORT))
-
-
- /********** init - set up SIO (port A)
- For 8 bits, no parity, 1 start & stop bit
-
- Add a call to init() from TELED, or incorporate this into
- your BIOS to set up your SIO & CTC for modem use.
-
- ( I haven't checked this for port B. Check SIO documentation
- if you have problems - and channel A WILL work)
- *********/
-
- #define X8BIT 0x60 /* transmit 8 bits */
- #define XDTR 0x80 /* ready to transmit */
- #define XBREAK 0x10 /* transmit a break */
- #define XENABLE 0x08 /* transmit enable */
- #define XRTS 0x02 /* Ready to send */
- #define R8BIT 0xC0 /* receive 8 bits */
- #define R1STOP 0x04 /* receive 1 stop bit */
- #define RENABLE 1 /* receive enable */
- #define R16CLCK 0x40 /* 16 x clock mode */
- #define BAUDPORT 0 /* baud rate generator port (SIO chan A) */
-
-
- init() /* set up modem port */
- {
- outp(BAUDPORT, 0x47); /* set up baud rate */
- outp(BAUDPORT, 128); /* (to 300) */
- outp(CPORT, 4); /* select SIO reg 4 */
- outp(CPORT, R16CLCK | 0x04); /* 16 clock, 1 stop bit */
- outp(CPORT, 3); /* reg 3 */
- outp(CPORT, R8BIT | RENABLE); /* 8 bits, read enable */
- outp(CPORT, 5); /* reg 5 */
- outp(CPORT, XDTR | X8BIT | XENABLE | XRTS);
- }
-