MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / startSequence

Method startSequence

Source/Amiga/rjp1.cpp:140–155  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

138}
139
140void Rjp1::startSequence(uint8 channelNum, uint8 seqNum) {
141 Rjp1Channel *channel = &_channelsTable[channelNum];
142 _vars.activeChannelsMask |= 1 << channelNum;
143 if (seqNum != 0) {
144 const uint8 *p = readBEDWord(_vars.songData[3] + seqNum * 4) + _vars.songData[5];
145 uint8 seq = *p++;
146 channel->sequenceOffsets = p;
147 channel->sequenceData = readBEDWord(_vars.songData[4] + seq * 4) + _vars.songData[6];
148 channel->loopSeqCount = 6;
149 channel->loopSeqCur = channel->loopSeq2Cur = 1;
150 channel->active = true;
151 } else {
152 channel->active = false;
153 turnOffChannel(channel);
154 }
155}
156
157void Rjp1::turnOffChannel(Rjp1Channel *channel) {
158 stopPaulaChannel(channel - _channelsTable);

Callers

nothing calls this directly

Calls 1

readBEDWordFunction · 0.85

Tested by

no test coverage detected