summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/x1_010.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/x1_010.h')
-rw-r--r--src/devices/sound/x1_010.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/devices/sound/x1_010.h b/src/devices/sound/x1_010.h
index 12bf9c975d8..45801d0bb2c 100644
--- a/src/devices/sound/x1_010.h
+++ b/src/devices/sound/x1_010.h
@@ -5,7 +5,7 @@
#pragma once
-class x1_010_device : public device_t, public device_sound_interface
+class x1_010_device : public device_t, public device_sound_interface, public device_rom_interface
{
public:
x1_010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -24,23 +24,26 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
+ virtual void device_clock_changed() override;
// sound stream update overrides
virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) override;
+ // device_rom_interface overrides
+ virtual void rom_bank_updated() override;
+
private:
static constexpr unsigned NUM_CHANNELS = 16;
// internal state
/* Variables only used here */
- required_region_ptr<int8_t> m_region; // ROM
int m_rate; // Output sampling rate (Hz)
int m_xor; // address XOR
sound_stream * m_stream; // Stream handle
int m_sound_enable; // sound output enable/disable
- uint8_t m_reg[0x2000]; // X1-010 Register & wave form area
- uint8_t m_HI_WORD_BUF[0x2000]; // X1-010 16bit access ram check avoidance work
+ std::unique_ptr<uint8_t[]> m_reg; // X1-010 Register & wave form area
+ std::unique_ptr<uint8_t[]> m_HI_WORD_BUF; // X1-010 16bit access ram check avoidance work
uint32_t m_smp_offset[NUM_CHANNELS];
uint32_t m_env_offset[NUM_CHANNELS];