Specifications

16
#define AUXRJ 0xF0
#define TM(value) (AUXRJ | value)
#define CNT3 *(unsigned char *) (BASE + 0x2D)
#define CNT2 *(unsigned char *) (BASE + 0x25)
#define CNT1 *(unsigned char *) (BASE + 0x58)
#define CNT0 *(unsigned char *) (BASE + 0x50)
#define ADR0 *(unsigned char *) (BASE + 0x30)
#define F_ADR0 (ADR0 & 0x1F)
#define B_DL0 (ADR0 & 0x20)
#define B_DT0 (ADR0 & 0x40)
#define ADR *(unsigned char *) (BASE + 0x30)
#define ADDR(val) (ADR | val)
#define E_DL 0x20
#define E_DT 0x40
#define E_ARS 0x80
#define HSSEL *(unsigned char *) (BASE + 0x35)
#define E_ONEC 0x01
#define E_NODMA 0x10
#define E_GO2SIDS 0x20
#define ADR1 *(unsigned char *) (BASE + 0x38)
#define F_ADR1 (ADR1 & 0x1F)
#define B_DL1 (ADR1 & 0x20)
#define B_DT1 (ADR1 & 0x40)
#define B_EOI1 (ADR1 & 0x80)
#define EOSR *(unsigned char *) (BASE + 0x38)
#define STS1 *(unsigned char *) (BASE + 0x40)
#define B_GSYNC (STS1 & 0x01)
#define B_HALT (STS1 & 0x02)
#define B_DAV (STS1 & 0x04)
#define B_stsSTOP (STS1 & 0x08)
#define B_DRQ (STS1 & 0x10)
#define B_IN (STS1 & 0x20)
#define B_SC (STS1 & 0x40)
#define B_stsDONE (STS1 & 0x80)
#define CFG *(unsigned char *) (BASE + 0x40)
#define E_168N 0x01
#define E_TIM 0x02
#define E_TMOE 0x04
#define E_CCEN 0x08
#define E_ABN 0x10
#define E_IN 0x20
#define E_TLCHLTE 0x40
#define E_COMMAND 0x80
#define DSR *(unsigned char *) (BASE + 0x45)
#define SHCNT *(unsigned char *) (BASE + 0x45)
#define pt1 0x00
#define E_PT1 (pt1 | 0x20)
#define PT1(value) (pt1 | value)
#define t17 0x40
#define T17(value) (t17 | value)
#define t12 0x80
#define T12(value) (t12 | value)