AVRとZ80でCP/Mの改良で製作したAKI-80版CP/Mマシンの応用例です。 http://star.gmobb.jp/koji/data/rom2716_1s.jpg[拡大|http://star.gmobb.jp/koji/data/rom2716_1.jpg] !UV-EPROMは消去がめんどくさい フラッシュメモリの登場により、紫外線消去型のPROMは今はほとんど使われていません。しかしZ80などの古いCPUを動かすとなると使うことになります。もう生産されていませんが、ヤフオク等で入手することは可能です。 http://star.gmobb.jp/koji/data/rom2716_2s.jpg[拡大|http://star.gmobb.jp/koji/data/rom2716_2.jpg] AVRとZ80でCP/Mでは、AVRマイコンを使うことでこのROMを不要にすることができました。なので今更なんですが、手持ちに6個ほど2716が。あるとやっぱり書き込んでみたいじゃないですか。 !回路設計 ネットを検索してみると、古いCPUでマイコンを製作されている方々(稀少)のブログ等を見ると準備として真っ先にROMライターと消去器を購入されているようです。しかし2716以降のPROMは書込手順はシンプルで、書込み器を作るのはさほど難しくはありません。ただ書込みソフトはPCと通信するプログラムを書く必要があり、少し難しくなります。しかし、CP/Mマシンから直接書き込むのであればソフトは簡単になります。 8ビットCPU時代の古い本のROMライターの製作例のほとんどが8255を使用してポートから書き込んでいます。AVRとZ80でCP/Mの冒頭の写真で紹介している「トランジスタ技術1980年11月号」にはちょっと変わった書き込み方が紹介されています。ポートを使わずROMをメモリ空間上に配置し、書込電圧の印加とWAITを掛ける回路を付加して、普通のRAMと見做して書き込むのです。但しちょっと工夫が必要で、メモリに対しては一発ではWAITが掛からないので連続して2回書き込みます。残念ながらフルRAMのCP/Mマシンでは、64kB以上アクセスできるCPUにしないとこの方法は取れません。 結局ポートを使うことになりますが、AKI-80はPIOが1個載っているだけなので、ピンが足りません。そこでROMのアドレスピンのみPIO(A,B)に割り当て、データピンはそのまま入出力ポート(IOCS)と見做してデータバスに接続することで解決しています。(但し電源を入れたままROMの抜き差しはできなくなります) [回路図|http://star.gmobb.jp/koji/data/rom2716_cir.png] 少しの変更で、2732や2764にも対応できそうです。 !書込みソフトウェア {{ref ROM2716_20131009.zip,2716用ROMライターの製作,ソフトウェアのダウンロード(AKI-80[TMPZ84C015]専用 CP/Mアプリケーション)}} CP/MにはDDTという強力なツールがあり、これと連携することで書込みソフトはシンプルなもので済みます。書込みソフトは、消去チェック後メモリの2000番地から27FF番地の内容を書き込むだけのものです。予めDDTで書き込むデータやプログラムをメモリへ配置しておきます。IコマンドとRコマンドを使います。CP/Mコマンド概要メモ参照。 例)CGROM57.HEXというファイルをRAMの2000番地以降に配置する。 ICGROM57.HEX R2000 DDT実行画面 http://star.gmobb.jp/koji/data/rom2716_3.jpg 書込みソフト実行画面 http://star.gmobb.jp/koji/data/rom2716_4.jpg 6個とも全部書込み成功しました。 ソース(ROM2716.MAC)のアセンブル、リンク方法を紹介します。MACRO-80を使います。 M80 ROM2716,ROM2716=ROM2716/Z L80 ROM2716,ROM2716/N/E 実行画面 http://star.gmobb.jp/koji/data/rom2716_5.jpg ビデオターミナル(AVRビデオ端末の製作)があるので、このようにPC無しで全て行うことができます。 http://star.gmobb.jp/koji/data/rom2716_6s.jpg[拡大|http://star.gmobb.jp/koji/data/rom2716_6.jpg] 製作は自己責任でお願いします。 !!関連リンク 汎用HEXファイル変換ツール http://elm-chan.org/fsw.html 当サイト内 CP/Mコマンド概要メモ AVRとZ80でCP/M AVRとZ80でCP/Mの改良 AVRビデオ端末の製作 ---- {{comment}}