Previous 15994 Revisions Next

r6399 Monday 16th November, 2009 at 05:36:35 UTC by Jonathan Gevaryahu
Fix screeching in regulus (in MAME): When summing together four equal channels, the size of the max amplitude per channel should be 1/4 of the max range, not 1/3. No idea how old this bug is.
[src/emu/sound]sn76496.c

src/emu/sound/sn76496.c
r6398r6399
55
66  Routines to emulate the:
77  Texas Instruments SN76489, SN76489A, SN76494/SN76496
8  ( Also known as, or at least compatible with, the TMS9919.)
8  ( Also known as, or at least compatible with, the TMS9919 and SN94624.)
99  and the Sega 'PSG' used on the Master System, Game Gear, and Megadrive/Genesis
1010  This chip is known as the Programmable Sound Generator, or PSG, and is a 4
1111  channel sound generator, with three squarewave channels and a noise/arbitrary
r6398r6399
4848  14/11/2009 : Lord Nightmare
4949  Removed STEP mess, vastly simplifying the code. Made output bipolar rather
5050  than always above the 0 line, but disabled that code due to pending issues.
51 
52  16/11/2009 : Lord Nightmare
53  Fix screeching in regulus: When summing together four equal channels, the
54  size of the max amplitude per channel should be 1/4 of the max range, not
55  1/3.
5156
5257  TODO: * Implement a function for setting stereo regs for the game gear.
5358          Requires making the core support both mono and stereo, and have
r6398r6399
270275   gain &= 0xff;
271276
272277   /* increase max output basing on gain (0.2 dB per step) */
273   out = MAX_OUTPUT / 3;
278   out = MAX_OUTPUT / 4; // four channels, each gets 1/4 of the total range
274279   while (gain-- > 0)
275280      out *= 1.023292992;   /* = (10 ^ (0.2/20)) */
276281

Previous 15994 Revisions Next


© 1998-2018 The MESS Team