summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio/midway.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/audio/midway.h')
-rw-r--r--src/mame/audio/midway.h195
1 files changed, 0 insertions, 195 deletions
diff --git a/src/mame/audio/midway.h b/src/mame/audio/midway.h
deleted file mode 100644
index 5078db354f2..00000000000
--- a/src/mame/audio/midway.h
+++ /dev/null
@@ -1,195 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-/***************************************************************************
-
- midway.h
-
- Functions to emulate general the various Midway sound cards.
-
-***************************************************************************/
-#ifndef MAME_AUDIO_MIDWAY_H
-#define MAME_AUDIO_MIDWAY_H
-
-#pragma once
-
-
-#include "cpu/z80/z80.h"
-#include "cpu/m68000/m68000.h"
-#include "cpu/m6800/m6800.h"
-#include "cpu/m6809/m6809.h"
-#include "machine/6821pia.h"
-#include "sound/tms5220.h"
-#include "sound/ay8910.h"
-#include "sound/dac.h"
-#include "sound/hc55516.h"
-
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DECLARE_DEVICE_TYPE(MIDWAY_SSIO, midway_ssio_device)
-DECLARE_DEVICE_TYPE(MIDWAY_SOUNDS_GOOD, midway_sounds_good_device)
-DECLARE_DEVICE_TYPE(MIDWAY_TURBO_CHEAP_SQUEAK, midway_turbo_cheap_squeak_device)
-
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> midway_ssio_device
-
-class midway_ssio_device : public device_t,
- public device_mixer_interface
-{
-public:
- // construction/destruction
- midway_ssio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 16'000'000);
-
- // helpers
- void suspend_cpu();
-
- // read/write
- DECLARE_READ8_MEMBER(read);
- DECLARE_WRITE8_MEMBER(write);
- DECLARE_WRITE_LINE_MEMBER(reset_write);
- DECLARE_READ8_MEMBER(ioport_read);
- DECLARE_WRITE8_MEMBER(ioport_write);
-
- // configuration
- void set_custom_input(int which, uint8_t mask, read8_delegate handler);
- void set_custom_output(int which, uint8_t mask, write8_delegate handler);
-
- // internal communications
- DECLARE_READ8_MEMBER(irq_clear);
- DECLARE_WRITE8_MEMBER(status_w);
- DECLARE_READ8_MEMBER(data_r);
-
- void ssio_map(address_map &map);
- static void ssio_input_ports(address_map &map, const char *ssio);
-
-protected:
- // device-level overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void device_add_mconfig(machine_config &config) override;
- virtual ioport_constructor device_input_ports() const override;
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
-private:
- // internal helpers
- void compute_ay8910_modulation();
- void update_volumes();
-
- // devices
- required_device<z80_device> m_cpu;
- required_device<ay8910_device> m_ay0;
- required_device<ay8910_device> m_ay1;
-
- // I/O ports
- optional_ioport_array<5> m_ports;
-
- // internal state
- uint8_t m_data[4];
- uint8_t m_status;
- uint8_t m_14024_count;
- uint8_t m_mute;
- uint8_t m_overall[2];
- uint8_t m_duty_cycle[2][3];
- uint8_t m_ayvolume_lookup[16];
-
- // I/O port overrides
- uint8_t m_custom_input_mask[5];
- read8_delegate m_custom_input[5];
- uint8_t m_custom_output_mask[2];
- write8_delegate m_custom_output[2];
-
- INTERRUPT_GEN_MEMBER(clock_14024);
- DECLARE_WRITE8_MEMBER(porta0_w);
- DECLARE_WRITE8_MEMBER(portb0_w);
- DECLARE_WRITE8_MEMBER(porta1_w);
- DECLARE_WRITE8_MEMBER(portb1_w);
-
-};
-
-
-// ======================> midway_sounds_good_device
-
-class midway_sounds_good_device : public device_t,
- public device_mixer_interface
-{
-public:
- // construction/destruction
- midway_sounds_good_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 16'000'000);
-
- // read/write
- DECLARE_READ8_MEMBER(read);
- DECLARE_WRITE8_MEMBER(write);
- DECLARE_WRITE_LINE_MEMBER(reset_write);
-
- void soundsgood_map(address_map &map);
-protected:
- // device-level overrides
- virtual void device_add_mconfig(machine_config &config) override;
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
-private:
- // devices
- required_device<m68000_device> m_cpu;
- required_device<pia6821_device> m_pia;
- required_device<dac_word_interface> m_dac;
-
- // internal state
- uint8_t m_status;
- uint16_t m_dacval;
-
- // internal communications
- DECLARE_WRITE8_MEMBER(porta_w);
- DECLARE_WRITE8_MEMBER(portb_w);
- DECLARE_WRITE_LINE_MEMBER(irq_w);
-};
-
-
-// ======================> midway_turbo_cheap_squeak_device
-
-class midway_turbo_cheap_squeak_device : public device_t,
- public device_mixer_interface
-{
-public:
- // construction/destruction
- midway_turbo_cheap_squeak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 8'000'000);
-
- // read/write
- DECLARE_READ8_MEMBER(read);
- DECLARE_WRITE8_MEMBER(write);
- DECLARE_WRITE_LINE_MEMBER(reset_write);
-
- void turbocs_map(address_map &map);
-protected:
- // device-level overrides
- virtual void device_add_mconfig(machine_config &config) override;
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
-private:
- // devices
- required_device<mc6809e_device> m_cpu;
- required_device<pia6821_device> m_pia;
- required_device<dac_word_interface> m_dac;
-
- // internal state
- uint8_t m_status;
- uint16_t m_dacval;
-
- // internal communications
- DECLARE_WRITE8_MEMBER(porta_w);
- DECLARE_WRITE8_MEMBER(portb_w);
- DECLARE_WRITE_LINE_MEMBER(irq_w);
-};
-
-#endif // MAME_AUDIO_MIDWAY_H