戻る
<< BACK  2017年11月  NEXT >>
 RealTek8139C PCI-NIC流用ROMライタ  まりも  2017年11月12日(日) 14:28
ネットワークアダプタ用チップRT8139Cには #OEB(88),#WEB(89),#ROMCSB(110) という3本の信号が出ていて、I/Oポートbase+D4hの当該bitを0,1にするとアップダウンできるようになっています(スイッチをガチャガチャ押してプログラムするイメージと一緒です)。これらのpinは一応ROMソケットに到達していますが、ジャンクで見かけるカードのほとんどは32pinフラッシュ用の配線となっています。フラッシュの場合はそれらが#OE,#WE,#CE(CSとも表記)に繋がっていればよいのですが、28pinのUV-EPROMを載せたい場合は、元の配線を切り離し、新たに接続するという改造が必要です。とくに1番VppはほとんどのROMソケットではA15が来ていますから、断ち切って12Vを加えないといけません。また12Vではなく13Vくらいを要求するROMは失敗もあり得ると思って12Vでやるしかないでしょう。

RealTek8139C ネットワークカード流用ROMライタですが、FlashではないROMは容量帯によってpin配置も制御も異なるので、全てに対応できるプログラムは容易ではありません。とりあえず27C256版のみ対応のを作ってみました。27C256専用でこの図のような接続のハードウェアと一対一となるプログラムなのでご注意ください。27C64-128や27C512をこれに載せてはいけません。

書き込みプログラムは超簡易なもので、与えたバイナリファイルのサイズどおりにただ書く機能のみです(一応ベリファイくらいはしますが)。バージョン2からは98専用となっています。メッセージが日本語のため英語版PC-DOSでは使えません。
http://hp.vector.co.jp/authors/VA012947/util/rt8139.html

なおチップRTL8139Cは 8139Aでもよいみたいで、セカンドソース品らしきチップMPX EN5038A*(バッファローのLCI3-TXI)でも使えました。

 27C64,27C128用の改造  まりも  2017年11月13日(月) 22:04
RTL8139Cネットワークカード32pinROMソケットの改造の続きです。27C128,27C64の場合は、上位のアドレス線を切り離して、そこにWE#, Vcc, Vppを突っ込みます。このハードウェアに対応した書き込みプログラムはいずれ。
(テスト用の石を所有してないため)
2020/9/30 書き込みプログラムが追加されました。

 PCIブートROM版(intel NIC)  まりも  2017年12月1日(金) 23:17
http://hp.vector.co.jp/authors/VA012947/exiderom/exide55x.html
intel 82557/558/559/550の載ったPCIネットワークボードのフラッシュROMに書き込む IDE容量上限拡大アプリケーションです。Cバス用がテストできない人はとりあえずこれを。
書き込みプログラムはこちら↓のFL8255Xです。98とAT両用になりました。
http://hp.vector.co.jp/authors/VA012947/pcat/pciflash5.html
書き込みプログラムにデータ内容の制約はありません。

IDE BIOS 8KB(D8000-D9FFF)に直接パッチできる空きはほぼないので、たとえ本体のIDE BIOS部分のROMを書き換えることができてもIDE BIOSを直に改変することは困難だと思います。ばかばかしいほど面倒ですが、やはり間接的にCバスやPCIのブートROMから介入するしかないでしょう。

 EXIDE55XとEXIDECB 1.23  まりも  2018年11月30日(金) 13:43
http://hp.vector.co.jp/authors/VA012947/exiderom/exide55x.html
初期山猫などの古い構造のIDE BIOSの機種に対応した「つもり」です。自前エミュレーション環境にて、コードパターン的にはパッチが当たることは確認していますが、山猫マザーが壊れてしまったので最終動作チェックなしで出します。もしかするとROM/RAM切り替え動作で問題はあるかもしれません。
1.15から対応になったのは、V7,Xb10などのROMバージョンVER01F、Xa/CのTTY06E,VAZ06Eですが、これらと同時期のPCI搭載機種マザーG8UYC、G8VLJ、G8USL(Xt13/C12)も該当しそうです。<12/3追記>Xt13/C12は対応しなかったようです。

EXIDE55XはPCIバスボード用なので、スロットのないPCIチップセットCanbe(Cb3,Cx2,Cx3,Cx13など)は対象外ですが、Cバスボード版では対応可能性を高めておきました。果たして動くのやら。
http://hp.vector.co.jp/authors/VA012947/exiderom/exidecb.html

【2019/3/15追記】 Xa/CのTTY06E,VAZ06E に対応したつもりが、実は正常に動作していなかったようです。ご迷惑をおかけしました。実機なしで作るというのはやはり無謀です。これらに対応しないことを明記して、バージョン1.23としました。

 EXIDE486登場  まりも  2018年12月26日(水) 22:10
PC-9821Ap3,As3,Xe,Xs,Xp,(たぶんXnも可)、PC-9801BA3,BA3など486アーキテクチャ機の後期の機種対応のIDE BIOS容量上限撤廃ROMプログラム「EXIDE486」を公開いたしました(画像1)。2004年頃からAP3EXIDEという名前で中途半端なものを作ってありましたが、ハイレゾで動作していなかったようです(汗。サウンドBIOS誤出現のためパリティエラーが出てしまっていました(画像2)。
今回はそこそこ多くの機種に動的に対応するものにしました。またAp3ではハイレゾモードで動作確認もしました。なお今回Anは対象から外れました。486機ではないしセカンダリIDEがない機種なのでまあいいでしょう・・・
CanbeのPC-9821 Cx,Cb2などは持っていないので対応できませんが、情報ないしは実機提供くだされば対応できると思います。
http://hp.vector.co.jp/authors/VA012947/exiderom/exide486.html
【追記12/30】IDE BIOSに関してXnはXsとまったく同一のようなので、まず対応でしょう。ソースファイルがアップロードできていません。サイトのdisk quotaが一杯だと怒られましたので何かを削ってからになります。

【追記2019/1/24】EXIDE***を全てバージョンアップしました。EXIDE486では9821XsでCPUにDX4を載せるとなぜかSCSIのBIOSが現れなくなる問題があったので調べたところ、486X-MATE全般にどうも他I/O F0の機能に他の機種と互換性がない点に気がついたので、回避策を入れました。

【追記2019/2/4】EXIDE486でAnを対象機種に追加しました。AP3EXIDEのときには対象だったのですが、ROMサイズが4KBを超えそうなので外していました。しかしサイズ縮減でなんとか復活できました。

【追記2019/7/27】EXIDE486でAnのIDE転送速度を5割高速となるようにしたほか、An以外の機種では120MBの低容量HDDまで使用できるようになりました。またバージョン2.07のソースを掲載しました。

 EXIDEPCI機種用を更新   まりも  2019年4月21日(日) 0:29
EXIDECB 1.30
http://hp.vector.co.jp/authors/VA012947/exiderom/exidecb.html

EXIDE55X 1.30
http://hp.vector.co.jp/authors/VA012947/exiderom/exide55x.html
Xa7〜10/CモデルのG8TTY, G8VAZに今度こそは対応しました。Xa7eやV7のG8UYCやG8VLJは持っていないので、対応できているかどうかわかりません。Xt13/Cは対応しないことが判明しています。WildcatチップのCanbe Cx2,Cx3,Cx13が対応するかも不明(期待度は高い)。

 EXIDEAe、EXIDE486更新  まりも  2019年9月6日(金) 15:30
Ap/As/Ae用のEXIDE ROMアプリケーションです。大熊猫さんパッチに従っており、IDE port,MA/SLごとのパラメータ格納域を持ちませんので、スレーブ対応への流用ができる構造になっていません。
http://hp.vector.co.jp/authors/VA012947/exiderom/exideae.html

EXIDE486は Canbe 9821CxのIDE BIOSがXsなどと全く同じであることがわかったので、対応と明記することにしました(2.10)。Cs2の対応可能性がわかっていませんので、情報くださるとありがたいです。
http://hp.vector.co.jp/authors/VA012947/exiderom/exide486.html
# スパム対抗上げ

 Cs2ですか  MILLENNIUM  2019年9月8日(日) 18:41
愛機Cs2が目につきましたので近く試してみます。
Cs2は544MB機ですがどうなりますかねぇ。

 EXIDEAeでは  まりも  2019年9月8日(日) 22:58
MILLENNIUM様、返信ありがとうございます。
Cs2は544MBどまりでしたか・・・
ではEXIDE486はダメで、EXIDEAeのほうが可能性あるかもしれません。EXIDEAeは9801初代BX/BS/BAでどうなのかも気になっています。

 uPD2364EC…  MILLENNIUM  2019年9月9日(月) 18:06
EXIDEAeが可能性ありですか。詳しくありがとうございます。
初代BAのCPUのないものがあるので、ちょっとこちらもできれば試してみたいところです。

ROMボードに8インチフロッピーインターフェースを使おうと思ったのですが、そのROMがuPD2364ECというものでした。2364マスクROMなのに28ピン?
なんですか、この子。

 PC-9801-15相当品だと  まりも  2019年9月11日(水) 0:14
8インチフロッピーインターフェースとは、PC-9801-15互換の「1MB FDDインターフェイス」でしょうか?、98本体のFDD I/FとI/Oアドレスが競合するので、これは9801E/F/VF/Uぐらいでしか流用も使用もできないです。
ただしCバスのピンのIOR,IOWをマスク(絶縁)してしまえばI/Oに応答できなくなるので、本体内蔵FD I/Fと競合せず使えると思います。

なのですが、、、Ce2/Cs2ってCD-ROMがATAPI、つまりIDEはプライマリとセカンダリがありますよね?そうするとEXIDEAeもダメです。おそらく、9801BX2/BA2/BA2, 9821Be/Bs/Bp/Bfと同世代だと思いますが、これに該当する機種のEXIDEは作っていません。
とりあえず「REI」ならば使用できるんじゃないでしょうか。

 まさにそれで  MILLENNIUM  2019年9月11日(水) 21:33
まさしくPC-9801-15と、同じくuPD765を載せた相当品のROMを変えて流用しようと考えていました。それも9801Fに使用していたものです。
なるほど、今環境では使えないのですね。

REIというと…「にもかかわらずamiware」でしたかね、20年ほど前に使った記憶があります。確かに544MB超いけましたが、その後常用せず今に至ります。
当時の記録やデータはほとんど捨て、またはクラッシュして手元にないのが残念です。

 Realtek8139 ROMライタで読むとき  まりも  2019年11月15日(金) 0:51
回路図にあるようにVppに12Vを印加した状態でread256pという読み込みプログラムを使うと、特定のアドレス2AAAh,5555hの2バイトに書込みが発生し、ROMのデータが変わってしまう問題があります。使わないようにしてください。Vppに5Vを印加した状態であれば書き変わるようなことはなく正常に読み出せるはずです。いっぽうVppに電圧を加えない状態では、27C256に関してはデータの読み出しはできません。

<11月21日追記> 修正版を作成しました。なおROM読み出しプログラムの名前をread256pからrd27c256に変更したほか、27C64〜512までの28pin ROM読み出し用プログラムを追加しました。27C256用以外は、Vppに電圧を掛けなくても読めると思いますが、もし27C64,128が読み出せない場合は、1番pinのA15を切り離して5Vを加える改造を行ってください。

ROMのピン配置や動作論理が結構違うので、まとめた物を画像で置いておきます。

   MILLENNIUM  2020年3月3日(火) 22:03
嗚呼何と追記をなさっていたとは知らず。
画像、非常に役立ちます。プログラムの方、有意に活用させていただきます。

 書き込みツールが27C64に対応  まりも  2020年9月29日(火) 21:58
上のほうのコメントに27C64での結線図があります。rtl8139xxで、これに対応した書き込みプログラムが追加されました。
http://hp.vector.co.jp/authors/VA012947/util/rt8139.html
27C64では、WE#(PGM#)という、書き込み時にLOWアクティブになる信号があります。大概のRTL8139Cボードでは28pin ROMの27番がA14に繋がっていますので、まずその接続を断ち切ってから、8139CのWEBピンと接続します。そうしないとA14がH,WEBがLになったときに8139Cを破壊する可能性がありますのでご注意ください。
なお27C64は一般に非常に古いチップであることが多く、12.5Vで書き込めないものも多いです。アクセスタイムが200nsより遅いものも普通にありますが、Cバスボード用としては動作しない可能性があります。とくに27C64である必要がないならば、27C256を使うべきです。

 プログラム追加お疲れ様です  MILLENNIUM  2020年10月2日(金) 23:44
128/64書込み対応、お疲れ様です。
配線方法も詳しく有難う御座います。

 残るは27C512  まりも  2020年10月3日(土) 21:54
28pin ROMについて残るは27C512なのですが、比較表のとおり OutputEnableがVppと兼用になるという無茶ぶり仕様のため、トランジスタを追加して12V、High(ほぼ5V)、Low(GND)の切り替えをしないといけないんですよね。Highは省略するとしてもトランジスタを制御して12V,Lowの切り替えが必要で、ネットワークカードへの細工の工数が格段に増えます。
手動のスイッチで12V,0V切り替えてしまう方法は工作が簡単ですが、書き込みプログラムのフェーズの進行ごとにパチパチ切り替えるという野蛮な作業を強いることになります。

しかしEXIDE目的では、27C512の容量が必要かもしれないSCSIボードはLogitechのLHA-201/20B(ROMが1個のバージョン)ぐらいのものです。DIP-SW設定をいろいろ変えてみれば27C256で16KB単位で書き込んだデータの上下いずれかが現れます。

 追加I/OにCOMとかLPTは?  かかっくん  2020年11月20日(金) 0:41
> 手動のスイッチで12V,0V切り替えてしまう方法は工作が簡単ですが、書き込みプログラムのフェーズの進行ごとにパチパチ切り替えるという野蛮な作業を強いることになります。

COMとかLPTは遣えませんか?特にあまり使い道が無い2ndCCUとか。レシーバだけなら232石にチャージポンプCは
不要です
# 232石は75189/1489でも良いですが

確か27C64A/27C128Aが12.5Vだったやうな?

 論理反転とレベル変換  まりも  2020年11月22日(日) 0:54
制御信号が足らないわけではないので、他から引っ張ってくる必要はないです。8139から出ているWEをVpp/OEの制御に回せばいいだけです。ロジック表を見ると12V印加のときにWEと同等の振る舞いで書き込みができるようです。印加持続時間がWEのパルスと同じでいいのかわかりませんが、データシート通りにやればいいでしょう。
NPNトランジスタのベースにWEを入れるとしてコレクタ側に12Vがかかるようにするには、もう一段非反転バッファが必要です。トランジスタ一個じゃ済まないのがどうも面倒です。本当なら12Vより少し高めでなきゃいけないところ、エミッタフォロワーでは電圧ロスが大きくて12Vよりかなり下りそうです。最終段PNPで三個になりますかねぇ。

 WEで直接PMOSをドライブ...は無理か  かかっくん  2020年11月22日(日) 2:40
思い出しました。CMOS品は12.5V/12.75V近辺で、21VなのはNMOSで末尾にAが憑かない2764/27128でした。
秋月ROMライタを改造して27C512迄焼けるやうに(RAMは62256の儘なので2パス)した時の事を思い出しました。

電圧降下対策にはNPN(NMOS)+パワーPMOSとか?WEはアクティブLですが、ソース(エミッタ)が12V(位)
ですからHレベルでも導通してしまい、直接のドライブは無理ですね。74ALS07とか<del>4050Bとか</del>ですかねぇ?
# HC07はドレイン→VccにDiが有り7407の代用にならないとの事。余計な事しやがって
7S04+NMOS+プルアップR+パワーPMOSですかねぇ?
あとはコンパレータを遣う手が有りますね。コンパレータならVthが可変ですし反転も非反転も自在ですし
でも遅いか
LM393はTTL入力で300nsだそうです。遅ぇ...
でも一般品は1.3〜1.5μs位のが多いので300nsは速い方のやうで。
もっと速いのも有りますが12Vで使えない(5Vとか±5Vとか)のが多いので。
速いのは数nsとか数百psなんてのも有りますね
# よく考えたら電源電圧が同じならプッシュプル出力でも良いですね。でもレールtoレール(フルスイング)でないと
# MOSのドライブには不適な気が(max +V-3Vだとソース-3Vになって導通する気が)
# プッシュプルで良ければレールtoレールOpアンプも選択肢かも
# 見つかりましたが1ヶ¥500強〜¥700強する高価い石です
AD8397 akizukidenshi.com/catalog/g/gI-13302/
ADA4898-1 akizukidenshi.com/catalog/g/gI-15744/
ADA4898-2 akizukidenshi.com/catalog/g/gI-15741/
ADA4625-1 akizukidenshi.com/catalog/g/gI-15785/

Vppが規定より低いと生焼け(電子が規定量入らない→読み込み時のレベルが不定になる可能性)になりそう
なのが不安です

 IDE第2世代(前期)のBIOS  まりも  2020年12月3日(木) 23:12
https://twitter.com/star_alpha2/status/1334490583600009217
9821BとはBp/Bs/Beですよね。たぶんPC-9801BA2/BX2も同じです。それらがmulti 9821Ce2と同じですか。これは対応機種が広いのでなんとかして(入手して)みたい気がします。ご要望頂いているCs2がCe2と違うらしいという情報が少々残念。「違い方」にもよります。この世代の機種の最大の難問は、IDE BIOSに空きがまったく無いらしいことです。あまりやりたくはないですが、CバスROM上に一部のルーチンを置いて常時呼び出さざるを得ないでしょう(速度低下が予想される)。

 レイのブツが  かかっくん  2020年12月5日(土) 21:14
何かレイのアレが出そうな予感
twitter.com/star_alpha2/status/1334876922950471680

 SOP44リムーバブルソケットが要る  まりも  2020年12月5日(土) 22:17
28F400や29W400などの高級なワードFlash ROMのピン配置は、SOP44をDIP 48に直変換したものについては、右寄せでズラすことでそのままD27C4000配列の40ピンに載りますね。失われた4pinは書き込み時以外に使用しないので問題無し(プルアップ処理は必要ですが)。

>何かレイのアレが出そうな予感
バイトアクセスしかできないらしいROMライタTL866CS用に、D8-D15省略で32ピンに変換する基板を作るのだと思います。個人的にはintel 百円NICでやりたいので、PLCC 32のソケットにスポッとはまる何かがついたのがあれば嬉しいですが、そんなのはないですよね。画像は何かを始めようとして配線が面倒になり2年くらい放置になっているモノです(汗
そうこうしているうちに眼が悪くなってやる気が低下してしまっています。

SOP44の取り外し可能ソケット(いい奴はめちゃ高価、画像のは安いモノ)もないとなかなか手出しできないと思いますね。FlashROM搭載機だと、マザーから取り外し、ライタ基板に取り付け、(ライタで焼く)、そこから取り外し、マザー(またはピンアダプタ)に取り付け、と4回はんだごてを当てないといけませんから。D27C4000搭載機だと最初の2回は不要ですが、新品の28F400がなかなか入手できずジャンク98マザーから剥がすなら同じことになります。マーケットとしてはどうなんでしょう。

それにしても第2世代B-mateのD27C4000のデータの物理配置が知りたいです。上位か下位2Mbit未使用にしているのか、データbitの上位側8bit未使用にしているのか?本当に何かのデータがあって4Mbit使っているのか?

 Bs  リウ  2021年2月8日(月) 12:50
私のところでの解析が終わったら送りつけましょうか?
絶対使わないという自信があります。

住所知られて困るという話になるなら撤回して削除します。

 Bs中継  まりも  2021年2月8日(月) 17:24
送りつけて頂きたいのはwite back可能なDX4 SK096かもしれせん(笑)、それかSASIだかSCSIだかわからない謎ボードなども?

我が家はもう本体軍備増強が禁止なので、頂くとすると東の保管所ですかねぇ。98が30台くらい置けそうですがコロナのせいでアクセスしにくくなっています。

ところでそろそろBな機種シリーズ対応のIDE BIOS LBAパッチが完成ということですよね。これで544MB->4351MBはOKになり、REI相当のものは要らなくなりそうですが、一昨年に作っていたREIの真似版は公開のチャンスがなくなりそうなので、公開にしておきます。LBA BIOSまでのほんのつなぎでしょうけど、今日にも使いたいという人もいるかもなので。
http://hp.vector.co.jp/authors/VA012947/exiderom/exide544.html
ちょうど年号が令和になる頃に作ったので、REI+(レイ和)にしようとしたのですが、なんのプラスになるものもないので、その名前はやめにしたという経緯が、、、