-
Notifications
You must be signed in to change notification settings - Fork 18
/
chip_strp.h
125 lines (124 loc) · 2.84 KB
/
chip_strp.h
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
typedef struct stip_generic // contains all common values
{
bool All;
UINT32 ChnMask;
} STRIP_GENERIC;
typedef struct stip_sn76496
{
bool All;
UINT32 ChnMask; // 0, 1, 2, noise
UINT8 Other; // Bit 0 - GG Stereo
} STRIP_PSG;
typedef struct stip_ym3812
{
bool All;
UINT32 ChnMask; // 0-8 (0-17 for OPL3/4), BD, SD, TT, TC, HH
UINT8 Other; // Bit 7 - Delta-T
} STRIP_OPL;
typedef struct stip_ym2612
{
bool All;
UINT32 ChnMask; // 0-5, DAC
UINT8 Other; // Bit 7 - Delta-T
} STRIP_OPN;
typedef struct stip_ym2151
{
bool All;
UINT32 ChnMask; // 0-7
UINT8 Other;
} STRIP_OPM;
typedef struct stip_pcm
{
bool All;
UINT32 ChnMask; // 0-7
UINT8 Other;
} STRIP_PCM;
typedef struct stip_ymf278b_wt
{
bool All;
UINT32 ChnMask; // 0-23
UINT8 Other;
} STRIP_OPL4WT;
typedef struct stip_ymf271
{
bool All;
UINT32 ChnMask; // 0-11
UINT8 Other;
} STRIP_OPX;
typedef struct stip_ymz280b
{
bool All;
UINT32 ChnMask; // 0-7
UINT8 Other;
} STRIP_YMZ;
typedef struct stip_pwm
{
bool All;
// there is only ONE sort of commands
} STRIP_PWM;
typedef struct stip_dac_control
{
bool All;
UINT8 StrMsk[0x20]; // 0x100 / 8
} STRIP_DACCTRL;
typedef struct strip_data
{
STRIP_DACCTRL DacCtrl;
STRIP_PSG SN76496;
STRIP_OPL YM2413;
STRIP_OPN YM2612;
STRIP_OPM YM2151;
STRIP_PCM SegaPCM;
STRIP_PCM RF5C68;
STRIP_OPN YM2203;
STRIP_OPN YM2608;
STRIP_OPN YM2610;
STRIP_OPL YM3812;
STRIP_OPL YM3526;
STRIP_OPL Y8950;
STRIP_OPL YMF262;
bool YMF278B_All;
STRIP_OPL YMF278B_FM;
STRIP_OPL4WT YMF278B_WT;
STRIP_OPX YMF271;
STRIP_YMZ YMZ280B;
STRIP_PCM RF5C164;
STRIP_PWM PWM;
STRIP_PSG AY8910;
STRIP_PSG GBDMG;
STRIP_PSG NESAPU;
STRIP_OPL4WT MultiPCM;
STRIP_PCM UPD7759;
STRIP_PCM OKIM6258;
STRIP_PCM OKIM6295;
STRIP_PSG K051649;
STRIP_PCM K054539;
STRIP_PSG HuC6280;
STRIP_OPL4WT C140;
STRIP_PCM K053260;
STRIP_PSG Pokey;
STRIP_OPX QSound;
bool Unknown;
} STRIP_DATA;
void InitAllChips(void);
void FreeAllChips(void);
void SetChipSet(UINT8 ChipID);
bool GGStereo(UINT8 Data);
bool sn76496_write(UINT8 Command);
bool ym2413_write(UINT8 Register, UINT8 Data);
bool ym2612_write(UINT8 Port, UINT8 Register, UINT8 Data);
bool ym2151_write(UINT8 Register, UINT8 Data);
bool segapcm_mem_write(UINT16 Offset, UINT8 Data);
bool rf5c68_reg_write(UINT8 Register, UINT8* Data);
bool rf5c68_mem_write(UINT16 Offset, UINT8 Data);
bool ym2203_write(UINT8 Register, UINT8 Data);
bool ym2608_write(UINT8 Port, UINT8 Register, UINT8 Data);
bool ym2610_write(UINT8 Port, UINT8 Register, UINT8 Data);
bool ym3812_write(UINT8 Register, UINT8 Data);
bool ym3526_write(UINT8 Register, UINT8 Data);
bool y8950_write(UINT8 Register, UINT8 Data);
bool ymf262_write(UINT8 Port, UINT8 Register, UINT8 Data);
bool ymz280b_write(UINT8 Register, UINT8 Data);
bool rf5c164_reg_write(UINT8 Register, UINT8* Data);
bool rf5c164_mem_write(UINT16 Offset, UINT8 Data);
bool c140_write(UINT8 Port, UINT8 Register, UINT8 Data);