2023年8月2日水曜日

月日が経つのは・・・

 姉妹Blog共々、7月の更新を忘れてました。

ちょっと色々あって古代電脳というか手続き型のプログラミングへの熱意が薄れてこのブログをどうするか考えてしまってます。
日々、いじればまた関心も高まると思うのでちょっと冷却期間に入ります。

2023年6月5日月曜日

次なるハードウェアはEMUZ80

 やはり古代電脳を語る上でエミュレータでは弱い、説得力に欠ける。
誰へのって?自分自身への・・そう自分のこだわりが解決しない。

実機の説得力は高い。やはり古代と謳うからには8bitでしょう。
となれば最初はz80ということになる。(異論はあるかもしれないけど・・)

で、z80でのプログラミングとなればBASICとアセンブラが中心で良いと思う。
しかし高度(??)なこともしてみたい。

ここでEMUZ80の登場となる。cpu(z80)以外はPIC18Fだけでこの1chipのLSIをプログラミングしてz80から見たメモリー(RAM・ROM)もI/O(シリアルとか)もこなさせてしまうという実に面白い回路である。
つまりプログラムをこなすはずのcpuであるz80を動かすのに実はもっと高度なコントロールのためのプログラムをPICでこなさせるわけなのだ。(説明が下手か!)

さらにこのEMUZ80のボードにさらにオプションとしてのボードがいろいろと発表されてきている。z80+RAM(64KB)をのせたものz80以外のcpuを乗せたもの(6502,6800,6809,etc)など実に食指を働かせたくなる内容である。
単に速度を楽しむだけならarmがcpu部分やramを含んだSoCのraspberry piやESP32などでプログラミングする方が良いのだけれど箱庭的というか盆栽的というかボトルシップ的な凝った趣味として楽しむのにはEMUZ80は最適なのだと思う。
(あくまでもold cpuに僅かばかり以上のロマンを感じられる人に限られるけど・・)

入手できて動くようになったらまた報告するとしよう。

2023年5月18日木曜日

反省と方向性

 先月の更新内容を見ると以前にやったようなことを少しずつ変えて焼き直しているだけというのが見えてくる。

ここいらでちょっと方向性をちゃんとしておく必要も感じる。
特にここのように趣味性を前面に出したものは自分の楽しさに気を取られ過ぎて時間が掛かる(かけ過ぎる)のが問題にもなる。ちゃんと本来なすべき仕事がおろそかになってしまうのはあまりよろしくない。

自分が飯の種とすべきことやそのための学習に割くエネルギーを削って趣味に打ち込んでしまう傾向が強いことを認めて、例えば仕事で目標が達成できたらとか本来の休みのうちの家族サービスに割いた時間の残りのみを当てるとか考えないとマズイことになる。
(いい年をして今頃になって書くことでもないけど)

もう少しペースを考えて限られた時間で考えて進めていこうと思う。
(そこで工夫をするのがまた楽しいはず)

当面はエミュ関連とハード寄りのなにかになると思うけどもう少し掘り下げて楽しみたいと思う。

しばし塾考すべし・・おれ

2023年4月30日日曜日

しつこいですけど

 あいかわらずのasciiartをraspberry pi picoでやってみた。

ボードへの書き込みに失敗するのでbootselでusbデバイスとして認識させてコンパイル済みのuf2ファイルをd&dで書き込んで実行した。

133MHzのSoCだと200msecの所要時間。


もののついでに

 最近、今更の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だけでなんとかソースを編集してコンパイル
  にこぎつけた。

結果が

さすがの9ms!それよりも9801って表示にちょっと感激。

なんとかファイルをPC側から送り込んだりできるようにしないと大変だということは分かった。
でもいろいろ方法はありそうである。


2023年4月29日土曜日

調子に乗って

 せっかくarduinoのIDEを更新したので手持ちのesp8266モジュールを使って同じくasciiart.inoを実行させてみた。

arduino unoのATMega328Pで1000ms(≒1秒)ほどだった実行時間がesp8266では162msと6倍以上速くなっている。
(もちろんすべてのプログラムがそれだけ速く動くことの保証にはならないけど浮動小数点の乗算をある程度の割合で含む比較的簡単なプログラムではその結果になりました。)
esp8266は多分80MHzのクロックで動いているのでクロック比(16:80)よりはespの方がasciiart計算には向いているのだと思われる。

この手の比較って楽しいと思いますね。まだ手元にSTM32F401WioTerminalもあるのでこれらも計測してみようかしら。あとRaspberryPiも1Bとzeroを持っているので少し触ってみようと思う。あ、そういえばRaspberryPi Picoもあったっけ。ずいぶん使わない癖に持ってること。



2023年4月28日金曜日

EMUZ80の制作に向けて

 さて目下注目の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で確認したのが下図。

16MHzで動くATMega328Pで1秒そこそこでこれが描画できるのだから大したものである。
この分野ももう少しつっこんで触れる必要を感じるなあ。



月日が経つのは・・・

 姉妹Blog共々、7月の更新を忘れてました。 ちょっと色々あって古代電脳というか手続き型のプログラミングへの熱意が薄れてこのブログをどうするか考えてしまってます。 日々、いじればまた関心も高まると思うのでちょっと冷却期間に入ります。