2012年01月29日
プリント基板の方は命令解析用のダイオードマトリクス部分を書上げました。
(画像下部左側の薄緑色の部分。紫色の点が1本のダイオード)
あと8時間程度の作業でエッチングができそうですが、その8時間がなかなか確保できません。
2012年01月22日
回路は完全にFIXし順次電子化中です。一方、その回路図と照らし合わせながらPCBパターンの最終仕上げ中ですが、レイアウトミスを発見したり、回路図自体の間違いを発見したりでなかなかエッチングに進めない状況です。
LBPを使ったパターン熱転写実験はほぼ成功しています。ドリル台やドリル刃、生板、塩化第二鉄溶液なども全て購入済みで、パターンがさえ完成すれば即エッチングができる状態になっているのですが、肝心のパターンがFIXせず、足踏み状態です。
下記が最新状況です。本頁の12月30日の項で紹介したパターンが微妙に変化していることがお分かりかと思います、最近はパターンを書いているというよりも絵画を描いている画家の様な気分です。こうなったら、電気的に正しくても自分が納得するまで何度でも書き直すつもりです。
2012年01月15日
熱転写に関しては、先輩諸氏のHPやブログ以上の成果はまだ得られていません。
購入したNECのMultiWriter 5100が、低温転写トナーを用いているのも一因だと思いますが、まだ試行錯誤中です。
画像は現状で最も上手くいった熱転写結果(パターンは試験用)です。断線が多くまだ実用化は無理ですが、今一歩です。
一方、回路図の電子化の方は順調に進んでいます。
左図は最も頭を悩ましたインストラクションデコーダとUSBインターフェイス周辺の回路です。
雑多なバスの制御権の切替を無理にTTLのセレクタとして組むのではなく、昔ながらのロータリーを使う事により、
かなりスッキリした回路になりました。
左記回路の詳細は別途本文にて紹介予定です。
2012年01月09日
PCBパターンも回路図もまだ仕上げていないのに、心はもうエッチングの事を考えています。当初は前作同様、サンハヤトの感光基板を使う予定でしたが「熱転写でPCBを作る方法」に関する先輩諸氏のサイトを眺めているうちに、自分でも試してみたくなり、ついにLBPまで買ってしまいました。
一緒に買ったホットプレートも写っていますがこちらの方は気にしないでください。
最初は我流で転写を試みましたが、結果は酷いものでした(写真)。
現在は温度や用紙を色々変えて実用化の道を探っているところです。上手くいかなければ感光基板で行う予定ですが、今の所、どっちになるかは五分五分といった所です。
2012年01月03日 皆さま、あけましておめでとうございます。
元日に一気にPCBのパターンを書きあげるつもりで、お神酒を飲みながら頑張り、9割方描き終えたのですが、その時になって、主メモリのアドレス空間を倍に拡張する方法を思いつきました。
RETROF-16は16bitのアドレス空間を主メモリと画像メモリに、半分ずつ割り当てるのが当初予定していたアーキテクチャです。しかし、RD/WR信号を2重系にし、主メモリと画像メモリの各々にロード命令とストア命令を用意することにより、主メモリ、画像メモリ共にアドレス空間を16bitにできる事に気付いてしまったのです。
胃が痛くなるほど迷った(注)のですが、より良い方法がある以上は採用したくなるのは当然の理です。泣く泣くそれまでに描いた制御回路部分のパターンを全消去し、一から描き直しています。また現時点でレイアウトに若干の余裕(TTL2個分くらい)があることが判明したので当初は諦めていた条件分岐命令の「条件の種類」の追加も敢行しました。
(注)胃が痛くなったのはおそらく酒の飲みすぎの影響のほうが大です(笑)。
この結果、ISA(命令体系)は以下の様に強化され、その代償としてPCBパターンの完成がかなり遅れることになりました。
| 命令種別 | オペランド |
|---|---|
| 無条件ジャンプ | 右の表を参照 |
| 条件付ジャンプ | 右の表を参照 |
| 無条件相対ジャンプ | 右の表を参照 |
| 条件付相対ジャンプ | 右の表を参照 |
| Accとオペランドの演算 | 右の表を参照 |
| 同上(但しフラグセットのみ) | 右の表を参照 |
| Accへロード(対主メモリ) | 右の表を参照 |
| Accをストア(対主メモリ) | 右の表を参照 |
| PCのストア(対主メモリ) | 右の表を参照 |
| Accへロード(対VRAM) | 右の表を参照 |
| Accをストア(対VRAM) | 右の表を参照 |
| 出力(メモリ値をLEDへ) | 右の表を参照 |
| 入力(SWの値をメモリへ) | 右の表を参照 |
| アキュムレータ右シフト | 無 |
| アキュムレータ左ローテート | 無 |
| HALT(停止) | 無 |
| NOP | 無 |
| オペランド(アドレッシング指定) |
|---|
| 8bitリテラル(#0000~#00FF) |
| レジスタ(R0~R255) |
| レジスタ間接(Memory[R0~R255]) |
| 16bitリテラル (#0000~#FFFF) |
空色の所が第2アドレス空間用に追加した命令で、緑色の所がPCBの配置配線領域に当初見込みより余裕が出来たことによって追加することにした命令です。
シフト/HALT/NOPを除く全ての命令に対し4種類のアドレッシングを指定可能です。これにより前作のRETROF-8と比べると、比較にならないほど強力なメモリアクセスが可能になります。
| 演算命令の演算種別 |
|---|
| 加算 |
| キャリー付加算 |
| 減算 |
| ボロー付減算 |
| 論理積 |
| 論理和 |
| 排他的論理和 |
| 条件分岐の条件種別 |
|---|
| キャリー有 |
| キャリー無 |
| ACCがゼロ |
| ACCが非ゼロ |
| ACCのMSBがL |
| ACCのMSBがH |
| VRAM帰線時間中 |
ユニークなのは帰線時間判定で、これにより、プログラム側からグラフィックの表示更新の最適なタイミングを把握することが可能になります
これは、おそらく世界初の試み(?)だと思います。
(効果は未知数です。詳細は後日報告します)
2011年12月30日
2012年はいよいよTTLのみで作る16bitコンピュータ、RETROF-16のを開始します。
まずは、PCBパターンの完成を目指します。
実は、PCBパターンだけは2011年中に書上げる予定でしたが、遅れに遅れ、今現在も以下の様な状態のままです。
回路図も殆ど描いてません。「回路図が無いのに何故パターン図を描けるのか?」と疑問に思われる方もいるかと思います。でも、この面積(しかも片面基板)に16bitのコンピュータ+グラフィック表示回路を押し込むには、あらかじめ回路を決めてそれに従ってパターンを描くのはほぼ不可能なのです。
とにかく候補となりうる部品を仮配置し、候補となりうる回路で配線してみて、最もうまく収まりそうな部品と回路を正式回路図として採用する方法を取るしかないのです。
基板製作のプロの方には信じられない事でしょうがパターンが先に決まって、回路図は後から決まるのが、RETROFシリーズの作成手法なのです。
上記パターンはPCB専用CADで描いたものではありません。
フリーのお絵かきソフトDynamic Drawを使用しています。RETROF-8はOpenOffice-Drawでパターンを描きましたが、Dynamic Drawの方が桁違いの機能と使いやすさを有しております。作者に感謝。