diff options
author | 2017-11-30 12:24:41 +0200 | |
---|---|---|
committer | 2017-11-30 12:24:41 +0200 | |
commit | f24f5091656e965bafd159047cedc1803ed0dffb (patch) | |
tree | 713b4093c1a6e39a6084ad1e03abaaed34c90242 /src/devices/sound/ymz770.h | |
parent | 475cf95575c36a7bb0980f966131ebf97ecae1de (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.h | 8 |
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; }; |