GB: Cleanup sound registers
Seems to be left-overs from switching to blargg
This commit is contained in:
parent
faf01db2cf
commit
ddea50d3c8
102
src/gb/GB.cpp
102
src/gb/GB.cpp
|
@ -1144,6 +1144,7 @@ void gbWriteMemory(register uint16_t address, register uint8_t value)
|
||||||
case 0x12:
|
case 0x12:
|
||||||
case 0x13:
|
case 0x13:
|
||||||
case 0x14:
|
case 0x14:
|
||||||
|
case 0x15:
|
||||||
case 0x16:
|
case 0x16:
|
||||||
case 0x17:
|
case 0x17:
|
||||||
case 0x18:
|
case 0x18:
|
||||||
|
@ -1153,23 +1154,23 @@ void gbWriteMemory(register uint16_t address, register uint8_t value)
|
||||||
case 0x1c:
|
case 0x1c:
|
||||||
case 0x1d:
|
case 0x1d:
|
||||||
case 0x1e:
|
case 0x1e:
|
||||||
|
case 0x1f:
|
||||||
case 0x20:
|
case 0x20:
|
||||||
case 0x21:
|
case 0x21:
|
||||||
case 0x22:
|
case 0x22:
|
||||||
case 0x23:
|
case 0x23:
|
||||||
case 0x24:
|
case 0x24:
|
||||||
case 0x25: {
|
case 0x25:
|
||||||
if (gbMemory[NR52] & 0x80) {
|
case 0x26:
|
||||||
SOUND_EVENT(address, value);
|
case 0x27:
|
||||||
return;
|
case 0x28:
|
||||||
}
|
case 0x29:
|
||||||
}
|
case 0x2a:
|
||||||
|
case 0x2b:
|
||||||
case 0x26: {
|
case 0x2c:
|
||||||
SOUND_EVENT(address, value);
|
case 0x2d:
|
||||||
return;
|
case 0x2e:
|
||||||
}
|
case 0x2f:
|
||||||
|
|
||||||
case 0x30:
|
case 0x30:
|
||||||
case 0x31:
|
case 0x31:
|
||||||
case 0x32:
|
case 0x32:
|
||||||
|
@ -1185,11 +1186,11 @@ void gbWriteMemory(register uint16_t address, register uint8_t value)
|
||||||
case 0x3c:
|
case 0x3c:
|
||||||
case 0x3d:
|
case 0x3d:
|
||||||
case 0x3e:
|
case 0x3e:
|
||||||
case 0x3f: {
|
case 0x3f:
|
||||||
SOUND_EVENT(address, value);
|
// Sound registers handled by blargg
|
||||||
|
gbSoundEvent(address, value);
|
||||||
//gbMemory[address] = value;
|
//gbMemory[address] = value;
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
case 0x40: {
|
case 0x40: {
|
||||||
int lcdChange = (register_LCDC & 0x80) ^ (value & 0x80);
|
int lcdChange = (register_LCDC & 0x80) ^ (value & 0x80);
|
||||||
|
@ -1761,9 +1762,6 @@ uint8_t gbReadMemory(register uint16_t address)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (address >= 0xff00) {
|
if (address >= 0xff00) {
|
||||||
if (address >= 0xFF10 && address <= 0xFF3F)
|
|
||||||
return gbSoundRead(address);
|
|
||||||
|
|
||||||
switch (address & 0x00ff) {
|
switch (address & 0x00ff) {
|
||||||
case 0x00: {
|
case 0x00: {
|
||||||
if (gbSgbMode) {
|
if (gbSgbMode) {
|
||||||
|
@ -1866,19 +1864,51 @@ uint8_t gbReadMemory(register uint16_t address)
|
||||||
return register_TMA;
|
return register_TMA;
|
||||||
case 0x07:
|
case 0x07:
|
||||||
return (0xf8 | register_TAC);
|
return (0xf8 | register_TAC);
|
||||||
case 0x08:
|
case 0x08:
|
||||||
case 0x09:
|
case 0x09:
|
||||||
case 0x0a:
|
case 0x0a:
|
||||||
case 0x0b:
|
case 0x0b:
|
||||||
case 0x0c:
|
case 0x0c:
|
||||||
case 0x0d:
|
case 0x0d:
|
||||||
case 0x0e:
|
case 0x0e:
|
||||||
log("Undocumented Memory register read %04x PC=%04x\n",
|
log("Undocumented Memory register read %04x PC=%04x\n",
|
||||||
address,
|
address,
|
||||||
PC.W);
|
PC.W);
|
||||||
return 0xff;
|
return 0xff;
|
||||||
case 0x0f:
|
case 0x0f:
|
||||||
return (0xe0 | gbMemory[0xff0f]);
|
return (0xe0 | gbMemory[0xff0f]);
|
||||||
|
case 0x10:
|
||||||
|
case 0x11:
|
||||||
|
case 0x12:
|
||||||
|
case 0x13:
|
||||||
|
case 0x14:
|
||||||
|
case 0x15:
|
||||||
|
case 0x16:
|
||||||
|
case 0x17:
|
||||||
|
case 0x18:
|
||||||
|
case 0x19:
|
||||||
|
case 0x1a:
|
||||||
|
case 0x1b:
|
||||||
|
case 0x1c:
|
||||||
|
case 0x1d:
|
||||||
|
case 0x1e:
|
||||||
|
case 0x1f:
|
||||||
|
case 0x20:
|
||||||
|
case 0x21:
|
||||||
|
case 0x22:
|
||||||
|
case 0x23:
|
||||||
|
case 0x24:
|
||||||
|
case 0x25:
|
||||||
|
case 0x26:
|
||||||
|
case 0x27:
|
||||||
|
case 0x28:
|
||||||
|
case 0x29:
|
||||||
|
case 0x2a:
|
||||||
|
case 0x2b:
|
||||||
|
case 0x2c:
|
||||||
|
case 0x2d:
|
||||||
|
case 0x2e:
|
||||||
|
case 0x2f:
|
||||||
case 0x30:
|
case 0x30:
|
||||||
case 0x31:
|
case 0x31:
|
||||||
case 0x32:
|
case 0x32:
|
||||||
|
@ -1889,16 +1919,14 @@ uint8_t gbReadMemory(register uint16_t address)
|
||||||
case 0x37:
|
case 0x37:
|
||||||
case 0x38:
|
case 0x38:
|
||||||
case 0x39:
|
case 0x39:
|
||||||
case 0x3A:
|
case 0x3a:
|
||||||
case 0x3B:
|
case 0x3b:
|
||||||
case 0x3C:
|
case 0x3c:
|
||||||
case 0x3D:
|
case 0x3d:
|
||||||
case 0x3E:
|
case 0x3e:
|
||||||
case 0x3F:
|
case 0x3f:
|
||||||
if ((gbMemory[NR30] & 0x80) && (gbMemory[NR34] & 0x80))
|
// Sound registers read
|
||||||
return 0xFF;
|
return gbSoundRead(address);
|
||||||
else
|
|
||||||
return gbMemoryMap[address >> 12][address & 0x0fff];
|
|
||||||
case 0x40:
|
case 0x40:
|
||||||
return register_LCDC;
|
return register_LCDC;
|
||||||
case 0x41:
|
case 0x41:
|
||||||
|
|
Loading…
Reference in New Issue