summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/aica.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/aica.cpp')
-rw-r--r--src/devices/sound/aica.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/devices/sound/aica.cpp b/src/devices/sound/aica.cpp
index 24b114719f7..c7ef59e6c49 100644
--- a/src/devices/sound/aica.cpp
+++ b/src/devices/sound/aica.cpp
@@ -912,11 +912,10 @@ void aica_device::w16(address_space &space,unsigned int addr,unsigned short val)
//DSP
if(addr<0x3200) //COEF
*((unsigned short *) (m_DSP.COEF+(addr-0x3000)/2))=val;
- else if(addr<0x3400)
- {
- assert(((addr-0x3200)/2) < ARRAY_LENGTH(m_DSP.MADRS));
+ else if(addr<0x3300)
*((unsigned short *) (m_DSP.MADRS+(addr-0x3200)/2))=val;
- }
+ else if(addr<0x3400)
+ popmessage("AICADSP write to undocumented reg %04x -> %04x", addr, val);
else if(addr<0x3c00)
{
*((unsigned short *) (m_DSP.MPRO+(addr-0x3400)/2))=val;
@@ -975,10 +974,11 @@ unsigned short aica_device::r16(address_space &space, unsigned int addr)
{
v = m_EFSPAN[addr&0x7f];
}
+ else if (addr < 0x2800)
+ popmessage("AICA read undocumented reg %04x", addr);
else if (addr < 0x28be)
{
UpdateRegR(space, addr&0xff);
- assert((addr&0xff) < ARRAY_LENGTH(m_udata.datab));
v= *((unsigned short *) (m_udata.datab+((addr&0xff))));
if((addr&0xfffe)==0x2810) m_udata.data[0x10/2] &= 0x7FFF; // reset LP on read
}
@@ -996,18 +996,14 @@ unsigned short aica_device::r16(address_space &space, unsigned int addr)
{
if(addr<0x3200) //COEF
v= *((unsigned short *) (m_DSP.COEF+(addr-0x3000)/2));
- else if(addr<0x3400)
- {
- assert(((addr-0x3200)/2) < ARRAY_LENGTH(m_DSP.MADRS));
+ else if(addr<0x3300)
v= *((unsigned short *) (m_DSP.MADRS+(addr-0x3200)/2));
- }
+ else if(addr<0x3400)
+ popmessage("AICADSP read undocumented reg %04x", addr);
else if(addr<0x3c00)
v= *((unsigned short *) (m_DSP.MPRO+(addr-0x3400)/2));
else if(addr<0x4000)
- {
- v= 0xffff;
- popmessage("AICADSP read to undocumented reg %04x",addr);
- }
+ popmessage("AICADSP read undocumented reg %04x",addr);
else if(addr<0x4400)
{
if(addr & 4)