diff options
author | 2019-03-25 23:13:40 +0100 | |
---|---|---|
committer | 2019-03-25 23:13:40 +0100 | |
commit | b380514764cf857469bae61c11143a19f79a74c5 (patch) | |
tree | 63c8012e262618f08a332da31dd714281aa2c5ed /src/devices/cpu/z8/z8.h | |
parent | c24473ddff715ecec2e258a6eb38960cf8c8e98e (diff) |
Revert "conflict resolution (nw)"
This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing
changes made to 009cba4fb8102102168ef32870892438327f3705.
Diffstat (limited to 'src/devices/cpu/z8/z8.h')
-rw-r--r-- | src/devices/cpu/z8/z8.h | 56 |
1 files changed, 9 insertions, 47 deletions
diff --git a/src/devices/cpu/z8/z8.h b/src/devices/cpu/z8/z8.h index c74f3ec839f..0bdd235d7c2 100644 --- a/src/devices/cpu/z8/z8.h +++ b/src/devices/cpu/z8/z8.h @@ -1,5 +1,5 @@ // license:BSD-3-Clause -// copyright-holders:Curt Coder, AJR +// copyright-holders:Curt Coder /********************************************************************** Zilog Z8 Single-Chip MCU emulation @@ -32,7 +32,7 @@ protected: Z8_IMR, Z8_IRQ, Z8_IPR, Z8_P0, Z8_P1, Z8_P2, Z8_P3, Z8_P01M, Z8_P3M, Z8_P2M, - Z8_PRE0, Z8_T0, Z8_PRE1, Z8_T1, Z8_TMR, Z8_TOUT, + Z8_PRE0, Z8_T0, Z8_PRE1, Z8_T1, Z8_TMR, Z8_R0, Z8_R1, Z8_R2, Z8_R3, Z8_R4, Z8_R5, Z8_R6, Z8_R7, Z8_R8, Z8_R9, Z8_R10, Z8_R11, Z8_R12, Z8_R13, Z8_R14, Z8_R15 }; @@ -101,33 +101,18 @@ private: uint8_t m_p01m; // port 0/1 mode uint8_t m_p2m; // port 2 mode uint8_t m_p3m; // port 3 mode - uint8_t m_p3_output; // port 3 output (alternate functions included) // timer registers uint8_t m_tmr; // timer mode uint8_t m_t[2]; // initial values uint8_t m_count[2]; // current counts uint8_t m_pre[2]; // prescalers - uint8_t m_pre_count[2]; // prescaler counts - bool m_tout; // toggle output - - // serial transmitter registers - uint16_t m_transmit_sr; // transmitter shift register - uint8_t m_transmit_count; // counter for transmitter timing - bool m_transmit_parity; // transmitter parity calculation - - // serial receiver registers - uint8_t m_receive_buffer; // received character - uint16_t m_receive_sr; // receiver shift register - uint8_t m_receive_count; // counter for receiver timing - bool m_receive_parity; // receiver parity calculation - bool m_receive_started; // true if receiver has seen start bit // fake registers uint8_t m_fake_r[16]; // fake working registers // interrupts - int m_irq_line[4]; + int m_irq_line[4]; // IRQ line state bool m_irq_taken; bool m_irq_initialized; // IRQ must be unlocked by EI after reset @@ -135,20 +120,11 @@ private: int32_t m_icount; // instruction counter // timers - emu_timer *m_internal_timer[2]; - - bool get_serial_in(); - void sio_receive(); - void sio_transmit(); - - template <int T> void timer_start(); - template <int T> void timer_stop(); - template <int T> void timer_end(); - void t1_trigger(); - void tout_init(); - void tout_toggle(); + emu_timer *m_t0_timer; + emu_timer *m_t1_timer; - template <int T> TIMER_CALLBACK_MEMBER(timeout); + TIMER_CALLBACK_MEMBER( t0_tick ); + TIMER_CALLBACK_MEMBER( t1_tick ); void request_interrupt(int irq); void take_interrupt(int irq); @@ -162,7 +138,6 @@ private: void p2_write(uint8_t data); uint8_t p3_read(); void p3_write(uint8_t data); - void p3_update_output(); uint8_t sio_read(); void sio_write(uint8_t data); uint8_t tmr_read(); @@ -198,8 +173,8 @@ private: inline uint16_t register_pair_read(uint8_t offset); inline void register_write(uint8_t offset, uint8_t data) { m_regs->write_byte(offset, data); } inline void register_pair_write(uint8_t offset, uint16_t data); - inline uint8_t get_working_register(int offset) const; - inline uint8_t get_register(uint8_t offset) const; + inline uint8_t get_working_register(int offset); + inline uint8_t get_register(uint8_t offset); inline uint8_t get_intermediate_register(int offset); inline void stack_push_byte(uint8_t src); inline void stack_push_word(uint16_t src); @@ -421,16 +396,6 @@ public: }; -class z8682_device : public z8_device -{ -public: - z8682_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - -protected: - const tiny_rom_entry *device_rom_region() const override; -}; - - // Zilog Z8601 DECLARE_DEVICE_TYPE(Z8601, z8601_device) @@ -446,7 +411,4 @@ DECLARE_DEVICE_TYPE(Z8671, z8671_device) // Zilog Z8681 ROMless DECLARE_DEVICE_TYPE(Z8681, z8681_device) -// Zilog Z8682 ROMless (boot to 0812H) -DECLARE_DEVICE_TYPE(Z8682, z8682_device) - #endif // MAME_CPU_Z8_Z8_H |