今日の調査結果
- ミッションスティック(twin)をマルチターミナル6経由で使用すると不定期に固まる。固まるまでは正常に動く。固まると、ポートスキャンの最初の1CLOCKでDEVIDを取得する際に何故か 0xF→0x0 が取得される。他のポートは生きているので、マルチターミナルそのものが完全に固まっている訳ではない。となると問題が生じているのはミッションスティック自体か? (ミッションスティックを挿していたポートだけが死んだ可能性は否定出来ないが)
- ちなみに一度だけ、ミッションスティック(single)でも固まる事象が発生。ただしこの一度きりでその後再現性なし。こういうのが一番不安
- じゃあ本物サターンならどうなんだ?と言うことで押入れからサターンを引っ張り出してサターン+マルチターミナル+ミッションスティック(twin)でDAYTONAを動かしてみたらコントローラが全く利かなかった!マルチターミナルを使わずに本体のポートに繋ぐ分にはミッションスティック(twin)は問題なく使えた。こりゃミッションスティック(twin)に非公式対応してるゲームを探してみないと結論出ないかな
- STROBE = CLK = H の状態における D0-D2 の内容で 「ページ切り替えデバイス/拡張フォーマットデバイス/何も繋がっていない」 を識別出来るような気がする。なおD3はページ切り替えデバイスにおけるトリガLに割り当てられているので不定値
- 通電状態のアダプタにマルチターミナルを繋ぐと高確率で誤動作する(アダプタにマルチターミナルを繋いだ上でアダプタをPCのUSBポートに繋ぐ分には問題ない)件は、マルチターミナル内のMCUのセットアップ(?)が終わるまで少し時間を置いてアクセスしないとダメなのかなぁ?と推測。現状では通電状態のアダプタにマルチターミナルを繋ぐと最長でも1ms後からアクセスを開始する。しかし、じゃあどうやってconnectから最初のアクセスまで間を空けるか方法が思いつかない。
12/18追記
サターン本体で実験した結果は以下のとおり。使ったのはデイトナUSA
- レーシングコントローラ: MT6経由でも直接接続でも問題なし
- ミッションスティック: MT6経由でも直接接続でも問題なし
- ミッションスティック(TWIN): MT6経由だと全く反応しない。直接接続なら問題なし
マルチターミナル6がミッションスティック(TWIN)に対応してないような気がしてきた・・・ ちなみにマルチターミナル6に使われてるMCUはルネサス(日立)のHD404448@4MHz