EPG4のLab.

不動FS-A1Fの現状 (9) - ROM基板

2025-02-24 05:52:08
2025-02-26 15:40:56
目次

A1Fには写真のようなROMが2個乗った基板がメイン基板の上に載っているバージョンと基板ではなく直接そこにROMが乗っているバージョンの2つがあるようです。

メイン基板にこのように乗っています。メイン基板にはシルク印刷で"BASIC ROM DA1024D0362R"と印刷されている28pinの600mil DIPのスルーホールがあり、そこにこの基板がはんだ付けされています。このROM基板がないA1Fの写真をみるとROMが1つ直接はんだづけされています。

ROM基板

外してみるとこんな感じです(メイン基板側から外せばよかった・・)。ピンヘッダの間にある黒い四角い物体はゴムのようです。両面テープでくっついているのかな?これらの写真のように、ROM基板はとてもCPUに近いです。DIP変換基板を使ったCPUだとROM基板に微妙に干渉してしまい、抜き差しする間に足が曲がってしまう事故がな何度か発生してしまいました。ということでROM基板上の2つのROMの内容を1つのROMに焼いてここに直接はんだ付けしようと思います。

ROM基板を外したところ

写真右側UV-EPROMのほうは64KB、もう片方はわかりません。28pinなので64/32のいずれか?でもなんだか型番に1024と書いてあって1Mbit(=128KB)なんじゃないかとか思ってしまったり。(後で128KBと判明します)配線パターンを調べてみました。

ROM基板部品面ROM基板はんだ面

回路図にするとこんな感じでした。IC302のほうもD27512Jと同じ容量(64KB)なのだと思います。合計で128KB分ということになります。(<-間違え。図面は直してあります)しかしもともとの本体のスルーホールの数は28個でUV-EPROMとかだと64KBまでしか使えない。128KB使うには32pin必要です。このROM基板のないタイプは28pinで128KBなのでしょうか?

ROM基板の回路図

WEBで画像検索するとこんな感じのものが見つかります。28pin。ICの型番は上記のIC302とは違うようです。DA1024D0365Rとなっています。

メイン基板にBASIC ROMが乗っている場合

念のためA1Fのメモリマップを見てみます。TINY SLOT CHECKERのお世話になります。しかし、えぇなんか真赤なんですけど。ほとんどの濃い赤いところはグレーでEMPTYと表示されてほしいところです。何かごみのようなデータが読めてしまっているってことでしょうか。これはちょっと今後の課題として残しておきます。

A1Fのスロットチェック

しかしこれではちょっとわからないのでMSXSlotInfoViewerのお世話になります。

MSX Slot Information Viewer Onlineの結果

blueMSXのマシン構成のA1Fも併せて確認すると下記のような内容のようです。UV-EPROMにはBASIC・FDCと書かれているのでおそらくMAIN(32KB) とDISKROM(32KB)、DA1024D0362RのほうはSUB(16KB)とA1COCKPIT(32KB) 。とりあえずROM基板上のは合計128KBというのでよさそうです。というかないと容量が合いません。

MAIN(32KB) SLOT0のPAGE0と1
SUB(16KB) SLOT3-1のPAGE0
漢字ドライバ(32KB) SLOT3-1のPAGE1と2
DOS(16KB) SLOT3-2のPAGE1
A1COCKPIT(32KB) SLOT3-3のPAGE1と2

ROM基板上の74LS00はメイン基板からくる信号2つから(ここでは/CEと/OEとしています。メイン基板上のNEC製のD65013GF375からきている信号ですが、正しい信号名がわかりませんでした。)それぞれのROMへの/CE信号を作っています。

ロジック

これを見るとどちらのICが選択される場合にも/CEはLOWになるのでこれはそのまま128KBのROMでも使うことにして、128KB ROMの/OEは常にLOWもしくは/CEをそのまま使う?そしてメイン基板からくる/OEはもともと2つの64KB ROMを選択する信号なので、アドレスの最上位ビット(A16)に使うとよさそう?というかA16信号なのでは?

書き込むためのEPROMがまだ手元にないのですが、とりあえずROMを吸い出してみました。そしてここで謎にぶち当たるのでした。

吸い出したデータをバイナリエディタで16KBごとに分けて、別途TINY SLOT CHECKERのダンプ機能で保存したバイナリと比較してみました。その結果

MAIN ROM(32KB)
SUB ROM(16KB)
DOS(16KB)

という順に保存されていることがわかりました。両方のROMとも。え?両方おなじ?ROMの内容で差分を取るとDOSのエリアに若干の差分があるけどそれ以外は同じでした。A1 COCKPITはどこへ?漢字ドライバはどこへ??しばらくしてやっと気が付きました。

この"DA1024D0362R"は"DA1024D0365R"と同じように28pinだけど128KBのROMでA16は/OEだと思っていた場所と思います。そしてこの"DA1024D0362R"はDOSのROMにバグがあったのだと思います。UV-EPROMで下位64KBを入れ替える形で修正し、このROM基板が出来たのだと理解しました。ROMが直接乗っているA1Fは後に修正された"DA1024D0365R"が使われたのだと思います。

ということで後半の64KB含めて128KB一気に読み込みたいと思います。しかし27C010(128KB)のROMとして認識するよう配線してみましたがTL866IIPLUSでは/PGM、/Vppがおかしいと言ってうまくいきませんでした。そこで、A16(ここまで/OEと思っていたもの)をHIGHにしておけば64KBのROMとして後半の64KBを読めるはず。ということで22pinをVccに直結して読み込んでみたら成功しました。今度はちゃんと漢字ドライバとA1COCKPITぽいものが入っていました。

ROMから128KB中上位の64KBを読みだす

16KB区切りでROM内の内訳を表にするとこんな感じです。

128KBのROMの内訳

UV-EPROM(27C010)を入手したらパッチの適用されているUVEPROM(27512J)の64KBとDA1024D0362Rの上位64KBを合わせた128KBのROMを作ってみます。

(つづく)

この記事を書いた人

EpicGadgets4

レトロPC関連、ゲーム、電子回路で遊んでみたなどの記録を書いていきます。