#define BYTE unsigned char
#define WORD unsigned long int
#define DIRBASE1  0x3BC
#define DIRBASE2  0x378
#define OUTPUT    0x00
#define STATUS    0x01
#define CONTROL   0x02

#define PAPER_END 0x20 /* Entrada PIN 12 STATUS  */
#define SELECT_IN 0x08 /* Salida  PIN 17 CONTROL */
#define ERROR     0x08 /* Entrada PIN 15 STATUS  */
#define D7        0x80 /* Salida  PIN  9 OUTPUT  */
#define BUSY      0x80 /* Entrada PIN 11 STATUS  */

#define SCLOUT    SELECT_IN
#define SCLIN     ERROR
#define SDAOUT    D7
#define SDAIN     BUSY
#define POWER     PAPER_END

extern WORD puerto;
extern BYTE Power (void);
extern void TxReloj (BYTE dato);
extern BYTE RxReloj (void);
extern void TxDato (BYTE dato);
extern BYTE RxDato (void);
extern void Start (void);
extern void Stop (void);
extern BYTE Ack (void);
extern BYTE Trans(BYTE Dato);
extern BYTE Recei(void);

    Source: geocities.com/v.iniestra/apuntes/cir_com

               ( geocities.com/v.iniestra/apuntes)                   ( geocities.com/v.iniestra)