人気ブログランキング | 話題のタグを見る

雑多な趣味の記録帳

tom01h.exblog.jp

zero-riscy の Windows で実行可能なシミュレータをコンパイルする

キャラクタベースのシミュレータですが、Verilator から呼び出す gcc を Windows 用バイナリを吐くコンパイラに変更すると、Windows で実行できる zero-riscy のシミュレータを作る事が出来ます。
以前試した方法 で簡単に出来るはずでした。まぁ、とりあえず動くバイナリはできたのですが、キー入力がなんか変。
ここで ちょっとだけ触れた方法ですが、端末のローカルエコーをなくしたり、エンターキーの入力を待たなかったりする方法が、Unix と Windows では違うんですね。
Windows 用の方法を調べると conio.h と getch() の組み合わせで出来るみたい。
が、試してみると動かない。
getch() は改行を '\r' から '\n' に変換してくれないらしく、load コマンド入力で XMODEM モードに移行する部分の判定が動いていませんでした。
UART 通信の改行は '\r' が正しいはずなので、ここは合わせて修正しておきました。

by tom01h | 2018-01-31 21:23