あいかわらずのasciiartをraspberry pi picoでやってみた。
ボードへの書き込みに失敗するのでbootselでusbデバイスとして認識させてコンパイル済みのuf2ファイルをd&dで書き込んで実行した。
あいかわらずのasciiartをraspberry pi picoでやってみた。
ボードへの書き込みに失敗するのでbootselでusbデバイスとして認識させてコンパイル済みのuf2ファイルをd&dで書き込んで実行した。
最近、今更のusb接続ガジェットをいろいろ思い出そうとしているのでそのながれでraspberry pi zeroをon-the-go(OTG)でPCにつないでやってみた。
今回の苦労ポイント
1)これまた接続方法を忘れていた。
teratermで仮想のtcp/ip接続からraspberry/piを探して接続した。
ログイン時のid,passwordもすっかり忘れていたのでさらに苦労。
2)asciiart.cのコンパイルオブジェクトで表示は出来たけど時間計測が
出来たほうが良いと思ってtime.h のclock()を使おうとしたけど
エディタがviしかなくて編集方法を忘れていて涙。
hjklとiaとx,ddと:w,:qだけでなんとかソースを編集してコンパイル
にこぎつけた。
結果が
せっかくarduinoのIDEを更新したので手持ちのesp8266モジュールを使って同じくasciiart.inoを実行させてみた。
さて目下注目のEMUZ80である。
6800伝説や8080伝説、z80伝説でoldCPUファンにはおなじみの(というか教祖様の)鈴木哲哉氏の作である。z80と同じく40ピンのPIC18F47Q43の2つのチップで小さなコンピュータを構成するというだけでも斬新なのにPICはz80から見てROM,RAM,IOのすべての働きをするように振舞うことでシステムが駆動するって素敵以外の何でもない。
実際このEMUZ80の基盤を利用して他のCPUを動かす様々なプロジェクトやそのための拡張のための基盤が出ているってことも魅力的。
ただしz80以外の他のCPUを動かすにはPICのプログラムを変更することが必要になるけど昨今のIC不足でpickitが高いので2の足を踏んでいたらarduinoでライターの働きをさせるって記事に遭遇。
まずは手持ちのarduinoをもう一度動かすことから準備することにしよう。
早速引き出しの奥からarduino unoを召喚。
USBでPCにつないで、、、手が止まった。
随分触ってなかったから手順をすっかり忘れている。
なにせ10年以上前に買って少し触って、ほかのボードを触るときにまた思い出したように出してみたりするだけだったのでどんな手順でやっていたのか思い出すのにひとしきりかかった。
やっとarduino ideを呼んでボードをarduino unoに設定してCOMポートの番号を確認してasciiart.inoを送り込んでteratermで確認したのが下図。
z80の乗ったリアルコンピュータが欲しい。
古くていじりがいのあるものなら何でも良い。
別に高機能なんて求めてない。でも同時にメンテのことを考えるとあまりに古いものはいかにも稼働率が低そうで憂鬱。
で、msxである。とりあえずはエミュレータでお茶を濁してやがては実機を手に入れる。(ヤフオクとかでmsx2+[日本語もいじりたいし、実機ならFDDくらいないとデータの交換もできないので]を見ると3万円の相場だけどそれで電源やドライブの不具合との闘いを考えると気が重いのでためらいがち)で、こんな選択肢にも目が行くけど本当のz80じゃないことにちょっと抵抗感もある。
うだうだ考えてもしょうがない。そもそもPC外部のハードウェアcp/mエミュでもtek4010グラフィックスの機能のあるteratermでつなげばグラフィックスが出せて面白いって思ったことに加えてmsx2+ならフォントがちょっと?だけど80文字表示できて漢字ROMも搭載してるのでBASICでもちょっと遊べそうだとか思ったことが出発点なわけだからまずはエミュでも十分ということになる。表示が8bitスルーならcp/m機でもc言語やmbasicでteratermで漢字表示位できるので実機であることとかmsxであることとか本当は関係が無いとも言えたりする。
なんだかグダグダになってきたけど要するに触りたくなったのでbulueMSXをインストールしてまずは定番のasciiartをmsx-basicでやってみた。
3Dプロットでよくあるソースを見てちょっとTeraTermに送る例をgccで書いてcom0com経由でTeratermに表示させてみた。
陰線なしの例
昨日のteratermでmandelbrotの描画で左下に寄っていたのをx,yともtek4010の規定値のサイズとのオフセットをとって画面中央に描画されるように調整した。
昨日のエスケープシーケンスを含んだ出力をteratermにcom0com越しに流し込んでうまく表示されることを確認してあったのでdotを表示さえできれば描画できるmandelbrot集合を書かせてみた。
windows11からcom0comへ115200bpsで送っている分にはやや遅いかなって感じだがこれをcp/mの実機からteratermへ送るのは見送りたい。
(時間を考えると勘弁してって感じ)
でも楽しいので次はもう少しドット数が少ない3Dグラフなどを出して楽しんでみたい。
やっぱり楽な環境を覚えるとそちらを使っちゃうって話。
cp/mでc言語を使って3Dグラフィックスをやってみようと思っているのだけど(先人がたの後追いです、はい)、いちいちcp/mの環境内でソースを直してコンパイルして実行って手順を踏むのがめんどくさくなってきた。
で、今回やろうとしているのがcp/mからコンソール(としてのteraterm)にエスケープシーケンスでtek4010形式のコードを送ってグラフィックを実現するって言うこと。で、serialポートへの出力を正規に書いても良いのだけどmsdosにせよwindowsにせよcom0comっていうダミーのソフトウェアクロスケーブルを使えばCOMnへのリダイレクトでコンソールへの出力をteratermに送ることが出来ると踏んだのでその方針で開発することにする。
com0comのインストールで署名でちょっと躓いたけどドライバーの更新で事なきを得てめでたく仮想のクロスケーブルでつながれたCOM1<->COM2を得た。で、teratermを起動して新しい接続でCOM2を監視させてwindows側のcmd窓でgccでコンパイルしたasciiartをCOM1にリダイレクトしたのが下図。
ああ、分かっていたことなのに見出しの件を自ら味わうことになるとは。
EPSONのNP11をずっと使ってなかったけど家内LANから外して所有していた。これをNASにMYSQLを入れる実験用としてLinux化しようとして手持ちのSSDに換装してインストールしようとしたらまったく上手くいかない。
そもそもインストール画面がCD食わせても見えない。
調べてみたらこちらの方が数年前に苦労されていたことの後追いをやっていたようです。
まあスペックをみても
CPU:Atom 230@1.6GHz、RAM:1GB、HDD:SATA
といった感じだしちょっと無理ぽ、なのかな。
せっかくの古代電脳ではあるけど自分の手に余るようでは困りますね。
身の程を知ったうえでnano pi neoぐらいでお茶を濁すことにしよう。
こちらも初期に比べたら値段も上がったしneo2でもないんだけど遅いCPUには発熱的に有利とかメリットがあると信じてちょっとゲットしてみようかと計画中です。サーバ化の顛末は後日。
姉妹Blog共々、7月の更新を忘れてました。 ちょっと色々あって古代電脳というか手続き型のプログラミングへの熱意が薄れてこのブログをどうするか考えてしまってます。 日々、いじればまた関心も高まると思うのでちょっと冷却期間に入ります。