summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/leland.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/leland.h')
-rw-r--r--src/mame/includes/leland.h125
1 files changed, 6 insertions, 119 deletions
diff --git a/src/mame/includes/leland.h b/src/mame/includes/leland.h
index 4662cda5e51..e6c6168fa6a 100644
--- a/src/mame/includes/leland.h
+++ b/src/mame/includes/leland.h
@@ -5,13 +5,14 @@
Cinemat/Leland driver
*************************************************************************/
+#ifndef MAME_INCLUDES_LELAND_H
+#define MAME_INCLUDES_LELAND_H
+
+#pragma once
#include "machine/eepromser.h"
-#include "sound/ym2151.h"
#include "sound/dac.h"
#include "sound/ay8910.h"
-#include "machine/pit8253.h"
-#include "cpu/i86/i186.h"
#include "screen.h"
#define LELAND_BATTERY_RAM_SIZE 0x4000
@@ -217,123 +218,9 @@ public:
#define SERIAL_TYPE_ENCRYPT_XOR 4
-/*----------- defined in audio/leland.c -----------*/
-
-class leland_80186_sound_device : public device_t
-{
-public:
- leland_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- leland_80186_sound_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- virtual machine_config_constructor device_mconfig_additions() const override;
-
- DECLARE_WRITE16_MEMBER(peripheral_ctrl);
- DECLARE_WRITE8_MEMBER(leland_80186_control_w);
- DECLARE_WRITE8_MEMBER(ataxx_80186_control_w);
- DECLARE_READ16_MEMBER(peripheral_r);
- DECLARE_WRITE16_MEMBER(peripheral_w);
- DECLARE_WRITE8_MEMBER(leland_80186_command_lo_w);
- DECLARE_WRITE8_MEMBER(leland_80186_command_hi_w);
- DECLARE_READ8_MEMBER(leland_80186_response_r);
- DECLARE_WRITE16_MEMBER(dac_w);
- DECLARE_WRITE16_MEMBER(ataxx_dac_control);
- DECLARE_WRITE_LINE_MEMBER(pit0_2_w);
- DECLARE_WRITE_LINE_MEMBER(pit1_0_w);
- DECLARE_WRITE_LINE_MEMBER(pit1_1_w);
- DECLARE_WRITE_LINE_MEMBER(pit1_2_w);
- DECLARE_WRITE_LINE_MEMBER(i80186_tmr0_w);
- DECLARE_WRITE_LINE_MEMBER(i80186_tmr1_w);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- int m_type;
-
- enum {
- TYPE_LELAND,
- TYPE_REDLINE,
- TYPE_ATAXX,
- TYPE_WSF
- };
-
- required_device<dac_byte_interface> m_dac1;
- required_device<dac_byte_interface> m_dac2;
- required_device<dac_byte_interface> m_dac3;
- required_device<dac_byte_interface> m_dac4;
- optional_device<dac_byte_interface> m_dac5;
- optional_device<dac_byte_interface> m_dac6;
- optional_device<dac_byte_interface> m_dac7;
- optional_device<dac_byte_interface> m_dac8;
- optional_device<dac_word_interface> m_dac9;
- required_device<dac_byte_interface> m_dac1vol;
- required_device<dac_byte_interface> m_dac2vol;
- required_device<dac_byte_interface> m_dac3vol;
- required_device<dac_byte_interface> m_dac4vol;
- optional_device<dac_byte_interface> m_dac5vol;
- optional_device<dac_byte_interface> m_dac6vol;
- optional_device<dac_byte_interface> m_dac7vol;
- optional_device<dac_byte_interface> m_dac8vol;
-
-private:
- void command_lo_sync(void *ptr, int param);
- void delayed_response_r(void *ptr, int param);
- void set_clock_line(int which, int state) { m_clock_active = state ? (m_clock_active | (1<<which)) : (m_clock_active & ~(1<<which)); }
-
- // internal state
- i80186_cpu_device *m_audiocpu;
- uint16_t m_peripheral;
- uint8_t m_last_control;
- uint8_t m_clock_active;
- uint8_t m_clock_tick;
- uint16_t m_sound_command;
- uint16_t m_sound_response;
- uint32_t m_ext_start;
- uint32_t m_ext_stop;
- uint8_t m_ext_active;
- uint8_t* m_ext_base;
-
- required_device<pit8254_device> m_pit0;
- optional_device<pit8254_device> m_pit1;
- optional_device<pit8254_device> m_pit2;
- optional_device<ym2151_device> m_ymsnd;
-};
-
-extern const device_type LELAND_80186;
-
-class redline_80186_sound_device : public leland_80186_sound_device
-{
-public:
- redline_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_WRITE16_MEMBER(redline_dac_w);
- virtual machine_config_constructor device_mconfig_additions() const override;
-};
-
-extern const device_type REDLINE_80186;
-
-class ataxx_80186_sound_device : public leland_80186_sound_device
-{
-public:
- ataxx_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
-};
-
-extern const device_type ATAXX_80186;
-
-class wsf_80186_sound_device : public leland_80186_sound_device
-{
-public:
- wsf_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
-};
-
-extern const device_type WSF_80186;
-
-ADDRESS_MAP_EXTERN(leland_80186_map_program, 16);
-ADDRESS_MAP_EXTERN(leland_80186_map_io, 16);
-ADDRESS_MAP_EXTERN(redline_80186_map_io, 16);
-ADDRESS_MAP_EXTERN(ataxx_80186_map_io, 16);
-
-
/*----------- defined in video/leland.c -----------*/
MACHINE_CONFIG_EXTERN( leland_video );
MACHINE_CONFIG_EXTERN( ataxx_video );
+
+#endif // MAME_INCLUDES_LELAND_H