Remove all sound related code from main.c

This commit is contained in:
Godzil 2018-01-31 18:49:49 +00:00
parent b178988fbe
commit fd980059f1

View File

@ -355,116 +355,8 @@ byte Page40[256];
void WrHook4000Multiplexer(byte addr, byte value)
{
static byte SQ1V = 0;
static byte SQ2V = 0;
static byte NOIV = 0;
static unsigned short SQ1P = 0;
static unsigned short SQ2P = 0;
static unsigned short TRIP = 0;
static unsigned short NOIP = 0;
static byte Sq1_reg0 = 0;
static byte Sq1_reg1 = 0;
static byte Sq1_reg2 = 0;
static byte Sq1_reg3 = 0;
static byte Sq2_reg0 = 0;
static byte Sq2_reg1 = 0;
static byte Sq2_reg2 = 0;
static byte Sq2_reg3 = 0;
double SQ = 0.0;
switch(addr)
{
case 0x00: /* DDLE NNNN */
Sq1_reg0 = value;
if (Sq1_reg0 & 0x10)
{
SQ1V = (0x04+(value&0x0F))& 0x0F;
}
else
{
SQ1V = value&0x0F;
}
break;
case 0x01: /* EPPP NSSS */
Sq1_reg1 = value;
break;
case 0x02:
SQ1P = value | ((Sq1_reg3&0x7) << 8);
SQ = APU_BASEFREQ * 1000 * 1000 / (SQ1P+1);
Sq1_reg2 = value;
break;
case 0x03:
Sq1_reg3 = value;
SQ1P = Sq1_reg2 | ((value&0x7) << 8);
SQ = APU_BASEFREQ * 1000 * 1000 / (SQ1P+1);
break;
case 0x04:
Sq2_reg0 = value;
if (Sq2_reg0 & 0x10)
{
SQ2V = (0x04+(value&0x0F))& 0x0F;
}
else
{
SQ2V = value&0x0F;
}
break;
case 0x05:
Sq2_reg1 = value;
break;
case 0x06:
Sq2_reg2 = value;
SQ2P = Sq2_reg2 | ((Sq2_reg3&0x7) << 8);
SQ = APU_BASEFREQ * 1000 * 1000 / (SQ2P+1);
break;
case 0x07:
Sq2_reg3 = value;
SQ2P = Sq2_reg2 | ((Sq2_reg3&0x7) << 8);
SQ = APU_BASEFREQ * 1000 * 1000 / (SQ2P+1);
break;
case 0x0A:
TRIP = (TRIP & 0xFF00) | value;
SQ = APU_BASEFREQ * 1000 * 1000 / TRIP;
break;
case 0x0B:
TRIP = (TRIP & 0x00FF) | ((value&0x7) << 8);;
SQ = APU_BASEFREQ * 1000 * 1000 / TRIP;
break;
case 0x0C:
NOIV = value & 0x0F;
break;
case 0x0E:
NOIP = value & 0x0F;
SQ = APU_BASEFREQ * 1000 * 1000 / NOIP;
break;
case 0x0F:
break;
case 0x15:
/* DMC, Noise, Triangle, Sq 2, Sq 1 */
break;
case 0x14:
ppu_fillSprRamDMA(value);
break;