キー入力
BIOSを使う
call $1061 ;Aregに状態が返ってくる
bit7 |
bit6 |
bit5 |
bit4 |
bit3 |
bit2 |
bit1 |
bit0 |
SPACE |
reserved |
← |
→ |
↓ |
↑ |
STOP |
SHIFT |
- 0:OFF, 1:ON
- BASICのSTICK(0),STRIG(0)に相当
ジョイスティック入力
BIOSを使う
ld a,no ;ジョイスティック番号(#1:$01,#2:$02)
call $1CA6 ;Aregに状態が返ってくる
bit7-6 |
bit5 |
bit4 |
bit3 |
bit2 |
bit1 |
bit0 |
reserved |
TRIGGER1 |
TRIGGER2 |
← |
→ |
↓ |
↑ |
- 0:OFF, 1:ON
- BASICのSTICK(n),STRIG(n)に相当(n=1~2)
ただし、BIOSの前半部分にバグがありPSGにノイズが乗ってしまうことがあるので、下記のようにして回避します。
entry:
rrca
rrca
or %10000000
push bc
ld b,a
ld a,$07 ;PSG/R7
di
out ($A0),a
in a,($A2)
ld c,a
;ここまではBIOSからの抜粋
or %10000000 ;ここがBIOSでは ld a,%10000000 になっている
jp $1CB6 ;BIOSの途中に飛ぶ