ドリームキャスト実機のGD-ROM吸い出し環境「K-UI 1.0.1」公開。バッファ破損を修正、516,324セクターをエラーなしで完走

ドリームキャスト実機のGD-ROM吸い出し環境「K-UI 1.0.1」公開。バッファ破損を修正、516,324セクターをエラーなしで完走

ドリームキャスト実機向けのHomebrewユーティリティ環境「K-UI 1.0.1」が、GitHubで公開されました。TPMJB氏が開発を進めているもので、GD-ROM吸い出しツールは「GD Ripper 2.2.5」へと更新されています。

当サイトでは2026年9月15日に、同氏が公開した「DreamShell NeXT 0.9」を紹介したばかりです。前回はGD-ROMの吸い出しを途中で停止・再開できるStop/Resumeやチェックポイント、CRC確認、exFAT対応などを取り上げましたが、今回は環境そのものが「K-UI」として再構成され、実機で確認されていた吸い出し中のバッファ破損に対する修正が行われています。

●K-UI 1.0.1 GitHub Release
https://github.com/TPMJB/K-UI_DS/releases/tag/k-ui-1.0.1

ドリームキャスト実機でGD-ROMを途中再開しながら吸い出し。「DreamShell NeXT 0.9」公開、exFATにも対応

GD-ROM吸い出し中に発生していたバッファ破損へ対策

K-UI 1.0.1で大きな変更点となっているのが、GD-ROM吸い出し中のディスプレイキャッシュ処理です。これまで画面を更新する際のキャッシュ処理によって、フレームバッファー以外のメモリー領域にも影響を与える可能性があり、吸い出し処理中にバッファが破損する問題が確認されていました。

今回の修正では、画面のアップロード時にフレームバッファーに対応するキャッシュラインだけを書き戻すよう処理を変更。GD-ROMを読み出している最中に、無関係なメモリー領域へ影響を与えることを避ける仕組みに改められています。

また、GD Ripperの終了処理も見直されました。事前の検証段階でドライブ停止に成功している場合は、終了時に不要な2回目のdrive-stop commandを発行しないよう変更されています。停止処理に失敗した場合の再試行や、キャンセル、途中でエラーが発生した場合のクリーンアップ処理は引き続き行われます。

『E.G.G.』では516,324セクターをbulk-read errorなしで完走

今回の修正を確認するため、開発者はドリームキャスト用ソフト『E.G.G.』を使った実機テストも実施しています。同じ設定で新たにGD-ROMを吸い出したところ、以前のビルドでは69件確認されていた「recovered sector-validation failure」が、更新後のビルドでは0件になったと報告されています。

さらに、新しいテストでは全516,324セクターの処理を「bulk-read error」なしで完了。3つのトラックについても、すべてTOSECのCRCと一致したとされています。

少なくとも今回使用された実機とディスクの組み合わせでは、キャッシュ処理の修正後に良好な結果が得られたことになります。GD-ROM吸い出し時のデータ安定性に直接関係する部分だけに、前回のDreamShell NeXT 0.9から短期間で行われた変更としては大きなポイントといえます。

開発者も「完全解決」とはしていない

ただし、このテスト結果だけで問題が完全に解決したと判断することはできません。開発者自身も、1回の正常な吸い出しだけでは、これまで断続的に発生していた再起動問題が完全に排除されたことを証明するものではないと説明しています。

問題が再発した場合に備えて、GD Ripper 2.2.5ではログ機能も改善されています。検証結果や終了処理の状況に加えて、バッファ破損が発生した場合に、その前後のデータを一定範囲で「rip.log」へ記録できるようになりました。

これまで用意されていたリトライやチェックポイント、既存のダンプ形式については、そのまま維持されています。そのため今回はGD Ripperの基本的な使い方を変更するアップデートというよりも、実機での吸い出し処理をより安定させるための修正が中心となっています。

既存のSD/IDE環境はDSフォルダーを更新可能

K-UI 1.0.1には「Bootloader 3.3」が引き続き採用されており、既存のSDまたはIDE/CF環境から更新することができます。更新する場合は現在使用しているDSフォルダーや個人設定をバックアップしたうえで、「K-UI-v1.0.1.zip」に含まれるDSフォルダーをストレージのルートへコピーして、既存ファイルを置き換えます。

注意したいのは、今回のディスプレイキャッシュ修正がアプリ側だけではなくコア側にも含まれていることです。「DS/DS_CORE.BIN」も含めて更新する必要があり、GD Ripperだけを新しいバージョンへ入れ替えても今回の修正は適用されません。

すでに正常に動作しているBootloaderディスクがある場合は、そこから更新後のK-UIを読み込むことができます。新たにCDから環境を構築する場合は「K-UI-v1.0.1.cdi」も用意されており、導入のためにBIOSを書き換えたり、既存のダンプデータを変換したりする必要はありません。

K-UIが継承しているcore/APIは「DreamShell 4.0.5 Beta 3」です。従来からの互換性上の制限も残っているため、現時点ではすべてのドリームキャスト本体やGD-ROMで同様の結果が保証されているわけではありません。

9月15日に公開されたDreamShell NeXT 0.9では、途中再開やチェックポイントといったGD-ROM吸い出しそのものの利便性が大きく改善されました。そこからわずか数日でK-UIへと再構成され、今回は実際の吸い出しテストから判明したメモリー処理の問題に手が入った形です。

今後、ほかのドリームキャスト本体やGD-ROMを使った検証が進むことで、今回の修正が断続的に発生していた問題にどこまで有効なのかも見えてきそうです。

ABOUT US
アバター画像
retrogamer