diff options
Diffstat (limited to 'src/devices/sound/qsoundhle.h')
-rw-r--r-- | src/devices/sound/qsoundhle.h | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/devices/sound/qsoundhle.h b/src/devices/sound/qsoundhle.h index 6bb081ae4fb..f723fa0a89b 100644 --- a/src/devices/sound/qsoundhle.h +++ b/src/devices/sound/qsoundhle.h @@ -34,6 +34,7 @@ public: protected: // device_t implementation virtual void device_start() override; + virtual void device_reset() override; // device_sound_interface implementation virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) override; @@ -48,24 +49,17 @@ private: struct qsound_channel { - uint32_t bank; // bank - uint32_t address; // start/cur address - uint16_t loop; // loop address - uint16_t end; // end address - uint32_t freq; // frequency - uint16_t vol; // master volume + uint16_t reg[8]; // channel control registers // work variables - bool enabled; // key on / key off int lvol; // left volume int rvol; // right volume - uint32_t step_ptr; // current offset counter } m_channel[16]; int m_pan_table[33]; // pan volume table - uint16_t m_data; // register latch data + uint16_t m_data; // register latch data - inline int8_t read_sample(uint32_t offset) { return (int8_t)read_byte(offset); } + inline int16_t read_sample(uint32_t offset) { return uint16_t(read_byte(offset)) << 8; } void write_data(uint8_t address, uint16_t data); }; |