libgambatte: fix (and verify) strange key1 wtf.
not sure what this originated from.master
parent
1afaef6cb2
commit
bd696fc241
|
@ -311,7 +311,7 @@ unsigned long Memory::stop(unsigned long cc) {
|
|||
if (ioamhram_[0x14D] & isCgb()) {
|
||||
psg_.generateSamples(cc, isDoubleSpeed());
|
||||
lcd_.speedChange(cc);
|
||||
ioamhram_[0x14D] = ~ioamhram_[0x14D] & 0x80;
|
||||
ioamhram_[0x14D] ^= 0x81;
|
||||
intreq_.setEventTime<intevent_blit>(ioamhram_[0x140] & lcdc_en
|
||||
? lcd_.nextMode1IrqTime()
|
||||
: cc + (70224 << isDoubleSpeed()));
|
||||
|
@ -387,7 +387,7 @@ void Memory::updateInput() {
|
|||
if (state != 0xF && (ioamhram_[0x100] & 0xF) == 0xF)
|
||||
intreq_.flagIrq(0x10);
|
||||
|
||||
ioamhram_[0x100] = (ioamhram_[0x100] & -0x10) | state;
|
||||
ioamhram_[0x100] = (ioamhram_[0x100] & -0x10u) | state;
|
||||
}
|
||||
|
||||
void Memory::updateOamDma(unsigned long const cc) {
|
||||
|
@ -902,7 +902,9 @@ void Memory::nontrivial_ff_write(unsigned const p, unsigned data, unsigned long
|
|||
break;
|
||||
|
||||
case 0x4D:
|
||||
ioamhram_[0x14D] |= data & 0x01;
|
||||
if (isCgb())
|
||||
ioamhram_[0x14D] = (ioamhram_[0x14D] & ~1u) | (data & 1);
|
||||
|
||||
return;
|
||||
case 0x4F:
|
||||
if (isCgb()) {
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
80
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, 01
|
||||
ldff(4d), a
|
||||
ldff a, (4d)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 90
|
||||
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
|
||||
srl a
|
||||
srl a
|
||||
srl a
|
||||
srl a
|
||||
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:
|
||||
ldff a, (44)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b
|
||||
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,104 @@
|
|||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
80
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
ld a, ff
|
||||
ldff(4d), a
|
||||
xor a, a
|
||||
ldff(4d), a
|
||||
ldff a, (4d)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 90
|
||||
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
|
||||
srl a
|
||||
srl a
|
||||
srl a
|
||||
srl a
|
||||
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:
|
||||
ldff a, (44)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b
|
||||
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,109 @@
|
|||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
ld a, 01
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff a, (4d)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 90
|
||||
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
|
||||
srl a
|
||||
srl a
|
||||
srl a
|
||||
srl a
|
||||
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:
|
||||
ldff a, (44)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b
|
||||
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,107 @@
|
|||
.size 8000
|
||||
|
||||
.text@100
|
||||
jp lbegin
|
||||
|
||||
.data@143
|
||||
c0
|
||||
|
||||
.text@150
|
||||
lbegin:
|
||||
xor a, a
|
||||
ldff(ff), a
|
||||
ld a, 30
|
||||
ldff(00), a
|
||||
ld a, 01
|
||||
ldff(4d), a
|
||||
stop, 00
|
||||
ldff a, (4d)
|
||||
jp lprint_a
|
||||
|
||||
.text@7000
|
||||
lprint_a:
|
||||
push af
|
||||
ld b, 90
|
||||
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
|
||||
srl a
|
||||
srl a
|
||||
srl a
|
||||
srl a
|
||||
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:
|
||||
ldff a, (44)
|
||||
cmp a, b
|
||||
jrnz lwaitly_b
|
||||
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…
Reference in New Issue