98システム解析スレッド2022年3月-1 /人'A`;人\ 2022年3月1日(火) 4:46 |
手元に実機なしでは無茶が多すぎます リウ 2022年3月2日(水) 9:47 |
IO043Fを486MVでCfhに開けると暴走するという報告をもらいましたので、そこを極力触らないものを追加しました。(暴走しなかった機種での追加報告は不要です。お手数かけます。) スレッドが変わりましたのでリンクをもう一度置いておきます。 ttps://drive.google.com/uc?export=download&id=1yxOELuj95ubrQV9z9e2dlYfVdwQ8yrgB やはり一機種何か手に入れておかないとなかなか難しいです。 3日13:40追記 IO053dhのbit1の方が重要そう?と思いましたので検索順序だけ変更してみました。
|
/人'A`;人\ 2022年3月2日(水) 18:30 |
周囲の人とか知り合いとかにどっかに眠ってるのがないか聞いてみたらどうでしょう.売られているのはどっかおかしくなってる奴が多いようですし,何より値段がおかしいんで.
|
EPSON事故物件機 まりも 2022年3月2日(水) 20:34 |
>売られているのはどっかおかしく PC486FlyとかPC-486GokiとかPC-486MouseとかPC-586Ratと揶揄されるようなのばっかりだし。ちょっとまえに立て続けにPC-486Pが出品されていましたが、この機種が出ていると、「もしかして"アレ"が放出されたのか?」とついIDを探索してしまいます(笑 わたしも興味はあるのですが、もう98で足の踏み場がないのでEPSON機には手を出さないことにしています。
|
PCIマシンなのに512KB切り離し可能 まりも 2022年3月6日(日) 8:01 |
とあるプログラムを作ろうと思ってUndoc2のCbusブリッジのところを調べていて気になっていたのが、430NX機のCバスブリッジには512KB切り離し機能があるらしいことです。で、リウさんのtweetに、システムセットアップメニューにもそれがあることを見つけました。512KB切り離しができるということはout 0461,08以外の値が通り、out 43F,82で内部メモリ切り離しでバンクメモリが使えたりするのでしょうかね? <11時追記>そうか430NXではレジスタ59hのbit 0-3が有効でここに80000-9FFFFのメモリ可否があるから、Cバスブリッジより上位のPCMCで切り離しが可能なんですね。
初代Xaより後のtritonチップセット機ではこの機能が廃止されてしまいましたが、Cバスブリッジの機能も含んで実現は可能だったということになるんですかね。ミイソの互換性への執念は見た気がしますが、512-640KBにキャッシュが効かないとかメモリ書き込みが遅いとかいう問題はどうでしょうか?
ところで「とあるプログラム」とは、FD loaderのアプリで、電源バックアップ状態のPC34RボードのメモリにITFの吸い出しデータを一時保存し、ボードを別マシンに挿し変えてメモリを読み出してファイル保存するという物です。ESC HELP 8 押し起動はできるけど通常の起動ができなくなったときに、ITF/BIOSのデータを吸い出したいということで作ってみました。DMA操作でFDに書き出すプログラムは当面作れる気がしないので、次善の策です。
問題は、電源バックアップ状態のPC34Rボードを抜き差しして別マシンでちゃんと認識できるのかという点です(メモリ不良かもしれませんがちょっと化けるみたいです)。下手すると壊しそうな気もしますが、大丈夫そうな気も。。。ちなみに電源投入直後のFD loaderの段階でCバスブリッジは15MB未満ならCバスおよび拡張スロットにアクセス可能にはなっているのかよくわかりません。一度認識してあれば大丈夫なようなのですが。「拡張スロットは16M未満で当たり前だろ」と思いますが内部のCバス相当のデバイスには32ビットでDMAがアクセスするので、Cバスブリッジのレジスタにはその範囲を設定するところが40h台にあります。ここはメモリチェック後に確定しますので、それをパスする形で起動した時にはFDDやX-PCMがWindowsでは動作しないということが知られています。
|
Neptune機で出来るならMercury機でも? かかっくん 2022年3月6日(日) 19:47 |
界王^h^hNeptune機で出来ると云う事は<del>Ami</del>Mercury機でも出来そうな気がしますが如何でせう? あと試す際はCバスにRFSHが出る設定をお忘れなく
|
電源投入初回のみPC34が見えない(後期PCI機) まりも 2022年3月6日(日) 20:12 |
上で書いたPC34ボードのアクセスが電源投入直後のFDloaderのときにできないという問題で詰んでいます。一度通常の起動をしてPC34のメモリをマッピングしてから、ウォームブートで ESC HELP 8押し起動した場合のFD loaderでは認識できるのにです(画像)。Cバスにリフレッシュが出る設定が関係あるのかどうか? >CバスにRFSHが出る設定 これって具体的には何を操作することで行われているのでしょうね。Cバスブリッジのどこかだろうとは思いますが、そうとは限らないかもしれません。 <7日修正追記> 486機では電源投入直後のFDloaderでPC34ボードは認識できるようです。PCIバスアーキテクチャやCバスブリッジに関係すると思いますが、PC34ボードの制御の仕方で足らない何かがあるのか、FDloaderの段階では為されないCバスのハードウェア設定があるかです。しかしCバスブリッジの機能不明レジスタを通常起動時と同じにしてもダメだったので、ちょっとお手上げです。 <13日追記> PCI機でも山猫やV二桁機では電源投入直後のFDloaderでPC34の制御はできるようです。ということから、Cバスブリッジがstaralpha2やそれ相当品の機種のときに、何か未知の設定をしてやらないとPC34へのI/Oが通らないということになります。一歩前進したようでさっぱりわかりません。 <14日追記> 430VX機のXc16で試したところ、ESC HELP 5 押し起動をしてからだとPC34のI/Oが通ることがわかりました。最初に試した430HXのXa13/Wではどうやってもダメだったのにですね。もう訳が分かりません。本命の440FX機は奥に仕舞われておりまだ試していませんが、これはあらゆる機種でテストしないといけなくなったかも…
<16日追記> 440FX機でも ESC HELP 5押し起動を一回やってあれば、電源投入直後のFD loaderでPC34は認識できました。しかしROM化けでESC HELP 8押し起動以外ができなくなっている状況というのは、ESC HELP 5 押し起動もできないわけですので、PC34ボードにROMデータを吸い出すのは不可能ということになります。ESC HELP 5押し起動がやっているハードウェア設定と同じことを自前でやらないといけません。これが何であるか…とりあえずCバスブリッジのレジスタではない感じです。何かのI/Oを叩くということでしょうね。これはITFを丹念に逆汗して見つけるしかないかも。
|
ROM化けを外部的に知る方法 まりも 2022年3月18日(金) 20:54 |
FDloaderによるROMデータ吸い出し計画のほうはひとまず置いておきます。
起動できない原因が本当にROM化けにあるのかを、データを調べずに判断する手法を考えることにします。うちには屋外物置に10年近く放置しておかしくなったRv20があるので、Cバスに挿す「0610hデバッグ情報表示ボード」でどこまで起動するのか調べてみました。なんだか凄そうなボード(笑)ですが、ContecのPIO-16/16(98)というLEDつきパラレルIOボードです(画像1)。16bitのDIPスイッチでI/Oアドレスを0000011000010000b=0610hにしておけば、出力側LEDのbit点灯状況で出力値を読むことができます。点灯=1,滅灯=0です。
通常起動させようとすると01hから2Bhあたりまで着々と変化し、40hで止まりました。ここまでで画面にはブランク信号だけで何も表示されませんしピポ音も鳴りません。このRv20は2005年頃にあらかじめITF/BIOS ROMデータを吸い出してあったので解析できます。デバッグポート0610に40hが出力されてからのコードを追ってみると、ITFのあるF800:0000からの32KBのROMのチェックサムを取るところが見つかりました(画像2)。しかもそれがゼロでない場合には無言の永久ループとなっていました。 (・_・):だんまりとはあんまりやないけ>ミイソ
このことから、ITF部のROM化けで起動しない場合は、メッセージ表示も音も全く出ないことがわかります。気になりますのでRaII23など他の機種で同様の部分を調べたところ、同様なコードがありました。しかし直前でデバッグポート0610hに出力している値は21hで、Rv20とは全然違っていました。これはRv20とRaII23では開発チームが違うためでしょうかね。ある程度機能と番号を統一させておけばいいのにとは思います。
起動しない原因がITF ROM化けにあるかどうかを知るためには、ハングアップした時点でのデバッグポート値が機種ごとに特定の値になっているかどうかを調べればよいということになります。気になる方は値と機種名を報告していただければ、調べてみます。但し、わたしが持っている(いた)か、誰かが情報持っている機種に限られます。
ところでROM化け機が頻出のEPSON 486機にはこのようなITFのデバッグ出力らしきモノはあるのでしょうかね?I/Oでなくてプリンタポートに出力される場合もあるかと思います。EPSONはミイソと違ってダンマリではない点で救いはありますが。
|
レイのhenj.inの かかっくん 2022年3月19日(土) 1:08 |
プリンタポートと云えば、レイのhenj.inのヤシはラッチ無しで値が表示される事が判りました。PCのLPTに限らず TTL入力で汎用に遣えるやうです
I/O 0610hに出る値が違うのは、機種やITFのバージョンも区別出来るやうにとか?
|
何をするにもハードウェアの設定が必要 かかっくん 2022年3月19日(土) 4:26 |
> (・_・):だんまりとはあんまりやないけ>ミイソ
画面に表示するにせよBEEPを鳴らすにせよハードウェアを設定しなければ出来ない事だからな気がします。 其の点、最初期の機種はBEEPが圧電ブザーですからシステムポート(8255)さえ設定されれば鳴らせます。 まぁ集積化が進んだ機種はリセット後の初期値がディスクリートなパーツの初期値と同じではなく98に相応しい 設定に成って居そうですが # 逆に他の設定が無さそうな気が?BEEP用のTCUにモード3以外が無かったりする?
↑のヶ処はROM内容の良否ですから未だ初期化ルーチン迄辿り着いて居ない気が?
|
/人'A`;人\ 2022年3月19日(土) 5:15 |
ttps://twitter.com/quews_net/status/1502546693086081026 PC-486MVのBIOSを新しく書き込んだフラッシュROMのデータは,書き込みから2年半程度で一部が壊れ始めているという背筋の凍るような報告が出ています.ところでMU/MR/MSが1994年7月,MVが1994年11月の発売で,FEPSONフォーラムあたりでは遅くとも1996年には既にMUでのBIOS ROMエラーの頻発が周知の問題であったらしく,またWWW上のBBSでも1997−1999年頃になるとこの問題に関してかなりの数の報告が現れています.486M族のBIOS蒸発病は発症が異常に早い(ロットがある)のが特徴と思いますが,フラッシュROMの特定の型番(28F102等)特有の欠陥が原因でしょうか.
|
ITF化け故障機のdying message まりも 2022年3月19日(土) 17:30 |
手持ちの(過去のも含む)機種のITFをぜんぶチェックして、ITFのチェックサム異常で停止する直前に0610hデバッグポートに出力される(はずの)値を調べてみました。21h派と40h派とがありますが、いちおうの統一は図られているようです。20h台の初期化処理の途中で40hに飛んで来る機種が一部にある(という割には多数派)、という感じです。ちなみに21hの機種では、22hを出力してからピポ鳴動です。40hの機種では2Bhのあと40hに飛んで来ており、もどってから2Chの段階でピポのようです。いずれにしても、SUM異常の場合はピポ直前に止まるわけです。ピポはITF健全の証なんですね。
Xe10/BX4は全然別の値でしたが、0610hデバッグポートを装備した初期の頃の機種です。486機全般に0610hポートはありません。初代Xa,Xt,Xfあたりはあるのかどうか微妙な時期です。PCIバスが潜在的にあるCanbeとCEREBはどなたか情報補ってください。 <3月23日 画像内のXe10/BX4の数値修正>
|
ROMが飛ぶのだけはやだ かかっくん 2022年3月19日(土) 18:12 |
> ピポはITF健全の証なんですね。
そーですよ。ITFとは有りませんが此の事はVX21のハードウェアマニュアル(ガイドブック?)にも書いてあります POWERランプが点いてファンが回ってもピポらなかったらフタ内のVRを回して、其れでもピポらないならみいそに 問い合わせる旨書いてあった気がします
> フラッシュROMの特定の型番(28F102等)特有の欠陥が原因でしょうか.
M5M28F102J自体の問題か、何かの加減で誤書き込み・誤消去が起こるかですかねぇ? # でもFlashは単純なEEPROMと違いコマンドで制御するのでノイズ等での誤書き込みとかは考え難そうな? 本体のLOT/生産時期とROM種の相関ってド〜なんでせう?
兎に角中身の問題でないなら、動作チェックもせずに開梱即分解即取り出し即吸い出しでSUM/ハッシュをチェック ですかねぇ? あとはROMを写した(写った)画像が無いオク・フリマには手を出さないとか店頭で動作チェックとROMを見せて 貰いパッケージ(シールを剥がさなくても区別が付きます)が黒プラ(Flash/OTP)だったらパス、茶セラ(UV-EP) だったら飼い、ですかねぇ?動作おkで黒プラだったら其の場で(動作チェックからの経過時間は短い程良い) 代金を支払ってからROMを外して吸い出させて貰えればベター(別途吸い出す手段の持参要)ですが
で、此の件がNIFのFEPSONにも有ったならえぷが知らなくはない筈で、其れでもアナウンスが無かったとしたら 無責任ですね
|
20年越しで故障RvII26マザーボードを調べる まりも 2022年3月19日(土) 21:50 |
起動しないRvII26の「マザーボードのベース側」だけを2000年頃に人から貰ってずっとそのままにしていたのですが、0610hデバッグボードの表示を調べてみることにしました。このマザーボードはバッテリ切れの状態で電源を入れると"PASSWORD DESTROYED"を繰り返したあと"SET THE SOFTWARE DIP-SWICH"が出てしまい、通常モードの起動ができないという故障を抱えています。ESC HELP 8 のFDloaderの起動もできませんからどうにも手の打ちようがありません。
通常起動をしてみると、だんまりのまま40hで止まりました。どうやらROM化け故障をしていたようです。何かしらのハードウェアの故障だと思ってずっとあきらめていましたが、外科的なフラッシュROM書き込みなら復活できるかもしれませんね。まあCPUボードなしでは存在意味が無いのですが・・・
なお起動時にESC HELP某やHELP単独などのキーボードを押して起動したときは、値2Ahを出力したところで全て止まっており、3連の短いBEEP音を繰り返し鳴らす状態で無限にループします。ITFコードが化けておかしなところにジャンプしているようです。ESC HELP 5押しのCバスrefresh信号設定はこの少し前あたりにあると予想されます。
>ハードウェアを設定しなければ出来ない事だから 無限ループ停止より前の段階で、SDIP SWITCH初期化などが入れば画面表示されますし、ビープも鳴ります。必要な初期化はされた後なのに、ITF化けについては「ダンマリ」を決め込んでいるようです。ITF化けなど絶対ありえないから表示せんでもいいというミイソの信念なのでしょう。
|
デバッグポート リウ 2022年3月19日(土) 21:53 |
機種 ポート 値 Nw133 40H 1Ch Nr166 40H 1Ch (Nr150/Xも同じ) Na12/H なし 直前はシリアルポートの設定 32h 40h 直後はワークエリアクリア Xa初代 なし 直前は47Bh 13h 直後にタイマ設定 Cx13 610H 直前の数値は不明 0、0x10、0x52だけが出力 SUMチェック直後はIOA04h、A06hの2段階IOっぽい操作 Xb10/J 610H 40H ただしSUMチェック失敗しても無限ループしない もう一度何かをチェックしている Xt13 610H 40h 特筆事項なし Xe10 610H 0Fh うちのでは0Fhになっていました。(追記)
手持ちのもので意味のありそうなものだけピックアップしてみました。
|
明日^h^h今日ハ我ガ身 かかっくん 2022年3月19日(土) 22:24 |
ウチの386GSのROMはUV-EPROMのM5M27C202Jですが起動しなく成りますた 動いた先週から何が変わった? 早急にROMライタで吸い出してチェックしてみます GALとかCPLDの中身も似たやうな物ですからヤバそうな? UV-EPROMでも安心できないかも>486M
# まぁ書き込まれてから約30年ですし責められる物でもありませんが、もっと旧い386Vや286VFが未だ動く事を # 考えると(略) # 違いと云えば1Mか2Mか # 386DXの○ピンソケットがユルい気が?原因は此方かも?
|
/人'A`;人\ 2022年3月20日(日) 12:13 |
CPUライザの接触不良では.うちのも強く押しつけながらネジをきつく締めないと起動しないことがあります.まぁうちのは投棄の衝撃でフレームが歪んでる奴なんでそれとの関係もあるでしょうが.
|
Ap3にコロナ検出!? まりも 2022年3月23日(水) 8:30 |
ITFのサムチェック失敗で停止するコードはいつぐらいの機種からあるかわかりませんが、デバッグポートがない486の機種でも、直前に特定のI/Oポートに書き出している値が何であるかをあらかじめ調べておけば、万一起動しなくなった場合でも表示ボードで診断できます。 ということで古めの機種を調べていたところ、Ap3に限っては 0567hというI/Oアドレスがデバッグポートとして使われていました(画像)。ITFのサムチェックの直前に出力される値が1Ch でした。ノート機のと一致はしていますね。近い機種でAnや486XmateのITFも見ましたが、デバッグ出力らしいことは行っていません。なぜAp3/As3だけそれが必要だったのでしょうか。ハイレゾモードもあって難しい点があったのでしょうかね。
|
A-mateハイレゾ兼用機のROMマップ まりも 2022年3月26日(土) 0:27 |
A-mateハイレゾ機のハイレゾモードでのROMの物理バンク配置は、(個人的には)よく分かっていません。ROMライタを持っていなくて読み出したことがないためです。しょうがないのでアドレスピンの状態とソフト側の制御で推測してみることにしました。ROMのアドレスピンは通常ハイインピーダンスですので、連続的に読みに行かないと電圧計ではHかLか判断できません。そこでバンクを0から7まで切り替えながら読み続けるプログラムを実行しつつ、テスタでA17ピン(アドレス最上位、2Mbit/4Mbitの切り替え)の状態を測ってみました。
バンク 0 1 2 3 4 5 6 7 (論理BANK番号) H論理 L H H L L H H H (ハイレゾ時) N論理 L L L L L L L L (ノーマル時)
拙作getitf98 2.11の説明文書にはバンク0,3,4をハイレゾで読んだときの結果がノーマルモード時と同じと書かれていますが、ノーマル/ハイレゾ用のデータが別な場所に同じ内容で書かれているのではなくて、ノーマルモードと同じ物理アドレスの内容を読んでいるようです。その他のバンクではハイレゾの時だけ別の物理バンクに行くようです。さらにこの結果からするとノーマルモードの0-7バンクのデータのほうが下位の2Mbitにあってそれは他の98と同じ、ハイレゾは上位側のどこかにあることになります。
この点はgetitf98に書かれている情報とは少し違うことになります。getitf98の説明文では4Mbitの上位にノーマルモードの0-7バンクがあって、下位にその他のデータがあるというように書かれていますが、前者はノーマルモード「専用」という意味にはなりませんし、上位下位も違います。きっちり前半後半でノーマル用・ハイレゾ用と分かれているわけでもなかったのです。はっきり分かれているのは98XLから98RLまでの機種だけでしょう。 以下のような32KBバンクの物理配置が推測されます。★の物理バンクはハイレゾ時どうやって読むのかわかりませんがIDE BIOSは二カ所にあることが知られています。なおここで言う「物理バンク番号」は物理アドレス昇順に対応することを意味するものではありません<追記:次の記事の通り検証してみたら対応しているらしい>。論理BANKと対応させた便宜的なものです。すくなくともフラッシュROM世代の98では論理BANK3が最低、論理BANK4が最高位です(getitf98の説明文書のとおり)。しかし海外のマニアが勝手に載せているAp2のデータをみると物理アドレス÷8000h=物理バンク番号の昇順対応のようなのです。
高位側2Mbitブロック 物理BANK15 ハイレゾのF8000 ハイレゾの論理BANK7 物理BANK14 ハイレゾのF0000 ハイレゾの論理BANK6 物理BANK13 0000-3FFF内容無 ハイレゾの論理BANK5 4000以上にSCSI BIOS表裏 物理BANK12 ★たぶん内容無し 6000以上にIDE BIOSと同じモノ?←大熊猫さんサイトの情報から 物理BANK11 ★たぶん内容無し 物理BANK10 ハイレゾ専用だが詳細不明 論理BANK2 再起動時用ITFか 物理BANK 9 内容無し ハイレゾの論理BANK1 物理BANK 8 ★たぶん内容無し
低位側2Mbitブロック(ノーマルモード時読み出されるもの) 物理BANK 7 論理BANK 7と同じ ノーマルのF8000(SYSTEM BIOS) 物理BANK 6 論理BANK 6と同じ ノーマルのF0000(N88 F3**まで) 物理BANK 5 論理BANK 5と同じ ノーマルのE8000(N88) 物理BANK 4 論理BANK 4と同じ ハイレゾでも同じものが読める ITF 物理BANK 3 論理BANK 3と同じ ハイレゾでも同じものが読める IDE/SYSMENU 物理BANK 2 論理BANK 2と同じ 物理BANK 1 論理BANK 1と同じ 物理BANK 0 論理BANK 0と同じ ハイレゾでも同じ
ところでノーマルモード時にはバンク切り替えをしても最上位アドレスがLのままですから、ハイレゾボードを絶対挿さない場合には2MbitのROMで用が足りるということになります。ハイレゾなどないB-mateやB-Fellowでも同様の構造だとすると、使われている4MbitのROMのうち上位2Mbitが未使用なのではないかと推測します。まあ実際読んでみないことにはわかりませんので、なんとか工夫してμPD27C4000ピン配置の16bit ROMを読み出してみたいと思います。
|
物理アドレスとの対応をみる(Anほか) まりも 2022年3月26日(土) 11:59 |
上の続きです。ROMライタなし、ROMをはがすこともなしで、バンク番号と物理アドレスの対応を調べることにします。32KBのバンクアドレスを切り替えるのはA16..A14ピンの3本になりますから、読み出し中にバンクを1つずつ切り替えていってピンの論理値がどうなるかを調べてみました。PC-9821Anで使われているintel 28F400BX-Tでは36,35,34番ピンです。ノーマルモードですのでA17はLです。結果は画像にします。
どうやらAnではAp2と同じくバンク番号順が物理アドレス順ということのようです。AnではフラッシュROMが採用されていますがAp2と同じ配置なのですね。Ap3がどうであるかも気になります。そもそもバンク番号は格納順序が由来でしたから当然といえば当然ですが、PCI機のフラッシュROMではそうではないという情報があり、実際消去ブロックの操作でもBANK4がトップにあることは明白でした。getitf98に書かれているバンク番号と物理格納順序の関係は、当該機種においてのみ正しい情報ということになりますのでご注意ください。
<21時30分追記> 9821BsでもAnと同じ結果となりました。そして最上位アドレスA17は常にLレベルでしたから、μPD27C4000を使っていても実質2M bitの下位しか使っていないと思われます。初代B-FELLOWからAp2まで、multiはCs2/Ce2まで、基本的に同じ石が使われているから配置も同じでしょうかね。あとはAp3ですが家に置いていないのでしばらく試せません。
<28日00:00追記> これまでにわかった98のファームウェアROM関係のことをまとめてみました。 ttp://hp.vector.co.jp/authors/VA012947/knowhow/rommap.html
|
SRAM板はと考えたが著名品はバンクRAM かかっくん 2022年3月29日(火) 17:18 |
RFSHの問題だけならPC34ではなくSRAMの9834を、と思いましたが、9834を 始めSRAM製品は基本的にバンクRAMであって512K〜640Kなんですよねぇ
98用の初期のハードEMS板でTTLで組まれた物って有りませんかねぇ?無さそうなら 取り敢えずC0-CFの64KをF****hへの書き込みでバンク切り替えする1M位の SRAM板をでっち上げます
PCI機でF0-FFのWriteがCバスに出ないならB0-BF辺りにズラすつもりですが此方はVRAMとダブるので やっぱりCバスには出なさそうな?
|
いろいろな手段の検討 まりも 2022年3月30日(水) 14:21 |
ROM化けも軽度ならFDLoaderが動きますが、重度だとどうにもならないので、ROM内容吸い出しFDloaderシステム(ハードウェアとアプリ)を作ってもあまり役に立たないかもしれないというのがあります。事例が少なすぎてわかりませんがまあROM化け故障機の5割も行かないくらい?
CバスのSRAMボードに吸い出した後にどこかに再び保存しなければならないのですが、ボードに通電状態でのCバスの抜き差しは少し不安があります。PC34Rでやってみていますがたまに化けます。当たり前ですがボードのピン面に手を触れるのが良くないですかね。
ボード上にフラッシュROMを載せて、ITFを読んだらそこに書き込んでしまうFDloaderアプリの方が不安はないでしょう。かつて存在したPK-mistress 9ボードが利用できます。一度に書き込みできるのはD0000-D7FFFhの32KBまでですが、ROMバンク1個は保存できるので、十分使えるでしょう。PCIのNetwork Interface Card 上のフラッシュでも、勝手にベースアドレスレジスタなどを初期化して書き込めるなら行けるかも?アドレス空間は広いです。面白そうなのでちょっとチャレンジしてみますかね。今は部品価格も輸送費も高騰の時代なので、新造するよりはゴミのようなNICのリサイクル・リユースのほうがいいでしょう。
内蔵FDDに送信してFDに書く以外としてはRS232Cで送信でしょう。それかノート機のデバッグ出力でもやっているようなパラレルプリンタポートへの送信です。いずれにせよ100%ハードウェア操作になるのが大変なところです。読みだす端末側ソフトも(送信条件によっては)作らないといけないのも手間です。
|
KAZZEZ 2022年3月31日(木) 5:45 |
> ボードに通電状態でのCバスの抜き差しは少し不安 (略) 手を触れるのが良くない Cバス増設BOXを経由する手もありそうですね。増設BOXの電源を入れたまま本体の電源を切れば、インターフェースボードで隔てられる分だけ安全な気がします。製品によってはDIPスイッチで増設BOX側のメモリアドレスを制限したりできますので、楽観論としてはそれによって保護されるかもしれませんし。
> RS232C 手持ちのトラ技(96年6月号p324)を見ると、PC-98の8251はモード設定(初期化)とコマンド出力が同じポートを使っているとかで、コマンド出力できるようにするには事前に初期化しておく必要があるのだとか…? やはり自前でI/O直接操作となると何かと面倒そうな点があるのですね。
|
8251の受信プログラムは本当に面倒 かかっくん 2022年3月31日(木) 12:48 |
いちばん手間が掛からないのはSRAMではなく内容保持に電源不要なFeRAMかMRAMを遣う事ですが、如何せん 高価なので
98のRS-232Cのプログラムって結構面倒で難しい気もしますが、送信メインなら出しっ放しでも良いワケですから ASCIIコードで送れてエンコードが単純なHEXダンプとかBase64とか BINを直に送るとエラー検知・再送も考えるべきですが、TXTなら専用の受信プログラムは不要ですし ダンプで送って16バイト・256バイト毎にSUMを送り返すとか?
因みに8251の受信プログラムは本当に面倒です。1キャラクタ毎に受信処理をしなければ往けなかったり (此れは8251に限らず8250/16450も然うですが)直ぐにエラーに成ったり(8250/16450は同様の条件では エラーに成り難い)するのでFIFOが16キャラクタ分有る16550に成ってプログラミングがし易く成りました 現在はFIFOが64キャラクタ分に増量された16750が入手できます。
プリンタポートを遣う場合、受信側が問題に成ります。8bitで送るなら受信側に双方向モード対応のLPTが必要に 成ったり送信1bit受信9bitのPIOが必要に成ったりします。単純なハンドシェイクにするか応答をSIOにするか。 古典的なEZ-USB AN2131SではプログラマブルなPIOが16本有り8bitのI/Oとハンドシェイクに余り有る本数でしたが FT245ではRD/WRとFIFOのFULL/EMPTYでプログラマブルではないので面倒でした # EZ-USBは当時秋月・千石での扱いが無かった(共立には有ったかな?)のも扱い難い点の一つですた 今ならFX2 LPですかねぇ?これもディスコンな気が?
Y!他・ツイスレより > ・SASI I/Fっぽいもの
あ、SASI板のBIOSを切ってPIOに遣えますね。8bitデータ線は双方向ですしハンドシェイク線も充分ですし オンボードIDE機でもI/Oはダブらないので平気でせう
|
IO出力されるのでしょうか リウ 2022年3月31日(木) 13:10 |
PIOで受け渡すだけなら(fdloader時点でCバス側にIOの出力が届いているという仮定のもとで)IDE-HDDも可能では?とよけいな一言を書きます。IPLware用の場所に専用の空きを準備しておくとか場所も取りやすいですし
14:45後方確認追記 pcmciaのCFでの読み書きはMMIOで本物ATAとは少し違いますが割り込みなしのポーリング待ちでも1セクタ毎に少し待てば(むしろ待たないと化けます)うまく行くようです。
15:31追記 ここでは宣伝しませんでしたがPCMCIAに挿したATA互換メモリデバイス(CompactFlashなど)をDOSから読もう、というデバイスドライバです。(書き込みも手元では可能でした。当然未保障) drive.google.com/uc?export=download&id=1xe6WB0vHAIpKYkM4ufLcvExEJzYB-H3q
|
ストレージに直接CHS/LBAでなら可? かかっくん 2022年3月31日(木) 13:27 |
プログラムからストレージに直接CHS/LBAでアクセスする事は出来そうな気がします。エラー処理は実装に依りけり 但しオンボードIDEかI/Oアドレスが解って居る増設板が対象です。一般のPCIなIDE/SATA板は条件を満たさない 気が
FDloader版のgetitf98と中身が消えても良いIDE系ストレージが有ったら試してみませう # 此れ位の事なら其の辺に転がって居る、一般用途ではCFリセットで遣い物に成らないCFでも良さそうな? # 消えても良いテキトーなCFを前提にC(≧64):0:1(BIOSではなくI/Oなので1)に書き出すとか?
|
その手が温か まりも 2022年3月31日(木) 14:42 |
おぉ、オンボードHDDを使う手は盲点でした。IDEコントローラはリセット・電源投入後に特別な初期設定なしで使えるはずです。他のデバイス(メモリ系以外)への書き込みよりは難しくなさそうです。使用目的からして、IDEデバイスの存在はプライマリ・マスタ決め打ちでもいいでしょう。容量がデカ過ぎでもFDloaderの段階では全然問題ありません。デカいなりに使えます。
最低でもROM1バンクぶんの32KB、できれば256KB、欲を言えば512KB書き込みたいところです。IDE BIOSが8:17で認識するであろうディスクの場合、BIOSシリンダ0が136セクタぶんあります。その後ろ側詰め、つまりセクタ番号72〜135の64セクタ(=32KB)に勝手に書き込んでも、IPLwareとの衝突は最小限で済みますね。16:63の4351MB overのデカディスクまたは「リセット回避運用のCF」なら1008セクタ(504KB)あるので、256KBが余裕で入ります。
割り込みも使わずに1セクタずつゆっくり書き込めば行けるかな? リウさんはいまPCMCIAカードの書き込みにチャレンジ中ですが。書き込んだら別マシンにつないで、回収プログラムがそこを読んでファイル化するだけですね。
<18時追記> 上で書いたような、PC-9821X-B06ネットワークボードのソケットに載せたフラッシュROMにITF ROMのぜんぶをよんで256KB書き込むというFDloaderプログラムは、成功しました(画像)。FDloader環境下でも、勝手にPCIリソース割り振ってやればなんとでもなりました。メインメモリに一度読んでからそれをNIC上のフラッシュに書き出しているだけなので、1MB空間のメモリ内容を全部ダンプ保存することもできます。STOPキーその他を同時押しすると1MBフロッピーにダンプするような機能(MMDUMP)が古めの98にありましたが、それと同じようなことはできそうです。
さぁ次はIDEに直書きですか。こっちは経験不足なので時間かかるかも。
|
IDEでは複数セクタを纏めて かかっくん 2022年3月31日(木) 16:35 |
IDEでは複数セクタを纏めてR/W出来る(CHSでCやHを跨ぐのは不明)ので、取り敢えずC/Hを跨がない範囲で 纏めるのは如何でせう? 再三ですが、I/OですからS値は0〜ではなく1〜な点にご注意 8:17で32Kの場合0:4:5から13セクタ 0:5:1から17セクタ 0:6:1から17セクタ 0:7:1から17セクタですか
或いは、FDloader用のFD(かイメージ)を作る際に、HDDにクラスタが連続する32K〜512Kの仮ファイル (内容は0フィルではなく'getitf98'や'(C)まりも'等ROMの内容に有り得ない物が望ましい)を作って、其の位置を CHSで求めてFDに書き込んでおくとか? HDDにはファイルとして確保した位置に上書きされますから其の儘ファイルとして遣えます
|
リセットボタンのある機種なら…? KAZZEZ 2022年3月31日(木) 17:35 |
STOP+CTRL+SHIFT→COPYによるFDD書き出しも、機種によっては利用できそうです。BX3やV20/Mで試したところ、FDloaderからのソフトリセット時でもちゃんと機能するようです。しかもご丁寧にDOSから読めるフォーマットで1MBぶん書き出してくれる様子です。FDloaderプログラムはコンベンショナルメモリのかなり先頭(600h)にロードされていますから、512KBくらいはいっぺんに書き出せることになりますし、選択中のバンクはそのまま書き出せることになると思います。これを利用できればかなり楽じゃないかと思います。 しかしRa40ではできなかった(そもそもSTOPキー起動によるウォームブートが無いらしい)ので、新しい機種ではFDDへのメモリダンプ機能が搭載されていないっぽいですね。 PC-98の裏コマンド集のサイトを見るとVX以降としか書いていないようなのですが、いつ頃の機種まで利用できたんでしょうかね…? とりあえずV20/Mでは可能でしたので、リセットボタンのある機種ならいけそうに思いますが。まあFDDへのダンプ機能も化けている可能性もあるのはリスクですが。
|
新知見が年度末ギリギリに まりも 2022年3月31日(木) 18:01 |
MMDUMP機能ですが確かにMATE-Rなど最終時期の機種では廃止されています。たぶんマイクロコードアップデート機能が必要になって収容できなくなり、追い出されたのでしょう。 >FDloaderからのソフトリセット時でもちゃんと機能する というのは知りませんでしたというか、やってみようと思いつきませんでした。これは大発見じゃないですか。MMDUMP機能のある機種ではこれでいい気がします。486のCバス機からPCI前半機まで。まあMMDUMPのコード(確かBANK2)が化けていないことと、ITFでそこに分岐するところが化けていないことが条件になりますが。
|
|
|