件名
470/1K で DUMP(ReadCycle動作)ができましたら、そのPC(PRNポート)は、その値でOKです。
#WP(7),#TBL(8)が Low になっている場合は、ハードウェアプロテクトがかかった状態で消去、
焼き込みができなくなっていますで、High になっていることを確認してみてください。
W49N002 -> ? 。たぶん W49V002F(FWH), W49V002A(LPC) 。
ID を LPC_ID で読めたのなら W49V002A。
(LPC_DUMP,LPC_READ,LPC_COMP,LPCERASE,LPCWRITE)
SST49LF040 -> 4M LPC。
(LPC_DUMP,L4M_READ,L4M_COMP,L4MERASE,L4MWRITE)
http://www.sst.com/products/datasheets.xhtml
W49F002 -> +5VパラレルフラッシュROM。
これは、対象外で、stdflash の方になります。
もうちょっとです。
470/1K にして動き出しましたがまだ書き込めていません。
1.W49N002AP ID読めましたが書き込み、消去,読み出し,エラー
2.SST49LF040 CLKの抵抗デフォルト 読み出しのみOK
3.W49F002UP128 IDすら読めない
こんな感じで足踏みしております。
3は初見の型番です。あとは何なんだろか?
BATファイルのみでの結果です。
かぁたんさん、こんばんは。
CHKVOLT でのテストは、READ テストの時は、D0-D3信号が
PRN側が1.7、1.8V 前後、ROM側 1.1、1.2V 前後だと、
ROMを認識すると思います。
D0-D3 抵抗値 470/1K だと、その付近に値なると思います。
試してみてください。
tkonさんご無沙汰しております。
以前にメールしたことありますがもう忘れられちゃったかな?
ようやくライターを組んだのですが、
よくわからないのでお教えください。
TESTプログラム時、CHKVOLTの2つめの出力テスト時は、
2.2v位のところにいるのですが、
READテストの時も2.2vになります。(抵抗値2.2k/1k)
470/1kはまだためしていません。
ILMさんの「BIOSでパラレルモードをECPに変更しましたら・・」も特に効果なし。
何か「ケアレス」あるようでしたらよろしくおねがいいたします。
ILM さん、復旧Job お疲れさん。
最近のフラッシュROMは、なんか変な振る舞いをしますが、
復旧という結果がでましたので、めでたしでした。(^ ^)/
jji1234 さん、こんにちは。
たぶん、3つの内容だと思います。
1、nf7-2.0 でROMライタがうまくいかない。
2、bios を編集する。
3、4M==>2Mで編集する。
1は、ROMライタの抵抗値 R1/R2は、PCのパラレルポートスペックに依存します。
CHKVOLT で、CMOS 入力、ROMのVCC3Vでは、1.5V前後の値で利用できますので、
その条件ができる抵抗値 R1/R2 で無いとうまくいきません。
2は、Binary Edit の Editor を使ってください。
3は、ROMの焼き込み xxxWRITE.BAT で、"-A:" アドレスと "-S:" のファイルスキップで、
自在に扱えます。
PS.
うっ、電車男映画版をTVで見ました。
出来が良い。すごく出来が良い。故伊丹十三監督ぐらい出来がよかったです。
自分としては、秋葉原、エレクトロニクスオタクだと思っていますが、表現、演出、雰囲気がそうです。
監督good job。
電車男TV版は、一話の半分しか見てませんが、内容がヒデーと、ヒロイン役を売り込むだけの作品に見えました。
原作を水増しするにしたって、いくらなんでも監督に才能無さすぎと思った作品。
映画版は、DVDを買ってしまいそうなぐらい、出来がよかった。
tkonさん、先ほど注文していたROMが届いたので早速、焼きました。
COMPでもエラーは、出ずPCもちゃんと起動しました。
これで、49LF004Aに対しては問題ないです。
どうもありがとうございました。
こんにちは?tkonさん.
tkonおかげで 3.3V rom writerよく使っています。
どころが nf7-2.0 mother board ええ立つ動さないです。
^^ 古い型 mother board よく動します。
それから bios を編集する program 必要します。
頼んでもよいでしょうか?
nf7-2.0 bios 4M==>2Mで編集すると思いますて。
tkonさん、アドバイスありがとうございます。
ソフトは、konflash v0.14を最初から使っています。
問題のW39V040はどうも壊れているようです。
元々、W39V040が付いていたPCのBIOS用に82802を使って試してみると
ちゃんと起動しました。但し、その82802はCOMPではエラーだらけです。もしかするとライターのリード側に問題があるのかも知れません。
とりあえずW39V040の代わりのROMを注文したので届いたら試してみます。また、結果が出ましたら書き込みます。
まず、ソフトは、konflash v0.14 ( http://park2.wakwak.com/~tkon/konflash051229.lzh )を
使ってください。
次に、フラッシュROMの種類を分けると、
SST49LF002
FWH 2Mで、利用するバッチファイルは、FWH\FWH_xxx.BAT 郡。
Intel N82802
N82802タイプ 4Mで、バッチファイルは、FWH\N82_xxx.BAT 郡。
読み取りは、FWH_DUMP/F4M_READ/F4M_COMP を使う。
N82WRITE.BAT のデフォルトの焼き込みが遅いので、
バッチファイルの中の "-W:0" のオプションを "-W:3" に調整してください。
W39V040
LPC 4Mで、利用するバッチファイルは、LPC\L4M_xxx.BAT 郡。
ハードウェアは、SST49LF002 が読み書き出来ていますので、正常動作していると思います。
R1/R2の抵抗値もPCに正しく調整できています。
たぶん、ソフトを konflash v0.14 を使ってもらうのと、ROMの種類によって、使用するバッチファイルを
分けて使ってもらうと、うまくいくかもしれません。
すみませんが、もう一度 ERASE をしてみてください。
tkonさん、入れ違いにお返事ありがとうございます。
先ほど、書き忘れたのですがERASEがまずおかしいです。
49LF002の時は、ERASEの時に自動で最終アドレスまで進みますが82806とW39V040の時は、Any key がアドレスの区切りごとに出てきます。
正常にERASEが出来ていないように思います。
SST49LF002は、問題なく焼く事が出来ました。
しかし、4MタイプのN82802ABとW39V040で試すと焼き込み時のエラーは
出ませんがCOMPすると、最初の一部を過ぎると殆どがコンペアエラーになってしまいます。
まだ、調整が足りないのでしょうか。CLKの抵抗値を変えても影響は無いようでした。
いずれの場合も、IDはちゃんと取れています。
23番の#LFRAM/#FWH4と2番の#RESETの抵抗値は変えていません。
何か、改善のヒントがありましたらお教えください。
よろしくお願いいたします。
ILM さん、こんにちは。
ハードウェアは、数値をみると、ちゃんと動作しているように見えます。
LPC の4MフラッシュROMでしたら、手順として、
1.データ表示 "LPC_DUMP FFF80000 80000"
2.ID表示 "L4M_ID"
3.データ保存 "L4M_READ oldbios.bin"
4.データ比較 "L4M_COMP oldbios.bin"
5.消去 "L4MERASE"
(数秒待ち)
6.消去チェック(全て 0xFF) "LPC_DUMP FFF80000 80000"
7.焼き込み "L4MWRITE newbios.bin"
8.データ比較(2度チェック) "L4M_COMP newbios.bin"
--現行のソフト-----------------------------------------------------
konflash v0.14
http://park2.wakwak.com/~tkon/konflash051229.lzh
BIOSでパラレルのモードをECPに変更しましたら動作しました。再度、電圧チェックをして確認して見ます。ありがとうごさいました。
PCのBIOSを飛ばしてしまって困っています。検索をしていて簡単なROMライターの製作を見つけました。早速作成し、調整していますがうまく動作しません。TEST.EXEでHIのチェック時に2番23番13番14番15番17番が2.1Vから2.2Vです。31番は、4.75Vです。HIとして2.1から2.2VでOKなのでしょうか。CHKVOLT.EXEでは、PRN側1.89V ROM側1.28Vです。抵抗は、470/1Kにしています。次にL4M_ID.BATを実行するとError:did not set"PS/2 Parallel Port"!!となります。何か原因となる要素がありましたらお教えいただければ幸いです。よろしくお願いいたします。
ビートさん、どうも。3週遅れのACKですみません。
たぶん、ROMライタは、自分のイメージ通りに作って動かすと面白いと思います。
今季の田植え終了。
一発除草剤の撒布終了。
草刈シーズン突入。
ちょっと余裕がでてきました。
やっと、ビールがおいしいシーズンに入って来ました。
BIOS書換え中にエラーになり簡易ライターを探してここに来ました
すごく簡単なので基板から部品取りしているところです
PLCCのソケットを外しましたが1本ピンが抜けてしまった・・・(泣
旧タイプと共用にできないもんですかね
74VHC574とか使えば5V⇒3V変換もできるみたいだし・・・
できあがったらまた書き込みます
ありがとうございました
幸福湯さん、はじめまして and Good job ! おつかれさんでした。
こちらも、掲示板情報をROMの型番等にまとめてみたいのですが、現在模索中です。
たぶん、データベースに掲示板情報をいれて、複数インデックスをつけて、Web参照ぐらいかなあ。
--現行のソフト-----------------------------------------------------
konflash v0.14
http://park2.wakwak.com/~tkon/konflash051229.lzh
stdflash v0.2c
http://park2.wakwak.com/~tkon/std_ll050731.lzh
(バッチファイルの一部は、まだマージされていませんので、v0.1 のものを使用)
お騒がせしてすみません。m(-_-)m
発言番号227 の atat さんの方法で大丈夫です。
作業前に全発言に目を通していたのですが、その時が来ないと気がつかないものですね…
ありがとうございました。
ちなみに D0-3 の抵抗値は 1K/330 にしています。2.2K/1K では少しエラーが出ていました。
> 不思議なのは 82802 でも 49LF004 でも FWH_READ.BAT ではデーターの半分(256KB)しか出てこないことです。
F4M_READ.BAT でやったら正常でした。49LF004A の方も読めました。
初めまして、tkon 様、お世話になります。
「あんちょこフラッシュROMライター」作りまして、49LF004A を復活させようと苦戦しています。
手持に N82802AB があり、これだと正常に書込みでき、COMP も終了します。
ところが 49LF004A ですと
*** write 00000H-07FFFH *** は done
*** write 08000H-0FFFFH *** に切り替るときに Error
FWHERASE.BAT では FFFC:3FFF まで正常、その後 Error です。
不思議なのは 82802 でも 49LF004 でも FWH_READ.BAT ではデーターの半分(256KB)しか出てこないことです。
でも 82802 では FWH_COMP.BAT は正常に終了します。
配線チェックし、各抵抗値を変化させ D0-3 の電圧等変えてみたのですが変化ありません。
最初、マザー(MSI 865G Neo2-PLS)から外した ROM が不良と思い、新品の ROM を購入したのですが同じです。
W:1 から W:3 にしても同じ、CLK:560ohm/NC にしても同じでした。
Error が安定しているのでノイズでもないようだし、やっぱり D0-3 の電圧設定でしょうか?
よろしくお願いします。
414-424 のボット等と思われるスパム投稿を削除しました。
対処方法をいろいろ考えたのですが、現行の掲示板では、改良等の変更ができないので、
あきらめました。
たとえば、
1.投稿キーを組み込み、書き込み時に1ステップおく。
2.URL の記述が同じ文字だったので、perl コードに直書きでキャンセルさせる。
3.別に掲示板を使う、または、作る。
前に、win32+apache+php+MSDE で掲示板を作ったことがあるので、自宅サーバを使う。
4.プロバイダをなんとなく YahooBB に変えてみる。
など。
でも、やっぱり手動で削除。削除跡がキタナイのが、どうしようもなく悲しい。
がんまさん、ぱぱやんさん、こんばんは。
情報ありがとうございます。データシート見つけました。
自分は、メーカー直のHPか、グーグルの検索でした。
メーカーのHPが解らないと、たどり着けずにいます。
VPP は、通常の読み取り動作は、low(GND)で、書き込み(焼き込み)等で12Vのようです。
コマンド関連が他の類似しているROMをチェックしてみますね。
おばんです。
やっぱVPPに12Vを入れっぱなしではマズイですか...。
ん~ また改造するとノイズで悩まされるような気がするけど...
その前に正常なVPPピンを持つROMを探さなくては....
がんまさん データシート入手先ありがとうございます。
ちなみに当方は下記で入手しています。
http://www.datasheetarchive.com/index.html
この手のページは複数抑えておくと便利だと思います。
tkonさん、こんにちは。
既にご存知かもしれませんが、データシート検索には
上記URLが便利です。
使い方は下記のとおりです。
1.ページ上部の空欄(”Produced by”の左側)に型名を入力して「SEARCH」ボタンを押す。
2.メーカーを確認して「PDF」のアイコンをクリック。
3.”Download”のpdfリンクをクリック。
秋月電子通商の部品詳細に何気なくリンクが張られていて
その時発見しました。
今までで数十件検索しましたが、約90%以上はヒットしている
気がします。無かったデータシートの方が圧倒的に少ないです。
但し、英語のデータシートしか閲覧できないのが私には
難点なのですが...(^^;;
ぱぱやんさん、おばんです。
MX28F2000 のデータシート、まだ見つけ損ねています。
たぶん、12Vの部分は、焼き込み時のVPP(プログラム)のみで、
他は5V供給の5V品と思います。
もし、現行のROMライタで、簡単に行うとしたら、焼き込みの時だけデジトラを外し、
CE 手動を有効にして、CE を要求するときに、VPP の電圧を12Vにトグルスイッチ等で
切り替えるなどの全部手動型で。
レギュレータIC等を使って5V<->12Vを切り替えるようにしてもよいし。
でもやっぱり、ピン仕様が同じで5V単一のフラッシュROMで置き換える方が無難なような気がします。
がんまさん、おめでとう。 ( ^▽^)/ god job!
フラッシュROMを復旧して、電源を入れて、機器が息を吹き返した時は
なんとも言えない満足感がありますよね。
このROMライタで、富士通&スパンション系(16bit/8bit)のフラッシュROMは、
いままで実績が無かったのですが、よくぞ読み書きしてくれて、感謝してます。
この調子だと、このROMライタで8Mバイト(64Mビット)まで対応できそうな感じです。
まずは、お疲れさんでした。
以前の書込みを見ていたら12V品でも読込みは可能のようですね。
と言う事は、ROMが死んでいると思った方が良いですか....。
同じRevの同じマザーボードだったので同じFlashROMが使用されていると思っていましたが、違うBIOSROMがのっている事もあるようですね。
BIOS自体でFlashROMをいくつかサポートしているのはわかっていましたが、今回は5V品と12V品の混在が確認できました。
話は変わりますがFWHの方でコンペアチェックまで正常に終了したのですが、なぜか起動できません。
物はN82802ABで正常起動するFWHを読み込んだデータを使用。
※読み込んだ後、コンペアチェックOK
別のFWHにそのデータを書き込んでPCに組み込んでも、まったく起動しません。
最初はパーツの接触不良を疑いましたが違うようです。
ROMの不良?
コンペアチェックが通ってしまうので???
tkonさん、まいどです。
旧ROMライターについて質問があります。
対応としては5Vのものとなっていますが、12Vのものは読込みすらできないのでしょうか?
MX28F2000というROMを使ったのですが、データシート上12V品となっています。
ピンは1番ピンがVPPである以外あとは同じです。
そこで読込みくらいはできるだろうと思い試してみたのですがIDがFFhで正常に読み取れていないようです。
タイミングが合わないのでしょうか?
それともただのROM不良?
ちなみに書き込む場合はVPPに12Vを放り込めば良いのでしょうか?
>ROMなしの振る舞いなので、こちらでも後で確認してみます。
CEをA19に接続しなおしてみました。
ROMあり/なしかかわらず、STD_Read、LL_Write、LL_Id等の実行時、
確かにCEボタンを要求されませんでした。
( フルオートでこれは便利ですね (^^ )
以下、あまり関係ないと思われますが、
当方のバッファはLCX245を使用しております。
LCX245の電源は3.3V
LCX245 G > GND接続
LCX245 DIR > OE(#AUTOFD)接続
です。
A23-CE仕様を公開して頂けると大変嬉しいかもです (^^
>また、本当に私にとっても有益なROMライタをご掲載頂き、
>ありがとうございました。
「有益」=書き込みサービス等の商売する意味では毛頭ありません。
(恐らく、手間ばかり掛かって儲からないと思っています。)
・FLASH ROMについて、少しだけですが勉強できたこと。
・後のハード開発に非常に役立つ可能性があること。
が私にとっての大きな利益です。
ですが、一番の有益は
「とにもかくにもFLASH ROMが読み書き出来て便利で面白いこと」
これに尽きます (^^
私も、tkonさんのようなエンジニア目指して頑張りたいと思います。
tkonさん
おかげさまでROMプログラム後は、換装作業もサクっと終了し、
換装後は余りにもあっさりとHDD PLAYERが起動してくれました!!
電源ON直後はファームウェアアップデートにより、
今まで見たこともない映像が静止画としてモニタに映し出された為、
その瞬間は起動している事が理解できず、少したってからいつもの起動音
( "チーン♪" という、まるで電子レンジのようなとてもチープな音なのですが...(^^;; )
がしたため、「おぉ~、起動している!!」とその時改めて感動しました。
動作もバッチリで、今まで文字化けしていた日本語フォントにも
対応して
言うこと無しです (^^
動作不良時の途中経過報告がPoorで無用な気を持たせてしまって
申し訳ありませんでした。
しばらく、色々なメーカーのROMをERASE、READ、WRITEして遊んでみようと思います。
あるメーカーのROMに対するROMライタの動作テストを必要とされる場合は、
遠慮なくお声を掛けて下さい。
( って、そんな状況まずないとないと思われますが...(^^;;;; )
また、本当に私にとっても有益なROMライタをご掲載頂き、
ありがとうございました。
たぶん、ソフトの起動時に、バッファ245 /G チェック(A19-CE)しているところあたりで、
A19-CE 以外では引っかかっているのかもしれません。
通常のリード、ライトサイクルの CE チェックは、うまく機能しているようです。
ROMなしの振る舞いなので、こちらでも後で確認してみます。
一度、A23-CE の方向でちょい修正しておいた方が良いかもしれません。
(と言っても回路上は、ジャンパー切り替えと、ソフトは、自動チェックを無効など。)
以前、頂きましたアドバイスの中に、
>ROMなし、デジTr ありで "STD_DUMP 800000 100" で CEボタンを要求しないこと。
とあるのですが、CEボタンは下記バッチ実行時のスタート時には
必ず要求されます。
・LL_erase
・LL_Write
・STD_dump
・STD_read
(というかSTD_LL.exe、STDFLASH.exe実行時には全て要求されてるかも)
但し、デジタルTrあり/なしでは、CEボタン押下後の動作が違います。
ありの場合は、スタートするときだけ押下すれば、
自動的に終了までCEボタンの操作の必要は無いのですが
なしの場合は、スタートにみならず、プログラム動作中は常に
CEボタンを押し続けていなければならない
という動作なのですが、これは正常動作なのでしょうか?
(正常動作だと私は勝手に思い込んでいるのですが...(^^;; )
うまくいってよかったです。
こちらは、がんまさんのROMライタの状態が見えず、
ID取得がうまくできていたかどうかの時点で気になっていました。
さて、最終ミッションのROMの換装は、いかな結果に、、、。
tkonさん
暫くプライベートも仕事も忙しかった為、
頂いたアドバイスにお返事できず申し訳ありません。
ROMライタは無事完成しました。
書き込みが不安定だった原因は、どうやら
TSOP変換ゲタのTSOPソケットの半田付け不良(&接触不良もかも)
だったようです。(^^;;;;;
TSOPソケットの隣あったデータピン間に数MΩの抵抗があるのを
発見し、どうも怪しいと感じた為、カッターの刃で半田付け
された全ピンの間を数回切り付けてライタに実装。
すると、いとも簡単にLL_erase、LL_Write、STD_compもOKとなりました。
半田付けには少々自信があったのですが、やっぱり
0.5mmピッチを甘く見てはいけなかったようです。(反省)
色々と不良解析のアドバイスして頂き、(TдT) アリガトウございました。
また、お騒がせしてすみませんでした。m(_ _)m
後ほど、書き込み完了したROMを交換してみます。
消去と焼き込みは、ソフトウェアプロテクト機能がある場合は、無効になりますが、
MBM29LV800 は、工場出荷時は解除設定のようですが、中古のフラッシュROMでも書替え利用だと
思いますので、プロテクトない内容で進めます。
LL_ERASE.BAT は、
---------------
..\STD_LL 003F 800AAA,AA 800555,55 800AAA,80 800AAA,AA 800555,55 800AAA,10
@pause
..\STDFLASH -T:38 -Q:1 -A:800000 -C:10000
@pause
..\STD_LL 0001 0,FF
@pause
..\STDFLASH -T:38 -Q:1 -A:800000 -C:100000
---------------
LL_WRITE と同じコマンドを使って1バイトの焼き込みテストします。
"STDFLASH -T:45 -Q:1 -K:1,800AAA,AA,800555,55,800AAA,A0,800AAA,F0 -A:800000 -C:1 -S:0 -F:testfile.bin"
"STD_DUMP 800000 1" で確認。
バッファーを使う場合 /G は、常時 low で。デフォルトの回路では /G イネーブルは、
A19-CE を検知して、内部で余分にクロックを入れて、アドレスを FFF80000 加工しています。
CE ボタンのトグルスイッチは、取り扱いを注意してください。
チップの仕様で、/WE,/OE,/CE = all Low は、ありえない or 禁止になっています。
私の場合は、人為ミスでやってしまう可能性があるため、タクトスイッチで止めています。
タクトスイッチでも、「3.3V 仕様+PRN接続無し+ROMあり+ROMライタ電源ON+
+あやまってタクトスイッチをポチ」で、、、orz。
消去と焼き込みは、ソフトウェアプロテクト機能がある場合は、無効になりますが、
MBM29LV800 は、工場出荷時は解除設定のようですが、中古のフラッシュROMでも書替え利用だと
思いますので、プロテクトない内容で進めます。
LL_ERASE.BAT は、
---------------
..\STD_LL 003F 800AAA,AA 800555,55 800AAA,80 800AAA,AA 800555,55 800AAA,10
@pause
..\STDFLASH -T:38 -Q:1 -A:800000 -C:10000
@pause
..\STD_LL 0001 0,FF
@pause
..\STDFLASH -T:38 -Q:1 -A:800000 -C:100000
---------------
LL_WRITE と同じコマンドを使って1バイトの焼き込みテストします。
"STDFLASH -T:45 -Q:1 -K:1,800AAA,AA,800555,55,800AAA,A0,800AAA,F0 -A:800000 -C:1 -S:0 -F:testfile.bin"
"STD_DUMP 800000 1" で確認。
バッファーを使う場合 /G は、常時 low で。デフォルトの回路では /G イネーブルは、
A19-CE を検知して、内部で余分にクロックを入れて、アドレスを FFF80000 加工しています。
CE ボタンのトグルスイッチは、取り扱いを注意してください。
チップの仕様で、/WE,/OE,/CE = all Low は、ありえない or 禁止になっています。
私の場合は、人為ミスでやってしまう可能性があるため、タクトスイッチで止めています。
タクトスイッチでも、「3.3V 仕様+PRN接続無し+ROMあり+ROMライタ電源ON+
+あやまってタクトスイッチをポチ」で、、、orz。
おはようございます。
まず、前の問題は CEボタン(CEライン)は、STD_DUMP や STD_READ ではアドレスを指定で
デジタルTrでイネーブル(Low)が出来ているのに、LL_WRITE だと有効にならず、
手動CE の操作になってしまう。
CEへの出力は、prn側 ACKNLG で検知していて、デジTr あり、なしをチェックしています。
その正常動作を確認するために、
ROMなし、デジTr なしで "stdflash\boardtst\TEST_SW.BAT" が正しく動作すること。
ROMなし、デジTr ありで "STD_DUMP 0 100" で CEボタンを要求すること。
ROMなし、デジTr ありで "STD_DUMP 800000 100" で CEボタンを要求しないこと。
次に、確認することは、コマンド入力が有効かどうか確認するため、ID取得を行います。
LL_ID.BAT は
..\STD_LL 0007 800AAA,AA 800555,55 800AAA,90 800000 800002
..\STD_LL 0007 800AAA,AA 800555,55 800AAA,F0 800000
で 0x04 と 0xDA or 0x5B が表示されれば、AAA,AA 555,55 のコマンドが認識されていると思います。
LL_WRITEのCEスイッチエラーは書き込みコマンドのアドレスが
A23をHIGHにするための800000でなかった為でした。(^^;;
過去ログを読み直して解決しました。m(_ _)m
バッファ回路を追加したのですが、相変わらず書き込みは
不安定の状態です。逆に追加してから、LL_ERASE出来なくなって
しまい、余計不安定になってしまったような...(^^;;;;
う~ん、書き込み不安定を改善するにはあと何が考えられるので
しょうか...?
tkonさんアドバイスお願いします。m(_ _)m
過去ログNo.93を読ませて頂きましたので、
少しやわらかく行きます。(でも、これが精一杯です(^^;)
しかしながら、LL_WRITEでうまく書き込みが出来ないようです。
原因はMBM29PL.32フォルダのバッチファイルをそのまま
アドレスと容量だけ変更して使用していることにもあるよう
なのですが...。
プログラムコマンドは変更しないといけないですよね...(^^;
MBM29LV800ではLL_WRITEの下記行、”AAA,AA,555,55,AAA,A0”
まではプログラムコマンドで同じなのですが、後半の”AAA,F0 ”
を削除すれば宜しいのでしょうか?(自信なさげ(^^;;)
..\STDFLASH -T:45 -Q:1 -K:1,AAA,AA,555,55,AAA,A0,AAA,F0 -A:800000 -C:100000 -S:0 -F:%1
書き込み時間ですが、Win98SE DOS窓と
Win98セットアップCD-ROMブート>[Shift]+[F5]で
COMMANDプロンプトモードで行ってみましたが、
時間はほとんど変わりません。
(上記書き込みコマンドが合っていない為でしょうか?)
また、LL_WRITEでの書き込み時はアドレス800000にしてもCE
ボタンを押しっぱなしにしていないとCEエラーが発生し、
一時停止してしまいます。
こ、これはなぜなのでしょうか...?(汗)
(ライタの製作がマズかったかも(^^;)
また、1MBの書き込みには約30分以上掛かります。(汗)
2Mビットで1分15秒と書いてあったので、単純計算で容量4倍の
5分、PCスペックダウンを見越して最長でも10分ほどだと思って
いたのですが...指が攣りそうでした(笑)
ライタにトグルスイッチが追加されたことは言うまでも
ありません(笑)
書き込みがうまくいかないのは、ノイズの影響ですかね?
バッファ回路を追加したほうが良さそうですね(^^
tkonさんこのような状況ですが、何か良いアドバイスが
ありましたらお願いしますm(_ _)m
tkonさん
旧ROMライタが一応完成しました。
ICはスペック的には問題なさそうでしたので、
HC164を使用しました。
ライタ側のA0のみ FLASHのD15(A-1)、
ライタ側のA1~A22 FLASHのA0~A21(1ビットずらし)
に配線しました。
CEは他の容量のFLASHでも対応できるよう、A23(HC164 13pin)に
割り当てました。(開始アドレス800000としました。)
TESTSTDF.EXEの際、パラレルポートのエラーが出て焦りましたが、
過去ログを読み返し、ECPに設定して回避しました。
テスト時には、A20~22は確認できませんが他はOKです。
A16~19(CE)まで確認できているし、配線を何度も確認して
いるので、たぶん動作OKだと思います。
使用PCはDELL Dimension C(CPU:Pen3-800MHzに換装品)
VAIO(Pen3 850MHz)で動作確認できました。
STD_DUMP正常、LL_ERASE正常。
STD_READも4回ほど読み込んだものをFCしましたが、
全てコンペアOKでした。
上記はバッチファイルはMBM29PL.32フォルダの開始アドレスを
800000、容量を100000として実行しました。
(長くなりそうなので、いったん終了します。)
ぱぱやん、どうもです。
ちょっくら、親戚の結婚式で沼津へ行って来ました。三島神社で行うと雅楽の生演奏付きなのですね。
旧ROM(パラレル物)は、本来はプリンタポートでの直駆動スペックを
持っていませんので、データ読み取り時(ROMからの出力)は、
ノイズで化けたり、駆動能力ダウンでビットエラーになる場合があると思います。
この部分は、メーカーのROMに依存します。
書き込み(ROMへの入力)に関しては、十分ですので、ROM焼き込み自身は、
うまくいっていると思います。焼いた後にデータ比較するときに前記の条件になるため、
ソフトでは、エラーと認識して終了することもあります。
バッチファイル等は、基本的には、私のところにあったROMのものを載せています。
ROMによって条件が違いますので、それように合わせて作ってみてください。
stdflash のバッチファイルオプションは、新しい部分は、
"-K:0,0,0,0,0,0,10,0,FF" ---------------- SST28SF040系
"-K:1,AAA,AA,555,55,AAA,A0,AAA,F0" ----- MBM29PL32系
"-K:1,5555,AA,2AAA,55,5555,A0,5555,F0" -- 一般系
フラグx1(コマンド識別のための入力を使うorNotなど)
コマンド識別x4
プログラムコマンドx2
tkonさんお久しぶりです。
しばらくPCに触る機会も少なくROMライターの方の調整もしていませんでしたが、所有PCの大半がFWHということもありFWHライターを久しぶりに引っ張り出しました。
前回は書込みで失敗していて頭を抱えておりましたが原因が大方つきまいた。
PCの相性がどうも悪かっただけのようです。
(抵抗で調整すれば良かったとは思うのですが...)
現在ROMライター用に低スペックなワンボードマザーに繋いでテストしています。
CyrixGX180MHzを200MHzにクロックアップした化石です。
パラレルポートというわけで低スペックPCでも読み書きに大差が無いのが良いですね。
調子もなかなか良いです。
電源の方はレギュレータで3.3Vに落としてテストしましたが問題ありませんでした。
ちなみに抵抗は1K/440です。
他のPCでは2.2K/1Kでも1K/440でもうまくいきませんでした。
ちなみに当方の旧ROM版はROMによりエラーが出やすいものがあるようです。
ROM自体が悪いのかただのノイズの影響か?
エラーが出やすいもの
Winbond W29C020C-90B
読み書き可能だったもの
Winbond W29C020P-90
SST 29EE010、29EE020,39SF020
AMIC A290021-TL70
ATMEL AT29C020
ASD AE29F2008
※1ピンがNCかRESETかでバッチファイルを大別
ところでいろいろオプションコマンドがあるようですが-W(ウエイト)以外にはどのようなコマンドがあるのでしょうか?
今度はバッチファイルの方をもう少し扱いやすいように改良しようと思っています。
tkon様
有難う御座います。m(_ _)m
頂いた数々の貴重なアドバイスに参考にROMライタ製作を進めたいと思います。
(空いた時間を見つけては製作の繰り返しで、なかなか
思うようには製作が進みませんが...^^;)
おかげさまで復旧のビジョンが見えてきました。
ROMライタが完成したら、動作結果をご報告したいと思います。
こんばんは。
/BYTE ピンは、単純に GND でよいと思います。
データシートの中で入力端子の等価回路が記載されていれば、
オープンなり、プルダウンなりにできますが、GND で。
MBM29LV160 の倍の容量の場合、A20 を Low(GND) で行ってもよいし、または、
1Mバイトの書き込みファイルを連複させて、2Mバイトにし、それをフラッシュROMに書き込む。
この場合、取り付け側のROM A20 ラインが High でも Low でも同じ値で読めます。
そのときのROMライタ側は、CE ラインが HC164(11) A20 ラインが HC164(10)にシフト。
私のところでは、MBM29LV800 系がありませんので試せませんが、そのような方向性です。
tkon様。
申し訳ありません。
書き忘れてしまいましたが、ST M29W800から、
日本語データシートがあるMBM29LV800に変更しようと思います。
(http://www.spansion.com/jp/datasheets/j520888.pdf)
両者はデータシートを見る限り、各制御ピンの機能は互換だと
思われます。
制御コマンドに多少の違いはあるようですが、チップイレーズや
プログラムなどのコマンドは同じようです。
一つ気になるのが”BYTE”ピンですが、やっぱりプルダウンする
必要があるのでしょうか?
また、MBM29LV160(16Mbit)品も数個所有しているのですが、
こちらで8Mbit品として代用する場合は、A20ピンをプルダウン
しておけば動作すると考えて宜しいのでしょうか?
初歩的な質問ばかりで大変申し訳ございません。
お時間があるときにお返事頂ければ幸いです。m(_ _)m
tkon様
こんにちは。
アドバイス誠に感謝申し上げます。m(_ _)m
バイトモード時にはD15A-1>A0(最下位ビット)となるように
なっているのですね。互換品と思われる富士通のMBM29LV800の
データシートとにらめっこしてやっと少し理解しました。
幸いにして、ジャンクパーツのMBM29LV800が入手できましたので、
こちらで動作確認を行ってみたいと思います。
CEは開始アドレスでEnableができるのですね。
ハードはシンプルな構成ながら、ソフトで柔軟に対応できる
ように作られていて、とてもよく考えられていると感心して
しまいます。
ROMライターは只今作成途中です。
早く完成させて結果をご報告したいのですが、
家に乳児がおり、狭い家ですのでなかなか小さな部品を広げてのお店を開くことが出来ず、今はTSOP変換ゲタがやっと完成した
ところで、ライター本体の作成まではまだ手が出せておりません。
動作結果のご報告の際には、またアドバイスを頂くことがある
と思いますが、その際には宜しくお願い致します。m(_ _)m
>> BYTE モード時でデータ D0-D7 8本とアドレス D15A-1 + A0~A18 (1ビットずれる)の19本。
20本。
がんまさん、はじめまして、こんにちは。
M29W800 は、AM29F040B と同じような構成になると思います。
/BYTE モード時でデータ D0-D7 8本とアドレス D15A-1 + A0~A18 (1ビットずれる)の19本。
ROM ライタ側は、HC164からデジタルTrにいくのを A19 に割り当て、
デジTr を外して CE 手動でもよいし、HC164(10) をデジTr に持ってくのも良いです。
まず、試すのならCE手動で動作確認するのが、変更が少なくてよいかも。
HC164(10) をデジTr を使う場合は、開始アドレスは、100000 から。
#SLCTIN(17),#STROBE(1),#AUTOFD(14),#INIT(16) のプルダウンは、
PC PRNポートからの出力をプルダウンするとHighが 3v ぐらいになります。
ROMへの入力電圧をVcc 以下にもっていきます。
私が試した旧マザーボードのROMは、スペック上は5Vですが、
マザーボードでは 3.3Vで使われてたものを、
このROMライタで3.3Vで試した時は、読み取りが不安定でした。
クロック等のタイミングは、調整も出来ますので、HC164でもいけると思いますが、
HC164を他のタイプ AC/LCX/LVX に変えても問題ないと思います。
まず既に書き込まれているROMデータ1Mバイトを STD_DUMP 等で正常に読めるかどうか確認してみてください。
STD_READ のバッチファイルは、8M用に開始アドレス -A:0 or -A:100000 とサイズ -C:100000 の変更です。
STD_COMP も8M用に変更してチェックしてみてください。
DOS ファイルの FC.EXE でのオリジナルファイルとの確認も。
M29W800 と同じスペックのフラッシュROMがジャンク等で入手できるのなら、
まずそれで試して、載せ替えるようにした方がよいかも。
過去ログ(No.323)を拝見しました。
・下記プリンタ側からの信号はプルダウンが必要。
#SLCTIN(17),#STROBE(1),#AUTOFD(14),#INIT(16)
・3.3V電源電圧回路構成。
・3.3VではHC164が不安定になる可能性あり。
というのは理解致しました。
TSOP変換ゲタはもちろん作成致します。
3.3V品書き込み限定使用を考慮した場合、HC164をLCXやLVXで
構成した方が動作安定すると考えて宜しいでしょうか?
以上、宜しくお願い致します。
tkon様
初めまして。がんまと申します。
初歩的な質問で誠に恐縮なのですが、ご教授お願い致します。
実は、URLリンク製品(勝手にリンクしてしまい申し訳ありません)
の日本語化ファームの書き換えに失敗してしまったことが原因で
起動不能となり、大変困っております。
(原因は書くのもお恥ずかしいのですが、恐らく、消費電流大の
2.5'HDDを搭載してファームアップデートを行ったことにより、
電源電圧ドロップ>ライトNGとなったようです(涙)。 )
「復旧させる手段は無いものか....」とネットで検索していたところ、
このような素晴らしい記事を掲載されているtkon様のHPに辿り着きました。
そこでご質問があるのですが、「旧タイプ用のフラッシュROMライター」
でST M29W800の書き込みは可能でしょうか...?
「旧タイプ用のフラッシュROMライター」ではアドレスバスが
A17(A18?)までの仕様となっておりますが、マニュアルでA18を
Enable/Disableすれば書き込むことが出来るのでしょうか?
(M29W800のデータシートを閲覧する限りでは、データバスの
D8~D15はWrite時に使用しない内容が記載されているのです
が、当方英文のデータシートしか検索することが出来ず、
自信がありません。
http://www.st.com/stonline/books/pdf/docs/8156.pdf)
長文誠に申し訳ありません。
勉強不足の当方にどうかご教授お願い申し上げます。m(_ _)m
pin さん、マザーボード復旧、おめでとうございます。
ROMライタ製作、お疲れ様でした。
Pm49FL004 の LPCモードでの正常動作書き込みが、
私のとこ以外で確認されました。ありがとうです。
--現行のソフト--
konflash v0.14
http://park2.wakwak.com/~tkon/konflash051229.lzh
stdflash v0.2c
http://park2.wakwak.com/~tkon/std_ll050731.lzh
(バッチファイルの一部は、まだマージされていませんので、
v0.1 のものを使用)
はじめまして、Pm49FL004 の書込みできました。
使用したパソコンはFMV-6500CL4c(Intel社製 810E chipset)、
D0-D3の抵抗は470/1K、CLKの抵抗は560/NC、使用したバッチは
konflash v0.14からL4M_ID.BAT、PM4ERASE.BAT、PM4WRITE.BAT、
L4M_COMP.BATです。
おかげさまで一年近く放置していたマザボ(パソコン)が復活
しました。ありがとうございます。
はじめまして、Pm49FL004 の書込みできました。
使用したパソコンはFMV-6500CL4c(Intel社製 810E chipset)、
D0-D3の抵抗は470/1K、CLKの抵抗は560/NC、使用したバッチは
konflash v0.14からL4M_ID.BAT、PM4ERASE.BAT、PM4WRITE.BAT、
L4M_COMP.BATです。
おかげさまで一年近く放置していたマザボ(パソコン)が復活
しました。ありがとうございます。
無事に焼けておめでとさんです。(^0^)/
うまくいったことに理由付けを考えると、
電池は化学反応だから、低温だと反応が鈍くなります。
フラッシュROMの半導体のトランジスタ Tr とコンデンサ C には温度特性があり、
Tr の温度特性はスイッチングで使っているので、それほど悪くないと考えられますが、
C の温度特性は、モロ影響します。
それでも、フラッシュROMは、デジタル家電等でも使われれるので、
温度特性が悪いものは、市場に出回ることは無いと思っていましたが、
その SST49LF004A は想定外でした。たぶん、ロット単位で同じようなものが出てると思います。
今後、自分のマザーボードの BIOS をアップデートするときには、
室温を気にしながら行うと思います。
う~ん、デジカメなどは屋外で使うから、札幌雪祭りも撮れないと
意味無いはずだから、温度センサーとヒーターでフラッシュメモリ区画を
制御しているのかな?などと考えています。
確かに暖房の無い寒い部屋でやってました。
そんなわけで、会社に持ってきて焼いてみたところ、暖かいからか、書き込むPCが変わったからかは分からないですが、何事もなく書き込めてしまいました!
良いアドバイスをありがとうございました。
一応書き込めた条件を書いておきます。
ROM: SST49LF004A (377でダメだったヤツ)
D0-D3: 1K/2.2K
CLK: 1K/2.2K
気温: 20度ぐらい?
遅ればせながら、安価で心強いROMライタを公開していただき、どうもありがとうございます。皆さんの役に立つと良いですね。
りょうさん、はじめまして、こんにちは。
まず、ROMライタは正常に動作しています。FWH_DUMP と FWHERASE が
出来た時点で正しく動作しています。
その新品のフラッシュROMは、アドレス FFF8:100D が不良のようです。
さらに、CLK が 1K/2.2K で不動作か、不安定さが出る場合は、
極度にばらついているとも言えます。
CLK が 1K/2.2K で不動作や不安定さが出る場合は、
電池やROM固有の問題で起きる場合があります。
私のところで確認していることで、冬場、寒い時に CLK 1K/2.2K で不安定さを見たことがあります。
ボタン電池とフラッシュROMを人肌に暖めてから動作させたりします。(ROMライタごとでもOK)
アドレス FFF8:100D での不良は、0x0F を書き込んでの 0xFF 読み取りなので、
上位4ビットが異常とも言えますが、大概 ビット単位のエラーは考えられますが、
まとめてエラーと言うよりも、FFF8:100D の位置が不良と考えた方が妥当です。
ビットエラー等の確認テストとしは、アドレス FFF8:100D に 0x00 を書き込んだ後に、
そこを読み出します。
"FWH_LL.EXE 07 FFB80002 @A0 FFF8100D,00 * * * * * * * * * * * *"
"FWH_DUMP FFF8100D 1"
FFF8:100D 以外が書き込めれば、ブートエリアが書き込まれていますので、
PCでのブートが可能と思います。そして、DOSブートで AMI/AWARD
フラッシュツールで再度書き込みをしてみてください。
結果は、同じかもしれませんが、試してみてください。
アドレス 0000H-0FFFFH での残りは、
"KONFLASH -T:24 -Q:1 -W:1 -A:FFF8100D -C:EFF3 -S:100D -R:FFB80002 -F:%1"
残りのブロックも書き込んだ後、F4M_COMP で確認。
マザーボードメーカーサイドの BIOS データで、FFF8:100D の位置が 0xFF で
あるものがあれば、それを使う手があります。
これは、通常通り問題無く書き込めますので、他のバージョンであるかどうか
確認してみてください。
"dump biosfile.bin > a.txt"
でバイナリをダンプして、0000:100D の位置を確認してみてください。
はじめまして。
行き詰まってしまって、お知恵をお借りできないかと書き込みました。
ROMはSST49LF004Aです。
FWH_ID、F4MERASEは動作して、F4MWRITEがうまく動作しません。
KONFLASH -T:24 -W:1 -A:FFF80000 -C:10000 -S:0 -R:FFB80002を実行するとき、
CLKが1K/2.2Kの時は先頭からエラーで書き込めなくて、
CLKが560/NCの時は所々いつも同じところでエラーになります。
次のアドレスからはまた書き込めます。
---- ログ
writing.
FFF8:0000 2F 2F
...(省略)
FFF8:0FFE FF
FFF8:0FFF FF
FFF8:1000 01 01
FFF8:1001 00 00
...(省略)
FFF8:100C 29 29
FFF8:100D FF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF
ERR: 0x80FF - addr 0xFFF8:100D - read, begin TAR1 error !! (retval = 0xFF)
---- ここまで
ちなみにFFF8100Dは0Fhが書き込まれるはずの値です。
D0-D3は470Ω/1KΩで、PRN側1.7V、ROM側1.1V。電池は3.2V。
RESET、LFRAMは1KΩ/2.2KΩのままです。
-Wオプションは0~3まで試してみましたが、変化ありません。
ROMライタは作ったばかりなので、正常動作しているかは疑わしいです。
ROMは新品なので、壊れている可能性は低いかなと思っています。
この状況で、試してみるべき事は何でしょうか?
どうかよろしくお願いします。
tkonさん、明けまして、おめでとうございます。
BIOSを飛ばさない様に気をつけます。
また、何かありましたら、お助けください。
Boow さん、復活おめでとうございます。
もうちょっと早く対応したかったのですが、DOS ソフト用の
環境を作るのに時間がかかってしまいました。
オリジナルのMSVC1.5 CD がファイルエラーになっていたのに
気づくのに時間がかかってしまた。orz
また、何かうごかないフラッシュROMがありましたら、
気軽に書き込んでください。^^
良いお年を。
W39V040APのBIOS 復旧いたしました。
本当に、感謝です。
これで、メイン機が生き返ります。
BATは
L4M_ID.BAT
L4MERASE.BAT
L4MWRITE.BAT
L4M_COMP.BAT
で、いきました。
本当に、有難うございました。
konflash ソフトをアップデートしました。
http://park2.wakwak.com/~tkon/konflash051229.lzh
内容は、ベースアドレスのオプション指定を追加し、
LPC4Mものの対応です。それとバッチファイルの追加。
"L4M_READ.BAT"、"L4M_COMP.BAT"、"L4M_ECHK.BAT"
こちらの動作確認は、Pm49FL004 の LPC モードで行う。
"L4M_ID.BAT"
"PM4ERASE.BAT"
"PM4WRITE.BAT"
W39V040A LPC 4M は、ID取得、消去、書き込みは、
"L4M_ID.BAT"
"L4MERASE.BAT"
"L4MWRITE.BAT"
など。
こんばんは、tkonさん
ご返事いただき、ありがとうございます。
そうでしたか。でも自分にはROMの構造じたい解りません。
ご期待いたして、お待ちいたします。
有難うございました、よろしくお願いいたします。
Boow さん、おはようございます。はじめまして。
まずは、ROMライタ製作、おつかれさまでした。
D0-D3 の抵抗値は、W49V002 で正常動作した値でOKです。
現在の konflash のソフトでは、LPC4M 物は、
LPC_DUMP、L4M_READ 等が使えますが、焼き込みでは、
エラーになるはずです。
現ソフトは、フラッシュROMの制御コマンドに使うときのアドレス空間が
違っているためダメです。LPC2M の初期のタイプは、通常通り使えます。
ソフト内部では、そのベースアドレスは可変になっていますが、起動時
オプション指定していません。指定すればいいだけなのですが、
LPC 4M が手元に無かったので未対応のままでした。
最近、Pm49FL004 のマザーが手に入りましたので、近日中にでも
LPC 4M での動作を確認してソフトの更新をしたいと思います。
ですので、LPC4M は、もうちょっと待ってください。 m(_ _)m
D0-D3の抵抗値は 3パターンともためしました。
D0-D3の抵抗値は 3パターンともためしました。
おかげさまで W49V002AP のBIOSは復旧できました。
続けて W39V040AP のBIOSを復旧しようとしたのですが
復旧できません
LPC_DUMPは取れます。
LPCERASE
LPCWRITEどちらもできません。
LPCERASE.BATは
KONFLASH -T:5 -Q:1 -S:0 -C:100
KONFLASH -T:7 -W:1 -Q:1 -A:FFF80000 -C:10000
から
KONFLASH -T:5 -Q:1 -S:70000 -C:100
KONFLASH -T:7 -W:1 -Q:1 -A:FFFE0000 -C:10000
まで書き直してやってます。
どうしたら良いか、お教えください。
R1/R2 ===> 470/1k
1. F4M_READ old.bin ===>done
2. F4M_COMP old.bin ===>done
3. N82ERASE ====>done (略しても良いですか?)
4. N82WRITE new.bin ===> done (30minutes)
5. F4M_COMP new.bin ===> don
6. F4M_READ new-1.bin ===>done
7. Ultra edit
new.bin new-1.bin comp ===> done
ありがとうございます
OK, you have a n82802 flash-rom.
Next, you test ReadCycle by konflash software.
1. Dump test.
"FWH_DUMP FFF80000 80000"
If you can display text dump without error, R1/R2(D0-D3) setting
matches correctly on ROM-Writer and your PC.
2."N82_ID.BAT"
3.Noise test.
You pick up address of data 0x00 and 0xFF.
"FWH_CHK FFF80xxx 10000" , xxx is address00
"FWH_CHK FFF80yyy 10000" , yyy is addressFF
No bit error and no dump abort, next step.
4.Save old_bios.bin file.
"F4M_READ old_bios.bin"
"F4M_COMP old_bios.bin"
"F4M_COMP old_bios.bin" , 2 times or more.
5.Erase and EraseCheck
"N82ERASE.BAT"
and 0xFF check.
"FWH_DUMP FFF80000 80000" , or
"F4M_ECHK.BAT"
6.You edit "N82WRITE.BAT" for timing adjustment.
A konflash.exe option in a batch file is "-W:0", replace to "-W:3".
** clock pulse width ******
-W:0 ==> 50us/25us
-W:1 ==> 1-2us
-W:3 ==> 6us/3us
***********************
7. Write
"N82WRITE new_bios.bin"
"F4M_COMP new_bios.bin"
"F4M_COMP new_bios.bin" 2 times
I hope you got success !!
thanks~ tkon!
i'm D4-D7 ===>GND
PRN D4-D7 lines are open. ===> ok
itel n82802ab (4M)
Hello Mr. jeong, and greet you visit my homepage !
Normally, "CHKPRNPT.BAT" do outupt next message.
-- On detach ROM-WRITER --------------
prn port = 0x378
ext_ctrl_reg = 0x15
set ecr = 0x34
get ecr = 0x35
...
data read mode
get data = 0xFF -> *** not found Flash ROM writer ***
data write mode
...
-- On attach ROM-WRITER --------------
prn port = 0x378
ext_ctrl_reg = 0x35
...
data read mode
get data = 0xF0 -> *** Flash ROM writer found ***
data write mode
...
/* It also may be "get data = 0xF? *** not found Flash ROM ***" */
Your ROM-Writer did output message that
---------------------------
"ms-dos chkprnpt command"
...
data read mode
get data = 0xf -> *** unkonw data... ***
data write mode
...
---------------------------
I guess problem that D4-D7 were LOW.
At least, D4-D7 chage HIGH, as PRN D4-D7 lines are open.
You may check PRN data line again.
And please tell me your FLASH-ROM device type.
test.exe ===> ok
CHKVOLT ===> rom 1.4V , prn 1.6V
Chkprnpt ===> err (ecp, ecp+epp mode )
"windows98 chkprnpt command"
prn port = 0x378
ext_ctrl_reg = 0xFF
*** other application using this printer port !! ***
-> you use this prn port then "Enter", otherwise CTRL-C
set ecr = 0x34
get ecr = 0xFF
*** set printer mode to "PS/2 Parallel Port" ***
(press ENTER key)
prn test
set data = 0
get data = 0x0
data read mode
get data = 0x0 -> *** cannot use prn... ***
data write mode
not found -> prn port = 0x3BC
not found -> prn port = 0x278
"ms-dos chkprnpt command"
prn port = 0x378
ext_ctrl_reg = 0x15
*** other application using this printer port !! ***
-> you use this prn port then "Enter", otherwise CTRL-C
set ecr = 0x34
get ecr = 0x35
*** set printer mode to "PS/2 Parallel Port" ***
(press ENTER key)
prn test
set data = 0
get data = 0x0
data read mode
get data = 0xf -> *** unkonw data... ***
data write mode
not found -> prn port = 0x3BC
not found -> prn port = 0x278
help me~! ^^
前の記述で、LL_ID.BAT が抜けていましたね。これも、 555,AA と 2AA,55 が必要ですので、
..\STD_LL 0007 555,AA 2AA,55 555,90 0 1
..\STD_LL 0007 555,AA 2AA,55 555,F0
か、または、Manufacturer ID と Device ID を分けて、
..\STD_LL 0007 555,AA 2AA,55 555,90 0
..\STD_LL 0007 555,AA 2AA,55 555,90 1
..\STD_LL 0007 555,AA 2AA,55 555,F0
で、試してみてください。
tkonさん
先ほど作成完了し動作確認させてみました。
LL_ID 実行時に
*** unknow data 0x7 ***
もしくは
*** unknow data 0x5 ***
と表示されます。
回路も確認しましたが、誤配線はないように思われます。
抵抗を一部 2.2kのところ 1Kを使用した為でしょうか。
もしくは、DTE114Eの故障でしょうか。
よろしくお願いします。
tkonさん
ありがとうございます。
早速作成してみようと思います。
はとさん、こんにちは。
AM29F040B は、5V品4Mですね。旧タイプ(標準タイプ)用のフラッシュROMライタです。
http://www.spansion.com/products/Am29F040B.html
コマンド書き込みでは、555,AA と 2AA,55 での操作ですので、前回の MBM29PL32 からの
変更で、LL_ERASE, LL_WRITE で、
( http://park2.wakwak.com/~tkon/std_ll050731.lzh から)
LL_ERASE.BAT (Chip Erase)での変更は、
"..\STD_LL 003F 555,AA 2AA,55 555,80 555,AA 2AA,55 555,10"
LL_WRITE.BAT (Byte Program) での変更は、
"..\STDFLASH -T:45 -Q:1 -K:1,555,AA,2AA,55,555,A0,555,F0 -A:0 -C:80000 -S:0 -F:%1"
となります。
ソフトは、うるのさんの方の SST28SF040 と、こちらの W49F002 は、既に動作確認
できていますので、うまくいくと思いますが、まず、消去でデータが 0xFF になることを
確認してみてください。
tkonさん
こんにちは
初歩的な質問ですが、AM29F040Bはどちら(あんちょこフラッシュROMライター&旧タイプ用のフラッシュROMライター)のライターで対応できますか。BIOSを飛ばす前に予備を作って置きたいので。現在付いているフラッシュにSAVE出来ない、CMOSクリアーしないと起動しない。
よろしくお願いします。
早速のお返事ありがとうございます。
二重書き込みしてしまい失礼しました。
教えていただいたようにやってみたのですが、消去及び書き込み共複数の同じアドレスでエラーとなってしまいます。
全く消去できていない訳ではなさそうですので、チップの死亡が疑われます。
(ACコンセントを抜かずにAGPカードを抜き差ししてしまい、その後動作不可になったものですから)
ハード面の見直し等、もう少し粘ってみます。
ありがとうございました。他になにかアドバイスあるようでしたらご教授願います。
egu さん、はじめまして。
W39V040FA は、FWH4Mのものですね。バッチファイルは、2M用の FWHERASE, FWHWRITE から
変更する必要があります。4Mの扱いは、順番に示していきますと、
"FWH_DUMP FFF80000 80000" - ダンプ
"F4M_READ old_bios.bin" - ファイルへの読み取り
"F4M_COMP old_bios.bin" - データと比較
消去の "F4MERASE.BAT" バッチファイルは、
-------------------------------------------
pause
KONFLASH -T:21 -Q:1 -R:FFB80002 -S:0 -C:100
pause
KONFLASH -T:21 -Q:1 -R:FFB90002 -S:10000 -C:100
pause
KONFLASH -T:21 -Q:1 -R:FFBA0002 -S:20000 -C:100
pause
KONFLASH -T:21 -Q:1 -R:FFBB0002 -S:30000 -C:100
pause
KONFLASH -T:21 -Q:1 -R:FFBC0002 -S:40000 -C:100
pause
KONFLASH -T:21 -Q:1 -R:FFBD0002 -S:50000 -C:100
pause
KONFLASH -T:21 -Q:1 -R:FFBE0002 -S:60000 -C:100
pause
KONFLASH -T:21 -Q:1 -R:FFBF0002 -S:70000 -C:100
-------------------------------------------
"F4M_ECHK.BAT" か、または、"FWH_DUMP FFF80000 80000" で 0xFF をチェック。
消去がうまく行かない場合は、#WP,#TBL がLOW になっているとか、
ロックアウトの状態の場合などが考えられます。
書き込み(焼き込み) "F4MWRITE.BAT" バッチファイルは、
-------------------------------------------
KONFLASH -T:24 -Q:1 -W:1 -A:FFF80000 -C:10000 -S:0 -R:FFB80002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFF90000 -C:10000 -S:10000 -R:FFB90002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFA0000 -C:10000 -S:20000 -R:FFBA0002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFB0000 -C:10000 -S:30000 -R:FFBB0002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFC0000 -C:10000 -S:40000 -R:FFBC0002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFD0000 -C:10000 -S:50000 -R:FFBD0002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFE0000 -C:10000 -S:60000 -R:FFBE0002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFF0000 -C:10000 -S:70000 -R:FFBF0002 -F:%1
---------------------------------------
書き込みは、"F4MWRITE new_bios.bin" 。
最後に、"F4M_COMP new_bios.bin" でデータと比較です。
tkonさん はじめまして。
PCが起動不能となり困っていたところ、このサイトにたどり着いた次第です。
あんちょこフラッシュROMライターを製作し、FWH_IDやF4M_READはできるのですが、FWHERASEやFWHWRITEでエラー表示となってしまいます。
FWHERASE時の表示は
FFFC:0000 43
|
|
FFFF:FFFF XX
まで表示が出続ける状態です。
ERASEとWRITEも、やはり2Mと4MでKONFLASHに渡すアドレス等の設定を変えないといけないのでしょうか?
デバイスはW39V040FAです
お手数おかけしますがよろしくお願いいたします。
tkonさん はじめまして。
PCが起動不能となり困っていたところ、このサイトにたどり着いた次第です。
あんちょこフラッシュROMライターを製作し、FWH_IDやF4M_READはできるのですが、FWHERASEやFWHWRITEでエラー表示となってしまいます。
FWHERASE時の表示は
FFFC:0000 43
|
|
FFFF:FFFF XX
まで表示が出続ける状態です。
ERASEとWRITEも、やはり2Mと4MでKONFLASHに渡すアドレス等の設定を変えないといけないのでしょうか?
デバイスはW39V040FAです
お手数おかけしますがよろしくお願いいたします。
tkonさんこんばんは。とても丁寧な回答をありがとうございます。
色々と試した結果,ROMのビットエラーのようです。
しかし障害となっている個所は,幸いソフト上意味をもたないデータでしたので,BINを "0FFH" に編集し書き込みを行い M/B の動作確認を行ったところ正常に動作しました。
色々な質問に答えていただきありがとうございました。
また,これからもよろしくお願いします。
エラーは、"STDWRITE" でデータを焼き込み途中に起きたものと思います。
たぶん、アドレス 0001:3B30 でのバイト焼き込みがエラーで途中終了したと思います。
エラーの表示自身は、LPC/FWH の konflash の記述が表示されていますが、
"read, begin TAR1 error ..." は無視してください。これは、焼き込みエラーです。
(変な表示は、こちらで、次にソフトをリビルドする時に削除しておきます。)
バイト焼き込みは、実行後に読み取りコンペアして、異なった場合にリトライしています。
32回のリトライして失敗した場合は、エラー終了します。
焼き込み上限にきているか、または、そのアドレス箇所がビット不良を起こしています。
まず、std_dump でエラー箇所 "1:3B30" を確認します。たぶん、何らかのデータが記されていると思います。
焼き込み対象のBIOSファイルを "dump.exe bios.bin > aaa.txt" して、"1:3B30" 位置のデータを
調べます。データを比較して、特定のビットが反転しているかどうか確認します。
エラー箇所を始めからチェックするのでしたら、消去後に、対象アドレス箇所の 0xFF を確認して、
0x00 を焼き込みます。ビットが反転しているところがエラー箇所です。
消去後の1バイト焼き込み
"STD_LL 0003 @A0 013B30,00"
( STD_LL -> http://park2.wakwak.com/~tkon/std_ll050731.lzh )
対処方法は、BIOSファイルの違うバージョンの物を調べ、ビットエラー箇所と同じ値になるものを
調べます。そのBIOSデータを焼き込んでみてください。
現BIOSファイルで何とかしたい場合、ROMライタの電源電圧をフラッシュROMの上限、5.5V近く
まで上げてビットエラー箇所を試すことも考えられます。
tkonさんありがとうございます。
使用しているROMの型番はSST39SF020です。
書き込みのシーケンスがW49F002と同じでしたので,そちらを使って書き込みを行っていました。
他の ROM(MX29F002T)で書き込み,ベリファイが正常に行える事を確認し,再度試してみましたが以下のようなメッセージが表示されます。
ERR:0x80FF - adr 0x1:3B30 - read, begin TAR1 error!! (retval=0xFF)
毎回表示されるメッセージは同じです。
何か解決策はあるでしょうか?
よろしくお願いします。
稲穂さん、はじめまして、おはようございます。
まず、フラッシュROMのメーカー名と型番を調べてみてください。
ROMの表面にシールが貼ってある場合は、半分ぐらいめくると見えます。
例:
メーカー 型番
PMC Pm49FL004
SST SST49LF004A
Winbond W49V002A
など。
ROMライタに書き込むデータは、AMI BIOS データでも、Award BIOS データでも
何でもOKです。データ内容には依存しません。
ある意味では、マザーボードのメーカーとBIOS が異なっていても、チップセットが
共通で、マザーボードの設計が似ている場合は、AMI、AWARD の BIOSを
入れ替えても可能となります。(でも、試すのが怖いですが、。)
tkonさん初めまして。
旧タイプ用フラッシュROMライターの記事を読み「おっしゃーBIOS復活できる!」と思い早速製作し,私も使わせてもらいました。
製作後 GA-7IXE 用の AMI BIOS を書き込もうとしたのですが,「TAR2のヘッダーが見つからないよ!」とエラー文が表示されてしまい,書き込むことが出来ませんでした。
このライターは Award BIOS 専用でしょうか?
よろしくお願いします。
ぱぱやんさん、ありがとうございます。
今年中に、なんとか新ネタをと考えていますのでヨロシク。
アクセス1万件突破おめでとうございます。
これからも宜しくお願いします!
アクセス1万件突破おめでとうございます。
これからも宜しくお願いします!
感謝、感謝。今見たらカウンタ1万を超えていました。
いつも、掲示板直なので、気が付きませんでしたが、(^ ^;
ROMライタのネタで2年が経ってしまいました。
そのうち、別ネタも作りたいと思います。
今後もよろしくお願いします。
tkonさん、
今、現在ICソケットの接触不良かわかりませんが、うまく、DATAが返って来ない状態が続いています。
チップイレースがうまくいっていない状態です。
TSOPソケットの購入を検討します。
ちょっと視点を変えて、テストするなら、ワードモードで1バイト(ワード)を
焼き込んでみます。
"STD_LL 0003 1,A0 1,00"
"STD_DUMP 1 1"
このとき、DQ8~DQ14 信号は、集合抵抗あたりでプルダウンしとくと
よいと思います。
まず、ID取得が正常したので、#CE は、通常のA19 ラインですね。
ソフトでは、起動時に A19(#CE) をチェックしています。
そのROMのデータには、初めに何か書かれていませんか?
と言うのは、
1.チップイレース(消去)が通れば、ハード/ソフトとも
書き込みプロテクトがかかっていない状態で、データ焼き込みの
手続きのやり方の問題。
2.チップイレース(消去)が通らなければ、書き込みプロテクトが
かかっている状態で、それを解除する手続きの問題。
と、問題の切り分けができます。
tkonさん、こんにちは、
以下のコマンド適用はパターン2作成時のコマンドでしょうか。
(QG12をCE操作にした場合)
STD_LL 3FFF 400AAA,AA 400555,55 400000,25 400000,0F 400000,0 400001,1 400002,2 400003,3 400004,4 400005,5 400006,6 400007,7 40001F,0 400000,29
すみません、#CE 操作のアドレスが加わっていませんでした。
仮に 0x00400000 (A22) だと、
"STD_LL 3FFF 400AAA,AA 400555,55 400000,25 400000,0F 400000,0 400001,1 400002,2 400003,3 400004,4 400005,5 400006,6 400007,7 40001F,0 400000,29"
"STD_DUMP 400000 20"
などとなります。アドレスが切り替わる時に、#CE が High にるので、
そのとき内部でキャンセルされなければ、複数バイト書き込まれていると思います。
tkonさん、こんにちは、
以下のコマンド実行してみました。
..\STD_LL 3FFFF AAA,AA 555,55 0,25 0,0F 0,0 1,1 2,2 3,3 4,4 5,5 6,6 7,7 1F,0 0,29
WRITE 0000:0AAA AA
WRITE 0000:5555 55
WRITE 0000:0000 25
WRITE 0000:0000 0F
WRITE 0000:0000 00
WRITE 0000:0001 01
WRITE 0000:0002 02
WRITE 0000:0003 03
WRITE 0000:0004 04
WRITE 0000:0005 05
WRITE 0000:0006 06
WRITE 0000:0007 07
WRITE 0000:001F 00
WRITE 0000:0000 29
の表示でした、もしかすると、ハードの結線ミスでしょうか。
はとさん、こんちは。
29PL32TM のIDは、あっています。
マニュファクチャコード -> 04h
デバイスコード -------> 7Eh
拡張デバイスコード ---> 1Ah, 01h
たぶん、データのダンプも正常に行われていると思います。
ROMに何かしらのデータがある場合は、チップイレースの動作は確認できます。
で、今 29PL32TM のデータシートを見たら、S29GL064M と同様に、
バイトモードにおいて、1バイト(ワード)プログラムコマンドが無かったようです。
まず、ライトバッファからの焼き込み動作を確認しないと、ソフトに組み込めないので、
ライトバッファからのテスト。
"STD_LL 3FFFF AAA,AA 555,55 0,25 0,0F 0,0 1,1 2,2 3,3 4,4 5,5 6,6 7,7 1F,0 0,29"
で、アドレス 0~7 と 1F にデータが書き込まれているかどうか確認してみてください。
tkonさん
LL_ID実行時に以下の表示は正しいでしょうか。
WRITE 0000:0AAA AA
WRITE 0000:0555 55
WRITE 0000:0AAA 90
READ 0000:0000 04
0000:0002 7E
0000:001C 1A
0000:001E 01
WRITE 0000:0AAA AA
0000:0555 55
0000:0AAA F0
以上、よろしくお願いします。
http://park2.wakwak.com/~tkon/my-case.gif
はとさん、こんにちは。
29PL32TM は、たぶん、フラッシュROMの内部では、どの容量でも共通の
アドレス処理回路だと思いますので、メモリマップにもよりますが、通常は、
利用外のAxxのピンは、Lowにしておいた方が良いと思います。
29PL32TM 固定でなければ、DipSW あたりで Low か、プルアップ High か
にしておいた方があとあと便利と思います。
S29GL064M は、X16 のワードモードだと、バイトプログラム(ワード)ができそうですが、
X8 だと、バファーライトなるコマンドしか無さそうなので、現行の stdflash では、
ファイルからのデータ焼き込みが対応していません。
もう少しデータシートを見てみます。現行の std_ll でいくつかの焼き込みテストは、
できると思います。
tkonさん、ありがとうございます。
29PL32TMで4MビットのファイルREADは確認できました。
4Mバイトファイル書き込み時は以下の書き込みにあるように、全て結線しないと読めないのでしょうか。
よろしくお願いします。
tkonさん、ありがとうございます。
http://www.spansion.com/jp/products/S29GL064M.html
の書き込みはどこを修正を行えば書き込みができますか。
よろしくお願いします。
自分のソフト作り用PC、Pentium4-1.4G + i845D MSIマザーから、
CeleronD-336(2.8G) + Asrock 775Dual-880Pro にアップグレードした。
古いATXケースなので、サイドカバーを塞いでいると熱がこもり、
直ぐにCPU温度とCPUクーラー(リテール)の回転数が上がってしまう。
なので、カバーを外して使っていた。
それでも、負荷をかけたり、OC3.4G だと温度、ファンとも上昇する。
たぶん、表面で、CPUクーラーが自分の排気を吸気してしまう循環が
良くなさそうだったので、径10cmのペットボトル(or プラボトル)の底を
カットした円筒形の物をCPUファンのトップへカポッとはめてみた。
温度、ファンとも安定した。
それから、サイドカバーにCPUクーラーのある位置で穴を10cm未満でくり貫き、
外気を直接CPUクーラーへ。ほぼ完全にCPUクーラーの吸排気を分ける。
サイドカバーを閉じて、負荷をかけても、OC3.4G でも、CPU温度とファンの
回転数は、やはり安定している。
この状態だと、リアの隙間、電源の排気だけでは、弱いらしく、負荷がかかると
マザーボードの温度がCPU温度に近づくようになる。通常は10度差ぐらいだが、
5度差ぐらいになる。
拡張スロット用のリアファンを装着し、マザーボードの温度を安定させる。
さらに、5インチベイ用の3連ファン(HDD冷却用)をファン自身の設置向きを変えて、
排気用にする。CPUに高負荷をかけるときに、スイッチONで、さらに強制排気。
あと考えられるのは、サイドカバーの吸気穴のところに、銅網をコの字型/箱型あたりで
取り付け、その網にヒートレーン棒とペルチェで冷やす機構を付け加えて、
吸気する空気を冷却してCPUファンに送れば、、、、。など。
感想。
プレスコットコアが嫌われる理由が判ってしまった。
ここまで、空調を考えないと、こっちが要求する安定度になかなかならない。
でも、そこさえ押さえれば、プロセッサとしては悪くない部類。
ショップでさえ安定させることが難しい Pen-D は、こんな感じのATX ケースを
使わないと大変そう。
そのうち、Pen-D が安くなったら My くり貫きケースで試してみよう。
http://park2.wakwak.com/~tkon/std_ll050731.lzh
ID取得、消去、ファイルからのデータ焼き込みできるようにしときました。
LL_ID.BAT
LL_ERASE.BAT
LL_WRITE.BAT
ファイルからの焼き込み時の手直しは、バイトプログラムコマンドの発行が他のフラッシュ
ROMとことなるため、変更が必要です。これは、stdflash ソフトの方の手直しになります。
現在、SST28SF040 に対応するにあたって、29PL32TM でも使えるようにアップデートしています。
MBM29PL32TM をバイトモードで使用するときは、A-1,A0,,,A20 のアドレスですが、
判り易くROMライタでは、A0,A1,,,A21 と1ビットシフトして置き換え言いますと、
ハードウェアのパターン1:
4MビットROMは、A0~A18 までで足り、stdflash の回路図で3番目の HC164
QA(3),QB(4),QC(5) が A16,A17,A18 と CE 操作の QD(6) の通常通りにします。
29PL32TM の残り A19、A20、A21 は、Low に固定するか、DipSW 等で 手動で
Low/High を切り替えるよう考慮しときます。
ハードウェアのパターン2:
3番目の HC164 の QD(6),QE(11),QF(12) を 29PL32TM の A19,A20,A21 に割り当て
CE 操作は、QG(12) に割り当てます。この場合アドレス設定は、全て 0x00400000 (A22)から
始まります。
stdflash ソフトは、A19 を CE 操作を基本として作りこんでいましたので、
パターン2では、たぶんパラメータだけで大丈夫だと思いますが、もしかしたらソフトを
手直しする場合があるかもしれません。
パターン1、パターン2の両方できるように、A19 に当たる QD(6) をジャンパ等で
切り替えられるよう、余裕を持たしたほうがよいかもしれません。
tkonさん、ありがとうございます。
一部、ファイルからの焼き込み時に手直しが必要にと有りますがどこを修正すればよろしいでしょうか?
フラッシュのピンでA18~A20ピンはどのようにすればよろしいのでしょうか。
よろしくお願いします。
tkonさん、ありがとうございます。
一部、ファイルからの焼き込み時に手直しが必要にと有りますがどこを修正すればよろしいでしょうか?
フラッシュのピンでA18~A20ピンはどのようにすればよろしいのでしょうか。
よろしくお願いします。
>>ID取得 "STD_LL 0001 @90 0 +1" で、0xBF、0x04 が取れていれば、
>> ちゃんと 5555,AA 2AAA,55 コマンドは、使えていると思います。
訂正。
"STL_LL 5555,AA 2AAA,55 5555,90 0 +1" では、AA と 55 の書き込みが内部で無視されれば、0xBF、0x04 が表示されます。たぶん。
ID取得 "STD_LL 0001 @90 0 +1" で、0xBF、0x04 が取れていれば、
ちゃんと 5555,AA 2AAA,55 コマンドは、使えていると思います。
ですが、無い場合も試してみてください。
ID取得:
"STD_LL 0001 0,90 0 +1"
セクター消去:
"STD_LL 0000 1823 1820 1822 0418 041B 0419 041A"
"STD_LL 0003 0,20 0,D0"
または、
"STD_LL 0180 1823 1820 1822 0418 041B 0419 041A 0,20 0,D0"
アドレス0~255まで消去 0xFF になっていればOKです。
こんばんは。
試しましたが全く消去できません。
コマンド書き込み 5555,AA 2AAA,55は
マニュアル記載が無いのですが必要なのでしょうか。
こんばんは。
試しましたが全く消去できません。
コマンド書き込み 5555,AA 2AAA,55は
マニュアル記載が無いのですが必要なのでしょうか。
はとさん、はじめまして。
http://www.spansion.com/jp/products/MBM29PL32TMBM.html
現行のソフト(std_llバージョン)では、たぶん、ファイルからの焼き込み時に手直しが
必要になります。コマンド書き込み 5555,AA 2AAA,55 がベースになっているので、
555,AA AAA,55 ならまだしも、555,AA 2AA,55 だと対応していません。
その他の消去、書き込みでは、たぶん STL_LL で動作させることができると思います。
MBM29PL32TM は、3V仕様ですので、ハードウェアに関しては、
電源電圧3.3Vの構成でする必要があります。stdflash の回路で、
プリンタ側からの信号 #SLCTIN(17),#STROBE(1),#AUTOFD(14),#INIT(16)は、
プルアップしてますが、プルダウンにして使うと、だいたい3Vちょっとぐらいに落とすことができます。
プルダウンにして使うとき、プリンタポートに接続していないとき #OE, #WE はローに
なっていますので、フラッシュROMが設置されて、電源が入っている場合には、
#CE スイッチは、絶対に押さないでください(データシートでの禁止行為)。
前に、PC電源から、3.3Vを与えてフラッシュROM5V品を試したことがありますが、
データをダンプ表示したら化けがでていました。HC164を性能上、3Vで使うのが
よくないのかもしれません。
前に、P4-1.4GHzパソコンで、2MビットROMでのバイト単位書き込み時間は、
1分15秒ぐらいでしたので、2倍の3分位だと思います。デフォルトのベースクロック25μで
行っているので、書き込み速度は、10分の1ぐらいまで速くなりますが、5Vから3Vに
なっていますので、1バイトプログラムのコマンドを発行してから完了するまで、それなりに
待たされるかもしれません。
結論、やってみないと何ともいえません。そんなとこです。
はじめまして、
フラッシュライターで
富士通 29PL32TM(4M)の書き込みは可能でしょうか。
もちろん、TSOPの為変換基盤は作成しますが・・・
4Mフルに書き込みを行った場合、書き込み時間はどれくらい掛かりますか。
よろしくお願いします。
最後に "STD_COMP newbios.bin" でコンペアしてみてください。
前の条件まで、動作が正常に行われた場合は、ファイルからのデータ焼き込みをします。
たぶん、ファイルからの全データを焼き込みでもうまくいくと思いますが、状態を確認しながら行うと、
"STDFLASH -T:40 -J:10 -A:0 -C:10 -S:0 -F:newfile.bin"
まず、ファイルから16バイトのデータを焼き込み、"STD_DUMP 0 10" で確認。
バイト数を多くしながら焼き込んでいきます。
-J:10 は、プログラムコマンドをデフォルト 0xA0 から 0x10 にして行います。
"STDFLASH -T:40 -J:10 -A:10 -C:F0 -S:10 -F:newfile.bin"
"STDFLASH -T:40 -J:10 -A:100 -C:F00 -S:100 -F:newfile.bin"
"STDFLASH -T:40 -J:10 -A:1000 -C:F000 -S:1000 -F:newfile.bin"
"STDFLASH -T:40 -J:10 -A:10000 -C:10000 -S:10000 -F:newfile.bin"
コマンド書き込みのベースクロックが25μs だと遅いはずなので、-W:1 オプションで、
残りのデータを焼きこみます。
"STDFLASH -T:40 -W:1 -J:10 -A:20000 -C:60000 -S:20000 -F:newfile.bin"
ファイルからデータを全部焼き込む場合は、SST28SF040 用の "STDERASE newbios.bin ALL" を
使います。オプション -W:1 を加えて実行してみてください。
http://park2.wakwak.com/~tkon/std_ll.lzh
stdflash を konflash と同じように xxx_ll.exe のローレベルコマンド入力仕様にしました。
で SST28SF040 のテストは、まず、
ID取得、プロテクト解除、セクター消去、消去チェック、1バイトのプログラム。
"STD_LL 0001 @90 0 +1"
"STD_LL 0003 5555,AA 2AAA,55 1823 1820 1822 0418 041B 0419 041A"
"STD_LL 000F @20 5555,AA 2AAA,55 0,D0"
ここで、"STD_DUMP 0 100" で 0xFF を確認。消去コマンドモードに入っている場合は、
"STD_LL 0001 @FF" を実行してから "STD_DUMP 0 100" でもう一回確認。
"STD_LL 000F @10 5555,AA 2AAA,55 0,0"
アドレス0が、0xFF から 0x00 に変わっていれば、OK。
次にチップ消去とファイルからの4M焼き込み。
"STD_LL 0003 @30 @30"
消去には、数秒時間がかかる場合があるため、チップ消去実行後に、
"STD_DUMP 0 80000" で一度ダンプしてみる。消去コマンドモードに入っている場合は、
"STD_LL 0001 @FF" を実行してから "STD_ECHK 0 80000" でチェックする。
奥が深そうですね。
ゆっくりやって下さい。
データシートをさらによく見たら、
コマンド類が旧タイプと異なり、FWH/LPC系に類似しています。
メモリの製造も、コア共通で利用しているようですね。
ですので、もうちょっと待ってください。
データシートをよく見たら
"Software Data Protection (SDP) is a global command and has specific sequences for enabling disabling."
で7バイトリード動作の前にグローバルコマンドが必要でした。修正しておきます。
ありがとうございます。
早速試したところ、NEC製では
C:\rom>..\STDFLASH -T:45 -Q:1 -G:1823,1820,1822,0418,041B,0419,041A
0000:1823 FF
0000:1820 FF
0000:1822 FF
0000:0418 FF
0000:041B FF
0000:0419 FF
0000:041A FF
C:\rom>
C:\rom>
C:\rom>_
となり(解除OKですよね)、続いて
C:\rom>stderase.bat all
*** erase 00000H-3FFFFH ***
C:\rom>
でした。
リードチェックすると消去出来てませんでした。
IBM製は何回やっても
C:\rom>..\STDFLASH -T:45 -Q:1 -G:1823,1820,1822,0418,041B,0419,041A
0000:1823 87
0000:1820 41
0000:1822 61
0000:0418 FC
0000:041B 46
0000:0419 C1
0000:041A 87
で、消去もリードチェックすると駄目でした。
ありがとうございます。
早速試したところ、NEC製では
C:\rom>..\STDFLASH -T:45 -Q:1 -G:1823,1820,1822,0418,041B,0419,041A
0000:1823 FF
0000:1820 FF
0000:1822 FF
0000:0418 FF
0000:041B FF
0000:0419 FF
0000:041A FF
C:\rom>
C:\rom>
C:\rom>_
となり(解除OKですよね)、続いて
C:\rom>stderase.bat all
*** erase 00000H-3FFFFH ***
C:\rom>
でした。
リードチェックすると消去出来てませんでした。
IBM製は何回やっても
C:\rom>..\STDFLASH -T:45 -Q:1 -G:1823,1820,1822,0418,041B,0419,041A
0000:1823 87
0000:1820 41
0000:1822 61
0000:0418 FC
0000:041B 46
0000:0419 C1
0000:041A 87
で、消去もリードチェックすると駄目でした。
http://park2.wakwak.com/~tkon/sst28sf040.lzh
うるのさん、テスト版できたよ~。
SDP_OFF.BAT を実行してから、STDERASE.BAT を試してみてください。
ダンプ表示で 0xFF でクリアされていれば、プロテクトが解除されていると思います。
(たぶん)
DOS ソフトを作る環境 Win9x + MSVC1.5 のハードディスクを別のOS環境で使っていたため、
再度、環境作りから行っていたので、その部分で時間がかかってしまいました。
次のPCアップグレードのときは、VIA チップセットで WIN95やNT4 などの古いOS環境も
ちゃんとしとかないと、、、。
面白そうなのはCeleronMでしょうけど苦労しそうですね。(^^;;
プロテクト設定もやはり同様の手順がありましたか。
従来のMB上のROMだと、#WEみたいに書き込み許可用?の信号が要るみたいですから、それが無くて済むSST 28SF040 の類のROMは、若干なりともコストダウンに寄与しそうですね。
金華山の仙人さん、こんにちは。
自分のソフト作り用PC、Pentium4-1.4G + i845D MSIマザーのアップグレードを
CT-479 + CeleronM 350J か、または、CeleronD 320 で試してみようかと思っている
今日この頃です。
SST 28SF040 のデータシートには、解除と同様にプロテクトするコード、
最後のアドレスが 040A、であります。
旧タイプのフラッシュROMでは、消去やプログラムでは、特定コマンドを #WE の
書き込む動作をするので、BIOS 等では、焼き込みは明示的におこなうので、
SST 28SF040 のようなプロテクト機能は、本来は、必要ないと思います。
たぶん、最近は、フラッシュROMをRAMやFDのように読み書き記録媒体として
使うようになっているので、その用途でなおかつ安易に消されたくない場合。
汎用のUSBメモリで、パッケージが同じものでも SST 28SF040 で置き換えれば、
利用メーカーは、特殊な焼き込みでデータを書き込んで、一般のユーザに
渡す(売る)などが考えれれます。
イオンから32型ワイド液晶テレビが10万円って、う~ん、う~ん、欲じい。
なるほど~。
書き込みプロテクト制御って、アドレスバスによるメモリ空間以外に
何かコマンドを書き込むのかな?と漠然と思っていたのですが、そん
な方法だったんですね。
という事はプロテクト設定も似た様な事をするのかな? それとも
パワーオンによる設定に任してるのかな?
昔はCPUのデータシートを釈迦力に調べていたものですが、もう
全然そんな意欲が焼失してます。(^^;;
tkonさん、解析ありがとうございます。
やっぱり書き込み対応してませんでしたか。
暇な時でもプログラム・アップして下さいませ。
このROMは、ThinkPad240とNEC Lavieの
ノートPC(1998年頃の製品)に使われています。
うるのさん、こんにちは。 ROMライタ製作、おつかれさんです。
SST 28SF040 のデータシートを見ると、
( http://www.sst.com/products.xhtml/parallel_flash/28/SST28SF040A )
これには、Software Data Protection (SDP) がありました。
ROM は、Power-ON 後は、ソフトウェアプロテクトが設定されている状態なので、
データの消去とプログラムができないのだと思われます。
プロテクト解除は、消去とプログラムの前に、7箇所のアドレスを連続に
読み取る 動作を行えば、解除でき、その後の消去とプログラムが
できるようになります(と思います)。
(アドレス 1823h, 1820h, 1822h, 0418h, 041Bh, 0419h, 041Ah )
ですが、現在の stdflash ソフト は、この処理を考慮していませんので、
(このROMの仕様は、今回、初めて知りましたので)
そのうちテスト版のソフトをアップデートしたいと思います。
アップロードしたらテストよろしく~(^ ^)~。
はじめまして
旧タイプ用フラッシュROMライターを作り
読み込みチェックまで良好となりましたが
書き込み・消去が出来ません。
マニュアルを読むと他のシリーズと違い
アドレス・コマンド方法を変更しないと
駄目なのですが、対処方法ありますか。
ROM TYPE: SST 28SF040(4Mbit PLCC)
いよいよ田植えですか。先日ブログのTBをもらった方のホームページに、土壌改質するバイオアースというのがありました。稲が根を深く張るそうです。
http://www.eccoat.co.jp/bioearth.HTM
その方のブログ。
http://kassei.exblog.jp/418562http://kassei.exblog.jp/418562
ご参考までに。
この wakwak プロバイダの掲示板は、正常に書込みが行われても、
記述をフラッシュしてくれなく、よく重複してしまいます。 ><
重複されたものを消したところなど、まるで、いかがわしい内容を消したかのごとく
赤文字で消去になってしまいます。うん、作りての性格や特徴がでているようです。
ですので、気にせずスルーします。
名古屋の万博は、面白そうですね。見たいブースは、トヨタ館の人が乗って操作する
ロボットですが、。そのうちトヨタが仙台でショーをやると思いますので待ちます。
私も最近ギャオ(www.gyao.jp)放送を見ています。世の中、四六時中ストリーミング
するようになってきているのに、IP6が普及しているようでもなく、結局、
通信速度は、ブルートフォースでなんとかなっているのですかね。
昔は、アニメ等のOVAを見るのにレンタルビデオ屋を利用していましたが、
レンタル料金より安く、簡単にパソコンで見れるようになってきているので、
レンタルビデオ屋が無くなっていくのだろうなと感じています。
ああ、でもデカイ液晶などのディスプレイが欲しくなってきています。
(う~ん、ストリーミングを保存するようなものでも作りますか。)
<< 現在、田んぼ、一回目の代掻き終わり。来週ぐらいに田植え。>>
連休もそろそろ終わりでしょうか。来週から名古屋へ出張ですが、万博の為にホテルが取れません。tkonさんは万博へ行かれますか?最近、パソコン使って日本のTVを見ようとしています。
http://blog.hkisl.net/am/archives/000210.html
黙っていても、世の中は進歩するのですね。
連休もそろそろ終わりでしょうか。来週から名古屋へ出張ですが、万博の為にホテルが取れません。tkonさんは万博へ行かれますか?最近、パソコン使って日本のTVを見ようとしています。
http://blog.hkisl.net/am/archives/000210.html
黙っていても、世の中は進歩するのですね。
連休もそろそろ終わりでしょうか。来週から名古屋へ出張ですが、万博の為にホテルが取れません。tkonさんは万博へ行かれますか?最近、パソコン使って日本のTVを見ようとしています。
http://blog.hkisl.net/am/archives/000210.html
黙っていても、世の中は進歩するのですね。
石水さん、おはようございます。
ちょっと立ち寄ったのでご挨拶申し上げます。
STD_ID2.BAT も試してみてね。
高田さん、ぱぱやんさん、おはようございます。
当方、苗作りで Ack が遅れました。今年も、また田植えシーズンが始まってしまった。
さて、STD_ID や STD_DUMP で取得データが 0xFF になる場合考えられるのは、
1.信号 /OE や /CE がうまく伝わっていない。
\BOARDTST\TESTSTDF.EXE などで信号チェックしてみる。
2.プリンタモードが双方向モードに切り替わっていない。
BIOS設定でECP、または ECP+EPPモードにしてみる。
3.STD_ID の場合、コマンド入力の書込みサイクルが加わるため、ノイズ等が
あるとNoAck になる。
STD_DUMP でエラー等の出方を調べる。
4.フラッシュROMの不良。
他のものをテストしてみる。
5.その他。
動かない原因を調べるのも電子回路スキルが上がりますので、
気が向いたときに、またトライしてみてください。
こんばんは。
いくらやっても、うまくいかないので
諦めました。
全ての部品を別の回路で使うのではず
しちゃいました。
いろいろ教えていただき、ありがとう
ございました。
ちなみに1pinがNCの場合つながなくて良いですが、
GNDに落とすのが一般的だと思います。
エラーが出る場合はノイズの可能性が高いと思いますよ。
過去に当方も苦労したのでノイズ除去は必要だと思います。
過去のログを探ってみてください。
こんばんは。
当方の場合はジャンクマザーから抜き取っています。
その方が安いし手っ取り早い気がします。
それなりのリスクはありますが...
新品を購入する人っているのかなぁ?
こんばんはです。
みなさんは、2Mビット 256k * 8
の32PINのROMをどちらで買ってますか?
なかなか入手できなくて困ってるので、できれば
新しいタイプの買って新しい回路で使いたいです。
FLASH ROMはW29C020C-90Bを使用しております。
旧式用の回路を組んでおります。
STD_ID.BATを実行した際、両方ともFF
と表示されるのはエラーですよね?
このROMの1番PINはNCなのでどこにもつな
がなくてもいいのですよね?
もし、よろしければ教えてください。
tkonさん、こんにちは。
詳細な説明をして頂きありがとうございます。
あんちょこライターですが、うちのほうでは、PMC Pm29F002 の
動作確認が取れました。
(今手元に現物がないので、型番ちょっと自信なし(^^;;)
他にも色々焼いているのですが、チップ自体に問題があるのか、
書き込み中にミスったり、ベリファイが通らなかったりしています。
ではでは~
stdflash も konflash と同じようにクロック幅を調整できます。
** 設定値 ********************************
-W:0 ==> 50us/25us。 でデフォルト
-W:1 ==> 60ns/30ns。 実際には、1~2us ぐらいのはず。
-W:2 ==> 600ns/300ns。実際には、1~2us ぐらいのはず。
-W:3 ==> 6us/3us。
***************************************
バッチファイルの中では、pause など入れてプログラム間に待ちを
入れることもできます。
tkonさん ありがとうございます。いろいろ試したいと思います。
ひとつ聞きたいのですが、バッチファイルの中に読み込みの待ち時間せっていはありますか、
aさん、こんにちは。
PG_WRITE での エラーは、ページライトの128バイトを焼きこんだ後に、
その128バイトの箇所を読み込んで、比較した(Verify)時に異なって、
エラーで終了した内容です。
エラーが出る場所は、焼き込み最初、途中、ブートブロックなどのいずれかと
思いますが、途中の場合 ROMデータとbios-file と比較するとそのアドレスが
判ると思います。または、バッチファイルの中のオプションを "-q:1" を
"-q:0" にすると焼き込み作業を表示しながら行います。確認してみてください。
エラーの原因で考えられるのは、
1.ROMの特定ビットが不良で焼けずに、Low/High にのどちらかに
張り付いている場合。エラービットと同じビットの bios-file を使ってみる。
2.ノイズ等で不特定のアドレスで起こる場合は、ノイズを減らすとか、
書込みリトライを行う PG2WRITE で行ってみてください。
3.その他。
まず、aさんが作られたROMライタは、たぶん
データのダンプは化けなしに表示 --------> 〇
データのファイルへの読み出しとコンペア --> 〇
フラッシュROMのID取得 -----------> 〇
ページライトは、消去を伴い焼き込みを行っているのですが、
ROMライタのハードウェアの動作を確認するためチップ消去を明示的にやってみる。
STDERASE を実行後、STD_DUMP でデータが 0xFF 確認するか、または、
STD_ECHK で確認してみる。
いずれにしても、ROMからのデータ読み出しが出来ていますので、
ちょっとづつ追い込んでいけばエラーの原因がわかると思います。
pgwriteで書き込む際にいつも ERR 0 X D100 write write filed と出てしまうのですが、どなたかわかる人がいたら教えてください、
ちなみにFLASH ROMはW29C020C-90Bです
pgwriteで書き込む際にいつも ERR 0 X D100 write write filed と出てしまうのですが、どなたかわかる人がいたら教えてください、
ちなみにFLASH ROMはW29C020C-90Bです
"*" は、前のアドレスを用いる。
"#n" は、インデックス n のアドレスを用いる。
"+n" は、前のアドレスに n が加算されたものを使う。
"&xxxxxxxx" は、@コマンド時のベースアドレス。デフォルトは、"FFC00000" 。
"@xx" は、5555,AA 2AAA,55 .. のコマンド発行。フラグはどちらの指示でもコマンド書込み。
@xx >= 0x100 は、拡張用で、0x100 <= xx <= 0xFFFF までで、値はカウント数。内容は、トグルビットチェック。
@xx >= 0x10000 からは、ただのソフトウェアウェイト上位16ビット(1~4 で 25us,30ns,300ns,3us)、
下位16ビットはカウント。1秒だと 1x10^6 / 25 => @19C40 ぐらい。
拡張のフラグ D16 は quiet-mode、D17 は、verbose-mode。
基本的には、xxx_LL は、konflash を補足した形で使うことで作ったのと、
私のところには、いまだに Winbond W49V002A、SST49LF002Aの2種類しかないので、orz
他のフラッシュROMに関しては、データシートを見てみないと何とも言えないのが現状です。
xxx_LL.exe コマンドを使う場合の注意事項としては、入力ミスなどの誤入力に注意してください。
(ロックアウトや、書込みバッチなどでの無限ループなど)
その他。
R1/R2 の設定は、xxx_DUMP が出来ていれば、ほぼその設定でOKです。
xxx_ID の取得は、フラッシュROMへのコマンド要求に依存する部分ですので、
データシートによる場合があります。
N82802 の場合、BIOS を AMI や AWORD のフラッシュツールで更新する場合、注意してください。
どうやら、このフラッシュROMは、特異な作りのようなので、書込み時にコケる可能性があると思います。
やぎやまさん、ども~。
konflash の仕様は、"konflash -v:1" で表示します。他に "-q:1" で quiet-mode ぐらい。
"-T:1~" の番号は、ソフトを実際にテストしながら作っていった過程、順番です。
実際にバッチファイルで使っている "-T:x" 番号が利用できていると思ってください。
ローレベルソフト xxx_LL.exe の仕様は、フラッシュROMのデータシートに記されている
コマンドを直接与えるような形にしています。
ソフトは、konflash.exe と全く同じでファイル名を変更しているだけです。
起動時に自分自身のファイル名を見て、オプション識別や動作を決めています。
xxx_LL.EXE [r/w flag] [addr],[data] [addr2],[data2] ....
扱うデータは全て16進(アドレス部32ビット、データ部16ビット)です。
オプションはフラグと読み書きデータ郡(最大16個)です。
フラグは、続くデータ郡が書き込みサイクルか読み出しサイクルかを示しています。
flag は、16ビットまでは、Low でデータ取得、High でデータ書込み。
パラメータの区切りは、半角スペース。[addr],[data] 間は、スペース無しでカンマ。
例1(基本形):
"xxx_LL 0007 FFFC5555,AA FFFC2AAA,55 FFFC5555,90 FFFC0000 FFFC0001 FFFC0002"
フラグD0-D2 まで、書込みで、続く [addr],[data] が3回。後は、読み出しが3回。
省略記号等を使って短くすると、"xxx_LL 01 @90 FFFC0000 +1 +1"。
@xx 時のフラグ指示は、どちらでもよい。
@xx 時のベースアドレスのデフォルトは、FFC00000 なので、LPCの4M等では、FFF80000 などに
明示的に指定する。
書込み時の [addr],[data] でdata が 00 の場合は、省略可。
バッチファイルで、ソフトウェアプロテクト解除アドレス指定箇所は、明示的に省略しています。
>>tkonさま
ご返答頂きありがとうございます。
早速ウエイトを変えてやってみます…と言いたいところなんですが、
N82802 は、もう焼いて基板に半田付けしてしまいました(^^;;
また次の機会にやってみます。
konflash.exe、FWH_LL.EXE、LPC_LL.EXE のオプション指定ですが、教えて頂いた「-W」のように、公開して頂くことは出来ないでしょうか?
バッチファイルを比較して類推することは可能なんですが、微妙に自信が持てないので…
で、それにちょっと関連するんですが、私の手元にあるジャンクマザーのFWHは、
あんちょこライターではIDさえ取れないものが結構多くあるんです。
R1とR2の抵抗値を変えて、なおかつ FWH_ID、LPC_ID、N82_IDの全てを試しているんですが、駄目です。おおむね全体の2/3ぐらいでしょうか。
そんなに簡単に壊れるデバイスではないと思うので、
「何かどこかが間違っているのかな~」「設定が合ってないのかな~」
…と思っています。
また何かあれば、ご報告いたします。
ではでは~
やぎやまさん、どうも、はじめまて。
ROMライタ製作おつかれさまでした。正常動作おめでとうございます。^^
Intel N82802 の場合の N82WRITE.BAT は、ウェイトオプションを "-W:0" から "-W:3" にして
使ってみてください。
N82802 は、"-W:1" の速い設定での WriteCycle(コマンドの書込みサイクル)では、
アボーンしてしまうようです。ReadCycle のデータ読み出しは大丈夫のようです。
** 設定値 ********************************
-W:0 ==> 50us/25us。 でデフォルト
-W:1 ==> 60ns/30ns。 実際には、1~2us ぐらいのはず。
-W:2 ==> 600ns/300ns。実際には、1~2us ぐらいのはず。
-W:3 ==> 6us/3us。
***************************************
はじめまして.やぎやまと申します.
2ヶ月ほど前にこのサイトを見付けて,作るかどうかしばらく悩んでたのですが,先週ついに作りました.
動作のほうはまずまずです.
最初,抵抗値が決まるまで足を切らずに使ってたのですが,そのときはあまり安定しませんでした.
後でわかったのですが,安定しない原因はノイズだったようです(卓上蛍光灯を付けたら機嫌が悪くなったりして気付きました).
今はほぼ安定しています.
もっとノイズ対策をやれば,さらに安定しそうですが,当方ハードは素人のため,具体的にどうすれば効果があがるか良く判りません.
ところで,IntelのN82802を焼くとき,すごく時間が掛かるのですが,これは転送ウエイトとかの関係でどうしようもないことなんでしょうか?
私の方では512KB焼くのに30分強掛かっています.
(途中でコケることもあり,結構泣いてます)
動作確認チップがもう少し増えたら,また報告しますね.
大変有用なツールをありがとうございました.
お世話になります
今、秋葉原に來てますが
DTC114Eは見付かりませんでした…
1815に抵抗外付けにします
どうも、ぱぱやんさん、おひさしぶりです。
はい、DTC114E は、Mr.D.S. さんの見ているデータシートの方が正しいです。
100μH(マイクロヘンリー)は、コイルです。電源のノイズ等をLCでとることをします。
もう、一年経っているのに気が付かなかった orz 。見ているようで見ていない私です(笑)。
お久しぶりです。
1815 に抵抗外付けでもOKですよ~!
当方は無い部品は適当に代用しました。
たくさんの難はありましたが、何とか動作するようになりました....
旧タイプフラッシュについて質問です
DTC114E が入手できなかった場合、
1815 に抵抗外付け...とかでも大丈夫でしょうか?
あと回路図ですけど、DTC114E の所が
DTC114E のデータシートに載っている
等価回路図と違うみたいなんですけど...
初歩的質問です
1点、部品の名前が分かりません(汗
「100μH」と書いてある部品は
なんと言う名前なのでしょうか
なぜか、私もLPCと思っていました。^^
最近のマザーボードで使われているフラッシュROMは、LPC/FWHなので、
作られた「あんちょこフラッシュROMライタ」は、そのまま使えます。
ちょっと配線が多いのですが、旧タイプの方のフラッシュROMライタも
載せてありますので、のんびり作ってみてください。
すいません、お騒がせしました
これ旧タイプですね...
パッケージ形状からしてすっかり
LPCだとばかり思ってました(汗
お世話になります
チップには下記のように書かれています
Winbond
W29C020CP90B
211463001
127GISA
すみませんですが、フラッシュROMのメーカー名と型番を教えてください。
お世話になります
LPC_DUMP FFFC0000 40000
1K/2.2K では
ERR: 0xC10F - write, WSYNC error !! (retval = 0xF)
470/1K では
ERR: 0x80F0 - addr 0xFFC:0 - read, begin TAR1 error !! (retval=0xF0)
と出てしまいます。
エラーの内容は、
1.抵抗値の1K/2.2K or 470/1K のどちらか設定なのか。
2.対象のフラッシュROMが4Mサイズのもの。
3.電池が3v未満になっている。
など考えられます。
1は、LPC_DUMP でデータダンプを確認できる方の設定にします。
フラッシュ2M "LPC_DUMP FFFC0000 40000"
フラッシュ4M "LPC_DUMP FFF80000 80000"
データダンプが出来れば、そのPCとROMライタの設定が合った状態です。
2は、現行の LPC は、Winbond W49V002A に合わせたものなので、4MのLPCフラッシュ
ROMや、最新のLPC2Mでは、バッチファイル等の設定が必要な場合があります。
フラッシュ4M
"LPC_LL.EXE 0007 FFF85555,AA FFF82AAA,55 FFF85555,90 FFF80000 +1 +1"
フラッシュ2M
"LPC_LL.EXE 0007 FFFC5555,AA FFFC2AAA,55 FFFC5555,90 FFFC0000 +1 +1"
でIDが取得できるかどうか確認してみてください。
フラッシュ4Mでは、LPCバッチファイルのアドレスの変更が必要です。
L4M_READ.BAT
-------------------------------------
@echo off
if .%1.==.. goto Help
KONFLASH -T:4 -Q:1 -W:1 -A:FFF80000 -C:80000 -F:%1 %2 %3 %4
goto End
:Help
echo. L4M_READ [file name]
:End
-------------------------------------
L4M_COMP.BAT
-------------------------------------
@echo off
if .%1.==.. goto Help
KONFLASH -T:10 -Q:1 -W:1 -A:FFF80000 -C:80000 -F:%1 %2 %3 %4
goto End
:Help
echo L4C_COMP [file name]
:End
-------------------------------------
など。LPC_DUMP が出来ましたら、"L4M_READ oldbios.bin"、"L4M_COMP oldbios.bin" で
データ化けが起きているかどうかを確認してみてください。
エラーメッセージは
ERR: 0xC10F - write, WSYNC error !! (retval = 0xF)
です。
アドバイスありがとうございます。
[ECP+EPP] に設定し、Lpc_id.bat を実行したところ、
WSYNC error !!
と表示が出ました。
もしかしてボードの製作ミスでしょうか....
Mr.D.S. さん、どうもこんにちは。
たぶん、BIOS でのプリンタモードを [ECP+EPP] or [ECP] モードに設定すると
ROMライタソフトが使う双方向モードに移行できると思います。
CHKPRNT での通常のメッセージの出方は、
(Win98SE/Win95 の MS-DOS 互換ボックス、またはDOS起動)
prn port = 0x378
ext_ctrl_reg = 0x15 (SPPの片方向のモードになっている)
set ecr = 0x34 (BI-Directional の双方向のモード設定)
get ecr = 0x35 (BI-Directional の双方向のモードになっている)
*** set printer mode to "PS/2 Parallel Port" ***
(press ENTER key)
prn test
set data = 0
get data = 0x0
....略
か、または、
prn port = 0x378
ext_ctrl_reg = 0x35 (既に BI-Directional の双方向モードになっている)
prn test
set data = 0
get data = 0x0
....略
です。
ちょっと気になるのは、
....
data read mode
get data = 0xF0 -> *** Flash ROM writer found ***
data write mode
....
で、プリンタポート読み取り時ができていることで、ROMライタが接続されていると、
D0~D3までの値、プルダウンしている Low 値が見えていることです。
ここは、マザーボードによって、読み取れないときもありますが、SPP片方向だと、
0xFF になると思います。
たぶん、チップセットによって振る舞い(機能)は、違う場合があると思いますが、
もしかしたら 865G は、拡張コントロールレジスタ(ext_ctrl_reg )を持っていない
可能性があります。この場合は、konflash ソフトの プリンタポートチェックを
スキップするよう手直しが必要です。
すみませんが、BIOS の Parallel Prot Mode を確認してみてください。
Chkprnpt の結果です
prn port = 0x378
ext_ctrl_reg = 0xFF
*** other application using this printer port !! ***
-> you use this prn port then "Enter", otherwise CTRL-C
set ecr = 0x34
get ecr = 0xFF
*** set printer mode to "PS/2 Parallel Port" ***
(press ENTER key)
prn test
set data = 0
get data = 0x0
data read mode
get data = 0xF0 -> *** Flash ROM writer found ***
data write mode
not found -> prn port = 0x3BC
not found -> prn port = 0x278
ボード単体での確認、
Chkvolt での電圧確認
ここまでは正常に出来たのですが、
Lpc_id を実行すると
Error: did not set "PS/2 Parallel Port" !!
と出てしまいます。
使用DOS 「Win95 初期版」「Win98SE」の両方試しました
M/B AOPEN AX4SG MAX-II (865G)
黒猫さん、情報あり~。^^
固定倍率のCPUということは、L1ブリッジオープンのやつですね。
私の電池無し起動で戻ったのが K7nCR18GM nforce2 でした。
メーカーの BIOS が新しくなるたびに、まめに更新していたところ、
途中のバージョンから RESET、再起動直後の振る舞いが超が付くくらい
念入りに長く変わったことがありました。
なんだろな~と思っていましたが、RESET 直後は、L1クローズものは、
nforce2 が CPU の情報を取れない、または、不確定の値を拾ってしまう。
ということなのですかね。
BIOSTARのマザーは死んだふりしますよ
無理な倍率設定とかするとCMOSクリアでも復活しません
CPU無しで電源いれるとか、固定倍率のCPUに差し替えるとかすると
復活します。 破壊王さんの場合は当てはまらないようですが
私の前の表現でおかしい部分を訂正しますと
> ボタン電池を外し、一度、ジャンパでCMOSクリアし、通常に戻してPCの電源を入れます。
ボタン電池を外し、一度ジャンパでCMOSをクリアし、ジャンパだけを通常に戻して、
ボダン電池無しでPCの電源を入れます。(電池なし起動)
でした。
私のマザーボードがこれで息を吹き返した事例は、過去に一回だけですので、問題の原因は、
他にあったのかもしれません。その後は、暗黙的に、BIOS更新後は、電源をOFFし、
ジャンパでのCMOSクリア後にPCの電源を入れていましたので、無意識に避けていた
こともあります。
しかし、ことの発端は、BIOS更新後ですので、何かが引っ掛かっている要素ですね。
アドバイスありがとうございます。
電池を外したりしましたが、どうにも効果がありません。
ディスプレイのLEDが橙色なので信号がいっていない?
とりあえず一日電池を抜いて放置してみたいと思います。
>PC電源をコンセントから切り離した状態で、パワースイッチを一回押すを加えてください。
これは試さなかったのでやってみようかと思います。
アドバイスありがとうございます。
電池を外したりしましたが、どうにも効果がありません。
ディスプレイのLEDが橙色なので信号がいっていない?
とりあえず一日電池を抜いて放置してみたいと思います。
>PC電源をコンセントから切り離した状態で、パワースイッチを一回押すを加えてください。
これは試さなかったのでやってみようかと思います。
PC電源をコンセントから切り離した状態で、パワースイッチを一回押すを加えてください。
放電のための空押し。
CMOSクリア時は、PC電源をコンセントから切り離した状態で。
忘れていたことが一つありました。
ROMも正常で、ジャンパによるCMOSクリアでもダメだったときに、
ボタン電池を外して起動したら、息を吹き返したことがあります。
ボタン電池を外し、一度、ジャンパでCMOSクリアし、通常に戻してPCの電源を入れます。
それで反応を見て、ダメならPC電源OFF、ONをもう1回繰り返してみます。
書き込みができなったのはプロテクトがかかっていた為でしたか。
ROMは正常・・・・。
実は偶然、メモリを装着しないで電源を投入したらメモリエラーの警告音がなりました。(メモリを装着して立ち上げたら警告音は消えました。)
警告音が鳴るということはBIOSが正常に読み込まれている?
もしかしてマザーボードは正常でCPUが壊れてしまったのかも・・・。
突然、動作しなくなると何が異常なのかわかりませんね・・・。
破壊王さん、こんばんは。
あぅ、仮説は外れてしまいました。(残念、せっぷくぅ~)
Pm49FL002 は、いたって正常ですね。エラーの出方も正常です。
LPCWRITE, LPCERASE が出来なかったのは、ソフトウェアプロテクトが掛かった状態だからです。
LPC_ID は、ID取得のアドレス空間が違っていただけだと思います。
普通のLPCのみフラッシュROMには、ソフトウェアプロテクト等の余分な機能は、
省かれています。(コスト削減でダイサイズを小さくするため。)
私も過去に一度、BIOS更新後に正常に起動し、その状態では問題なく使えたのだけれど、
電源をOFFで、次の日電源ONで全く動かなくなったことがあります。
フラッシュROMに問題がなく、結局、買ってから一月近かったのですが
購入した店に持っていって替えてもらいました。
未だにその原因は、掴めていません。
マザーボードの故障で腑に落ちない原因の一つです。七不思議の一つなんですかねぇ。
tkonさん、こんばんは。
インターフェース自体は同じLPC、FWH、LPCとプロトコルが違うのですね。
>BIOSメーカーのフラッシュROMツールの振る舞いは、
>1.いつも通りに正常終了した。
BIOSの更新が失敗したと書きましたが、語弊がありました。
今の状態になる前に更新したときと同様に、正常に?更新が終了したようにみえました。
(OSも起動しました)
PCの電源を落として再び立ち上げたら反応がないので書き込みに失敗していたのかも、と考えました。
>BIOS更新後に起こった問題のROMデータが(ROMライタで FWH_READ したものが)、
READしてデータですが削除してしまいました。
今考えると非常にまずかったです。
それとなぜかLPC_DUMP、LPC_READ、LPC_COMPは実行できました。
読み出しはできる?
↓
マザーボードが壊れている・・・?
LPC_ID、LPCWRITE、LPCERASEは通りませんでした。
LPCERASEを実行すると00000h-3ffffhまでデータがDUMPされて最後にError: found un-erased dataと表示されます。
書き込みはまったくできないが、読み出しはできたり・・・
ROMの設計不良の可能性やら大変なことに・・・
破壊王さん、どうも~。
私の表現でのごっちゃになった部分を訂正すると、
FWHとLPCのチップセットからのバスインターフェースは、Low Pin Count(LPC) で同じです。
読み書きで扱うプロトコルがFWHモードとLPCモードになります。
たぶん、LPC/FWH と LPC/LPC(?) のようです。う~ん、紛らわしい。
FWHとLPC両モードを持っているフラッシュROMは、基準信号(FWH4/LFRAME#)で与える
データ(START) が 1101B と 1110B がくればFWHモードで動作し、0000B でくれば、
LPCモードで動作します。それ以外は、ノイズと判断して無応答になります。
ここで、なぜ、Pm49FLxxx がLPCモードで読めなくなったか?という謎があります。
一つの仮説をたてると、Pm49FLxxx には、設計不良があるのではないか、と考えられます。
LPCモードでデータの消去や書込みをすると回路に不具合が発生する場合がある。
故障する前まで、LPCの読み出しは問題ない。
マザーボードメーカーでの工場出荷時でのROM焼きは、FWHモードの器具で行っているので
問題は発生しない。それでメーカーもその不具合に気づかない。
まずは、不具合が発生した時の情報を調べてみてください。
BIOSメーカーのフラッシュROMツールの振る舞いは、
1.いつも通りに正常終了した。
(たぶん、エラー等の問題があっても正常に書き込まれたと見せている場合あり)
2.いつもとはちょっと違った振る舞いをしていた。
3.その他。
など。
BIOS更新後に起こった問題のROMデータが(ROMライタで FWH_READ したものが)、
1.更新前のデータと同じだった。
2.新しいデータと同じだった。
3.途中まで新しいデータで、その後は、古いデータだった。
4.その他。
など。
BIOS更新前にデータをセーブされている場合は、それと比較するとよいかもしれません。
tkonさん、レスありがとうございます。
ビデオカード、CMOSクリアを試してみましたが、映りませんでした。
LPC回路が壊れている、ビットエラーがあるということなのかもしれませんね。
別のROMを探してきたほうがいいのでしょうが、色々試してみます。
PMCのサイトやPm49FLのデータシートを見てみてみました。
さっぱり理解できませんでしたが・・・。
「チップセットがLPCとFWHのどちらに対応しているか検出する識別回路を含んでいる。」とありました。
この回路が壊れていてLPCとして認識できないのか、どこかをHIGH/LOWにするとLPCとして認識するのか・
ご指摘とおりLPC回路自体が死んでるのか・・・。
さらにBoot Block Location:TOPとありました。(Boot Blockの位置は先頭???)
とりあえず、部品が余っているので抵抗値1K/2.2Kでもう一個作成してみます。(最初に作った1K/2.2Kの回路は間違っていたかもしれないので・・・ )
Sazanami さん、おひさしぶりです。
こちらは、健康第一でのんびりです。USB+ザイリンクスが6千円ですか、安いですね。
只今の予算配分は、
AMD64にアップグレード > プレステ2+ドラクエ > ハードウェアキット
になっています。なんか目的が見つかったらカメレオンUSBキットを繰り上げで使ってみますね。
PS.
この前、仙台でジャンク品の15インチの液晶モニタを千円で買ってきました。
見た目が程度が良かったのと、店頭に置いてあったこの液晶モニタが
「買ってくれ~、直してくれ~」と言っていたので(まるで、アイフルのTVコマーシャルの
ペットショップで子犬が見つめているのと同じ状態で/*BG♪付*/)買いました。
修理したら、これが結構キレイ。これ千円だよぅ~(ホクホク)が続いています。^O^
前に、atat さんが Pm49FLxxx で同じような現象で、BIOS 更新時でおかしくなり、
フラッシュROMの FWH 書込みは正常で、それでもマザーボードの起動ができなかったのがあります。
もしかしたら、原因マザーのチップセットは、LPC インターフェースのもを使っていたのではと推測できます。
もし、項目4だとしたら、Pm49FLxxx + LPC インターフェースマザーボードは、ちょっと危険な組み合わせになりますね。
ジャンク使いには、その組み合わせの不良品は、Pm49FLxxx を替えればよいという情報ですが、
新規でマザーボードを買う場合は、その組み合わせは避けた方がよいみたいですね。
破壊王さん、はじめまして、おはようございます。
まず、ROMライタは、正常に動作しているようですね。うまくいっています。
チップセット intel440LX は、470Ω/1K なのですね。情報ありがとうごさいます。\(^ ^)/
問題点を考察すると、BIOSの更新時に失敗してから起動できなくり、ROMライタで
正常にデータを焼き込みしても、PCが起動しなくなったとのこと。
現時点で考えられるのは、
1.フラッシュROMは、ビットエラーの不具合を持っている。
私の K7NCR18GM の Winbond W49V002A では、2つのタイプのエラーがあります。
ビットを Low に焼き込んで、読み出しを繰り返すとHigh (消去) されてしまう箇所と、
ビット High(消去状態) が、読み出しを繰り返すと Low に落ちてしまう箇所を持っています。
PCで起動確認してうまくいかなかった場合に、そのときのフラッシュROMのデータを
書込み時のデータと比較してみる。ビットが反転している場合があります。
2.M7NCG400 は、ビデオ内蔵(IGP)のマザーと思いますが、書き込んだ BIOS が
ビデオ部を認識していない。
この場合、余っているビデオカードを拡張スロットに挿して確認してみる。
私の場合は、K7NCR18GM に間違ってIGP無しの BIOS データを書きんだことがあります。
このとき、ビデオカードを挿して起動を確認したことがあります。
3.たぶん、CMOSクリアはされていると思いますが、マザーボードによっては、
CMOSクリアしないと反応しない場合があります。
4.たしか、nForce2 は、LPC インターフェースのはず。で、LPC_ID や LPC_DUMP が動作しない場合、
フラッシュROMの LPC 部分の回路が故障したかもしれない。BIOS 更新時に壊れたのかな。
もし、これだと、この現象は、初めて確認しますが、そのフラッシュROMでは、
FWH インターフェースのマザーボードは起動できますが、LPC インターフェースのマザーボードは、
起動できないと言えます。別の正常な LPC のフラッシュROMで M7NCG400 が復旧すると思います。
などなど
お元気ですか?
農閑期なのでお閑なのではないでしょうか?(笑)
最近やっとカメレオンUSBを買いました
http://optimize.ath.cx/cusb/index.html
ご存知かとは思いますが、これはUSBに接続する8051マイコンとCPLDがセットになったもので5800円です。
そのままで48ピンの汎用I/Oとして使えるし、オプションで100MHzのロジアナにもなります。
FLASHの読み出しとかLCD接続とか湯水のようにI/O使えて楽しいですよ~、一緒にお勉強しませんか?
あと、あんちょこ工作ネタで、I2CのシリアルEEPROMのI/Fがありました
http://ntus.net/j/util.htm こちらのI2CLPTです
ではまた~♪
初めまして、こんばんは。
BIOSTARのM7NCG400(nForce2)にアスロンで使っていたのですが、BIOSの更新を失敗して起動できなくなりました。
買い換えるのも癪だったので、自分で直せないものかと検索をしていたらtkonさんのサイトへ辿り着きました。
さっそく工具と部品をそろえてROMライターを作成してみました。
Flash ROMですが、PMCのPm49FL002T-33JCというものでFWHとLPC共用のようです。
とりあえず、FWHを選択してみました。
FWH_IDで製造元ID、デバイスIDともに取得でき、FWH_READで数回データを読み出して比較しましたがすべて一致しました。
さっそく、FWHERASEで消去、FWH_DUMP実行して画面を眺めていたのですが全てFFで成功していました。
次にFWHWRITEで書き込みを行い、FWH_COMPで比較して一致したので書き込みも成功したようです。
ところが、PCが起動しません。
BIOSのバージョンも何種類か変えたのですが無理でした。
こうなるとマザーボード自体が破損しているような気がしてきました。
はたまたインテルのチップセットでないのにFWHとして書き込んだから動作しなかったのか・・・?
ちなみにLPC_IDを試してみたのですがWSYNC error!! (reteval - 0xF)というエラーで失敗しました。
とりあえず、これからLPC_IDが成功するように試行錯誤してみます。
書き込みPC:Pentium2 266MHz、チップintel440LX ECP
抵抗:1K/2.2Kでは動作しなかったため、470Ω/1Kに変更して動作しました。
>tkon さん
WinDMI の紹介どうもです。恐らく汎用なAWARD BIOSなら使えるでしょうが、ちょっと特殊構造な ASUS製だと心配ですね。VAIO は基本的にASUS製MBのカスタム品ですから。
DMI情報はデータなので圧縮はされてないでしょうから、書き込む前のBIOSファイル自体をバイナリエディタで開いて、DMI情報部分を修正する方法も有りそうなのですが、何故か検索しても見つけられませんでした。
チョサッケン絡みで厳しいのかな? それともチェックサムとかがあって、その修正に手こずるのかな?
>ぱぱやん さん
確かにPCの構成変更さえしなければ、ESCD情報も同じだから問題は無いでしょうね。(ESCD書き込みエラーとかが出そうな気もしますが。)
因みにBIOSメニューには ESCD情報クリヤの項目もあり、これをEnableして再起動すると一旦消去される筈です。まあ、もし書き込みが不可だったら消去も当然不可なので、無意味ですけど。
DMI情報関連を少し検索してみましたが、結構厄介そうですね。自作PCの世界だけでは殆ど問題なかったので、馴染みが無かったですが、メーカー製PCだとイロイロ有りそうです。
金華山の仙人さん、どうも。
ROMを交換した場合、ESCD情報がちゃんと書き込まれているかは不明です。
だからといって動作しない訳でも無いようです。
FlashROM自体通常読み出しのみされるものなのでROMの型番にはこだわらなくても良いように思います。
仮に書き込むにしてもFLASHツール側でROMのIDとM/Bのチップセット情報で判別して焼いている様なので問題ない気がします。
BIOSのセーブデータにESCD情報も含まれているので同マザーでの使用であればまず問題ないようです。
ただし同じ種類のROMでも対応していないもの?だとFlashROM Unknownと表示されてしまいます。
その辺の判別は不明ですが...。
その状態で1年ほど使用しましたが特に不具合はありませんでした。
ぱぱやんさん、金華山の仙人さん、こんばんは。
書き込みソフトは、柔軟性があるので、ROMアドレス(-A:)に、サイズ(カウント数 -C:)、
ファイルオフセット(スキップ -S:) で、どのデータでも好きな位置に書き込みできます。
例えば、A_BIOS.bin, B_BIOS.bin, C_BIOS.bin で Main, DMI, BootBlock では、LPC_WRITE では、
KONFLASH -T:9 -W:1 -Q:1 -A:FFFC0000 -C:3A000 -S:0 -F:A_BIOS.bin
KONFLASH -T:9 -W:1 -Q:1 -A:FFFFA000 -C:2000 -S:3A000 -F:B_BIOS.bin (DMI範囲は適当)
KONFLASH -T:9 -W:1 -Q:1 -A:FFFFC000 -C:4000 -S:3C000 -F:C_BIOS.bin
など。
WinDMI (http://aopen.jp/tech/techinside/windmi.html) のような、DMI情報のロード、セーブ
できるツールがあれば、VAIO オリジナル BIOS から DMI保存し、NewBIOS を書き込んだ後に、
保存したDMI情報を反映させれば、うまくいきそうな雰囲気でもあります。
私のところに VAIO は無いんで何ともいえませんが、改造成功者のトレースが無難ですね。
個人的には、デバッカーでソニーソフトのバイナリーパッチ(笑)などが有効かと。
>ぱぱやん さん
例えばESCD情報はPnP関連のデータをBIOS ROMに書き込んだモノの訳ですが、これを書き込むにはBIOSプログラムに内蔵されたFlash ROM書き換えルーチンが、ROMの種類に対応してる必要が有ります。
DMI情報に関してはPC構成によって変化はしないので、AFLASH.exeとかで吸い上げたモノに入ってるので固定して構いませんが、ぱぱやん さんの様にROMを交換した場合、果たしてESCD情報とかはちゃんと書き込みされてるのでしょうか?
「ROM焼き大丈夫」とかは、多分そのあたりも考えて、なるべく旧くて汎用で使われていたらしいFlash ROMを採用してた様ですが、その為にFlash ROMが製造終了すると「ROM焼き大丈夫」自体も消えざるを得なかった感じです。
>tkon さん。
Sony VAIOのDMI情報については、下記を見て貰うと感じが掴めると思います。
http://www.vaiosite.com/mb/dmi.htm
tkonさん・金華山の仙人さん、こんばんは。
当方ASUSマザーはVAIOに使用されている1台なので断言はできませんがROM単体での書込みには問題ないと思うのですが...。
当方のVAIOは元のROMはバックアップ用で保存し、別途用意したROMにDMIごと書き込んで使用しています。
AFLASHでもセーブしたBIOSデータにはDMIデータも含まれているので難しい事は考えなくても良いです。
ただし、当方はtkonさんの開発したROMライターを使用しての話です。
以前行なっていたホットスワップでも、AMIFLASHの場合は書込み可能だったと思います。
AMIFLASHの場合、M/B・ROMが違っていても注意を促すだけで強制的に書き込みますからね...。
※ ただ単にメニュー形式なので使いやすくて好きでした。
AWARDFLASHについてはあまりよく知りませんし、VAIOではAMIFLASHでの書込みが出来ませんでした。
旧ROMの場合 Boot Block Lockoutは 3E000h-3FFFFhでしたが、
FWHの場合は 38000h-3FFFFhになっているようです。
2MROMの話です。4Mでは70000h-7FFFFhとなっていました。
データシートの一部を見ただけなので間違っているかもしれません。
ただし、この通りだとすれば2MROMのFWHの場合38000hからあるDMIは書換え不可となります。
この辺の事はtkonさんいかがでしょうか?
何にしてもBIOSの更新時に各ユーザーがBIOSデータをバックアップしておくように心がけないといけないと思います。
当方DMI領域はオプションのDMIクリアーにした場合上書き、設定しない場合保存だと思っていました。
最近、M/B上で焼く事がなくなったので(実はROMライターも触っていない)使う事がありませんが....。
標準の書き換えソフトであるAWDFLASH.EXEにも、DMI情報をセーブしたりクリヤしたるするオプションが有るので、テッキリESCD情報と同じだと思っていたのですが、DMI情報の扱いは結構厄介そうです。
それとMX1とR72には3004.binという全く同じBIOSファイル(fc.exe /bで相違無し)が提供されてますし、VAIOのDMI情報にはシリアル番号も載ってますので、単純にROMライタでBIOSファイルを書き込んだだけのモノでは、DMI情報が無い事もハッキリしてます。
ですから、PC起動時又はSony提供の書き換えユーティリティのいずれかがDMI情報を書き込んでる筈です。
今回の事例の様にDMI情報をPC上で書き込み出来ない場合に、ROMライタでDMI情報を一緒に復旧する手段が上手く分かると助かりますね。
おはようございます。
私もDMI情報には詳しくないのですが、ハードウェア固有の情報を集めて持つらしいですね。
ユーティリティがハードウェア情報をピックアップして記しているのか?、または、
単純に整合性を持たすためにチェックサムのようなデータを書き込んでいるのか?
DMI参照ツールを使って、書き込む前と後でのDMI領域の差分をみれば、判断できるのかも
しれません。
私は、単純に、マザーボードメーカーが自社とOEM供給している物の情報の差分をDMIにおき、
BIOSアップデート時は、その領域以外(BootBlock とMainBlock)のみ更新すればよいと
しているように見えていました。
ソニーのアプリケーションが自社製のみ上で動作するようにするのでしたら、DMI情報を参照して
起動させているのでしょう。もし、私がソニーPCを持っていて改良するのでしたら、DMI情報は、
オリジナル部分をBootBlock と MainBlock は、書き換えのようにするかもしれません。
でも、どこまで整合性がとれるか、難しいところですね。
PnP絡みのESCD情報とかはBIOSプログラム自身が、起動時にPCの情報を検出して書き込んでるから、テッキリDMI情報もそうだと思ってました。
しかし、もしかして書き換えユーティリティがBIOS書き換え時後に、追記してたのなら仕方が無い話ですね。
http://hpcgi2.nifty.com/mx/treebbs.cgi?kako=0&log=10476&root=10353
http://hpcgi2.nifty.com/mx/treebbs.cgi?kako=0&log=10477&root=10442
いきなり立て続けに2件、同じ問題が報告されたのですが、どうもBIOS書き換えサービスを受けた後、DMI情報が書き込まれなくなってる様です。
なんとなくですが、BIOSプログラムがROM上のデータを自己書き換えする時に、書き換え可否を何処かで見ていて、それが書き換え不可のままに設定されてるみたいに思えます。
こういう事ってあり得るのでしょうか? また回復策はROMライタを使う以外には無いのでしょうか?
うーーん、12V読み出しなROMが有って一昔前に一般的だった
としたら納得出来なくもないですが、未使用なフラッシュROMと
明記してるなら5V読み出し/12V書き込みと書くべきでしょう
ね。
私の評価は「やや悪い」になりそうです。
余談:
ROMライタ兼業農家(爆)も大変ですね~。
私も雨ばかりで困ってましたが、先週の数少ない晴れ間に何とか布団を
干しましたよ。
オークションの表現には、間違いないです。28F010/28F020 は、5V品に入ります。
ROMは、Read Only Memory の利用形態なので、UV-EPROMも含め5V品に入ります。
いまどきのフラッシュROMやEEPROMは、5V(or 3V)単一読み書き品が
あたりまえなので、こっちが標準になっていますけどね。(^ ^)/
その他:
今年は、台風、雨、台風、雨、、、、で稲刈り終わんね~。つかれたヨ、もうダメポ(笑)。
tkon さん、レスをどうもです。
12V品では使いづらいですね。28F001のお仲間だった訳ですか。
という事はオークションの掲載情報は大嘘になりそうですが、きっと
出品者は「読み出しは5V」とか言いそうな悪寒が。
金華山の仙人さん、こんにちは。
28F010/28F020 の消去、データ焼きは12Vのようでね。さらに古いタイプの
フラッシュROMです。
私のところの旧タイプ用のROMライタでは、12Vがないので消去、データ焼き込みは
できません。ソフトも未対応です。ROMは、読めますのでデータの吸い上げぐらいまでです。
当時は、紫外線消去型の UV-EPROM が一般的に利用されている中でこのタイプは、
基板やICソケットに刺さったまま、読み書きできる便利なものです。12V必要ですけど。
http://www.intel.co.jp/jp/developer/design/support/faq/flash/5v_bulk_erase.htm
|Bulk Erase フラッシュ・メモリはクイック・パルス方式ですか、それともオート・プログラマブル方式ですか?
|Bulk Erase フラッシュ・メモリ (28F010 および 28F020) は内蔵の WSM (Write State Machine) を備えていないクイック・パルス方式のデバイスです。このほかのインテル(R) フラッシュ・メモリ・デバイスはすべて WSM を備えており、これによってすべてのパルシングを内部で行っているため、オート・プロブラマブル方式のデバイスに分類されます。
うーーーん、28F010/28F020 だけ何か特殊っぽい話が書かれてますね。
http://homepage1.nifty.com/hidex/fmvc/bios.html
|・「FLASH」と書いたチップの表示
| P28F010 -150 U51602J2 INTEL (R)(C)'88 '93 … チップに印刷
一応BIOS用として使えるモノではあるみたいですね。上記のFMV-4100C2では、やや遅い(-150)モノが使われてる様ですし。
尚、下記では2代目FMV-TOWNSの実験用に使ったみたいです。元々載っていたROMは、写真がハッキリしませんがSSTのモノの様ですね。
http://hp.vector.co.jp/authors/VA018718/towns/K5VTW/biosup1.htm
が10個セット(未使用)でオークションに出てました。希望価格は900円です。
http://page6.auctions.yahoo.co.jp/jp/auction/f28677677
1Mbit品なのが残念ですが、これってMBのBIOSとして使えるモノなんでしょうか?
http://www.ioss.com.tw/web/Japanese/RD1BIOSSavior/SelectionSheet.html
上記の一覧に載ってないので、どうも良く分かりません。まあ5V品の様だし、12V品で使えない28F001とは違うみたいですから、やや安心そうですが。
尚、私はヤフーオークションには未登録なので、これをご覧になったどなたか買っても全然オッケーです。
ぱぱやんさん、こんにちは。
エラー範囲が、20000-47FFFh、6E000-6FFFFh ですか、、。
4MのROMにしては、中途半端なエリアですね。
データ消去で全て FF にならないのは、問題箇所を示していますので、まず、
FF になるようにします。
1.たとえば、この問題がありそうなフラッシュROMに限り、Vcc(3.0~3.6) を
3.6 ぐらいに強化して消去してみるなど。
2.消去に時間がかかっているかもしれないので、pause 時は、数秒間隔をあけてみる。
3.消去できなかった箇所を数度に渡り消去する。
/* 20000-47000 */
FWH_LL.EXE 07 FFBA0002 FFFA0000,20 *,D0
pause
FWH_LL.EXE 07 FFBB0002 FFFB0000,20 *,D0
pause
FWH_LL.EXE 07 FFBC0002 FFFC0000,20 *,D0
/* 6E000-6FFFF */
FWH_LL.EXE 07 FFBE0002 FFFE0000,20 *,D0
そうなんです、この掲示板は、TAB や複数半角スペースは、省かれてしまいます。
なんか設定でもあるのかな?(ちなみにデフォルト設定です)
atat さん、こんにちは。
ROMライタ自身は、正常に動いていますね。おめでとう。\(^ ^)/ excellent! good job!
マザーボード起動の真っ暗は、BIOSデータと思いますけど、
マザーボードのハードに問題がある場合も考えられます。
BIOSデータは、対象のマザーボードでない場合や、メーカーに
アップロードされているデータが間違っている場合も考えられますので、
他の日付のBIOS等も試してみてください。
マザーボードのハードの場合は、CPUなどのユニット交換で切り分けで動作確認する
必要があると思います。
ADD FileDATA EraseDATA ROMDATA
------------------------------------------------
20000h- 23 C0 00
20001h- 09 20 00
20002h- 2D 47 05
20003h- 6C 4F 4C
20004h- 68 42 40
20005h- 35 4C 04
20006h- 2D 44 04
20007h- DD 31 91
...
tkonさん、こんにちは。
問題点の調査、報告
1. 書込み時間に40分程かかりました。
→ Wオプションの設定で改善されました。
2. レギュレータ仕様の3.3Vではエラーが出てしまいReadすらできません。?です。
→ PCから取出した+5Vをレギュレータで3.3Vに落としているのでノイズの可能性あり。
3. コンペアの結果
→ FFBF0002h-01hであることからブートブロックの書込みは可のようです。
Erase後に書き込んだ結果20000-47FFFh、6E000-6FFFFhに的が絞られました。
※ファイルアドレスで表記してます。
どうもノイズでは無さそうなのでErase、Writeでデータを取ってみた結果、
ADDFileDATAEraseDATAROMDATA
------------------------------------------------
20000h-23C000
20001h-092000
20002h-2D4705
20003h-6C4F4C
20004h-684240
20005h-354C04
20006h-2D4404
20007h-DD3191
...
EraseでFFhにならないことから、ビットエラー?ではないかと思いますが...
ただtkonさんの場合と違い、ビットデータが抜けているようです。
上記データはほんの一部ですが、ここまで大量に出ていると使い物になりません。
ただ20007hのデータは?です。
久しぶりに使おうと思ったら起動しなかったM/Bから取ったものですので返って原因がわかって良かったと思います。
粗悪コンデンサ問題のPCだったので、コンデンサを取替えたりしましたが、起動することはなかったので諦めてたのですが、
少し希望が出てきました。とはいっても、代わりのFWHが無いですけど...。
余談ですがこのM/Bを使用していた頃、Boot後のWinXPロゴが表示されるまでのブランク画面が2分以上かかっていました。
Cel 633MHzでMem256MB・ATA33だったのですが同等のCel400マシンより遥かに時間がかかっていました。
もしかするとBIOSのビット抜けが原因だったのかも...
tkonさん。こんにちは。レスありがとうございます。
erase出来ました!! fwh_dumpでFFを確認しました。
後はwriteだけなのですが,下記のようにしたところとりあえず書き込むことが出来ました。
その後,ROMから再びF4M_READ.BATで吐き出し,fcで書き込みに使ったものと比較しましたがOKでした。
ところが,マザーボードに装着し起動したところ画面は真っ暗のまま。
おそらく書き込みのコマンドを間違っていると思うのですが・・・如何でしょうか?
あまり考えたくないのですが,もしかしてマザーそのものが駄目なのでしょうか?
KONFLASH -T:24 -Q:1 -W:1 -A:FFF80000 -C:10000 -S:0 -R:FFB80002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFF90000 -C:10000 -S:10000 -R:FFB90002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFA0000 -C:10000 -S:20000 -R:FFBA0002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFB0000 -C:10000 -S:30000 -R:FFBB0002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFC0000 -C:10000 -S:40000 -R:FFBC0002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFD0000 -C:10000 -S:50000 -R:FFBD0002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFE0000 -C:10000 -S:60000 -R:FFBE0002 -F:%1
KONFLASH -T:24 -Q:1 -W:1 -A:FFFF0000 -C:10000 -S:70000 -R:FFBF0002 -F:%1
ところでNo218でのdumpエラーなのですが,VCC-GND 間を1μFの電解コンデンサと,
ROMとプリンタポート間のケーブルを短くする(10cm)ことで回避しました。
電池は3Vのままにしました。(実は以前は50cmぐらいケーブルを使用していました。)
ケーブルはシールドでなく普通のフラットケーブルなので少しでも効果?があるかと
思い、アルミホイルでぐるぐる巻きにしています。
atat さん、どもです。
読み取り関連(FWH_DUMP、F4M_READ) がうまくいきましたら、次は、消去と書き込みです。
Pm49FL004 は、4Mビットサイズなのと、リセット後の状態は、書き込み禁止になって
いますので、FWHERASE.BAT に変更が必要です。
消去、書き込みは、一度、解除してから行います。解除エリアは、
FFB80002 /* 00000-0FFFF */
FFB90002 /* 10000-1FFFF */
FFBA0002 /* 20000-2FFFF */
FFBB0002 /* 30000-3FFFF */
FFBC0002 /* 40000-4FFFF */
FFBD0002 /* 50000-5FFFF */
FFBE0002 /* 60000-6FFFF */
FFBF0002 /* 70000-7FFFF */
です。
konflash でのブロック消去は、
/* 00000-0FFFF */ "KONFLASH -T:21 -Q:1 -R:FFB80002 -S:0 -C:100"
/* 10000-1FFFF */ "KONFLASH -T:21 -Q:1 -R:FFB90002 -S:10000 -C:100"
/* 20000-2FFFF */ "KONFLASH -T:21 -Q:1 -R:FFBA0002 -S:20000 -C:100"
/* 30000-3FFFF */ "KONFLASH -T:21 -Q:1 -R:FFBB0002 -S:30000 -C:100"
/* 40000-4FFFF */ "KONFLASH -T:21 -Q:1 -R:FFBC0002 -S:40000 -C:100"
/* 50000-5FFFF */ "KONFLASH -T:21 -Q:1 -R:FFBD0002 -S:50000 -C:100"
/* 60000-6FFFF */ "KONFLASH -T:21 -Q:1 -R:FFBE0002 -S:60000 -C:100"
/* 70000-7FFFF */ "KONFLASH -T:21 -Q:1 -R:FFBF0002 -S:70000 -C:100"
fwh_ll でのブロック消去は、
/* 00000-0FFFF */ "fwh_ll 2001F FFB80002 @80 FFC05555,AA FFC02AAA,55 FFF80000,50 @100"
/* 10000-1FFFF */ "fwh_ll 2001F FFB90002 @80 FFC05555,AA FFC02AAA,55 FFF90000,50 @100"
/* 20000-2FFFF */ "fwh_ll 2001F FFBA0002 @80 FFC05555,AA FFC02AAA,55 FFFA0000,50 @100"
/* 30000-3FFFF */ "fwh_ll 2001F FFBB0002 @80 FFC05555,AA FFC02AAA,55 FFFB0000,50 @100"
/* 40000-4FFFF */ "fwh_ll 2001F FFBC0002 @80 FFC05555,AA FFC02AAA,55 FFFC0000,50 @100"
/* 50000-5FFFF */ "fwh_ll 2001F FFBD0002 @80 FFC05555,AA FFC02AAA,55 FFFD0000,50 @100"
/* 60000-6FFFF */ "fwh_ll 2001F FFBE0002 @80 FFC05555,AA FFC02AAA,55 FFFE0000,50 @100"
/* 70000-7FFFF */ "fwh_ll 2001F FFBF0002 @80 FFC05555,AA FFC02AAA,55 FFFF0000,50 @100"
バッチコマンド pause をはさんで、F4MERASE.BAT などにしてみてください。
tkonさん。お久しぶりです。
中々やる機会がなくて伸び伸びになってました。
"FWH_DUMP FFF80000 100"はエラー無し、
"F4M_READ.BAT"でROMのデータを二つのファイルに保存し,
それをfcで比較しましたが同一でOKでした。
しかしROMのデータの消去でエラーが発生しました。
"FWHERASE.BAT all"をすると,
*** Error: found un-erased data in 03FFFH-00000H !! ***
でストップします。
batを見たところ,-T:21で消去,-T:22でそのチェックをしているのかと
思っているのですが,その後,"F4M_READ.BAT"で吐き出したものと以前のもの
とをfcで比較しても差がないので,どうも消去作業そのものが実行できてい
ないものと考えています。
eraseに関してはフラッシュROM固有のものが出てきているのでしょうか?
お忙しいかもしれませんが,アドバイスを頂ければ幸いです。
ぱぱやんさん、こんばんは。
旧ROM版は安定するようになりましたか、お疲れ様でした。
LS245基板も、載せましたので、機会があれば試してみてください。
82802 のフラッシュROMは、Read-Cycle と Write-Cycle のクロックの扱いが
変わっているらしく、Read-Cycle と同じタイミングで Write-Cycle をすると
エラーがででしまうようです。
それで、82802 の書き込み N82WRITE.BAT では、ベースクロックの幅をオプションで
変更しています。"-W:0" だと通常の10倍幅ぐらいですので、確かに40分ぐらい
かかると思います。"-W:3" だと通常の2倍幅ぐらいですので、10分もかからないと
思いますので、バッチファイルのオプションを変更してみてください。
電池2.8Vで良くて、外部電源の3.3Vだとエラーになるのは、私も原因が
判りかねます。通常は、3.3Vが安定し、3V未満では、エラーになる場合があります。
はて、原因は何でしょう。
ブートブロックの Lockdown チェックは、"FWH_DUMP FFBF0002 1" で、値が、
0x00 か 0x01 だと問題なく読み書きできます。
マザーボードのジャンパでの書き込み禁止は、フラッシュROM信号ピン
#TBL(8)、#WP(7)を Low にした状態と同じです。ここは、常時 High にしているので、
書き込みできる状態にしています。
tkonさん、こんばんは。
基板→D-SUBコネクタの配線を短くしシールド化して、ようやく旧ROM版も99%程安定するようになりました。
まだ時々コケますが、不安定だったROMも書込みできるようになりました。
FWH版の方ですが、ちょうどi810マシンが逝ってしまったのでFWHの書き込みテストをしてみました。
読込みはバッチリ(ReadデータとのコンペアではOK)なのですが、書込みが問題ありでした。
使用ROMは82802AB
問題点
1. 書込み時間に40分程かかりました。(テストPC:Celeron1.2GHzで、ファイルはHDより読出し)
電源に2.8V程のボタン電池を使用
2. レギュレータ仕様の3.3Vではエラーが出てしまいReadすらできません。?です。
3. コンペアの結果
01000h - 017FFh
02000h - 0485Dh
6E000h - 79AD9h
7E000h - 7FFFFh
と、大量の不一致箇所がありました。(データFFhを書き込んだものを除く)
ちなみに書き込みは最後まで完了しエラーは出ません。
7E000-7FFFFhは例のごとくBootBlockLockoutだと思われるのですが、他のデータは?です。
旧ROM版と同じくノイズが関係している感じですが、基本的にはtkonさんと同じような部品配置で
同じような配線をしているのですが.....
こちらは基板→D-SUBコネクタ間は5cmほどで押さえているので長さは良いと思うのですが、
やはりシールド処理した方が無難ですかね~?
なぜ3.3Vではダメで2.8Vだと駆動するのか...まずココから切り詰めた方がいいかな?
CPUパワーはあまり関係ないと思うので、なぜ時間がかかるかも疑問です。
しかし、LockoutされたROMばかりで嫌になります。
実験に使用しているので運悪くLockoutされるのかな?
82802ABを使用したM/BでBootBlockのLockをJPで設定できるのがほとんどだと思うのですが、
これらも一度Lockすると書き込めなくなるのでしょうか?
atat さん、どうも。
実際、ノイズがあるかどうかは、コンデンサを着けたり、離したりして、
DUMP 等の動作を確認してみてください。線付クリップを使ってもよいし、
コンデンサの片線を着けて、もう一方を手動で接触させて確認するような
タイプでもよいです。
はい、線をハンダ付けした後でも、なんらかの原因で、切れてプラプラと
浮いている時があります。信号が行っていない。断線しているような感じ。
電池も試してみてください。
tkonさん、こんばんわ。
大変基本的な事を質問させてください。
ノイズ取りで,VCC-GND 間に1μFの電解コンデンサを入れるとありますが,
これは,ROM側の25ピンと32ピンから新たにグランウンドへ線を引っ張り,その
中途に1μFの電解コンデンサを入れる,と解釈するのでしょうか?
後、浮くっていうのは結線していないということですよね。
tkonさん。素早いレス、ありがとうございます。
早速やってみます。かなり希望が沸いてきました!!
フラッシュROMを取り出す時に,角を二度ばかりガリガリ
したものでROM自体を破壊したかと思っていました。
フラッシュROMって意外と頑丈なんですね。
atat さん、おはようございます。
まずは、ダンプ "FWH_DUMP FFF80000 80000" がエラー無しで終了するとこまで進めます。
ダンプの途中でエラーで抜けるのは、電池が3V未満だったり、#INIT(24)が浮いてたり
すると出ます。Pm49FL004T 電源電圧は、3.0~3.6Vですが、通常は、多少のマージンが
ありますが、もしかしたら下限ぎりぎりかもしれません。
もしかしたら、Pm49FL004T の消費電力が大きく、下限の電圧変動でエラーするのこも
しれません。
電池を換えたり、乾電池の電池の組み合わせで 3.3V ぐらいまでもっていくなり、
外部電源を使ったり、さらにVCC-GND 間を1μFの電解コンデンサあたりで
ノイズ取り(?)など、試してみてください。
後は、
FWH_CHK での化けチェック。
FWH_READ で前のデータをセーブ。
FWH_COMP でセーブしたものと比較。
など。
tkonさん、こんばんわ。
FWH_ID.BATでID取得が出来ました。470/1kで,CHKVOLTでのread時,rom/prt=1.08V/1.58Vでした。
やはり,aliは駄目でした。intel865Gでは出来たのでやはりintel系かnforce系なのでしょうか?
intelでもnote pcは微妙ですね。
idは取得の結果は,
Manufacture's ID = 9D
Deveice ID = 6e
pcmのデータシートでは,00000hで9Dh
00001hで6Ehでした。
"FWH_DUMP FFF80000 100"の結果は
----------------------------------------------------------------------------
*** FWH ROM -Data Dump ***
(push "Enter")
FFFC:0000 65 D0 16 FB 82 00 F3 10-F3 F3 F3 F3 18 18 18 18 e...............
FFFC:0010 00 00 61 00 FD 7E A4 EA-86 00 44 44 30 F3 F7
ERR: 0x8300 - addr 0xFFFC:1F - read, end TAR0 error !! (retval = 0x0)
----------------------------------------------------------------------------
でした。
この後なのですが・・・・
どうすればよいのでしょうか???
たんまさん、こんばんは。
CHKVOLT での D0-D3、470/1K read PRN/ROM = 2.56V/1.74V は、値が大きいですね。
まず、ここをチェックします。原因がPC側がROMライタ側かを切り分けて見ます。
ROMライタ無しで、PCのプリンタポートの D0-D7 のいずれかを線付クリップか
なんかで直接 470/1K 抵抗を取り付けて、CHKVOLT してみてください。
値が同じなら、問題がPC側に依存しているので、それなら、
PC側のプリンタモード ECP または、ECP+EPP を確認してみる。
D0-D3 のR1/R2 の R1 の抵抗値をさらに低く設定してみる。330、270、200 など。
他のPCを試してみるとか。
値が異なってたら、ROMライタ側で、D0-D3 のR1/R2 まわりの回路をチェック
してみる。どこかと接触してるかとか、GNDが繋がっているかなど。
tkonさん、おはようございます。
以前、FWHのROMライターを作ると宣言していました「たんま」です。
ハードを作ってみましたがCHKVOLTで詰まってしまいました。
たぶん、ハード的なミスはしていないとは思うのですが・・・(弱気)
R1/R2が1k/2.2kのときreadのPRN/ROMの電圧が3.26Vと2.26V。writeだと3.37Vと2.32Vです。
470/1kだとreadで2.56Vと1.74V。writeで3.19Vと2.17Vです。
で、N82802ABを取り付けて470/1kの状態でFWH_IDを実行すると
「ERR: 0xC10F - write, WSYNC error!! (retval = 0xF)」
同じくN82_IDだと
「>FWH_LL.EXE 01 FFC00000,90 * +1
ERR: 0xC10F - addr 0xFFC0:0 - write, WSYNC error !! (retval = 0xF)」
と、エラーが出てしまいます。
自分では何とかこのライターを動かしたいので
これからどのようにチェックすればよいかご教授していただけたら幸いです。
追記:ちなみにマザーはINTEL820チップセットのスーパーマイクロのマザーです。
(学校の物なので型番とかまではよくわかりません。すみません)
tkonさん。アドバイスありがとうございます。
早速試そうとしたのですが、基盤をひっくり返している内に
線を切ってしまい、先に修復するはめになりました。
同時にやる気も萎え気味です。
来週にはサブマシンが届くのでそれで改めてテストできるかと思います。
しかし,チップセットがALiなのでこちらもなんだが望みが薄そうです。
書き込みするマシンが原因で失敗していればいいですが・・・
旧タイプ用のROMライタに、LS245の外付けモジュールを作ってみました。
自分とこでは、本体にノイズが出ていなかったので、取り付けても変わりませんでしたが、
たぶん、信号が安定し、ノイズが出なくなると思います。
ノイズで不安定な場合は、試してみてください。
atat さん、どうも。
CHKVOLT のテストは、ROM無しか、または、ROMがセットしてある場合は、
電源電圧が加わった状態で測定してください。作業としては、ROM無しの状態が
安全です。
read PRN/ROM = 1.12v/1.9v でしたら、正常に動作してもよい値です。
動かないのは、フラッシュROMに信号が正しくいっていないのかもしれません。
もう一度、信号の接触不良等を確認してみてください。
1.フラッシュROMに電源電圧とGNDが来ているかどうか?
GND(16,28)、Vcc(32,25) 導通チェックと、電源ON時にICソケット端子(32,25) に
+3v が来てるかのチェック。
2.固定値を加えている端子に信号が来ているかどうか?
#INIT(24) High, #WP(7) High, #TBL High。High は+3v。#INIT が浮いている場合など
エラーになるので再度チェック。
3.TEST.EXE による信号チェック。
一度確認していれば、問題ないと思いますが、再度チェック。
テスタでの測定は、基板のGND端子を一方にあてて、他方は、PLCC32ピンの
ICソケットの中で測定してみてください。
私は、手持ちの古いICソケットを使いますが、その時、ハンダ付けしてても、
絶縁しているときがよくあります。表の端子に信号が来ているかどうかきているか
どうか確認します。
tkonさん。こんばんは。素早いレスに感謝です。
現在書き込みテストしようとしているpcはnote pcで,"東芝DynaBook DB65C 4RC"です。
チップセットは,Intel 82443BXです。
(デバイスマネージャーのシステムデバイスに出ていたのでこれだと思います。)
残念なことに他のpcはレガシーフリーでプリンタポートがありません。
とりあえず手持ちの抵抗が無いので,今度買って来てテストしようと思います。
それと基本的なことの確認なのですが、CHKVOLT.batでの電圧測定時はフラッシュROMは
ソケットにセットしない状態でよろしいのでしょうか?
先ほどの書き込みした値は,フラッシュROMをセットした状態で測定していました。
フラッシュROMをセットしない状態では,ROM側のread/write=1.9v/2.5vでした。
PRN = PRT です。
atat さん、こんばんは。
Pm49FL004 は、FWH/LPC 両方使えるタイプですね。初めの動作確認は、xxx_DUMP だけで
読み取り動作を確認します。"FWH_DUMP FFF80000 100" などでダンプ。
CHKVOLT でのread ROM側 1.12V とPRT側 2.20V ですが、PRT側がちょっと高めに
でていますね。フラッシュROMからの読み取り時、データ Low を認識していない
ような感じです。
D0-D3 の抵抗値の調整としては、R1/R2=470/1K を R1 小さめで変わってきます。
390/1K や 360/1K のようにすると PRN 側 が 2V未満になると思います。
ですが、まず、PRT側の 2.2v がこちらの予測から外れているので、その原因を考えると、
1.マザーボードのチップセットがインテル系、nForce 系ではない特徴のあるPC。
もし、他にテストできるPCがあるのでしたら、確認してみる。
2.R1/R2 の470/1K で R1が 470 の抵抗値になっていない。それより大きめ。
もう一回確認してみる。
私の手持ちのマザーボードでは、ROM/PRT=1.12V/2.20V のようなサンプル値が
無かったので、よろしければ、さらに情報ください。
あんちょこフラッシュROMライターとkonflashを使用させてもらってます。
うまく動作できていないので質問させてください。
書き込みしたいフラッシュROMは,"PMCのPm49FL004T-33JC"です。
以前,SMKさんがPm49FL004Tで書き込みに成功しているようです。
回路は無事に組みあがり,test.exeもchkvolt.batのチェックも無事に通ったのですが
(抵抗値の組み合わせはSMKさんと同じ,470/1kにし,その時の電圧は
GNDに対して,ROM側でread/write=1.12V/1.5V
PRT側でread/write=2.20V/3.5Vでした。)
その後のID取得のやり方がわかりません。
SMKさんは、BATを作成してらっしゃいますが,自分にはどのように作成すれば
いいのか皆目検討もつきません。メーカーのデーターシートから推測し
なければ無理でしょうか?
とりあえず(1k/2.2k)の抵抗の組み合わせも試しましたが駄目でした。
CHKPRNPTでの結果は
prn port = 0x378
ext_ctrl_reg = 0x15
set ecr = 0x34
get ecr = 0x35
*** set printer mode to "PS/2 Parallel Port" ***
(Press Enter Key)
prn test
set data = 0
get data = 0x0
data read mode
getdata = 0xFF -> *** not found Flash ROM writer ***
data write mode
not found -> prn port = 0x3BC
not found -> prn port = 0x278
です。この最後の"not found"の2行なのですがこれは異常なのでしょうか?
FWH_ID,LPC_IDは,電源on,off,何れの時も,
ERR: 0xC10F - write, WSYNC error !! (retval = 0xF)
です。
ぱぱやん さん tkon さん ありがとうございます。こんどノイズ対策をしてみたいと思います
mさん、ぱぱやんさん、金華山の仙人さん、どうも。
そうですね。SST29EE010 は、1Mbit Page-Write EEPROM で、ページライトでの
データ焼き込みです。
まず、ノイズ等のチェックの仕方は、"std_dump 0 100" あたりでダンプして、
データ 0x00 部分のアドレスを見ます。そのアドレスで、特定アドレスのバイトチェック
std_chk [address] 10000 をします。ノイズ等の影響がある場合、この 0x00 値が化けます。
データ 0xFF もチェックしてみてください。
頻度が多い場合は、ノイズ対策が必要です。頻度が少なければ、エラー時に再試行する
PG2WRITE.BAT を使ってみてください。
PG2WRITE.BAT で使われているオプション -X:n は、エラー時の再試行数です。
フラッシュROMは、焼き込みの上限がありますので、この引数に大きい値や、変な値は、
避けて、注意して使ってください。
こちらからは、ノイズの出方や書き込みがどの程度できているのかは、わかりませんが、
STD_DUMP や STD_READ がうまく動作しているのであれば、あとは、ちょっとしたことで
不安定な動作がロックしたように安定すると思います。
ぱぱやん さん、AWARD6.0の情報どうもです。いずれにしてもBootBlockは最後の1000Hエリアなんですね。
そうなるとBIOS起動時の一行表示の為に、ASUS製PatchedBIOSだけBootBlockの書き換えを行ってるのが、上手くいかずに一行表示が出ない件は、BIOS書き換えソフトでは表示されないけど、やはりBootBlockが書き換え出来て無いと考えた方が良さそうですね。
tkonさんお久しぶりです。
SST29EE020ではPG_WRITEか、PG2_WRITEしか使えなかったと思います。
対応していないと思いますよ。
mさんもノイズにやられているような気がしますが、どうなんでしょうtkonさん?
一度、過去のログを参照にノイズ対策をしてみては?
あと、金華山の仙人さんAWARD6.0でも理屈は同じですよー。
当方では4MのFWHでしかAWARD6.0を確認していないのでアドレスでは、7E000-7FFFFになります。
※FWHでのアドレス表示は違いますが...
このところ暇がなくて...やりたい事は山ほどあるのに....
sst29ee.010 にはstdwrite.batがみあたらないのですがこれは、sst29ee系のROMが1バイト単位に対応していないのでしょうか?
たびたび質問してすいません
tkonさんありがとうございます。今度試してみたいと思います。
mさん、こんばんは。
このエラーメッセージは、PG_WRITE で出たエラーと思います。128 バイトをページ
焼き込みした後に、元データと読み出し比較して異なった場合に表示されます。
考えられるのは、
1.ソフトウェア書き込みプロテクト等がかかっていて、書き込みができない。
この時は、消去もできていませんので、そこを確認してみてください。
2.フラッシュROMの種類で、ページライト(128バイト単位の焼き込み)に対応
している物と、そうでないシングル(1バイト単位)のものがあります。
どの品種かはわかりませんが、たぶん、ページライト未サポートのものと思われますので、
STDWRITE.BAT 系のシングルタイプで試してみてください。
旧タイプのフラッシュROMライターについてなんですがBIOSに書くときにどうしてもerr: 0×D100-write, write failedと出るのですが、原因や解決法がわかる人がいたら教えてください
旧タイプのフラッシュROMライターについてなんですがBIOSに書くときにどうしてもerr: 0×D100-write, write failedと出るのですが、原因や解決法がわかる人がいたら教えてください
atatさん、初めまして。情報ありがとうございます。
神和電機さんで3V品(FWH/LPC)は、正規に扱っていませんでしたか、
それは残念です。たぶん、業者が決算時あたりに在庫処分を行った物なのかもしれません。
私は、3.3Vと3Vは、製品の分類としては、ほとんど同義で使っています。
(回路の電圧指定しているときは、違いますが)
マザーボードBIOS用のフラッシュROMは、5V品(旧タイプ)と3.3V品
(FWH/LPC)とに分かれますが、旧タイプの5V品でも、データシートの
タイトルは、「5V単一読み書き」ですが、電源電圧の定格は、3~7Vとなどと
範囲は広く、3Vでもいける場合もあります。
実際に、私の持っているマザーボード ECS K7VZA(ver3.x) でも、5V品 W49F002 を
3.3Vで読み書きしているようです。
kさん、おめでとう v(^ ^)。
外部電源は、USB+5V端子を3端子レギュレータ等で3.3Vにしても使用できます。
他にも、使わなくなったATX電源(起動のための装置が必要)や、出力3Vぐらいの
ACアダプタもいけると思います。
はじめまして。
昨日,秋葉原に行きましたので、神和電気さんに寄ってみました
がフラッシュROMは5Vのしか置いていない、とのことでした。
さらに,3.3Vの方はこの先もおかないだろう、とのこと。
もしかして3V用のフラッシュROMは手に入るかと聞いた方が
よかったのでしょうか?
ところで,3V用のフラッシュROMは,3.3V用と同義であってるので
しょうか?初心者な質問ですいません。
キタ━━━━(゚∀゚)━━━━ッ!!
すみません興奮してしまいました
読み、書きとも成功しました!
今、会社マシンで作業したので、家に帰ってから装着してみます。
理由は1番だったみたいです。何度もテストしているうちに
電池がヘタってしまったようです。
原因が分かってふと思ったんですが、USB給電とか出来るんでしょうか?
USBの5vをLEDかなんかで降圧して…
手持ちLEDがないので今度試してみます。
kさん、どうも。
神和電機さんで、BIOS用フラッシュROMを扱っていたのですね。情報ありがとうございます。
通販HPもあるので、そのうち、問い合わせてみます。
フラッシュROMライタでのエラーの出方は、どのようなものですか?
1.読み書き途中でエラーで抜ける場合。
2.DUMP、CHK や COMP の読み取り時にデータが化ける。化けデータが 0xF0 or 0x0F などに
化ける。または、それ以外の化け方。
1は、電池の電圧が低下していたり、抵抗10Kでプルアップしている信号
INIT(24)が浮いていたりすると起こる場合あり。
2で、データが 0xF0 or 0x0F の場合は、データのROM焼きは、正常に行われていると
思います。読み取りを安定させるには、CLK(31) への信号を強化してみます。
CLK での R1/R2 を 1K~560Ω/open に変えてみてください。
1号機はハンダが汚くごちゃごちゃになってきたので、
新規にまた作り直してみました。
今回はすんなりID取得までこぎつけました。
tkonさんのおっしゃるようにMEMORYとBOOTとに分けて書き込みましたが、
やはりエラー出ます。(MEMORY領域で場所はまちまち)
まだ詳しく調べてないのですが。(ついさっき完成したばかり)
あとW49V002AP買ったのは神和電機さんです。春頃?だったかな?(1000円くらいだったかな…)いっしょにSSTの49LF020も買いました。
今日のお昼休みに不足パーツ買出しにアキバまで行ったんですが、
神和電機さんにW49V002APはありませんでした。
SSTのとかはあったんですが。。あとAMD製?の見慣れないヤツとか。(AMDロゴがはいってました)
型番メモってくればよかった。
近いうちに、神和電機さんで少量注文できるのか聞いてみます。
kさん、こんちは。
ID取得ができれば、ほとんどOKだと思います。
LPCWRITE.BAT のオプション指定は、ALL ではなく、MEMORY と BOOT とに分けて
行ってください。ALL では、正常に書き込み終了後の konflash プログラムからの
戻り値が不確定で、バッチファイルがエラーで中断する場合があります。
kさんに、ちょっとお聞きしますが、W49V002 を秋葉原のラジオデーパートで購入した
そうですが、どのお店ですか?(神和電機のDRAM屋さんあたり?)
というのは、私の K7nCR18GM の W49V002 のビットエラー箇所がさらに増えて2箇所に
なってしまっています。運良く、最新のBIOSは、その2箇所ともビットが1で、
はじめから飛んた状態と等しいので助かりましたが、そろそろ予備を買わなきゃいけない
状態でもあります。
レスありがとうございます。
たったいまID取得成功までたどり着けました!
いろいろ調べた結果、大変マヌケなミスをしておりました。
回路図でいうR3(50~100Ω)のところを11Ω使ってました…
しかし、まだ安定して読み書きできないので、自分なりにいろいろ調べてみます。
お騒がせいたしました。
kさん、はじめまして。
まだ、現時点での原因が、結線、短絡か抵抗の設定かは、こちらからも判断できませんが、
端子間の導通チェック(断線や短絡)と TEST.EXE での信号テストが正しく確認されて
いれば、D0-D3の抵抗値 R1/R2 の変更 ( 1K/2.2K -> 470/1K ) を試してみてください。
動かない症状をみると、ROMに信号が伝わっていないか、ROM自身に電源電圧が
加わっていないようにも感じられますが、上記の抵抗の変更でもうまくいかない場合は、
もう一回ハードウェアの結線、短絡の導通チェックとTEST.EXE での信号をチェックを
してみてください。
CHKPRNPTでの "getdata = 0xFF -> *** not found Flash ROM writer ***" は、
初期に作った ROM ライタ有り、無しチェックの名残です。PC側のプリンタポートに
よって、0xF0 と下位4ビットが0で認識されることがあります。
実際のフラッシュROMのデータ読み書きには、関係がありません。
CHKPRNPT.BAT は、プリンタポートがどのアドレスに割り当てられているかと
PS/2 モードで可動するかどうか確認します。
はじめまして。あんちょこフラッシュROMライター(LPC版)作ってみました。
が、動作してくれません。。。
まともなハードウェア作成は初めてで、テスターの使い方すら
ままならないドシロウトなので、
せめて原因が結線なのか抵抗の設定なのか、切り分けて何とか完成させたいと思っております。
CHKVOLTで調べてみると問題なさそうなんですが…(小声)
CHKPRNPTで、
prnpt = 0x378
ext_ctrl_reg = 0x35
prntest
setdata = 0
getdata = 0x0
data read mode
getdata = 0xFF -> *** not found Flash ROM writer ***
data write mode ↑コレが気になります
notfound -> prnpt = 0x3bc
notfound -> prnpt = 0x278
というメッセージが。これはハードウェアが
正常動作していないということでしょうか?(結線不良?)
もちろんLPC_IDも通りません。
LPC_ID 電源OFF時
ERR 0xC0F0 - white, begin TAR1 error!! (retval = 0xF0)
LPC_ID 電源ON時
ERR 0xC10F - white, WSYNC error!! (retval = 0xF)
プリンタポートはPS/2モードになっています。
マザーはtkonさんと同じk7ncr18gmx2枚
(1枚死んだ時点でバックアップとっておけば…2枚とも飛びました。)
LPCはW49V002AP(新品ラジデパで購入)です。結線不良の疑いありならもう1台作り直しも考えています。
旧タイプ用のROMライタの回路図を訂正しました。
100H(誤) -> 100μH(正)
おっと奇遇ですね。MRパパやんさんとでも呼びましょうか。(^_^;;
AWARD4.5での情報どうもです。もしかしたらAWARD6.0でも同じでしょうか?
「こんばいん」の紹介どうもです。ただ少し調べてみると fc.exe と大きく違わない?感じですが、アドレスが見れる事が有利な点でしょうか?
差違が大きい場合は、結果を.txtファイルに入れる必要が有るのは一緒みたいですし。
よくBIOSアップに失敗した場合、BootBlockのみでFD起動して復旧する手段が紹介されてますから、基本的には大丈夫なのでしょう。
ただBootBlockのみで動作するには、BootBlock以外が使えない事をBootBlock自身が判断可能な状態でないと駄目な気がしますが、その仕組みは良く分からないです。
BIOSアップ時には、おそらくBootBlock以外を書き換え中のフラグみたいなのを管理していて、書き換え完了した時にフラグを初期化する様な仕組みが有る気がしますが。
tkonさん、まいどです。
それと金華山の仙人さん、YANさんのBBSで時々見かけます。
あちらではMRパパと名乗っております。
AWARDBIOS4.5xのBootBlockエリアは、2Mが3E000-3FFFFFで、1Mは1E000-1FFFFになります。
初めにロードされる部分なのですべてのROMにおいて同じと考えても良いのでは?
部分的にコンペアするのはあんちょこROMライターであればバッチファイルを書き換えれば可能です。
Windows上であれば こんばいん - http://akky.cjb.net/ 等で比較して3E000以降のみチェックすればよいと思います。
BootBlockが生きていれば自機で復旧可能(FD読み出し可能)と言われますが
違うM/BのBIOSを入れたらどうにもならなくなったなんて話を時々聞きます。
実際のところBootBlockのみでFDブートは可能なのでしょうか?
暇があれば実験するつもりですが....
ROMライターの改良もしなくては...
BIOSファイルとバックアップしたファイルをfc.exe /b で比較すると、DMIやESCDデータのせいで大量の差違が出てしまいますが、BootBlockだけの差違の有無を簡単に調べる手段は有りますか?
あと今回のやりとりで、どうやら2MbtROMの場合は3E000-3FFFFがBootBlockエリアらしい事が分かりますが、これは2MBなら必ず同じでしょうか? 又、1MbitROMの場合だとどうなりますか?
金華山の仙人さん、こんばんは。
他に、簡単な方法で調べるには、ROMに書き込んだデータをAMI/AWARD ツールで
読んでファイルに保存し、fc org.bin ReadRom.bin で比較して bootblock エリアに
差異がないことで確認できます。
この場合、ROM書き込む前の old rom データと org.bin の bootblock エリアのデータに
異なる部分があることが必要です。org.bin と patchedBIOS の bootblock は異なっている
はずなので、前記のやり方で bootblock が保護されているかどうかは確認できます。
うーーーん、PatchedBIOSの書き込み時は、大抵AWDFLASH.EXEやAFLASH.EXEでしか試してませんが、そういうLockoutされてるらしい表示の報告は無いですね~。
そうなると ASUS製BIOSでPatchedBIOSの一行表示が出ない件は、やはり別の原因が有るのかなあ?
最近はpatchedBIOSの作成や確認の報告も殆ど無くなって寂しい限りですが、やはりROM焼き大丈夫やROMライタを持つユーザーが多く居ないと、起動不可になる危険が心配ですから仕方が無いのでしょうね。
金華山の仙人さん、どうも、おひさしぶりです。
自分とこには、Lockout されたフラッシュROMがないので、何ともいえませんが、
たぶん、BIOSメーカー、AMI、AWARDのフラッシュROMツールでBIOSを
確認したときに、Lockout された表示が出ると思います。
konflash / stdflash ツールでもID取得時に Lockout のデータも表示しています。
この辺は、あたりまえの機能なので、たぶん、Award の winflash.exe ツールなどでは、
BIOS表示が通常シアン色で表示されているのが、Lockout されている場合に赤や網掛け
のようになると推測できます。
BIOSメーカーのツールを使ってみてください。たぶん、出ます。
ですね。
**************************
(3)ASUS用では、BIOS起動画面にPatchedBIOS表示が出ない場合有り
PatchedBIOSが入ってるかどうかは、BIOS起動画面に下記の一行が
追加されてるかどうかで識別可能ですが、ASUS用では出ない事例が
有ります。
|www.ROM.by, BIOS patch v.4.23
*******************************
ASUS用のPatchedBIOSを作ると、大抵BootBlockに書き換えが入りますが、どうやら起動時の上記一行を表示する為みたいですけど、これが出る場合と出ない場合が有ります。
http://www.asus.co.jp/products/mb/crashfreebios2.htm
今までどうしても原因がわからなかったのですが、上記サービスの為にROM自体のBootBlock部分が書き換え不可能になっていたせいなら、辻褄が合いそうです。
ただ、そうならそういうROMを流用して他のMBで使った場合に、もっとトラブルが報告されても不思議は無いのですが、BootBlockはあまりにも基本的なので、同じAWARDなBIOSとかだとBootBlockのプログラムが全く同じで済んでしまうお陰でしょうか?
そのあたりの切り分けのためにも、BootBlock Lockout をチェックするツールがあると非常に有り難いですね。
ぱぱやんさん、こんばんは。
私のところの AI5VG+ PLCC32 W29C020 は、Boot Block Lockout は掛かっていませんでした。
フラッシュROMの不良で書き込んだビットが飛んでしまうことがあるので、メーカー側でも
本当にロックをかけて出荷しているかどうかは疑問の部分です。
たとえば、ユーザが AMI/AWARD のFlashROM ツールを使って Lockout かけてしまって、
それを中古市場に流した、という場合なら考えられます。
一度、"Boot Block Lockout" を掛けたら、PAL/GAL のヒューズ飛ばしのように、書き込み
できなくなるようです。ものによっては、”長い間ロックが掛かりっぱなし”と記している
のもありますが、何年待つかはわかりません。
フラッシュROMで、書き込み時は、PCからの信号出力ですので、書き込み能力は、問題ない
と思いますが、読み取り時は、ROMからの信号出力ですので、駆動能力が弱い分、ノイズを
受けやすいと思われます。
スペックをシビアに使っている部分なので同じ種類のROMでもばらついたり、
温度(暑い/寒い)によってもばらつくと思います。もし、その辺を改善するとしたら、
1.D0-D7 信号で接地している抵抗値を変えてみる。
たぶん、2.2K では、負荷がかかりすぎているかもしれないので、3K ぐらいにしてみるとか。
2.PC、ROMライタ間の線長を短くしてみる。
ノートPCの背面に直ROMライタをくっつけたりすると、最短になる。
ケーブルのシールドの扱いをいろいろやってみる。
3.stdflash の場合 Wait オプションは、-W:5、-W:6、 -W:7 (20ns, 15ns, 10ns) まであります。
実際には、IOウェイトに消されてしまう値ですが、ぱぱやんさんが試してみた -W:5 が安定
するようでしたら、そのタイミングで信号が瞬間安定しているのかもしれません。
4.あとは、LS245 等のバスバッファーなど。
tkonさん、どうも。
まいどありがとうございます。
"Boot Block Lockout" が Enable になっていたようです。
2つあるWinbond 29C020は両方共でした。
もともと違うM/BのFlashROMですが、BootBlockは互換性があると
思っても良いでしょうか?
ところでEnable/Disableの切替は出来ないものでしょうか?
データシートを見ていると何とかなりそうにも思えますが...
とりあえずROMライターが正常に機能していた事がわかって
ほっとしました。
おなじWinbond29C020でもなぜノイズがひどい方と軽いほうがあるのか
少し疑問です。ビットエラーが関係するのでしょうか?
biosfile.bin の書き込み時に 0xFF はスキップしますので、 本書き込みでは、消去の手順は行ってください。
ぱぱやん、どうもです。
3E000h 以降が消去、書き込みできないのは、たぶん、そのフラッシュROMは、
"Boot Block Lockout" が Enable になっていると思われます。
3E000-3FFFF までは保護された状態になっています。
確認方法は、STD_ID2.BAT で、最後のバイトの表示が "0xFF" です。
"0xFE" だと、Disable の状態なので消去、書き込みが可能なはずです。
"Boot Block Lockout" の Enable がマザーボードメーカーでの出荷時設定なら、
BIOS のブートエリアを保護した状態ですでの、3E000 以降にビットエラーが
なければ、問題なくブートできると思います。00000-3DFFF までの更新した内容が
起動時の BIOS に反映しているはずです。
ということは、このROMに対しては、消去、書き込み、データコンペアのバッチファイルは、
3E000 以降を省いて、 00000-3DFFF までの範囲で扱うよう変更します。
PG_WRITE.BAT を見たところブートブロックエリアが 3C000 からのアドレスになっていました。
これを 3E000 に変えます。
(あ~。FWH の範囲とおんなじにしていました。私もちょっと勘違いしていました。 m(_ _)m )
:WRITE_MEMORY
..\STDFLASH -T:42 -Q:1 -A:0 -C:3E000 -S:0 -F:%1
:BOOT_BLOCK
..\STDFLASH -T:42 -Q:1 -A:3E000 -C:2000 -S:3E000 -F:%1
で ALL ではなく、"PG_WRITE biosfile.bin MEMORY" で扱います。
ん、なんとなく解決したみたい。
フラッシュROMライタは、正常に機能しているようですので、他のROMなども
試してみてください。
ちなみに、私が最近扱ったのは、紫外線消去型の1MのEP-ROMです。
読み取りだけですが、問題なく読めました。
tkonさん、どうもです。
いろいろ実験した見た結果、1つ解決しました。
書き込みデータがFFの連続する場合は書き込まれない為コンペア時一致しない...
tkonさんのご指摘通りです。
その為00000-3DFFFまでは正常だとわかりました。
また、まれに3E000未満の区間(00100付近)でもこける事があります。
これはノイズが原因でしょう。
3E000から書き込めない原因はやはり?です。
3E000以降は1バイト単位でも書き込めません。
やはりハードの問題でしょうか?
A17,A16,A15,A14,A13がすべてHiになるとx...?
目視とテスターでの測定で接触している箇所は見当たりません。
WE、OE、CEにアドレスラインのノイズが入るとか?
実験に使用した書込みファイルはtkonさんの用意したものの他に
00で埋めたもの、FFで埋めたもの、00-FF交互に繰り返すものを使用しました。
FFのデータは書き込まないせいかパスします。
あと、Eraseを実行してもエラーは出ませんが消去してないようです。
ちなみにWAIT オプションを使用してみましたがあまり効果はありませんでした。
なぜか -W:5で指定すると安定するような...?気のせいかも。
ぱぱやんさん、こんにちは、でございます。
WAIT オプションは、あんちょこフラッシュROMソフトと同様、プラス -W:4。
-W:0 ==> 50us/25us。 でデフォルト
-W:1 ==> 60ns/30ns。 実際には、1~2us ぐらいのはず。
-W:2 ==> 600ns/300ns。実際には、1~2us ぐらいのはず。
-W:3 ==> 6us/3us。
-W:4 ==> 20us/10us。
まず、問題の情報をまとめると、( )は考察。
1.00000-38FFF までは、書き込みとコンペアチェックがOK。
(こまでが正常ということは、ROMライタはノイズ無く正しく動いている。
ノイズは、それなりに抑えられている。)
2.39000-3DFFF までは、書き込みが正常で、コンペア時にエラーデータが出る。
(128 バイト書き込みは、読み取りチェックもしているので、この区画は、0xFF などだった。
エラーは、アドレス 39xxx(A17-A15,A8 ) が関与しているのでは。)
3.3E000 以降は、たぶん、どの128バイト区画でも、書き込みにエラーが出る。
(エラーは、アドレス 3Exxx(A17-A9 が関与しているのでは。
特定のアドレスラインが Low に接しているのでは。)
たぶん、書き込むファイル biosfile.bin のデータが 0xFF や 0x00 などが続いた場合など
異なる振る舞いが出てくるので、ダミーファイルを作って、もう少し、エラーの出方を
うかがいます。
一つは、乱数ファイル。もう一つは、00(256個)~FE(256個)を繰り返したファイル。
期待するエラーの出方は、特定のブロックに現れると推測。
http://park2.wakwak.com/~tkon/dmyrandm.bin
http://park2.wakwak.com/~tkon/dmy00_fe.bin
問題の原因に近づけば近づくほど、原因を見失うことがありますが、徐々に追い込んで
行きます。(こんな感じです。)
tkonさん、こんばんは。
まず00000-3DFFF までが正常に書き込みできたかどうかのチェックですが、39000以降でのデータが合いません。
2つのROMで確認を取ったのですが、1つはノイズがひどいようで
ところどころ不一致箇所があります。
しかし2つとも39000からのデータが一致しません。
エラーは3E000で出るのですが...何故でしょう?
やはりノイズでしょうか...?
速度低下覚悟で、ソフト面でWAITを掛けてやったら何とかならないでしょうか?
とはいっても、バッチファイルしか触れないので....。
また、暇を見てハード的な改修をするつもりですが。
3E000以降のチェックは、ノイズ影響のひどい方で行った為
ボロボロでした...。
128バイト単位ではエラーが出るので1バイト単位でのチェックになり断念しました。
エラーの出る箇所としては3E011からまちまちです。
とりあえず結果報告です。
訂正。
3E000-3E0FF の区間は、256バイトでしたので、これを 128 バイト
単位で分けます。
(3E080-3E0FF)
"..\STDFLASH -T:42 -A:3E080 -C:80 -S:3E080 -F:biosfile.bin"
(3E000-3E07F)
"..\STDFLASH -T:42 -A:3E000 -C:80 -S:3E000 -F:biosfile.bin"
ぱぱやんさん、どうもです。
このフラッシュROMは、書き込み時に消去を伴って行われているので、STD_ERASE 作業は、
省いても大丈夫です。ERASE と ERASE_CHECK(ECHK) は、ROMのデータが確実に 0xFF に
なっていることを確認するためです。それと、消去作業が通ることで、ROMにソフトウェア/
ハードウェアプロテクトがかかってなく、続けて書き込み作業ができる状態を確認すること
もあります。(BOOT BLOCK 等にロックアウトなど)
必ず 3E000h でエラーが出るのでしたら、その部分を調べれば何か出てくるかもしれません。
このようなエラー出方は、その部分にエラーの原因がそこにある場合があります。
部分書き込みと部分チェックで調べていきます。
まず、このエラーが出た時で、00000-3DFFF までが正常に書き込みできたかどうかチェックします。
ダンプは、"STD_DUMP 0 3E000"
コンペアは、"..\STDFLASH -T:41 -Q:1 -A:0 -C:3E000 -F:biosfile.bin"
たぶん、ここまで正常に書き込まれていると思いますので、次に部分書き込み(3F000-3FFFF)をします。
"..\STDFLASH -T:42 -Q:1 -A:3F000 -C:1000 -S:3F000 -F:biosfile.bin"
(3E800-3EFFF)
"..\STDFLASH -T:42 -Q:1 -A:3E800 -C:800 -S:3E800 -F:biosfile.bin"
(3E100-3E7FF)
"..\STDFLASH -T:42 -Q:1 -A:3E100 -C:700 -S:3E100 -F:biosfile.bin"
ここまでOKで、そして問題の箇所 3E000-3E0FF、128バイトのみを再度行います。
"..\STDFLASH -T:42 -A:3E000 -C:100 -S:3E000 -F:biosfile.bin"
"-Q:1" オプションを外して、書き込み作業内容を見ます。もし、ROMの特定エリア 3E000-3E0FF の
エラーは、128 バイトの書き込み作業をした後にその書き込んだデータを読み出し比較した時に
出ていたものだと思います。
この状態でも、特定バイト以外は書き込まれていると思うので、"STD_COMP biosfile.bin" で
ノイズ以外で出てくる異なるデータは、3E000-3E0FF の間にでてくると思います。
もし、ROMのビットエラーだったら、3E000 以降のアドレスだったら、PCのブートはできると思います。
tkonさん、お久しぶりです。
しばらく多忙な日々を送っていた為、なかなかROMライターの調整ができませんでした。
まだ書き込みテストをしていませんでしたが、先日ネット用PCのパワーアップの為旧ROMにBIOSの書込みを行いました。
(もちろん予備のROMを使用して。)
メインPCで読込みはほぼ完璧だったのですが、書込みではエラーで止まってしまう始末でした。
Pgwrite.bat,Pg2write.batのどちらを使用してもエラーが出て止まります。
何回かに1回の割合で書込みはするのですが、必ず3E000hでエラーが出て止まります。
使用ROMは W29C020 DIPです。
EraseもFile not foundと出ます。
コレはバッチファイルを改名したせいもあるかも?しれないので元に戻してみますが、ERASEはやらなくてはいけないのでしょうか?
またノイズのせいかと思いGNDを繋ぎまくりましたが、今回は改善が見られません。
現行の改良を頭抱えてやるよりもtkonさんの配置で作り直した方が早そうです。
何とか現行のROMライターを動かしたいのですが、これが限界だとしたら悔しいです。
かなり配線だらけになってしまったのでハンダ当てるのが困難...
お手上げ状態です。
SMKさん、レポありがとう! \(^^\)(/^^)/
Pm49FL004 がラインナップに加わりましたね。( Thanks !! )
BIOSとハードディスクに同時にダメージをくらったのは大変でしたね。
まるで、天中殺と仏滅の日に犬のウンコを踏んでしまったような(あぅ~、言い方が古い)。
まずは、復旧作業、お疲れさんでした。
うん。ROMライタがあると、BIOS更新時の妙な緊張感がなくなり安心しますね。
ある意味、あの緊張感が良いという要素もありますが、微妙です。(^^;
tkonさん、あんちょこROMライター助かりました(^^)
すこし落ち着いてきたので、書込みさせてもらいます(^^)/
自分は二週間ほど前、偶然検索サイトから見つけました
いや~あの記事が"蜘蛛の糸"に見えましたよ(^^)/
え~っと、まずレポから(^^;
回路は簡便で作りやすく安上がりでGood!!
書込みに使ったM/Bは、"A-bitのBX6"で抵抗値の組み合わせは
470/1kで、I/Oは1.1V/1.6Vと若干低めでした
が、まったく不安定なところもなく問題なく動作しました
書き込んだROMは、"PMCのPm49FL004T"です
4Mタイプで、まだ実績がないタイプでしょうか?
対応するBATがなかったので、適当に作って使いました(^^)
これで安心してBIOSを飛ばせます(爆)
実際の修復の方は、BIOSはすぐに直ったのですが、OnBordRaidの
Raid情報がFlashに格納されていたのか、肝心のブートディスクの
認識の部分でフリーズするという散々な状況でした
二週間近く試行錯誤して、なんとかディスクのデータをサルベージ
できたので、今から再インストールですは(^^)ゞ
再インストールが済んだら、BIOSのバックアップですな(^^)
それで、ひと安心(^o^)
これもあんちょこのおかげ、感謝感謝です(^^)
たんまさん、 初めまして~。
「FWH ライター」で検索して見ました。さすがは vector。載せると検索条件の幅が広がりますね。
ぜひ、あんちょこ~と、試しに作ってみてください。
当方、年齢40超えちまっていますけど、ハード製作ネタは、そんなに深みは無いので、
私が作れるものは、たぶん、そのまんま同じものができると思います。
若い人たちが掲示板に書き込んでくれるのは、とてもうれしいですね。\(^ー^)/
自分の学生のころを思い出してしまいます。ハード製作など、金が無く、安くしようと
自作するのだけれど、うまくいかず途方にくれることを繰り返していましたね(ひょえぇ~)。
そのおかげで、今は変なもん作れるようになりましたけど(おーい、20年かかるんかいー(笑))。
ハード製作、ROMライタ以外にも遊んで見たいのだけれど、たとえば、あんちょこサーボ
(マブチモータ改)とか、あんちょこロボット(当然、装甲はダンボール)とか、ネタ的には
今風だな~と思ったりもします。う~ん、”男の子”たちの夢だよねぇ。
こんばんは、初めまして。
「FWH ライター」とGoogleで検索して来ました。
自分もBIOS焼きに失敗したFWHマザーボードを何枚か持っているので、
「あんちょこフラッシュROMライター」で修理(修復?)に取りかかってみようかと思います。
当方、電気科の大学生なので期末試験まではハード製作はおあずけになりそうですが、
完成しましたら動作報告などさせてもらいます。(^-^)
ぱぱやんさん、どうも~。
旧ROMタイプは、まだ安定しませんですか。汎用ロジック245を使うにしてもノイズ
の対策は必要です。
私が対応したのは、3つの要素、プリンタポートからの GND(18~25)、電源からの GND と
プリンタポートからの信号 (D0-D7,INIT,AUTOFD,STROBE,SLCTIN) を抵抗で接地、または
プルアップする部分を最短で寄せておく、ことをしています。
ぱぱやんさんの現行のROMライタのレイアウトがわからないのですが、一つの考え方として
現行の動いているROMライタをそのままで、上記の3つの要素をまとめた、新たな小基板
を作って、バイパス(ノイズ取りの下駄?)することもできます。
汎用ロジックを使うのでしたら、旧ROMタイプならLS245あたりの方が便利と思います。
私がHC164を使ったのは、3V駆動を考慮しただけですので。
FWH用でどのPCでも読み書きできるようにするのでしたら、HC245、HC243
などを使って、D0-D3に当てれば便利と思います。
外部電源3.3Vを使うならLS245でもいけると思います。
tkonさん、こんばんは。
旧ROM版ですが、ようやくPLCCソケットへの配線も終わり一段落しました。
別のマシンで使用する予定だったので、動作テストを兼ねて製作時テストしていたメインPCから他のPCへつなぎ変えてみました。
しかし3台中すべてのPCでデータが化けてしまっていました。
FWH版では抵抗値で対処できるようですがこちらの場合も抵抗値で対処すべきでしょうか?
それともHC245等バスドライバを使用すべきでしょうか?
ちなみにメインPCでは99%正常に動作しているみたいです。
tkonさん、まいどです。
FWH版IDチェック通りました!!
バッチファイルとFWH_LL.EXEを改名したのが原因だったみたいです。おそらく...
どうもお騒がせ致しました。
ぱぱやんさん、どうも。
読み出しが正常に行われているのでしたら、ROMライタ自身は正常に動作していますね。
ROMライタソフト KONFLASH.EXE, FWH_LL.EXE, LPC_LL.EXE は、実は、全く同じファイルで
起動したファイル名が "FWH_LL" だったら FWH_LL 様に振舞うようにしています。
で、ただのバージョン表示だけしたのは、FHW_LL 名が認識されず、konflash のノーオプション
動作を行ったようです。
ここが通らないとIDだけでなく、消去と書き込み操作も同じような結果がでます。
原因で考えられるのは、
1.ファイルパス名が64バイト数超えている場合。深いディレクトリにファイルを展開している場合。
2.ディレクトリ名に特殊文字があり、それで読み取れなかった場合。
3.その他の要因。
DOSのバージョンによる影響があるのかもしれないので、DOS互換ボックス動作や、
DOSのフロッピー起動などを試して見てください。
tkonさん、こんばんは。
FWH版が更新されたときに一緒にDLしたつもりでしたが、DLしていなかったみたいでした。
早速最新版をDLしてやってみたのですが、N82_ID.BATを使用しても
Konflash v0.13 Copyright(C) 2003,2004 Takaharu konno
と表示されるだけでIDが表示されません。
ちなみにデータの読出しは問題ありませんでした。
書込みテストがまだですが、FWHの予備がないのでID問題が解決しないとなかなかテストする気になれません。
何が原因だと思われますか?
訂正(現行の --> 最新の)
ぱぱやん、ども。
FWH_LL.EXE が入っていないのは、前のバージョンですね。
現行は、v0.13 で、 N82802 に対応したものです。
N82_ID.BAT, N82WRITE.BAT, N82ERASE.BAT がそれになります。
F4M_READ.BAT, F4M_COMP.BAT が4MビットROM用になります。
FWH_DUMP は、アドレス FFF80000 からのマッピングです。
ぱぱやんさんのROMライタは、エラーで終了しているわけでないので、現行のバージョン
で問題なく動作すると思います。
tkonさん、まいどです。
FWH版ですが、430(330+100)/1Kにてのレポートです。
ROM側電圧 1.0V
PRN側電圧 1.4V
FWH Intel N82802AB
ID:00 (データシート上:89)
:00 (データシート上:AD)
DUMPによるデータはほぼ全てが00でした。
※ROMはまともに動作するM/Bから外したものなので問題はないはずです。
PRN側が気持ち低いのでR1を470Ωにしても動かないような気がしますが...
R1を660Ω(330+330)にてやってみようと思うのですが、見当違いでしょうか?
あと、”FWH_LL.EXE のローレベルプログラム”とありますが、FWHフォルダの中に見当たりません。
DLしたファイルが古いのでしょうか?
ぱぱやんさん、おばんです~。
エラーで中断されないなら、正常に機能していると思いますので、ダンプや、1バイトチェック等で化け無しに安定動作しているか一度試してみてください。
どのメーカーの品種かはわかりませんが、ROMのタイプによって、IDの取得の仕方が違っている場合があるかもしれません。
データシートは、”魔法の書”。後は、FWH_LL.EXE のローレベルプログラムで発動してください。
tkonさん、こんにちは。
いろいろアドバイス有難うございます。
FWH版ですが、おっしゃる通り1K/2.2Kで組み立てました。
手持ちの抵抗が330Ωしかなく、とりあえず330/1Kでやってみました。
今の状態ではID:00と表示されてしまう...
IDでエラーがでなくなったので470でいけばうまくいきそうです。
とりあえず100Ωの抵抗があるので330にプラスしてやってみようと思います。
旧タイプ用のROMライタでは、もし、動作が安定しない場合は、D0-D7 に直列に抵抗(100Ωぐらい)を加えた方が安定するかもしれません。
ぱぱやんさん、どもども~。
FWH 版の電圧チェックは、たぶん、DO-D3 の抵抗値 R1/R2 = 1K/2.2K だと思います。
ちょい高めなので、これを、R1/R2 = 470/1K に置き換えて低くすればよさそうです。
旧タイプのROMで、たぶんROMによって不安定になるのは、FWH 版と違い、旧タイプは、
駆動能力はあまりなく、#OE で読み出す時に負荷がかかってぶれてしまっていると思います。
ROMソケットの電源、GND間に、大きめのセラミックコンデンサか、小さめの電解コンデンサ
で、なんとかうまくいってほしいです。
私のほうは、旧タイプのROMの読み取りで、DIP32ピンのものは、安定して読めていますが、
PLCC32 ピンのROMを手作りのICソケット変換器で配線を伸ばして読むと、化ける時が
あります。電源、GNDをバイパスすると安定はします。
あと、旧タイプで3.3Vでも扱えるROMを電池3Vで試しましたが、これは、不安定でした。
tkonさん、まいどです。
旧ROM版はとりあえず置いといて、FWH版です。
こちらは簡単な回路なので、ほとんどtkonさんと同じ作りになってます。
が、IDチェックで
ERR:0xC10F-write,WSYNC error!!(retval=0xF)
と出て跳ねられてしまいます。
ちなみに電圧チェックでの結果ですが、
D0-D3 PRN側 2.4V
D0-D3 ROM側 1.8V
PRN 3.1V
です。
電池の代わりに3.3Vレギュレータを使用したときも跳ねられました。
原因としては何が考えられるでしょうか?
今回はノイズではないと思うのですが...
やはり抵抗値でしょうか?
余談ですが旧ROM版でDTC114Eの代わりに汎用トランジスタC945と10KΩx2を代用してみましたが、うまく動作いたしました。
tkonさん、どうも。
ようやくW29C020での動作が99%安定しました!
しかし、SST29EE020では不安定なようです?
ただ、このROMは不安定なマザーでBIOSデータをとったので、元のデータが正しいとは言い切れません。
まだ消去・書込みをテストしていませんが、読出しが成功しているので大丈夫であろうと思っています。
現在DIPのみの配線でテストしてますが、PLCCソケットもつけてあるのでそちらにも配線したいと思ってます。
また不安定になるかも知れませんが...
ひとまずは問題解決といったところです。
よきアドバイス感謝しております。
その前にハード・ソフトにも感謝です!
ところでtkonさんはROMによって不安定になるものってありましたか?
ぱぱやんさん、まいど~。
ノイズで、あと考えられるのは、プリンタから来るデータ部分を接地している抵抗のGNDと
プリンタポートのGNDと電源のGNDを繋げると、もうちょい減るかも。
本来なら、プリンタポートから来るデータは、双方向のバスドライバで一度、信号を切り換えて
落ち着かせるのですが、抵抗で済ましているので、その辺を探ってみてもよいかも。
tkonさん、こんばんは。
バイパスコンデンサの強化として、HC164のVCCピンに直接セラコンを増設、22μF電解コンを追加(手持ちが1μFか22μFの為)。
GNDをできるだけ繋げてみました。
結果、IDチェックは通りました。
化けデータの数としては激減しましたが、しかし相変わらず化けています。(5%くらいかな?)
もう一つの原因は電源からのノイズを拾っているようです。
ACアダプタにすれば解決するだろうけど廃品利用のためできればこの電源(外付けSCSIケース電源)を使用したいので...
もうあとひと分張りといったところです。
ROMライタボードに供給している電源のGNDと、プリンタポートのGND、HC164のGNDやROMソケットのGNDをさらに繋げると安定するかもしれません。
ぱぱやん、おばんです。
特定アドレス xx5,xxA,xxD あたりでの化け法則だったら、アドレス同士が入れ替わったり、
アドレス同士が接触したり、データとアドレスが接触したりの可能性がありますが、
解消されている場合は、ノイズの可能性も考えられます。
ノイズを考えた場合、PCから電源を引き込んでいる時は、”GNDの龍”が暴れ、のたうつ
のがありますので、プリンタポートから来るGNDとHC164のGNDやROMソケットの
GNDをさらに繋げてやると安定するかもしれません。
私の配線パターンでもGND関連は、全体的に繋げるようにしています。
ノイズに関して言えば、第一線で活躍しているアナログ回路屋さんでも難しい場合があり、
試行錯誤で解を出している場合があります。このへんは、経験によるスキルですね。
ちなみに、デジタル回路の場合は、バイパスコンデンサのパターンです。
こんばんは。
>LOWアドレス(A0-A7)のHC164の下をCK・CLR信号が通っているので影響を受けているのでしょうか?
とりあえず、上記の配線をいじってみました。
前回モニターしてみたアドレスでは8割程解消されました。
ノイズの影響とみていいみたいです。
が、COMPで見るとまだまだという感じです。
デジタル回路での基本を無視した作りなのでボチボチ直したいと思います。
tkonさんの配置通り作ればこんな苦労しなくて済んだのにと少し後悔していますが、勉強になりました。
tkonさん、こんばんは。
早速のご回答ありがとうございます。
Readして読み出したデータと元のデータ(AMIFLASHで読み出したもの)と比較してみました。
結果ところどころデータが化けていました。
アドレス:正規データ -読み出したデータ
3FE9D: 45 -54
3FEA9: 53 -65
3FEAA: 54 -6E
3FEAD: 20 -74
3FEB5: 44 -74
3FEBD: 45 -74
3FECD: 6E -6F
3FED5: 20 -74
3FEDA: 72 -65
3FEDD: 79 -74
3FEF5: 61 -74
3FFA5: 00 -FF
3FFAA: 00 -FF
3FFAD: 00 -FF
3FFD5: 00 -FF
ほとんどはアドレス x5,xA,xDで化けています。
目視では特におかしいとこはないのですが、ボードチェックで
A0(12)- high のところで D0(13)もHighになっていました。
しかしD0(13)- highではA0(12)はLowのままです。???
LOWアドレス(A0-A7)のHC164の下をCK・CLR信号が通っているので影響を受けているのでしょうか?
各配線の長さのバラツキが影響しているのでしょうか?
あとボードからD-SUB25コネクタへ何もノイズ対策のない20cmほどの線を使用しています。
原因が不明な場合は、ノイズ対策をやってみたいと思います。
ぱぱやん、はじめまして。ROMライター製作おつかれさまです。
W29C020 のIDは、たぶん DAh,45h でよいと思いますが、IDの取得がうまくいって
いないのかもしれません。
原因は、まだ、なんともいえないのですが、ROMライタの動作は、それなりに動いている
ように見えますので、もう少し、ほかの情報をさぐって見てください。
IDの取得は、コマンドの書き込み動作が含まれるので、そのデータが1ビットでも化けて
入るとコマンド自身は無効や異なる命令になってしまいます。
ので、化けても読めるシンプルな読み出し動作の STD_DUMP を使ってデータを見てください。
読むデータは、テキストが埋め込まれている部分。BIOS データの場合は、通常は、後半の
3FE00 ~ 3FFFF (2M ROM) あたりです。3E000 あたりにもある場合あり。
と言うのは、もしかしたら、D0 ~ D7 のうちのどれかが、他の信号と接触したりした場合、
ダンプする正常なテキストが特定のビットの改ざんによって化けたのが出てきたりします。
(Ax 信号の場合、テキストが抜けたり、切れたり?)
その他、ID取得にて。
STD_ID は、コマンド 0x90 での読み。 STD_ID2 は、コマンド 0x80, 0x60での読みです。
tkonさんのサイトを見つけて早数ヶ月...。
ようやく旧ROM版・FWH版のROMライターが組みあがりました。
旧ROM版ですが、早速ボードテストをし問題がなかったのでIDを読みに行ったのですが?です。
ボードチェック時の各電圧は
電源 4.9V(ジャンク外付SCSIの電源流用)
A0 - A17 4.9V
OE,WE,CE,CK,CLR 4.7V
D0 - D7 3.2V
High/Lowの動作も問題ありませんでした。
ROMはWinbond W29C020Cで
...\stdflash\w29c020\ID.bat/ID2.bat
ID.bat・・・Manufacturer'sID:7Fh
DeviceID :3Fh
ID2.bat ・・Manufacturer'sID:FFh
DeviceID :BFh
しかしW29C020Cのデータシートでは
Manufacturer'sID:DAh
DeviceID :45h
となっています。
これでよいのでしょうか?
やっぱりどこかおかしいのでしょうか?
ちなみにtkonさんの部品配置とはかなり違います。
回路の変更といえばDTC114Eと10μF電解コンないのと、各セラコンが0.1μFになっているのと集合抵抗を各個別にプルダウンさせたのと電源ラインにLEDをつけたくらいです。
部品の配置はかなり密集した配置になっています。
ノイズが絡んでいるのでしょうか?
FWH版もIDがパスしないので現在放置してあります。
ひょんなことから、知人が処分してくれと古い Macintosh LC630 をもらってきました。
Macは、前にちょっとだけ、会社や友人あたりで使ったことはありますが、自分の物は、
初めてです。そうです、初Macです。
(ロビン電子の AppleII コンパチユーザではありましたが)
まず、350Mから容量の大きいハードディスクに替えようと、インターネットから情報を
得ながら、あれやこれと移行作業をしていたところ、 BasiliskII のエミュレータを見つけて、
そっちも構築してみました。エミュレータの方が動作も速く、フリーズしないMac環境で
あることに気づいてしまいました。
ノンプリエンプティブなOSとはいえ、フリーズしやすかったのは、Macってハードウェア
周りのドライバの作りが良くなかったのですね。
LPCWRITE.BAT で konflash.exe プログラムからの戻り値に問題があるのを確認しました。
書き込み作業が正常に完了して "done." が表示されているのに、バッチファイルのエラー
メッセージがでて終了してしまう内容です。
原因は、単純で、正常なときの戻り値に値が入っていなかったためです(不確定な値)。
次にアップデートするときに更新しておきます。
現行での LPCWRITE.BAT の使い方は、
1."LPCWRITE filename.BIN MEMORY" と "LPCWRITE filename.BIN BOOT" で2回に分けて
書き込みを行う。そのときバッチファイルのエラー表示は無視する。
2.LPCWRITE.BAT 内の "if errorlevel 1 ......." の行を削除する。
3.直接 konflash.exe を実行する。
例: "konflash -t:9 -w:1 -q:1 -a:FFFC0000 -c:40000 -s:0 -f:filename.BIN" など。
フラッシュROM用のICソケットに来ている信号の電圧は、
HC164からの信号A0~A18とCEは、+5Vです。(加えている電圧)
パラレルポートからの直接の信号 D0~D7は、だいたい3~3.5Vです。
WE、OEは、+5Vからちょい低めになっていると思います。
実際データを読み書きするときは、フラッシュROM側の1番ピンは、タイプ
(メーカー、品番)によって切り換えますが、テストでは、HC164の5番ピンに設定して、
A18信号の Low/High を確認しますので、5番ピン側に設定した状態でOKです。
A18の部分(フラッシュROM側の1番ピン)は、基本的には、ROMのサイズ4M、2M、
1Mビット(512k、256K、128Kバイト)によって切り換えます。
ちなみに、私の手元には、4MのROMが無いので、プルアップ側に設定しっぱなしです。
読み書きするフラッシュROMのメーカーと品番が判るとそれに合わせられます。
有り難う御座います
早いうちにTEST_SW.BATを試してみます
インテル製のチップセットの物だと
全て綺麗に LowとHighが0Vと5Vになるのですが
今までの物は3回目の複数のピンをしている項目
までは3.3Vと0Vでそれ以降は5Vと0Vになってしまいます
パラレルポートの電圧に問題等があるのでしょうか
Higの値が3~3.5Vで大丈夫の信号もあるようなので
信号が何かに気をつけてもう一度試してみます
ボードチェックの時に1番ピンはHC164の5番ピン側に
設定してやってますが問題ないでしょうか
違う設定だと5Vが来てしまうのでずっと5Vになると思って
やってないのですがHC164の5番ピン側でない設定でも
1番ピンの信号がLowとHighで0Vと5Vに変わるのでしょうか
HC164の5番ピン側でない設定でもボードチェックは
するべきでしょうか
kiku さん、どうも~。
テストプログラムでの表示は、 HC164 CLOCK(8),CLEAR(9) が正解です。
はじめの表示文字をカット&ペーストであてて、Low を High と変更した内容ですが、なぜか、
ピン番号が変わってしまいました(あらら)。修正しときます。
データライン D0 ~ D7 は、抵抗で接地していますので、High の値は 3~3.5vあたりに
なっていると思います。
アドレス A0 ~ A18 の信号の Low/High が確認できたのでしたら、HC164 周りは、正しく動いて
いると思います。
一番最後は、CE 信号のチェックになりますが、CE ボタンを押さなければ、7秒ぐらい待ちが
あった後にタイムアウトで終わり、CE ボタンを押した時に通れば正常です。
ここで、そのまま素通りした場合は、CE 信号が LOW になっていると思われますので、どこかに
問題があると思います。
TEST_SW.BAT も試してみてください(このテストは、タイムアウトで終了します)。
あとは、フラッシュROMを取り付けて(そのときは PowerOff)、データ読み出しテストが
待っています。
インテル製のチップセットだと、ほぼ、プリンタポートの初期時チェックは、問題なさそうですね。
ここの仕様は、古くからある IEEE P1284 ( http://www.fapo.com/files/ecp_reg.pdf )の仕様ですので、
基本的には、BIOS設定で、ECP or ECP+EPP になっていればパスするのですが、なぞですね。
やっとTESTSTDF.EXE
無事起動しました
Enterキーを押すたびに変わるのが楽しくて
3回もボードチェックをしてました
結局自分の普段使用しているパソコンでは使用できないようでした
TESTSTDF.EXEの起動までは
biosでパラレルポートの設定を変えることでうまくいったのですが
最初から途中まで電圧が3.3Vしかあがらないで
ある項目から5Vになる変な状態になってしまいました
何度やっても同じでした
結局古いインテル製のチップセットのパソコンを
復活させました
TESTSTDF.EXEの2回目の項目で
HC164 CLOCK(10),CLEAR(11)
は
HC164 CLOCK(8),CLEAR(9)
の間違いではないでしょうか
その部分のキャプチャー画像をあげてみましたhttp://www56.tok2.com/home/kb110/cgi-bin/img-box/img20040515171325.gif
です
最初電圧が上がってないので製作の失敗かと思ったのですが
HC164の10番と11番は何も配線してない所があるので
おかしいと思いCLOCKとCLEARを配線図で見たら
8番と9番だったのでそう思ったのですが
いかがでしょう8番と9番でよければ
製作チェックのチュートリアル3.4まで無事終了です
これからのROMの書き込み作業は
さらに難しそうなのでまたいろいろと
質問させてもらうと思いますが
これからもよろしくお願いします
有り難う御座います
自分の周りを見ると
動いているのはメーカー製のインテルチップセットが
成績が良かったような気がします
自分の現在使用中のものでだめな場合
古すぎるのが今度は問題になるかもしれませんが
使用してないインテルチップセットの物
が有るのでそれを復活させて見ようと思います
kiku さん、こんばんわ~。
旧タイプのフラッシュROMの電源電圧は、5V±0.5ぐらいの範囲になっていますので、
USBの4.95Vは、十分OKです。
私もジャンクや古い電化製品のACアダプタをたまに使うのですが、前に述べた5Vちょいは、
ACアダプタなら5Vちょい(推測)ぐらいにおさまり、その辺で利用します。そこから外れる
と何かしらの問題があると考えられます。
たしかに、電源とGNDの導通チェック時には、電解コンデンサにより瞬間ピーがなります。
正確には、直流成分の導通チェックと記さなければいけないのですが、(直流成分の) は、
省略部分と思ってください。How much (money) ..... の (money) の部分。
そうです。TESTSTDF.EXE を実行したら、テスター等で、ICソケットの信号部分が、
+5Vか、または0Vか、チェックします。
HC164は、取り付けて、フラッシュROMへのアドレス信号をチェックしてみてください。
0x378エラーは、実際は、プリンタのECP/EPP の拡張制御のステータス取得と初期設定なのですが、
自分とこのPC環境から推測すると、インテル、VIA、NVIDIA マザーボードチップセット
以外。たぶん、SISあたりで見うけられるのでは?
質問しておいて
返事が送れて申し訳ありません
+5Vのチェックは大丈夫でした
自分のパソコンのUSBは電圧が図ってみると
4.95Vで5V出ていなかったので
USBから電源を取るのは止めたほうが良いようです
導通チェックも解る限り確認しました
製作チェックのチュートリアルの3.1
の+5VとGNDが導通していないことを確認なのですが
22μFの電解コンデンサを通して瞬間ですが
導通してしまうと思うのですが
自分は端子を当てた瞬間、音がして端子を逆に当てた瞬間にまた音がしたので
22μFの電解コンデンサの為に音がなったと思っているのですがいかがでしょう
今のところ
製作チェックのチュートリアルの3.2
までは終わったと思います
友人のパソコンで接続してTESTSTDF.EXEをダブルクリックしたら
DOS窓でエラーが出ないで起動しました
TESTSTDF.EXEはエラーが出なければ
エンターを押していくだけで良いのでしょうか
解らないのでnextでエンターを押していったらfinishまで行きました
それとも
自分でテスターを当てて
GND端子と指定のピンにテスターの端子を当てて
highの時は5Vでているか確認してlowの時は0Vの確認を
するのでしょうか
教えてください
TESTSTDF.EXEがダブルクリック
で動く事が解ったので色々な人のパソコンに
つないで試してみたのですが
動く人と0x378エラーの人と色々でした
biosの状態をみせてくれた人もいるので
自分の状態と比べてどうにか自分のパソコンで動く
ようにしたいと思います
kiku さん、どうもです。No.132 を飛ばしていたようです。スミマセンでした。
どうも、0x378 エラーが気になっていたようです。
テスターでのチェックは、”ピー”となる導通チェックと電圧測定になります。
まず、完ぺきにハンダ付けしても、配線間の導通チェックは、やってみてください。
理由は、ハンダの細く伸びた髭で端子どうしや電源-GND 間が短絡する場合がありますので。
次に、パワー電源を入れて+5VとGNDを確認するのですが、+5Vのチェック箇所は、
ICソケット(HC164用、フラッシュROM用)のVDD、VCC部分を測ります。
テスターのマイナスは、GND 端子を基準でよいです。
HC164のICを取り付けていない(負荷が無い)状態では、ACアダプタの出力は、
+6V近く出ていると思いますが、取り付けて電源を加えた状態では、+5V前後に
なることを確認してみてください。
ちなみに、LPT1 にプリンタドライバを追加しても、大丈夫でした。
kiku さん、こんばんわ。
98のDOSモードでしたら、こちらのソフトデバッグ時に動いていますので、
何らかの違いを考えると、
1.プリンタドライバがLPT1に割り当てられると問題がでるのか。
(こちらは、USBのみで、LPT1は使っていなかった)
2.0x378 エラー問題があるのか。
konflash ソフトにプリンタポートチェック(/konflash/BOARDTST/CHKPRNPT.BAT)が
ありましたので、試してみてください。
途中報告です
まだ自分のパソコンでは
だめですが
友人のパソコンで試してもらったところ
ボードチェック用のプログラムが起動しました
テスターを持っていかなかったので試せなかったのですが
チェックの仕方は
GND端子と指定のピンにテスターの端子を当てて
電圧を測れば良いのでしょうか
highは5Vでloghは0vという事でしょうか
お教えください
有り難う御座います
今まではフロッピーでの起動は
biosをフロッピー起動にするのが
面倒だったのと
98のDOSモードなら
そんなに違わないと思って
98でDOSモードで再起動か
DOSプロンプトでパスを打ち込んで
使っていました
両方だめだったので
フロッピーで試してみます
biosでパラレルポートの変更をするのと
合わせて
結果をまた報告に来ます
kiku さん、どうも。
まず、MS-DOSプログラムを動かす環境を作ります。
MS-DOS起動ディスクを作って、そのフロッピーでブートする手順で進めますと、
1.Win9x/ME/XPでは、フロッピーのフォーマット時に「MS-DOSの
起動ディスクを作成する」があります。
2.Win2Kでは、MS-DOS起動ディスクの作成がありません(たぶん)。
Win2KのOSインストール時の付属のDOS起動ディスクがあれば、それから
ディスクコピーやフォーマットを使って起動ディスクを作ります。
3.その他。フリーDOSを使う。
http://www.freedos.org( http://www.fdos.org )など。
次に、展開した stdflashファイルをFDDにコピーします。
DOSフロッピーで起動した後に、テストプログラム TESTSTDF.EXE を起動して
みてください。(freeDOS の場合は、フォルダ名は大文字)
フラッシュROMの読み書きソフトの使い方は、フラッシュROMの種類別に分けています。
該当するタイプのフォルダにバッチファイルがあり、そのバッチファイルを使います。
そこから、stdflash.exe が呼ばれています。
フラッシュROMのメーカーと型番など調べてみてください。
AWARD や AMI のBIOS読み書きソフトのように、フラッシュROMの読み書きソフトを
Windows仕様の統合型で作れば、便利なのですが、いけるとこまでDOSで。(^^;
私はDOS自体ほとんど理解していないので
私のの操作がいけない 可能性も有るので
果たしてプリンタポートのせいだけなのか
何とも言えません
今のところは
cドライブに解凍して
DOSモードで起動とDOSプロンプト
の両方で絶対パスでc:¥stdflash/BOARDTST/TESTSTDF.EXE
をキーボードで打ち込み
エンタ-キー を押して 0x378
のエラーが出ています
DOSのコマンドはほとんど解らず
xcopyとfdiskしか使った事がないので
自分自信の問題かもと思っています
もししよう方法などに問題等有りましたら
お教えください
TESTSTDF.EXEの問題が解決した後の問題なのですが
バッチの当て方も解りません
STDFLASH.EXEのパスを打ち込み
エンタ-を押して
バッチファイルのパスを打ち込み
エンタ-で良いのでしょうか
此方もよろしくお願いします
kiku さん、ROMライタ製作おつかれさまです。
そうです、まだ、0x378 エラー問題が残っていました。すみませんが解決の協力をお願いします。m(_ _)m
この問題は、konflash プログラムがはじめにプリンタポートのチェック時に起こります。
たぶん、その時の戻り値を調べれば、原因がわかると思います。
IN.EXE / OUT.EXE( http://park2.wakwak.com/~tkon/IO.lzh )を使って示すと、
( DOSで起動した後 )
IN 77A
( プリンタポート 0x378 + 拡張モード 0x402。 戻り値は、 0x15 or 0x35 )
( 戻り値 0x15 の SPPモードの場合は )
OUT 77A 34
IN 77A
( 戻り値は、0x35 だと双方向モードに移行 )
製作が無事に終わりましたが
残念ながら私も過去ログに有る 0x378
のエラーが出てしまいました
これからバイオスで色々とパラレルポートの
設定を変えて挑戦しようと思います
有り難う御座います
いつも素早くお答えいただき
大変助かります
今現在の状況は
基板上に半分を超えたくらいの
の部品が載ったぐらいです
配線はまだまだです
細かいピッチに眼が辛く
半田鏝の温度が上がりすぎてしっまってる感じで
苦労してます
kiku さん、こんにちわ。
DTC114Eは、スイッチングするだけのデジタルトランジスタですので、なんでも良いです。
私の方は、タクトSWのみもテストするため、デジトラは、SIP3Pのソケットに
抜き差しできるようにしています。
一応、PRNコネクタは、フラットケーブルの圧着タイプものを考慮にいれた並びに
しています。試作品の写真では、ケーブルの1番側を浮かし、1本分ズレた内容です。
1本ズラして圧着すれば、そのまま使えるはずです(たぶん)。
PRNコネクタ側のピン11、12、13、15は使っていませんので、空きです。
22~25ピンのGNDは、21ピンあたりにハンダ付けてOKです。線を横に這わすだけです。
プリンタの延長ケーブル等の2~3メートル物を使わなければ、22~25も空きで良いです。
私の方は、25ピンあるRS232Cの1mジャンクケーブルとRS232Cのエクステンションの
あり合わせで、22~25ピン空きで、動いています(ちょっと適当)。^^;
理想的には、プリンタケーブルは、信号とGNDは、ツイストペア構成でとどきますので、
ROMライタ側で、GNDはちゃんと取り付けた方がよいです。
やっかいなのは、コネクタの枠等のシールドGNDです。理想的には、ちゃんと接地した方が
よさそうですが、実際は、シールドGNDをROMライタ側に接地するとノイズが増えて
誤動作したりします。どちらかと言えば、取り付けない、浮かしていたほうがいい結果がでます。
有り難う御座います
コイルを買いに行かなくて済むようになったので
とりあえず必要なパーツは手元にそろいました
デジタルコンデンサーDTC114Eだけが変わりの品なのが
ちょっと不安ですが
選んでくれたお店の人を信じて作ろうと思います
PRNコネクターの11,12,13,15,ピンは何も書いてないので
何も配線しないで良いと思うのですが
18~25ピンはGNDと回路図に書いてあるのですが
18~21ピンまとめて配線図に結線するところがあるのですが
22~25ピンは何もしないで良いのですか
まとめてコネクターの枠等に行くようにした方が良いのでしょうか
お教えください
kiku さん、どうも。
あっ、まず、コイルは、100μH ですね。スミマセンでした。回路図ともども訂正します。
PCから+5V電源を供給しなきゃいけなかったので、とりあえず、LCあたりで
ノイズ取りと、あり合わせの部品を持ち出して、とっつけたものです。
私は、ちょくちょく誤記や、思い込み勘違いするときがありますので、「おかしいな」と
思ったら、言ってください。
または、お店の人の意見を重要視しながら、「自分流」に作るのも手です。こっちのほうが、
ハマルと面白かったり、素直にうまくいく場合があります。^^
ほとんどの部品が購入出来たので
今晩から作り始めようと思います
残念ながらトランジスタ DTC114Eが
どこにも見つからなくお店の人に
代わりの品を選んでもらいそれを購入しました
それと100Hのコイルが購入できませんでした
100Hの大きさのコイルはトランス
しか見つからなくページの写真と比べて見ると
どう見ても違うので今日は買わないでおきました
コイル関係のお店の人に100mHか100μHを
間違えてメモしてきたのだろうと言われて
その2個は対した値段でなかったので
買ってきてしまったのですが
やっぱり100Hだったので無駄な買い物をしたようです
近いうちに100Hのコイル探しに行くつもりですが
以前なくてもだいじょうと教えていただいたので
ない状態で作れるところまで作ろうと思います
製作途中に疑問が出たらまたお願いします
ありがとう御座いました
シフトレジスターの購入経験が無いので
そこだけが不安ですが他の部品は簡単に買えると思うので
早速、部品を手に入れようと思います
DIP 32Pの左上、1番ピンの所の切り替え
等が理解できていないと思うので
製作についての疑問等と
また書き込ませていただこうと思います
kiku さん、どうも、はじめまして。
はい、部品はだいたい合っています。
電解コンデンサや、セラミックコンデンサは、ノイズとりなので、適当でよいです。
100H のコイルもPC(PS/2 Mouse、USB)からの+5V電源のノイズ取り用ですので、
外部電源使うのでしたら、なくてもOKと思います。
+5VのACアダプタでも問題ないと思います。ACアダプタは、負荷をかけたときに
(ボード信号チェック時などで)5Vちょっとぐらいに電圧が出ていればOKです。
3VのROMを考慮しなければ、LS164を使ってもOKです。
集合抵抗は、x8で9ピンのものを使いましたが、抵抗を縦にしてハンダ付けした
手作りでもいけると思います。
+++++++++
RRRRRRRR|
|||||||||
ICソケットDIP 32Pの左上、1番ピンは、フラッシュROMによって3つの切り替え
(NC/A18/RESET)に分けましたが、実質は、+5Vプルアップか、HC164側の
切り換えで十分で、スイッチを使ってもいけます。
フラッシュROMの1M、2Mサイズは+5Vプルアップしといて、4Mサイズは、
A18の信号を加えるとだいたいよいと思います。
タクトスイッチは、基盤にささるものでしたら、なんでもOKです。
マウスで使われているタクト、マイクロスイッチ等が入手しやすいと思います。
DTC114E のデジタルトランジスタを使うのでしたら、タクトスイッチは、省いてもOKです。
旧タイプ用のフラッシュROMライターを
製作したいと思い
回路図と配線図から必要な部品を
上げてみたのですが
集合抵抗 2.2kΩx8 1個
抵抗 2.2kΩ 6個
抵抗 100Ω 1個
電解コンデンサ 22μF 1個
電解コンデンサ 10μF 1個
セラミックコンデンサ 0.1μF 2個
セラミックコンデンサ 0.01μF 3個
コイル 100H 1個
トランジスタ DTC114E 1個
3Pスイッチ 1個
タクトスイッチ 1個
ジャンパピン 1個
ピンヘッダ (ジャンパピン用) 1個
シフトレジスタ HC164 3個
ICソケット14P 3個
ICソケットDIP 32P 1個
Dサブ25ピンコネクター 1個
間違い又はこの他に必要な部品はありますでしょうか
配線図のパラレルコネクターとの接続部分の上の部分
2.2kΩx8の集合抵抗はどんなタイプの物を選べば良いのでしょうか
配線図のICソケットDIP 32Pの左上の部分はジャンパピンで切り替える
ように作ればよいのでしょうか
トグルスイッチなどで作ると抵抗などの問題がおきて良くないでしょうか
通常は2.2kΩの抵抗の側に設定しておけばよいのでしょうか
どんな時にHC164の5番ピンの方に設定するのでしょうか
タクトスイッチはどんなタイプの物を選べば良いのでしょうか
手元に5VのACアダプターがあるのですがノイズ等の問題を考えると
三端子レギュレーター等を使用したほうが良いでしょうか
bunbun さん、こちらこそ感謝しています。あんちょこフラッシュROMライターに一種類
加わりました。HIRO さんもありがとう。
N82802 がうまくいったので、この時点での書き込みソフトのマージとホームページを
そのうちに更新してみます。
tkonさん。まずはありがとうございました。
やはり読み込み時に化けていただけのようで、該当部分を何度かDUMPして確認してみましたが問題なく書き込めていました。
FWH_DUMPによる化けの確認はやってみましたが、わかりませんでした。出現頻度はそれほど大きくは無いのかもしれませんね。
で、マザー(MX3W-PROE)にROMをさして試してみたら・・・見事復活しました(ちなみに税込み¥500弱のジャンクでした)。
復活した事も嬉しいですが、あれこれ試してきたプロセスも楽しかったです。
また何かジャンクマザーを買って来てしまいそうです^^ ただ私は中部(東海)地方在住なのでジャンクを手に入れる機会はあまり多くは無いですが(たいていは名古屋まで行かないとジャンクにはお目にかかれませんし、それほど頻繁には出ないようです)。
bunbun さん、おめ。
たぶん、0x0F が 0xFF になるのは、読み取り時の化けと思います。
このような読み取り時に上位4ビットが化けるのは、SST49LF002 であったクロックが
引き込まれている現象に似ています。クロック周りの回路が同じっぽい感じです。
化けを確認するには、特定のアドレスを繰り返し読み出すとその出現の割合が判ります。
"FWH_DUMP FFF80000 100" ぐらいの中でデータ 0x00 のアドレスでチェックします。
"FWH_CHK FFF80xxx 10000"。
これで上位4ビットだけ(0xF0) に化ける場合の解決手段は、CLK の制御に
1.バッファー、インバータのロジックを使う。
2.トランジスタをエミッタホロアで使う。(Sago さん)
3.抵抗値を調整してカツ入れする。
抵抗値の調整手順は、R1/R2, 470/1K,1K/open,740/open, 560/open のように化けの出方を
確認しながら行ってください。
注意としては、R2 = open の場合は、必ずR1( >500Ωぐらい)をかませてください。
スペックでの信号入力の最大電圧は、VDD(VCC)+1V ですが、オーバースペックぎみで
利用しますので。
どうやら-W:0でいけそうです。DUMP、WRITEともに「done」^0^ですよ~。
まず全てERASE 0xFFを確認後、N82WRITE.BAT(全て-W:0 に変更)で書き込み。
FWH_DUMP(-W:0に変更)でDUMP確認。
ROMからファイルへの書き出しはF4M_READ.BATを使いました。-W:0です。
KONFLASH -T:19 -Q:1 -W:0 -A:FFF80000 -C:80000 -F:%1 %2 %3 %4
妙なのはFF->OFに書き換え出来ていない部分が少々出るところです。 もっともおかしい部分だけ書き込みしてやればよさげですが。
D:\ROMWRT>fc /B mx3wp132.bin chkbin.bin
ファイル MX3WP132.BIN と CHKBIN.BIN を比較しています
00050A19: 0F FF
0006F019: 0F FF
0006F5B3: 0F FF
0007F9A3: 0F FF
D:\ROMWRT>fc /B mx3wp132.bin chkbin.bin
ファイル MX3WP132.BIN と CHKBIN.BIN を比較しています
00022CFC: 0F FF
0002C368: 0F FF
000300B4: 0F FF
00030B59: 0F FF
0003E3AC: 0F FF
00070231: 0F FF
00074821: 0F FF
ついおもしろくて^^(既にジャンクマザーの再生よりROMをいじっている事の方が面白くなってきたりしている^^;)、だいぶ夜更けになってしまいましたので今日はここまでにしておきます。
bunbun さん、あり^2。だんだん、見えてきましたね。^^
クロック調整のオプションは、クロック幅/パルス幅。あくまでも設定値。
-W:0 ==> 50us/25us。 でデフォルト
-W:1 ==> 60ns/30ns。 実際には、1~2us ぐらいのはず。
-W:2 ==> 600ns/300ns。実際には、1~2us ぐらいのはず。
-W:3 ==> 6us/3us。
FWH_DUMP のエラーには、信号のノイズ等も考えられますが、WriteCycle と同じだとすれば、
パルス幅を変更すると出なくなると思います。
FWH_DUMP FFF80000 80000 -W:2 (最後にオプションを加えます)
FWH_DUMP FFF80000 80000 -W:3 (-W:2 でも出るなら-W:3 に変更)
xxx_READ、xxx_COMP、 も同様に設定できます。
ファイルからROMへの焼き込み(program) を16バイト以降を続けると、
konflash -T:34 -Q:1 -A:FFF80010 -C:F0 -S:10 -R:FFB80002 -F:testbin2.bin
konflash -T:34 -Q:1 -W:3 -A:FFF80100 -C:F00 -S:100 -R:FFB80002 -F:testbin2.bin
konflash -T:34 -Q:1 -W:3 -A:FFF81000 -C:F000 -S:1000 -R:FFB80002 -F:testbin2.bin
-W:3 でいけると思います。たぶん。
残るブロックは、次のようになります。
konflash -T:34 -Q:1 -W:3 -A:FFF90000 -C:10000 -S:10000 -R:FFB90002 -F:testbin2.bin
konflash -T:34 -Q:1 -W:3 -A:FFFA0000 -C:10000 -S:20000 -R:FFBA0002 -F:testbin2.bin
konflash -T:34 -Q:1 -W:3 -A:FFFB0000 -C:10000 -S:30000 -R:FFBB0002 -F:testbin2.bin
konflash -T:34 -Q:1 -W:3 -A:FFFC0000 -C:10000 -S:40000 -R:FFBC0002 -F:testbin2.bin
konflash -T:34 -Q:1 -W:3 -A:FFFD0000 -C:10000 -S:50000 -R:FFBD0002 -F:testbin2.bin
konflash -T:34 -Q:1 -W:3 -A:FFFE0000 -C:10000 -S:60000 -R:FFBE0002 -F:testbin2.bin
konflash -T:34 -Q:1 -W:3 -A:FFFF0000 -C:10000 -S:70000 -R:FFBF0002 -F:testbin2.bin
または
N82WRITE.BAT ファイルの -W:1 を -W:3 に変更すればOK。
*** DUMP ***
DUMPでは何度か繰り返してみましたが、以下のようにエラーが出て止まります(DUMPされるデータは全て0xffで問題ありません)
*** FWH ROM - Data Dump ***
(push "Enter")
FFF8:0000 FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF ................
(中略 全て0xFF)
FFF8:0320 FF
ERR: 0x80FE - addr 0xFFF8:321 - read, begin TAR1 error !! (retval = 0xFE)
*** FWH ROM - Data Dump ***
ERR: 0x80FE - addr 0xFFF8:480 - read, begin TAR1 error !! (retval = 0xFE)
*** FWH ROM - Data Dump ***
ERR: 0x80FE - addr 0xFFF8:C72 - read, begin TAR1 error !! (retval = 0xFE)
*** FWH ROM - Data Dump ***
ERR: 0x80FE - addr 0xFFF8:EA7 - read, begin TAR1 error !! (retval = 0xFE)
*** FWH ROM - Data Dump ***
ERR: 0x80FE - addr 0xFFF8:7F7 - read, begin TAR1 error !! (retval = 0xFE)
*** 16Byte書き込み ***
konflash -T:34 -A:FFF80000 -C:10 -S:0 -R:FFB80002 -F:testbin2.bin >> tstbat2.txt
(注・testbin2.binの内容はは0x00~0xffの単純な繰り返し
*** FWH82802 - Write data from file ***
(push "Enter")
writing.
FFF8:0000 80 FFF8:0001 80 FFF8:0002 80 FFF8:0003 80 FFF8:0004 80 FFF8:0005 80 FFF8:0006 80 FFF8:0007 80
FFF8:0008 80 FFF8:0009 80 FFF8:000A 80 FFF8:000B 80 FFF8:000C 80 FFF8:000D 80 FFF8:000E 80 FFF8:000F 80
done.
*** 書き込み後のDUMP ***
FWH_DUMP FFF80000 80000
FFF8:0000 00 01 02 03 04 05 06 07-08 09 0A 0B 0C 0D 0E 0F ................
FFF8:0010 FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF ................
(中略)
ERR: 0x80FE - addr 0xFFF8:350 - read, begin TAR1 error !! (retval = 0xFE)
tkonさんこんばんわ。 試してみましたが書き込めているようです。 念のため、ID,STAT,ERASE の結果も書き込んどきます。
基板は D0-D3 470/1k: FGPI0-4>GND: 電池電圧3.2V(ON,OFF変化なし)で、前と同じです。
***ID STAT***
write FFC0:0000 90 read FFC0:0000 => 89 read FFC0:0001 => AD
write FFC0:0000 70 read FFC0:0000 => 80
*** FWH80802 - 1 Byte Program ***
(push "Enter")
FFF8:0001 80
*** ERASE ***
FWH_LL.EXE 07 FFB80002 FFF80000,20 *,D0
write FFB8:0002 00 write FFF8:0000 20 write FFF8:0000 D0 (FFBFまで同じ)
”書き込み”の表現がゴッチャに記していましたので、訂正します。
1バイト書き込みテスト --> 1バイトのROM焼き込み(program)
ファイルからの書き込み --> ファイルからROMへの焼きこみ(program)
クロック幅の違いは、ROMへの書き込み(write cycle)やROMからの読み出し(read cycle)の手順。
書き込み(write cycle)は、コマンドやレジスタへのデータ書き込み。
読み出し(read cycle) は、ROMデータの読み出しやステータスの読み出し。
bunbun さん、どうも。
ちょっと気づいたのは、1バイト書き込みテストとファイルからの書き込みの違いは、
クロック幅が違っています。ファイルからの書き込みは、速くしています。
FWH_DUMP や FWH_READ と同じ速さですので、与えるクロック幅は、問題は無いと思うのですが、
もしかしたら、N82802 のデータ書き込みと読み出しでは、その辺で何かが違うのかもしれません。
bunbun さん、すみませんが、再度、FWH_DUMP の読み取り確認してから、ファイルからの
10バイト程度の書き込みテスト(クロック調整あり)をお願いします。
FWH_DUMP FFF80000 80000 ===> 全部 0xFF
konflash -T:34 -A:FFF80000 -C:10 -S:0 -R:FFB80002 -F:biosfile.bin
bunbun さん、どうも。
ハードは、1バイト書き込みがうまくいった時点の構成で良いです。
それが通った時点で、後は、ファイルからデータを読み込んで1バイトごとに書き込んで
行くだけなんで、理屈の上では、他のFWH、LPCフラッシュROMと同じ内容です。
DOSプログラムをビルドするのにMSVC(v1.51)のコンパイラを使っているのですが、
これが、リリースビルドで、最適化の名のもとに、ソース1ラインを削除するときがあるので、
コンパイラのバグも考えて、再度チェックしてみます。
tkonさん、こんばんは。
・D0-D3抵抗を470/1kに変更
・FGPI0-4(3,4,5,6,30PIN)=>GND (5,6しか落としてませんでした^^;)
で、試してみましたがだめですね~・・・う~ん・・・なんでだろ? 基板の実装でなにか注意点ありますかねえ・・・ちょっとスパゲティ配線じみてきました^^; 抵抗もICソケットに足を短くして直接刺してますし(手抜き^^;)
/////////////////////////////////////////////////
writing.
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0x80FE - addr 0xFFF8:112 - read, begin TAR1 error !! (retval = 0xFE)
ERR: 0xC0FE - addr 0xFFF8:257 - write, begin TAR1 error !! (retval = 0xFE)
ERR: 0xC0FE - addr 0xFFF8:1C - write, begin TAR1 error !! (retval = 0xFE)
ERR: 0xC0FE - addr 0xFFF8:A2 - write, begin TAR1 error !! (retval = 0xFE)
ERR: 0x80FE - addr 0xFFF8:118A - read, begin TAR1 error !! (retval = 0xFE)
ERR: 0xC0FE - addr 0xFFF8:117D - write, begin TAR1 error !! (retval = 0xFE)
ERR: 0x80FE - addr 0xFFF8:11D5 - read, begin TAR1 error !! (retval = 0xFE)
bunbun さん、あり~。
その個所でエラー100%ですか。
エラー発生の個所は、特定できますが、その原因が、ただ今、見えません。
制御するものがない環境で制御ソフトを作る上で、陥ってはいけない魔の領域に入ったみたいです。
えてして、原因が見つかったときに「な~んだ」という単純な個所だと思いますが、
うむ、ピンと来ず。
まず、N82802 の1バイト書き込みテストはパスしている。
次に、エラー発生部分の WriteLock 解除 は、SST49LF002 のテストでパスしている。
SST49LF002 テストでは、N82802 ステータスチェックのエラーで抜ける正常動作で確認。
なぞがなぞ呼ぶエラー事件。ジャンパラで石を手に入れるか、または、デバック調停士にでも依頼するか。
tkonさんこんばんわ。 電池を新品に変えて少々試してみました。
電池電圧3.2~3.1V(ON,OFF変化なし)
SWのON、OFFなどもしてみましたがあまり変化ないようです。一度基板の再チェックをしてみます。
///////////////////////////////////////////////////
writing.
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC106 - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0x6)
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC10E - addr 0xFFF8:0 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
bunbun さん、あり~。あとは、ファイルからの書き込みだけですね。
>> ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
このエラーは、ROMにデータを書き込む前の Write-Lock 解除なのですが、
その部分は SST49LF002 の簡易テストと共通ですので、通常はパスします。
今のところ考えられるのは、2つ言えます。
1.電池が弱くなった時に、エラーが出たり、出なかったり、ダンプ時に化けたり、
化けなかったり。2、3回動作を繰り返してエラーを確認する。
2.もう一つは、ソフト実行時のリセットシーケンスが十分に機能せず、前にやったコマンド
実行を引きずっている場合。ROMライタの電源スイッチを一度OFF、ONにしてから、
ソフトを実行してみる。
3.その他。
たびたび、すみませんが、確認をお願いします。
私も、NASA音頭は、TVを見るまでは忘れていました。再TVを見る前にドリフと聞いて
何を思い出すかと言えば、ピンクパンサーのBGMにのったフリや、ぼ、ぼ、ぼくらは少年探偵団
一人だけ老人など。なんで一人だけ老人なんだ~と、このセンスだけは引っかかっています。
tkonさん ご苦労様です。 今日の結果です。
そういえば・・・全員集合見ましたよ~ NASA音頭で2日ほど大変でした・・・トラ技をぱらぱら見てたら・・・広告にスペースシャトル・・・思わず吹き出しました^^; だいぶ忘れてるなあとも思いましたが懐かしかったです。
//////////////////////////////////////////////////
konflash.exe -T:33 -R:FFB80002 -A:FFF80001 -D:0
*** FWH80802 - 1 Byte Program ***
(push "Enter")
FFF8:0001 80
///////////////////////////////////////////////////////
ll_func2 N82802 erase.bat
FWH_LL.EXE 07 FFB80002 FFF80000,20 *,D0 ~ FWH_LL.EXE 07 FFBF0002 FFFF0000,20 *,D0
write FFB8:0002 00 (FFBFまで同じ)
write FFF8:0000 20
write FFF8:0000 D0
/////////////////////////////////////////////////////////
N82WRITE.BAT
writing.
ERR: 0xC10E - addr 0xFFB8:2 - write, WSYNC error !! (retval = 0xE)
N82802 用に konflash を手直し、簡易チェックしました。
http://park2.wakwak.com/~tkon/ll_func2.lzh
まず、konflash.exe を使って1バイト書き込みテストします。0xFF データのアドレスに
0x00 に書き込みテストします。
konflash.exe -T:33 -R:FFB80002 -A:FFF80001 -D:0
これでエラー無しに、書き込みができればOK。
fwh_ll を使う erase.bat ファイルで全消去します。
次に、ファイルからブロックのサイズごとに書き込んでいきます。
konflash -T:34 -W:1 -A:FFF80000 -C:10000 -S:0 -R:FFB80002 -F:filename.bin
konflash -T:34 -W:1 -A:FFF90000 -C:10000 -S:10000 -R:FFB90002 -F:filename.bin
konflash -T:34 -W:1 -A:FFFA0000 -C:10000 -S:20000 -R:FFBA0002 -F:filename.bin
konflash -T:34 -W:1 -A:FFFB0000 -C:10000 -S:30000 -R:FFBB0002 -F:filename.bin
konflash -T:34 -W:1 -A:FFFC0000 -C:10000 -S:40000 -R:FFBC0002 -F:filename.bin
konflash -T:34 -W:1 -A:FFFD0000 -C:10000 -S:50000 -R:FFBD0002 -F:filename.bin
konflash -T:34 -W:1 -A:FFFE0000 -C:10000 -S:60000 -R:FFBE0002 -F:filename.bin
konflash -T:34 -W:1 -A:FFFF0000 -C:10000 -S:70000 -R:FFBF0002 -F:filename.bin
最後に F4M_COMP filename.bin で書き込みチェックします。
その他 xxx_LL.EXE の仕様で補足しますのは、アドレスパラメータ個数は、16個。
書き込み時に 0x00 データの場合は、[addr],00 の ",00" は省略化など。
bunbun さん、サンキューです。
消去テストでの戻り値は 0x00 ステータスで、消去中の状態が見れています。
時間が経過されれば、FFF80000 から1ブロック分が消去されているようです。
1バイト書き込みテストでは、0x80 ステータスで、書き込み完了の状態が見れます。
xxx_LL.EXE の読み書きのベースクロックは、ms オーダーの大きい値を使っていますので、
すぐに書き込み完了になったと思います。
消去も、バイト書き込みも、コマンド発行後は、ステータス読み取りモードに自動的に
移行しているのが見て取れましたので、konflash.exe をちょい手直しします。
N82802 互換の ST M50FW040 の消去時のように自動でステータスに移行しないものもあるようですが、
まず、N82802 だけ考えて、合わせてみたいと思います。
N82802 のファイルからの書き込みは、もう1ステップ待ってください。
大雑把ですが、今日出来る所までやってみました。ちょっと的外れな事をやってるかもしれません^^;
FWH_LL.EXE 07 FFB80002 FFF80000,20 *,D0 * * * * * * * * * * * * > ers_tst1.txt
write FFB8:0002 00
write FFF8:0000 20
write FFF8:0000 D0
read FFF8:0000 => 00
FWH_LL.EXE 01 FFB80002 * +1 +1 +1 +1 +1 +1 +1 +1 > ers_tst2.txt
write FFB8:0002 00
read FFB8:0002 => 00
read FFB8:0003 => 00
read FFB8:0004 => 00
read FFB8:0005 => 00
read FFB8:0006 => 00
read FFB8:0007 => 00
read FFB8:0008 => 00
read FFB8:0009 => 00
read FFB8:000A => 00
FWH_LL.EXE 01 FFF80000 * +1 +1 +1 +1 +1 +1 +1 +1 > ers_tst3.txt
write FFF8:0000 00
read FFF8:0000 => FF
read FFF8:0001 => FF
read FFF8:0002 => FF
read FFF8:0003 => FF
read FFF8:0004 => FF
read FFF8:0005 => FF
read FFF8:0006 => FF
read FFF8:0007 => FF
read FFF8:0008 => FF
FWH_LL.EXE 07 FFB80002 FFF80000,40 *,00 * * * * * * * * * * * * > wrt_tst1.txt
write FFB8:0002 00
write FFF8:0000 40
write FFF8:0000 00
read FFF8:0000 => 80
FWH_LL.EXE 01 FFB80002 * +1 +1 +1 +1 +1 +1 +1 +1 > wrt_tst2.txt
write FFB8:0002 00
read FFB8:0002 => 00
read FFB8:0003 => 00
read FFB8:0004 => 00
read FFB8:0005 => 00
read FFB8:0006 => 00
read FFB8:0007 => 00
read FFB8:0008 => 00
read FFB8:0009 => 00
read FFB8:000A => 00
FWH_LL.EXE 01 FFF80000 * +1 +1 +1 +1 +1 +1 +1 +1 > wrt_tst3.txt
write FFF8:0000 00
read FFF8:0000 => 00
read FFF8:0001 => FF
read FFF8:0002 => FF
read FFF8:0003 => FF
read FFF8:0004 => FF
read FFF8:0005 => FF
read FFF8:0006 => FF
read FFF8:0007 => FF
read FFF8:0008 => FF
bunbun さん、データの期待値あり~。 HIRO さん、BOOKPC の蘇り、おめでとう。
N82802 のIDとSTATの期待値がとれましたので、次は、消去や1バイト書込みを
お願いします。
FWH_DUMP FFF80000 100 の中で、0xFF のデータを探します。そのアドレスに 0x00 を
書き込みます。または、アドレス FFF80000 ブロックを一度消去して、FFF80000 に
0x00 に書き込みます。
例: 消去の後に1バイトのテスト書込み
// 消去
FWH_LL.EXE 07 FFB80002 FFF80000,20 *,D0 * * * * * * * * * * * *
// 1バイトの書込みテスト
FWH_LL.EXE 07 FFB80002 FFF80000,40 *,00 * * * * * * * * * * * *
書込み後のステータス値が、D7 = 0 から D7 = 1 に変わればOK。
次に、ll_func.lzh に含まれている konflash.exe を使い、書込みテスト。
konflash.exe -T:33 -R:FFB80002 -A:FFF80001 -D:00
この動作でエラーがなく、アドレス FFF80001 が 0xFF から 0x00 になればOK。
<私としては、ここで、戻り値、ステータスの状態を教えてもらうと助かります。>
LL_FUNC\N82802\ERASE.BAT で全てのROMデータを削除します。
"FWH_DUMP FFF80000 80000" で 0xFF を確認するか、"FWH_ECHK FFF80000 80000" で
消去をチェックします。
n82802.lzh の中の N82WRITE.BAT を LL_FUNC\KONFLASH.EXE と同じディレクトリに
移して、FWHWRITE.BAT と同様にファイルからの書込みができるようになると思います。
土曜日に裏番組が競合するなか、”おぃーっス”の声が聞きたくて、8時だよ全員集合の
TV番組を見てしまいました。自分の笑いやギャグのベースは、やはりドリフがあって、
タイムボカンシリーズがあって、と確認できたのが良かったですネ。
BOOKPCが、マザーを一度はずして、元のように組みなおしただけで
起動してしまいました。
また、INTELマザーの復旧でも考えようかな・・・
ハンダ付けROMはやっぱりはずしたほうがいいか?
ホームセンターに売ってるハッコーのヒートガンがあれば可能か?
いろいろ構想を練っております。
tkonさん お久しぶりです。ll_funk ご苦労様です。
N82802の ID STAT 試してみました。
基板の方、少し変更しまして、
PIN5 PIN6 (FGPIO 1,0) をGNDに落とした。
電池を単三2本に変更。
抵抗は1k/2.2kです。
SW ON時 電池電圧2.97V (OFF時と変化なし)
ll_funcのN82802のBATの結果です。
***IO.BAT***
Write FFC0:0000 90
read FFC0:0000 =>89
read FFC:0001 =AD
***STAT.BAT***
write FFC0:0000 70
read FFCO:0000 =>80
*********
ぼちぼちやってます。ではまた。
HIRO さん、お待たせしました。N82802 も含められるようにプログラムをローレベルにしてみました。
ID、ステータス取得、消去ができると思います。
http://park2.wakwak.com/~tkon/ll_func.lzh
仕様は、
xxx_LL.EXE [r/w flag] [addr],[data] [addr2],[data2] ....
扱うデータは全て16進。
"*" は、前のアドレスを用いる。
"#n" は、インデックス n のアドレスを用いる。
"@xx" は、5555,AA 2AAA,55 .. のコマンド発行。(xx >= 0x100 は、拡張用)
使い方は、バッチファイル参照。
現行は、konflash を補足した形で使うことで考えています。
bunbun さん、カキコあり~。
bunbun さんも”ASM使い”でもありましたか。今の時代と比較するとハンドアセンブルなどはトンデモの世界であったような気がします。^^
原点回帰ではないのですが、今のグラフィックカードには、プログラムシェーダーといううASMがあったので、本を買ってきました。
ちょっとはまるといいですね。
長介さん・・・お亡くなりになってしまいましたね~・・・
子供のころ、毎週見てましたから(全員集合)・・・なんか時代ですね・・・
ROMライターの方は現在・・・中断しております(^^ゞ
煮詰まった・・・と言うのではなく、私ものんびり屋なものでして。
チョコチョコと部品買ってきたりしてますので、ボチボチと再開(の予定^^)
ちなみに、私は、むかーーーし・・・PC-8801でハンドアセンブルで
組んでた事あります(大学ノート80pが3冊ほどまだ残ってますわ・・・)さすがに大きいソースはきつくなって、5インチFDDとアセンブラ買いましたが(高かったなぁ・・・)
トラ技の付録のH8・・・ついつい買ってしまいました^^
何か作る予定はないですが(つーかハード方面はあまり詳しくなかったりする^^;)どーもこういうものには弱いです(ついつい買ってしまう)
また作業進んだら報告します。
tkonさんもご無理はなさらずのんびりやってくださいね~。
でわ。
いかりや長介さんがしんじまった~。
時代は流れる。良いことはとどまろうとしないのですね。うゎ~。
どうも、私の方で掲示板を硬くしてしまいました。(友達から指摘を受けました)。
1つは、SST 等のデータシートでは、GPI0-4は、「浮いているとまずい」と記して
いたのですが、私は、浮かしてもいけそうだったので、故意に浮かしてしまいました。
理由は、読みに行かなければ問題ないと判断したのと、読みにいっても不確定な値を読むだけ
と判断した理由です。(でも、みなさんは、どちらかに接地してくださいね。スマソ。)
2つめは、sazanami さんが感動していた、PICデジタル出力からアナログ(ビデオ)出力
するものを20年近く前に見ていたことです。抵抗2本見たときに、「2ビット3値7対3」
がピンと来ていました。sazanami さんと同様に感動したことが思い出されます。
当時、情報、通信家電業界にも「デジタルの波」が押し寄せていたときに、第一線のアナログ屋さんは、
デジタル部品をアナログ部品のごとく使用していたのが記憶に思い出されます。
まるで、ドラクエで言う魔法と僧侶を合わせた賢者のごとく、振舞っていたのが思い出されます。
私は、太刀打ちできなとあきらめ、その場を去りましたが、今思えば、彼らからすれば、
6809を使い、ハンドアセンブルして使っていた私の方に興味を示し、求めていたのかもしれません。
まるで、ウィザードィーにおけるベストパーティーのように、、。
私としては、この掲示板は、やわらかく、適当でよい方向でよいので、よろしくお願いします。
m(_ _)m --> by tkon
HIRO さん、どうも~。
もう、nForce2 マザーのジャンク品が流れているのですか。うらやましいです。^^
私も、BIOSアップデートしたときに LPCERASE でのエラー表示を確認していました。
これは、バッチファイルの中で消去コマンド(正常動作)と消去(0xFF)確認の動作が重複して、
チップが消去作業中の状態で未消去の部分と 0xFF データチェックでの表示です。
消去のコマンドが正常に発行されていますので、時間が費やされれば、消去できています。
現行の消去コマンド完了は、カウントウエイトで時間を費やしているので、オプションの
"-C:8" を "-C:100" ぐらいに増やすことと、消去チェックは、別のバッチファイルにでも
すれば(旧タイプのROMライタでは STD_ECHK.BAT など)、エラー表示はなくなります。
そうですね。現行は、複数作業によるROMの書込みですが、WRITE による一括書込みも、
あった方が便利ですね。
現在、ソフトの方は、(N82802 を含めた) LowLevel ものと、それを統括する xxx.cfg
ファイルの2段ステップで進めています。(のんびりと) ^^;
久々に書き込みます。
今はMSIのnFORCE2マザーをいじっておりまして、ROMはWINBONDの
W49V002APです。LPCですね。
最初ERASEせずに上書きでいけるだろうと書き込みだけしたら、
どうも書き込みが失敗していたようで、LPCERASEしてから
LPCWRITEしたら完璧に書き込めたようです。
LPCERASEは実行途中エラーメッセージがたくさん出たような?
LPC_READでFILEを見たら中身が空になっていたので消去は成功
していたようです。
ジャンクのnFORCE2マザーが復活できました。ありがとうござ
いました。
sago さん、おめでとう。\(^o^)/
このサイトに訪れて、結果がでてくれるのは、こっちもうれしいです。
これで、PCが復旧できるのですね。
N82802 の消去と書込みができるようになりましたら、ソフトとHPを更新しておきます。
指示通りバッチファイル訂正しまして、4k毎に消去するよう、書き換えてみました。Dumpかけたところすべて消えているようです。
また、書き込みを行いベリファイしたところ、問題なく書けているようです。帰って起動試験してみます。
回路図修正されるのであればついでに・・一点気づいたのですが、
ROMの25pinがGND、VCC両方にあります。VCCが正解ですよね?
宜しくお願いいたします。
sagoさん、どうも。
そうですね。GPI0-4は、浮いているとまずいですね。Low/High どちらかに接続します。
ご指摘ありがとうございます。回路図に加えておきますね。
対応ありがとうございます。
Thinkpadを会社に置いてきてしまったので、早速明日にでも
バッチファイル訂正して試してみようかと思います。
私ももう一度データシートを見直しました。
GPI0-4というのがありますが、こちらはどうも浮いていると
まずいみたいですね。早速プルダウンしました。
逆にモードピンに関しては、内部プルダウンされているようで
そのままでもLPCモードになっているようです。
GPIが浮いたままで色々いじったので、ROMが死んだかと思いましたが
まだ望みはありそうです。
では・・
sagoさん、どうも、はじめまして。
SST49LF020A のデータシートをさらっと見ました。
LPC用の消去バッチファイルは、Winbond W49V002A の特徴がでている部分がありますので、
その差異を変更すれば、正常に動作すると思います。
SST49LF020A は、たぶん、消去のセクターサイズが4K単位と思いますので、W49V002A の
ブロック風セクターサイズと違ってきます。現行の LPCERASE.BAT を動作すると、
アドレス FFFC0000、FFFD0000、FFFE0000、FFFF0000 等の4Kサイズ分のみ消去(0xFF)に
なっていると思います。
LPC_ERASE.BAT の削除バッチの変更内容は、セクター消去では
KONFLASH -T:5 -Q:1 -S:0 -C:8
KONFLASH -T:5 -Q:1 -S:1000 -C:8
KONFLASH -T:5 -Q:1 -S:2000 -C:8
KONFLASH -T:5 -Q:1 -S:3000 -C:8
...
KONFLASH -T:5 -Q:1 -S:3F000 -C:8
または、ブロック消去やチップ消去(一括消去)と言いたかったのですが、konflash ソースを
見ましたら端折っていました。すみません、部分的にでも消せるかどうか確認してみてください。
LPC用のローレベル物も必要になりましたので、作っときます。
他にTBL(8)、WP(7) が Low に落ちている場合は、hardware write protect が掛かってしまいます。
SST49LF020A は、Boot block lockout の機能が無いようなので、表示は無効です。たぶん、0xFF の
データをひろったのだと思います。
すみません、書き忘れました。
lpc_dump,lpc_chk,lpc_readとも、すべて正常に通っている模様です。
PC環境はIBM/TP240 プリンタECPモード,アドレス378,WIN98 DOSモードです。
すみません、書き忘れました。
lpc_dump,lpc_chk,lpc_readとも、すべて正常に通っている模様です。
PC環境はIBM/TP240 プリンタECPモード,アドレス378,WIN98 DOSモードです。
初めて書き込みさせていただきます。
asusのA7N266-EのBIOSを飛ばしてしまい、復旧方法を探しているときに本ページに巡り会いました。
宜しくお願いいたします。デバイスはSSTの49LF020Aです。
早速、ライターを作成し、LPC_IDまでは問題なく通りました。
ManufactureID=BF,DeviceID=61で、データシート通りです。
(この際、Boot block programming lockoutとなりますが、これは正常でしょうか?)
その後、LPCERASE ALL でエラーとなってしまいます。
ライターは抵抗の調整が面倒だったのでLCX245で3/5v変換を行い、
電源はUSB経由でレギュレータを介し3.3Vを安定供給しています。
メーカーがSSTということで、CLKラインの流入電流も考慮し、CLKラインはトランジスタのエミッタフォロワで駆動しています。
波形の立ち上がり/下がり時間は200ns以下です。
このROMはデュアルモードということで、29pinをGNDに落として
LPCモードで使用していますが、そのほかに考慮すべき点はあるのでしょうか?
各ステップにおいて、正常に動作しているときのスクリーンショットがあれば、どの時点でまずいのか判断が付きやすいのですが・・
宜しくお願いいたします。
プリンタポートの動作確認用の IN.EXE / OUT.EXE をアップロードしました。
http://park2.wakwak.com/~tkon/IO.lzh
( prn port 0x378 + 0x402 )
IN 77A
( 戻り値 0x15 or 0x35 )
( 0x15 の SPP の場合は )
OUT 77A 34
IN 77A
( 戻り値は、0x35 )
この設定が通れば、konflash ソフトも通るのですが、たぶん戻り値が違っているのでは
と思います。すみませんが、プリンタポートチェック時にエラーで抜ける場合は、これで
確認してみてください。お手数かけます。m(_ _)m
Houganさん、どうもです。
旧タイプ用のROMライタが動作しましたか、おめでとうございます。\(^o^)/
旧タイプ用のあんちょこに比べ、配線の量がかなり増えているのですが、すんなり
動きましたか。すばらしい。
データ書込みに関しては、ページライトのROMと、そうでないシングルライトの
ROMがありますので、フラッシュROMのデータシートを見て使ってください。
プログラムがプリンタを認識できない症状は、まだ、こちらでは確認していませんが、
プリンタポートチェック用に IN.EXE, OUT.EXE 等のローレベルをアップロードしますので、
問題の確認ができると思います。
前、nForce2でエラーでるってカキコしたんですが、プリンタモードもEPPで、SPPではありませんでした。でも、ASUSのCUSL2だと、普通にエラーも出ずに認識してくれました。なので、そのうち、BH6のBIOSを修復したいと思います。
bunbunさん、情報ありがとうございます。
そうですか、3番目の要因ですか。
Houganさんも理由も同じと考えると、プリンタポートの不具合とはいえませんので、
こちらでも、古いマザーボードを起動して確認してみます。
下の報告はすべてWin98DOS fllopy起動で試した結果です。DOS窓は試しません。
忘れてました^^ゞ・・・
tkonさん アドバイスありがとうがざいます。 早速あれこれやって見ましたので、現状を報告させていただくます。
まず。結果として、K6-3(400MHz)自作機では、以下のとおりでした。
****K6-3 400MHz 256MB P5-A VGA ALLINWonder(RAGE128) NIC1 SMC NIC2 RTL-8139 SOUND YMF724(?) ****
parallel port のBIOS設定で以下の2つはだめでした。
prn port 3BCH/IRQ7 -> not found prn port:0x378
prn port 278H/IRQ5 -> not found prn port:0x378
prn port 378H/IRQ7 では
Normal ×
ECC+EPP × cannnot use prnport for BI-Direction mode
EPP × other application using・・・
ECP × cannot use prnport for BI-Diretion mode
結果的にこのPCでは動きませんでした。
次に
*** i865 Pen4 2.4C 512MB DDR3200 NIC2枚(intel)VGA Radeon9500Pro Sound Onboard(realteck) ***
prn port 378H/IRQ7 ECC+EPP
この設定で、FWH_DUMP.bat I82_ID.bat 自体は動作しました。
・・・が・・・
FWH_DUMP.bat FFF80000 100: ERR : 0x810F -addr 0xFFF8:0 - read WSYNC error!! ( retval - 0xF)
N82_ID.bat : ERR : 0xC10F - write WSYNC error!! (reteval - 0xF)
**************************
という状態です。
電池ホルダーをまちがえて大きな電池用のを買ってしまい、古い電池を探し出してきて、SW_ON時2.01V(テスター読み)と、マザーのCR6(?)をホルダーに無理やり載せて(^^;)SW_ON時2.63V(テスター読み)で、試した結果です。
抵抗値が1k/2.2kしかまだ試してませんので今度470Ωを買って来て試してみようと思います(部品入手にちと時間がかかりますので・・・)
電池ホルダーも、手持ちの単三ホルダー2本にしてみようと思ってます。
他に何かアドバイスありましたらよろしくお願いしますm_m
とりあえずの現状ご報告まで。
bunbunさん、初めまして。Houganさん、どうもです。
ROMライタ作り、おつかれさまです。
このエラーメッセージは、フラッシュROMライタがプリンタポートに接続されていなくとも
でるメッセージだと思います。ます、2つのことが考えられます。
1.XPのDOS互換ボックスを使っている。対処は、プロパティでWin9x互換に設定。
2.BIOS設定でプリンタポートがSPPになっている。対処は、ECP/EPPに設定。
3.その他、未知の原因など。
あんちょこROMライタや旧タイプのROMライタからは、プリンタポートのデータを
双方向でやり取りしています。使用しているのは、PS/2 Parallel Port(BI-Directional)
モードです。BIOSでSPPに設定されていると、ソフト側でモード切り換えができなく
このようなメッセージがでます。
XPのDOS互換ボックスでは、プリンタデバイスが完全に仮想になっているようで、
DOSプログラムからでは、全く見えていません。Win9x互換に設定するか、
フロッピーブートでの起動だと、ここのモード設定は通ると思います。
ハードウェアの検証は、TEST.EXE や TESTSTDF.EXE での信号チェックを確認したのでしたら
"FWH_DUMP FFF80000 100" や "STD_DUMP 0 100" などでROMのデータがとれるかどうか、
確認してみてください。
最近、書き込みしてなくてすみません。えっと、いきなりですが、実は、このHPの旧タイプROMライタを作ったんですが、ぼくも、bunbunさんと同じ現象が起きてます。
環境は、Duron1050Mhz(750Mhz)のnForce2です。
ジャンクのMB手に入れまして、調べた所BIOSが完全に飛んでいるようで・・・ROMライターで調べてここにたどり着きました。
ROMはN82802でした。
で、あんちょこROMライター早速作らせていただきました。
電圧チェックはOKでしたが、I82_ID.BATを走らせたところ、
*** other application using this printer port !!***
-> you use this prn port (0x378)・・・・
で、enterはOKですが、次の
*** set printer mode PS/2 ・・・
で、enterが通らずdid not set・・・となってしまいます・・・。
PCは P5-A K6-3(400MHz) 自作機です。
おまぬけなミスをしているかもしれませんが、何かわかりましたら、どうかご教授くださいm_m よろしくお願いします。
HIROさん、まいど、協力していただいてすみませんです。
そうですか、IDもステータスも 0x00 ですか、、。
N82802 互換の ST M50FW040 のデータシートも見つけましたので、いろいろ調べてみます。
もう少し、ローレベルの N82_TEST プログラムをそのうち、アップロードすると思います。
こけももさん、はじめまして。
ROMのタイプ(メーカーと型番)によりますが、FWH、LPC用でしたら、
ただいまのところ、N82802 とその互換ものを除いたものが読み書きできています。
BIOSのバックアップだけなら、BIOSメーカーや、マザーボードメーカーの
フラッシュROMツールを使えば、良いと思いますが、こけももさんのようにBIOSを
改造するのでしたら、手元にフラッシュROMライタがあった方が便利と思います。
F4M_READはうまくいったようです。
C:\BOOKPC\BIOS>FC OLD_BIOS.BIN 001101N.BIN
ファイル OLD_BIOS.BIN と 001101N.BIN を比較しています
FC: 相違点は検出されませんでした。
というわけで、前のBIOSと完全に一致しました。
つまり動かないのは、BIOSが原因では無かったようです。
(なんかショック)
N82IDを実行したところ、IDはManufacture's IDもDEVICE IDも
0としか出ません。
またN82STATも READ STATUS=0x0となりました。
P.S.週末は万座温泉まで疲れに行きますので書き込めないと
思います。
古いノートパソコンのBIOSを改造して
色々実験してみたいと思って、
・今ROMに入っているBIOSのバックアップ
・BIOSの書き換え
が頻繁に出来る装置を探しています。
konflashでは出来ますか?
古いノートパソコンのBIOSを改造して
色々実験してみたいと思って、
・今ROMに入っているBIOSのバックアップ
・BIOSの書き換え
が頻繁に出来る装置を探しています。
konflashでは出来ますか?
通常は、データシート等は、メーカーサイトのトップページから、見つけやすくなって
いるのですが、どうやら N82802 と頭に "N" を付けて検索していたようです。
82802 + datasheet だとすぐに見つかります。
http://park2.wakwak.com/~tkon/n82802.lzh
n82802 用にテストで作ってみました。
解凍後のファイル類は、既存の /konflash/fwh/ に入れてください。
動作の手順としては、
1.まず、ROMに入っている前のデータをバックアップ。
"F4M_READ OLD_BIOS.BIN"
2.N82_ID.BAT ファイルを実行し、ID=89、ADが取得できることを確認。
そうでなければ、中止。
3.N82_STAT.BAT ファイルを実行し、ステータスを取得。
D7=1, D5=0,D4=0,D3=0,D1=0 ならOK。
そうでなければ、中止。
4.アドレス FFF80000~FFF8FFFF の範囲で データ 0xFF を探す。
そこに、テストで1バイトのデータを書き込む。
まず、FWH_DUMP FFF80000 100 などでダンプ表示。 FFF80000 が 0xFF なら、
"N82_BYTE.BAT FFF80000 00" で 0x00 が書き込めるかどうかチェック。
そうでなければ、中止。
5.N82ERASE.BAT を実行し、全てのデータを消去する。
"FWH_DUMP FFF80000 80000" で全て 0xFF になっているか確認。
そうでなければ、中止。
6."N82WRITE.BAT NEW_BIOS.BIN ALL" でファイルからデータを書き込む。
書き込みプロンプトが正常に増えていっていればOK。
7."F4M_COMP.BAT NEW_BIOS.BIN" でエラーがなければOK。
簡易動作はチェックしましたが、実際試していませんので、今のところなんともいません。
>konflash プログラムに手を入れる必要があります。
>実際には、消去と書き込み用の別個のプログラムを未テスト版で、そ
>のうちアップロード
>するようになります。
私もデータシートをダウンロードしました。うーん英語ばっかり。
頭痛くなります。
ご苦労様です。別に急意ではおりませんので、ゆっくりやってくだ
さい。
FTPでこんなFILEを探すのは何かコツがあるのですか?
さらに、N82802AB のデータシートを見ました。JEDEC 規格とは異なるようで、ただ単純に
2M、4Mの差異だけではなく、消去や書き込みのコマンドが違っています。
FWH_ID でデータが取得できないのも、N82802AB のID取得アドレスが他と違っているからです。
N82802AB の消去とデータ書き込みに関しては、バッチファイルの変更だけではできず、
konflash プログラムに手を入れる必要があります。
実際には、消去と書き込み用の別個のプログラムを未テスト版で、そのうちアップロード
するようになります。
共通な部分では、現行のものでもデータ読み出しができますので、フラッシュROMが
正しく認識されているかどうかは確認できます。
現行のプログラムで4MのフラッシュROMのダンプや読み出しには、メモリマップが変わります。
メモリマップは、2Mは、FFFC0000-FFFFFFFF。4Mは、FFF80000-FFFFFFFF。
メモリダンプで示すと、2Mは、DUMP FFFC0000 40000。4Mは、DUMP FFF80000 80000。
N82802AB のハードウェアが正しく認識されているのを確認するには、
1."FWH_DUMP FFF80000 80000" でデータの内容がそれらしいバイナリが表示される。
2."FWH_CHK FFF800xx 10000" で データ 0x00 の場所を1バイトリードを行い、
化けがないことを確認。
3.FWH_READ で 512K バイト読み出して、オリジナルのものとFC 等で比較してみる。
---- FWH_READ バッチファイル変更 ---------------------------------
KONFLASH -T:19 -Q:1 -W:1 -A:FFF80000 -C:80000 -F:%1 %2 %3 %4
(4Mのサイズに変更する)
グルーガンで固めてたので少し苦労しましたが、何とか動作する
ようになりました。
IDは全て0です。dumpやreadも動作します。
readしたところ何故か古いBIOSが256KBでした(?_?)。
最初の番地00000から1000までdumpしたところ、0で埋められていま
した。
writeでエラーとなりました。他は動くのに(;_;)。
ERASEを先に実行した方がよいのでしょうか?それとも
プロテクトがされたROMがあるとかも、ヤフオクのROM
書き込み業者が書いてますね。それなのか?
fwhwrite 001101n.bin all を実行したところ
writing
Err;0x80FF-addr 0xFFFC:1081-read,begin TAR1 error!!(retval=0xFF)
xxxError:00000H-07FFFH write!!
と表示されます。
ftp://download.intel.com/design/chipsets/datashts/29065804.pdf
Intel 82802AB のデータシートを、まずさらっと見ました。
ピンアサインで電源とGNDが増えいます。
あんちょこフラッシュROMのパターンでNC(27ピン)をGNDを通していたところが
VCCになっていました。
(あらららら、気がつきませんでした。) m(_ _)m
まず、回路の変更点。
VPP(1ピン)、VCCa(27ピン)に+3.3を加える。
GNDa(26ピン) をGNDへ。
あんちょこフラッシュROMのDxの抵抗値は、書き込み側のパソコンのプリンタポートに
依存しますので、470/1K で読み書きできたのでしたら、それで固定してOKです。
前のINTELマザーは2枚ともほったらかしです。
今、別のマザーを弄っております。具体的に言うとBOOKPC
BKI810のジャンクが手に入り、BIOSと判断(電源はOK)して
biosROMを見てみたら、なんと先のマザーとほとんど同じROMです。
古いからLPCの2Mぐらいだろうと思っていましたら、FWHみたいです。
N82802ABで3.3Vで4MのROMです。昔のi810なんかで4Mもbios
が何故必要なのか不思議ですが。
ROM焼き大丈夫も手持ち無く、ROMを引っこ抜いて、またROMWRITER
で実行したところ、FWH_IDでやはりwrite wsynk error
FWH_READではread wsynk ERRORとなります。
D0-D3 の R1/R2を1K/2.2K と 470/1K の2種類で実行して見ました
が同じです。
100Ω / 2.2K を使った方が良いのでしょうか?
あるいはK7SEMのパラレルポートの方が悪いとしたら、マザーを変
えた方が良いですか?
基板側でD0~D3は2Vありました。(電池は新品にしました。)
親亀、小亀の2個方式の場合は、ROMライタとは別にICソケット2個使って、
作った方がよいと思います。
VDD,WP,TBL,INIT 関連の配線が、つないだり、オープンにしたりする必要があるため。
BIOSが読めないマザーボードの原因が、仮説としてVDDに電圧がかかっていない
というのも考えられます。
HIROさん、金華山の仙人さん、どうも。
火花が出ても、石の内部に過電流がながれていなければ、まだ大丈夫かもしれません。
車に雷が落ちても、表面を通って地面にながれ、中にいる人は大丈夫な場合があります。
石の生命力(耐久力)に期待しましょう。
それに金華山の仙人さんがいっている top hot flash の親亀、小亀方式で、
直づけROM側を Disable にして、ROMライタ側を Enable する2個方式も
まだ、試すことができます。
FWHのフラッシュROMには、仕様上では ID0~ID3(12~10ピン)に High/Low を
与えることにより、16個を共通のバス上に繋げられます。
(実際には、SST49LF002A のように、1個を前提として作られているようですが)
直づけROM側の ID0 を1Kオームぐらいで VDD に取り付けてプルアップすれば、
識別IDが0x1になり、ROMライタ側の識別ID=0x0の方を読みこませる
ことが可能と思います。
一応、直づけROM側の ID0 の電圧が High になることを確認してください。
IDx がGNDパターン接続されているか、オープンかを確認します。
2個方式を使う場合は、ROMライタ側は、プリンタコネクタは浮いた状態で、
信号用の抵抗は、接地している方を外して浮かした状態で使ってみてください。
> LFRAMは3.3Vはあったと思います。CLKやRESETは1.6V位だった
> ように思います。D0も1.6Vあったような気がしますが・・・
そうですか、LFRAM 以外は 1.6V ですか、たぶん信号が浮いている状態と思います。
単に、直づけROMのVDDに電圧がかかっていない状態とも考えられますし。
ちょい、微妙な感じです。
上記URLでも紹介してる、ROM焼き大丈夫のほぼ直販サイトでも
2Mbな旧いタイプ(RD1-2M/PL)は完売御礼になってます。1Mは
未だ大丈夫みたいですけど。
|入手方法は下記が一番廉価で簡単な様です。
|http://uside.net/
あ、そうそうこれも上記URLで紹介してますが、直づけPLCC
タイプなら、下記の様なオプションを持つMBが有りますね。
:ECSのPHOTONシリーズの「Top-Hat Flash」
http://www.watch.impress.co.jp/akiba/hotline/20030913/ni_i_m7.html#pf2d
まあMB側にも何かこのオプション用の仕組みが入ってるかも
しれませんから、他のMBでは使えないかも知れませんが。
前回使ったROMを裏返しで装着して見たところ、fwh_idが実行できま
したので、結線は間違いないようです。
早速グルーガンで配線を固めちゃいました。
INTELマザーは電源を入れながら作業してみましたが、今度は
WSYNK ERROR(たぶん記憶モード)が出ました。
石の16番ピンVSSをアースにして何ボルト出ているかですが23番
LFRAMは3.3Vはあったと思います。CLKやRESETは1.6V位だった
ように思います。D0も1.6Vあったような気がしますが・・・
作業中に漫然とテスター棒を動かしていたら、どうもショートさせて
しまい、小さな火花が飛んでTHE ENDでした。合掌。
実はもう一枚、同じマザーで全く同じ症状の物がありますので(笑)
今度は慎重に事を運ぼうと思っております。
抵抗は1K/2.2Kに戻して又やってみます。でもしばらく気力が出ない
かも・・・
HIROさん、たぶん、その方向で進めると読み書きできるかもしれません。
メーカーがマザーボードが製造するときに、ROMが直づけの場合は、インサーキット
テスタ等で導通チェックなどを行った後に、端子を使って外部からROMを焼いている
と思います。それと同じ条件を考えれば、うまくいくかもしれません。
電源は、マザーボードを起動して、そちらを使います。CPU、メモリや拡張カードを
外した方が上記の条件に合うと思います。
使う端子は、D0~D3, VSS(GND), CLK, RESET, LFRAM/FWH4 です。残りは、信号が High か Low か
をチェックするだけでよいです。ROMライタの電池は関係なくなるので外してください。
ICソケットを外して状態で、マザーボードの電源をONにしたときに、CLK, RESET,
LFRAM/FWH4 の信号が High の状態になっていることを確認してください。
Low だと、ちょいあんばいが悪いです。D0~D3 は、Low になっていると思います。
WP,TBL,INIT が High になっていることを確認します。この状態でないと書き込みができません。
マザーボード側の影響により D0~D3 の抵抗値の変更が必要になるかもしれません。
そのときは、また電圧を測って、調整してみてください。
金華山の仙人さん、どうも、おひさしぶりです。
ぜひ、仲間うちで、フラッシュROMライターを作ってみてください。
ROM焼き大丈夫は、メーカーサイトから着払いで買えると思いますが、
それでも入手困難というのは、作っても割が合わなくなってしまったのでしょうかね。
先に作った基板の裏からまたリボンケーブルをのばして、もうひとつ
ソケットをつけ、ROMの接点側で左右対称になるように配線して直付け
ROMの上からかぶせてfwh_idを実行してみました。
Err 0xc0F0 - write,begin TAR1 error retval=0xf0
となります。何も付けずに実行すると別のエラーだったので、何か
認識はしてるのでしょうか?dumpも同じエラーになります。
ちなみに石はintel N82802AB8 A2357199 という表示があります。
石によって違うのか?そもそも直づけに無理がある?電気を周りの配線に食われちゃうのか?電源をもう一つ繋いで電源ONしてやるのも1つの手か?あるいは結線ミスかも・・・
おひさしぶりです。
最近上記URLのツリーで忙しく遊んでおりますが、ROM焼き大丈夫
の入手が近頃困難になってきてるという話が出てきて、こちらを
再訪したら、なかなか良さそうなモノが出来てますね。
勿論、私自身では難しいですが、ジャンク好きな遊び仲間が何人
か集まってきてますので、また紹介させて貰いますね。
私の今のお遊びが流行ってくれれば、フラッシュROMライタ
を欲しがる人も増えると思います。
>Square-Enix の Junk-Metal Open-Β
スクゥエアエニックスのサイト少し見てきました。
マシンのスペックはGEFORCE2MX以上であればかろうじてPASS
ですが、3Dはうーん苦手かな?
今日の電子工作の方はトラブル(デジカメ壊れたとか)続きで、
PLCCのピンアサインを調べただけで終わり。
直づけROM成功したらまた報告します。
HIROさん、おめでとう。\(^O^)/
うまくいって良かったです。
これで、BIOSアップデート時の妙な緊張感がなくなることと思います。
ROMライタが高いというイメージもなくなりますね。
次は、直付けのROMですか。
ピンが外に出ているパッケージだったら、1ピンごとぺカぺカと剥がしていき、
表面実装用のICソケット付けてしまうのですが、PLCCだと内にピンが入っているので、
たぶん、数ピン試して、いらいらして、結局、ROMの付け根からカッターで切って、
そのROMを捨てにはいるでしょうね。
フロッピーディスクを読みに行くのでしたら、CPUは動作しているので、何らかの
フロッピーからのBIOS復旧の可能性は、ありそうですね。
いや~。Square-Enix の Junk-Metal Open-Β、むちゃくちゃ酔うのだけれど、はまりそうな感じです。
INTELのマザーはあるのですが、BIOSイメージが存在せず、(IFLASH
というユティリティに含まれており取り出せない。)
しかも直づけROMです。
フロッピーを読みに行きますが、何故かフロッピーからのBIOS復活は
出来ません。BIOSが中途半端に飛んでる?
これをPLCCソケットを頭から挿して直づけのままBIOS書換を考えてい
ます。他機種のBIOSで起動しないかな?
いろいろ遊ばせてもらえると思っております。
PLCCのソケットのピンアサインをまた調べなくては。
(裏のピン側で右左逆にしてもソケット側で逆にはならないでしょう
ね。)
テスト成功しました。
最初やはりエラーが出ました。
ERR 0xC109 - write,WSYNK error (retval=0x9)
ROMは、もともとABITのBL7についていたもので、SST 49LF002A でした。
http://www.ioss.com.tw/web/Japanese/RD1BIOSSavior/SelectionSheet.html
で確認しましたら、やはりFWHですね。
抵抗を470/1Kに(D0からD3のみ)取り替えてテストしましたら
manufacturer's ID=BF DEVICE ID=57と表示され、通ったようです。
C:\WINDOUWS¥COMANNDにFC.EXEを見つけ、フロッピーのFWHのディレクトリに
コピーして実行。
久々にDOSのコマンドを使いました。英語モードで記号のキーの割り当てが違
うのでとまどいますが、SHIFTを押しながらとかやってみれば、記号の位置も
わかり、なんとかクリア。
FILEAとFILEBで比較したところ、、NO DIFFERENCEES ENCOUNTEREDと表示され、
成功したようです。
FWHWRITEを実行してROM書換後、FWH_COMPを実行するとDONEと表示されました。
書換に使ったROMのマザーはもう既に無いので(不動→部品取り後不燃ゴミ)
今のところ動作の報告は出来ません。申し訳ないです。
または、パソコン本体の電源がOFFの状態で、、。
抵抗を置き換える時は、プリンタコネクタは、パソコンから外した状態で行ってください。
HIROさん、正確な情報を感謝します。製作されたものの鼓動が聞こえて来そうです。
> しかしboardtestのREADMODEでPRN側2.4V、ROM側1.6V
たぶん、このパターン(D0-D3 1K/2.2K)では、ROMデータの読み取り時に Low の信号を
拾えずに RSYNC(READY) エラーで終了すると思います。作業は、このまま進めて、
実際このエラーで終了することを一度確認します。
次の作業は、3V以上あるボタン電池を取り付け、スイッチONで、+3.3Vが加わる
ピン(ROMや抵抗)をチェックしてください。
スイッチOFFの状態で、FWHフラッシュROMを取り付けます。
I845 なのでFWHと思いますが、FWHフラッシュROMの型番は、一応調べてみてください。
ROM表面に印字してあります。シールが貼ってある場合は、半分ぐらいペロっとめくれば見えます。
スイッチONで、電池やROMが熱がなければ、プログラム FWH_ID.BAT を実行して、
予測の RSYNC(READY) エラーがでることを確認します。
スイッチOFF、D0-D3 の R1/R2 1K/2.2K を 470/1K に置き換えます。
スイッチONで、プログラム FWH_ID.BAT を実行します。
ここでフラッシュROMのIDが取得できれば、その設定でOKです。
test.exe は何とか通ったようです。テスターでHIGHとLOW
が切り替わるのが確認でき、感激しました。
しかしboardtestのREADMODEでPRN側2.4V、ROM側1.6V
WRITEMODEでPRN側3.4V、ROM側は2.2V程度あるように思います。
電圧が高いので抵抗を変えればよいのでしょうか?
説明にあるような、低い抵抗に変えるとよけいに電圧が上がるのでは
無いかと思い、まだROMは取り付けておりません。
使用しているマザーはK7SEMです。このマザーのパラレルの仕様なの
でしょうか?
書き換えようとしているROMは別物で、I845マザーについていた
FWHです。
アドバイスがあればよろしくお願いいたします。
ハンダ付け作業おつかれさんです。
ボードの信号テスト(High,Low)用のプログラム /boardtst/test.exe がありますので、使ってみてください。
http://www56.tok2.com/home/kb110/cgi-bin/imgboard.cgi
こんな感じで作ってみました。
動作確認はまだですが、とりあえずご報告。
あーっ!早速載せていただいたのですね。
これなら私にも何とかなりそうです。
ありがとうございます。
最近ハンダ付けの中毒になりかけなので、買い置きのユニバーサル基板
の出番が来ましてとても嬉しいです。
PLCCのソケットのピン配置もテスターで調べなくてはと
思っていたところ、載せていただいたので大変助かります
全部は配線しなくて良いと言うことですね。
ぼちぼち、時間をかけてがんばってみます。ありがとうございました。
HIROさん、こんにちわ。
VDD は、フラッシュROMの電源電圧で、+3.3Vが繋がります。
アンテナ、電線みたいな記号が全部3.3V繋がっています。
> 図の左の電源からどこへつながるのでしょう?PLCCの7、8、24ピン の方でしょうか?
はい、そうです。10Kの抵抗を通してそれらのピンに繋がっています。
> パラレルの18~25は電池のマイナスに繋げば良いのでしょうか?
> 2.2Kの抵抗を通じてアースと言うことはやはり電池のマイナスに繋ぐ?
はい、そうです。フラッシュROMのVSS は、GNDに繋がっています。
> OFFの時はR3の方につながる切替スイッチなのでしょうか?
はい、そうです。コンデンサに溜まった電気をスイッチOFF時に放電します。
3PスライドSWを使っています。
「あんちょこフラッシュROMライタ」2号機のパターンと部品配置図を載せましたので参考にしてみてください。
度々すみません。
スイッチですがこれはONの時はC1の方に、
OFFの時はR3の方につながる切替スイッチなのでしょうか?
それとも単にON、OFFだけ?
FWHのROMでINTEL製チップの割と新らし目の画面のでないマザーが
数枚あります。何とか復旧すべく、先日日本橋に行って、部品をほとんど揃えたように思います。
素人のため、まだ回路図が分かっておりません。
図の左の電源からどこへつながるのでしょう?PLCCの7、8、24ピン
の方でしょうか?
25、32のVDDの方でしょうか?VDDの意味って?
パラレルの18~25は電池のマイナスに繋げば良いのでしょうか?
2.2Kの抵抗を通じてアースと言うことはやはり電池のマイナスに繋ぐ?
回路図の分からないど素人で大変ご迷惑をおかけしますが、ご教授下
さい。よろしくお願いいたします。
C.Tさん、おばんです~。
FWH、LPC仕様は、「あんちょこフラッシュROMライタ」です。
旧タイプのものは、stdflashで、32ピンDIPソケットをPLCCに置き換えればOKです。
のんびり作ってみてください。(^-^)/
こんばんは。
PLC用のROMライター関係を探していてたどり着きました。
ようやく念願の物が見つかりとてもうれしいです。
先ほど部品を通販にて依頼しましたので、作成するのがとても楽しみです。
また、結果を報告します。
> うちのは書き込み用のWinアプリWebに上げてないです;^_^
どうもすみませんでした。勘違いしました。m(_ _)m
とりあえず、作りやすいように回路、部品配置とパターンがいっしょになった図を
載せておきました。
私のハードウェア歴では、PICは空白のエリアで、使ったことがありませんが、
なるほど、かなり奥深く進化したものになっているのですね。
世の中には”xx使い”という人たちがいますが、安価な PIC16F84 を触媒に呪文を放つ
”PIC使い”が多くいたのには感嘆しますね。
PIC16F84 のデータシートダウンロードして、さらっとダイアグラム見ましたが、
DAコンバータなしでビデオ出力と言うのは「よくやるな~」と思います。
さしずめ、これでブロック崩しを作った人は、”PIC使い”マスターなのでしょう。
恐れ入ります。1997年にそんな大きな出来事があったとは、、、。
旧タイプ用のフラッシュROMライター完成おめでとうございます!
うちのは書き込み用のWinアプリWebに上げてないです;^_^
配線するのもかなり大変ですし、ROM焼きだけなら
ジャンクM/Bでuniflash使うのが一般的かと。。
などと言いつつ、性懲りも無くまた使えないもの作っちゃいましたよ
あんちょこ3本線でビデオ出力するグラフィックボードです
その名もSZ-G1684~♪
シフトレジスタHC164を使った旧タイプ用のフラッシュROMライター作りました。
動作を確認したのは、A29002, AT29C010, SST29EE010, W29C020, W49F002 の5種類です。
sazanami さんのROMライタ同様に、こちらも、よろしくお願いします。
前回言っていた4040x1と164x1の2個構成では、ページライト時の連続アクセス150μs 以下は満たせそうもありません。ですので、4040と8ビットラッチ373ならいけそうですので、気が向いたら作ってみます。
ホームページのアクセスカウンタが1000回を超えました。みなさん、ありがとうございます。
掲示板の方向性が「あんちょこハード系」で進んでいますので、何でもよいのですので、書き込んでみてください。
sazanami さんどうも。
>> 5555,2AAAなんてコマンドはすごくいじわるく思えるでしょうね;^_^
いえいえ、昔なんですが、EEPROMやフラッシュROMにデータを書き込むときは、12Vの電圧を必要としていた時があるのですが、それがうまく行かなかったのです。
それに比べ、5V電源単一で 5555,2AAA のコマンドするだけでデータを書けるので、すごくしあわせだった記憶があります。
>> GV-VCPは使用予定ですよ~
>> 多チャンネルを一度に見れるハード&ソフトを作ってみたいので
>> あんちょこ制御のMC14053で4~6ch程度のビデオセレクタを作って
>> キャプチャのDCをBitbldでCopyして並べる方式です。
>> 1881でフレーム待ちしてとか色々考えてはいるんですけど、
>> 昨日はノートパソコンにメモリチップ貼ってて1日終わってしまいました。
多チャンネルを一度に見れる仕様は、壮大ですね。
昔のビデオで、デジタル機能がつき始めた初期に、9画面分割機能とかあった記憶があります。
チューナー切り替え時間が遅いらしく、ゆったり切り替わっていたようでした。
4053 アナログマルチプレクサ。なつかしいです。出力が弱く(インピーダンスが高く)、エミッタフォロアを付けて使った記憶があります。
これも面白いロジックですね。
GV-VCP 買ったときに、WOWOW のスクランブルを何とかできないものかと思ったことあります。動機は不純ですが、こういう意欲は大事にしたいですね。
PS.
フラッシュROMライタ HC164x3 正常動作しました。古いフラッシュROMを検証したあと、HPに載せます。よろしく。
ちなみに、HC164x1、HC4040x1の構成も計画中、、。
tkonさん
早速レスありがとうございます。
カウンタ型とシフト型ですか~
GameBoyのSRAMカートリッジを自作して8255で読み書きしてた時に
アドレスが足りなくなってカウンタ型で増築した事があります。
もう何年も前ですが、PC-9801UV11を\1kで買ってきてc-bus直出しとか… こほっ
5555,2AAAなんてコマンドはすごくいじわるく思えるでしょうね;^_^
シフト型だとソフト次第でしょうか、
現状のあんちょこFLASHでもreadは旧タイプと互換性あるはずなので
入手しやすいROM品種に対応すれば緊急対応用として十分な感じです。
intel N82802ABなとは、気の利いたパソコンショップで\1k~2kで入手可能なようです。
#STOROBEだけはI/Oなので、PCからアクセスするとハードWAITが自動挿入されると
聞いたことがあるんですが、検索してもそれらしい情報は無いしどうなんでしょ?
GV-VCPは使用予定ですよ~
多チャンネルを一度に見れるハード&ソフトを作ってみたいので
あんちょこ制御のMC14053で4~6ch程度のビデオセレクタを作って
キャプチャのDCをBitbldでCopyして並べる方式です。
1881でフレーム待ちしてとか色々考えてはいるんですけど、
昨日はノートパソコンにメモリチップ貼ってて1日終わってしまいました。
Sazanami さん、どうも、はじめまして。
あけましておめでとうございます。
SZ FLASH Writer 見ました。8ビットラッチとデコーダを使った回路は、洗練されたいい感じですね。
そして、ハード、ソフト製作、おつかれさまでした。
やはり、旧タイプは LPC、FWH タイプと比べて単純にアドレス18本、データ+4本+α、配線量が多くなってしまいますね。
実は、こちらも、負けずと旧タイプ用のフラッシュROMライタを作っています。とは、言っても必要に迫られていないので、モチベーションは、上がりませんが。^^;
正月に4040(12ビットカウンタ)x2個を使ったROMライタを作りました。
問題なく読み書きできます。2M ROM(256Kバイト)読み出しは、7秒でした。
ただし、書き込みは、8時間32分(実際は、4Kの書き込み8分で計算)です。 ><
ページ書き込みができるROMなら、かなり書き込み時間が短縮されますが、バイトプログラムだけのROMでは、アドレス設定が尾を引いて長くなります。
当てが外れたのは、プリンタポートの #STOROBE 信号からパルス幅 100ns 以下でると勘違いしていて、実際は、どうふんばっても 1us のパルス幅しかでず、なんともしようがありません。
現在、HC164(シフトレジスタ)x3個でROMライタを製作中です、、。
Sazanami さんのホームページでは、ジャンク品ネタや、古くなった部品の壊れいく様の記事がありしたが、当方も GV-VCP,GV-VCP2M とも”じゃんぱら”でなんとなく買ってしまったし、挙動不審のハードディスクやCDROMドライブとも付き合っている次第です。(^-^)/
こちらこそよろしくお願いします。
あけましておめでとうございます。
あんちょこFLASH素敵ですね。部品数が少なくて再現性も高そうです。
機会があれば是非作ってみたいです。
最近は汎用USBが主流になってますが、ちょっと試すにはいいですよね
私もあんちょこでシリアルEEPROMライタなどは作った事があります。
私も、旧タイプの2MB-FLASHのBIOS飛ばしてしまって、
安いマザー勝手くればお手軽なんですが、これ以上マザボ増えるのもイヤだし、
思い切ってパラレルポート接続のFLASH ROM writerを作ってみました。
資料集め中にこちらを知りました。
IC5個構成で配線が大変でした、調整はもっと大変でした;^_^
PICを使えば1チップで済んでしまったような気がします。
ちょっとご挨拶のつもりだったのですが、長くなってしまいました。
応援しておりますので今後ともよろしくお願い致します。
お返事が遅れてすいませんya_tenです。
教えて下さり有り難う御座います。
行って見てきました。
早速romが手にはいったらソフトを落としてやってみたい
と思います。
ほんとうにありがとうございました。
ya_ten さん、どうも、はじめまして。
私も、W49V002A を探したことがあります。
小売で売っているところは、まだ、見つけ損ねています。
若松通商とかが売ってそうな気がしましたが、ないですね。
FlashROM 自体が仕様の移り変わりが早いので、扱いづらい(在庫を抱えてしまう)のでしょう。
他に見つけたのは、
問屋さんらしきサイト http://www.iczaiko.com/
あとは、「ROM焼き大丈夫」の LPC 製品(ゲタ、スイッチ付)あたり。
はじめましてya_tenといいます。
みなさんは、W49V002Aとかのフラッシュromを
どこで買っているんですか?
netでW49V002Aを検索してみたのですが、通販
で売っているところが見あたりません。
どうか教えて下さい。
アルコールが入って、ふと浮かんだのが、プリンタポートを2個、3個(パソコンを2、3台)使ったら、あんちょこになるのかな(笑)。
プリンタポート1つでは、なつかしの4040を2個使って、作れそうな感じです。手持ちの部品があったら試してみよう。(^o^)/δ ヒック
thonさん。わざわざありがとうございます。さっそく、千石電商の通販で頼みました!一応、ラッチ回路とかまだぜんぜんわからないので、一応、3.3V専用で作ってみようと思います。一応、今使ってるnForce2のBIOSが3.3Vなんで、壊れたときの復旧もかねて。
>今ごろだったら、秋葉原のジャンク品で千円ぐらいのものを
ROM焼き用にとできるかも。
僕も田舎なもんで(笑)
部品 注釈 価格(だいたい)
基盤 穴 24x15(or x14) 100円
ICソケット PLCCソケット32P(基盤挿入型 200円
ボタン電池BOX タカチ電機工業BCR20H4の
CR2032ボタン電池BOX 168円
プリンタコネクタ Dサブ25ピン(オス) 175円
10Pコネクタ フラットケーブル用(メス) 160円
10Pコネクタ用のジャンパーピン(オス) ?
抵抗1KΩx7
抵抗2.2KΩx7
抵抗470Ωx4 (D0-D3 用)
抵抗560Ωx1 (SST 49LF002A用)
抵抗10KΩx1
抵抗39Ωx1 10円x21 210円
スイッチ3P 205円
電解コンデンサ10μF 20円
セラミックコンデンサ0.1μF 20円
テスターピン 外部電源用 +3.3v、GNDの端子 ?
SIPの丸ピン (32P) 315円
スペーサx8 20円x8 160円
購入先は、通販で千石電商、仙台まで出かけて梅澤無線電機。
SIPの丸ピンは、価格が高いです。これだったら、
LS241を3.3V(外部電源)のオーバースペックで
直付けで使った方が安いですネ。
Hougan さんどうも、はじめまして。
winbond のホームページでW29C020Cのデータシートを確認しました。
http://www.winbond.com/e-winbondhtm/partner/b_2_h_1_1.htm
2世代ぐらい前の5V単一読み書きのフラッシュROMですね。
すみません、この「あんちょこフラッシュROM」では、
読み書きはできません。3.3v用で、なおかつFWH、
LPC用です。
旧タイプは、プリンタ(パラレル)ポートでは、あんちょこで
扱うには、信号数が足らないのです。
もし、プリンタポートで回路を作るなら、まず、アドレスの
ラッチ回路等を16ビット分ぐらい作り、データ8ビットを
おのおの ADDR-Low/High とData に切り替えるとか。
そして、#OE,#WE をコントロールする分とか。
以前、PC9801で作ったのは、98バスで8255を通して、
5V単一のフラッシュROMを復旧したことがあります。
(もう、PC9801のハードディスクは壊れていますが、、。)
私が扱えたのは、ISAバスぐらいまでで、PCIからはお手上げです。
5V単一読み書きのフラッシュROMを復旧するのでしたら、
今ごろだったら、秋葉原のジャンク品で千円ぐらいのものを
ROM焼き用にとできるかも。
(私は、田舎にすんでいるので、なんともいえませんが)
thonさん!はじめまして!駆け出しの電子工作初心者です。
「あんちょこフラッシュROMライター」のページ見ました!
ぜひ、BIOS修復のために作りたいのですが、掲示板を見る限り、このROMライターは、3.3VのBIOSにしか対応してないように、見えます。しかし、僕のは、W29C020Pという5Vのものなのですが、このROMライターで書き込みことはできるようにできるでしょうか?
(あと、できたら、部品表みたいなものがあったらいいな~とか思ってたりします)
どの機種でも100Ω/2.2K の共通で動かすには、
ちょっと無理がありました。
やはり、PC機器によって抵抗値の切り替える
方向にします。
現在、2パターンあれば、動作しています。
1K/2.2K と 470/1K です。
さらに、750/1.6K を加えた3パターンが
あれば、1K/2.2K -> 750/1.6K -> 470/1K
と動作確認しながら切り替えていくと良いです。
CHKVOLT の PRN のデータ読み取り状態(pull-up)
での電圧チェックをしながらでは、
ROM 側では、1.05V ~1.4V ぐらいの範囲内で、
PRN 側では、1.65V ~2.0V ぐらいの範囲内で、
正常動作を確認しています。
ソフトの変更は、ボート識別チェックのスキップのみ。
D0-D3 の抵抗値で、ど機種でも動作する値は、100Ω/2.2K を使う。
この場合、PRN 側の入力電圧の最大が4V 付近にならないことが重要。
CHKVOLT.BAT を使いデータ 0xFF を書き込んだ状態での
電圧をチェック。3.3V 前後であればOK。
あんちょこフラッシュROMライタを作った方、書き込みください。
「うごかないー」という情報もお待ちしています。
nforce PC では、D0-D3 の R1/R2 の値を
470/1K(560/1K) に変更し、正常動作を確認。
P100-NotePC では、D0-D3 の R1/R2 の値を
68/1K(75/1K) に変更し、正常動作を確認。
P100-NotePC では、konflash のボート識別
チェック (データ 0xF0 でリード)が使えなく
なったので、その部分をスキップさせる。
機種によるバラつきがかなり見られます。
対策と考えられるのは3つ。
1.どの機種でも動作する最適な値を
見つけ、それを標準とする。
2.機種ごとに最適な値を出すための
手法をマニュアル化する。
3.参照にあった標準ロジックを使うか、
または、それに近い回路を新たに考える。
とりあえず、古いマザーボードもあることなので、
それらからも情報を採取してみると、。
(検討中)
その他:
冬場なのか、SST49LF002A のクロック入力部の
抵抗値 R1/R2 が 1K/2.2K でもデータを正常に
読み取れていた。良いことです。
>> 1、プリンタポートを双方向で使うための設定
>> "PS/2 Parallel Port mode" の設定での、
>> データ読み出しができない。モード設定が効かない。
モード設定は、正常に動作していました。私の気のせいでした。
>> 2、信号 D0-D3 の読み出しで、抵抗値 1K/2.2K では、
>> 信号 Low を認識できない。
i845D のものより、読み取り時におけるプリンタ側の
プルアップ抵抗が小さいと思われ、1K では、信号Low
の電圧が上がり Low と認識しない。
なので、問題点は1つ。
現在、PCの違いにより、「あんちょこフラッシュROM
ライター」に2点の不具合があることがわかりました。
1、プリンタポートを双方向で使うための設定
"PS/2 Parallel Port mode" の設定での、
データ読み出しができない。モード設定が効かない。
(nforce2-IGP)
(現在、調査中...)
2、信号 D0-D3 の読み出しで、抵抗値 1K/2.2K では、
信号 Low を認識できない。(P100note)
(抵抗値の変更、またはロジックが必要かどうかを調査中...)
正常動作を確認しているPCは、Intel 845D (MSI 845 Ultra)。
tkonさん、こんにちは。
確かにATX電源には3.3V出力があるので、それを取り出せば
使える事は分かりますが、結線が面倒そうなのが厄介なん
ですよね。
最近はボタン電池なんかもコンビニでも入手出来たりします
から、トラブルや面倒はボタン電池方式の方が少なくて済む
気もしますし。
R1/R2はソケット方式で、現状では”SST49LF002A”
だけが特殊な訳ですね。
何とかCLK31番の入力条件がデータシートとかから判断出来ると、
試行錯誤が減らせるのですが、なかなか難しそうですね。
RS232Cにしても多分PCで使ってるのは5Vで間違い無いで
しょうが、PCによっては電圧が結構振れていたりノイズが
あったりでのトラブルも有りそうで、試行錯誤の作業での
確実性が損なわれそうですから。
いずれにしても実績をいかに積むかにかかってますから、
やはりROM救急を餌に獲物を引き寄せるのが楽かも知れ
ません。(^^;;
金華山の仙人さん、どうも。いい感じで考察、連想していますね。
1号機のROMライタの写真をみてもらうと、実は、
そのへんの部分が見えてきます。
まず、外部電源用に+3.3VとGNDの端子を付けています。
外部電源は、最近のCPU消費電力に対応できなかったり、
騒音がうるさかったりして、隅っこに置かれたATX電源が
つかえます。(実際に使いました)
ATX電源の起動は、これまたお蔵入りしたマザーボードに
取り付け、パワーSWも付けて、+3.3VとGNDを取り出します。
その他に、ショップ等でATX電源用のテストボード
http://akiba.ascii24.com/akiba/news/2003/08/30/645708-000.html
ありますので、それを使っても簡単に安上がりにつくれると思います。
R1/R2についてちょっと誤解があるので、補足しますと、
LPCもFWHも標準は、R1/R2は、1KΩ/2.2KΩです。
”SST49LF002A”は、560Ω/NC(オープン)です。
現時点でR1/R2は、ICソケットSIPをつかって、
抵抗器を抜き差ししていますが、他のフラッシュROMを試して
みれば、抵抗値の分類ができ、ロータリーDIPスイッチ等で
切り替えるように工夫はできます。
このフラッシュROMライターには、いろいろなバリエーションが
作れると思いますので、興味がある方は、ぜひ作ってみてください。
ちなみに、PLCC32ピンのICソケットの接触不良等が
気になるのでしたら、テクスツールを使った”リッチ”バージョン
もありかと。
>あとは5V->3.3Vのシリーズレギュレータを使って、ボタン
>電池無しに出来れば良いですが、コストが跳ね上がりそう
>なのが厄介ですね。
http://www.nahitech.com/nahitafu/mame/mame5/rs232c.html
RS232Cには5V給電に使える端子って無いんですね。
(ど素人モード^^;;)
>ジャンパピンを一個追加して切り替えってのはどうでしょう?
あとジャンパは2つないと駄目そうですが、そうなると
やっぱり接触不良が心配かなあ?
>スイッチとかでLPC/FWH用のR1/R2を切り替えるのは、接触
>不良とかの問題で難しそうですが、まずこの点を改良出来る
>と助かりますね。
ジャンパピンを一個追加して切り替えってのはどうでしょう?
長すぎたので別発言にします。(^^;;
あと気になるのは LPC用とFWH用でR1/R2が違うので別々に
ライターが必要な気がしますが、これ以上種類が増えそうな
可能性は有りそうでしょうか?
スイッチとかでLPC/FWH用のR1/R2を切り替えるのは、接触
不良とかの問題で難しそうですが、まずこの点を改良出来る
と助かりますね。
二個よりも一個で済ます方が合計費用は少なそうですし。
あとは5V->3.3Vのシリーズレギュレータを使って、ボタン
電池無しに出来れば良いですが、コストが跳ね上がりそう
なのが厄介ですね。
どうせ大した電流じゃないから大容量抵抗を使って降圧
ってのは駄目かなあ? (素人意見で済みません。^^;)
tkonさん、どうもです。
> それに、フラッシュROMの復旧や、焼きこんだROMを
>販売している方々が、既にそれなりの商売(生活の糧)
>していますので、できれば競合は避けたいと思います。(^^;
その件については考慮は不要だと思いますよ。そうでなければ
ボランティアやNPO、更にはオープンソースは排斥されかね
ないですし。
好意の範囲で失敗も仕方がない無料の方を選ぶか、有料で最後
まで責任を持って対応してくれる方を選ぶか、単なる選択肢の
追加でしか無いと考えてます。
> たぶん、まわりに、作れる人は、大概いると思いますので、
>回路図、実際の試作機と1号機の写真を見せて反応をうかがって
>みてください。
先に紹介したHPみたいにROM復旧をボランティアでしてる人
で、LPC/FWH品にも手を拡げたいけどお金が無い、という人に
お薦め出来そうですね。
> ROMのデータ調査、復旧は、おまけサービスにします。
購入者当たりで数種類くらいはサービス出来ると考えて良い
ですか?
費用と手間暇をかけてまでROMライタを入手しようとする人
は、ROM復旧ボランティア以外でも、LPC/FWH品のMBをかな
りの枚数を所有してる筈なので、どれだけサポートして貰え
るか気になると思います。
まあ、その過程で調査方法やBATファイルの作り方が掲示板
とかでログで残れば、購入者自身でも対処出来る様になるで
しょうけど。
> このソフトがちょっとでも役立てるよう仕上げていきたいと
>思いますので、未テストのLPC、FWHのフラッシュROM製品
>1種類1個に限り、書き込み無料サービスしたいと思います。
確かに2個目以降は"楽しみ"じゃなくて"作業"になってしまい
ますからね。(^^;;
> でも、依頼主の往復送料持ちです。それで良いのでしたら、
>フラッシュROMのメーカー名と品名を記してEメールください。
勿論、往復の送料が依頼主持ちなのは当然ですね。
まあ限定的な話になるので大々的には無理でしょうから、該当し
そうなユーザーへの情報提供の形で、tkon さんのHPを紹介す
る様にしますので、もし依頼が来た場合は宜しくお願いします。
金華山の仙人さん、どうも。こちらはこんな感じです。
>> ROM復旧引き受けは如何?
基本的にROM復旧のサービスは考えていません。
たとえば、依頼者から無料サービスや低額でやってくれと
いわれても、現時点のマザーボード仕様とそのBIOSアップ
デート概念からして、BIOS書き込み失敗は、潜在的に多く、
こちらに結構な負荷がかかってしまいます。
それに、フラッシュROMの復旧や、焼きこんだROMを
販売している方々が、既にそれなりの商売(生活の糧)
していますので、できれば競合は避けたいと思います。(^^;
こちらのスタンスは、3つにします。
1.まず、あんちょこフラッシュROMライター製作を勧めます。
簡易ハードウェア入門とでもいいましょうか。
たぶん、まわりに、作れる人は、大概いると思いますので、
回路図、実際の試作機と1号機の写真を見せて反応をうかがって
みてください。
2.一応、このROMライタは、20個ぐらい手作り販売します。
(20個ぐらい作れば、もしかしたら改良アイデアがでてくる
可能性があるので)
ROMのデータ調査、復旧は、おまけサービスにします。
費用は3500円+送料で考えています。
量産ではないので、1機あたりの材料費は、が1000円ちょい
ぐらいかかります。さらに、その部品を買出しにいったり、
取り寄せたりするのに材料費以上にかかってしまいます。
3.そして、限定案として。
このソフトがちょっとでも役立てるよう仕上げていきたいと
思いますので、未テストのLPC、FWHのフラッシュROM製品
1種類1個に限り、書き込み無料サービスしたいと思います。
でも、依頼主の往復送料持ちです。それで良いのでしたら、
フラッシュROMのメーカー名と品名を記してEメールください。
既に済み:
SST 49LF002A
Winbond W49V002A
tkon さん、回答を有り難う御座います。
>プログラム本体の仕様は、汎用的に作っていますので、
>ROMのピン配置と電圧が同じなものならば、4M、
>8Mのものまで読み書きできると思います。
同じかどうかを確認する手間が悩ましそうですね。
>いくつかの他メーカーのフラッシュROMの仕様を
>ホームページからダウンロードして見ましたが、
>LPC/FWH の規格をフルサポートしているというよりは、
>余分な消去モードや、ソフト上のプロテクト機能などは
>省いているようです。
という事は新しい種類のフラッシュROMを試す場合でも
壊す様な事は無いと考えて良さそうですね。
>データ読み出しは、どのメーカーも共通ですので、
>それができれば、あとは、バッチファイルのパラメータ
>設定で、消去と書き込みとを対処と思ってください。
あまり種類が増えると管理が大変そうな気もしますね。
◇
ところで、例えばもしPatchedBIOSで失敗したユーザーが
駄目もとでtkonさんにBIOS復旧を頼んだ様な場合に、受け
る事は出来そうでしょうか?
そうすればtkonさんの方でも対応バリエーションが増やせ
るし、ユーザーも助かるし、両得な気がしますが。
勿論、3.3V品やLPC/FWH品を使ってる様なMBでは、まだ
BIOS更新が止まってないでしょうから、PatchedBIOSを必要
とするユーザーは現時点では殆ど居ないでしょうけど。
因みに一般のBIOS復旧引き受けサイトとかだと、格安のROM
ライタを使ってるせいか3.3V品やLPC/FWH品までは対応して
ない様ですから、tkon さんのROMライタは上手く棲み分け
出来てる感じです。
http://village.infoweb.ne.jp/~fwgc5672/bios.htm
尚、有料なこちらだと流石にOKみたいですけど。
http://members.jcom.home.ne.jp/matumaru/index.html
金華山の仙人さん、どうもこんにちは。
>> で、本題ですがtkonさんのROMライタで書き込み可能なフラッ
>> シュROMの種類は、どの程度いけそうでしょうか? 勿論、実績
>> とかは別で仕様上の話で構いません。
まず、フラッシュROMで実際に読み書きしたのは、
SST 49LF002A(FWH) と Winbond W49V002A(LPC) です。
どちらもサイズが2Mビットの3.3Vのものです。
プログラム本体の仕様は、汎用的に作っていますので、
ROMのピン配置と電圧が同じなものならば、4M、
8Mのものまで読み書きできると思います。
ただ、他のメーカーで、メーカー依存部分がある場合は、
その部分をバッチファイルのパラメータ設定等で対処する
必要があると思います。
LPC と FWH の xxxERASE/xxxWRITE バッチファイルを
比較してもらうとわかりやすいのですが、W49V002A
の方には、ソフト上の書き込みプロテクト解除の手続き
がなかったり、消去の手数も少なく簡単になっています。
たぶん、回路的にも SST 49LF002A と比べかなりロー
コストのフラッシュROMなのでしょう。
いくつかの他メーカーのフラッシュROMの仕様を
ホームページからダウンロードして見ましたが、
LPC/FWH の規格をフルサポートしているというよりは、
余分な消去モードや、ソフト上のプロテクト機能などは
省いているようです。
最近の DDR400 のメモリにもあるように、JEDEC 対応と
そうでないローコスト版とでマザーボードの相性がでてきて
しまうようなものです。
データ読み出しは、どのメーカーも共通ですので、
それができれば、あとは、バッチファイルのパラメータ
設定で、消去と書き込みとを対処と思ってください。
PS.
「戻る」を設定しました。お手数かけます。(^^;
http://www.ioss.com.tw/web/Japanese/RD1BIOSSavior/SelectionSheet.html
上記サイトには、LPCやFWHと明示されてるROMが幾つか有りますが、これらが仕様上は全て対応する、と考えて良いでしょうか?
P.S
この掲示板の[戻る]にアドレスが設定されてないですね。(^^;
恐らく掲示板を呼び出す時に戻りアドレスの指定漏れのせいだと思いますが、設定されてないと不便なので次回更新とかで改善をお願いします。
tkonさん、はじめまして。
最近PatchedBIOSに取り組みはじめて、ROM焼き大丈夫や
ROMライタについて調べていて、こちらのサイトに辿り
つきました。
http://www.geocities.co.jp/SiliconValley/8850/
因みにtkonさんのサイトはgoogleを"ROMライタ"で検索して
も上位にランクされず、"LPC" "FWH" で検索したら3番目
に出たお陰で見つけられました。
で、本題ですがtkonさんのROMライタで書き込み可能なフラッ
シュROMの種類は、どの程度いけそうでしょうか? 勿論、実績
とかは別で仕様上の話で構いません。
http://www.ioss.com.tw/web/Japanese/RD1BIOSSavior/SelectionSheet.html
出来れば、上記のROM焼き大丈夫での対象製品で対応が付くと
分かりやすいのですが。(何しろROMの規格も電子回路も殆ど
分かってないもので。^^;;)
ホームページにMSインストーラをアップロードしていなかったので、入れときました。
「あんちょこフラッシュROMライター」vector にアップロードしました。「ハードウェア -> その他」 からでもダウンロードできます。
マザーボードのBIOSを復旧できた方は、お便りちょうだいヨ。
「数十枚のフラットディスプレイを球状に張りめぐし、豊かな3D空間を漂う」という野望のもとで作ったオンライン3Dビューワー。試してみてネ。
いーいー。テストです。
あーあー。テストです。
tkon@ap.wakwak.com
http://park2.wakwak.com/~tkon/
Copyright(C) 2007 Takaharu Konno