98システム解析スレッド2025年1月 /人'A`;人\ 2025年1月1日(水) 5:16 |
システムリセットを探しに まりも 2025年1月2日(木) 16:44 |
 2025年はハードウェア、、、ということで、Xa/Wのシステムリセット線を探す旅に出ることにしました。といってもリセットボタンは無く、PowerGoodリセットでは手動でリセットをかけないといけないので、計測に手が足らないだけでなく、信号を読むタイミングも取れません。
そこで普通ではない手段を取ります。リセット/電源ONのあとITFが最初に実行する命令付近に out 534h による「ソフト的ハードウェアリセット」を書き入れて、電源をONにしました。この状態ではピポも聞こえず映像も出ないので、壊れている状態にしか見えません。しかしハードウェアリセットを繰り返しているはずです。
基板上にひたすらオシロを当ててみると、Star Alpha 2の近くの74LS04(inverter)の入力に画像1のような脈がありました。10ms周期で出ているようです。時間軸を拡大するとパルスの幅は40usのようです(画像2)。通常の起動をしたときには一発だけLowレベルのパルスが出た後はずっとHiレベルのままですし、PGをLowにしている状態では脈は現れないので、これは繰り返すリセットパルスから派生している信号には違いないでしょう。
ただしこの地点がシステムリセット線かどうかは未だ不明です。74LS04の入力が導通かどうか確認が必要です。74LS04インバータの6個とも同じ反転出力が出ているようなので、バッファを通して分配される信号と考えられそうです。【18時追記】Inverter 6回路のうち4回路は入力が導通でした。ここかな? -------- ところでPCIビデオカードのメモリを主記憶につなげて使うアイデアの件です。9801グラフィクスのVRAMもPCI機ではPCIバスの先にあるメモリです。これのベンチマークを普通にXa/Wのreadl mode上で取ると、CPUbench 0.98では 初代9801の2倍程度です。どんなPCIビデオメモリでもこの速度になるのではないでしょうかね。しかし通常のデータ読み書きでビデオメモリがそんなに遅いとは感じません。CPUbenchのようにビデオメモリ上でコードを実行するような使い方をしなければ実用性はあると思います。
|
山猫の話題が上がっているので リウ 2025年1月5日(日) 19:56 |
 山猫でメモリ実体のない場所に対して連続読み出しを行うと必ず0が帰ってきます。 32byteくらいまではそのようです。しかし100byteくらい一度に読むと不定の値で帰ってきます。何も設定せずにやりましたがパリティエラーは発生しませんでした。 PCIバス上のVRAMをメインメモリの後ろにつなげる前に確認をしてみるとそうなっていました。 ついでにPC-98版memtest86+の改造をしています。せっかく作ってくれた人には申し訳ないのでこっそりですが 画像はそれを山猫Cx13で実行した状態です。メモリ実体のないアドレスに対しての読み出しが必ず0になっています。
>エアメモリ ゴーストメモリと以前勝手に定義したものに近いのでしょうか また画像2枚目は256MB実装中のXt13にミレニアムの4MBを連続して足した状態でmemtest86+の改造版を実行した途中経過です、残念ながら完走できませんでした。ここでSCSIemulatorの電源を落としたところ止まってしまいました。
|
エアメモリ まりも 2025年1月5日(日) 20:17 |
メモリアドレスを構わずに読んだときにメモリが無いところで必ずFFFFFFFFhを返すのは、486機(BX4/Xe10除く)までのようです。それ以降の機種ではメモリバスはHighに吊るのではない状態になっているようで、不定もしくは書いた(書こうとした)値が割と読めます。このためメモリ存在チェックは相当に工夫しないと間違ってしまいます。L2キャッシュも切らないといけませんし、CPUのキャッシュラインサイズ32バイト以上を一気に読むのがよいみたいです。ゼロを返しやすいのは、直前にゼロを他のアドレスに書き込む動作があったからでしょうかね? パリティエラーなくいきなり読めるのは、Cx13だからということだと思います。Xt13ではダメでしょう。
ところで上で書いたリセット線のほうですが、74LS04のうち入力共通でない一つのゲートの入力を10Ωでグラウンドに落とすとリセットがかかることは発見しました。しかしメモリチェックは短縮にならず、PGリセットと何ら変わりませんでした。やっぱりstaralpha2から引っ張り出されていないのかも?
【22時追記】メモリの無い場所に関してBX4/Xe10はPentium機と同様の応答をしますが、FastPage指定なのにEDOメモリを使っても大丈夫な点もPentium機のメモリコントローラっぽいと言えます。他の486機では必ずEDOは動作不良になります。
|
Xe10とEDOとGA かかっくん 2025年1月6日(月) 15:27 |
> 【22時追記】メモリの無い場所に関してBX4/Xe10はPentium機と同様の応答をしますが、FastPage指定なのにEDOメモリを使っても大丈夫な点もPentium機のメモリコントローラっぽいと言えます。他の486機では必ずEDOは動作不良になります。
実わ(ロットに依って?)Xe10にEDOを載せると窓95AでGA(5430?)の256色を出すと表示が崩れると云う 不具合が起こったりしますた(前世紀に実験済)。Hiカラーなら(遅く成る以外に)表示面の問題ナシ 無問題でわなさそーデスね Xe10デモVRAMを98GRPとGAで共有して居ましたっけ?別でしたっけ? # (2色〜16色/)256色とHiカラー/Trueカラーで発色の仕組みが異なり、前者わ表示前にパレットを参照する
結局EDOを他機種に回してXe10にFPを載せ直しますた。価格がEDO<FPの頃だったので出来るならEDOを 遣いたかったのデスが # マニュアルにわ『高速ページメモリ』と明記されて居る
|
☆α2は本当に同じ物か? かかっくん 2025年1月8日(水) 2:45 |
今更なんデスけど、☆α2てPC-9821のMATE X/W, MATE Rや流星青札のとFC-9821Kaのって間違い無く 同じ物なんデスかねぇ? 其れとも細かな型番とか枝番とかが違ったりしませんかねぇ? # PC-9821Stとか98鯖のサウスも☆α2の機種って有馬すかねぇ?
まぁ別物を遣うとわ考え難いデスが、FC用の別仕様のも無きにしも非ずと
|
IDEに新しいデバイスを繋ぐ時の未解決問題 まりも 2025年1月8日(水) 10:42 |
えーXe10/BX4でEDOを載せると(普通やりませんが)、メモリそのもののエラーではなく、256色モードの表示に問題が出るのですか。5430のほうなのか、9821グラフィックのほうなのか、どっちなのでしょうね。Win95インストール始めの段階なら後者かとは思いますが。Highカラーが選択できる状況なら前者しかないですよね。9821グラフィックのほうならDOSでも起こりうるのか、確かめてみたいと思います。
FC/KaとXa/Wの★α2が同じかどうか。型番マーキングありますよね。あれが枝番も含めて違えば違いありでいいでしょうね。【追記】Mate-Rのだと149996-003 9726KU203 でした。97以降は製造年週か。前半の149996-003は手持ちMate-RもXa/Wでも同じです。おふがおさんとこのFC-Kaの画像見る限り同じようですね。
ところで別スレにある PATA-SATA変換器問題ですが、これは「かなり」起こりうる問題です。しかしその前にCFリセットやらHSパラメータやらの問題が先に見えてくるので、案外気が付かれませんし、変換器もチップの種類が多く(JMicron互換品でしょうが)、プライマリとセカンダリに何を繋ぐかで組み合わせが無数にあるため、まとめようがありません。
プライマリとセカンダリに両方接続したときに動作不良になる場合は、変換器の品質を疑うのではなく、まずは「そういうものだ」と思ってみてくださいとしか言いようがありません。いや本当に半田付け不良の変換器はありますけどね。
これとはまた別に、マスタ/スレーブでCF-IDE変換器経由でCFを使う場合も注意が必要です。やはりCFの素性に相性があって、起動できなくなったり、どちらかが認識しなくなったり、転送速度が落ちたりします。当たり前でしょうが、同一メーカの同一シリーズのCFの組み合わせは割と問題ありません。片方がATAPIなのは(もともとですが)よくありませんし、片方がSATA変換器なのも、原因追及が難しくなるだけなので、避けたほうがいいです。
これらの不具合は、根本的にはIDE BIOS(ものによってはITF内の存在チェックルーチンも含む)を丸ごと作り替えるくらいのことをしないと解決できないと思います。
|
GAのMMIOとEDOでバス衝突? かかっくん 2025年1月8日(水) 13:35 |
確か1024x768の256色(VRAMが1Mナノで性能の限界。1024x768 16色わ無し)や800x600の256色で表示が 崩れたやうな? 詰まり1024x768で碌に遣えないと云う事に成増 800x600だか640x480の64K色、640x480の16M色にすると収まる、FPにすると出なく成ると云う 奇怪な事象デス。GAのMMIOとEDOでバス衝突が起こったの鴨
MATE B以外で640x480の256色の場合、98GRPとGAの何方が遣われ枡か?
|
OSFDIPLware如何? かかっくん 2025年1月8日(水) 13:36 |
> また画像2枚目は256MB実装中のXt13にミレニアムの4MBを連続して足した状態でmemtest86+の改造版を実行した途中経過です、残念ながら完走できませんでした。ここでSCSIemulatorの電源を落としたところ止まってしまいました。
IPLwareでミレのVRAMアドレスを設定して居ると憶われ枡が、OSFDIPLwareでIPLwareとmemtest86+を 一体化すると如何でせう?memtest86+にSCSIエミュが不要に成増が
|
memtest86 リウ 2025年1月8日(水) 15:04 |
ちょこちょこ弄っております。 残念ながらcom形式のバイナリではなく32bitelfでコンパイルリンクされている上に71kBのサイズがありまして…フロッピーのiplから直接ロードの形になっています。のでiplwareとしての実行は現段階では不可能です。と言い訳から始まります。 その画像はDOSでVRAMを連結させたのちHSB Fに依ってリブートした際の画像でした。(フロッピーipl内のロードアドレスも固定されていまして改造しようか迷い中ではあります)昨日はチップセット判別とオンボードキャッシュの判定やらを足して遊んでいたところです。socket4機の遅さに少し辟易していました。 画像追記 山猫でならミレニアムのVRAM4MBは使えるという実験結果は出せました。 1/13追記 www7b.biglobe.ne.jp/~drachen6jp/memtest86_98.zip 改造版公開(ソースのみ)色々表示だけは増やしました。 1/15正午過ぎ追記 rawriteを改造して1024B/Sに対応させたり2DDに対応させたりしたものを同梱してます。べたイメージ(WinNTのインストールイメージなど想定、BPBやFATがなくても書けます。とはいえコピープロテクトのついてるような商用独自フォーマットものは失敗するはずです。)をフロッピーに書き戻す際にお使いください。ファイルサイズで終了するので1MB全体を書き込まずに終了できるので既存のものよりさっさと終わって便利です。
AT機でのミレニアムの場合でしたがパリティなしメモリだとwin3.1がまともに映せないという現象に出会ったことはありました。パリティありのメモリに入れ替えると綺麗に映るので相性かー、と当時は流していました。奇怪ですよね。
おっと、はじめましての方の話題をスルーしてしまったのでこちらで申し訳なく 私のプログラム群は便利に使ってやってください。ひとさまの機械を壊してなければ幸いです。
|
IPLwareでわナイのか かかっくん 2025年1月8日(水) 17:07 |
memtest86+のFDにPCIを設定するFDOSIPLwareを入れるつもりでしたが、PCIの設定で71Kにも成増か? memtest86+が71Kなら解り枡が
とするとFDを入れ替えてキー入力後にFDの先頭セクタを1FC0:0にロードするやうにしてみるとか? エラー処理を手抜きしてCyフラグが上ったらリセットとかデモ良いでせう # 原因追及不要の為
ところで、HR機のLPTに有るINPUT BUSYの件デスが、答えがプリンタの方のマニュアルに有馬した PC-8821/8822のマニュアルの或る1頁 auctions.afimg.jp/c1136275447/ya/image/c1136275447.10.jpg auctions.c.yimg.jp/images.auctions.yahoo.co.jp/image/dr000/auc0505/users/403c98ef1480a90401e7b1db7d46b6984aa4d9b4/i-img1200x1200-17156199698z3iqn640633.jpg
36ピン(本体のINPUT BUSY)にもBUSYが出て居枡。11ピンのBUSYと等価と見做せそーな? # 他にINPUT-PRIMEの記述も有り ケーブルわ其々に結線デスから別々の信号としても遣えそーデスな # 然し此んな旧いプリンタにも、どーせ88も98も対応しないACK SELECT PE FAULTが有るのだらうか? # →ゐゃ元祖98にわ有ったろ(過去ログ参照)、無くしたのわ無くても動く(BUSYタイムアウトだけデモ事足りる)から # 真坂N52とかS31とかにわACK SELECT PE FAULT INPUT-PRIME(全て又わ何れか)対応機が有ったとか?
|
TEENEとSMITの相性を検証する かかっくん 2025年1月11日(土) 16:46 |
TEENEとSMITの相性の件デスが、「此の組み合わせで遣うナ」と云うのわ簡単デスが全然生産性が無いので。 少なくとも原因を突き止めて理由を示すとし枡か
TEENEだけが問題ならパッチを検討し枡がTEENEだけが問題とも考え難いので、TEENEか、SMITのハードか BIOSか、NIC(NIB)のハードかパケDRVか、組み合わせかの何処かに問題が有りそーな気わするんデスが まぁハード破損わ無さそーナノでドンドン実験あるのみ鴨
TEENEのソフト其の儘で、本体・SMIT板/BIOS・NIC/パケDRVを替えつつ何の組み合わせで問題が出るか?の 洗い出しが出来そーな? # とわ云えSMIT板が違っても石わ粗WB社のアレ一択でせう、NICわ選択肢が有馬すが パケDRVの他にNDIS DRVとDIS_PKTと云う選択肢も、此れで出なかったらSMITとパケDRVの所為と特定される鴨 デモDIS_PKTと打つかる可能性も # NDISわNETBEUIの、パケDRVわTCP/IPのDRV
あとSMIT板のBIOSを切ってASPIで動かしてみる(ASPIならI/Oを変えてもヨシ、只SMIT対応のASPIが有るか? 尚起動用にわ別に手段を考える)とか 劇遅DMA SCSIでDOSだけを起動してSET COMSPECでパスを変えるとか似非BIOSをIPLwareで起動するとか SASI板に似非SCSI BIOSを載せて(IDEの機種でわ不要)DOSの起動だけをさせるとか ASPIとHDD DRVをロードした時点で其の後(のDRV他やCOMMAND.COM)をASPIでマウントしたストレージから ロード出来枡。但しAUTOEXEC.BATわ起動領域から讀まれ枡
ところで、ICMの高速(当時)SASIのIF-272*わPIOだったとか?道理でDMAの他のより速いワケだ
|
IDE543MiB壁 リウ 2025年1月25日(土) 23:45 |
第2世代までのCHS543MiB壁(ブート不可)の原因は魔の割り算ではなくLBAへの変換に伴う掛け算部分にあると思っています。 (シリンダ番号×ヘッドの8+ヘッド番号)×セクタ数の17の部分の前半で出た65535越えのDXを捨てて17と掛け算してしまって想定外のLBA数字を作りだし、それを再度8,17(FIXIDECFでは16,63など)で割り算するのでCHS番号がBIOSに送った値とずれてしまうことが原因かと
1/26正午前追記 MCtekさんにtwitterのほうでPC-486MUにはNEC型のメモリ窓機構が存在する証拠を見せていただいたので、LBAパッチに取り込んでみました。 またIDEを持っている時代の486機は逆に旧EPSONシャドーRAM機構がなくなったみたいです。(修正後も動作せず の報告をいただきました。残念ながら未対応です。)
1/28追記 FIXIDECF1.28での掛け算パッチを忌避しないように修正しました。
|
第2世代 まりも 2025年1月25日(土) 23:57 |
うむむそっちですか。 そういえば第4世代機初期のBIOSでも、CHS-->LBA-->CHS変換の前半部のところで掛け算の結果発生したキャリーをDX側に加算するのを忘れてかけていたっぽいところがありますね。
【26日追記】ご指摘の箇所、ミイソBIOSは最初にシリンダ番地[bp +04]にヘッド数の掛け算をやろうとするから、後々32bitの加算をするときに困るのですよね。ヘッド数は8ですから8192シリンダで16bit(65535)が溢れてしまいます。ここも8192シリンダの壁だったのか、今まで気がつきませんでした。第3世代以降の機種しか昔持ってませんでしたから(と言い訳)。
オーバーフローした桁が入っているDXレジスタを保管するだけではダメすぎるので、先に256B/Sかどうかを調べてヘッド数を確定させた上で、セクタ番地、セクタ数*ヘッド番地、シリンダ番地*ヘッドセクタ積 というように小さい値から大きい値の順序で足してゆけば、32bitの加算をしなくて済みそうです。これだと丸ごと引越しではなく元のコード域に収まるパッチになります(画像)。ただし途中に挟まっているcall 命令の位置を変える必要があり、飛び先の移動の計算が必要になって面倒です。
ということでB2-mate,C2-multiでは動作するようになったのですが、初代A-mateのBIOSではパターンが一致していないらしくて通りませんでした。逆汗してみると、なんとB 2-mateのコードのうち、プライマリ/セカンダリを振り分けるところが全部NOP命令で塞いであって(当時からセカンダリは予定されていた?)、違うパターンになっていました。
というように実機テストが足りていないので、FIXIDECFの修正版は未だです。サイズの制限もあるので、このぶんだとやはり第0世代への個別対応があるとすると無理かも。
|
H:Sだけ変換できてCが、、、というSSD まりも 2025年1月31日(金) 14:08 |
DIV0ROMありで起動した直後の場合、identify取得データのワード1,3,6は不変です。容量変更して8063MBより小さくしてある場合、普通はワード1のシリンダ数が、容量に合わせて減少します。画像のはそうなっていませんが。
ワード54-56にある、BIOSによってCHStransが行われた後の情報を見ると、4351MiBに制限してあるデバイスでは普通 65535,8,17 になる「はず」です。ところが画像のSSD(古め)のように、おかしな値(55890)が入る物があります。HとSだけ変化していることを確かめて「98で使える」と判断しようと考えていましたが、このようなSSDがあると、本当に使えるのかどうか怪しいですね。CHStransに関してファームウェアのバグが潜んでいそうですから。
容量変更可能で8:17にもなっていると、使えると判断してしまいますが、運用し始めてからアレレレということになる恐れがあります。現バージョンのidedev,LBA_IDE,その他DISK BIOS CHS表示プログラムでこのようなSSDの使用可否を判断するというのも難し過ぎます。(説明から逃げてすみません)
SD-IDE はMCtekさんにより解決、CFはFIXIDECFとLBA_IDEにより解決といったところなのに、SSDのほうが実は闇が深かったことに今さらながら気づかされます。
|
55890 リウ 2025年1月31日(金) 14:57 |
16383*16*63/8/17 を計算して下16bitを取り出すとDA52h(二度訂正)の55890ですね ファームウェアは計算を32bitでやってそうですがあふれたものがどこに行ったかも見ないと怖いですね
|
|
|