Skip to content

Instantly share code, notes, and snippets.

@fujidig
Last active January 16, 2022 07:05
Show Gist options
  • Save fujidig/5d31d0d34444f8f8072c36ce1e3781c1 to your computer and use it in GitHub Desktop.
Save fujidig/5d31d0d34444f8f8072c36ce1e3781c1 to your computer and use it in GitHub Desktop.
de64から:
3e 0f 2f e1 32 50 c6 48 32 c6 2f 50 32 11 e3 c3
d5 50 26 d9 2e 84 45 50 c3 ba de af c5 50 28 e0
34 c9 af 50 3d c3 99 de 7f 50 3e 0f 2f 7f 7f 50
c3 99 de 3e 10 50 86 32 2a af c9 50 cb 30 3e 0f
a0 50 c6 48 c6 ae 7f 50 30 06 c6 30 7f 50 c6 30
06 c3 1c 50 12 c9 d1 d5 45 50 cd a0 de 45 7f 50
cd a2 de 1c 46 50 cd a0 de 46 7f 50 cd a2 de cd
7f 50 7f b3 cb 47 7f 50 c4 9c de cb 7f 50 c4 86
de 07 07 50 cb 47 c4 84 de 50 cb 7f c4 8c de 50
07 07 cb 47 7f 50 c4 97 de 07 07 50 cb 7f c4 0e
df 50 cb 47 ca 11 df 50 d1 c9 2b c9 7f 50 cd 31
0b 28 a3 50
d984から:
01 d6 de c3 7f de
操作方法
A: アドレス+1
B: アドレス-1
↑: 中身+1
↓: 中身-1
→: 中身+10h
←: 中身-10h
Select: 終了
※ 開始アドレス: d984
[org(0xd984)]
daycare:
ld bc, call_joypad + 3
jp 0xDE7F
[org(0xde64)]
first:
ld a,0x0F
cpl
pop hl
ld [hl-],a
ld d,b
add a,0x48 # f0h + 48h = 38h を書きこむ
ld [hl-],a
add a,0x2F
ld d,b
ld [hl-],a # 38h + 2fh = 67h を書き込む
ld de,0xC3E3
push de
ld d,b
ld h,0xD9
ld l,0x84
ld b,l
ld d,b
jp mainloop
entrypoint:
xor a
push bc
ld d,b
jr z, first
process_up_button:
inc [hl]
ret
process_down_button:
xor a
ld d, b
dec a
jp change_value
process_left_button:
ld a, a
ld d, b
ld a, 0x0f
cpl
ld a, a
ld a, a
ld d, b
jp change_value
process_right_button:
ld a,0x10
change_value:
ld d, b
add a, [hl]
ld [hl-],a
process_a_button:
ld a,[hl+]
xor a
ret
ld d,b
print_hex_with_swap:
swap b
print_hex:
ld a,0x0F
and b
ld d,b
add a,0x48
add a,0xAE
ld a,a
ld d,b
jr nc, print_hex_join
add a,0x30
ld a, a
ld d,b
add a,0x30
print_hex_join:
ld b,0xC3
inc e
ld d,b
ld [de],a
ret
mainloop:
pop de
push de
ld b,l
ld d, b
call print_hex_with_swap
ld b,l
ld a,a
ld d,b
call print_hex
inc e
ld b,[hl]
ld d,b
call print_hex_with_swap
ld b,[hl]
ld a,a
ld d,b
call print_hex
call_joypad:
call 0x507F
ld a,a
or e
bit 0, a
ld a, a
ld d, b
call nz, process_a_button
bit 7, a
ld d, b
call nz, process_down_button
rlca
rlca
ld d, b
bit 0, a
call nz, process_up_button
ld d, b
bit 7, a
call nz, process_left_button
ld d, b
rlca
rlca
bit 0, a
ld a, a
ld d, b
call nz, process_right_button
rlca
rlca
ld d, b
bit 7, a
call nz, process_b_button
ld d, b
bit 0, a
jp z, mainloop_end
ld d, b
pop de
ret
process_b_button:
dec hl
ret
ld a, a
mainloop_end:
ld d, b
call 0x0B31
jr z, mainloop
ld d, b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment