Remove all sound related code from main.c
This commit is contained in:
parent
b178988fbe
commit
fd980059f1
108
src/main.c
108
src/main.c
@ -355,116 +355,8 @@ byte Page40[256];
|
|||||||
|
|
||||||
void WrHook4000Multiplexer(byte addr, byte value)
|
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)
|
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:
|
case 0x14:
|
||||||
ppu_fillSprRamDMA(value);
|
ppu_fillSprRamDMA(value);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user