純正55ボードのMax
まりも 2021年4月3日(土)
1:48 |
修正 |
扱える最大の容量が400MBくらいという説を見たことがありますが、MODE
SENSEで返すNEC製ドライブの一つがたまたま8:25だっただけではないでしょうかね。緑電子のMDC-551パラメータというのはそれを固定で引きずったものではないでしょうか。純正
55ボードでNECベンダチェックだけを外して大概のIDE-SCSI変換器を介した場合には、16:63の12bitシリンダで2015MBが上限になるような気がします。残念ながら動く55ボードがもうないので試しようがありません。なおNECチェック外しは、55ボードの
ROMをどうにかせずとも、SBPATCHというツールで試すことができます。 https://www.vector.co.jp/soft/dos/hardware/se009720.html
|
55板の上限は旧'NEC'の最大容量のHDD? かかっくん
2021年4月3日(土) 7:09 |
修正 |
PC-9801-27板とBIOSを改造してDA/UAを82h/83hに、アドレスをD000にするとIDEが1台か2台の機種で SASIと併用できませんかねぇ?
で、55板の上限ですが、建前上は
VIDが(モノホンの)旧'NEC'で最大容量のHDD
の気がします。600M位のは有りましたね(5インチFHだとPC-HD300位のサイズ(デカい板が無い分PC-98H** よりは小さい)に成ります)。もっと大きいのは... 偽装でない旧'NEC'のHDDなら直接CHS値が取れますし直接CHSで遣えますからBIOSでは積算も除算もして 居ない筈ですし
因みに旧'NEC'な理由は、一旦55板と互換性の無い'nEC'(他社からのOEM)に成ってから再び'NEC'に戻したから です。戻した後の新'NEC'では駄目です 此処の皆さんはご存知ですね、釈迦に説法
55板は誤認識しますが92板なら見抜けますかねぇ?>新'NEC' |
番長には恐くて聞けない
まりも 2021年4月3日(土)
14:00 |
修正 |
変換番長PROなどはそのあたりどういう実装なのでしょうか。 |
変換番長の実装は全然違う方式
かかっくん 2021年4月3日(土)
17:51 |
修正 |
変換番長の実装は、CF其の儘を直接変換するのではなく、CF内のイメージファイルをSASI/SCSIデバイスとして バスに渡すと云う間接方式に成って居ます。其の為CHSやサイズはイメージファイルで指定できます。 CFのCHSはホスト側とは無関係で、一般の変換とは方式自体が異なります #
高価いだけの事はある classicpc.org/変換番長pro-v-3-2-2-6/
M.P.S辺りから27板互換の籠とか出ませんかねぇ? あと縦板で、SCSIでなくSASIの板も作れそうな?FX/FS/FA/A-MATEにSASI
BIOSは...有りませんよねぇ で、縦バスってPIO/本体DMAができるだけの信号は有りますよねぇ?(SCSIが2方式に対応する事から) 其れならIDEボードを縦板でも作れそうですね。B/MやSMITもできればもっと良いですが。B/Mは足りない信号を Cバスから引くとか コネクタの入手性が問題ですが、ゴミ認定の縦板を仕入れて... |
ATAPI-CDブートへの道
リウ 2021年4月4日(日)
1:45 |
修正 |
IDEのLBA化BIOSをさらに進化させて 一応BSDメニュー改からのATAPI-CDブートまでは確かめました。 https://drive.google.com/file/d/1wcmycdaP3vU2o93oAZlvsdbUL5lT5SIJ/view?usp=sharing
動作条件? 先頭512byteにIPL1と55AAを含むセクタがあるとSCSIではMOと勘違いしてロードしてしまう?2048byteの最後も55AAが必要? そのセクタに色々させることができる。 LBAアドレスを2048Byte/セクタできちんと処理できる環境でならばInt1Bで間違いは起きない。
SCSIではない場所から起動する場合は先頭512byteをBSDメニュー改からロードさせる。(無条件でロードできます。危ない?) そして2048Byte/SでのLBA変換式をきちんと処理できるようにBIOSを書く必要がありそうです。
FreeBSD8.4までの公式FTPに置かれているISOイメージのCDBOOT.SはCHS側でBIOSを呼んでしまうのでCHStoLBAの正式な変換式も必要です。(SCSI-CDでは5:80が適用?)
もしくは512Byte/SにemulateするようなBIOSもありかもしれません。 とりあえず今回は2048Byte/Sのまま扱う方を選びました。
6日0:38追記 Nw133で(dword転送できる機種で)バグっていたことを確認しました。 Bsに対応させた時点で壊れていたようです。 またご指摘いただいたPCI-PAMの後処理を付け足しておきました。 |
CFネイティブ宣言 まりも 2021年4月4日(日) 18:43 |
修正 |
EXIDEでも CFの場合のみnative
H:S(おおかた16:63)にするというのを入れて様子を見ておりました。4.3GB以下のときに、それを強制するか、もともとの8:17のままとするか悩んでいました。IDE_BIOS_LBA_patchでは強制するということになったので、それに合わせたいと思います。
また、IDE_BIOS_LBA_patch
はわたしの旧作IPLware
のEXIDE32Gを完全に代替し拡張できるものです。今後は乗り換えを周知していきたいと思います。さらにはROM版のEXIDExxも不要にできますよね。これは機種(グループ)ごとに微妙に違うIDE
BIOSに対応することになり、開発が大変でした。IDE_BIOS_LBA_patchで任意パラメータにできれば、IPLware起動前の段階ではIDE
ディスクがどのように設定されていても構わないわけです。したがって容量壁ハングアップを回避するROMアプリケーションとしては、ちょっと前に公開した「0除算エラー回避BIOS」(div0rom)のみで全機種どんな容量でも任意のパラメータで行けることになります。div0romとのコラボでIDE_BIOS_LBA_patchを盛り上げたいところです。
<22時半追記> LBA_IDE2を早速試していますが、PCI機430HXなどではF0000のROM域が書き込み可能化されてL2キャッシュも切られるようですね。これは用が済んでいれば元に戻した方がいいような気がします。 |
参考文献 かかっくん 2021年4月4日(日) 19:09 |
修正 |
SCSIの参考文献としてOPEN DESIGN No.1 を図書館で取り寄せて借りてきますた #
自分も98のSCSIについては詳しくなかったので で、第4章
ページ80-91に55板と92板の件が載って居ます。 # ALPS
DRR100Dって内部は256B/Sなんですね。S数72を返すそうで。DR311Dはどうでせう? #
因みに何方も緑が100Mとして売って居た物(の一種)です
>>LBAのDA/UAを遣う場合BIOSにはどのやうに指定するんでせう? >
DA/UAの最上位bitをへし折ります。例: 80-->00,
A1-->21
質問の仕方が問題でした。 セクタ番号の指定の仕方の質問です。 DA/UA
AxhへINT
1Bhの際、CX:DH:DLにC:H:Sの順に指定しますが、2xhの場合はCX:DXにLBA値(28bit)を 直接指定する(後はBIOSが解釈して処理する)と云う事でしょうか? |
それとコーレルSCSI本
まりも 2021年4月4日(日)
22:49 |
修正 |
ATAPIブート 大熊猫 2021年4月4日(日) 23:22 |
修正 |
ATAPIブートは謎の残骸があります V10(G8VER)
430FXマザーでは'IPL1'ではなく 'NEC QUICK SYSTEM' だったらCDブート、INT
1Bh AH=16hがCD-ROM
read、AH=02hがパケット送出みたいな感じに見えますが、DA/UAがどうなってるのかコードがぐちゃぐちゃで検証していません。 (HDDは接続台数何台目かで、ATAPIは接続位置を直接指定しているような) というかそもそもフラグが立ってこのルーチンに入るのか、謎です。当時はNECCD*.SYSから利用されているとか何とか聞いたことがありますが、真偽は検証していません。
FreeBSD
pressだったか、当時の記事ではSCSI-BIOSが本来想定外でCDが読まれる処理に入っていて、HDD以外でもコマンド体系が同じなので'IPL1'をみてブート処理が行われるのを利用しているような印象を受けました。
ATAPIの残骸互換にするか、DA/UAとIPL1シグネチャでSCSIエミュレーションするかというのがATAPI-CD(あるいはMO、DVD)ブートの選択肢にありました。MS-DOSやWindows起動時に支障が無いようにという縛りがあります。 |
Mode
senseにCHS数を返さないHDDも有る かかっくん
2021年4月6日(火) 1:34 |
修正 |
LBAはDX:CXの順ですか
で、OPEN DESIGNには、0:460〜のシリンダ数がMode
senseの返値より1少ないのはシリンダ0(メニュー部)を除いた シリンダ数と有ります。実際にユーザが遣えるのは此の数なので、此の方が都合が良いのでせう DRVLSTの結果はMode
senseの返値と0:460の値の何方ですか?
55パラメータ互換 ・旧'NEC'のHDDにはMode
senseで得られた値を用いる ・'nEC'含む他社製HDDにもMode
senseで得られた値を用いる 92パラメータ・同互換 ・旧'NEC'のHDDにはMode
senseで得られた値を用いる(55パラメータ互換と同様) ・他社品には8:32を用いる。8シリンダで1MiBに成る。上限が8GiBに成る原因
で、DRR100Dのやうに256B/Sだったりトラック内に代替域が有ったりするHDDも有りますから、Mode
senseに代替域を 含まないと云う事自体がnonsenseなワケです Mode
senseの返値には代替域のセクタ数他の情報も有りますから、返値だけで代替域を含まないCHSを出す事は 不可能ではありませんが、抑々Mode
senseにCHS数を返さないHDDも有ります |
問題点として まりも 2021年4月6日(火) 17:43 |
修正 |
92主流以前のサードパーティ製のSCSIアダプタ(A)では NECベンダIDがなくてもMODE
SENSEでパラメータや容量が取得できればそれになる。いっぽう純正92ボードやそれ同等の動作をするSCSIアダプタ(B)では、そのようなディスクでもMODE
SENSEで取得せず8:32か8:128になる。 なので→ (1)IDE-SCSI変換ドライブでは、(A)から(B)に繋ぎ変えると再フォーマットせざるを得ない(マルチベンダパラメータ設定が正しく機能するならそれで回避はできるが、少々怪しい) (2)(A)のSCSIアダプタでCFを使うと16:63などになり、Conv98ATでの読み替えでPC/AT直接続やカードアダプタ経由での認識に都合が良さそうであるが、先にそれらでフォーマットし最終シリンダまで確保されていたときに、その最終シリンダが SCSI
BIOSでアクセスできなくなる。さらにはフォーマッタが誤認識しておかしな動作をしてしまう(例:fdsk98爆) というのがあります。 100ボードやPCIの純正SCSIアダプタではNECベンダIDがあるときにどう扱われるか定かでない(たぶん92ボードと同じだとは思うのですが)というのは、現存するドライブもほぼないのでもうどうでもいいですかね。変換番長ではベンダ偽装もできるようですが。 |
IDE-BIOSの解析情報
リウ 2021年4月6日(火)
22:21 |
修正 |
Undocumented
PC-98 IDE-BIOS vol.1 まりも
2021年4月6日(火) 22:39 |
修正 |
読ませて頂いていますが、これまでの情報を完全に整理・網羅している感じです。すばらしいです。D800:2xxx内のワークエリアの個々のバイト、ワードの意味は私にもわからないことだらけでしたが、よく解析されたものです。世代分けはこのくらいが細かすぎず粗すぎずでよさそうです。わたしも今後この世代分けに従うことにしたいと思います。ただ最終期(4351MB壁なし)の名称は、第4世代サブタイプでいい(mate-Rを代表としてタイプRとか)のではないかという気がします。容量壁という見かけの違いは大きいですが、ワークエリアの使い方は第4世代を少し拡張しただけでしょう。
>ここまでがinternet上をさまよえば拾えるような話題です いやいや、「ここまで」も相当に逆汗の産物ですが(汗、、、Undoc2自体もそうでしょう。"見たくない人"には1文字も見えないかも。
|
55板とスイッチバー
かかっくん 2021年4月7日(水)
2:48 |
修正 |
ところで、55板の中で55Lにはスイッチバーが有ります(折り畳み式なので設定で有無を選ぶ?)が、55Uには無い やうです。55板でスイッチバーが必要になりそうな場面てどんな処でせう? 或いは55Uでは55Lでのスイッチバー無の設定しか無いとか?
あ、レイの計測系板類は¥4,100+10%=¥4,510迄上がったやうデス PO板だけでも狙って居ましたが入れなくて良かった #
自作PO板の機能は全て入って更にフォトカプラ出力・リードバック他が憑いて彼の値段ならネヱ |
スイッチバー まりも 2021年4月7日(水) 5:45 |
修正 |
55Uにもありますよ、折り畳み式のが。「ない」みたいに見えるのは破損品じゃないでしょうかね。 |
55板のスイッチバーの遣い途
かかっくん 2021年4月8日(木)
6:45 |
修正 |
55Uでもスイッチバーが有るのが正しいんですか。何の為に遣うんでせう? DMA転送しか無い55板で、1MiB〜のメモリ空間を遣うとも思えないので。 同じくDMAを遣うFDC(09板・15板)には有りませんし |
DOS以外のOSで まりも 2021年4月8日(木) 13:14 |
修正 |
80286以上のみ対応の、DOS以外のOSで1MB以上のところに転送する必要はあるわけですが、では09や15 FDD
I/Fボードではそれは行わないというのは謎ですよね。もしかするとミイソが発売したOSでは、FD読み書きデータは1MB以内に転送するよう設計されているのでしょうか? ちなみにPCI機でWindows
2000あたりだとそんな仕組みはあると思えません。Cバスブリッジ(の40h番台のレジスタ)を適切に設定していないと16MB以上のところにDMA転送ができず、FDDもX-PCM音源も動作しなくなります。Windows2000では09や15ボードはとっくに対象外だから良いのでしょうけど。 Windows95ではdouble
buffer 指定で動作ということになるのでしょうか? |
スイッチバーはI/Oとは無関係
かかっくん 2021年4月10日(土)
9:54 |
修正 |
確かに然うですが、スイッチバーはI/O空間とは無関係なので(MMIOはメモリ空間なので関係有り)、55板でメモリ空間に 出るのはROMだけですが、隠し機能が? 同様にDMAを遣うSASIの27板にも憑いて居ません
まさかお飾り?
1MiB超のメモリ空間に転送するのとI/O板のスイッチバーは無関係ですし(其の板のスイッチバーが関係するのは 当該板に有るメモリ(又はMMIO、以下同様)が1MiB超に位置する場合だけ。他の板や他の部分(SIMM等)に1MiB超の メモリが有っても当該板のスイッチバーとは関係無し。籠のSWからメインボードへのフィードバックは無いので システムから何の板がSWを推して1MiB超のメモリ空間を遣って居るかは此の方法だけでは検知不可)。 #
SWの機能 #
【ROM領域のデコード】(絶対アドレス080000h〜0FFFFFh)について、8086/V30用バスとの互換の為に有る。 #
当該スロットのA191にはSWを推さないとA19 &&
(A20〜A23のNOR)が、推すとA19其の儘が出力される。 #
98用の000000h〜07FFFFh空間を切り替えるバンクRAM/ハードEMSは無かった為、此の空間については #
考慮されない
#
でも55板には妖しげなPGA/QFPの石が有るんだよなぁ、此れが胆か? サードパーティでDMAだけのしょぼい板にはこんなのも無くもっとシンプルな造り(スイッチバーも無し)ですが! |
大層な作りのボードである謎
まりも 2021年4月10日(土)
10:19 |
修正 |
バスマスタ(外部DMA)では相手先メモリアドレスがボード側から本体側に出て、その間にデータ線がドライブされることでデータ転送されると思っていましたが、もしかして55ボードには実はバスマスタできる能力が隠されていた説。 |
話題の終わり無き縦SCSI
まりも 2021年4月10日(土)
14:22 |
修正 |
別スレに出てきたFA-02の 件ですが、SW
2-8はこのボードに限ってはスロットの存在フラグに反映される機能がある一方で、単純にROM無効にするものではないようですね。いっぽうE10ボードでは逆に存在フラグに反映されずROM無効になります。またE10の存在フラグピンA30の接続のされ方が、主要チップ名のSAGAT777版とFSCSI版で違っていたというのも思い出しました。 |
落ちそうなので上げ KAZZEZ 2021年4月25日(日)
3:47 |
修正 |
それにしても(縦)SCSIの話はいろいろなスレに出てきますね。 |
PNPBIOS リウ 2021年4月27日(火) 23:08 |
修正 |
壁ごえSCSIやIDEのLBA化パッチで 問答無用に使っていたDA00セグメントやDB00セグメントですが ようやくPNPBIOSの暴走が確認できました。
Nw133のモデムをPNPモードにしておくとLBAパッチを1度目の起動で実行すると起動できません。HSBからのリブート後からだと問題なく実行できます。 またPCI機でALL-SCSIにしていると壁ごえSCSIがIDEの空きと思って書き込んでいた場所はPNPBIOSのワークエリアだったようです
LBAパッチの方は搭載デバイスを従来互換モードにすることでごまかしてください、というお願いにしました。 壁ごえSCSIの方はBIOSの空き空間を探すことに戻しました。
指摘されてから実際に確認するまで時間がかかってしまい申し訳ないです。 どちらも改版しました。
4/29追記 BSDメニューからのSCSI-CD起動ですが Bを押しても反応がないBIOSがいくつもあると思います。(MOブート非対応のもの?) しかし一度DOSを起動した後にHSBで戻ってくるとBでブートできるようです。 理由がまだわからないのですがこれで非対応と思われていたBIOS群でもSCSI-CDブートはほぼできると思います。 |
ROMブートできるROMアドレスって決まって居る? かかっくん
2021年4月29日(木) 22:07 |
修正 |
不揮発RAMやシリコンディスクをストレージとして遣い(後者は其の為の物)、ブートコードを書き込むと起動できると云う 物ですが、其の際にブートコードを書き込むアドレスは何処でも良いんですかねぇ? 不揮発RAMは一般のバンクRAMと同様に80-9Fですし 主記憶の8000:0にブートコードを書いてSTOP+リセットをすると?
因みにバッファ郎のSC-4000mkIIの板とバッテリはこんなです。 page.auctions.yahoo.co.jp/jp/auction/f431522288 aucview.aucfan.com/yahoo/f431522288/ 如何にも5VSBやモバイルバッテリでバックアップできそうですな
ところで、バッテリバックアップした儘スロットから抜いて他機種に差すとどう成るんでせう? 板を飛ばす覚悟でやってみるか |
SC-mk
2の仕様はバンクのみ? まりも
2021年4月30日(金) 6:18 |
修正 |
SC-x000mk2の仕様は記憶にないのですが、ブートできるソフトが付属していたのですか?それより前のXCEシリーズではバンク方式で不揮発で使っていましたが、ブートできるソフトはありませんでした。そもそもブートする場合はFDかHDのエミュレーションになりますが、どっちなんでしょう? SCシリーズの仕様もよくわからないですよね。少なくともバンク方式メモリでは8000hセグメント〜にしかデータを置けないので、ブートできる方法は思いつきません。EMSなら拡張ROM域にマップできるので、ROMエミュレーションもできるしなんらかのブート介入コードを置くこともできます。
>一度DOSを起動した後にHSBで戻ってくるとBでブートできる MS-DOSはMO関連でInt1Bhにパッチを当てるということになっていますよね。システム共通ワークエリアのどこかをも変更していて(例えば0:460+4*IDのC:H:S)、hsb再起動後にはそれが反映されているからうまく行くのかもしれません。
| | |