diff options
Diffstat (limited to 'src/devices/cpu/tlcs900/tlcs900.cpp')
-rw-r--r-- | src/devices/cpu/tlcs900/tlcs900.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/devices/cpu/tlcs900/tlcs900.cpp b/src/devices/cpu/tlcs900/tlcs900.cpp index a0f9d67d597..914257bee9e 100644 --- a/src/devices/cpu/tlcs900/tlcs900.cpp +++ b/src/devices/cpu/tlcs900/tlcs900.cpp @@ -108,7 +108,6 @@ void tlcs900h_device::device_start() save_item( NAME(m_dmad) ); save_item( NAME(m_dmac) ); save_item( NAME(m_dmam) ); - save_item( NAME(m_reg) ); save_item( NAME(m_timer_pre) ); save_item( NAME(m_timer) ); save_item( NAME(m_timer_change) ); @@ -166,6 +165,21 @@ void tlcs900h_device::device_start() set_icountptr(m_icount); } +void tlcs900h_device::device_reset() +{ + m_pc.b.l = RDMEM( 0xFFFF00 ); + m_pc.b.h = RDMEM( 0xFFFF01 ); + m_pc.b.h2 = RDMEM( 0xFFFF02 ); + m_pc.b.h3 = 0; + /* system mode, iff set to 111, max mode, register bank 0 */ + m_sr.d = 0xF800; + m_regbank = 0; + m_xssp.d = 0x0100; + m_halted = 0; + m_check_irqs = 0; + m_prefetch_clear = true; +} + void tlcs900h_device::state_string_export(const device_state_entry &entry, std::string &str) const { |