9
/* clock rate = 80 * output sample rate, */
10
/* usually 640000 for 8000 Hz sample rate or */
11
/* usually 800000 for 10000 Hz sample rate. */
13
typedef struct _tms5220_interface tms5220_interface;
14
struct _tms5220_interface
16
devcb_write_line irq_func; /* IRQ callback function, active low, i.e. state=0 */
17
devcb_write_line readyq_func; /* Ready callback function, active low, i.e. state=0 */
19
int (*read)(device_t *device, int count); /* speech ROM read callback */
20
void (*load_address)(device_t *device, int data); /* speech ROM load address callback */
21
void (*read_and_branch)(device_t *device); /* speech ROM read and branch callback */
24
/* Control lines - once written to will switch interface into
25
* "true" timing behaviour.
28
/* all lines with suffix q are active low! */
30
WRITE_LINE_DEVICE_HANDLER( tms5220_rsq_w );
31
WRITE_LINE_DEVICE_HANDLER( tms5220_wsq_w );
33
WRITE8_DEVICE_HANDLER( tms5220_data_w );
34
READ8_DEVICE_HANDLER( tms5220_status_r );
36
READ_LINE_DEVICE_HANDLER( tms5220_readyq_r );
37
READ_LINE_DEVICE_HANDLER( tms5220_intq_r );
40
double tms5220_time_to_ready(device_t *device);
42
void tms5220_set_frequency(device_t *device, int frequency);
44
DECLARE_LEGACY_SOUND_DEVICE(TMS5220C, tms5220c);
45
DECLARE_LEGACY_SOUND_DEVICE(TMS5220, tms5220);
46
DECLARE_LEGACY_SOUND_DEVICE(TMC0285, tmc0285);
47
DECLARE_LEGACY_SOUND_DEVICE(TMS5200, tms5200);
50
#endif /* __TMS5220_H__ */