/* ti 9914 card description john Bidwell 11/23/81 */ /* (98624a card) */ /* read card register description */ struct read_9914 { unsigned char sf1, t_card_id, /* reg 1 */ sf2, t_stat_addr; /* reg 3 */ long sf4, sf5, sf6; unsigned char sf7, t_i_st0, /* reg #17 */ sf8, t_i_st1, /* 19 */ sf9, t_bus_ctl_addr_stat, /* 21 */ sf10, t_bus_stat; /* 23 */ long sf10a; unsigned char sf11, t_cmd_pass_thru, /* 29 */ sf12, t_data_in; /* 31 */ }; /* write card register description */ struct write_9914 { unsigned char pf1, t_card_id, /* reg 1 */ pf2, t_int_dma_stat; /* reg 3 */ long pf3, pf4, pf5; unsigned char pf6, t_i_msk0, /* reg 17 */ pfa6, t_i_msk1, /* 19 */ pf7,pf8,pf9, t_aux_cmd, /* 23 */ pf10, t_address_reg, /* 25 */ pf11, t_serial_poll_resp, /* 27 */ pf12, t_parallel_poll_resp, /* 29 */ pf13, t_data_out; /* 31 */ }; /* aux command register */ #define cmdswrt1 0x80 /*msb high */ #define cmdswrt0 0 #define cmdrhdf 2 #define cmdhdfa0 3 #define cmdhdfa1 0x80| 3 #define cmdhdfe0 4 #define cmdfeoi 8 #define cmdlon0 9 #define cmdlon1 0x80| 9 #define cmdton0 10 #define cmdton1 0x80|10 #define cmdgts 11 #define cmdtca 12 #define cmdrpp1 0x80|14 #define cmdrpp0 14 #define cmdsic0 15 #define cmdsic1 0x80|15 #define cmdren0 16 #define cmdren1 0x80|16 #define cmdrqc 17 #define cmdrlc 18 #define cmddai0 19 #define cmddai1 0x80|19 #define cmdshdw0 22 #define cmdshdw1 0x80|22 #define cmdt10 025 /* command macros */ #define auxcommand wrtptr->t_aux_cmd #define intmask0 wrtptr->t_i_msk0 #define intmask1 wrtptr->t_i_msk1 #define commandpass readptr->t_cmd_pass_thru #define dataout wrtptr->t_data_out #define instat0 readptr->t_i_st0 #define instat1 readptr->t_i_st1 #define ienab wrtptr->t_int_dma_stat #define busstat readptr->t_bus_stat #define datain readptr->t_data_in #define stat_b0 0x10 /* interface ready to accept next data byte in instat0 */ #define stat_bi 0x20 /* data byte accepted */ /* masks for interrupts */ #define cmdienab 19 #define cmdidisab 147 #define cmdclrtlk 10 #define cmdhdfa 131 #define init 0x80 #define byte0 0x10 #define errck 0x80 #define srq 0x02 #define srqstat 0x40 #define scd 0x60 /*2608 identify secondary*/