98システム解析スレッド2021年10月-2 まりも 2021年10月16日(土) 23:01 |
今月のパート1が長くなりいったん話題が途切れたので新規に立てておきます。 レガシーな98機種におけるD700セグメントの隠れRAMについてです。ここは既にリウさんのIPLwareで使われておりますが、他のIPLwareアプリがメモリウィンドウ制御をしたときに、D700の存在に特に配慮していないと、そのIPLwareアプリ実行後にD700セグメントは見えなくされてしまいます。ROMアプリでD700のRAMにデータを構築するようなものを作った場合でも、のちにIPLwareアプリでD700を隠されてしまう可能性があります。D700のところは起動の順序として先に使ったもの勝ちというわけには行かないのです(先手必敗)。そろそろ交通整理が必要かなと言う気がしています。ちなみに自作のIPLwareでメモリウィンドウ制御をしているものは、 E10PAT, SCSI_RAM, EXT2DDBT,あたりです。D700の存在に気がついた頃のバージョンからはD700の存在チェックをしてからメモリウィンドウ制御をしていますが、それ以前から置いてあるバージョンでは何も配慮していません。いっぽうIPLより早期に実行されるROMアプリ(EXIDE486など)では何も配慮していません。他に D700使用ROMアプリがあってその後に実行すると、D700が隠れてしまうはずです。 自分ではD700セグメントのRAMを使うつもりなど全くなくても、メモリウィンドウ制御をする場合は必ず配慮しないといけないので、何か申し合わせみたいなことが必要ではないかなと思っています。
|
注意事項など リウ 2021年10月16日(土) 23:10 |
壁ごえSCSIの誰も読まない説明書にも書きましたがHSBでも同じことをされます。CKRBIOS-オプションは必須です。一応、ソースコードにはそれっぼいことを書いています。後から自分勝手にメモリ窓操作を行うとおかしくなります、と。 Xe10ではIO53Dhの中身が見えるのですがAs初代では見えないことも確認済みです。手順が確立されたならそのように必ず修正します。
17日0:23追記 いろいろ独り言としてつぶやきもしていますが こんなところをIPLware段階でわざわざRAMにして使用しているのなら当然割り込み先がいる可能性が高いです。そんな場所にいきなり書き込みテストすると危険だと思われます。わーわー 2:00追記 D7に現に出ているものとRAM窓に出してきたものを比較して同じだったらチェックした時点で既にRAM化済み というのがいいと思いましたがどうでしょうか? 2:30追記パリティエラーの出る可能性を考慮できていなかったのでボツです。
|
メモリウィンドウ制御アプリ まりも 2021年10月16日(土) 23:22 |
まあ全てはメモリウィンドウの設定状態を記憶するところを用意しなかったミイソがいかんのですが、BX4/Xe10では読み出し可能にしたんですね。それ以前の機種では読めないので、手間がかかりますが実力行使でチェックに行かないとなりません。 基本的には、D700セグメントに何かデータがあるかを読み出して、その場合は後のメモリウィンドウ制御で内蔵SASIビットを立てるようにするという方法だけでいいはずです。内蔵サウンド機能のBIOS ROMの存在もそれでやります。サウンド機能のI/Oを調べたりDIPスイッチを調べたりを試みましたが結局直にメモリを読むのが確実でした。システム共通域の4B0をチェックすればより厳重ですが、作法に則らない野良ROMアプリも以前自作してしまったことがあるのでやはり実力行使で。 <0時追記>「何かある」のみのチェックだと、本当にSASIボードのROMが存在していたときに、無理矢理RAM化してしまってまずいですね。やはり多角的に調べないといけないかもしれません。SASIの搭載などあり得ない機種ならいいですが。FA-03「ディスク接続ユニット」とかいう物の存在はもう無視でいいですかね。オークションでも見たことすらありません。
既存のROMアプリにもD700チェックを入れるべきかなと思っており、今後改修に着手してゆきます。またわたしが今後作るIPLwareとROMアプリでは、D700セグメントのRAMは使わないけども存在配慮はするという方向で作ることにします。(という表明)
|
反転した物を書き込んでみて かかっくん 2021年10月17日(日) 3:46 |
SASI板の搭載などあり得ない機種って具体的にどんなのが有るでせう?LT/HAとかですかねぇ? 98のてに110p I/Fが無い機種って有りましたっけ? オンボードIDEが有ってもBIOSを無効にして27板を差せばSASIに成りますし
D7000h〜D7FFFhを讀んで同値を書き込んで同値ならRAMかROM、更に反転した物を書き込んでみて 書き込めたらRAM(元之を書き戻す)、変化しなかったらROM、反転した物を書き込んでも全部FFh だったら使用可で良さそうな?
取り敢えず無条件でVRAMに写してからFFhかチェックして反転して書き込む迄です
; 無条件でVRAMに写す DS(BP=D7):[SI]→ES(DX=A8):[DI] CLI MOV BX,0800 MOV DX,A800 MOV BP,D700
MOV DS,BP MOV ES,DX XOR SI,SI XOR DI,DI CLD MOV CX,BX REPZ MOVSW STI
; A8はFFhか? ES(DX=A8):[DI] == FF? CLI MOV ES,DX XOR DI,DI MOV AX,FFFF CLD MOV CX,BX REPZ SCASW JNZ exit ; FFhでない→ROMか既に使用中 STI
; 反転して書き込む DS(DX=A8):[DI] → 反転 → ES(A9):[DI] CLI MOV DS,DX MOV CX,DX INC CH MOV ES,CX XOR DI,DI CLD MOV CX,BX _loop1: MOV AX,DS:[DI] XOR AX,FFFF STOSW LOOP _loop1 STI NOP
; 同値を書き戻す DS(DX=A8):[SI]→ES(BP=D7):[DI] CLI MOV DS,DX MOV ES,BP XOR SI,SI XOR DI,DI CLD MOV CX,BX REPZ MOVSW STI
; D7はA8と同値か? DS(DX=A8):[SI]==ES(BP=D7):[DI]? CLI MOV DS,DX MOV ES,BP XOR SI,SI XOR DI,DI CLD MOV CX,BX REPZ CMPSW JNZ exit ; 同値でない→何か有る STI
; 反転した物を書き戻す DS(A9):[SI]→ES(BP=D7):[DI] CLI MOV CX,DX INC CH MOV DS,CX MOV ES,BP XOR SI,SI XOR DI,DI CLD MOV CX,BX REPZ MOVSW STI
; D7はFFhか? ES(BP=D7):[DI] == FF? CLI MOV ES,BP XOR DI,DI CLD MOV AX,FFFF MOV CX,BX REPZ SCASW JNZ next ; FFhでなければ反転したかをチェック STI
; 此の時点でCS:IPが此処ならD7はFFh →遣える HLT
next: ; D7は反転した(A9と同値)か? DS(A9):[SI]==ES(BP=D7):[DI]? CLI MOV CX,DX INC CH MOV DS,CX MOV ES,BP XOR SI,SI XOR DI,DI CLD MOV CX,BX REPZ CMPSW JNZ exit ; 反転でない→何か有る STI
; 此の時点でCS:IPが此処ならD7はRAM →用途を確認 ; A8を書き戻しておく CLI MOV DS,DX MOV ES,BP XOR SI,SI XOR DI,DI CLD MOV CX,0800 REPZ MOVSW STI HLT
exit: ; D7はROMの可能性大
|
書き込みテストでのRAMかどうかの試験 リウ 2021年10月17日(日) 5:17 |
SASIであると確定しているならともかくどのようなROMボードでもIPLwareでもD7を使えるという前提ではD7の中身を書き換えながらのテストは危険と思います。 パリティチェックを一時的に無効にしてメモリ窓を開いて値比較が無難かなとやはり思います。 これならD7以外も調べられるかと 私の浅はかな提案の可能性がありますので問題点は指摘願います。 たとえば試験中は割り込み無効にしておけば安全だろう、というのが思いつきました。
|
非PCI機=メモリウィンドウ搭載機でいいかも まりも 2021年10月17日(日) 10:44 |
そう、パリティエラー問題があるので、RAMのほうをいきなり読んだり、「どのアプリでもD700の裏RAMを無条件に表に出しときゃいいでしょ」というのが通用しないのですよね。存在チェックをまともにやると結構大掛かりで、ROMアプリだとこれに容量を食われるのが困ったところです。システム共通域や割り込みベクタによる判定法も、ROMアプリだとまだそこが確立していない段階でやることになるかもしれないので完璧ではない可能性があります。いっぽうIPLwareではそこは問題ありません。 メモリウィンドウ利用と環境調査のところのコードを標準化したものを作った方がいいですかね。パリティエラー通知禁止のハードウェア操作は、レガシー機種では全て同じでいいのかは気になっています。あとハイレゾではD700もサウンドBIOSのCC00も無いので調査不要でいいでしょう。確かサウンドBIOSのRAM化bitをハイレゾでいじると、IDE BIOSの分断が起こるんですよね。B4670通信ボードの有無の機能と被らせてあるようで。
|
特殊機種 リウ 2021年10月17日(日) 13:28 |
非PCI機ながらメモリ窓操作が標準でないものとしてREDWOODチップセット搭載機種があります。パリティチェック無効が機種毎に違うIOだとこれも困りますがなにか知られている機種はあるのでしょうか 18日追記 とりあえずの提案です。 1,Xe10のように53dhの読める機種はそれを優先。 2,PCI IOを使って知っている機種かどうか判別(PC-286が反応をしてしまうという話あり) 3,REDWODD IOを確認する。もう一つバンクメモリボードが存在している場合を忘れています。(持っていません。) 4,全部すり抜けたならレガシー機種であろう。 パリティチェックを無効にしてノーマルならメモリ窓をCで開ける。ハイレゾならEであける。 5,メモリ窓内で見えているRAMと各セグメントに現に出ているものとを比較、一致したならそこはRAM化済み判定。どうせならどこかシステム領域まで奪いますか? 6,後処理の部分でうまくやる
|
互換性の権化でもミスはあるのでしょうか リウ 2021年10月24日(日) 2:52 |
システムスレが落ちそうと思ったのでこちらに書き込みます。 FAT32対応時代のWindowsの720kフォーマットの対応がemulatorではあやしいという話をつぶやき続けていたのですが、実機Xt13で確認をやりました。 両用フロッピーのモードが640kまたは640k(自動)の状態でWindows98を720kフォーマットディスクから起動させようとするとフリーズします。またHDDからOSを起動後(コマンドプロンプトモード)に、2DDモードのドライブに読みにいってもフリーズします。その際内蔵ディスクアクセスランプが激しく光ります。しかしemulatorでは2台目のフロッピーディスクドライブから起動しようとするとフリーズしません。emulatorの対応があやしいのではなくOSのバグではないか?と疑いはじめました。 もし確認がとれる方がいらっしゃれば否定していただけると助かります。 自分だけではOSのバグと確信が持てません。
|
とりあえず720KB起動だけ試してみました。 KAZZEZ 2021年10月24日(日) 4:48 |
3.5インチ720KBのFDをWin98のコマンドプロンプトで強制フォーマットしてSYS転送したものを いくつかの機種で試しましたが、おっしゃる通り、 640KBまたは自動起動の設定の場合は2台目のFDDからであれば起動できるようです。 1台目のFDDではカーソル表示から先へ進みません(アクセスランプは消灯)。
1MBモードの自動設定であっても、FDD起動の場合は640KBモードになりますから同様でした。 当たり前ですが1MB固定モードでは1台目も2台目も問題なく起動します。
興味深いのはファイルベイに5インチFDを内蔵させたBfの場合でした。 FDD番号を外付け優先に変えた場合は3.5インチ側が2台目になるので起動できます。 しかも外付け扱いの5インチ側は640KB FDDモードでは認識できませんから 3.5インチ側が2台目にもかかわらず「A:」として起動できました。
FDDの640KB設定の無いRaII23の場合は1Mモード固定になっているらしく、 1台しかないFDDから普通に起動できました。
結局のところOSのバグというかFDD640KBモードの互換性を切り捨て、 1MB固定モードしか想定していないのでしょうね。 以前からWindowsではFDDを640KBモードにしていると何かと不具合のある印象でした。 インターフェースが1MB用でもソフトウェアで2DDが扱えるなら640KBモードのハードウェアが無駄ですから 新しい機種ではFDDの640KBモードの設定が無くなったのではないかと…。
|
/人'A`;人\ 2021年10月24日(日) 10:08 |
誰もエプソン機では試さないだろうと思うのでPC-386GS3(FDDは2モード,内蔵FDD3台設定のまま)で追試しました. ソフトディップスイッチ3-1 = 内蔵FDD自動認識モード/固定モード切替 ソフトディップスイッチ3-2 = 内蔵FDD 1MBモード/640KBモード切替 DOS7はWindows98SEのもの
(1) 内蔵FDD自動認識モード・内蔵FDD 1MBモード Windows98SE上で720KBフォーマット+システム転送 1台目 Windows98を起動しています... が表示される手前で■が永遠に点滅 2台目 起動
(2) (1)の追試.DOS6.2で format /u /9 後にDOS7でシステム転送.結果は変わらず.
(3) 内蔵FDD自動認識モード・内蔵FDD 640KBモード.結果は変わらず.
(4) 内蔵FDD固定モード・内蔵FDD 640KBモード.この設定でも1台目から1.25MBメディア(DOS6.2)は起動 1台目 アクセスランプさえ点かずスルー(内蔵HDDから起動) 2台目 起動
(5) 内蔵FDD固定モード・内蔵FDD 640KBモードで720KBメディア+DOS6.2.1・2台目とも起動.
(6) 内蔵FDD自動認識モード・内蔵FDD 1MBモードで640KBメディア+DOS7.1・2台目とも起動.
(7) 内蔵FDD固定モード・内蔵FDD 640KBモードで640KBメディア+DOS7.1・2台目とも起動.
直接の追試は 条件(4) ですが,他の一部の条件でもエプソン機だからか挙動が少し違うようで.のっぺらボード+外付けFDDでもテストしようかと思いましたが面倒臭くなり脱落(撲殺
|
DOS7.1 2DD/9(720KB) ブート チューリップ 2021年10月24日(日) 12:28 |
tiwitter見てまさかと思って、 エミュレータ(NP2系)でMS-DOS7.0で確認してみると、1台目FDDで2DD/9(720KB)ブートできました。 更に検証 MS-DOS7.1のIPL + MS-DOS7.0のIO.SYS ブート可 MS-DOS7.0のIPL + MS-DOS7.1のIO.SYS ブート不可 ということで、原因はIPLでは無くてIO.SYSにあるのは間違いないようです。
ついでにMS-DOS7.0で2D/8(320KB)と2D/9(360KB)を試してみた ら1台目FDDでブート出来ました。 MS-DOS7.0とMS-DOS7.1でこんな違いがあるとは正直驚きです。
あとは表現が難しいですが、1台目FDD起動のときだけ特別なフラグが あるというよりは、1台目FDDから起動しましたというフラグが立っている と発生してしまうという感じです。 (Anex86だと1台目FDDから2DD/9(720KB)でMS-DOS7.1がブートしますが、 freedos(98)を2台目FDDからブートしようとするとCOMMAND.COMを 見つけられない問題が発生します。これはAnex86がそのへんの処理の 実装が無いもしくは実機とは異なっているということです。)
追記 SL9821では1台目FDDから2DD/9(720KB)でMS-DOS7.1がブート可能かつ、 freedos(98)を2台目FDDからブート可能のようです。
|
ありがとうございます リウ 2021年10月24日(日) 13:04 |
この条件以外では問題なさそうに見えたので特定して示したのですが、追試まで ありがとうございます。 IO.SYSがFAT32対応されたと同時にハイレゾの対応が公式に切られていますが、こっそり640Kインターフェース周りでバグを踏んだと決めつけました。 もちろん1MBモードで動かす普通の人には関わりありませんし、非公式の9セクタ2DDですから互換性を切った、とも見えたのですが二台目は通常に起動だけはするのでバグと指摘することにします。 重ねて調査してくださった皆様、ありがとうございます。
|
7.1は互換切りが多い? KAZZEZ 2021年10月24日(日) 13:53 |
> こんなに違いが 個人的には7.0と7.1ではかなり違う印象です。 ハイレゾ時にテキストが表示されなくなったのもそうですが、 # もともと公式には95はハイレゾモード非対応なのでDOS7もサポート外の経過措置で対応していたのかと思います。 V30起動時に停止する際の「このバージョンのWindowsには386以上の…」云々の警告もなくなってブラックアウトです。 えらく互換性切られたもんだと当時思いました。
|
DEBUG386を遣うと解る? かかっくん 2021年10月24日(日) 20:49 |
Vectorに仮想86モードとして動作するデバッガDEBUG386が有ります www.vector.co.jp/soft/dos/prog/se014783.html 此れを遣えば起動時の挙動がIPL時点から解る気がしますがどうでせう?OMAKEモード(?)でFDを作ってお試し下さい
窓9xのDOS7.xも動作モード自体はリアルモードだった気がするので動作しそうな? 2DD起動についてはキチンと640Kモードの有る機種と末期のおざなりな機種の両方で試した方が良さそう?です
> もちろん1MBモードで動かす普通の人には関わりありませんし、非公式の9セクタ2DDですから互換性を切った、とも見えたのですが二台目は通常に起動だけはするのでバグと指摘することにします。
非公式の9セクタ2DDとの事ですが、みいそDOS(確か2.11)の商品(PS98-12X-H4W、恐らく-HUも)で 使用して居ましたのでみいそ的には非公式ではなさそうな?FORMATのメニューにも出ますし # READMEにバックアップの際にはFORMAT x: /9にするやうに有る # 窓9xの起動FDとしての2DDは確かに非公式そうですが ところで2DD/8(640K)でフォーマットするとちゃんと起動しますか?
|
チューリップ 2021年10月25日(月) 0:32 |
MS-DOS7.0(Windows95 OSR1?) IO.SYS 225,674バイト MS-DOS7.1(Windows95 OSR2) IO.SYS 209,880バイト
なんということでしょう。MS-DOS7.1のIO.SYSの方がファイルサイズが 小さい。これはハイレゾのコード削られてますね...
ちなみにMS-DOS7.0の2D/8(360KB)ブートディスクを作ると、限界の空き容量
|
当初よりemulatorで確認されていた事象ですので、裏から覗いています。FDCBIOS側のバグだと思っていたので、IO.SYSの方をしっかり見たわけではありませんが怪しい部分があったことはありました。その条件ジャンプの部分を削ると(もしくは起動中だときちんとすり抜けた後に)DA/UA=80hのものにアクセスしに行くように思えます。そのためアクセスランプが異常に光ったのかと。
>ところで2DD/8(640K)でフォーマットするとちゃんと起動しますか? 2DD/8(640kB)のものだと起動できることは/人'A`;人\さんにも追加検証6、7でやってもらっています。
>非公式の9セクタ2DD なんででしょう、非公式と思い込んでいました。BASICでは使えないせいでしょうか。
|
KAZZEZ 2021年10月25日(月) 1:45 |
> これはハイレゾのコードが削られていますね... 約15KBも差がありましたか…。 普通の標準コンソール出力だけのプログラムであれば システム共通域のフラグ見てT-VRAMのセグメントを変えるくらいで割と手軽にハイレゾに対応できるのですが…。 考えてみればIO.SYSですから、メモリマップの違いに合わせて 結構いろんなところを変える必要があったんでしょうかね。
|
追加したコードで停まるのかも かかっくん 2021年10月25日(月) 5:18 |
> V30起動時に停止する際の「このバージョンのWindowsには386以上の…」云々の警告もなくなってブラックアウトです。
此れをNP2で試してみると、FDDランプが1回点滅で停まるので、可也初期の段階で停まると思われます。 950/95A/えぷ窓95で試すと其れ也に讀んでから『このバージョンの(後略)』が出ます IPL(抑々両方共32bitコードは無し)を互いに挿げ替えても同じですからIO.SYSでの処理と云う事ですな 文字列自体は窓95BのIO.SYSにも有りますから、追加されたコードに32bit命令が有って文字表示のルーチン迄 辿り着けないとか?
> なんででしょう、非公式と思い込んでいました。BASICでは使えないせいでしょうか。
BASICの2DDは256x16セクタですから8でも9でもないですね # 88のBASICのFD(ゲーム等が多い)に容量を稼ぐ為一部を512x9フォーマットした物とか有ります # backup.j88が遣えなく成って一石二鳥 # 本格的にやるなら1024x5ですが。全体を1024x5にすればヘンな事を考えなくても2D/1DDで400K、 # 2DDで800Kに成ります # 苹果フォーマット(GCR)とは違うので念の為
|
「このバージョンのWindowsには386以上の…」云々とか チューリップ 2021年10月25日(月) 10:01 |
たしかPC-98の場合はたしかBIOSのワークエリア見て判定していますよね。 PC-98 MS-DOS7.1でこの文字列が拝めるのは、80286(若しくはV30)搭載機に CPUアクセラレータ等搭載して32bit CPUを載せた場合しか出ないということに なりそうですね。 なんというか...
追記 ワークエリア偽装すれば拝めますね。
ここからHDDの話題。 32bit WindowsでSCSIが使えるエミュがほぼ無い。(全く無い分けではないけど)。ので1024B/Sとか確かめようと思っても腰が重い... とりあえずエミュレーターのIDEもどきエミュレーション(実機IDE BIOSでは 当然無理)で試してみると、みいそDOSとWindows9x(CUI、GUI両方)は 1024B/S行けました。えぷDOSはなぜかv5.0では読めますが、それ以外では読めない。WindowsNT系はIDEもどきはHDDは常に512B/Sとして扱う感じでした。 2048B/SはMS-DOS系はブッラックアウトで起動不可。 freedos(98)は2048B/S読めるので、MO 640MBの起動は行けるかも知れません。ちなみに4096B/Sも読めるようですが少し危険な香りが
(またFDDの話題) PC-98DO(+)のフロッピーって一体どうなっているのか気になった。 88モードはインテリジェント方式で作動で、98モードはDMA方式で作動なのかな?
|
光ディスクを認識させてみたら くりすと 2021年10月26日(火) 13:14 |
スレ的に汎用ちがうだろってことで
04の追記型で定義したらと言いましたが、84hにしないと認識できませんでした。
常時4ドライブ割り当てられた挙げ句区画が1つだったりすると残りのドライブレターで準備できていない的なエラーを出します。1装置あたりのアクティブ数は4と変わらないので接続すれば強制的に4ドライブ分消費させられるんですね。
で、普通に1024B/Sは認識しますが、セクタ長の表示はありませんでした。まあ固定だから当然といえばそうなんですが…。感覚的にはFDの1.2MBフォーマットみたいな感じでしょうか。
|
5インチMO対応はDOS 5からの仕様? まりも 2021年10月26日(火) 17:47 |
>常時4ドライブ割り当てられた 98エミュレータを使っている場合の画面でなんで4ドライブあるのだろうと思っていましたが、そういうものだったのですか。しかもH:S =1:64という。わたしが試した時はMS-DOS 3.30B頃でしたが、ドライブが4個も割り当てられたかどうかは覚えていません。
わたしが当時見たものは、デバイスドライバとSCSIインタフェイス込みのサブシステムとして売られていた5インチMOですが、DOS 3.3が対応していないのでそのような製品が存在していたのでしょうかね。そのデバドラでは5個のパーティションにわけていました。64MBのパーティションが4個と残りです。DOS 3.では128MBまでのパーティションは認められていたはずですが、デバドラの設計上、DOS論理セクタ2KBを避けて、無難に使える64MB止まりとしたのでしょう。ちなみにそのSCSIサブシステムはDMAも割り込みも使用していませんでした。なのでMOが遅いのはしょうがないとして、MOのイメージコピーを置く専用のHDDもめちゃくちゃ遅かったです。SCSIインタフェイスボード上のコントローラは富士通の石でした。
|
遅い板はSPC? かかっくん 2021年10月26日(火) 23:50 |
NP21/WはNP2同様、SCSIでマウントできるのが.HDDとRaSCSIだけなんですよねぇ HDIやNHDはSASI/IDEでしかマウントできないやうです
> 98エミュレータを使っている場合の画面でなんで4ドライブあるのだろうと思っていましたが、そういうものだったのですか。しかもH:S =1:64という。わたしが試した時はMS-DOS 3.30B頃でしたが、ドライブが4個も割り当てられたかどうかは覚えていません。 > わたしが当時見たものは、デバイスドライバとSCSIインタフェイス込みのサブシステムとして売られていた5インチMOですが、DOS 3.3が対応していないのでそのような製品が存在していたのでしょうかね。そのデバドラでは5個のパーティションにわけていました。64MBのパーティションが4個と残りです。DOS 3.では128MBまでのパーティションは認められていたはずですが、デバドラの設計上、DOS論理セクタ2KBを避けて、無難に使える64MB止まりとしたのでしょう。ちなみにそのSCSIサブシステムはDMAも割り込みも使用していませんでした。なのでMOが遅いのはしょうがないとして、MOのイメージコピーを置く専用のHDDもめちゃくちゃ遅かったです。SCSIインタフェイスボード上のコントローラは富士通の石でした。
MOに公式に対応して居ない3.3Bだと3.3C以降とは挙動が違うかも? DRVの仕様が不明ですが、あらゆる(?)構成に対応できるやうに5領域として認識するのでせう 128x2+残りだと3領域分だけが有効に成るとか?
不治痛の石は多分8Gで壁ではなく行き止まりなMB89352(SPC)と思われます 8Gより先は此の石を遣う意味が殆ど無く成るやうな大掛かりな工事が必要です
で、メモリSWで3.5インチMOを起動装置に設定する事はできなさそうです。5インチMOとは扱いが違う以上 『光ディスク』の設定にするのではなさそうです。
ところで今迄疑問に思って居ませんでしたが、窓9x/NTプリインストール機でのメモリSWの設定てどうするのでせう? SWITCH.EXEって入って居ましたっけ? 窓機として遣う分には必要な設定は無かったとも云えますが。 ソフトDIPをクリアするとメモリSWもクリアされると共にSW2-5はOFF(メモリSWを初期化)に成りますし
|
チューリップ 2021年10月27日(水) 1:54 |
>NP21/WはNP2同様、SCSIでマウントできるのが.HDDとRaSCSIだけなんですよねぇ >HDIやNHDはSASI/IDEでしかマウントできないやうです
NVL.DLLを入れればSCSIでいろいろマウントできるようになります。 逆にIDEで.HDDのマウントもできる
|
Re:メモリSWの設定 KAZZEZ 2021年10月27日(水) 3:03 |
> 窓9x/NTプリインストール機でのメモリSWの設定てどうするのでせう? > SWITCH.EXEって入って居ましたっけ? 少なくとも9xにSWITCH.EXEは標準で入っていたと思います。 またコントロールパネルに98環境とかいう名前でメモリスイッチ設定ユーティリティがあったと思いますが、 文字の色(白/緑)とRS-232Cくらいしか設定が無かったように思います。
…NTプリインストール機はリカバリしたことが無いので存じませんが、 とりあえずRa20のバックアップCD(OSを除く)の中身はアプリと旧OSや95のサポートくらいで、それらしいツールは見当たりませんでした。 付属FDもリカバリ起動FDとPCIセットアップくらいだったと思いますので、 OSが標準で設定ツールを持っていなければ、メモリSW初期化で使えってことしょうかね??
|
マウントはできたとしても くりすと 2021年10月27日(水) 3:15 |
あくまでHDDイメージですよね?
少し話戻して radioc.web.fc2.com/column/pcad/ad/sonynews.htm を見ると、NWP-539用にはPC-9801シリーズ用MOインターフェースキット(NWA-032)ってのがあったようです。(当時のNEWS関連の価格見てると桁違いですね^^) 詳しくどのようなことができるのかは分からず終いでした。私のググる力ではこの程度が限界でした。
追記 5"MOって不遇ですね。OS/2 Warp 4, Win98SE, NT4, 2k 全滅でした。 Win98SEはシステム共通域のジオメトリは5"MOのものに書き換えられていましたがFDISKから装置そのものが対象外でした。 OS/2 Warp 4もFDISKからは対象外でした。 NT系はWormデバイスのドライバが無くて認識できませんでした。(2kだと「!」表示)
|
EPSON版Windows95 チューリップ 2021年10月27日(水) 4:52 |
EPSON版Windows95にはSWITCH.EXEは入っていません。 あたり前ですが。EPSON版MS-DOSは起動時にShiftキーを押すことで メモリスイッチ設定画面に行ける仕様です。 ↑追記:MS-DOS環境設定メニューでした。 しかしWindows95(MS-DOS7.0)にはこの機能が入っていないので、 PRECOPY1.CABにEPSON版MS-DOS5.0がまるまる入っています。 恐らくindows95の起動メニューで 7. 以前のバージョンの MS-DOS を選択するとEPSON版MS-DOSが起動するといった方式を取っているのでは ないかと思われます。このときMS-DOS4.0以前の場合はMS-DOS5.0に 置き換えてくれるのではないかと推測しております。
ちなみ1.44Mブート対応版のMS-DOS 5.0 Rel.2.0x版っぽいです。 Rel 2.0とRel 2.05の判別方法が分からない...
Rel 2.0が1.44Mブート不可で、Rel 2.05がブート可能? みいそ版DOS5.0A(-H)みたいな差異があるようです。
|
NECITSU現れるが活かせず まりも 2021年10月27日(水) 6:39 |
MOドライブ富士通M2513A6の続きです。ドライブ単体でのDIPスイッチ設定ではVenderIDが変わりませんでしたが、アイオーデータのMO製品MOF-640の「ガワ」に入れて、外側のホイールスイッチの方でPC98モードを選択すると、VenderIDとしてNECITSUを返してきました。ただこれではDirect Acccess装置にはならずOptical Diskです。ドライブ上のDIPスイッチは無効になるので、よくわかりませんが取説にもない設定値を探してNECITSUとDirect Access装置の両立するところを探すことになるんですかね。 なお他にもアイオーのMO製品がありますが、後のモデル例えばMOF-S640とかH640では98モードというのは無くなり、マックか非マック(AT,98)の選択だけになります。
>MOインターフェースキット(NWA-032) この型番で検索するとドルこむの過去ログデータがヒットし、質問が投げかけられていましたが、回答無しのようでした。わたしが見たのはSONY純正品ではなくてほぼただのSPCボードでした。ミイソニーの製品ならもっとまともなボードだったかもしれませんね。NEWSワークステーション用以外で単体のドライブでも売られていたのですが、その型番SMO-S501で検索してみたらこんなのがありました。いやはや、あるもんですねぇ。 ttps://solidstatedisks-co-uk.translate.goog/products/floppy-scsi-ssd-drives/removable-drive-emulations/cf2scsi-scsiflash-sony-magneto-optic-emulator-to-cf-detail?_x_tr_sl=en&_x_tr_tl=ja&_x_tr_hl=ja&_x_tr_pto=nui,sc
|
其れは本体の機能 かかっくん 2021年10月27日(水) 11:04 |
> あたり前ですが。EPSON版MS-DOSは起動時にShiftキーを押すことで > メモリスイッチ設定画面に行ける仕様です。
メモリSW設定画面を出せるのはえぷDOSではなくえぷ機本体の機能ですね リセット時にHELPキーかCTRL+GRPHを推します
DOS起動時にSHIFTを推すと出る画面は↓(6.2の画面)です。DOS4より後に出たDOS3, 5, 6に有ります
|
|
実は無くても動く。(汗 KAZZEZ 2021年10月27日(水) 22:57 |
自己レスですが、 > FDD番号を外付け優先に変えた場合は3.5インチ側が2台目になるので起動できます。 > しかも外付け扱いの5インチ側は640KB FDDモードでは認識できませんから > 3.5インチ側が2台目にもかかわらず「A:」として起動できました。 …について、 BX3で試した限り、外付けドライブは(I/Fすら)必要なかったみたいです。 内蔵FDDしかない場合でも単純に内蔵#3#4・外付け#1#2の設定にしておけば 内蔵1台目で640KBモードの720KB起動が可能でした。
なお外付けFDD-I/Fを外したBX3で内蔵#1#2・外付け#3#4の設定に戻したところ、 640KBモードで720KB起動しようとしたときにフリーズではなくリセットが起きました。 EPSONチェックのごとく、放っておけば延々とリセットの繰り返し…。 環境によって症状にもばらつきがあるようですので、確かにバグっぽい挙動です。
|
2DD/9 チューリップ 2021年10月28日(木) 23:07 |
謎が謎を呼ぶ。 エミュNP2系でも外付け優先機能があったので駄目元でやってみましたが、 駄目でした。というかNP2系の内蔵優先にしても外付け優先にしても、この設定はスルーされる雰囲気でした。
|
SC-UPCIでの640MBのMOブート まりも 2021年10月28日(木) 23:54 |
というのが可能だという説が出ていましたが、結論からするとそんな機能は無いと断言できそうです。ワケあって SC-UPCIのBIOSバージョンは1.60止まりにしていますが、640MBのMOをブートできる特殊機能などありませんし、実際できません。さらにアイオーのMOユーティリティ MOUTL(Version 1.34)でフォーマットの項目を出してみると、「640MB/1.3GBのディスクはシステム転送を行えません」と出ます。少なくとも公式的には640MBのMOをブートできる仕組みはありません。
ところでアイオーのデバイスドライバでは、物理セクタ2048BのメディアでもDOSの論理セクタをみかけ512Bに偽装する機能があります。それと同じ物をわざわざBIOSにも組み込むことはしていないだろうというのも状況証拠になるでしょう。さらにダメ押しで、SCSIユーティリティで640MBメディアをブート可能な「はず」の手作業論理フォーマットしたものを作ってMOUTLで読ませましたが、論理フォーマット「不明」と出ます。アイオーデータも知らないモノなわけですからブートできるわけがないでしょう。「MSDOS.SYSの読み込みでエラー」までは行けますが、それはSC-UPCI以外のSCSIアダプタでも同じです。
話変わって自分用ToDoメモ(週末になんとかします) ・EXIDECB(PCI機用)でDIP SW2-2をCF設定に使っていたけどBASIC廃止機では不可能だった(殴 ・EXIDEAeでBIOSワークエリアをD800:2100hに取っていた(256B/sのとき破壊される) ・Conv98ATでFSIDが91hのDOS 3.3用FAT16の変換に対応したつもりがしていなかった(汗
ROM BASIC廃止機≒IDE上限8063MB以上の機種 なので、CFは4.3GB(8GB)以上32GB未満のを使ってくださいで済むといえば済むのですが、さてどうしましょう・・・どのみちパッチ当てているわけだから256B/s時のセクタバッファのアドレスの方を強引に変更する手もありそうな。
|
KAZZEZ 2021年10月29日(金) 1:10 |
> SC-UCPI うーん、だめでしたか。自分で確かめられず申し訳ありません…。 ttp://weblabo.griffonworks.net/dorlog/2nddorcom/pc-98/47855.html ↑このへんではIDを0にすると起動できるとあるのですが、 もしかしてCF等と同じリムーバブル認識か何かの話だったのでしょうかね。 あるいはPDと間違えたか…?
|
何が何だか まりも 2021年10月29日(金) 7:01 |
$の当該ログを読むと、「MS-DOSが起動(完了)した」とはどこにも書かれていないです。確かにIO.SYSは起動するわけで、そのことを指して「起動できた」と言っているのかもしれませんが。よく読むと「リカバリ用98SEが起動」とあります。DOS 7.10だと何かが違う?確かめるならそこですね。しかしWin98SEのリカバリ用って実体は何なのですかね。もしかしてCD-ROMなんじゃ?SC-UPCIは、ミイソ純正品と並んで、CD-ROMがブート「しようとする」までは可能なSCSIアダプタであることは確かなので。
<13時追記> ミイソの5インチMOシステム本来の使い方を知らなかったのですが、 ttp://weblabo.griffonworks.net/dorlog/2nddorcom/98mobile/3645.html このような使い方だったのですね。パーティションに切られるけども、一杯になると自動的に後続のパーティションに書かれるって、凄過ぎる仕様ではないですか。MS-DOS 3.3Cの時代ではやむを得なかったとは言えですね。強制的に4ドライブ現れるのは必要があってのことのようです。この仕様はMS-DOS 5になっても互換性維持で引き継がれたのでしょうかね。これは仕様がわからなければフォーマットできませんから純正format.exeにやってもらうしかありません。 DOS5時代からは、メディアを新規に使うならIBMフォーマット(当時の呼称,スーパーフロッピー形式)でパーティション無しの方が使い勝手は良かったはずです。SCSIデバイスのクラスを光ディスクでなくほぼ完全にHD相当に設定できる装置なら98形式フォーマットにもできるわけですが、SONY製のならともかく、PC-OD101、102あたりではそれはできないような感じです。 ところでタイムリーなことにPC-OD102が出品されてます。ドでかい。 ttps://page.auctions.yahoo.co.jp/jp/auction/k490441552 わたしが興味あるのはMOではなくて物理セクタ1024B/sなHDDの方なので、突撃したりはしません。
|
HDFORMAT.EXE 4.50を くりすと 2021年10月30日(土) 19:15 |
解析してみましたが1024バイトは絵に描いた餅としか考えられませんでした。
HDFORMAT.EXE 4.50(固定ディスク メニュー2.70を登録する版)の文字列表示処理を追っかけてみました。 256バイトと512バイトについては文字列のポインタ(のポインタ)が存在しました。ですが1024バイトについては存在しませんでした。
また直接文字列のポインタを指定して表示する処理は多数あるのですが直接1024バイトのポインタを参照する処理は同様に見つけられませんでした。(256,512も直接はない)
ヘタレの解析結果 DATA_SEG:3C94h から文字列のポインタになっており WORD PTR [86hx2] = 2DD7 が '1024 バイト', 0 WORD PTR [87hx2] = 2DE9 が '256 バイト', 0 WORD PTR [88hx2] = 2DF9 が '512 バイト', 0 になっています。
バイナリエディタで検索しても 86 00 が見つからず 87 00 と 88 00は(並んで)ありました。(DATA_SEG:24Ah〜にあり)
直接の場合はほとんど MOV AX, テーブルの即値 ← ここが SUB AX,AXの場合もあり(大差ないですが) PUSH AX CALL 文字列表示 となっていますが即値で86hを指定している箇所がみつけられませんでした。
文字列表示する添字をパラメータで処理している箇所も数カ所見受けられるのですが、そこだけピンポイントでとも考えづらいのでスルーしています。
もっと詳しく分かる方、より深く調べて見てください (^^
|
ヒントをいただけたので リウ 2021年10月30日(土) 21:54 |
HDFOMRMAT6.30で同様に解析しました。 0x5AFのbitが立っていれば512固定です。立っていなければ256か512かの選択肢が出ます。ここまでは報告済みでしたが、逆アセンブルしました。 選択肢の数が2個に設定されていながら3番目を選ぶと1024になるという判定になっていました。選択肢の数を3個に増やし、3番目(1024バイトとは表示されません)を選ぶと無事にInt1BのAH=0aがBX=400hで飛んできました。 残念ながら事実上の無効設定でした。
|
セクタ長1024バイト固定(もういい まりも 2021年10月31日(日) 11:00 |
御二方とも解析ご苦労様でした。98形式フォーマットについては、セクタ長可変のHDDを1024B/sで使うことはミイソは断念したという結論でよさそうですね。もちろん固定セクタ長の1024バイトのHDDというのはhdformatが対応している可能性は残されますが、そもそもモノがありません(おそらく唯一のそれが5インチMOをDirectAccessデバイスで扱った場合)。SCSIエミュレータで作り上げない限り事実上無いものとして構わないでしょう。 これでフォーマッタの類は1024B/sにも対応しなきゃーという呪縛(笑)から逃れることができてホッとしました。 <13時40分追記>あとはMS-DOS 3.3Bまでのformat.exeがどうかですが、DOS 3.3Dや5.0で1024B/sには対応しなくなったというアナウンスを聞いたこともありません。最初から作りかけのものしかなかったと思ってよさそうですね。
|
リウさんの解析を見て くりすと 2021年10月31日(日) 13:17 |
HDFORMAT.EXE 1996-04-01 06:20:00 左が前で右がパッチ後 000025D1: 02 03 000025D5: 5A C0 000025D6: 02 8D 000178C0: 00 88 000178C2: 00 87 000178C4: 00 86
パッチ当てると動作して領域確保(作ったのは255,127,63,31MB)もできますが、まともにFAT16でフォーマットできておらず、システム転送まで完了するも起動できずじまいでした。
次にWin98のFORMATでFORMATし直すことができましたが128MB以上の領域はFATが保存できないエラーで終了(2枚目の画像)。その後DOS6のCHKDSK /Fでエラーを取ってSYSコマンドでシステム転送してようやく起動できました。
その後 OS/2 NT4 2kをそれぞれ起動していずれも領域も見えない状態を確認(FAT 255,127,63,31MB,HFPS 127MB 3枚目の画像)。とりあえずOS/2のFDISKで領域確保すると、その状態で上書きされFDISK上では認識しましたが、ドライブとしては認識できず。さらにその状態でWin98のFORMATでFORMATし直すとFAT16は全て問題なく認識。DOS6のSYSコマンドでシステム転送するとDOS6が起動しました。
その状態でOS/2で見るとやっぱり1024B/Sの装置はドライブとして認識せず。そのためHPFSでのフォーマットはできない状況でした。
その後2kとNT4を起動するとそれぞれ普通に認識を確認。ただし2kはひとつの装置で3つドライブレターが割り当てられていました(5つ領域あるので15ドライブが増えてました。結果的にはNT4が一番まともかも)。
# 何で1024バイトは1行下がるんですかね。 # 確かに1024B/Sの対応は不要と思います。興味本位の動作確認ですので…。 # 3枚目追加しました。厳密に言うと1024B/SのHDDをいきなり2kかNT4で初期化すると使い物になるのですが、そもそもそんな骨董品(HDD)をNT系のOSで初期状態から初期化して使うことは多分無いと思います。NTのインストーラで起動するフォーマッタではどうなのかまではさすがに調べてません。(^^ # 度々修正してすみません。
|
|
V30機におけるIFC-NNの件。 KAZZEZ 2021年10月31日(日) 21:50 |
3週間くらい前に、IFC-NN(1.11)がVM21の10MHzモードだとFDDを認識しなくなるという不具合を報告しました。 V30/10MHzだとだめなのかと思って、同じような環境であるUV11でも試してみました。
…が、今度はSCSIボード自体を認識していません。 ベクターのSCSI.COMで見るとDIP-SW設定だけは読めるのですが、 接続されているデバイスを見ようとするとI/F not foundですから、 SCSIチップのI/Oは出現していても、SCSI-BIOSが出現していないということでしょうね。
というか、読み出したDIP-SW設定が286以上の設定になっています。 既述の通り、たしかIFC-NNのBIOS設定ではV30用の設定は無かったと思いますので、 もともとV30機には対応していないものと思われます。
VM21はたまたまVX0/2/4と同じハードウェア(マザーボード)を流用しているために、 # Cバスバックボードにも(一番上のスロットを除き)24ビットアドレスに切り替えるスイッチがあります。 たまたまSCSIボードが286以降用の設定でも動いたということではないかと思えます。 MDC-925Lの動作環境自動解析でもVM21に対してはハイレゾ兼用機という間違った判断をしていましたから、 恐らくVM21という環境が特殊だったんではないかと思います。
|
|
|