1 // license:BSD-3-Clause 2 // copyright-holders:Jonathan Gevaryahu 3 /*************************************************************************** 4 5 tsispch.h 6 7 ****************************************************************************/ 8 9 #ifndef MAME_INCLUDES_TSISPCH_H 10 #define MAME_INCLUDES_TSISPCH_H 11 12 #pragma once 13 14 #include "cpu/upd7725/upd7725.h" 15 #include "machine/pic8259.h" 16 17 class tsispch_state : public driver_device 18 { 19 public: tsispch_state(const machine_config & mconfig,device_type type,const char * tag)20 tsispch_state(const machine_config &mconfig, device_type type, const char *tag) 21 : driver_device(mconfig, type, tag), 22 m_maincpu(*this, "maincpu"), 23 m_dsp(*this, "dsp"), 24 m_pic(*this, "pic8259") 25 { 26 } 27 28 void prose2k(machine_config &config); 29 30 void init_prose2k(); 31 32 private: 33 uint8_t dsw_r(); 34 void peripheral_w(uint8_t data); 35 uint16_t dsp_data_r(); 36 void dsp_data_w(uint16_t data); 37 uint16_t dsp_status_r(); 38 void dsp_status_w(uint16_t data); 39 DECLARE_WRITE_LINE_MEMBER(i8251_rxrdy_int); 40 DECLARE_WRITE_LINE_MEMBER(i8251_txempty_int); 41 DECLARE_WRITE_LINE_MEMBER(i8251_txrdy_int); 42 DECLARE_WRITE_LINE_MEMBER(dsp_to_8086_p0_w); 43 DECLARE_WRITE_LINE_MEMBER(dsp_to_8086_p1_w); 44 45 void dsp_data_map(address_map &map); 46 void dsp_prg_map(address_map &map); 47 void i8086_io(address_map &map); 48 void i8086_mem(address_map &map); 49 50 virtual void machine_reset() override; 51 52 required_device<cpu_device> m_maincpu; 53 required_device<upd7725_device> m_dsp; 54 required_device<pic8259_device> m_pic; 55 56 uint8_t m_paramReg; // status leds and resets and etc 57 }; 58 59 #endif // MAME_INCLUDES_TSISPCH_H 60