libgambatte: psg speed change work
This commit is contained in:
parent
a0148f49bb
commit
cfc2cac309
@ -1266,6 +1266,7 @@ void gambatte::setInitState(SaveState &state, bool const cgb, bool const gbaCgbM
|
||||
|
||||
// spu.cycleCounter >> 12 & 7 represents the frame sequencer position.
|
||||
state.spu.cycleCounter = (cgb ? 0x1E00 : 0x2400) | (state.cpu.cycleCounter >> 1 & 0x1FF);
|
||||
state.spu.lastUpdate = 0;
|
||||
|
||||
state.spu.ch1.sweep.counter = SoundUnit::counter_disabled;
|
||||
state.spu.ch1.sweep.shadow = 0;
|
||||
|
@ -408,17 +408,18 @@ unsigned long Memory::stop(unsigned long cc, bool &skip) {
|
||||
ackDmaReq(intreq_);
|
||||
intreq_.halt();
|
||||
}
|
||||
psg_.speedChange(cc_, isDoubleSpeed());
|
||||
lcd_.speedChange(cc_);
|
||||
ioamhram_[0x14D] ^= 0x81;
|
||||
// TODO: perhaps make this a bit nicer?
|
||||
intreq_.setEventTime<intevent_blit>(ioamhram_[0x140] & lcdc_en
|
||||
? lcd_.nextMode1IrqTime()
|
||||
: cc + (lcd_cycles_per_frame << isDoubleSpeed()));
|
||||
if (intreq_.eventTime(intevent_end) > cc) {
|
||||
intreq_.setEventTime<intevent_end>(cc
|
||||
if (intreq_.eventTime(intevent_end) > cc_) {
|
||||
intreq_.setEventTime<intevent_end>(cc_
|
||||
+ (isDoubleSpeed()
|
||||
? (intreq_.eventTime(intevent_end) - cc) * 2
|
||||
: (intreq_.eventTime(intevent_end) - cc) / 2));
|
||||
? (intreq_.eventTime(intevent_end) - cc_) * 2
|
||||
: (intreq_.eventTime(intevent_end) - cc_) / 2));
|
||||
}
|
||||
if (cc_ < cc + 4) {
|
||||
if (lastOamDmaUpdate_ != disabled_time)
|
||||
@ -754,7 +755,7 @@ void Memory::nontrivial_ff_write(unsigned const p, unsigned data, unsigned long
|
||||
return;
|
||||
|
||||
psg_.generateSamples(cc, isDoubleSpeed());
|
||||
psg_.setNr14(data, isDoubleSpeed());
|
||||
psg_.setNr14(data);
|
||||
data |= 0xBF;
|
||||
break;
|
||||
case 0x16:
|
||||
@ -788,7 +789,7 @@ void Memory::nontrivial_ff_write(unsigned const p, unsigned data, unsigned long
|
||||
return;
|
||||
|
||||
psg_.generateSamples(cc, isDoubleSpeed());
|
||||
psg_.setNr24(data, isDoubleSpeed());
|
||||
psg_.setNr24(data);
|
||||
data |= 0xBF;
|
||||
break;
|
||||
case 0x1A:
|
||||
|
@ -183,6 +183,7 @@ struct SaveState {
|
||||
} ch4;
|
||||
|
||||
unsigned long cycleCounter;
|
||||
unsigned char lastUpdate;
|
||||
} spu;
|
||||
|
||||
struct RTC {
|
||||
|
@ -61,6 +61,7 @@ void PSG::init(bool cgb) {
|
||||
}
|
||||
|
||||
void PSG::reset() {
|
||||
lastUpdate_ = (lastUpdate_ + 3) & -4;
|
||||
ch1_.reset();
|
||||
ch2_.reset();
|
||||
ch3_.reset();
|
||||
@ -79,6 +80,7 @@ void PSG::setStatePtrs(SaveState &state) {
|
||||
}
|
||||
|
||||
void PSG::saveState(SaveState &state) {
|
||||
state.spu.lastUpdate = lastUpdate_ % 4;
|
||||
ch1_.saveState(state);
|
||||
ch2_.saveState(state);
|
||||
ch3_.saveState(state);
|
||||
@ -86,12 +88,15 @@ void PSG::saveState(SaveState &state) {
|
||||
}
|
||||
|
||||
void PSG::loadState(SaveState const &state) {
|
||||
ch1_.loadState(state);
|
||||
ch2_.loadState(state);
|
||||
ch3_.loadState(state);
|
||||
ch4_.loadState(state);
|
||||
bool const ds = state.mem.ioamhram.get()[0x14D] >> 7 & ch3_.isCgb();
|
||||
int const divOffset = ds && (((state.cpu.cycleCounter - state.mem.divLastUpdate) / 4
|
||||
- state.spu.cycleCounter) & 0xFFF) == 1;
|
||||
ch1_.loadState(state, divOffset);
|
||||
ch2_.loadState(state, divOffset);
|
||||
ch3_.loadState(state, divOffset);
|
||||
ch4_.loadState(state, divOffset);
|
||||
|
||||
lastUpdate_ = state.cpu.cycleCounter;
|
||||
lastUpdate_ = state.cpu.cycleCounter - -state.spu.lastUpdate % 4u;
|
||||
setSoVolume(state.mem.ioamhram.get()[0x124]);
|
||||
mapSo(state.mem.ioamhram.get()[0x125]);
|
||||
enabled_ = state.mem.ioamhram.get()[0x126] >> 7 & 1;
|
||||
@ -121,6 +126,15 @@ void PSG::resetCounter(unsigned long newCc, unsigned long oldCc, bool doubleSpee
|
||||
lastUpdate_ = newCc - (oldCc - lastUpdate_);
|
||||
}
|
||||
|
||||
void PSG::speedChange(unsigned long cc, bool ds) {
|
||||
lastUpdate_ -= !ds;
|
||||
generateSamples(cc, ds);
|
||||
ch1_.speedChange(ds);
|
||||
ch2_.speedChange(ds);
|
||||
ch3_.speedChange(ds);
|
||||
ch4_.speedChange(ds);
|
||||
}
|
||||
|
||||
std::size_t PSG::fillBuffer() {
|
||||
uint_least32_t sum = rsum_;
|
||||
uint_least32_t *b = buffer_;
|
||||
|
@ -38,6 +38,7 @@ public:
|
||||
|
||||
void generateSamples(unsigned long cycleCounter, bool doubleSpeed);
|
||||
void resetCounter(unsigned long newCc, unsigned long oldCc, bool doubleSpeed);
|
||||
void speedChange(unsigned long cc, bool doubleSpeed);
|
||||
std::size_t fillBuffer();
|
||||
void setBuffer(uint_least32_t *buf) { buffer_ = buf; bufferPos_ = 0; }
|
||||
|
||||
@ -48,12 +49,12 @@ public:
|
||||
void setNr11(unsigned data) { ch1_.setNr1(data); }
|
||||
void setNr12(unsigned data) { ch1_.setNr2(data); }
|
||||
void setNr13(unsigned data) { ch1_.setNr3(data); }
|
||||
void setNr14(unsigned data, bool ds) { ch1_.setNr4(data, ds); }
|
||||
void setNr14(unsigned data) { ch1_.setNr4(data); }
|
||||
|
||||
void setNr21(unsigned data) { ch2_.setNr1(data); }
|
||||
void setNr22(unsigned data) { ch2_.setNr2(data); }
|
||||
void setNr23(unsigned data) { ch2_.setNr3(data); }
|
||||
void setNr24(unsigned data, bool ds) { ch2_.setNr4(data, ds); }
|
||||
void setNr24(unsigned data) { ch2_.setNr4(data); }
|
||||
|
||||
void setNr30(unsigned data) { ch3_.setNr0(data); }
|
||||
void setNr31(unsigned data) { ch3_.setNr1(data); }
|
||||
|
@ -116,6 +116,7 @@ Channel1::Channel1()
|
||||
, soMask_(0)
|
||||
, prevOut_(0)
|
||||
, nr4_(0)
|
||||
, divOffset_(0)
|
||||
, master_(false)
|
||||
{
|
||||
setEvent();
|
||||
@ -154,10 +155,10 @@ void Channel1::setNr3(unsigned data) {
|
||||
setEvent();
|
||||
}
|
||||
|
||||
void Channel1::setNr4(unsigned const data, bool const ds) {
|
||||
void Channel1::setNr4(unsigned const data) {
|
||||
lengthCounter_.nr4Change(nr4_, data, cycleCounter_);
|
||||
nr4_ = data;
|
||||
dutyUnit_.nr4Change(data, cycleCounter_, ds);
|
||||
dutyUnit_.nr4Change(data, cycleCounter_, 1 - divOffset_);
|
||||
|
||||
if (data & 0x80) { // init-bit
|
||||
nr4_ &= 0x7F;
|
||||
@ -177,8 +178,10 @@ void Channel1::setSo(unsigned long soMask) {
|
||||
|
||||
void Channel1::reset() {
|
||||
// cycleCounter >> 12 & 7 represents the frame sequencer position.
|
||||
cycleCounter_ += divOffset_;
|
||||
cycleCounter_ &= 0xFFF;
|
||||
cycleCounter_ += ~(cycleCounter_ + 2) << 1 & 0x1000;
|
||||
divOffset_ = 0;
|
||||
|
||||
dutyUnit_.reset();
|
||||
envelopeUnit_.reset();
|
||||
@ -187,15 +190,24 @@ void Channel1::reset() {
|
||||
}
|
||||
|
||||
void Channel1::divReset() {
|
||||
unsigned long const cc = cycleCounter_;
|
||||
cycleCounter_ = (cc & -0x1000) + 2 * (cc & 0x800);
|
||||
dutyUnit_.divReset(cc, cycleCounter_);
|
||||
unsigned long const cc = cycleCounter_ + divOffset_;
|
||||
cycleCounter_ = (cc & -0x1000) + 2 * (cc & 0x800) - divOffset_;
|
||||
dutyUnit_.resetCc(cc - divOffset_, cycleCounter_);
|
||||
while (cycleCounter_ >= nextEventUnit_->counter()) {
|
||||
nextEventUnit_->event();
|
||||
setEvent();
|
||||
}
|
||||
}
|
||||
|
||||
void Channel1::speedChange(bool ds) {
|
||||
unsigned long const cc = cycleCounter_;
|
||||
// correct for cycles since DIV reset (if any).
|
||||
unsigned const divCycles = (cc + divOffset_) & 0xFFF;
|
||||
cycleCounter_ = ds ? cc + divOffset_ : cc - divCycles / 2 - 1;
|
||||
divOffset_ = ds ? 0 : divCycles % 2 == 0;
|
||||
dutyUnit_.resetCc(cc, cycleCounter_);
|
||||
}
|
||||
|
||||
void Channel1::init(bool cgb) {
|
||||
sweepUnit_.init(cgb);
|
||||
}
|
||||
@ -211,7 +223,7 @@ void Channel1::saveState(SaveState &state) {
|
||||
state.spu.ch1.master = master_;
|
||||
}
|
||||
|
||||
void Channel1::loadState(SaveState const &state) {
|
||||
void Channel1::loadState(SaveState const &state, int divOffset) {
|
||||
sweepUnit_.loadState(state);
|
||||
dutyUnit_.loadState(state.spu.ch1.duty, state.mem.ioamhram.get()[0x111],
|
||||
state.spu.ch1.nr4, state.spu.cycleCounter);
|
||||
@ -222,6 +234,7 @@ void Channel1::loadState(SaveState const &state) {
|
||||
cycleCounter_ = state.spu.cycleCounter;
|
||||
nr4_ = state.spu.ch1.nr4;
|
||||
master_ = state.spu.ch1.master;
|
||||
divOffset_ = divOffset;
|
||||
}
|
||||
|
||||
void Channel1::update(uint_least32_t *buf, unsigned long const soBaseVol, unsigned long cycles) {
|
||||
|
@ -37,15 +37,16 @@ public:
|
||||
void setNr1(unsigned data);
|
||||
void setNr2(unsigned data);
|
||||
void setNr3(unsigned data);
|
||||
void setNr4(unsigned data, bool ds);
|
||||
void setNr4(unsigned data);
|
||||
void setSo(unsigned long soMask);
|
||||
bool isActive() const { return master_; }
|
||||
void update(uint_least32_t *buf, unsigned long soBaseVol, unsigned long cycles);
|
||||
void reset();
|
||||
void divReset();
|
||||
void speedChange(bool ds);
|
||||
void init(bool cgb);
|
||||
void saveState(SaveState &state);
|
||||
void loadState(SaveState const &state);
|
||||
void loadState(SaveState const &state, int divOffset);
|
||||
|
||||
private:
|
||||
class SweepUnit : public SoundUnit {
|
||||
@ -83,6 +84,7 @@ private:
|
||||
unsigned long soMask_;
|
||||
unsigned long prevOut_;
|
||||
unsigned char nr4_;
|
||||
signed char divOffset_;
|
||||
bool master_;
|
||||
|
||||
void setEvent();
|
||||
|
@ -31,6 +31,7 @@ Channel2::Channel2()
|
||||
, soMask_(0)
|
||||
, prevOut_(0)
|
||||
, nr4_(0)
|
||||
, divOffset_(0)
|
||||
, master_(false)
|
||||
{
|
||||
setEvent();
|
||||
@ -62,7 +63,7 @@ void Channel2::setNr3(unsigned data) {
|
||||
setEvent();
|
||||
}
|
||||
|
||||
void Channel2::setNr4(unsigned const data, bool const ds) {
|
||||
void Channel2::setNr4(unsigned const data) {
|
||||
lengthCounter_.nr4Change(nr4_, data, cycleCounter_);
|
||||
nr4_ = data;
|
||||
|
||||
@ -72,7 +73,7 @@ void Channel2::setNr4(unsigned const data, bool const ds) {
|
||||
staticOutputTest_(cycleCounter_);
|
||||
}
|
||||
|
||||
dutyUnit_.nr4Change(data, cycleCounter_, ds);
|
||||
dutyUnit_.nr4Change(data, cycleCounter_, 1 - divOffset_);
|
||||
setEvent();
|
||||
}
|
||||
|
||||
@ -84,8 +85,10 @@ void Channel2::setSo(unsigned long soMask) {
|
||||
|
||||
void Channel2::reset() {
|
||||
// cycleCounter >> 12 & 7 represents the frame sequencer position.
|
||||
cycleCounter_ += divOffset_;
|
||||
cycleCounter_ &= 0xFFF;
|
||||
cycleCounter_ += ~(cycleCounter_ + 2) << 1 & 0x1000;
|
||||
divOffset_ = 0;
|
||||
|
||||
dutyUnit_.reset();
|
||||
envelopeUnit_.reset();
|
||||
@ -93,15 +96,24 @@ void Channel2::reset() {
|
||||
}
|
||||
|
||||
void Channel2::divReset() {
|
||||
unsigned long const cc = cycleCounter_;
|
||||
cycleCounter_ = (cc & -0x1000) + 2 * (cc & 0x800);
|
||||
dutyUnit_.divReset(cc, cycleCounter_);
|
||||
unsigned long const cc = cycleCounter_ + divOffset_;
|
||||
cycleCounter_ = (cc & -0x1000) + 2 * (cc & 0x800) - divOffset_;
|
||||
dutyUnit_.resetCc(cc - divOffset_, cycleCounter_);
|
||||
while (cycleCounter_ >= nextEventUnit->counter()) {
|
||||
nextEventUnit->event();
|
||||
setEvent();
|
||||
}
|
||||
}
|
||||
|
||||
void Channel2::speedChange(bool ds) {
|
||||
unsigned long const cc = cycleCounter_;
|
||||
// correct for cycles since DIV reset (if any).
|
||||
unsigned const divCycles = (cc + divOffset_) & 0xFFF;
|
||||
cycleCounter_ = ds ? cc + divOffset_ : cc - divCycles / 2 - 1;
|
||||
divOffset_ = ds ? 0 : divCycles % 2 == 0;
|
||||
dutyUnit_.resetCc(cc, cycleCounter_);
|
||||
}
|
||||
|
||||
void Channel2::saveState(SaveState &state) {
|
||||
dutyUnit_.saveState(state.spu.ch2.duty, cycleCounter_);
|
||||
envelopeUnit_.saveState(state.spu.ch2.env);
|
||||
@ -111,7 +123,7 @@ void Channel2::saveState(SaveState &state) {
|
||||
state.spu.ch2.master = master_;
|
||||
}
|
||||
|
||||
void Channel2::loadState(SaveState const &state) {
|
||||
void Channel2::loadState(SaveState const &state, int divOffset) {
|
||||
dutyUnit_.loadState(state.spu.ch2.duty, state.mem.ioamhram.get()[0x116],
|
||||
state.spu.ch2.nr4, state.spu.cycleCounter);
|
||||
envelopeUnit_.loadState(state.spu.ch2.env, state.mem.ioamhram.get()[0x117],
|
||||
@ -121,6 +133,7 @@ void Channel2::loadState(SaveState const &state) {
|
||||
cycleCounter_ = state.spu.cycleCounter;
|
||||
nr4_ = state.spu.ch2.nr4;
|
||||
master_ = state.spu.ch2.master;
|
||||
divOffset_ = divOffset;
|
||||
}
|
||||
|
||||
void Channel2::update(uint_least32_t *buf, unsigned long const soBaseVol, unsigned long cycles) {
|
||||
|
@ -35,14 +35,15 @@ public:
|
||||
void setNr1(unsigned data);
|
||||
void setNr2(unsigned data);
|
||||
void setNr3(unsigned data);
|
||||
void setNr4(unsigned data, bool ds);
|
||||
void setNr4(unsigned data);
|
||||
void setSo(unsigned long soMask);
|
||||
bool isActive() const { return master_; }
|
||||
void update(uint_least32_t *buf, unsigned long soBaseVol, unsigned long cycles);
|
||||
void reset();
|
||||
void divReset();
|
||||
void speedChange(bool ds);
|
||||
void saveState(SaveState &state);
|
||||
void loadState(SaveState const &state);
|
||||
void loadState(SaveState const &state, int divOffset);
|
||||
|
||||
private:
|
||||
friend class StaticOutputTester<Channel2, DutyUnit>;
|
||||
@ -57,6 +58,7 @@ private:
|
||||
unsigned long soMask_;
|
||||
unsigned long prevOut_;
|
||||
unsigned char nr4_;
|
||||
signed char divOffset_;
|
||||
bool master_;
|
||||
|
||||
void setEvent();
|
||||
|
@ -45,6 +45,7 @@ Channel3::Channel3()
|
||||
, wavePos_(0)
|
||||
, rshift_(4)
|
||||
, sampleBuf_(0)
|
||||
, divOffset_(0)
|
||||
, master_(false)
|
||||
, cgb_(false)
|
||||
{
|
||||
@ -89,23 +90,36 @@ void Channel3::setSo(unsigned long soMask) {
|
||||
|
||||
void Channel3::reset() {
|
||||
// cycleCounter >> 12 & 7 represents the frame sequencer position.
|
||||
cycleCounter_ += divOffset_;
|
||||
cycleCounter_ &= 0xFFF;
|
||||
cycleCounter_ += ~(cycleCounter_ + 2) << 1 & 0x1000;
|
||||
|
||||
divOffset_ = 0;
|
||||
sampleBuf_ = 0;
|
||||
}
|
||||
|
||||
void Channel3::divReset() {
|
||||
unsigned long const cc = cycleCounter_;
|
||||
unsigned long const cc = cycleCounter_ + divOffset_;
|
||||
cycleCounter_ = (cc & -0x1000) + 2 * (cc & 0x800);
|
||||
lastReadTime_ -= cc - cycleCounter_;
|
||||
if (waveCounter_ != SoundUnit::counter_disabled)
|
||||
waveCounter_ -= cc - cycleCounter_;
|
||||
|
||||
lastReadTime_ -= cc - cycleCounter_;
|
||||
cycleCounter_ -= divOffset_;
|
||||
if (cycleCounter_ >= lengthCounter_.counter())
|
||||
lengthCounter_.event();
|
||||
}
|
||||
|
||||
void Channel3::speedChange(bool ds) {
|
||||
unsigned long const cc = cycleCounter_;
|
||||
// correct for cycles since DIV reset (if any).
|
||||
unsigned const divCycles = (cc + divOffset_) & 0xFFF;
|
||||
cycleCounter_ = ds ? cc + divOffset_ : cc - divCycles / 2 - 1;
|
||||
divOffset_ = ds ? 0 : divCycles % 2 == 0;
|
||||
lastReadTime_ -= cc - cycleCounter_;
|
||||
if (waveCounter_ != SoundUnit::counter_disabled)
|
||||
waveCounter_ -= cc - cycleCounter_;
|
||||
}
|
||||
|
||||
void Channel3::init(bool cgb) {
|
||||
cgb_ = cgb;
|
||||
}
|
||||
@ -126,7 +140,7 @@ void Channel3::saveState(SaveState &state) const {
|
||||
state.spu.ch3.master = master_;
|
||||
}
|
||||
|
||||
void Channel3::loadState(SaveState const &state) {
|
||||
void Channel3::loadState(SaveState const &state, int divOffset) {
|
||||
lengthCounter_.loadState(state.spu.ch3.lcounter, state.spu.cycleCounter);
|
||||
|
||||
cycleCounter_ = state.spu.cycleCounter;
|
||||
@ -137,6 +151,7 @@ void Channel3::loadState(SaveState const &state) {
|
||||
wavePos_ = state.spu.ch3.wavePos & 0x1F;
|
||||
sampleBuf_ = state.spu.ch3.sampleBuf;
|
||||
master_ = state.spu.ch3.master;
|
||||
divOffset_ = divOffset;
|
||||
|
||||
nr0_ = state.mem.ioamhram.get()[0x11A] & 0x80;
|
||||
setNr2(state.mem.ioamhram.get()[0x11C]);
|
||||
|
@ -31,12 +31,14 @@ class Channel3 {
|
||||
public:
|
||||
Channel3();
|
||||
bool isActive() const { return master_; }
|
||||
bool isCgb() const { return cgb_; }
|
||||
void reset();
|
||||
void divReset();
|
||||
void speedChange(bool ds);
|
||||
void init(bool cgb);
|
||||
void setStatePtrs(SaveState &state);
|
||||
void saveState(SaveState &state) const;
|
||||
void loadState(const SaveState &state);
|
||||
void loadState(SaveState const &state, int divOffset);
|
||||
void setNr0(unsigned data);
|
||||
void setNr1(unsigned data) { lengthCounter_.nr1Change(data, nr4_, cycleCounter_); }
|
||||
void setNr2(unsigned data);
|
||||
@ -95,6 +97,7 @@ private:
|
||||
unsigned char wavePos_;
|
||||
unsigned char rshift_;
|
||||
unsigned char sampleBuf_;
|
||||
signed char divOffset_;
|
||||
bool master_;
|
||||
bool cgb_;
|
||||
|
||||
|
@ -112,17 +112,15 @@ void Channel4::Lfsr::reset(unsigned long cc) {
|
||||
backupCounter_ = cc + toPeriod(nr3_);
|
||||
}
|
||||
|
||||
void Channel4::Lfsr::divReset(unsigned long oldCc, unsigned long newCc) {
|
||||
updateBackupCounter(oldCc);
|
||||
backupCounter_ -= oldCc - newCc;
|
||||
void Channel4::Lfsr::resetCc(unsigned long cc, unsigned long newCc) {
|
||||
updateBackupCounter(cc);
|
||||
backupCounter_ -= cc - newCc;
|
||||
if (counter_ != counter_disabled)
|
||||
counter_ -= oldCc - newCc;
|
||||
counter_ -= cc - newCc;
|
||||
}
|
||||
|
||||
void Channel4::Lfsr::resetCounters(unsigned long oldCc) {
|
||||
updateBackupCounter(oldCc);
|
||||
backupCounter_ -= counter_max;
|
||||
SoundUnit::resetCounters(oldCc);
|
||||
void Channel4::Lfsr::resetCounters(unsigned long cc) {
|
||||
resetCc(cc, cc - counter_max);
|
||||
}
|
||||
|
||||
void Channel4::Lfsr::saveState(SaveState &state, unsigned long cc) {
|
||||
@ -148,6 +146,7 @@ Channel4::Channel4()
|
||||
, soMask_(0)
|
||||
, prevOut_(0)
|
||||
, nr4_(0)
|
||||
, divOffset_(0)
|
||||
, master_(false)
|
||||
{
|
||||
setEvent();
|
||||
@ -198,8 +197,10 @@ void Channel4::setSo(unsigned long soMask) {
|
||||
|
||||
void Channel4::reset() {
|
||||
// cycleCounter >> 12 & 7 represents the frame sequencer position.
|
||||
cycleCounter_ += divOffset_;
|
||||
cycleCounter_ &= 0xFFF;
|
||||
cycleCounter_ += ~(cycleCounter_ + 2) << 1 & 0x1000;
|
||||
divOffset_ = 0;
|
||||
|
||||
lfsr_.reset(cycleCounter_);
|
||||
envelopeUnit_.reset();
|
||||
@ -207,15 +208,24 @@ void Channel4::reset() {
|
||||
}
|
||||
|
||||
void Channel4::divReset() {
|
||||
unsigned long const cc = cycleCounter_;
|
||||
cycleCounter_ = (cc & -0x1000) + 2 * (cc & 0x800);
|
||||
lfsr_.divReset(cc, cycleCounter_);
|
||||
unsigned long const cc = cycleCounter_ + divOffset_;
|
||||
cycleCounter_ = (cc & -0x1000) + 2 * (cc & 0x800) - divOffset_;
|
||||
lfsr_.resetCc(cc - divOffset_, cycleCounter_);
|
||||
while (cycleCounter_ >= nextEventUnit_->counter()) {
|
||||
nextEventUnit_->event();
|
||||
setEvent();
|
||||
}
|
||||
}
|
||||
|
||||
void Channel4::speedChange(bool ds) {
|
||||
unsigned long const cc = cycleCounter_;
|
||||
// correct for cycles since DIV reset (if any).
|
||||
unsigned const divCycles = (cc + divOffset_) & 0xFFF;
|
||||
cycleCounter_ = ds ? cc + divOffset_ : cc - divCycles / 2 - 1;
|
||||
divOffset_ = ds ? 0 : divCycles % 2 == 0;
|
||||
lfsr_.resetCc(cc, cycleCounter_);
|
||||
}
|
||||
|
||||
void Channel4::saveState(SaveState &state) {
|
||||
lfsr_.saveState(state, cycleCounter_);
|
||||
envelopeUnit_.saveState(state.spu.ch4.env);
|
||||
@ -225,7 +235,7 @@ void Channel4::saveState(SaveState &state) {
|
||||
state.spu.ch4.master = master_;
|
||||
}
|
||||
|
||||
void Channel4::loadState(SaveState const &state) {
|
||||
void Channel4::loadState(SaveState const &state, int divOffset) {
|
||||
lfsr_.loadState(state);
|
||||
envelopeUnit_.loadState(state.spu.ch4.env, state.mem.ioamhram.get()[0x121],
|
||||
state.spu.cycleCounter);
|
||||
@ -234,6 +244,7 @@ void Channel4::loadState(SaveState const &state) {
|
||||
cycleCounter_ = state.spu.cycleCounter;
|
||||
nr4_ = state.spu.ch4.nr4;
|
||||
master_ = state.spu.ch4.master;
|
||||
divOffset_ = divOffset;
|
||||
}
|
||||
|
||||
void Channel4::update(uint_least32_t *buf, unsigned long const soBaseVol, unsigned long cycles) {
|
||||
|
@ -41,8 +41,9 @@ public:
|
||||
void update(uint_least32_t *buf, unsigned long soBaseVol, unsigned long cycles);
|
||||
void reset();
|
||||
void divReset();
|
||||
void speedChange(bool ds);
|
||||
void saveState(SaveState &state);
|
||||
void loadState(SaveState const &state);
|
||||
void loadState(SaveState const &state, int divOffset);
|
||||
|
||||
private:
|
||||
class Lfsr : public SoundUnit {
|
||||
@ -54,7 +55,7 @@ private:
|
||||
void nr3Change(unsigned newNr3, unsigned long cc);
|
||||
void nr4Init(unsigned long cc);
|
||||
void reset(unsigned long cc);
|
||||
void divReset(unsigned long oldCc, unsigned long newCc);
|
||||
void resetCc(unsigned long cc, unsigned long newCc);
|
||||
void saveState(SaveState &state, unsigned long cc);
|
||||
void loadState(SaveState const &state);
|
||||
void disableMaster() { killCounter(); master_ = false; reg_ = 0x7FFF; }
|
||||
@ -91,6 +92,7 @@ private:
|
||||
unsigned long soMask_;
|
||||
unsigned long prevOut_;
|
||||
unsigned char nr4_;
|
||||
signed char divOffset_;
|
||||
bool master_;
|
||||
|
||||
void setEvent();
|
||||
|
@ -99,11 +99,11 @@ void DutyUnit::nr3Change(unsigned newNr3, unsigned long cc) {
|
||||
setFreq((freq() & 0x700) | newNr3, cc);
|
||||
}
|
||||
|
||||
void DutyUnit::nr4Change(unsigned const newNr4, unsigned long const cc, bool const ds) {
|
||||
void DutyUnit::nr4Change(unsigned const newNr4, unsigned long const cc, unsigned long const ref) {
|
||||
setFreq((newNr4 << 8 & 0x700) | (freq() & 0xFF), cc);
|
||||
|
||||
if (newNr4 & 0x80) {
|
||||
nextPosUpdate_ = cc - (cc - ds) % 2 + period_ + 4;
|
||||
nextPosUpdate_ = cc - (cc - ref) % 2 + period_ + 4;
|
||||
setCounter();
|
||||
}
|
||||
}
|
||||
@ -115,7 +115,7 @@ void DutyUnit::reset() {
|
||||
setCounter();
|
||||
}
|
||||
|
||||
void DutyUnit::divReset(unsigned long cc, unsigned long newCc) {
|
||||
void DutyUnit::resetCc(unsigned long cc, unsigned long newCc) {
|
||||
if (nextPosUpdate_ == counter_disabled)
|
||||
return;
|
||||
|
||||
@ -144,13 +144,8 @@ void DutyUnit::loadState(SaveState::SPU::Duty const &dstate,
|
||||
setCounter();
|
||||
}
|
||||
|
||||
void DutyUnit::resetCounters(unsigned long const oldCc) {
|
||||
if (nextPosUpdate_ == counter_disabled)
|
||||
return;
|
||||
|
||||
updatePos(oldCc);
|
||||
nextPosUpdate_ -= counter_max;
|
||||
setCounter();
|
||||
void DutyUnit::resetCounters(unsigned long cc) {
|
||||
resetCc(cc, cc - counter_max);
|
||||
}
|
||||
|
||||
void DutyUnit::killCounter() {
|
||||
|
@ -33,9 +33,9 @@ public:
|
||||
bool isHighState() const { return high_; }
|
||||
void nr1Change(unsigned newNr1, unsigned long cc);
|
||||
void nr3Change(unsigned newNr3, unsigned long cc);
|
||||
void nr4Change(unsigned newNr4, unsigned long cc, bool ds);
|
||||
void nr4Change(unsigned newNr4, unsigned long cc, unsigned long ref);
|
||||
void reset();
|
||||
void divReset(unsigned long cc, unsigned long newCc);
|
||||
void resetCc(unsigned long cc, unsigned long newCc);
|
||||
void saveState(SaveState::SPU::Duty &dstate, unsigned long cc);
|
||||
void loadState(SaveState::SPU::Duty const &dstate, unsigned nr1, unsigned nr4, unsigned long cc);
|
||||
void killCounter();
|
||||
|
@ -280,6 +280,7 @@ SaverList::SaverList()
|
||||
{ static char const label[] = { w,e,m,a,s,t,r, NUL }; ADD(ppu.weMaster); }
|
||||
{ static char const label[] = { l,c,d,s,i,r,q, NUL }; ADD(ppu.pendingLcdstatIrq); }
|
||||
{ static char const label[] = { s,p,u,c,n,t,r, NUL }; ADD(spu.cycleCounter); }
|
||||
{ static char const label[] = { s,p,u,c,n,t,l, NUL }; ADD(spu.lastUpdate); }
|
||||
{ static char const label[] = { s,w,p,c,n,t,r, NUL }; ADD(spu.ch1.sweep.counter); }
|
||||
{ static char const label[] = { s,w,p,s,h,d,w, NUL }; ADD(spu.ch1.sweep.shadow); }
|
||||
{ static char const label[] = { s,w,p,n,e,g, NUL }; ADD(spu.ch1.sweep.negging); }
|
||||
|
@ -0,0 +1,56 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, c0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 66
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 20
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,57 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, c0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 66
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 20
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,56 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, e0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 01
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 67
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 40
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,57 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, e0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 01
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 67
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 40
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,136 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 32
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@975
|
||||
stop, 00
|
||||
ld b, f9
|
||||
ld c, 06
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,137 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 32
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@975
|
||||
stop, 00
|
||||
ld b, f9
|
||||
ld c, 06
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,134 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 32
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@976
|
||||
stop, 00
|
||||
ld b, fb
|
||||
ld c, 04
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,135 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 32
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@976
|
||||
stop, 00
|
||||
ld b, fb
|
||||
ld c, 04
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,137 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
xor a, a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 32
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 01
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
|
||||
.text@577
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld b, f5
|
||||
ld c, 0c
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,138 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
xor a, a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 32
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 01
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
|
||||
.text@577
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld b, f5
|
||||
ld c, 0c
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,137 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
xor a, a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 32
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 01
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
|
||||
.text@578
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld b, f8
|
||||
ld c, 08
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,138 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
xor a, a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 32
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 01
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
|
||||
.text@578
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld b, f8
|
||||
ld c, 08
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,56 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, e0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 5f
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 40
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,57 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, e0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 5f
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 40
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,136 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 2e
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@579
|
||||
stop, 00
|
||||
ld b, f5
|
||||
ld c, 0c
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,137 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 2e
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@579
|
||||
stop, 00
|
||||
ld b, f5
|
||||
ld c, 0c
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,136 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 2e
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@57a
|
||||
stop, 00
|
||||
ld b, f8
|
||||
ld c, 08
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,137 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 2e
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@57a
|
||||
stop, 00
|
||||
ld b, f8
|
||||
ld c, 08
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,59 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, c0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 64
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 20
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,60 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, c0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 64
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 20
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,140 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 26
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@97d
|
||||
stop, 00
|
||||
ld b, f9
|
||||
ld c, 06
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,141 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 26
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@97d
|
||||
stop, 00
|
||||
ld b, f9
|
||||
ld c, 06
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,138 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 26
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@97e
|
||||
stop, 00
|
||||
ld b, fb
|
||||
ld c, 04
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,139 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 26
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@97e
|
||||
stop, 00
|
||||
ld b, fb
|
||||
ld c, 04
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,59 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, e0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 5b
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 40
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,60 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, e0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 5b
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 40
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,141 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 22
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@581
|
||||
stop, 00
|
||||
ld b, f5
|
||||
ld c, 0c
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,142 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 22
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@581
|
||||
stop, 00
|
||||
ld b, f5
|
||||
ld c, 0c
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,141 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 22
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@582
|
||||
stop, 00
|
||||
ld b, f8
|
||||
ld c, 08
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,142 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 22
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
|
||||
.text@582
|
||||
stop, 00
|
||||
ld b, f8
|
||||
ld c, 08
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,54 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, e0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 63
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 40
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,55 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, e0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 63
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 40
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,60 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, c0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 69
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 20
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,61 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, c0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 69
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 20
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,53 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, e0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
nop
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 63
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 40
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,54 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, e0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
nop
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 63
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 40
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,61 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, c0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
nop
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 69
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 20
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,62 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
xor a, a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 77
|
||||
ldff(24), a
|
||||
ld a, 00
|
||||
ldff(11), a
|
||||
ld a, 80
|
||||
ldff(12), a
|
||||
ld a, c0
|
||||
ldff(13), a
|
||||
ld a, 87
|
||||
ldff(14), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
nop
|
||||
stop, 00
|
||||
ld a, 11
|
||||
ldff(25), a
|
||||
ld b, 69
|
||||
lwaitpos:
|
||||
dec b
|
||||
jrnz lwaitpos
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ld a, 80
|
||||
lmodulate:
|
||||
xor a, 40
|
||||
ldff(12), a
|
||||
ld b, a
|
||||
ld a, 80
|
||||
ldff(14), a
|
||||
ld a, b
|
||||
ld b, 20
|
||||
lwaitperiod:
|
||||
dec b
|
||||
jrnz lwaitperiod
|
||||
jr lmodulate
|
||||
|
@ -0,0 +1,133 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 3a
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
|
||||
.text@545
|
||||
stop, 00
|
||||
ld b, f5
|
||||
ld c, 0c
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,134 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 3a
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
|
||||
.text@545
|
||||
stop, 00
|
||||
ld b, f5
|
||||
ld c, 0c
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,133 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 3a
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
|
||||
.text@546
|
||||
stop, 00
|
||||
ld b, f8
|
||||
ld c, 08
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
@ -0,0 +1,134 @@
|
||||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(04), a
|
||||
ldff(24), a
|
||||
ldff(25), a
|
||||
ldff(26), a
|
||||
ld a, 80
|
||||
ldff(26), a
|
||||
ld a, 3a
|
||||
ldff(16), a
|
||||
ld a, f0
|
||||
ldff(17), a
|
||||
ld a, 00
|
||||
ldff(18), a
|
||||
ld a, c7
|
||||
ldff(19), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
inc a
|
||||
ldff(4d), a
|
||||
|
||||
.text@546
|
||||
stop, 00
|
||||
ld b, f8
|
||||
ld c, 08
|
||||
lwait:
|
||||
dec b
|
||||
jrnz lwait
|
||||
dec c
|
||||
jrnz lwait
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
ldff a, (26)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 91
|
||||
call lwaitly_b
|
||||
xor a, a
|
||||
ldff(40), a
|
||||
ld bc, 7a00
|
||||
ld hl, 8000
|
||||
ld d, 00
|
||||
lprint_copytiles:
|
||||
ld a, (bc)
|
||||
inc bc
|
||||
ld(hl++), a
|
||||
dec d
|
||||
jrnz lprint_copytiles
|
||||
pop af
|
||||
ld b, a
|
||||
swap a
|
||||
and a, 0f
|
||||
ld(9800), a
|
||||
ld a, b
|
||||
and a, 0f
|
||||
ld(9801), a
|
||||
ld a, c0
|
||||
ldff(47), a
|
||||
ld a, 80
|
||||
ldff(68), a
|
||||
ld a, ff
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
xor a, a
|
||||
ldff(69), a
|
||||
ldff(69), a
|
||||
ldff(43), a
|
||||
ld a, 91
|
||||
ldff(40), a
|
||||
lprint_limbo:
|
||||
jr lprint_limbo
|
||||
|
||||
.text@7400
|
||||
lwaitly_b:
|
||||
ld c, 44
|
||||
lwaitly_b_loop:
|
||||
ldff a, (c)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b_loop
|
||||
ret
|
||||
|
||||
.data@7a00
|
||||
00 00 7f 7f 41 41 41 41
|
||||
41 41 41 41 41 41 7f 7f
|
||||
00 00 08 08 08 08 08 08
|
||||
08 08 08 08 08 08 08 08
|
||||
00 00 7f 7f 01 01 01 01
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 01 01 01 01
|
||||
3f 3f 01 01 01 01 7f 7f
|
||||
00 00 41 41 41 41 41 41
|
||||
7f 7f 01 01 01 01 01 01
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7e 7e 01 01 01 01 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 41 41 41 41 7f 7f
|
||||
00 00 7f 7f 01 01 02 02
|
||||
04 04 08 08 10 10 10 10
|
||||
00 00 3e 3e 41 41 41 41
|
||||
3e 3e 41 41 41 41 3e 3e
|
||||
00 00 7f 7f 41 41 41 41
|
||||
7f 7f 01 01 01 01 7f 7f
|
||||
00 00 08 08 22 22 41 41
|
||||
7f 7f 41 41 41 41 41 41
|
||||
00 00 7e 7e 41 41 41 41
|
||||
7e 7e 41 41 41 41 7e 7e
|
||||
00 00 3e 3e 41 41 40 40
|
||||
40 40 40 40 41 41 3e 3e
|
||||
00 00 7e 7e 41 41 41 41
|
||||
41 41 41 41 41 41 7e 7e
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 7f 7f
|
||||
00 00 7f 7f 40 40 40 40
|
||||
7f 7f 40 40 40 40 40 40
|
||||
|
Loading…
x
Reference in New Issue
Block a user