aboutsummaryrefslogtreecommitdiff
path: root/source/apu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/apu.cpp')
-rw-r--r--source/apu.cpp186
1 files changed, 4 insertions, 182 deletions
diff --git a/source/apu.cpp b/source/apu.cpp
index 53e0425..ee41096 100644
--- a/source/apu.cpp
+++ b/source/apu.cpp
@@ -108,10 +108,6 @@ int spc_is_dumping_temp;
uint8 spc_dump_dsp[0x100];
extern int NoiseFreq [32];
-#ifdef DEBUGGER
-void S9xTraceSoundDSP (const char *s, int i1 = 0, int i2 = 0, int i3 = 0,
- int i4 = 0, int i5 = 0, int i6 = 0, int i7 = 0);
-#endif
bool8 S9xInitAPU ()
{
@@ -227,11 +223,8 @@ void S9xSetAPUDSP (uint8 byte)
APU.DSP [APU_KOFF] = 0;
APU.DSP [APU_KON] = 0;
S9xSetEchoWriteEnable (FALSE);
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] DSP reset\n", ICPU.Scanline);
-#endif
- // Kill sound
+
+ // Kill sound
S9xResetSound (FALSE);
}
else
@@ -239,10 +232,6 @@ void S9xSetAPUDSP (uint8 byte)
S9xSetEchoWriteEnable (!(byte & APU_ECHO_DISABLED));
if (byte & APU_MUTE)
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] Mute sound\n", ICPU.Scanline);
-#endif
S9xSetSoundMute (TRUE);
}
else
@@ -259,54 +248,23 @@ void S9xSetAPUDSP (uint8 byte)
case APU_NON:
if (byte != APU.DSP [APU_NON])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] Noise:", ICPU.Scanline);
-#endif
uint8 mask = 1;
for (int c = 0; c < 8; c++, mask <<= 1)
{
int type;
+
if (byte & mask)
- {
type = SOUND_NOISE;
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- {
- if (APU.DSP [reg] & mask)
- S9xTraceSoundDSP ("%d,", c);
- else
- S9xTraceSoundDSP ("%d(on),", c);
- }
-#endif
- }
else
- {
type = SOUND_SAMPLE;
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- {
- if (APU.DSP [reg] & mask)
- S9xTraceSoundDSP ("%d(off),", c);
- }
-#endif
- }
+
S9xSetSoundType (c, type);
}
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("\n");
-#endif
}
break;
case APU_MVOL_LEFT:
if (byte != APU.DSP [APU_MVOL_LEFT])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] Master volume left:%d\n",
- ICPU.Scanline, (signed char) byte);
-#endif
S9xSetMasterVolume ((signed char) byte,
(signed char) APU.DSP [APU_MVOL_RIGHT]);
}
@@ -314,11 +272,6 @@ void S9xSetAPUDSP (uint8 byte)
case APU_MVOL_RIGHT:
if (byte != APU.DSP [APU_MVOL_RIGHT])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] Master volume right:%d\n",
- ICPU.Scanline, (signed char) byte);
-#endif
S9xSetMasterVolume ((signed char) APU.DSP [APU_MVOL_LEFT],
(signed char) byte);
}
@@ -326,11 +279,6 @@ void S9xSetAPUDSP (uint8 byte)
case APU_EVOL_LEFT:
if (byte != APU.DSP [APU_EVOL_LEFT])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] Echo volume left:%d\n",
- ICPU.Scanline, (signed char) byte);
-#endif
S9xSetEchoVolume ((signed char) byte,
(signed char) APU.DSP [APU_EVOL_RIGHT]);
}
@@ -338,20 +286,11 @@ void S9xSetAPUDSP (uint8 byte)
case APU_EVOL_RIGHT:
if (byte != APU.DSP [APU_EVOL_RIGHT])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] Echo volume right:%d\n",
- ICPU.Scanline, (signed char) byte);
-#endif
S9xSetEchoVolume ((signed char) APU.DSP [APU_EVOL_LEFT],
(signed char) byte);
}
break;
case APU_ENDX:
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] Reset ENDX\n", ICPU.Scanline);
-#endif
byte = 0;
break;
@@ -359,19 +298,10 @@ void S9xSetAPUDSP (uint8 byte)
// if (byte)
{
uint8 mask = 1;
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] Key off:", ICPU.Scanline);
-#endif
for (int c = 0; c < 8; c++, mask <<= 1)
{
if ((byte & mask) != 0)
{
-#ifdef DEBUGGER
-
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("%d,", c);
-#endif
if (APU.KeyedChannels & mask)
{
{
@@ -393,10 +323,6 @@ void S9xSetAPUDSP (uint8 byte)
S9xPlaySample (c);
}
}
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("\n");
-#endif
}
//KeyOnPrev=0;
APU.DSP [APU_KOFF] = byte;
@@ -415,19 +341,10 @@ void S9xSetAPUDSP (uint8 byte)
if (byte)
{
uint8 mask = 1;
-#ifdef DEBUGGER
-
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] Key on:", ICPU.Scanline);
-#endif
for (int c = 0; c < 8; c++, mask <<= 1)
{
if ((byte & mask) != 0)
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("%d,", c);
-#endif
// Pac-In-Time requires that channels can be key-on
// regardeless of their current state.
if((APU.DSP [APU_KOFF] & mask) ==0)
@@ -442,10 +359,6 @@ void S9xSetAPUDSP (uint8 byte)
else KeyOn|=mask;
}
}
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("\n");
-#endif
}
spc_is_dumping_temp = byte;
return;
@@ -461,11 +374,6 @@ void S9xSetAPUDSP (uint8 byte)
// At Shin Megami Tensei suggestion 6/11/00
// if (byte != APU.DSP [reg])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] %d volume left: %d\n",
- ICPU.Scanline, reg>>4, (signed char) byte);
-#endif
S9xSetSoundVolume (reg >> 4, (signed char) byte,
(signed char) APU.DSP [reg + 1]);
}
@@ -481,11 +389,6 @@ void S9xSetAPUDSP (uint8 byte)
// At Shin Megami Tensei suggestion 6/11/00
// if (byte != APU.DSP [reg])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] %d volume right: %d\n",
- ICPU.Scanline, reg >>4, (signed char) byte);
-#endif
S9xSetSoundVolume (reg >> 4, (signed char) APU.DSP [reg - 1],
(signed char) byte);
}
@@ -499,11 +402,6 @@ void S9xSetAPUDSP (uint8 byte)
case APU_P_LOW + 0x50:
case APU_P_LOW + 0x60:
case APU_P_LOW + 0x70:
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] %d freq low: %d\n",
- ICPU.Scanline, reg>>4, byte);
-#endif
S9xSetSoundHertz (reg >> 4, ((byte + (APU.DSP [reg + 1] << 8)) & FREQUENCY_MASK) * 8);
break;
@@ -515,11 +413,6 @@ void S9xSetAPUDSP (uint8 byte)
case APU_P_HIGH + 0x50:
case APU_P_HIGH + 0x60:
case APU_P_HIGH + 0x70:
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] %d freq high: %d\n",
- ICPU.Scanline, reg>>4, byte);
-#endif
S9xSetSoundHertz (reg >> 4,
(((byte << 8) + APU.DSP [reg - 1]) & FREQUENCY_MASK) * 8);
break;
@@ -534,11 +427,6 @@ void S9xSetAPUDSP (uint8 byte)
case APU_SRCN + 0x70:
if (byte != APU.DSP [reg])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] %d sample number: %d\n",
- ICPU.Scanline, reg>>4, byte);
-#endif
S9xSetSoundSample (reg >> 4, byte);
}
break;
@@ -553,11 +441,6 @@ void S9xSetAPUDSP (uint8 byte)
case APU_ADSR1 + 0x70:
if (byte != APU.DSP [reg])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] %d adsr1: %02x\n",
- ICPU.Scanline, reg>>4, byte);
-#endif
{
S9xFixEnvelope (reg >> 4, APU.DSP [reg + 2], byte,
APU.DSP [reg + 1]);
@@ -575,11 +458,6 @@ void S9xSetAPUDSP (uint8 byte)
case APU_ADSR2 + 0x70:
if (byte != APU.DSP [reg])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] %d adsr2: %02x\n",
- ICPU.Scanline, reg>>4, byte);
-#endif
{
S9xFixEnvelope (reg >> 4, APU.DSP [reg + 1], APU.DSP [reg - 1],
byte);
@@ -597,11 +475,6 @@ void S9xSetAPUDSP (uint8 byte)
case APU_GAIN + 0x70:
if (byte != APU.DSP [reg])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] %d gain: %02x\n",
- ICPU.Scanline, reg>>4, byte);
-#endif
{
S9xFixEnvelope (reg >> 4, byte, APU.DSP [reg - 2],
APU.DSP [reg - 1]);
@@ -630,39 +503,11 @@ void S9xSetAPUDSP (uint8 byte)
break;
case APU_DIR:
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- S9xTraceSoundDSP ("[%d] Sample directory to: %02x\n",
- ICPU.Scanline, byte);
-#endif
break;
case APU_PMON:
if (byte != APU.DSP [APU_PMON])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- {
- S9xTraceSoundDSP ("[%d] FreqMod:", ICPU.Scanline);
- uint8 mask = 1;
- for (int c = 0; c < 8; c++, mask <<= 1)
- {
- if (byte & mask)
- {
- if (APU.DSP [reg] & mask)
- S9xTraceSoundDSP ("%d", c);
- else
- S9xTraceSoundDSP ("%d(on),", c);
- }
- else
- {
- if (APU.DSP [reg] & mask)
- S9xTraceSoundDSP ("%d(off),", c);
- }
- }
- S9xTraceSoundDSP ("\n");
- }
-#endif
S9xSetFrequencyModulationEnable (byte);
}
break;
@@ -670,29 +515,6 @@ void S9xSetAPUDSP (uint8 byte)
case APU_EON:
if (byte != APU.DSP [APU_EON])
{
-#ifdef DEBUGGER
- if (Settings.TraceSoundDSP)
- {
- S9xTraceSoundDSP ("[%d] Echo:", ICPU.Scanline);
- uint8 mask = 1;
- for (int c = 0; c < 8; c++, mask <<= 1)
- {
- if (byte & mask)
- {
- if (APU.DSP [reg] & mask)
- S9xTraceSoundDSP ("%d", c);
- else
- S9xTraceSoundDSP ("%d(on),", c);
- }
- else
- {
- if (APU.DSP [reg] & mask)
- S9xTraceSoundDSP ("%d(off),", c);
- }
- }
- S9xTraceSoundDSP ("\n");
- }
-#endif
S9xSetEchoEnable (byte);
}
break;