#MSX0
CALL IOTSENDのコード読んでみた。
あくまで自分の理解なので間違ってるかもだけど、I/Oポート8に対してコマンド0xAA,0x02を送信後、第一引数、第二引数に指定された文字列を最初に文字数、続いて文字列の内容の順にI/Oポート8に送信して終わり。受信はしていない。送る文字列の長さは128文字まで。
[送信順]
0xAA
0x02
第一引数の文字列長
第一引数の文字列
第二引数の文字列長
第二引数の文字列
で、何をするか(AA,02のコマンドが)はMSX0側のファームウェアの処理に依存するので、現時点では不明。
QT: https://fedibird.com/@mobileff/111338556226481255 [参照]
#MSX0
CALL IOTSENDとデバイスディスクリプタOPEN"IOT:"の存在は確認していたが、コードを解析するのが素人にはしんどすぎて挫折w
実験はしてみようと思う。
#MSX0
PORT Cを使う唯一?のデバイスであるDHT11を入手したので繋いでみたよ。
DHT11のふりをしてデータ送信するプログラムを仕込んだマイコンを用意すれば、MSX0にデータを送ることくらいはできるかもですけど、時間が許せばやってみようww
#MSX0
有志の方のコードや、IoT BASICのROMをちらっと覗いた感じだと、IOTPUTやIOTGETは手順にしたがってI/Oポート8番を通じて粛々と決まった手順で入出力しているように見える。
つまり、dhtやanalogのような特定のノードパスのときにM5StackのどのPORTに何をさせるかは、MSX0エミュレータ側ではなく、MSX0 Stackのファームウェア側でノードパスを見て判断してるってことかなーと推測。
となるとこれ以上は素人には手が出せない領域なのかなー
さすがにファーム自体のカスタムとかやりだしたら(そもそも自分にはそんな能力ないけど)MSXの"統一規格"がなくなってしまうから良くないかな…
#MSX0 のIoT BASICで、わーいBASICでIoTできてオモシロ!キャッキャッ
ってするつもりが何でアセンブラのコードの読解とかしてるんだろうなあ…
#MSX0
IoTへのアクセスは、内部ではI/Oポートを使ってるからINP/OUTPでやってるのか…改めて考えたら当たり前ではあるけど、もしかして、調べ方によっては PORT B/PORT C 利用の扉が開けたりするんだろうか…
#MSX0
PORT Cは未サポートです(ドヤァ
って書いた直後に温湿度センサーの一部モデル(DHT11)はdevice/dhtでPORT Cに繋いで動くっていうのを見て、また知ったかぶりしてしもたーってなったww 恥ずかしい
となると、これは責任を持ってDHT11を買って自ら検証するしかないなw(ワクワク
ついでに有志諸兄の作ったZ88DK対応のC言語IoTライブラリも調査したい!
うーん週明けからやることが多いぞー
#MSX0
MSX0でC言語でZ88DKでIoT BIOS叩けるの試したい!
あーあとそもそも自分のスキルではそこまで作れないというのも大前提としてありw
QT: https://fedibird.com/@mobileff/111318429524671961 [参照]
#MSX0
もちろん、E-InkにMSXの絵が表示できたわーいで終わるつもりではなくて、MSX0と連動させたいなーとは思っているけど。理想は好きなソフトの実行中に割り込んでスクショをE-Inkに書き込めると楽しいんだろうけど手持ちのE-Inkディスプレイは解像度足りないし色が白黒赤しかないから微妙ではあるよね。
QT: https://fedibird.com/@mobileff/111318102301496589 [参照]
https://x.com/BEEP_akihabara/status/1718561895723291046?t=apip2CxfLVFu-y1ZFylilg&s=09
オークションでもそうだがMARTYがなぜにそんなに値が付くのかよくわからんなあ
互換性も完全じゃないし、フットプリントとコンポジット出力あるのが大きいのかね
#MSX0
SCREEN1に表示されているテキストをビットマップデータに変換するプログラムなんてニーズないよねww
自分もBASIC起動画面のキャプチャ以外に使い道ないww
自称人力モバイルbotです。モバイルな話題をベースに、レトロゲーやレトロPCの話題も取扱います。それ以外の話題は原則はつぶやきませんしリプライもしません。フォロー/リムーブはご自由に!リプライはフォロー如何に関わらず大歓迎です!(FF外?なにそれ美味しいの?w)