0.65mmピッチのリフローは初だったけど思ったよりうまくいった。固定用の足だけリフローして信号ピンは別途はんだこてで手はんだも考えてたけど、信号ピンも特にブリッジ等発生することなくリフロー出来てるっぽい。
これまた初の両面リフローだったけど先にリフローしてた裏面の部品も問題なし。脱落等も特になし。
今回はパッド幅0.3mm、パッド間隔0.35mmの自作ステンシルをいかに精度高く作るかがすべてと言う感じ。
SteamでUltraストリートファイター4が747円だったので購入。すばらしい。クリスマスセールか何かなのか、あるいはずっと前からこの値段で売ってたのかは分からないけど。
んでUSF4を使って、前からやろうと思っていた拙作のサターンコントローラ変換アダプタ(以下ssu2sb)の入力遅延を調べてみます。質問があるたびに「調べてません」って回答するのもなぁ、と思ってたので。
遅延の要素は「変換アダプタ」「OSのドライバ」「アプリケーション(ゲーム)」「ビデオドライバ」「液晶モニタ」とあらゆる所に存在するためなかなか定量的な評価が難しいのですが、ここではスティックコントローラの評価でよく行われる 「2つの異なるコントローラを使って、格ゲーで同時に小パンチを繰り出してどっちが打ち勝つか」 という相対的な評価を行いたいと思います。今回比較対象にはHORIのファイティングコマンダーPROを用意しました。ネットでの評判は比較的低遅延のようです。
とりあえずこんな回路を作ります
フォトカプラは「電気的にON/OFF出来るスイッチ」位に考えて下さい。左側のスイッチをONにすると①と②が同時にONになります。①はss2usbにつながったサタパのXボタンに繋ぎ、②は今回比較対象としたHORIのファイティングコマンダーPROの□ボタンに繋ぎます。
こんな感じです (左下のマイコンは無視して下さい。5Vをとるためにしか使っていません)
この2つのコントローラを使って、USF4のトレーニングモードでリュウの小パンチ対決を行った結果がこちらです。
小パンチを50回打ち合って、15勝0負35分で黒リュウの勝ちでした。
動きがぎこちない原因が判明したので修正したファームを作成しました。すみませんが前のVerをDLしちゃった方はこちらを書き込んでみて下さい。
ps2ms_x68.20171213.zip
Inside X68000によるとMSCTRLが変化してから800usくらい間をおいてマウス信号を68に送れ、としか書いてないのですが、実際にはMSCTRLが変化してから???us以内に送信を完了しろ(あるいは変化後???us以内に送信を開始しろ。のどちらか)といった条件もあるような気がします。
MSCTRLが変化してから800~1000us以内に68に向けて送信を開始するようにタイミングを修正することでぎこちなさは解消しました。なお、修正後はMSCTRLはおおむね20ms周期で変化しています。修正前は60~70ms周期でMSCTRLが変化していました。そりゃぎこちない動きになる罠。
2019-07-06 追記
PS/2 & USB compatibleマウスにおいて正常に動作しない問題に暫定対応しました。機能面では全く変更はありませんので、現状で問題なく動いている場合はファームを更新する必要はありません。
CompatibleマウスについてはMicrosoftのMSK-1113(B) Basic optical mouse v2.0でのみ確認しています(Amazonで一番安かったのがこれなので)。もしこれでも正常に動作しないマウスがありましたら、コメントでマウスの型番を教えて頂けますと幸いです。
一応正常に動いていますが、やや問題ありの部分が解消出来ないので。
手抜きの回路図?です
例によって68本体とマイコンと繋ぐ線の間には100Ω程度をはさんで下さい。同様に、マイコンとPS/2コネクタの間も330Ωを直列にはさんで下さい(必須)。後は適当にVCCとGNDの間に0.1μF程度のパスコンを入れるとか、68のマウス端子から取り出したVCCにはポリスイッチを直列に入れるとか、その辺はキーボードアダプタの回路図を参考にして下さい。手抜きですみません
ファームです。PICKITとかで書き込んで下さい。
ps2ms_x68.zip
で、問題なく動くものの、純正マウスに比べて動きがどうにもぎこちない気がします。カウントの問題なのかなぁ?PS/2マウスは9ビットの符号付でX68マウスは8bitの符号付なので値を1/2にして68側に流してるだけなんですが・・・HIOCS.x にマウス速度の調整機能があったと思うんですが試していません。
一応うちのXVIでは動いていますが完全に無保証でお願いします
2017.12.13 追記
修正版を作りました
IBM純正Model-Fはさすがに手に入らなかったので Northgate OmniKey のXTモードで開発。
Print Screenだけ2度押さないと機能しない問題に半日悩んだけど、マニュアルにちゃんと 「when you press it twice.」って明記された… これってOmniKeyだけの仕様なのか、XTキーボードの仕様なのかどっちなんだろう?
Num Lockが有効な時と無効な時で挙動が変わりすぎて辛い。Num Lockオンだとカーソルキーが使えるんだけどShiftとの同時押しが利かない。だから範囲選択とか出来ない。Num Lockをオフにしてテンキー側でカーソル移動させる分にはShiftとの同時押しもちゃんと利いて範囲選択出来るんだけど、Num LockオフだとカーソルキーやPageUp/Downなんかが全部機能しなくなる…
まあ、カーソルキーとかPageUp/DownとかHome/Endは純正Model-Fには無い、後付けで拡張されたキーだから仕方ないのかも。
Dvorak配列に切り替えたり出来るけど、aoueiキーが全部左手側に集まるのはローマ字入力する際には悪くない気がしなくも無い。あと人を殴り殺せるくらい重い。ケースの下半分は全部鉄だし。
EEPROMの 0x00, 0x7D-0x7F, 0x80 の領域を設定用に空けるために一部のキーのスキャンコードを移動しました。
Firmware Ver2.xまでで作成していた設定ファイルを使用する際は以下の変更(と、使用未使用にかかわらずFnキー設定方法の変更。後述)を行ってください。
sun
キー | 変更前 | 変更後 |
numpad + | 0x7D | 0x7C |
98
キー | 変更前 | 変更後 |
Esc | 0x00 | 0x57 |
右Shift | 0x7D | 0x75 |
fmr
キー | 変更前 | 変更後 |
COPY | 0x7D | 0x54 |
adb
キー | 変更前 | 変更後 |
A | 0x00 | 0x0A |
右Ctrl | 0x7D | 0x3F |
ps2
キー | 変更前 | 変更後 |
numpad 9 | 0x7D | 0x6F |
F7 | 0x80 | 0x98 |
Scroll Lock | 0x7E | 0x57 |