| 98システム解析スレッド2025年6月 /人'A`;人\ 2025年6月1日(日) 4:27 |
| DiskBoot内蔵データ更新 まりも 2025年6月8日(日) 17:33 |
リウさんのXを見て、"ディスクブートからの手抜き再起動"ツール「DiskBoot」で保存するシステム共通域のSCSI関連のデータがいくつか足らない、と気づき、デフォルトで保存するアドレスとして 0000:05AE,05AF,05A5,05BAを追加することにしました。プログラムコードそのものは変更ありませんので、バージョンアップせずSetSysWk.exeを使って手動で登録しても同じです。05BAはSCSIではなく第4世代IDE BIOSに関係する物ですが、ついでなので追加しています。 ttps://www7b.biglobe.ne.jp/~marimo9821/knowhow/diskboot.html なおバージョンアップやアドレスデータ追加は必須ではありません。これらのところを変更するようなSCSI関連IPLwareアプリ(今の所たぶん無い)でも入れない限り、05AFなどは保存せずとも問題なく再起動できます。
|
| 山猫+バスマスタなど リウ 2025年6月8日(日) 20:33 |
汎用スレから話題を奪ってしまいますが、内容がソフトウェア作者寄りになってしまうのでこちらで(バッファにダンパを入れてハードウェア的な安定するかも?という例は存在しますが)
まずは画像のとおり山猫機にRicohのカードバスを使ってUSBカードを差し込み、そこへつないだUSBマウスが正常に動いた写真です。これはWindows98のFE版です。 ただしこれを撮影するためには、拙作のcardbus.sysをDOS段階でconfig.sysで実行しておき、IRQとIOとメモリをきちんと割り当てておく必要があります。(普通のブリッジに対してPCISETが行っていることとほぼ同等です。)さらにCBUSブリッジのconfig空間60-63hで80hになっているところをIRQ割り当て用に開放する必要もあります。これはintelsatで行いました。 その状態でさらにPCAT版Win98からpcmcia.infをもらってきて必要そうなファイルをWindows側で登録するとUSB1.1が動作しました。
さてその上のAHA-294Xに×をつけているところがあります。これはわざとです。改造を施しているFreeBSDのCTLというSCSIemulatorで裏から何が行われてるかをイチイチ観察していると、CDBで指定するサイズが80hブロックより大きい場合、つまり一度に64kBよりも大きな転送を行った場合、読み出しに失敗しているのが見えました。(これはBIOS動作ではまず起こせません(AX=09Cxでは可能かも?)し、FreeBSD/pc98環境でもどうやら起こらないようです。)そのためドライバの動作を停止させてInt1Bで動作を続行させています。今のところWildcatのバスマスタ転送に64kBの壁がある、という確定証拠は出せませんが、かなり怪しいと睨んでいます。
数日前からのFreeBSD環境でUSB2.0やその他ATAデバイスでの動作がこけなかったのも64kBより小さく刻んで転送を行っていたためにデータが化けなかったのでは?という可能性を思いついています。もし当たっていた場合でWindowsにそれを停止させる方法論があるのか?なければ絶望です。
深夜に追記 残念ながら一度に64kB以上転送の方はFreeBSDのCTL側のバグのようでした。430LX機のXfと2940AU/JAで同じことをやりましたが裏から見て64kBより大きな転送があると、そこで失敗を起こしました。ただしこちらの方では復帰が行える場合もあるところが少しだけ違います。 もう一つ、Windows9xのシステム「先読みによる最適化」のオプションを弄ってみてファイル転送サイズを変更できないか試してみました。最大は64kBということになっていますが、一番下まで下げてみました。何も変わりませんでした。残念です。
10日夕方追記 64kBバグはFreeBSDのCTLの方でしたのでそれを直しました。(最大バッファサイズがそこそこ上流できっちり64kBに切られていました。)Windowsではどのファイルを読み出すときにこのサイズを越えるのかははっきりわかりませんが、極たまに越えるようです。adaptecのscsiドライバ相手ではログイン時には確実にそれが一度起こります。山猫のバグかどうかは怪しいとは思っていますがぜんぜん確定できておりません。
|
| UIDE-66とUSB2.0で山猫猛獣使い まりも 2025年6月8日(日) 23:41 |
おぉ、リコーの475、動作してますか。Xt13なのでパリティエラーも出ていないということですよね。
うちでもいま山猫Xa13/K(CPUはK6-2,400MHz)でWindows98SEを動作させてみたところです。PCI2本には、UIDE-66と、(動作する方の)NEC USB 2.0です。mass strageドライバがあるストレージが無いので、USBに繋いでいるのはマウスだけです。気になるのは、パリティエラーが点灯することです。Windows98なのでDOS窓でPCILISTは実行できますが、HOSTにPEDに○がつきます。一度これを消してからUIDE-66に繋がっているディスクにアクセスするとまた点灯します。しかしMS-DOS上ではUIDE-66のBIOSを動作させてもパリティエラーは出ません。
【10日追記】あらかじめホストブリッジ(山猫)のパリティエラーチェックを有効にして(PCISETのオプションで指定可)からWindows98SEを起動した場合、 ・セーフモードでは起動できる ・通常のWindows起動では、起動画像の下部のパレットカラーが変化するところで先に進まなくなる ということがわかりました。Windowsの通常起動ではパリティエラーが発生する何かが起こっているようです。赤字PARITY ERRORこそ出ませんが、NMI発生を受けて止まっているのではと思います。いっぽうセーフモードはDOSと同じであるようです。
ところで、イレギュラーなマルチファンクションボードであるSiImage3512+USB 2.0ボード(玄人志向 USB5e+eSATA-PCI)は、挿すだけで赤PARITY ERROR で起動できませんでした(山猫機本体にSubFnoAT適用済み)。IFC-PCI7ESAU2でも同様ではないかと思いますが、動作可否情報を見たことが無いです。なおIFC-PCI7ESAU2の取引価格を見て横転↓ ttps://auctions.yahoo.co.jp/closedsearch/closedsearch/IFC-PCI7ESAU2/0/
|
| 山猫自体のバグだった? かかっくん 2025年6月9日(月) 14:20 |
この辺って山猫自体のバグ(エラッタ)だとすると対処法が可成り限られて来る気が? 若しかして此の辺が山猫板の度重なる設計変更の原因だったり? みいそが指摘してもVLSIが認めなかったとか?
対処法として転送毎に64K以内にするとかデスかねぇ?転送量が半端デモ良ければ56KiBとか60KiBとか? 問題が出ないみいそ純正SCSIとかって転送量が少ないんデスかねぇ?
ところで此の辺の事情って偽猫(SuperなCoreの591)でわド〜でせう?
|
| 山猫への妄言 リウ 2025年6月12日(木) 14:29 |
Xt13と組み合わせた場合にFreeBSDではややこしいとされていたUIDE-66、(石を選びますが)USB2.0がまがりなりにも動作しています。 このためXt13ではいろんな改修が為されているという前提で書きます。 偽猫、及び初期山猫機はハードウェア的にもおかしいはずです。
1、挿すだけで起動すらできないデバイスがある。 手持ちではVIA製のマルチファンクションのUSB2カードがそうです。またRICOHのカードバスアダプタも何度も何度も差し直す必要があります。これらはメモリチェックが終わったのちに赤文字でパリティエラーの報告が発生して起動不可になる場合とそもそもピポらない場合ともあります。
2、Win9x系とまとめられないくらいにOSバージョンで挙動が変わる。 特にWindows98のFEがおかしいです。汎用スレに報告を出しましたが98SEのPCIバスドライバを持ってきただけで治りました(ように見えました)からNECはバグを認識していてこっそり直したのでしょうか。非常に不可解です。 セーフモードでは起動できてしまうことも含めてやはりPCIバスドライバになにか変な期待を持ってしまいます。しかし98SEでも動作しない報告はまりもさんがすでに挙げてらっしゃいます。 k-takata.o.oo7.jp/mysoft/lfndos.html これを使いながら32bitドライバをデバッグすると何かがわかるかもしれませんがまあ大変です…。個人でできる量ではありません。 なお睨んでいたバスマスタ関連はおそらく無罪です。UIDE-66もどきをPIOモードにしても動作不可時は動作不可でしたので。
3.NT系OSでは上記の裏技が使えない。 まだやっていませんが起動不可だった場合はお手上げです。
4.調査済みデバイスがあまりにも少ない。 私個人では持っている山猫機がXt13だけでPCIバス用ATAカードもUIDE66もどきしかありません。残念ながら大熊猫BIOS対応手持ちSATAカードも3124が一枚だけでRvIIから抜くとややこいのでなかなか手が動きません。
|
| SCSI BIOS のH:S=15:255 まりも 2025年6月16日(月) 16:47 |
NEC標準だと1GB壁になってしまうSCSI BIOSのボードは多いので、回避策として H:S=15:255にするというのは、「あり」かもしれません。SCSI BIOS一般にあるもう一つの大きな壁はLBA 24bitですが、シリンダ数4094最大で到達できます。ただしBIOSによっては12bitシリンダ数モードにならずに16bitシリンダ数モードになっているものがあるようです。どっちでも問題はないと思いますが、内部でのCHS計算ルーチンで何か問題があるヤツもあるかも?それとWinNTと2000のドライバの認識。
このパラメータのメリットとしては、24bit壁がないSCSI BIOSなら、32GB壁もなし、約122GB( 65534*15*255 LBA )まで同じH:Sパラメータで行けてしまうことで、これはかなり利便性は高いですね。IDEから変換の場合も、LBA_IDEにて15:255で常用すれば問題なし。
H*Sの積が大きい(1シリンダのサイズが1MBに収まらない)ことで純正フォーマッタとくにWin9xのFDISK、FORMAT.COMがおかしな動作になると思いますが、そこもFDSK98で切り抜けることができます。少し遠慮して15:128にするとこの問題は無くなり、メルコの一部のPCI SCSIアダプタが勝手に拡張した値と一致しますが、、、中途半端な3.8GBやら61GBが上限に。
|
| 55ボード用DMA転送ドライバ リウ 2025年6月19日(木) 4:01 |
Windows95でバスマスタボードに55ボード用ドライバを適用してCrystalMarkretroの2.03で計測をかますと速度に有意な差がみられましたので報告だけやっておきます。(ちなみにHSパラメータが15:255でもきっちり動作しました。) SC-98II 900kB/s LHA-201 600kB/s MDC-925L 200kB/s(これだけは内蔵メモリ側で計測と確信できます。) IF-2771 動作不可
本体はPC-9801RA2(387付き) メモリは4.6Mの内蔵の上に13.6MのMAXまでCBUSに積んでます。計測相手はFreeBSDのCTLを利用した仮想HDDです。
計測時にCBUSメモリを使われたか、内蔵プロテクトメモリ側を使われたかを判別できませんが少なくとも本体DMAの5MHzでは300kB/sが関の山ですから、MDC-925Lを除いては外部DMAが使われている気配はありました。 参照用 KAZZEZさんページ ttp://kazzez.html.xdomain.jp/essay/55scsi4.htm どういう仕組みなのかはさっぱりわかりませんが、一部のバスマスタボードでは本体DMAを使わずに動作してるようです。PCI機では動作するんですかね、ダメそう。 触った感触ではBIOS動作の方が明らかに反応がよいですが、ドライバ動作をさせるとLUNが有効になったり、光学ドライブが楽に使えたりとうれしい部分もあるようです。(きちんとしたバスマスタ対応ドライバを使うべきですがNT3.51にはそれがありませんので…その前段階調査でした。)
0545(時刻訂正)追記 >少なくともソフトウェアから見てSCSIのバスマスタはDMA転送と区別できない
FreeBSD/pc98のドライバを見ると、その制御をやってそうな部分は見受けられるのです。各社ごとに対応コマンドが違うので何かしらやってそうではあるのですが、このあたりはブラックボックスですから、Win用ドライバの解析しか方法はないかもです。お返事ありがとうございます。
|
| KAZZEZ 2025年6月19日(木) 5:41 |
詳しい仕組みは存じませんが、少なくともソフトウェアから見てSCSIのバスマスタはDMA転送と区別できないという話だったと思います。WD33C93系のバスマスタSCSIはOSに関係なく55ドライバでとりあえず動くという意図があるようです。NT系の場合はHDDパラメータの問題もありますが。 ただ実際のところMDC-925LのようにSCSI-BIOSのバージョンによって95に正式対応するか否かが変わるものもありますので、いろいろ細かい問題はあるのだと思います。 メモリ16MB超えでもバスマスタ可能なCバスSCSIはIF-2769とMDC-926RSがありましたが(925Lはどうでしたっけ?)、独自の方法ということになりますから専用ドライバを使うべきでしょうね。925Lも55ドライバで遅くなるということはバスマスタに独自の部分があるのでしょうかね。
IF-2771はSCSIチップが違いますからBIOSでどの程度55エミュレーションしているのか分かりませんが、BIOSを使わないドライバは難があると思われます。私も持っていますが9xの55ドライバは動かなかった気がします。
それにしても私のページはSSLを使っていませんから最近の環境ではまともにアクセスできなくなっているでしょうね。移転先は確保したつもりですが、SSLの設定とか学ぶことが山積みでまだ放置中です…。 (・_・#): 今のページは来月で閉鎖やろ。はよせんかい。
|
| Cバスのバスマスタって本体DMACと同じI/O?(真坂) かかっくん 2025年6月21日(土) 1:38 |
> 詳しい仕組みは存じませんが、少なくともソフトウェアから見てSCSIのバスマスタはDMA転送と区別できないという話だったと思います。WD33C93系のバスマスタSCSIはOSに関係なく55ドライバでとりあえず動くという意図があるようです。NT系の場合はHDDパラメータの問題もありますが。
本体DMACと同じI/Oで動作(write only)してDMACの動作に被せるとか? CPUわDRQとHOLDが同時に来たらHOLDに応える(HDLA, noDACKで本体DMAC動作せず)と?
|
| 外部DMA リウ 2025年6月21日(土) 3:19 |
DMAの転送設定が全く同じIO使用です。 FreeBSDやNetBSDのソースではっきりわかりますし、BIOSやドライバの逆アセ読みでもはっきりすると思います。 CC0とCC2の二段階IOの未使用?レジスタで何やら設定を行うと乗っ取れる、という仕組みと思っています。ソフトウェア的にはそうと読めるのですがハード的に何をしてるのか?win95ドライバでなぜその乗っ取りが無効にされずに動作してるっぽいのかはさっぱりわかりません。(NT351ではこの二枚はバスマスタ設定のままでは起動不可なことも確かめました。) MDC-925LのBIOSは転送毎に元のDMAに解放して、SC-98やLHA-201のものは解放せずに乗っ取ったまま、というのが想像ではできますが、妄想のたぐいです。
明日以降、手持ちのSCSIボードのソフト的差を表にでもまとめておこうとしています。 pbs.twimg.com/media/GuBHjyqW0AA4jsV?format=jpg&name=4096x4096 どでかい画像ファイルになってしまいました。html化して公開するつもりですが、MDL-925Lの優秀さに驚きました。あとはIF-55TBが計算間違いしてないことにも C>4096 && H>15の時のいい加減さはもう仕方ないですね、そんなものは当時にはなかったのですから ICMがSを勝手に倍するのにも困りました。
|
| 乗っ取った処で当該chで鹿動作しないから無問題? かかっくん 2025年6月22日(日) 10:10 |
まぁバスマスタが乗っ取った儘デモ其のchで鹿動作しません(他のchわ本体DMACや他のバスマスタが動作 する)から実害無いでせう Cバスの複数デバイスでDMAchの共有わ出来ませんから 問題わストレージの場合ディスクエラー等のリトライで転送が滞った場合バスを攫んだ儘に成り得る事も 有る点デスか
本当わI/Fにバスとストレージの最大転送量と同じだけのキャッシュが有ればエラーのリトライで転送が 滞る事も無くI/Fに書き出した時点でバス解放出来枡 まぁストレージにキャッシュが有馬すから、I/Fわキャッシュに転送してオシマイと云う実装も出来枡が
バスマスタの場合、実装次第で64K境界も(16M以内の)バンクレジスタも関係有馬せんが、現状の乗っ 取り式でわバンクレジスタが動作(略)、亞、HOLD/HDLAだから動作しないのか # バスマスタの要件が286以上とするのもCバスの仕様と関係有るでせう、Cバス方式が286+のVX*1, # R*+のV30モードとかVM11とかUR,UFとかって出来そーな? # 其れとも8086/V30と286+で根本的に違ゥ(286+と同じやり方で乗っ取れない)とか? # 或いわ機種判定が単純でないから単純にCPUだけで判定してバスマスタ可否として居るのか? # BIOSのCPU判定をツブしてVX*1,R*+のV30モードでバスマスタを試してみれば判る希ガス # ウマく往けばV30のPIOよりずっと速く成増、とわ云えRAMが追い付かない鴨
|
| おもてのコードが汎用的 まりも 2025年6月22日(日) 16:45 |
SC-98初代で、「98(486機)本体に必ず入っている55相当BIOS」(*)を誤っておもてに出してしまっても動作していた、という報告を数年前にしたと思います。転送速度もほぼそのまま(直ROM実行なので少しは遅くなる)なので、バスマスタ動作とわかります。 同様にE10 SCSI内蔵機でもうっかり内蔵55相当BIOSをおもてに出してしまっても動作していましたが、こちらは転送速度が400KB/s台に落ちたのでI/O転送ではなくなっていました。いずれにしてもDOSではいつの間にかBIOSが置き換わっても気がつかずに動いてしまうわけですが、これはDOSではLBAアクセスであり、BIOSもそれを素通しにしているからです。CHSで呼ぶのは領域起動のときくらいです。
その内蔵55相当BIOSですが、あらためて中身を見ました。E10/92と同じく16bitシリンダ数モードで1GB壁にパッチを当ててみようとしたら、全く同じではありませんで、E10/92ではヘッド数を強制的に4bitに落とすコードが1行入っているんですね。これが、E10/92では シリンダ数12bitモード(ヘッド数≧16)がダメな理由ですか。
ところでNT3.51のドライバではダメな理由としては、BIOSが為した仕事は一切無視し、SCSIボードを初期状態に戻してから動作しようとするためではないでしょうか。基本的にNTのドライバはそういう傾向にありますよね。
(*)レガシー486機で I/O 053Dhにbit6を立てて出力すると現れます。なおbit5だとSASI BIOS。それぞれITF/BIOS ROMダンプファイルのBANK2.BINのオフセット4000h,7000hに存在。
|
| SCSIボードBIOSのsugoi詳細調査 まりも 2025年6月23日(月) 21:55 |
リウさんの、 >SCSIボードのソフト的差を表にでもまとめて LBA計算を間違ってしまうボードがやはり結構ありますが、調査された分については、「BIOSにマルチベンダ設定機能があるボードで間違う製品が無い」のは救いかも?掲載がないIF-2768,LHA-202,MDC-555あたりがどうなのかなというところです。これらは私も持っていません。これらの後の世代の製品では、「16bitシリンダ取得条件」も含めて大丈夫そう、という感じでしょうか。 【追記】LHA-203でも大丈夫でした(ただし8GB以内)。
ところで画像ファイルについては、横にデカイのもさることながら、jpg形式のためボケるので、CSVファイルでお願いしたいところです。 (・_・):老眼のため拡大したいだけやろ?
|
| 未完成ですが リウ 2025年6月24日(火) 20:55 |
www7b.biglobe.ne.jp/~drachen6jp/98scsi.csv まだ未完成ですが途中提出します。webブラウザから見えるように色もついたhtmlにする予定です。 そういえば外字SRAMのPCIやPNPが使うメモリの一覧も作るぞ!とか宣ってましたが一向に完成に向かう気配がありません。
感想としては… ICMはモードセンスをまったく信用していない 16bitCフラグは立てるだけ立ててCHS->LBA変換時にまったく考慮されてないBIOSだらけ ベンダNECかどうかは100ボード、NTドライバはまったく考慮していないどころか92ボードもそう。モードセンスの返事で判別していました。 さらに92ボード裏BIOS部にハイレゾ機本体BIOSパッチプログラムが隠れていました。実際にどれが対象機かはわかりませんがこっそりやっとったんですねえ…。
データポートアクセスが可能なように見えるのですが実際には確かめていません。8086/V30ではIOストリングス命令が使えないはずだ ということからDMAを使用しない場合のコードが隠れているか探していますが、まだはっきりしていません。
壁ごえSCSIがこれらの仕様バグをつぶせていた という結果事実には一安心しているところです。
|
| V30ってI/Oストリングス可 かかっくん 2025年6月25日(水) 0:51 |
CPU転送,PIO,FIFO=I/Oストリングスより、V30(HL)/V50/V33AでわI/Oストリングスが遣え枡 # 88VAのV30下位互換・Z80互換CPUでわフカ、8086と同じ設定で遣うべし # V30下位互換ナノで8086とV30の相違点(AAM/CVTBD,AAD/CVTDB等が2バイト目に関わらず底を10 # (0Ah)とする)わV30と同じ挙動な希ガス
|
| RLのハイレゾBIOSをこっそり修正か まりも 2025年6月25日(水) 20:31 |
CSV版の公開、ありがとうございます。なお「同期周波数」という項目ですけども、同期転送時のレート(単位 MB/sec)でしょうか?それとも何かしらのハードウェアの動作周波数で間違いない?
>裏BIOS部にハイレゾ機本体BIOSパッチプログラム これが気になり調べてみました。もともと92ボードのBIOSは異様に多くのROMイメージが格納されていて、動作モードはDMAとPIOの2つしかないことを考えても多いのです。それぞれに機種グループが少なくとも4種ぶんが格納されています。 手持ちのハイレゾ機では、本体BIOSパッチが該当するのは98RL(前期型)でした。パッチのパターンとしては1つしかないようです。SYSTEM BIOSのF800:7FFEhのチェックサムワードの低位側バイトがBEhのものが対象です。H98やXL^2がどうかというところですかね。A-mateは該当しません。【22時変更追記】パッチの目的は、F800:5DFEh付近ということでSASI BIOS部分の修正のようです。SASIを使わないなら、SCSIボードを92板にする必要性もなさそうです。【26日21時追記】55Uにもあると聞いて調べたところ、なんと486機内蔵の55相当BIOSにまでこのパッチコードがありました。つまり55Uボードからずっと互換性を保ってきた無駄なROMコードのようです。
ブートROMで本体BIOSをパッチするなんて、今でこそIDEの容量壁突破に勝手に使っていますが、そもそもミィソがやっていたのですね。
>外字SRAMのPCIやPNPが使うメモリの一覧も作る これの空いているところを利用したくて、わたしもずっと調べようとしていましたが、(古くからある機能を除き)あきらめました。何か1項目変更しただけでも、飛び飛びの箇所で複数バイトの変動があり、法則性が全然わかりません。現象だけでなく、SRAM読み書きとチェック機構を行うコードのほうも見ないと難しそうですが、そのほうが大変かもしれません。
ところで92ボードのBIOSがヘッド数を無条件に4bitに抑えてしまう件ですが、この1命令を取り払えば、モードセンスで対応するHDDのときに12bitシリンダ数モードでヘッド数最大255になるのでしょうか?であれば、92のBIOSパッチプログラム「UPGR92」に機能追加しておこうかと思います。
|
| 自己満足 リウ 2025年6月26日(木) 0:36 |
www7b.biglobe.ne.jp/~drachen6jp/98scsi.html まとめておきたいことはまとめました。 ここまであまり言及されてこなかったのはIDE変換かごでしょうか。これをふるーいBIOSで使うとちょっとした壁にぶつかります。 あとはSCSIEmulatorの問題と壁こえSCSIを作るさいの仕様調べの部分です。
IOストリングス命令の間違えの訂正ありがとうございます。トレースしてみたところデータポートを使って通信している場所は55UボードではInt1BのAH=18hや19hをAL=Cxで呼び出した際にだけ通るルーチンでした。つまり汎用ASPIドライバしか使わない部分のようです。AL=20h、A0hの場合はAH=09hでAL=C0のImt1Bを呼び出すのでここを通ることはないようです。大幅なパッチを行えばそこを通るようにできるかもしれませんが、DMAを信用できないようなシステムはもうダメなのでそれへの変更を書くのはやめておきます。ここを使う転送はとても遅いはずですし。(といいつつもおもしろそうなので55U専用でやってみるつもりになりました。)
92ボードの本体パッチ相手の機種特定お疲れさまです。こっそりやられてしまうと驚いてしまいました。
92ボードのモードセンス取得条件はとっても厳しいです。が現在のSCSIEmulator(すみません 商売として売られているものは一つももっていません)が対応していなくともそのうち対応してくれると信じることにします。FreeBSDのCTL改造版は対応してるつもりですが私以外はどなたも使っていないようです。92ボードのコードを追いかけるとモードセンスで得たCを12bitに落としてそうな部分は見当たらないのですが実際に84hでSENSEを取るとCは12bitに落ちます。Hを8bitに復帰させて計算間違いをなくして32bit化も行えば120GBまであっさり使えるような気はします。(CHS=4095:15:255は確認済ですが きちんとパッチさえすればおそらく可 重大追記0754 不可です!)このあたりはSCSIEmulatorでしかほとんど影響がなく作者さまの思想が強く出る部分と思われます。私は大容量が使いたいのでできるかぎり大きな数値で使いたいですが、安定思考ならばCを4095未満、Hを15以下、Sもそんなに大きくしない値 を選ぶことになると思います。
同期転送時のレートは信号の定期通信回数です。たまたまNarrowSCSIの8bit(1byte)毎だとMB/secと合ってしまいます。石の周波数も同時に書いてしまったのでもっとわかりにくくなってしまいました。
1000追記 12bitC部分について表を修正しました。
|
| 92板の場合 かかっくん 2025年6月26日(木) 12:32 |
92板,A-E10板ってVIDが(新旧)みいその場合と'nEC'含む他社の場合で処理が違った気がし枡が、↑わ何方の 場合dsk? 他社の場合に8:32決め打ちにする辺りのパッチと憶い枡が 抑々92板やA-E10板って元々1G辺りに壁が有った気が?8192:8:32(C:16bit)でしたっけ? www7b.biglobe.ne.jp/~marimo9821/scsi/e10check.html ん?↑にわA-E10板の記述ばかりで92板わ少ないデスね?
H:Sを固定にするメリットも有るにわ有るのデスが # BIOS側で固定すればNativeHSわ違って居ても可
|
| ベンダNEC リウ 2025年6月26日(木) 14:16 |
55Uボードは実際にinquiryした後一致しなければBEEPと無限ループです。55無印は所持していませんがあらゆるところで言及されているので確認せずとも同じだと思われます。
SC-98やSMIT板のようなCBUSSCSI後発品は"NEC"の三文字を確認してモードセンスの値を有効にするかとのルーチンを分けています。コードにしっかりありますし、実際の接続でもそのようになっていたことはみなさまのご記憶どおりです。
さて92,100,NTドライバ,加えてX-B02などのNEC発のPCIカードはNECのベンダ文字列を見ていません。再度確認しましたが見ていません。実際にモードセンスコマンドを発行してその返事がSCSI-2時代の返事をしているかで分岐しています。一般に言われてることとは違いますから疑問に思われるのも当然です。ベンダ名nECで発売されたHDDが存在するのもサードパーティー製カードへの対策であり、自社のBIOSでならNEC文字列で始まってあっても返事が気にくわなければモードセンスのCHSは使わせずに容量帯での識別になります。そういうことにはならなかったのは実際NECで始まる売られていた物はモードセンスの返事が55的で、nECで売られていたものがSCSI-2仕様だっただけとは思います。(未所持のため単なる考察)
92板(A-E10)の1GB壁はCHS->LBA変換式のバグです。 参考 www7b.biglobe.ne.jp/~marimo9821/scsi/e10check.html
ところで92の裏にあったRLのBIOSパッチプログラムが55Uの裏にもありました。
さらに92でもCHS=4095:255:255のモードセンスを取らせた場合になら、計算のバグを取り除けば120GBまで可能と思います。今朝の追記は早とちりです。C>4095かつH>15の時は大失敗を起こすことに気づいて焦りすぎました。
1817追記 忘れてました。モードセンスのH:Sを8:17で返事する(はず 持っていません)ノート用HDパックの変換籠でもCが16bitになってしまう(512B/Sの場合で543MB程度の低い位置に壁)と困ったことになるはずですので注意書きを足しておきます。
|
| 大失敗の原因わ かかっくん 2025年6月26日(木) 15:56 |
> さらに92でもCHS=4095:255:255のモードセンスを取らせた場合になら、計算のバグを取り除けば120GBまで可能と思います。今朝の追記は早とちりです。C>4095かつH>15の時は大失敗を起こすことに気づいて焦りすぎました。
C>4095かつH>15で大失敗するのわ、システム共通域の容量フィールドが28bit鹿有馬せんから出鱈目な 値が格納され枡から当然でせう 参考 Undoc2 memsys.txt 0460〜047Bhの4バイト毎にID 0〜6のHDDのパラメータを格納 MOわ3.3D以降5インチを650M、DOS5以降3.5インチを128Mとして固定値を格納。1.3G・2.6G他の 5インチや230M・640M他の3.5インチも650Mや128Mの値が入る # 5インチの場合両面の為、実際の値わ半分の約300Mの値
+0h S数 +1h bit 7〜4 H数のbit 7〜4 (12ビット) C数のbit 15〜12 (16ビット) bit 3〜0 H数のbit 3〜0 +2h C数のbit 7〜0 +3h bit 7 1= ハードセクタ 0= ソフトセクタ bit 6 C数 1= 16ビット 0= 12ビット bit 5,4 セクタ長 10b= 1024バイト 01b= 512バイト 00b= 256バイト bit 3〜0 C数のbit 11〜8
みいそSCSI板のBIOSでint 1Bh(84h)わ此の領域の値を返すだけだそーで、値が格納される時点で既に Cが12bitに成って居ると云う事のやうデスな ところで、初代55板わ12bitだけのサポートだそーで まぁどぉせ仮想値なんデスし、適切に変換出来れば何方に設定しても大差無いのデスが # 無効値が有る分4095:255>65534:15 CHSの設定値をC,H,Sの最大値とするか、0をC,H,Sの最大数と見做すと云う何方かの規定が有れば良かった デスが。CHS数を製品として粗有り得ない1:1:1を無効値(バイト列で1 1 1 0)として初期化して、0フィルで あっても有効値(256B/S:4096:256:256)とすれば(略)
|
| 92ボードの隠し機能??? リウ 2025年6月27日(金) 14:13 |
本体フロッピードライブのモードを640kB自動モードにして外付け1MBフロッピードライブを接続すると 92ボードはモードセンス取得強制モードになる (具体的には0000:0494hを1bitでも立てておくと) 実機でも確認しました。そうなります。
ただし、55時代のモードセンスの報告する値の保管場所と1バイトでもずれていると無意味なデータを取得してしまいますのででたらめな値を取り出してしまいます。そうならないように92ボードではモードセンスで取得するかどうかを厳しめに判定しているようです。他社製BIOSはモードセンスの各ページの先頭からのオフセット(規格どおり)で数値を見ていますが、NEC55型の場合(92ボードもNTドライバも)は取得した全データの先頭からのオフセットでCHSを取得しています。
またNECベンダは見ていない、と豪語しましたがD5882であるかどうかだけは確認しています。その際にベンダ名の確認はしています。(再度書きますがモードセンス取得、容量帯取得の判別には使われていません。) D5882での特殊処理はたくさん入っていました。WindowsNTのドライバもこの場合だけ特殊処理していましたからよほどなのだと思います。(所持していません。)
>まぁどぉせ仮想値なんデスし、適切に変換出来れば何方に設定しても大差無い 各社のマルチベンダシステムはここを弄くってるところがミソですよね。 計算間違えがなければなお良かったのですけれども。 壁こえSCSIはその上でCHSを65535:255:255にまで拡張したところを自画自賛しています。
28日午前追記 Asに実際に繋げて実験しました。書き込み時はフラグをたてただけでしたので非正確でした。 640k自動で1MBIFの外付けフロッピードライブ接続です。(このつなぎ方は固定モードでは外付けフロッピードライブは無効にされます。)
SCSIHDDからのDOS起動時点ではHS=8:32の状態で認識されていました。そのときには0000:0494hは立っています。 この状態でINT1BのAH=03を実行すると(エラー処理などでやられるでしょう)きっちりモードセンス側のパラメータをもらってきてしまい、OSが暴走しました。
|
| 最強のHDD NEC D5882 まりも 2025年6月28日(土) 0:29 |
D5882は当時としては容量が大きい(540MBは超える)だけでなく物理フォーマットにてセクタ長可変で、256Bは無論、4KBまで行けるのですよね。AFTで4Knだなんて時代先取りもいいところです(笑 それだけ特別な扱いが必要なデバイスだということなのでしょう。一応、DiskBootプログラムで記憶すべきシステム共通域に、D5882存在フラグで使うところも先日の更新で追加してあります。ところでこれのPC-HD製品型番って何だったんですかね。PC-HD300までしか当初はなかった気がします。PC-HD540初代?
それにしても、モードセンス取得強制機能を、なんで無関係なFDDの接続に依存させているのだか?640K自動ってあまり設定することのないモードな上に1MB外付けなんてさらにやらないモードですけど、だからこその裏コマンドですか、、、
|
| 鯖用とかCD-Rマスター用とか?>D5882 かかっくん 2025年6月28日(土) 17:25 |
> またNECベンダは見ていない、と豪語しましたがD5882であるかどうかだけは確認しています。その際にベンダ名の確認はしています。(再度書きますがモードセンス取得、容量帯取得の判別には使われていません。) > D5882での特殊処理はたくさん入っていました。WindowsNTのドライバもこの場合だけ特殊処理していましたからよほどなのだと思います。(所持していません。)
> D5882は当時としては容量が大きい(540MBは超える)だけでなく物理フォーマットにてセクタ長可変で、256Bは無論、4KBまで行けるのですよね。AFTで4Knだなんて時代先取りもいいところです(笑
stason.org/TULARC/pc/hard-drives-hdd/nec/D5882-631MB-5-25-FH-SCSI1-SE.html FreeDOS(98)のsava氏も指摘して居枡。って4:08デスから↑よりも(略) 確かにmemsys.txtに有馬すね>0:05A5h
> それだけ特別な扱いが必要なデバイスだということなのでしょう。一応、DiskBootプログラムで記憶すべきシステム共通域に、D5882存在フラグで使うところも先日の更新で追加してあります。ところでこれのPC-HD製品型番って何だったんですかね。PC-HD300までしか当初はなかった気がします。PC-HD540初代?
98用に(N52ですら?)無かったのでわ?システム3100とか鯖とかACOSとか? DOS3でわ全領域をアクティブに(1領域128Mが4ッで1台の最大512M)出来ませんし DOS5が出てやっと全領域を一括で扱えるやうに(略) # PC-UX(雲丹X)とかOS/2とかなら遣えた鴨
631Mと云う事で63分CD-Rマスター用とかな肝?此の用途なら2K/Sでフォーマット出来るのが都合 良いでせう # ゐゃ2K/Sなら650M(74分相当)に成る鴨 どぉせ此の用途なら専用アプリでのアクセスに成増し サイズ的にわ5インチFHデスから初代PC-HD300級に成増ね
|
| KAZZEZ 2025年6月28日(土) 22:49 |
> F800:7FFEhのチェックサムワードの低位側バイトがBEhのもの とりあえずDOS上から見る限りm90はノーマル・ハイレゾともBEとは違うようでした。一応リファレンスでディスクで専用SCSIとB03のBIOSは未使用に設定しておいたのですが、もしパッチ後にBIOSを引っ込めるだけ&チェックサムも書き換えているのでしたら意味無かったかもしれません。
> www7b.biglobe.ne.jp/~drachen6jp/98scsi.html ご苦労さまです。 たしかMDC-925LはBIOS 1.40で大容量HDD対応(さらに1.41で95対応)だったかと思いますが、それ以前でもLBA計算を間違えなかったということは、自動認識まわりの不具合だったのでしょうかね? IF-2560はMATE対応のシールのあるバージョンでしょうか? 従来版とBIOS的に違うかどうかは確かめていませんが、外見上はジャンパ線か何かの違いはあったかもしれません、ハイレゾ対応でしょうかね?
> BIOSにマルチベンダ設定機能があるボードで間違う製品が無い そういえばELECOM EIF-AW2には自動認識機能はありませんが、システムワークエリア0000:0460〜047FhのSCSIパラメータテーブルをバイナリで直接指定できる(と思われる)ForceHDDモードがあるんですよね。LBA計算は分かりませんが、少なくともCHSは計算では求めないものと思われます。以前、160GBのIDE-HDDをSCSI変換して繋ぎ、4095:255:255で認識させたところ、128GBの領域がDOSモード上で一見して動いているような感じでした。255:255は大熊猫BIOS互換なのが便利なところでもあります。
> モードセンスの返事で判別 やはりそういうことがあったのですか。昔、100MBクラスの非NECベンダの外付けHDDで、SC-UPCIに繋いだときには55パラメータらしきものになるのに、IFC-USPに繋ぐと92パラメータになってしまい、うまく互換性が取れないことがありました。感触としてはIFC-USPが一般に言われているように非NECベンダの場合はすべて92パラメータで処理しているのに対し、SC-UPCIではNECか否かによらずモードセンスの挙動で判断しているのではないかと予想していました。Cバスの頃からあったのですね。CバスSCSIのマルチベンダは自動認識に対応したものが多かった&PCI時代のSCSI-HDDは新しい規格が多かったので、あまり問題にならなかったのかもしれません。
> 4KBまで行ける 普通のSCSI-HDDでもワークエリアの情報としては1KBまではあるんですよね。さすがにそれで上限が拡大できるような話は聞きませんが。
|
| 物理セクタ1KのHDDの論理セクタって何B/S? かかっくん 2025年6月29日(日) 10:33 |
>> 4KBまで行ける > 普通のSCSI-HDDでもワークエリアの情報としては1KBまではあるんですよね。さすがにそれで上限が拡大できるような話は聞きませんが。
此れわ3.3Cからの5インチMOへの対応に由る物と憶い枡が、MO対応前の3.3B迄わ256か512の二択 だった鴨知れません # SCSIのDOSでのサポートが3.30からデスから3.30から2bitの定義が有ったか1bitわ3.3B迄未定義だっ # たかについてわ外野の人間にわ(略) # 後期版3.10(PS98-011。(C)1987、IO.SYSが49,152バイトで見分けが付く)からのサポート鴨 # みいそBASICでのサポートわ6.0か6.1からだった希ガス。BASICでMOをサポートしたか?わ不詳 # 多分MOわDOS BASICを遣ぇと云う希ガス
ところで物理セクタ1KのHDDの論理セクタって1K以上に成るんデスかねぇ?其れとも論理512B/Sでの フォーマットも出来るんでせうかねぇ?当時のBIOSが其んなスマート(賢い)とわ考え難いので前者で、 窓9x/NT(DRVに其んなコードが有るとわ考え難い)で齟齬を起こしそーな? 其れとも惡魔デモ内部(円盤レベル)の噺で、I/Fレベルでわ512B/Sナノか(真坂)?
|
| 2kセクタ リウ 2025年6月29日(日) 14:43 |
CDブートの時に確かめましたが Int1BのAH=06読み出しに渡すBXは最終的にCDBでセクタ数に変換されてSCSI石に渡されます。この数が[460h+id*4+3]の256 512 1024B/Sフラグを参照して計算されます。これが実際は2048も有効値でした。OSが対応してくれていれば(ドライバが対応すれば?)可能性はなくはないかと また残念ながらセクタ数可変であってもD5882(含めて容量取得の場合)を92につないだときは512B/S以外では無視されてしまうようなコードでした。
>IF-2560 手元のものはMATE対応とは書かれていませんがAsに挿してなんとなく動いてくれています。
|
| 2KBセクタとDOS まりも 2025年6月29日(日) 17:34 |
・MS-DOSのディスクバッファは2048B単位が最大で、DOS論理セクタ長も2048Bになります。 ・MS-DOSのマニュアルを見る限りでは、ディスクフォーマット時にBIOSセクタ長は256,512Bしか規定していないようです。 ・IPL起動メニューを読む限りでは、256,512,1024Bしか想定しておらず、1024Bは封印されているという話(過去ログ)があります。
>MATE対応 SCSI縦スロットのA30ピンGND接続の有無でしょうかね。ITFにより自動的にSCSI ROMをRAMにコピーしてもらえるフラグが立つやつです。FA,FS,FXではそうならかったはずです。【22時追記】ttp://ematei.s602.xrea.com/kakorogu39/リサイクル掲示板202009.htm でKAZZEZさんがDMA関連DIPSWに配線の修正があると書いていますね。忘れていました。ご指摘↓ありがとうございます。でもスイッチ設定に係るほどのA-mateと初代Fellowの違いってなんでしょうね?内蔵SCSIでDMA ch1(ハイレゾはch2)を使うシステムセットアップメニューの設定が、FAにはない?ある?
>0000:0460〜047FhのSCSIパラメータテーブルをバイナリで直接指定できる BIOSコード内で決め打ち計算せず、必ずここを参照するという作りになっているのでしょうね。BIOSファンクション03(BIOS動作の初期化)が来てもここを変更しないようになっていると思います。しかしLBA-CHSの変換計算が正しいかどうかはまた別ですから、もうボードのBIOSごとに検証しないといけません。E10/92用のE10CHKと同じ手法が使えると思いますが、そのままでは8191シリンダ(92パラメータで1GB)付近しかチェックしないので役に立ちません。といってもどうせ24bit壁はほとんどのCバスSCSIボードにありそうなので、8GBまでチェックできればいいのかなという気はします。まあ恐る恐る使うよりは壁超えSCSIです。
|
| /人'A`;人\ 2025年6月29日(日) 18:19 |
A30ピンの接続先の違いではねえみてぇでやんす。 ttps://98epjunk.shakunage.net/storage/a30pin.html ttps://98epjunk.shakunage.net/storage/tate_scsi.html
FA/U2では内蔵固定ディスクDMAの設定項目での選択肢が チャネル#1 チャネル#0 となっています。A-E10とFA-35(籠)を装着した場合。
|
| 光円盤と起動メニューって無縁? かかっくん 2025年6月30日(月) 1:31 |
例えば3.5インチMOってIBMフォーマットにせよセミIBMにせよ、SFDフォーマットに成って居枡から 起動メニューわ無関係と云う事に成増 若し円盤から起動出来るやうに成ったとしても、此れも起動メニューわ無関係でせう # 円盤からの起動に他のストレージのメニューを遣うのわ別の噺 5インチMOって起動メニューが入るんデスかねぇ?
# 其れを考えると苹果フォーマットのMOって市販の初期化済品以外わHDDと同様のフォーマットに # 成る事を考えると...
|
| 5インチMOのとくに1024B/セクタ まりも 2025年6月30日(月) 9:25 |
NEC製のPC-OD50xでは、パーティション分けをして、DOS5以降ではデバイスドライバ無しで使うことになっているようなので、少なくともパーティションテーブルは存在するはずです。起動可能デバイスですから、起動メニューもあるはずですが、HDDに入るものとコードが完全同一かはわかりません。1024B/sectのメディアもあったので、この場合どうなっているのかはずっと気になっています。 ちなみにSONY製のブート不可能な5インチMOドライブの場合は、独自のパーティション管理方式(要デバイスドライバ)でした。1024B/sectのメディアも使用できました。
|
| 初代用の媒体が1種類だったのって1Kと512Bの何方? かかっくん 2025年6月30日(月) 21:56 |
PC-OD102の動作画面より aucview.aucfan.com/yahoo/j1145834553 auctions.afimg.jp/j1145834553/ya/image/j1145834553.7.jpg auctions.afimg.jp/j1145834553/ya/image/j1145834553.8.jpg auctions.afimg.jp/j1145834553/ya/image/j1145834553.9.jpg 純正媒体 aucview.aucfan.com/yahoo/n1057401374
調べて解ったのわ、3.3Cと同時期('89.8)に出たPC-OD101用の純正媒体わPC-OD101-01の1種類で、 1K/Sか512B/Sか不明ですた(調査不足) support.nec-lavie.jp/support/product/data/spec/out/o286-1.html support.nec-lavie.jp/support/product/data/spec/acb/89080001-1.html aucview.aucfan.com/yahoo/c1181903751 auctions.afimg.jp/c1181903751/ya/image/c1181903751.5.jpg
# '89夏に出たPC-OD101が旧ロゴでしたからロゴ変更わ同年秋のRA21/51,RS,RX21/51からでせう? # support.nec-lavie.jp/support/product/data/spec/cpu/b155-1.html
損Yの媒体わEDM-1DA0(1K)と1DA1(512B)のやうに当初から両方有馬した(其の後わEDM-1300,2600, 5200/4100,9100,128,230,640/540,G13,G23,etc と容量が判る型番。但し損Yわ230のRMO-S330系の 次にMDと同じ磁界変調のHSへ鞍替えした為3.5インチの640/540〜わ媒体のみ?) www.techmonitor.ai/technology/sonys_650mb_525_erasable_optical_drive_now_available www.gdst.co.kr/product/product_detail.html?number=536 www.sony.jp/rec-media/history/index03.html ascii.jp/elem/000/000/318/318711 4100(512B/S)と5200(2K/S)が同系列とか、9.1Gって4K/Sとか?
次('91.5)に出たPC-OD102わPC-OD101-01とPC-OD102-01の2種類をサポートして居枡 support.nec-lavie.jp/support/product/data/spec/out/o287-1.html aucview.aucfan.com/yahoo/n1057401374 PC-OD101でPC-OD102-01のサポートに就ての資料わ(略)
参考 support.nec-lavie.jp/support/product/data/spec/out/o295-1.html support.nec-lavie.jp/support/product/data/spec/out/o296-1.html support.nec-lavie.jp/support/product/data/spec/out/o297-1.html
あとUndoc2を讀み返して5インチMOでパラメータが設定されるのわ3.3C〜でなく3.3D〜である事に 気付きますた。すんません(↑を訂正済)
|
|
|