--- np2/io/serial.h 2004/02/18 03:24:48 1.6 +++ np2/io/serial.h 2007/11/03 00:00:20 1.11 @@ -1,19 +1,24 @@ enum { - KB_BUFBIT = 7, - KB_BUF = (1 << KB_BUFBIT), + KB_CTR = (1 << 3), + KB_CTRMASK = (KB_CTR - 1), + + KB_BUF = (1 << 7), KB_BUFMASK = (KB_BUF - 1) }; typedef struct { UINT32 xferclock; UINT8 data; - UINT8 mode; UINT8 cmd; + UINT8 mode; UINT8 status; - int buffers; - int pos; - BYTE buf[KB_BUF]; + UINT ctrls; + UINT ctrpos; + UINT buffers; + UINT bufpos; + UINT8 ctr[KB_CTR]; + UINT8 buf[KB_BUF]; } _KEYBRD, *KEYBRD; typedef struct { @@ -34,9 +39,10 @@ extern "C" { void keyboard_callback(NEVENTITEM item); -void keyboard_reset(void); +void keyboard_reset(const NP2CFG *pConfig); void keyboard_bind(void); void keyboard_resetsignal(void); +void keyboard_ctrl(REG8 data); void keyboard_send(REG8 data); @@ -44,12 +50,12 @@ void keyboard_send(REG8 data); void rs232c_construct(void); void rs232c_destruct(void); -void rs232c_reset(void); +void rs232c_reset(const NP2CFG *pConfig); void rs232c_bind(void); void rs232c_open(void); void rs232c_callback(void); -BYTE rs232c_stat(void); +UINT8 rs232c_stat(void); void rs232c_midipanic(void); #ifdef __cplusplus