diff options
Diffstat (limited to 'src/mame/audio/tx1.h')
-rw-r--r-- | src/mame/audio/tx1.h | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/src/mame/audio/tx1.h b/src/mame/audio/tx1.h index b22bf4b981d..6e52079332a 100644 --- a/src/mame/audio/tx1.h +++ b/src/mame/audio/tx1.h @@ -11,6 +11,7 @@ #pragma once +#include "machine/i8255.h" #include "sound/ay8910.h" class tx1_sound_device : public device_t, public device_sound_interface @@ -19,28 +20,30 @@ public: tx1_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); DECLARE_WRITE16_MEMBER( z80_busreq_w ); - DECLARE_WRITE8_MEMBER( z80_intreq_w ); + DECLARE_READ16_MEMBER( dipswitches_r ); DECLARE_READ16_MEMBER( z80_shared_r ); DECLARE_WRITE16_MEMBER( z80_shared_w ); - READ16_MEMBER( dipswitches_r ); + DECLARE_WRITE8_MEMBER( z80_intreq_w ); + DECLARE_WRITE8_MEMBER( ts_w ); DECLARE_READ8_MEMBER( ts_r ); + DECLARE_READ8_MEMBER( pit8253_r ); + DECLARE_WRITE8_MEMBER( pit8253_w ); + + INTERRUPT_GEN_MEMBER( z80_irq ); + +protected: + DECLARE_WRITE8_MEMBER( tx1_ppi_latch_w ); DECLARE_WRITE8_MEMBER( tx1_coin_cnt_w ); DECLARE_READ8_MEMBER( tx1_ppi_porta_r ); DECLARE_READ8_MEMBER( tx1_ppi_portb_r ); - DECLARE_READ8_MEMBER( pit8253_r ); - DECLARE_WRITE8_MEMBER( pit8253_w ); DECLARE_WRITE8_MEMBER( ay8910_a_w ); DECLARE_WRITE8_MEMBER( ay8910_b_w ); - INTERRUPT_GEN_MEMBER( z80_irq ); - -protected: - /************************************* * * 8253 Programmable Interval Timer @@ -78,6 +81,13 @@ protected: // internal state required_device<cpu_device> m_audiocpu; required_shared_ptr<uint8_t> m_z80_ram; + optional_device<i8255_device> m_ppi; + + required_ioport m_dsw; + required_ioport m_steering; + required_ioport m_accelerator; + required_ioport m_brake; + optional_ioport m_ppi_portd; sound_stream *m_stream; uint32_t m_freq_to_step; @@ -132,13 +142,9 @@ class buggyboy_sound_device : public tx1_sound_device public: buggyboy_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - DECLARE_WRITE8_MEMBER( ym1_a_w ); DECLARE_WRITE8_MEMBER( ym2_a_w ); DECLARE_WRITE8_MEMBER( ym2_b_w ); - DECLARE_READ8_MEMBER( bb_analog_r ); - DECLARE_WRITE8_MEMBER( bb_coin_cnt_w ); - protected: buggyboy_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); @@ -151,6 +157,11 @@ protected: // sound stream update overrides virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) override; + DECLARE_WRITE8_MEMBER( ym1_a_w ); + + DECLARE_READ8_MEMBER( bb_analog_r ); + DECLARE_WRITE8_MEMBER( bb_coin_cnt_w ); + virtual bool has_coin_counters() { return false; } void buggyboy_sound_io(address_map &map); @@ -164,13 +175,13 @@ class buggyboyjr_sound_device : public buggyboy_sound_device public: buggyboyjr_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - DECLARE_READ8_MEMBER( bbjr_analog_r ); - protected: // device-level overrides virtual ioport_constructor device_input_ports() const override; virtual void device_add_mconfig(machine_config &config) override; + DECLARE_READ8_MEMBER( bbjr_analog_r ); + virtual bool has_coin_counters() override { return true; } void buggybjr_sound_prg(address_map &map); |