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