summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/ymz770.h
diff options
context:
space:
mode:
author MetalliC <0vetal0@gmail.com>2017-11-30 12:24:41 +0200
committer MetalliC <0vetal0@gmail.com>2017-11-30 12:24:41 +0200
commitf24f5091656e965bafd159047cedc1803ed0dffb (patch)
tree713b4093c1a6e39a6084ad1e03abaaed34c90242 /src/devices/sound/ymz770.h
parent475cf95575c36a7bb0980f966131ebf97ecae1de (diff)
ymz774: add sequencer, blind work based on KOF98UM rom data, not tested at all (nw)
Diffstat (limited to 'src/devices/sound/ymz770.h')
-rw-r--r--src/devices/sound/ymz770.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/devices/sound/ymz770.h b/src/devices/sound/ymz770.h
index 03921759cf2..0393b5f706e 100644
--- a/src/devices/sound/ymz770.h
+++ b/src/devices/sound/ymz770.h
@@ -95,9 +95,11 @@ protected:
};
struct ymz_sequence
{
+ uint32_t delay;
uint16_t sequence;
- uint8_t control;
- uint8_t delay;
+ uint16_t timer;
+ uint16_t stopchan;
+ uint8_t loop;
uint8_t *data;
bool is_playing;
};
@@ -119,7 +121,7 @@ protected:
virtual void internal_reg_write(uint8_t reg, uint8_t data) override;
virtual uint32_t get_phrase_offs(int phrase) override { int ph = phrase * 4; return ((m_rom[ph] & 0x0f) << 24 | m_rom[ph + 1] << 16 | m_rom[ph + 2] << 8 | m_rom[ph + 3]) * 2; };
virtual uint32_t get_seq_offs(int sqn) override { int sq = sqn * 4 + 0x2000; return ((m_rom[sq] & 0x0f) << 24 | m_rom[sq + 1] << 16 | m_rom[sq + 2] << 8 | m_rom[sq + 3]) * 2; };
- virtual void sequencer() override {};
+ virtual void sequencer() override;
private:
int m_bank;
};