summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Michaël Banaan Ananas <happppp@users.noreply.github.com>2014-07-20 23:50:35 +0000
committer Michaël Banaan Ananas <happppp@users.noreply.github.com>2014-07-20 23:50:35 +0000
commitfe0d66561a57ba3501019715e5f167f9f6c0766f (patch)
treecb4f8e59d4db042955735feccaa4d000bfb84447
parent5c318f762c44a22e6450eb94856947a57b5482b7 (diff)
shut up debugger
-rw-r--r--src/emu/cpu/tms7000/tms7000.c13
-rw-r--r--src/emu/cpu/tms7000/tms7000.h3
-rw-r--r--src/mess/drivers/cc40.c12
3 files changed, 16 insertions, 12 deletions
diff --git a/src/emu/cpu/tms7000/tms7000.c b/src/emu/cpu/tms7000/tms7000.c
index 85aff2094d7..0fea4da3f20 100644
--- a/src/emu/cpu/tms7000/tms7000.c
+++ b/src/emu/cpu/tms7000/tms7000.c
@@ -20,14 +20,13 @@
*
* TODO:
* - dump CROM and emulate cpu at microinstruction level
- * - memory modes with IOCNT0, currently ignored
+ * - memory modes with IOCNT0, currently always running in full expansion mode
* - timer event counter mode (timer control register, bit 6)
* - TMS70x1/2 serial port and timer 3
* - when they're needed, add TMS70Cx2, TMS7742, TMS77C82, SE70xxx
*
*****************************************************************************/
-#include "debugger.h"
#include "tms7000.h"
// 7000 is the most basic one, 128 bytes internal RAM and no internal ROM.
@@ -55,6 +54,9 @@ const device_type TMS7041 = &device_creator<tms7041_device>;
const device_type TMS7002 = &device_creator<tms7002_device>;
const device_type TMS7042 = &device_creator<tms7042_device>;
+// 70Cx2 is an update to 70x2 with some extra features. Due to some changes
+// in peripheral file I/O, it is not backward compatible to 70x2.
+
// flag helpers
#define SR_C 0x80 /* Carry */
@@ -514,7 +516,9 @@ READ8_MEMBER(tms7000_device::tms7000_pf_r)
{
// note: port B is write-only, reading it returns the output value as if ddr is 0xff
int port = offset / 2 - 2;
- return (m_io->read_byte(port) & ~m_port_ddr[port]) | (m_port_latch[port] & m_port_ddr[port]);
+ if (!space.debugger_access())
+ return (m_io->read_byte(port) & ~m_port_ddr[port]) | (m_port_latch[port] & m_port_ddr[port]);
+ break;
}
// port direction (note: 7000 doesn't support it for port A)
@@ -522,7 +526,8 @@ READ8_MEMBER(tms7000_device::tms7000_pf_r)
return m_port_ddr[offset / 2 - 2];
default:
- logerror("'%s' (%04X): tms7000_pf_r @ $%04x\n", tag(), m_pc, offset);
+ if (!space.debugger_access())
+ logerror("'%s' (%04X): tms7000_pf_r @ $%04x\n", tag(), m_pc, offset);
break;
}
diff --git a/src/emu/cpu/tms7000/tms7000.h b/src/emu/cpu/tms7000/tms7000.h
index f74a2af7bab..35f733d115a 100644
--- a/src/emu/cpu/tms7000/tms7000.h
+++ b/src/emu/cpu/tms7000/tms7000.h
@@ -23,6 +23,7 @@
#define __TMS7000_H__
#include "emu.h"
+#include "debugger.h"
enum { TMS7000_PC=1, TMS7000_SP, TMS7000_ST };
@@ -57,7 +58,7 @@ public:
tms7000_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
tms7000_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, address_map_constructor internal, UINT32 info_flags, const char *shortname, const char *source);
- DECLARE_READ8_MEMBER(tms7000_unmapped_rf_r) { logerror("'%s' (%04X): unmapped_rf_r @ $%04x\n", tag(), m_pc, offset + 0x80); return 0; };
+ DECLARE_READ8_MEMBER(tms7000_unmapped_rf_r) { if (!space.debugger_access()) logerror("'%s' (%04X): unmapped_rf_r @ $%04x\n", tag(), m_pc, offset + 0x80); return 0; };
DECLARE_WRITE8_MEMBER(tms7000_unmapped_rf_w) { logerror("'%s' (%04X): unmapped_rf_w @ $%04x = $%02x\n", tag(), m_pc, offset + 0x80, data); };
DECLARE_READ8_MEMBER(tms7000_pf_r);
diff --git a/src/mess/drivers/cc40.c b/src/mess/drivers/cc40.c
index 4024008e011..2a54eff9942 100644
--- a/src/mess/drivers/cc40.c
+++ b/src/mess/drivers/cc40.c
@@ -50,13 +50,13 @@
provided that the machine is turned off properly. If a program is running,
you may have to press BREAK before turning the CC-40 off.
- To run a cartridge that doesn't automatically boot, use the command
- run"dir" to see which program(s) can be loaded. Load a program with
- run"<shortname of program in list>"
+ To run a cartridge, usually the command run"dir" shows which program(s)
+ can be loaded. Load a program by pressing the RUN key while viewing the list,
+ or manually with the command run"<shortname of program in list>"
TODO:
- - some strange bugs with cartridge software, maybe TMS7000 bug?
+ - some strange bugs with Games I cartridge, bad dump or emulation bug?
- other RAM configurations (6KB(default), 12KB, 18KB, external)
- Hexbus interface and peripherals
- HD44100 is not accessed by the CPU, is it connected to the HD44780?
@@ -309,9 +309,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, cc40_state )
AM_RANGE(0x1000, 0x17ff) AM_RAM AM_SHARE("nvram2")
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("nvram3")
- AM_RANGE(0x0000, 0x4fff) AM_UNMAP // cartridge rom is at $5000-$cfff - direct address, not relative
- AM_RANGE(0x0000, 0xcfff) AM_MASK(0x7fff) AM_ROMBANK("cartbank")
-
+ AM_RANGE(0x5000, 0xcfff) AM_ROMBANK("cartbank")
AM_RANGE(0xd000, 0xefff) AM_ROMBANK("sysbank")
ADDRESS_MAP_END