#キー入力
##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の途中に飛ぶ