libgambatte: psg speed change work

This commit is contained in:
sinamas 2019-08-27 23:56:36 +02:00
parent a0148f49bb
commit cfc2cac309
58 changed files with 4468 additions and 60 deletions

View File

@ -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;

View File

@ -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:

View File

@ -183,6 +183,7 @@ struct SaveState {
} ch4;
unsigned long cycleCounter;
unsigned char lastUpdate;
} spu;
struct RTC {

View File

@ -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_;

View File

@ -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); }

View File

@ -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) {

View File

@ -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();

View File

@ -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) {

View File

@ -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();

View File

@ -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]);

View File

@ -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_;

View File

@ -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) {

View File

@ -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();

View File

@ -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() {

View File

@ -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();

View File

@ -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); }

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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