M5Stack:カラーコンポジットビデオ出力

以前、ESP32で白黒コンポジット出力をためしてみたときは「白黒だから可能なんだなー」と思っていたのですが。

M5Stack:白黒コンポジットビデオ出力
http://shikarunochi.matrix.jp/?p=3967

なんと、カラーでビデオ出力しているプログラムがありました。しかも、ATARI/SMS(GameGear)/NES(ファミコン)をエミュレートして、その画面をカラーでビデオ出力してます…!すごすぎる。

rossumur / esp_8_bit
https://github.com/rossumur/esp_8_bit

さっそく、動かしてみました!


ほんとにカラーで出てる!

接続は G25 と GND だけです。G25使うので、スピーカーの付いたM5Stackで実行すると、スピーカーが鳴ってしまってうるさいと思います。なので今回はM5 ATOM Liteで。

音声出力するには抵抗とコンデンサで回路組んでやる必要あります。パーツが無かったのでまたいずれやってみたいですね。


プログラムは、Arduino IDEでそのままコンパイルできました。(PlatformIO でコンパイルするには inoファイルの位置移動と、includeのパス追加が必要でした。)


そして、Bluetooth接続のキーボード/コントローラ/Wiiコントローラも使用可能になってるのです…。この部分だけでもすごいですよね…!
起動後、5秒程度 Bluetooth認識モードに入ってるので、その間に Bluetoothキーボード/コントローラ/Wiiコントローラを接続待ち状態にすれば接続可能です。

Bluetooth処理、流用も行いやすい作りになっててすばらしいです。

ビデオ出力ロジックは各エミュレータの出力に合わせて結構調整してるみたいです。これも汎用的に使えるか試してみたいですね。


動作確認しようとして、setup()に Serial.begin() を入れてみたのですが、定義がぶつかってしまってコンパイルエラーになりました。Serial.begin しなくてもログがシリアル出力されてるので、標準とは別のロジックでシリアル出力してるみたいです。

オプションではありますが、赤外線レシーバを繋げば赤外線コントローラも使えるとのこと!


IchigoDyhookの画面に出力してみました。

いいですねー。IchigoDyhook本体のキーボードが使えればよいのですが、PS/2 or USB接続なので、そのままだと使えないです。

ひとまずはBluetoothキーボードで。