[21327]  PK98-MISTRESS9によるCHANPON2 ブートBIOSへの道
投稿者:ELO さん   2003-04-20 00:40:46
PK98-MISTRESS9にCHANPON2ブートしないBIOSを組み込みRaII23内蔵IDEとCHANPON2に
同一のHDD(両方共RaII23標準搭載のDAQ-33240)を使いまりもさん作DRVCPYでWindows98SE
をインストール後コピーして内蔵IDEのコマンドプロンプトでDOSを起動させDOSの段階で
int1BディスクBIOSベクタをPK98-MISTRESS9のD000:0100に書き換えることにより擬似的です
がCHANPON2に接続したHDDがA:ドライブとなり(内蔵HDDは使用不可)Windows98SEの起動に
成功しました。

自作CHANPON2 BIOSですが、実際にHDDアクセスするのはLBA(DA/UA 00h)によるリードライト
ルーチンのみです。しかもエラー処理は無しのイケイケ仕様になってます。
それとint1Bファンクション04h,84hのセンス新センスこれはHDDにアクセスせず適当にパラメータ
を渡して正常終了です。DA/UA 00hと80h以外は正規のint1Bにスルーさせてます。

一応URLにRaII23で動作したPK98-MISTRESS9用BIOSとint1Bベクタ書き換えソフトをリンクして
おきますので試してみたい方は非情にヤバイプログラムと言うことで自己責任でお願いします。

この程度のジャンクソフトですから改変改造自由としますのでBOOTするBIOSに挑戦してみて下さい。
  1. ELO さん   2003-04-20 01:42:13
    追記

    オリジナルint1BベクタアドレスはRaII23の0060:0168になっているので機種によっては要変更です。

    PCIコンフィグレーションレジスタのIOベースアドレス10h=00006081h 14h=00006089h 18h=00006091h
    1Ch=0000608Dh 20h=000060A1h RaII23の場合10hと14hはPnPでこのアドレスに割り当てられますが
    18h,1Ch,20hが割り当て失敗で他のアドレスと重なりWin98起動後ドラバが動作しませんので上記の様に
    矯正が必要です。

    CHANPON2へのHDD接続できるのはプライマリマスター専用になってます。その他では動作しません。

    ベンチ結果です。
    ★ ★ ★ HDBENCH Ver 3.22 (C)EP82改/かず ★ ★ ★
    M/B Name RaII23
    Processor Pentium II 232.71MHz[GenuineIntel family 6 model 3 step 3]
    Cache L1_Data:[16K] L1_Instruction:[16K] L2:[512K]
    VideoCard スタンダード ディスプレイ アダプタ (9821 シリーズ)PC-9821 TGUI968x,Cyber938x,Providia9685 (Trident)
    Resolution 1024x768 (16Bit color)
    Memory 64,948 KByte
    OS Windows 98 4.10 (Build: 2222) A
    Date 2003/04/19 20:52

    HDC[?]=標準 IDE ハード ディスク コントローラ
    HDC = CMD PCI-0649 Ultra DMA IDE Controller
    HDC = Primary CMD Ultra DMA Bus Master IDE Controller
    HDC = Secondary CMD Ultra DMA Bus Master IDE Controller

    B = GENERIC NEC FLOPPY DISK
    C = IBM-DAQA -33240 Rev R6OR

    ALL Integer Float MemoryR MemoryW MemoryRW DirectDraw
    9372 0 0 0 0 0 0

    Rectangle Text Ellipse BitBlt Read Write Copy Drive
    0 0 0 0 21004 22333 12894 A:20MB
  2. Noggy さん   2003-04-20 02:05:45
    うぅっ今度はCHANPON2がターゲットですね、さすがELOさん動きが速いです ^^;
    私はまだついていけるレベルではないし残念なことにCHANPON2だけじゃなくMISTRESS9すら
    持ってないので検証のお手伝いはできませんが、今度は玄人志向さんが動き出すのに期待したいですね。
  3. ELO さん   2003-04-20 18:17:24
    >CHANPON2がターゲットですね

    PK98-MISTRESS9がターゲットです。(笑)あ〜な事やこ〜な事も出来そうなので
    Noggyさんも手に入れておいて下さい

    ブートしないBIOSはI/Oアドレスを10h=6081h 14h=6089h にすればCHANPON2以外のボード
    でも動作すると思います。
  4. かっぴい さん   2003-04-22 12:38:34
    ミストレスボード、OvertopIIでは終了になってますね。
    年末にはあったのですが、いまから入手は、困難かも。

    ところでこれって、内蔵IDEにダミーのHD付けて、IPLWareで対処できないのでしょうか?
  5. まりも さん   2003-04-22 20:24:17
    PK98-mistress9の有効活用でしょう。
  6. ELO さん   2003-04-22 21:59:17
    >かっぴいさん
    OvertopIIでは先週最後の2枚が売れて終了しましてけど玄人志向に在庫が
    あり購入希望者が多数あれば再入荷もあるかもしれません。

    IPLWareとK.Takataさん作のDDTXでIPLに直接int1Bベクタ書き換えを組み込
    んでもうまくいきませんでした。どのみちダミーHDDはなくならないので
    次のステップは自力ブートの開発ですね。今のところの目星はUNDOCUMENTED Vol.2
    memsys.txtの04B0〜04BFhで18hFARジャンプにどう応答すればよいかです。

    >まりもさん
    プログラム作りにM9DUMP.BINが大いに役立っているのでありがとうございます。
  7. かっぴい さん   2003-04-22 23:34:17
    >ELOさん、先週最後の2枚が売れて
    ありがとうございます。
    そうだったのですか、在庫が玄人志向にあるなら、地元の取り扱い店で注文したほうが早いですね。
    解析、素晴らしいですね。がんばってください。
  8. ELO さん   2003-05-03 22:52:57
    >がんばってください。
    GW8日間がんばりました。(汗)そしてつにに自力BOOTを達成できました。(祝)

    では、説明します。まずなんと言ってもInt1Bフックなしのピュアなブートです。
    本体BIOSよりPK98-MISTRESS9のROM 000Ch 000Fh 0012hに3回コールされる
    時にシステム共通域の4B0h 4B8hに拡張ROMアドレスD0h、次に4D0hにC3h、次に
    ブートしたDA/UAの584hに80h,次にHDD接続状況の55Dhに01hを設定することで
    ROM 0015hにコール(ジャンプかも)が入りここでセクタ0のIPLをメインメモリ
    1FC0hにロードしてからFARコール(帰ってきませんが)するとあとは、
    固定ディスクメニューとIO.SYS MSDOS.SYS(読むだけ)を勝手にロード実行していきます。

    なおMS-DOSのブートまでに関しては読み込みだけで書き込みはないのでライトルーチン
    を実装していませんので、Windowsは起動できません。
    試したHDDは3GBクラスのCaviar3310にWin98SE起動FDのシステムでパーテーションを
    AドライブBドライブ共に起動可にして起動メニューを表示させAドライブかブートしました・
    なおプログラムが不完全なためBドライブはブート出来ませんのとFDからのブートも不可です。

    のちほどIF THEN ELSE,GOTO,LETでBASICライクな小規模簡単アセンブラリストとバイナリ
    をURLに貼っときますので、実験用HDD(今時は不可4GBクラス)を使って自己責任で試して
    みてください。
  9. ELO さん   2003-05-04 18:44:05
    >なおMS-DOSのブートまでに関しては読み込みだけで書き込みはないのでライトルーチン
    嘘です。隠しファイルのBOOTLOG.TXT BOOTLOG.PRVを中身は無しですが書き込みしてました。

    本日読み込みルーチンの高速化とライトルーチン実装と今時のHDD対応(専用です)をして
    Windows98SEをUIDE-66でフォーマットとインストールしたあとでCHANPON2にて自力BOOT成功しました。

    CHANPON2はスロット1です。PCIスロット2では何故かWIN98SE起動時にリセットが掛かってしいまいます。
    Maxtor 6 Y080P0は32GBクリップで、A: 8GB B:16GBでパーテーション切ってます。

    HDCによるとUltra DMA Mode5で動作してるようです。
    ★ ★ ★ HDBENCH Ver 3.22 (C)EP82改/かず ★ ★ ★
    M/B Name RAII23
    Processor Pentium II 232.70MHz[GenuineIntel family 6 model 3 step 3]
    Cache L1_Data:[16K] L1_Instruction:[16K] L2:[512K]
    VideoCard スタンダード ディスプレイ アダプタ (9821 シリーズ)PC-9821 TGUI968x,Cyber938x,Providia9685 (Trident)
    Resolution 1024x768 (16Bit color)
    Memory 64,948 KByte
    OS Windows 98 4.10 (Build: 2222) A
    Date 2003/05/04 18:19

    HDC = 標準 IDE ハード ディスク コントローラ
    HDC = CMD PCI-0649 Ultra DMA IDE Controller
    HDC = Primary CMD Ultra DMA Bus Master IDE Controller
    HDC = Secondary CMD Ultra DMA Bus Master IDE Controller

    AB = Maxtor 6 Y080P0 Rev YAR4
    C = GENERIC NEC FLOPPY DISK

    ALL Integer Float MemoryR MemoryW MemoryRW DirectDraw
    14437 0 0 0 0 0 0

    Rectangle Text Ellipse BitBlt Read Write Copy Drive
    0 0 0 0 47738 21222 17660 A:20MB
  10. かっぴい さん   2003-05-21 12:23:08
    自力BOOT達成、おめでとうございます。
    すごい偉業です。(拍手

    スレッドが流れていて、気が付きませんでした。(汗
  11. ELO さん   2003-05-21 21:50:21
    かっぴいさんレスどうもです。

    >すごい偉業です。(拍手
    こんなのはプロローグにすぎないので期待してて下さい(おぃおぃ)