⇒ 本記事に対応する最新回路図はこちらです
⇒ RETROF-16 部品実装(その1)はこちらです
#ステージカウンタの実装
RETROF-16は全ての命令を13クロックで処理します。74LS163とU28の74LS138の実装で、基本クロックを13分周する回路が構成されます。
ステージカウンタと言う呼称は必ずしも適切ではありませんが、便宜上この74LS163を「ステージカウンタ」、74LS138を「ステージデコーダ」と呼びます。
上の画像の2つのTTLが74LS163とU28の74LS138です。赤いスライドスイッチ(SW25)は、クロックを手動で与えるかPLL発振器(これはまだ実装していない)で与えるかを切り替えるための物です。また青色LED(LED17~20)は、現在何番目のステージを実行中かを視認するための物です。
以上の実装で、実行モードに移行しSTEPボタンを連打すると、青色のLEDが0~12の値を順次表示することが確認できます。
#プログラムカウンタの実装
下記画像はプログラムカウンタALS541と、ダイオードF1~F4を実装した所です。
この状態でSTEPボタンを連打すると、ステージが0と1の時にプログラムカウンタの値がデータバスに放出されることを視認できます。しかしプログラムカウンタに任意の値を設定するボタン(PSETボタン)がまだ無効なので、非常に動作確認がしずらいので、次にPSETボタンの有効化を行います。
#ALU(算術論理演算器)の実装
ALUはその名の通り「演算」を行うためのものですが、この時点では単にデータバスの値をプログラムカウンタに渡すだけの目的で実装します。偶然ですが74LS181は演算種別を決める入力(S0~S3、及びM)を全てHにすると、A入力の値をF出力にそのまま出力します。従って74LS181とプルアップ抵抗RB6を実装するだけでこの目的を達成できます。
この実装によりPSETボタンが有効となり、基板上のトグルスイッチで指定する任意の値をプログラムカウンタに設定できる様になります。
尚、74LS181は24ピンのICで対抗するピン幅が600milですが、これと互換性のある74LS881や74F181は幅300milです。どちらでも実装可能にするために基板上は12ピン1列のICソケットを3列並べています。見かけ上は36ピンのICとなるため、回路図上の74LS181も大変見辛くなっていますが仮想的な36ピンのICとして表記しています。
#IRとFRの実装
IR(Instrucsion Register : 命令レジスタ)とFR(Flag Register : フラグレジスタ)を実装します。IRは74LS377で保持内容を視認するためのLED(LED9~16)を伴います。FRは74LS175でこれも保持内容を視認するためのLED(LED3,5,6)を伴います。
また「ついで」となりますが、命令コードに応じて必要なフラグを選択するフラグセレクタ74LS151もここで実装します。
この時点で未実装なのは
・画面表示回路
・USB通信回路
・アキュムレータ
・アキュムレータへの演算種別指示回路
・命令デコード回路の大半
となります。ここから命令デコード回路を徐々に実装し、まずはアキュムレータを必要としない機械語命令群の正常動作を確認して行きます。