microSD カードスロットを VGA ポートとして使うハック 29
ストーリー by reo
よく考えるなあ 部門より
よく考えるなあ 部門より
ある Anonymous Coward 曰く、
以前 /.J 記事でも話題に上った「『本』(Ben) NanoNote」だが、このマシンは 99 ドルと低価格なのが特徴であるものの、その拡張性の低さもまたしばしば議論されてきた。そこで、このマシンの microSD カードスロットを改造して VGA ポートにしてしまうというハックが行われたとのこと (Qi Hardware の記事、本家 /. 記事より) 。
これは UBB (Universal Breakout Board) を用いた拡張で、ビデオ信号の制御はソフトで行い 640x480、800x600、1024x768 の解像度を 50 Hz で出力できるという。SD カードスロットにここまでの拡張性があるとは驚きである。
microSD カードスロットを使うだけに (スコア:4, おもしろおかしい)
SD画質ですな!
Re:microSD カードスロットを使うだけに (スコア:1, おもしろおかしい)
よーしパパSATAでHD出力しちゃうぞー
Re: (スコア:0)
SDIOであれば (スコア:3, すばらしい洞察)
auがマイクロSDで無線LANを飛ばしてますし、不可能ではないですね。
#↑がSDIOなのかは謎
Re:SDIOであれば (スコア:4, 参考になる)
SDIOにも対応しているので、指定された型番のmicroSDサイズの無線LANをつけられます。
# auのはLinuxで動作させれるドライバが見つからなかったので動きませんでした ← 買って試した
今回のは、SDIOとか関係無しに、ソフトウェア的な手法で、かなり強引な手法で出力させてます。
回路図 [qi-hardware.com]
SDIOポートをただのVGA端子だと見なして、本来はグラフィックカードで行わせるような処理をメインCPU+ソフトウェアで行い、無理矢理、直接出力しているようです。
SDIO CMDポート: HSYNC
SDIO CLKポート: VSYNC
SDIO DAT0ポート: G
SDIO DAT1ポート: B
SDIO DAT2ポート: Y
SDIO DAT3ポート: R
つか、これを思いつくなんて、どうかしてるよw
Re:SDIOであれば (スコア:1)
えーと、CPUで映像信号の波形を作ってるんだよね...
シンクレアみたいだ。
ZX81はそこまでではありません。 (スコア:4, 参考になる)
ZX81は「リアルタイムに生のビットパターンを送り込む」仕組みですけど、「CPUで映像信号の波形を作ってる」わけではないです。
NTSC/PALで、横32文字(256ドット)だと、ドットクロックは大雑把に5MHz程度。たかだか3.5MHzのZ80ではそんな頻度でデータを送り込むことはできません。
ZX81の回路図 [mainbyte.com]を見ればわかりますけど、CPUとビデオ出力の間に「ULA」と呼ばれるICが一個入っていて、そいつが同期信号の生成パラレル-シリアル変換をやってます。ですが、8bitパラレルからシリアルへの変換があっても、まだまだCPUでのソフトウェア処理だけでは無理。
ZX81のビデオ表示は、Z80CPUを「NOPをずっと実行している」ように騙すことで、NOP実行の命令フェッチの2サイクルでキャラクタコード取得、リフレッシュの2サイクルでキャラクタパターン取得という流れで「4サイクルで2回のメモリ読み込みを行って8ドットのパターン取得」というかなり巧妙な処理になっています(このページの9章のタイミングチャート参照 [8bit-museum.de])。ビデオ信号生成のメインはULAであり、Z80を「アドレスジェネレータ」に成り下がらせているのです。
Re: (スコア:0)
Re: (スコア:0)
モノクロディスプレイにカラーを出してみたり
BEEPでPCMを鳴らしたり
PCMでMIDIを演奏したり
データレコーダのモーターがミシンになったり
そんな裏技を思い出しました
Re: (スコア:0)
MSXのジョイステックポートを使ったMIDIインターフェースの製作記事を思い出しました
#意外につかえたよ
Re: (スコア:0)
16色の画面のバンクとパレットを切り替えて擬似多色なんてもあったよ。
Re: (スコア:0)
[機器]→[RS232-C]→[数個の抵抗とコンデンサだけからなる回路]→SDカード で、機器からSD上に正しくデータを書き込むアレなツールとか見かけたことがある。このストーリーのアイデアのちょうど逆な感じかな。ハードウェアのハックって凄い。
Re: (スコア:0)
> 機器からSD上に正しくデータを書き込むアレなツール
いや、そもそもそーいうショボい機器(つーより治具)のために
SDバス規格にSPI互換モードとかも規定されてるわけで、
まともなカードならそのあたりもきっちり対応したIP載ってますよ。
カード側が元々持っている機能に正当に頼った手順で実現するってのは
特に「アレ」でも「ハック」でもないんじゃないの?
元のストーリーのアイデアは本来の規格意図とか無視して
無理やり別規格の電気的信号を生成しているのがミソですから、
> このストーリーのアイデアのちょうど逆な感じかな。ハードウェアのハックって凄い。
というようなものじ
Re:SDIOであれば (スコア:1)
> 元のストーリーのアイデアは本来の規格意図とか無視して
> 無理やり別規格の電気的信号を生成しているのがミソですから、
そういう観点では、元コメの
>> [機器]→[RS232-C]→[数個の抵抗とコンデンサだけからなる回路]→SDカード
は、シリアルポートの使い道としては「本来の規格意図とか無視して無理やり別規格の電気的信号を生成」しているアレでハックな使い道でしょう。
> あえて(わざわざMMC互換モードで)無理やりな実現
いや、今回のディスプレイはMMC互換モードとしてすら使ってませんよ。SPIでは使わない端子も含め6本の信号線を汎用I/Oとして使ってます。
・シリアルポートシリアルポートとして使わずに、信号線を直接叩いて汎用I/Oとして使う
・SDカード端子をSDカード端子として使わずに、信号線を直接叩いて汎用I/Oとして使う
どっちも十分アレだと思う。(そういう点では、元々コメの「このストーリーのアイデアのちょうど逆な感じ」というのは間違いですね。
どっちも方向性は同じ。
シリアルポートを汎用I/Oに使うのは定番だけど、SDカード端子を汎用I/Oに使うのはあまり見かけない、という点では今回の方がアレゲ度は高いと思いますが。
Re: (スコア:0)
いや、そもそもアマチュアが正攻法で直接アクセスするには方法はそれ一択なんですよ。
#まあ、隠し機能でもなんでもないので、ハックと呼べるようなものじゃないとは私も思いますが
パラレルで高速にアクセスするには、SDカードアソシエーションの会員になって契約しないといけないんです。
#直ではなくリーダ/ライタをかませればどうとでもなるけど
SDIOじゃありません (スコア:3, 参考になる)
タレコミ人の「SD カードスロットにここまでの拡張性があるとは驚きである。」という文章は、SDIOを知らずに書いたとしか思えないですね。SDIOの無線LANカード [impress.co.jp]とか何社か出してた憶えがありますし、WILLCOMのSDIOの通信カード [willcom-inc.com]なんてものをあった。
とはいえ、今回のブツはSDIOどころかもっと原始的で、SD端子の信号線をそのままVGAビデオ信号線に繋いでしまう [qi-hardware.com]というシロモノです。
SD端子を6bitの汎用I/Oポートに成り下がらせた上で、ビデオ信号を全てソフトウェアで生成するという力業。
やってることは「PCのシリアルポートを、ソフトウェアで信号線制御することで無理矢理汎用I/Oに使う」のと次元は同じ。
そこでビデオ表示をやらせてみようなんていう発想がなかなか凄いですね。
まあ、ワンチップマイコンの汎用I/Oでビデオ信号出力 [hirosaki-u.ac.jp]なんてやっている人もいたりするのですが…
ただ、800x600-60Hzでドットクロック40MHzぐらいになるので、336MHz のCPUでは、およそ8クロックごとに信号出力という
もはやソフトウェア的には画像表示以外何もできないようなギリギリのものになってるかと思います。
CPUに何かさせてる間は同期信号も出せなくなるので、表示停止することになります。
もしかしたら (スコア:2)
windowsパソコンでも、同等の事が出来てしまうのでは?
#複数コアの時代だし余裕そう。
#数百円のSDカードリーダがソフトウェアVGAカードになったりして
Re: (スコア:0)
I/OポートやメモリマップドI/Oのアクセス速度は、そんなに速くないんです。
80386の頃から速度が変ってないと思っても、いいです。
Re: (スコア:0)
ユーザーモードで動いているがCPUを100%占有
ってなことが書いてありますね。
Re: (スコア:0)
SDIOですね (スコア:1)
こちらのコメント [srad.jp]にあるリンク先をみると、
が利用可能ということになっていますね。
ただSDメモリーカード - Wikipedia#SDIO [wikipedia.org]をみますと、microSDで発売されているのは無線LANのみらしいので、ビデオ出力を実現したのは画期的じゃないかと。
モデレータは基本役立たずなの気にしてないよ
Re: (スコア:0)
元コメ氏の質問はauのWi-Fi WINカードがSDIOかどうかだよ。
>ただSDメモリーカード - Wikipedia#SDIOをみますと、microSDで発売されているのは無線LANのみらしいので、ビデオ出力を実現したのは画期的じゃないかと。
そこに載ってるのがWi-Fi WINカード。
というか、NanoNoteの対応状況を挙げたり、SDIO関係ない力技をSDIOとして画期的だと言ったり、的外れすぎる。
Re: (スコア:0)
WILLCOMでもW-ZERO3[es]でminiSDの無線LANカードを出していました。
最近のNanoNote (スコア:1)
Nano Note関連では、ここしばらくは2011年4月4日号 [qi-hardware.com]にあるように、IEEE 802.15.4規格のアダプタとソフトウェアが開発中ですね。
今回のVGAアダプタネタはまだCommunity Newsのネタには上がってないです。
にしても、抵抗のみでICとか使ってないってすごいなぁ
ちなみに、うちにあるNano Noteは、ホコリが・・・
IEEE 802.15.4について
家庭内の機器間で無線通信を行わせようというWPAN(Wireless Personal Area Network)規格。
ZigBeeは、IEEE 802.15.4の上で実現されている
コネクタの拡張性??? (スコア:0)
○ コネクタにこのような拡張性があるのは当然である
汎用性のあるコネクタをどのように使うのかは利用者の勝手でしょ!
プロセッサやFPGAの汎用I/Oポートをどのように使うかも利用者の勝手でしょ!
Re: (スコア:0)
△ コネクタにこのような拡張性があるのは当然である
○ 汎用I/Fにこのような拡張性があるのは当然である
言い方悪いし誤解を招くとは思うけどちょっと転送速度が速いので
シリアルコンソールよりは高機能な使い方が出来てるってだけでそ?
大事なのは「出来る」でなく「やってしまった」だよなw
Re: (スコア:0)
「私のコネクタもなかなかの拡張性があるので誰か接続実験してみませんか?」
というネタと
「そこは排出口であって汎用コネクタじゃな……アッー!」
というネタを思いついてしまったのでAC
SD カードスロットの根元 (スコア:0)
接続なんでしょうかね?
大抵のノートPCってカードスロット自体の接続は
USBまたは稀にPCIeじゃなかったかな?
ハードウェア的にハックすれば
USBディスプレイだけでなく
USBハブすらつなげるんではないかと。
# 良い子は普通にUSBポートを使いましょう
Re: (スコア:0)
NanoNoteは確かCPU(というかSoC)がJZ4720で、SDのインターフェースはこいつが直接持っている。
(まあJZ4720自体はUSBコントローラも入ってた気がするから、それ使えば良いっちゃあ良いんだけど)