Joycard系を認識しないソフトを日本向けライセンス品でみつけてしまった. 下記.
これらのソフトをみたら、 zeropage addressing をまったく利用していない! 拡張コントローラ認識のための修正方法はソフトを直すしかないので下記のコードをいれてみたら、ちゃんと動いた. かなり詰めたので $C5F7 から $C60F に入る. あと、この address は三國志とジンギスカンで全く同じでそれにもびっくりした.
org $C5F7 tax ldy #$09 sty $4016 dey sty $4016 lc604: lda $4016,x and #%11 cmp #1 ror <$6e,x dey bne lc604 rts fill $C60F
$4016.w.bit7:4 は未使用 bit のため ldy #9 を利用して, ldy 命令を2つ削減しつつ、 FF2 でやっていた cmp #1 で発生する Carry を利用するというたぶん Nasir 氏が書いたコードをいれたら動いた. ほかのソフトの入力ポートのルーチンをみたが、 cmp #1 をやっているのは少なく sta; lsr; ora; lsr; ror を利用しているものばかりだった.
その他、 ガチャポン戦士4で拡張コントローラが使えるのが3人全員MANで黄色のみという限定的な設定. それ以外でも2人が MAN の設定の3通りではかなり不規則に使えるコントローラが変わってこれも規定違反でないだろうか.