shut up debugger
This commit is contained in:
parent
5c318f762c
commit
fe0d66561a
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user