Exemplo n.º 1
0
void Channel2::setNr2(unsigned data) {
	if (envelopeUnit_.nr2Change(data))
		disableMaster_();
	else
		staticOutputTest_(cycleCounter_);

	setEvent();
}
Exemplo n.º 2
0
unsigned Channel1::SweepUnit::calcFreq() {
	unsigned freq = shadow_ >> (nr0_ & 0x07);

	if (nr0_ & 0x08) {
		freq = shadow_ - freq;
		negging_ = true;
	} else
		freq = shadow_ + freq;

	if (freq & 2048)
		disableMaster_();

	return freq;
}
Exemplo n.º 3
0
void Channel1::SweepUnit::nr0Change(unsigned newNr0) {
	if (negging_ && !(newNr0 & 0x08))
		disableMaster_();

	nr0_ = newNr0;
}