/*********************************************** * comm - Serial Communication Library for C02 * ***********************************************/ /* Command Register Constants */ #define BR50 = $01 //Baud Rate - 50 BPS #define BR75 = $02 //Baud Rate - 75 BPS #define BR110 = $03 //Baud Rate - 110 BPS #define BR134 = $04 //Baud Rate - 134 BPS #define BR150 = $05 //Baud Rate - 140 BPS #define BR300 = $06 //Baud Rate - 300 BPS #define BR600 = $07 //Baud Rate - 300 BPS #define BR1200 = $08 //Baud Rate - 1200 BPS #define BR1800 = $09 //Baud Rate - 1800 BPS #define BR2400 = $0A //Baud Rate - 2400 BPS #define BR4800 = $0B //Baud Rate - 4800 BPS #define BR9600 = $0C //Baud Rate - 9600 BPS #define SBITS1 = $00 //1 Stop Bit #define SBITS2 = $80 //2 Stop Bits #define WRDLN5 = $60 //Word Length - 5 Bits #define WRDLN6 = $40 //Word Length - 5 Bits #define WRDLN7 = $20 //Word Length - 5 Bits #define WRDLN8 = $00 //Word Length - 5 Bits /* Control Register Constants */ #define PTYOFF = $00 //Parity - Disable #define PTYODD = $01 //Parity - Odd #define PTYEVN = $02 //Parity - Even #define PTYMRK = $03 //Parity - Mark #define PTYSPC = $04 //Parity - Space #define DPXFUL = $00 //Duplex - Full #define DPXHLF = $80 //Duplex - Half #define XLTNON = $00 //No Translation #define XTLASC = $10 //ASCII Translation #define LFNONE = $00 //No LF after CR #define LFSEND = $40 //Send LF after CR #define SHKSFT = $00 //Handshake - Software #define SHKHRD = $80 //Handshake - Hardware /* Return Serial Buffer Status * * Args: fp - file pointer * * Returns: tuple: number of characters in * input buffer and output buffer */ char cbffrs(); /* Close Serial Port * * Args: fp - file pointer * * Returns: 0 if successful * * 255 if error */ char cclose(); /* Get Serial Port Error Status * * Returns: Error Code * * 0 if No Error */ char cerror(); /* Read Character from Serial Port * * Args: fp - file pointer * * Returns: character read */ char cgetc(); /* Open Serial Port for Communication * * Args: prt - Serial Port Number * * cmd - Command Register * * ctl - Control Register * * Returns: File Pointer for Opened Port * * 0 if Error */ char copen(); /* Write Character to Serial Port * * Args: fp - file pointer * * c - character to write * * Returns: 0 if successful * 255 if error */ char cputc(); /* Write String to Serial Port * * Args: fp - file pointer * * &s - string to write * * Returns: 0 if successful * 255 if error */ char cputs();