紅葉



ドリームキャストのコントローラをUSB接続でPCに繋ごう。






今みるとアホなこと書いてます。
PICじゃ多分速度的に間に合わない気がしてます。
あとDC吸い出しはネオジオポケットのケーブルだけですね。
ネオポケ本体は使わないような。
結局PICは使わずにそのままの状態で放置してます。
AVRいぢるとPICはちょっと大変な感じがします。
PICいぢったことがないのでなおさらかもしれません。
あと情熱。

ドリキャス面白いハードだったんですけどねぇ。
ドキャとかドリカスとかカスとか言われてましたけど。
そういえばチャロンのオラタンのDC版は、ドキャタンというそうです。
ドタキャンかと思った。


あと作りかけで役に立たないVHDLはこちら
このころは仕事でVHDL使わされてたのでこっちの方が楽でした。
もう忘れました。






- なんでまたそんなものを。 -

ファンタシースターオンラインのPC版が出てしばらくたちますが
皆さん一体操作は何を使ってるんでしょう。
体験版をマウスで操作してみましたが、もう見てらんない。
やはりDCでラグオルを走り回っていた自分としては、慣れた方法が
一番良いような気がしていたり。
PSのコントローラとパラレル接続の変換ユニット(要はDPP系)を
使っている方が多そうですが。

で、DCのコントローラをPCに接続する変換ユニットを探したのですが
どうやらどこにもない様子。たしかにDCのコントローラは使いにくいと
言う人が多かったような気がしますが。

で、いろいろ調べていくうちに、DCの周辺機器はMaple BUSという
プロトコルで通信してるので、単純にPCに接続することはできない、
ということがわかりまして。

さらに疑似Maple BUS疑似ホスト基板を作った方がいらっしゃるとの事。
解析もかなりされている様子。

でもシリアル接続。
シリアルだとPC側のソフトも書かないとダメ。

そんなところにトラ技の特集。PSコントローラをUSBでPCに接続。

あー、これとこれ、2つくっつけりゃDCコントローラもPCにつながるじゃん。



というわけで誰も使わないような作らないようなものを作りましょう。
どこにもないものならば作りましょう愛ある限り。




- まずは資料を探しましょう。 -

Maple BUSやらドリキャスやらの解析ならここ
久門さんという方が一通り解析済みです。なんとすばらしい。
しかも疑似ホストまで作られてます。素晴らしすぎです。
ここにあるもので大抵は困らないはず。

英語のページも発見。ここ
でも英語なので図しかわかりません。参考程度。
あ、ネオジオポケットとDC接続してシリアルでGD-ROMのデータを
吸い出したい人はここ参考に。
BbA使えるならそれに越したことはないですけど。




- 材料の調達。 -

トラ技で紹介されてたのはAW電子さんのUB-PIC877P-04。
これはPICライタも必要なく、シリアルで普通に焼ける優れもの。
でもその分お値段は高め。
も少し探してみたらアイ・ピー・アイさんで、ほぼ同じ構成の
USBN9604基板を発見。ただしこれはお値段手ごろな代わりに
PICライタがないと何もできない諸刃の剣。素人にはお勧めできない。
うちは会社行って焼くのでとりあえずこっち買ってみました。




- インタフェース部を考える -
Maple BUSはDC本体(ホスト)の要求に対して、接続されているデバイスが
応答を返す、という流れで通信しているので、単純にコントローラを
接続しても、コントローラからは信号は出ないらしいのです。
そりゃ、DCのコントローラの基板のパターンから直接信号引っ張ってきて
直付けすればいけないこともないですし、それをやってる人もいるには
いるんですが。美しくない。でしょ?

いかにDCコントローラには手をつけずに行うかが大事なのですよ。

で、そうなると必然的に疑似ホストを構築しないといけないわけで。
久門さんはSXマイコン使ってMaple BUSの疑似ホストを作って
シリアル転送まで行ってました。ソース見たんですがアセンブラは
やったことないのでよくわかりませんでした。

なもんで、久門さんのやりかたを参考にする(意訳:パクる)か、もしくは
代替手段を考えないといけない、と。

今考えてるのは
・SXとPICを単純に両方用意して単純に繋げて済ませる
・PICに疑似ホスト部分を移植
・PLDかませてMapleのインタフェースはそれにまかせる

なんですが。
1つ目はコストが馬鹿にならないので却下。
2つ目は時間かかりそうなのとPICの処理がどれくらい追いつくのか
見当がつかない点が問題。
3つ目は、受信だけなら簡単だけども送信はちとめんどくさい。

現在2番と3番のどちらかで行く、という形で検討中。



- 波形を観測してみましょう -

会社にDCを持っていって、ロジアナ使って波形をキャプチャしてみました。

ホストの送信さいしょ
ホストの送信さいご
コントローラの送信最初
コントローラの送信最後
応答の周期

見事にE1がLの間にE2が4回Lに。

このあたりは久門さんの書かれていた通りだったのですが、1つだけ
わからないことが。
E2が4回Lになってから、E1がHに戻ります。
そのあと、E1の立ち下がりのエッジでE2のデータを抜きます。
ここで、E2にデータが出る前の状態は、HなのかLなのかXなのか。

このあたりをしっかり考えずにロジック組んでいたのですが、
かならずE1の立ち下がりから取らないと、データ化けますね。
つまり立ち下がりエッジだけを見てたら死にます。気づけ自分。

そこらへんの処理、追加。

あと終了信号が2種類ある、という話を聞いたのですが、いつ出るのか
わかりません。どうやったら出るんだろう。









back