summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/sound/tms5220.h
blob: b127cb2dc49511106161c52d754c6452a8ed7105 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef tms5220_h
#define tms5220_h

void *tms5220_create(int index);
void tms5220_destroy(void *chip);

void tms5220_reset_chip(void *chip);
void tms5220_set_irq(void *chip, void (*func)(int));

void tms5220_data_write(void *chip, int data);
int tms5220_status_read(void *chip);
int tms5220_ready_read(void *chip);
int tms5220_cycles_to_ready(void *chip);
int tms5220_int_read(void *chip);

void tms5220_process(void *chip, INT16 *buffer, unsigned int size);

/* three variables added by R Nabet */
void tms5220_set_read(void *chip, int (*func)(int));
void tms5220_set_load_address(void *chip, void (*func)(int));
void tms5220_set_read_and_branch(void *chip, void (*func)(void));



typedef enum
{
	variant_tms5220,	/* TMS5220_IS_TMS5220, TMS5220_IS_TMS5220C,  TMS5220_IS_TSP5220C */
	variant_tmc0285		/* TMS5220_IS_TMS5200, TMS5220_IS_CD2501 */
} tms5220_variant;

void tms5220_set_variant(void *chip, tms5220_variant new_variant);

#endif