1
0
mirror of https://github.com/fruit-bat/pico-zxspectrum.git synced 2025-04-19 00:04:01 +03:00
pico-zxspectrum/src/PulseProcTzx.cpp
2022-10-30 15:20:25 +00:00

39 lines
771 B
C++

#include "PulseProcTzx.h"
#include <cstring>
PulseProcTzx::PulseProcTzx(
PulseProcTap* ppTap,
PulseProcStdHeader* header,
PulseProcStdByteStream* data,
PulseProcTone* ppTone1,
PulseProcTone* ppTone2,
PulseProcPauseMillis* pause
) :
_pptBlock(ppTap, header, data, ppTone1, ppTone2, pause),
_tsPerMs(0)
{}
void PulseProcTzx::init(
PulseProc *nxt,
uint32_t tsPerMs
) {
next(nxt);
_tsPerMs = tsPerMs;
}
int32_t PulseProcTzx::advance(
InputStream *is,
bool *pstate,
PulseProc **top
) {
DBG_PULSE("PulseProcTzx: Loading TZX\n");
_pptHeader.init(&_pptIndex);
_pptIndex.init(&_pptBlock, &_bi);
_pptBlock.init(&_lastPause, &_bi, _tsPerMs);
_lastPause.init(next(), 1000, _tsPerMs);
*top = &_pptHeader;
return PP_CONTINUE;
}