EMUZ80_RP2040 + ・・・
わたしは、常々どんな学習もなるべく簡単すぎると思われるくらい単純なところから始めるのが良いと思っています。単に自分のキャパが少ないからですが…
とはいえ、i4004からが良いとは思いません。なぜなら入手が難しすぎるしそもそもやっている人が(まわりには)居ません。
それで、現実解としてはZ80がベストな選択だと思います。アドレスバス 16本 + データバス 8本 + 制御信号線や電源で たった40PINの中に必要なものが全部アサインされています。
40本の内、アドレスバス(A0-A15)16本 + データバス(D0-D7) 8本の24本は、いちばん分かりやすいピンです。
アドレス指定して(A0-A15)データ(D0-D7)を読み込む等、お馴染みです。
アプリケーションプログラムとしては、それ以上のことはそれほど必要になるケースは少ないのかもしれませんが、ハード寄りのことを行おうとすると(あるいは、ハードそのものをいじろうとすると)とたんに、複雑な世界に足を突っ込むことになります。(もっとも、その辺を生業としている方やヘビーユーザーの方にとってはZ80ごときの原始的なCPUで大げさな・・・ということになると思いますが)

上であげたアドレスバスやデータバスを除くと図の左側になります。
この中で、クロックと電源関係を除けば残りは13本です。
M1等の上にバーが付いているのは負論理を表します。ざっくりというと日頃は+5V(H)になっていてアクティブになると0V(L)に状態変化するものを負論理と言います。正確な表現を使うとややこしいのでざっくりとです。(;^ω^)
上の図を見ると制御信号も「System Control」「CPU Control」「CPU Bus Control」と機能ごとに把握すると分かりやすいですね。さすが本家の資料です。

M1サイクル内でどのような動きになるのか分かりやすく書かれています。Z80マニュアルより
CP/Mも動くようになったということで、他に面白そうなプロジェクトがないか見ていたら、なんとZ80に飽き足らず6809やら68030そしてi486DX2のような化け物CPUまで載せているではないですか!!!
6809は、まだZ80と同じ8ビットCPU、まだなんとなく動作するのもわかる気がします。40ピンだし。。。気がするだけです。実際は、タイミングも違えば制御信号も違うのだから相当大変なことだと思われます。
しかし、i486DX2に至ってはピンの数が全然足りないではないですか。アドレスバスやデータバスはどこへ行った??という感じです。
いろいろ書きましたが、要はこういうことに果敢に挑戦している方がいらっしゃるというのはすごいことです。そんなわけで、絶望的にハードの知識が不足している小生はどこへ向かうべきでしょうか?
そんな夏の日です。
2026.8.5
