Fix 3 band equalizer in Genesis (#2008)

If you tried setting your gains to 100 in the previous patch, it worked sort of, but I decided to incorporate ekeeke/Genesis-Plus-GX@f6f4556 as well to actually fix it completely, and rescale the setting properly so that 1.0 really is neutral gain.

Fixes #1319
This commit is contained in:
nattthebear 2020-05-14 20:29:02 -04:00 committed by GitHub
parent 68dc12dab7
commit 00aebc110c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 1397 additions and 1396 deletions

Binary file not shown.

View File

@ -265,18 +265,18 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
[DisplayName("Three band low gain")]
[Description("Only active when filter type is three band")]
[DefaultValue((short)1)]
public short LowGain { get; set; }
[DefaultValue(1f)]
public float LowGain { get; set; }
[DisplayName("Three band mid gain")]
[Description("Only active when filter type is three band")]
[DefaultValue((short)1)]
public short MidGain { get; set; }
[DefaultValue(1f)]
public float MidGain { get; set; }
[DisplayName("Three band high gain")]
[Description("Only active when filter type is three band")]
[DefaultValue((short)1)]
public short HighGain { get; set; }
[DefaultValue(1f)]
public float HighGain { get; set; }
[Description("Magic pink by default. Requires core reboot")]
[TypeConverter(typeof(UintToHexConverter))]
@ -291,9 +291,9 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
LowPassRange = LowPassRange,
LowFreq = LowFreq,
HighFreq = HighFreq,
LowGain = LowGain,
MidGain = MidGain,
HighGain = HighGain,
LowGain = (short)(LowGain * 100),
MidGain = (short)(MidGain * 100),
HighGain = (short)(HighGain * 100),
BackdropColor = BackdropColor
};
}

View File

@ -546,9 +546,9 @@ GPGX_EX int gpgx_init(
config.lp_range = settings->LowPassRange; //0x9999; /* 0.6 in 16.16 fixed point */
config.low_freq = settings->LowFreq; //880;
config.high_freq = settings->HighFreq; //5000;
config.lg = settings->LowGain; //1.0;
config.mg = settings->MidGain; //1.0;
config.hg = settings->HighGain; //1.0;
config.lg = settings->LowGain; //100;
config.mg = settings->MidGain; //100;
config.hg = settings->HighGain; //100;
config.dac_bits = 14; /* MAX DEPTH */
config.ym2413= 2; /* AUTO */
config.mono = 0; /* STEREO output */

File diff suppressed because it is too large Load Diff