diff --git a/test/hwtests/sound/ch3_reset_nop_nr4init_freq7ff_read_ff30_ds_1_cgb04c_out10.asm b/test/hwtests/sound/ch3_reset_nop_nr4init_freq7ff_read_ff30_ds_1_cgb04c_out10.asm new file mode 100644 index 00000000..7e13ef1f --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nop_nr4init_freq7ff_read_ff30_ds_1_cgb04c_out10.asm @@ -0,0 +1,130 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + c0 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 30 + ldff(00), a + xor a, a + ldff(ff), a + inc a + ldff(4d), a + stop, 00 + ldff(4d), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, ff + ldff(1d), a + ld a, 87 + nop + ldff(1e), a + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nop_nr4init_freq7ff_read_ff30_ds_2_cgb04c_out32.asm b/test/hwtests/sound/ch3_reset_nop_nr4init_freq7ff_read_ff30_ds_2_cgb04c_out32.asm new file mode 100644 index 00000000..afa8f95b --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nop_nr4init_freq7ff_read_ff30_ds_2_cgb04c_out32.asm @@ -0,0 +1,131 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + c0 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 30 + ldff(00), a + xor a, a + ldff(ff), a + inc a + ldff(4d), a + stop, 00 + ldff(4d), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, ff + ldff(1d), a + ld a, 87 + nop + ldff(1e), a + nop + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_1_dmg08_cgb04c_out10.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_1_dmg08_cgb04c_out10.asm new file mode 100644 index 00000000..511b12f9 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_1_dmg08_cgb04c_out10.asm @@ -0,0 +1,120 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fd + ldff(1d), a + ld a, 87 + ldff(1e), a + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_2_dmg08_outFF_cgb04c_out10.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_2_dmg08_outFF_cgb04c_out10.asm new file mode 100644 index 00000000..12055581 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_2_dmg08_outFF_cgb04c_out10.asm @@ -0,0 +1,121 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fd + ldff(1d), a + ld a, 87 + ldff(1e), a + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_3_dmg08_outFF_cgb04c_out32.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_3_dmg08_outFF_cgb04c_out32.asm new file mode 100644 index 00000000..b6f0a03b --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_3_dmg08_outFF_cgb04c_out32.asm @@ -0,0 +1,122 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fd + ldff(1d), a + ld a, 87 + ldff(1e), a + nop + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_4_dmg08_cgb04c_out32.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_4_dmg08_cgb04c_out32.asm new file mode 100644 index 00000000..6195a4cf --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_read_ff30_4_dmg08_cgb04c_out32.asm @@ -0,0 +1,123 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fd + ldff(1d), a + ld a, 87 + ldff(1e), a + nop + nop + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_1_dmg08_cgb04c_out32.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_1_dmg08_cgb04c_out32.asm new file mode 100644 index 00000000..1f4ee045 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_1_dmg08_cgb04c_out32.asm @@ -0,0 +1,123 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fd + ldff(1d), a + ld a, 87 + ldff(1e), a + xor a, a + ldff(30), a + ldff(26), a + ldff a, (31) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_2_dmg08_out32_cgb04c_out00.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_2_dmg08_out32_cgb04c_out00.asm new file mode 100644 index 00000000..5c428e8a --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_2_dmg08_out32_cgb04c_out00.asm @@ -0,0 +1,124 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fd + ldff(1d), a + ld a, 87 + ldff(1e), a + xor a, a + nop + ldff(30), a + ldff(26), a + ldff a, (31) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_3_dmg08_cgb04c_out00.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_3_dmg08_cgb04c_out00.asm new file mode 100644 index 00000000..acfb2548 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_3_dmg08_cgb04c_out00.asm @@ -0,0 +1,125 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fd + ldff(1d), a + ld a, 87 + ldff(1e), a + xor a, a + nop + nop + ldff(30), a + ldff(26), a + ldff a, (31) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_4_dmg08_out32_cgb04c_out00.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_4_dmg08_out32_cgb04c_out00.asm new file mode 100644 index 00000000..c9873daa --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fd_write_ff30_4_dmg08_out32_cgb04c_out00.asm @@ -0,0 +1,126 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fd + ldff(1d), a + ld a, 87 + ldff(1e), a + xor a, a + nop + nop + nop + ldff(30), a + ldff(26), a + ldff a, (31) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_1_dmg08_outFF_cgb04c_out10.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_1_dmg08_outFF_cgb04c_out10.asm new file mode 100644 index 00000000..8eae4a3e --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_1_dmg08_outFF_cgb04c_out10.asm @@ -0,0 +1,120 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fe + ldff(1d), a + ld a, 87 + ldff(1e), a + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_2_dmg08_outFF_cgb04c_out32.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_2_dmg08_outFF_cgb04c_out32.asm new file mode 100644 index 00000000..d38967b8 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_2_dmg08_outFF_cgb04c_out32.asm @@ -0,0 +1,121 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fe + ldff(1d), a + ld a, 87 + ldff(1e), a + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_3_dmg08_outFF_cgb04c_out32.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_3_dmg08_outFF_cgb04c_out32.asm new file mode 100644 index 00000000..c4a23479 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_3_dmg08_outFF_cgb04c_out32.asm @@ -0,0 +1,122 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fe + ldff(1d), a + ld a, 87 + ldff(1e), a + nop + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_4_dmg08_outFF_cgb04c_out54.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_4_dmg08_outFF_cgb04c_out54.asm new file mode 100644 index 00000000..d2294d56 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7fe_read_ff30_4_dmg08_outFF_cgb04c_out54.asm @@ -0,0 +1,123 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, fe + ldff(1d), a + ld a, 87 + ldff(1e), a + nop + nop + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_1_dmg08_cgb04c_out32.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_1_dmg08_cgb04c_out32.asm new file mode 100644 index 00000000..babd3242 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_1_dmg08_cgb04c_out32.asm @@ -0,0 +1,120 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, ff + ldff(1d), a + ld a, 87 + ldff(1e), a + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_2_dmg08_cgb04c_out54.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_2_dmg08_cgb04c_out54.asm new file mode 100644 index 00000000..57100015 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_2_dmg08_cgb04c_out54.asm @@ -0,0 +1,121 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + 80 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, ff + ldff(1d), a + ld a, 87 + ldff(1e), a + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_ds_1_cgb04c_out10.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_ds_1_cgb04c_out10.asm new file mode 100644 index 00000000..c9c03e9a --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_ds_1_cgb04c_out10.asm @@ -0,0 +1,129 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + c0 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 30 + ldff(00), a + xor a, a + ldff(ff), a + inc a + ldff(4d), a + stop, 00 + ldff(4d), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, ff + ldff(1d), a + ld a, 87 + ldff(1e), a + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_ds_2_cgb04c_out32.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_ds_2_cgb04c_out32.asm new file mode 100644 index 00000000..c6c8cf62 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_read_ff30_ds_2_cgb04c_out32.asm @@ -0,0 +1,130 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + c0 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 30 + ldff(00), a + xor a, a + ldff(ff), a + inc a + ldff(4d), a + stop, 00 + ldff(4d), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, ff + ldff(1d), a + ld a, 87 + ldff(1e), a + nop + nop + ldff a, (30) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7ff_write_ff30_ds_1_cgb04c_out32.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_write_ff30_ds_1_cgb04c_out32.asm new file mode 100644 index 00000000..b14f6886 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_write_ff30_ds_1_cgb04c_out32.asm @@ -0,0 +1,131 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + c0 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 30 + ldff(00), a + xor a, a + ldff(ff), a + inc a + ldff(4d), a + stop, 00 + ldff(4d), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, ff + ldff(1d), a + ld a, 87 + ldff(1e), a + xor a, a + ldff(30), a + ldff(26), a + ldff a, (31) + 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 + diff --git a/test/hwtests/sound/ch3_reset_nr4init_freq7ff_write_ff30_ds_2_cgb04c_out00.asm b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_write_ff30_ds_2_cgb04c_out00.asm new file mode 100644 index 00000000..1c0e0322 --- /dev/null +++ b/test/hwtests/sound/ch3_reset_nr4init_freq7ff_write_ff30_ds_2_cgb04c_out00.asm @@ -0,0 +1,132 @@ +.size 8000 + +.text@100 + jp lbegin + +.data@143 + c0 + +.text@150 +lbegin: + xor a, a + ldff(26), a + ld a, 30 + ldff(00), a + xor a, a + ldff(ff), a + inc a + ldff(4d), a + stop, 00 + ldff(4d), a + ld a, 10 + ld b, 22 + ld c, 30 + ld d, 10 +lbegin_init_wave_ram: + ldff(c), a + inc c + add a, b + dec d + jrnz lbegin_init_wave_ram + ld a, 80 + ldff(26), a + ld a, 80 + ldff(1a), a + ld a, ff + ldff(1d), a + ld a, 87 + ldff(1e), a + xor a, a + nop + ldff(30), a + ldff(26), a + ldff a, (31) + 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 +