CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

ROMライタ

ホスト側プログラム

ハードウェア、ファームウェアが大体出来上がってきたので いよいよWindows上で動作する制御プログラムを用意しなくてはならないのですが これには実は考えがあります。 いきなりですが「らい太くん for FLASH」(笑) 自作の装置の中でいままで最も実…

ROM定義ファイル

ROMの種類によって異なるデータサイズや制御ピン配置を一括して管理するための定義ファイルのフォーマットを決めました。 これを書きたいROMの種類ごとに用意し、これを参照して制御方法を可変できるようにします。 エレクトロニックシグネチャはアドレスA9…

ROM消し

制御プログラムのモジュール化のために書き直しをしたら、途中からどうしても1MbitROMの書込みができなくなり、プログラムをベタに打ち直したり、あちこちにデバッグ表示を入れてたりとしていて手間取りました。 結局、そのROMの不良でした。 ピンをずらして…

インジケータ制御

/OEの制御は新しいGAL16V8にロジックを焼いて交換し、動作OKとなりました。 こういう挙動をする壊れ方って初めてです。 ところで、このROMライタにはGO/NGを示す2色LED3個と、状態表示の2個のLED、警告用の電子ブザーがついていますが、設計したときのここ…

GAL異常?

28ピンROMがうまく行ったので1Mビット以上の32ピン系のROM読み書きの作り込みを していたのですが、なかなかうまく行きません。 ROMの制御ピンのタイミングを調べていてやっとわかったのがこれ。 ROMの/OE(アウトプットイネーブル)を制御する波形です 書き…

電源シーケンス修正

起動時の過渡的な電圧がROMに加わらないように電源のシーケンスを修正しました まず2個のTL497を同時にイネーブル(ch1) H8/3069F内のタイマを使い10ms後にVCCピンへ出力するトランジスタをON(ch2) さらに50ms後にVPPピンへのトランジスタ…

タイミング確認

制御信号のタイミングのうち気になっていたところを確認しました まず、VCCの立ち上がりです。 VCCは回路電源の+5Vに直結せず、昇圧スイッチングレギュレータTL497で生成しています。TL497の起動時にすこし出力電圧があばれますが2msくらいで安定しています …

読み書きテスト

Vcc、Vppの出力、アドレス、データの入出力、/OE、/CS、/PGMの制御は すべて単純にパラレルポートを叩くだけなのでハードの方の動きはOKそうです。 早速手元にあったインテル128kbitROM27128をセットしてテストを始めました。 読出し処理はすぐに動作確認で…

電圧出力測定

VCCの出力電圧をプロットしました。 青が実測値、ピンクが1次直線による近似ですが直線性が良く、完全に重なっています。 約3.5Vから7.5Vまで可変できてスイッチに2SA510を使っているので1Aくらいは供給できそうです。もっとも実際に使うのは…

VCC/VPP調整

ROMのプログラミング電圧を生成するD/Aコンバータ(M62353)周りです。 もともとはDACの基準電圧はVCCに直結していましたが、せっかくならば高安定の電圧が得られるように基準電圧用IC、LM4040を外付けしました。このICは+4.096Vを発生するのでROMに印加す…

DRAM制御修正

ROMライタ上のI/Oポート0x200008番地を叩き続けるループを回したときの波形です 上から空き、/CS1、/CS2、/HWR、/RDですがI/Oポートがある/CS1がアサートされる期間もDRAMの/CS2がLowになりっぱなしになっています これではDRAMのデータと…

ペリフェラル制御

H8/3069FCPU基板にモニタを書込み、ROMライタ側のI/O動作を確かめているのですがどうも動きが変です モニタで8255のアドレスを指定して直接出力ポートを叩くと正常に出力されますが、同様の動作をする単純なテストプロをつくってDLLして実行さ…

ROMライタ(6)

もともとのI/FコネクタにH8/3069Fの外部拡張バスを接続しました。 3069Fから見て/CS1空間 0x200000~0x3FFFFF にROMライタ側の8255が2個分と パラレルポート2個が割付されています

ROMライタ(5)

背面の隙間にCPU基板を設置。なんとかギリギリ収まりました。

ROMライタ(4)

当初、ROMライタそのものには手を加えず、制御用のCPU基板を入れたI/Fボックスを外付けしようと考えていましたが、おそらく使い勝手が相当悪くなるので内蔵させることにしました。ケース内は隙間がほとんど残っていないので代わりに電源ユニットを追い出し、…

ROMライタ(3)

中を開けたところです。 傾斜型のケースに制御基板とソケット基板が2枚重ねで入っていて 電源はAC100Vをスイッチングレギュレータで+5Vにして供給しています。 現状のI/Fからは8255のレジスタが見えるので、ここに組込みCPU基板を追加して シリアルかUSBを…

ROMライタ(2)

2764と27128は上位ピン互換(2764のNCピンを27128の最上位アドレスに割付け)のためこういう簡単なハードでよかったのですが、さすがに今時28ピンの2764/27128だけではちょっと役に立ちません 実はこの後、ほとんどのデバイスに対応可能なユニバーサルライタ…

ROMライタ

先日、UVEPROMを使った機器の解析、メンテをする用事があったのですが 27XXに対応しているような設備のプログラマはとっくに廃棄されてしまっていて急遽レンタルとなりました。 自分も手製のプログラマがあったのですが、ホストPCや制御ソフトもなくなってし…