1 // Header File for structures and constants used within VGMPlay.c
2 
3 #include "VGMFile.h"
4 
5 #define VGMPLAY_VER_STR	"0.40.9"
6 //#define APLHA
7 //#define BETA
8 #define VGM_VER_STR		"1.71b"
9 #define VGM_VER_NUM		0x170
10 
11 #define CHIP_COUNT	0x29
12 typedef struct chip_options
13 {
14 	bool Disabled;
15 	UINT8 EmuCore;
16 	UINT8 ChnCnt;
17 	// Special Flags:
18 	//	YM2612:	Bit 0 - DAC Highpass Enable, Bit 1 - SSG-EG Enable
19 	//	YM-OPN:	Bit 0 - Disable AY8910-Part
20 	UINT16 SpecialFlags;
21 
22 	// Channel Mute Mask - 1 Channel is represented by 1 bit
23 	UINT32 ChnMute1;
24 	// Mask 2 - used by YMF287B for OPL4 Wavetable Synth and by YM2608/YM2610 for PCM
25 	UINT32 ChnMute2;
26 	// Mask 3 - used for the AY-part of some OPN-chips
27 	UINT32 ChnMute3;
28 
29 	INT16* Panning;
30 } CHIP_OPTS;
31 typedef struct chips_options
32 {
33 	CHIP_OPTS SN76496;
34 	CHIP_OPTS YM2413;
35 	CHIP_OPTS YM2612;
36 	CHIP_OPTS YM2151;
37 	CHIP_OPTS SegaPCM;
38 	CHIP_OPTS RF5C68;
39 	CHIP_OPTS YM2203;
40 	CHIP_OPTS YM2608;
41 	CHIP_OPTS YM2610;
42 	CHIP_OPTS YM3812;
43 	CHIP_OPTS YM3526;
44 	CHIP_OPTS Y8950;
45 	CHIP_OPTS YMF262;
46 	CHIP_OPTS YMF278B;
47 	CHIP_OPTS YMF271;
48 	CHIP_OPTS YMZ280B;
49 	CHIP_OPTS RF5C164;
50 	CHIP_OPTS PWM;
51 	CHIP_OPTS AY8910;
52 	CHIP_OPTS GameBoy;
53 	CHIP_OPTS NES;
54 	CHIP_OPTS MultiPCM;
55 	CHIP_OPTS UPD7759;
56 	CHIP_OPTS OKIM6258;
57 	CHIP_OPTS OKIM6295;
58 	CHIP_OPTS K051649;
59 	CHIP_OPTS K054539;
60 	CHIP_OPTS HuC6280;
61 	CHIP_OPTS C140;
62 	CHIP_OPTS K053260;
63 	CHIP_OPTS Pokey;
64 	CHIP_OPTS QSound;
65 	CHIP_OPTS SCSP;
66 	CHIP_OPTS WSwan;
67 	CHIP_OPTS VSU;
68 	CHIP_OPTS SAA1099;
69 	CHIP_OPTS ES5503;
70 	CHIP_OPTS ES5506;
71 	CHIP_OPTS X1_010;
72 	CHIP_OPTS C352;
73 	CHIP_OPTS GA20;
74 //	CHIP_OPTS OKIM6376;
75 } CHIPS_OPTION;
76