diff options
Diffstat (limited to 'src/mame/includes/midxunit.h')
-rw-r--r-- | src/mame/includes/midxunit.h | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/src/mame/includes/midxunit.h b/src/mame/includes/midxunit.h index 8a9565aae35..0b3929cbe3d 100644 --- a/src/mame/includes/midxunit.h +++ b/src/mame/includes/midxunit.h @@ -10,15 +10,24 @@ #pragma once -#include "midtunit.h" +#include "audio/dcs.h" +#include "cpu/tms34010/tms34010.h" #include "machine/midwayic.h" +#include "machine/nvram.h" +#include "video/midtunit.h" +#include "emupal.h" -class midxunit_state : public midtunit_state +class midxunit_state : public driver_device { public: midxunit_state(const machine_config &mconfig, device_type type, const char *tag) - : midtunit_state(mconfig, type, tag) + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + , m_video(*this, "video") + , m_dcs(*this, "dcs") + , m_palette(*this, "palette") + , m_gfxrom(*this, "gfxrom") , m_nvram(*this, "nvram") , m_midway_serial_pic(*this, "serial_pic") , m_gun_recoil(*this, "Player%u_Gun_Recoil", 1U) @@ -32,35 +41,40 @@ protected: virtual void machine_reset() override; private: - uint16_t midxunit_cmos_r(offs_t offset); - void midxunit_cmos_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); + uint8_t midxunit_cmos_r(offs_t offset); + void midxunit_cmos_w(offs_t offset, uint8_t data); void midxunit_io_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); void midxunit_unknown_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); DECLARE_WRITE_LINE_MEMBER(adc_int_w); uint16_t midxunit_status_r(); - uint16_t midxunit_uart_r(offs_t offset); - void midxunit_uart_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); + uint8_t midxunit_uart_r(offs_t offset); + void midxunit_uart_w(offs_t offset, uint8_t data); uint16_t midxunit_security_r(); void midxunit_security_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); void midxunit_security_clock_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - uint16_t midxunit_sound_r(); - uint16_t midxunit_sound_state_r(); - void midxunit_sound_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); DECLARE_WRITE_LINE_MEMBER(midxunit_dcs_output_full); + uint32_t midxunit_dma_r(offs_t offset, uint32_t mem_mask = ~0); + void midxunit_dma_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); void main_map(address_map &map); - required_shared_ptr<uint16_t> m_nvram; + required_device<tms340x0_device> m_maincpu; + required_device<midtunit_video_device> m_video; + required_device<dcs_audio_device> m_dcs; + required_device<palette_device> m_palette; + required_memory_region m_gfxrom; + + required_device<nvram_device> m_nvram; required_device<midway_serial_pic_device> m_midway_serial_pic; output_finder<3> m_gun_recoil; output_finder<3> m_gun_led; uint8_t m_cmos_write_enable; uint16_t m_iodata[8]; - uint8_t m_ioshuffle[16]; uint8_t m_uart[8]; uint8_t m_security_bits; bool m_adc_int; + std::unique_ptr<uint8_t[]> m_nvram_data; }; #endif // MAME_INCLUDES_MIDXUNIT_H |