summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fidel_vsc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fidel_vsc.cpp')
-rw-r--r--src/mame/drivers/fidel_vsc.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/mame/drivers/fidel_vsc.cpp b/src/mame/drivers/fidel_vsc.cpp
index fb77e377b01..8498ac68913 100644
--- a/src/mame/drivers/fidel_vsc.cpp
+++ b/src/mame/drivers/fidel_vsc.cpp
@@ -158,6 +158,7 @@ IFP: Impact Printer - also compatible with C64 apparently.
#include "machine/i8255.h"
#include "machine/z80pio.h"
#include "machine/timer.h"
+#include "sound/s14001a.h"
#include "speaker.h"
// internal artwork
@@ -173,17 +174,26 @@ public:
fidelbase_state(mconfig, type, tag),
m_irq_on(*this, "irq_on"),
m_z80pio(*this, "z80pio"),
- m_ppi8255(*this, "ppi8255")
+ m_ppi8255(*this, "ppi8255"),
+ m_speech(*this, "speech"),
+ m_speech_rom(*this, "speech"),
+ m_language(*this, "language")
{ }
// machine drivers
void vsc(machine_config &config);
+protected:
+ virtual void machine_start() override;
+
private:
// devices/pointers
required_device<timer_device> m_irq_on;
required_device<z80pio_device> m_z80pio;
required_device<i8255_device> m_ppi8255;
+ required_device<s14001a_device> m_speech;
+ required_region_ptr<u8> m_speech_rom;
+ required_region_ptr<u8> m_language;
// address maps
void main_map(address_map &map);
@@ -204,8 +214,22 @@ private:
DECLARE_READ8_MEMBER(pio_porta_r);
DECLARE_READ8_MEMBER(pio_portb_r);
DECLARE_WRITE8_MEMBER(pio_portb_w);
+
+ u8 m_speech_bank;
};
+void vsc_state::machine_start()
+{
+ fidelbase_state::machine_start();
+
+ // zerofill
+ m_speech_bank = 0;
+
+ // register for savestates
+ save_item(NAME(m_speech_bank));
+}
+
+
/******************************************************************************
Devices, I/O