From 56c1b0227a6576b0f3edff94a34fa8fe521bfc6f Mon Sep 17 00:00:00 2001 From: Lord-Nightmare Date: Fri, 3 Feb 2017 01:36:16 -0500 Subject: [PATCH] lwriter.cpp: add debugger fences, some more tracing documentation (nw) --- src/mame/drivers/lwriter.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/mame/drivers/lwriter.cpp b/src/mame/drivers/lwriter.cpp index 0b3856dd4ff..03da909522a 100644 --- a/src/mame/drivers/lwriter.cpp +++ b/src/mame/drivers/lwriter.cpp @@ -33,9 +33,9 @@ 0xD - 5ffff8-5fffff High half of DRAM individual bit tests (walking ones and zeroes) 0xC - 400000-5fffff comprehensive DRAM data test 0xB - Unknown test - 0xA - dies if something to do with 600000-7fffff doesn't mirror 400000-5fffff ? - 0x8 - SRAM test 000000-000FFF - 0x0 - not sure... + 0xA - dies if 600000-7fffff doesn't mirror 400000-5fffff ? + 0x8 - SRAM test 000000-000FFF (2e3616-2e3654) + 0x0 - not sure... (2e2fd0... 2db764 is the end of the 'clear ram 41d53f down to 400000' loop...) If one of the self tests fails, the uppermost bit will oscillate (c000 4000 c000 4000 etc) forever @@ -251,11 +251,10 @@ READ16_MEMBER(lwriter_state::bankedarea_r) } else if (offset <= 0x01ffff) { - if (offset > 0x7ff) - logerror("Attempt to read banked area (with overlay off) past end of SRAM from offset %08X!\n",offset<<1); + if ((offset > 0x7ff) && !space.debugger_access()) { logerror("Attempt to read banked area (with overlay off) past end of SRAM from offset %08X!\n",offset<<1); } return m_sram_ptr[offset&0x7FF]; } - logerror("Attempt to read banked area (with overlay off) past end of SRAM from offset %08X! Returning 0xFFFF!\n",offset<<1); + if(!space.debugger_access()) { logerror("Attempt to read banked area (with overlay off) past end of SRAM from offset %08X! Returning 0xFFFF!\n",offset<<1); } return 0xFFFF; } @@ -263,17 +262,16 @@ WRITE16_MEMBER(lwriter_state::bankedarea_w) { if (m_overlay) { - logerror("Attempt to write banked area (with overlay ON) with data %04X to offset %08X IGNORED!\n",data, offset<<1); + if(!space.debugger_access()) { logerror("Attempt to write banked area (with overlay ON) with data %04X to offset %08X IGNORED!\n",data, offset<<1); } return; } else if (offset <= 0x01ffff) { - if (offset > 0x7ff) - logerror("Attempt to write banked area (with overlay off) with data %04X to offset %08X!\n",data, offset<<1); + if ((offset > 0x7ff) && !space.debugger_access()) { logerror("Attempt to write banked area (with overlay off) with data %04X to offset %08X!\n",data, offset<<1); } COMBINE_DATA(&m_sram_ptr[offset&0x7FF]); return; } - logerror("Attempt to write banked area (with overlay off) with data %04X to offset %08X IGNORED!\n", data, offset<<1); + if(!space.debugger_access()) { logerror("Attempt to write banked area (with overlay off) with data %04X to offset %08X IGNORED!\n", data, offset<<1); } } /* 4 diagnostic LEDs, plus 4 i/o lines for the printer */