めも

ぶっちゃけチラシの裏に書くよりキーボード叩いたほうがお手軽な。
rombios の cdboot 関連の実装についてのメモ…激しく眠いが忘れないうちに書いておこう…。

  • 連続して 64K バイト以上(データ転送オフセットが 0 以外のときはもっと少なくても)セクタを読むとヤバい。リアルモードのセグメントオーバラップの都合。もっともリアル FD や HD でも BIOS ではダメなのだが。ただし、EL Torito の仕様ではブート時に読みこむセクタ数が任意に決められる(仕様上は FFFFh まで許される)ので、非エミュレーションモードでこの機能を使って 64K バイト以上のブートイメージを読みこむ CD がもしかしたらあるかもしれない。
  • 上記と関連するが、CD 読み出し/ATAPI パケット転送関数内ではデータバッファやパケットのポインタの丸め込みが行なわれている。これらのポインタやスタック(パケットはスタック上に自動変数として確保されている場合が多い)DOS でいうところの HMA にある場合、正しいデータが取得できないだけでなく意図しない領域のメモリが破壊される可能性がある。
  • 複数のブートイメージを選択する機能はサポートされていない(使ってる CD あるの?)

あとなんかあったっけ…。