From e648ca57e6d8375e1e435b8d09079a82e3354d6b Mon Sep 17 00:00:00 2001 From: MetalliC <0vetal0@gmail.com> Date: Sat, 6 Jan 2018 13:44:16 +0200 Subject: [PATCH] nicer prev (nw) --- src/devices/sound/aica.cpp | 22 +++++++++------------- 1 file 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)