ROMライタを買う
- 2010/12/06 17:26
- カテゴリー:散財
先日よりHC-20の修理を少しずつ行っていますが,なかなか尻尾がつかめず,原因がはっきりしないままの試行錯誤が続くという,誠に辛い状況が続いています。
万が一マスクROMが死んでいたとしたら,復活への希望も絶たれてしまいます。マスクROMが生きているのかどうかを確かめること,そして手持ちのEP-ROMを活用できるようにすること,あるいはNORフラッシュメモリを利用出来るといいかも知れないということで,ROMライタを買うことにしました。
とはいえ,UV-EPROMが消えて久しく,車のエンジンのチューニングか,古い機器のメンテにしか使う事のないこれらのROMを書き込む装置も,また絶滅危惧種です。
私は15年ほど前に,秋月でAKI-80をベースにしたROMライタキットを使って来ました。これはこれでそこそこ気に入って使っていますし,今でも動かそうと思えば問題なく動くのですが,2764,27128,27256と2864の4種類しか対応しませんし,スタンドアロンでの動作はディスプレイがないためわかりにくいですし,さりとてPCとの接続はRS-232Cを使わないと繋がらないなど,なかなか使いにくいものになってしまいました。
特に27256までというのが致命的で,せめて1Mビットのものが読み書きできないとなにかと不便です。そこで,意を決して,秋月で売っているちゃんとした(本当にちゃんとしているかどうかはわかりません),完成品のROMライタを買うことにしました。
現在もホームページに載っていますので調べれば分かることですが,LEAPER-3Cという機種名です。お値段は15000円ほど。この種の機器としては破格のお値段といえるでしょう。
スタンドアロンでのコピーも可能ですし,PCとはUSBで接続出来るので,とても楽ちんです。ただ,それでもかなり昔に登場した製品のようですので,これから対応デバイスが増えるとか,ファームのアップデートがあるとか,その手のサポートは全く期待できないことでしょう。
さて,手元に届いたLEAPER-3Cですが,台湾製にもかかわらず大変安っぽいです。はっきりいって中国製かと思ったくらいです。
一応,ACアダプタは秋月オリジナルのスイッチングタイプに交換されていたのですが,付属のCD-ROMはCD-Rですし,こういう行き当たりばったり感が嫌いな人は,手を出すのはやめた方がいいでしょう。私?大好きですね,ええ。
早速動かしてみます。
まずはスタンドアロンモードです。HC-20から外したROMを読み出して,チェックサムを取ってみましょう。
説明書があまりに不親切な上,どうでもいいことが丁寧に書かれていたりするので全く役に立たないことはお約束として,この28ピンのROMを,どのソケットに差し込むのか,そこから悩むことになります。
LEAPER-3Cには,左右に32ピンのソケットがあります。左がSLAVE,右がMASTERと書かれています。
ROMをMASTER側に差し込んでベリファイキーを押します。ピーと音がして,チェックサムが出ました。E000?これはなんか変ですね。
SLAVE側に差し込みましたが,こちらもE000。ますますおかしい。ROMが死んでいて,読み出しが出来ないのかも知れません。別のROMを差し込んで見ますが,やっぱりE000です。HC-20の全てのROMのチェックサムがE000なんてことはあり得ません。
PCにソフトをインストールし,PCモードで動かして読み出しを試みますが,やはりダメです。ダンプを取ってみると,全てFFです。全く読めていません。
そこで,かつて修理したOberheimのMatrix-1000のROMを読み込んでみる事にしました。このROMは27256に焼かれているので,素直に読み出せるはずです。
MASTER側では読み出せず,SLAVE側では読み出せました。うーん,そんなもんなんですかね。
てことで,またHC-20のROMで試します。ROMタイプを27C64にせず,27C256にして読み出してみると,チェックサムがなにやら意味のある数字になっています。もしやと思ってダンプをすると,途中からそれらしいバイナリが見えるではありませんか。
27256の32kByteのエリアの内,後半8kByteにそれっぽいものがあります。そこを取り出して8192バイトのバイナリファイルにして,HC-20のROMとして保存しました。
HC-20には8kByteのROMが全部で4つありますが,それぞれで異なった値になっていますし,所々にASCIIで意味ありげな文字列が見えたりしますので,これでたぶん大丈夫でしょう。
ということで,書き込みの試験はまだやっていませんが,とにかく読み出しがちゃんと出来たという事で,まずはこのLEAPER-3Cは所期の目的は果たせそうです。
・・・しかし,なんでHC-20のROMが2764では読み出せず,27256で,しかも後半で読み出せるのでしょう。
よくよく考えてみました。
HC-20のマスクROMは,64kビットのマスクROMで,SMM2365という品種だそうです。回路図はつぶれてよく見えないのですが,実物は28ピンですのでおそらく2764互換だろうと,そんな感じです。
実は,32kビットまではマスクROMもEP-ROMも同じ24ピンでした。しかし64kビットになるとき,EP-ROMはVppやPGM端子が必要になり,28ピンになりました。一方のマスクROMはアドレス線を1本追加するだけですので,24ピンのままでも成立しました。
この24ピンのマスクROMは,一般に2364と呼ばれます。
しかし,この2364は2764と差し替え出来るわけではありませんので,不便です。そこで2764と差し替え可能なマスクROMとして,2365が誕生するわけです。
2365に限らず,マスクROMというのは基本的にカスタム品種ですので,チップセレクトの本数や論理を,カスタマーごとに選べるようになっています。
さて,2365のデータシートを入手し,2764と27256のピン配置と並べてみますと,
2365 2764 27256
26 CE1 NC A13
27 CE2 PGM A14
という感じです。これでもうおわかりですね。
HC-20のSMM2365は,26ヒピンと27ピンがCE1とCE2になっており,正論理にカスタマイズされています。これを2764で読み出しても,オープンかGNDになるだけで,2365はイネーブルになりません。
しかし,27256で読み出せば,A13とA14がHighになるところで,2365はイネーブルになるわけです。
なんか面倒臭いなあと思いつつ,こうした工夫をすることで,インバータが削除できたり,アドレスデコーダが簡略化できたりするので,当時は普通に行われていたことのようです。
ところでHC-20の本体側の回路ですが,26ピンも27ピンもHighに吊ってあります。よってこのソケットにそのまま2764が差し込まれても,問題なく動くはずです。また,基板にはジャンパがあり,27128までは対応出来るようです。
さて,先程OberheimのMatrix-1000が壊れた時のROMの話を書きました,これもここで何度か書いているので初めての話ではないのですが,この時の故障は,起動時は問題なく動くのですが,15分ほどすると暴走するというものでした。
中をあけてみますがさっぱりわからず。正常動作をしているときはそれらしい波形が出ていますが,暴走すると全くプログラムが動いていない様子です。もしやとおもってROMを読み出してみると,暴走していた直後は読み出せず,しばらくすると読み出せるようになりました。
十分時間を空けてから読み出しを行って,これをEP-ROMに書き込んで試すと,何時間経っても暴走しません。かくして,大事にしていたMatrix-1000は,ゴミにならずにすんだのでした。
この一件で学んだことは,半導体,特にメモリICというのは,急に読み出せなくなるわけではなく,ジワジワと動かなくなるということです。動くか動かないかという話ではなく,アナログ的に壊れていくのですね。
もしかすると,このHC-20のROMも,電圧が上がりきらないとか,リークがものすごくあるとか,そういうデバイスとして壊れていて,中身はとりあえず壊れておらず,ROMライタのようなしっかりした機器では読み出せたりするということがあるのかも知れません。
現在,SRAMを256kビット品に交換しています。16kビットのオリジナルでもいいのですが,容量を増やしたいのと,RAMも案外壊れるものなので,不安を取り除いておこうという気持ちからです。
SRAMを交換し,それで動いてくれればうれしいのですが,今回ROMライタを購入したことで,修理不能という最悪の事態だけは回避できそうな感じです。
[追記]2010/12/7
LEAPER-3Cを悪く言う書き込みは見当たりませんが,他のお店で売られている中国製のライタが,安くて便利という書き込みを見つけてしまいました。
これ,EP-ROMを書き込むだけなら別になんでもないのですが,SRAMやTTLのテストが出来るそうです。これはジャンク品を分解して外した部品を使う私のような貧乏人には,大変便利な機能だったかも知れません。
ただ,スタンドアロンで動かないので,そこは残念なところです。USBで動けば別に問題はないし,LEAPER-3Cだって結局USBで繋がないと使い物にならないですから,9800円という値段であることを考えると,こっちの方にしとけば良かったかなあと,思ったりしています。
あ,そうそう,HC-20については,SRAMを256kbitのものに交換してみました。アドレスデコーダをNANDゲート4つでちょこちょこっと作って試しましたが,結局動作はしてくれませんでした。道は険しいです。