MSXのジョイスティック変換用基板。
とりあえず、基板上に配置してみた。
要件を整理するのは結構骨なんだけど、パーツは数個
しかないので、あっさり過ぎる回路。
ボタンは、それぞれデフォルトでD5、D6に繋いでおいて、
割り込み使いたいときにはD3にジャンパ切替できるように。
で、これとUSB HOSTシールドを組み合わせると、ジョイ
スティックからの信号をArduinoで処理して、好きな
形に信号を加工して、D-SUB9コネクタから出力できる、
という具合。
COMMON/STROBEは、D2に繋がってて、ピン割り込みで
処理ができるので、マウスの処理は大丈夫かと。
ただ、気になるのは、AVRの割り込みって、レジスタが
いっぱいある分、オーバーヘッドがでかいってこと。
AVRのgccで、どのくらいのオーバーヘッドがあるか
確認してみる。
https://www.clarestudio.org/elec/avr/mcu-interrupt.html
レジスタの退避に、3+64クロックって書いてある。
16MHzだと、退避だけで4マイクロ秒ちょっと。これと、
割り込み処理自体の数クロック分と、割り込みルーチン
側の処理がちょっと入る。5マイクロ秒までは行かない
だろうけど、そのくらい見越しておく。
http://sbeach.seesaa.net/article/387861471.html
http://sbeach.up.n.seesaa.net/sbeach/image/121121_01_E3839EE382A6E382B9E382BFE382A4E3839FE383B3E382B0.PNG?d=a38442283
マウスの通信制御だと、ストローブ信号の立ち上がりから、
データを準備するまでに、最大30マイクロ秒以内で収まれ
ば大丈夫なはず。
というわけで、マウス関係の処理は、割り込みの
オーバーヘッドを見越しても大丈夫っぽい。
(その前提として、USB通信処理で常時マウスに与える
ための座標差分をメイン処理側で用意しておくことと、
割り込み処理時間がUSB通信処理に悪影響させないように
注意しておくことが必要かなぁ)
問題は、X68kのクレイジークライマーとか、リブルラブル
みたいな、2本のジョイスティック使うパターン。
これ、本来は多分、ストローブ信号使って2個の4方向
を切り替えて入力できるっていう仕組みなんだと思う
けど、そういう入力処理って、MSX(とか多分X68k)は、
2個のジョイポートに2個のジョイスティックを挿した
時と、内部的にはまったく同じ処理しているはず。
で、処理としてはきわめて単純原始的なんだけど、
問題は、マウスみたいに悠長なタイミングでの入力
を許してないだろう、とういこと。
多分ストローブ信号で左右を指定して、その直後に
4方向の信号を読みに来る。
なので、16MHzのX68kだと、下手をすると、せいぜい
1マイクロ秒以下の余裕しかない気がする。
AVRのチップの割り込みのオーバーヘッド自体は、
せいぜい数クロックなんだけど、問題は、gccとか使う
と、全レジスタ退避しちゃって、その分の時間が掛かる
ってこと。約4マイクロ秒。
こいつを有る程度端折らないと、処理時間が間に合わ
ないだろうなぁ。
インラインアセンブルで、割り込みロジック側を
アセンブリ記述しておけば、自由度はどうでもない
気がするけど、純粋なgccじゃなく、Arduinoで
どこまでできるか…
そもそも、X68kの実機も持ってないし、ソフト自体も
持ってないので、なんともいえないんだよな。実験
できない。
あと、色々コネクタ余ってたりもするので、I2Cは
LCD表示機能くらい有るといいよなぁ、とか、
4方向をPWM制御できるように、バッファ組み合わせて
PWM制御で4方向をアナログ的な信号にできないかなぁ?
とか画策中。
なんにしても、PWM信号の端子が余ってないので、
色々使いまわししないといけないんだよな。
そのためのジャンパ切替とか、もうちょっと考えて
おく必要はある気がする…。
https://www.youtube.com/watch?v=FwVfpuiZ9eE
ハンドソーを自作しちゃうっていう動画。なかなか
興味深い。そもそも、ドリル歯を自分でカットって
すごいな。ここは手を抜いてもいいんじゃないかなと。
それにしても、ベアリングの固定の仕方、これは
なるほどと思った。両側から挟むのねぇ。
こういう、強力なモータ、どこから手に入れてくる
のかなぁ?普通に売ってるのかな?
デスクトップで使える、小規模な旋盤が1個ほしいな、
とか思ってるんだけど、ちょこっと作れないかなぁ?
と。
https://twitter.com/Story_terror/status/901399400647319552
アトムの容量、2TBって、なんかこんな話、大昔に見た
ような気がする。あの当時ですら、2TBって、足りなくね?
って思ってたんだよな。
現代になって思ってみると、アトムが思春期になって、
ちょっとアレ系の動画とかメモリしちゃうと、あっと
いうまに記憶容量を食いつぶしちゃう気がする。
というところまで妄想して、ふと思った。
人間の記憶容量って、動画のDCTみたいな、機械的な圧縮
だけで納めているんじゃなくて、意味記憶とかを使って、
機械的な圧縮じゃなく、有機的な圧縮を有効利用して
(かつ細部の情報を思い切り端折って)、容量を効率的に
圧縮してるんじゃないかなぁ?と。
つまり、かつて覚えてあった記憶と似ているものを
探して、それと似てるものは同じと見做しちゃうとか、
そういう、ファジーな圧縮をしているんじゃないかな?
っていう。
で、色々妄想があっちこっちに飛び火するんだけど、
このあたりはなかなか言語化が難しいので、もうちょっと
頭が整理できたら吐き出したい。
https://twitter.com/kctony/status/902128302583947265
このスイッチ。多分、カラフルなペンキ成分が足りない
んじゃないかな。
http://www.yomiuri.co.jp/sports/etc/20170828-OYT1T50010.html
すごいねぇ。奥原希望、金。
https://twitter.com/usa_hakase/status/902121159658938370
もう、ヒアリ、定着してるんじゃないのかな?
公表をひかえているだけで。
|