diff options
Diffstat (limited to 'src/devices/cpu/tlcs870/tlcs870.cpp')
-rw-r--r-- | src/devices/cpu/tlcs870/tlcs870.cpp | 68 |
1 files changed, 53 insertions, 15 deletions
diff --git a/src/devices/cpu/tlcs870/tlcs870.cpp b/src/devices/cpu/tlcs870/tlcs870.cpp index d35b3183a57..d29ae07b7b6 100644 --- a/src/devices/cpu/tlcs870/tlcs870.cpp +++ b/src/devices/cpu/tlcs870/tlcs870.cpp @@ -15,7 +15,6 @@ #include "emu.h" #include "tlcs870.h" #include "tlcs870d.h" -#include "debugger.h" //#define VERBOSE 1 #include "logmacro.h" @@ -111,9 +110,9 @@ tlcs870_device::tlcs870_device(const machine_config &mconfig, device_type optype , m_io_config("io", ENDIANNESS_LITTLE, 8, 16, 0) , m_intram(*this, "intram") , m_dbr(*this, "dbr") - , m_port_in_cb(*this) + , m_port_in_cb(*this, 0xff) , m_port_out_cb(*this) - , m_port_analog_in_cb(*this) + , m_port_analog_in_cb(*this, 0xff) , m_serial_out_cb(*this) { } @@ -1240,18 +1239,57 @@ void tlcs870_device::device_start() set_icountptr(m_icount); - m_port_in_cb.resolve_all_safe(0xff); - m_port_out_cb.resolve_all_safe(); - m_port_analog_in_cb.resolve_all_safe(0xff); - m_serial_out_cb.resolve_all_safe(); - - m_serial_transmit_timer[0] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(tlcs870_device::sio0_transmit_cb), this)); - m_serial_transmit_timer[1] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(tlcs870_device::sio1_transmit_cb), this)); - - m_tcx_timer[0] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(tlcs870_device::tc1_cb), this)); - m_tcx_timer[1] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(tlcs870_device::tc2_cb), this)); - m_tcx_timer[2] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(tlcs870_device::tc3_cb), this)); - m_tcx_timer[3] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(tlcs870_device::tc4_cb), this)); + m_serial_transmit_timer[0] = timer_alloc(FUNC(tlcs870_device::sio0_transmit_cb), this); + m_serial_transmit_timer[1] = timer_alloc(FUNC(tlcs870_device::sio1_transmit_cb), this); + + m_tcx_timer[0] = timer_alloc(FUNC(tlcs870_device::tc1_cb), this); + m_tcx_timer[1] = timer_alloc(FUNC(tlcs870_device::tc2_cb), this); + m_tcx_timer[2] = timer_alloc(FUNC(tlcs870_device::tc3_cb), this); + m_tcx_timer[3] = timer_alloc(FUNC(tlcs870_device::tc4_cb), this); + + save_item(NAME(m_prvpc)); + save_item(NAME(m_pc)); + save_item(NAME(m_sp)); + save_item(NAME(m_port_out_latch)); + save_item(NAME(m_read_input_port)); + save_item(NAME(m_port0_cr)); + save_item(NAME(m_port1_cr)); + save_item(NAME(m_port6_cr)); + save_item(NAME(m_port7_cr)); + save_item(NAME(m_cycles)); + save_item(NAME(m_tmppc)); + save_item(NAME(m_addr)); + save_item(NAME(m_F)); + save_item(NAME(m_RBS)); + save_item(NAME(m_IL)); + save_item(NAME(m_EIR)); + save_item(NAME(m_EINTCR)); + save_item(NAME(m_ADCCR)); + save_item(NAME(m_ADCDR)); + save_item(NAME(m_SYSCR1)); + save_item(NAME(m_SYSCR2)); + save_item(NAME(m_TBTCR)); + save_item(NAME(m_TREG1A)); + save_item(NAME(m_TREG1B)); + save_item(NAME(m_TC1CR)); + save_item(NAME(m_TREG2)); + save_item(NAME(m_TC2CR)); + save_item(NAME(m_TREG3A)); + save_item(NAME(m_TREG3B)); + save_item(NAME(m_TC3CR)); + save_item(NAME(m_TREG4)); + save_item(NAME(m_TC4CR)); + save_item(NAME(m_SIOCR1)); + save_item(NAME(m_SIOCR2)); + save_item(NAME(m_WDTCR1)); + save_item(NAME(m_irqstate)); + save_item(NAME(m_transfer_numbytes)); + save_item(NAME(m_transfer_pos)); + save_item(NAME(m_transfer_shiftreg)); + save_item(NAME(m_transfer_shiftpos)); + save_item(NAME(m_transfer_mode)); + save_item(NAME(m_transmit_bits)); + save_item(NAME(m_receive_bits)); } |