・Mr. BOOSTER's history! (hookboot -> devhook) | 楓子パパのPSPS3★∴∵¨

・Mr. BOOSTER's history! (hookboot -> devhook)

MrBOOSTER


今から、ちょうど一年前。


HOOK BOOT V.010がリリースされた。


2005/7/20 3:46


ver1.0ファームPSP用のEBOOT.PBPファイルがBOOSTER氏によって生成されたタイムスタンプである。

これが、歴史の始まりであった。


当時、「・ベスト&過去記事一覧(2005) 」にてアクセスが多かった記事。
・HOOK BOOTで体験版-天地の門UMDがPSP専用ブラウザに変身?
にて紹介したPSP専用ブラウザでHOOK BOOTの技術が使われていたことも記憶にあたらしい。


HOOK BOOTは、BOOT.BINにパッチをあてて、APIをフックした。
そして、その技術は、DEV HOOKでメモリースティック上のISOファイルをUMDの代わりにマウントして起動するランチャとして引き継がれた。


しかし、名前の中で不変なのが「HOOK」。
このHOOK(フック)とは、「ひっかける」という意味。
そして、プログラムでのフックは、メッセージ(SYSTEM CALLなど)の流れの中から、特定のメッセージを引っかけて拾い上げることのようである。
つまり、フックできて横取りしたメッセージは、処理することが可能なので破棄したり、他へ送ったりということもできるのである。


BOOSTER氏は、HookBootでひっかけてDevHookで完全にPSPユーザーの心を掴んでしまったようなのよね。


特に、アイコンを含むランチャーなどGUIよりも、カーネル部の解析、開発やテスティングに少しでも時間を割いているBOOSTER氏(名乗りはDevHook以降?)のポリシーに感銘というか感謝。


それでは、BOOSTER氏のHISTRYを以下に引用。


■DEVHOOK
-----------------------------
V0.43.0101 -> V0.44.0000 変更点
-----------------------------
・FW2.71リブート暫定対応
・/dh/kd/reboot.bin無しの時、ランチャ-終了でフリーズする不具合修正
・Flashエミュファイル数増加>フリーズ対策
・その他、細かな変更

-----------------------------
V0.43.0100 -> V0.43.0101 変更点
-----------------------------
・ファイルアクセス時のスタック数増加> FW2.60-333MHz-ブラウザのフリーズ対策
・クロック変更を、起動後5秒間抑制>333MHzでXMBに戻れない不具合対策
※バージョンコードの変更はこれ以後省略
-----------------------------
V0.43 -> V0.43.0101 変更点
-----------------------------
・メモステ上のファイルが壊れる不具合の対策
・dhGetVersion()の戻り値 0x00430000 -> 0x00430100
・ソースcleanup
-----------------------------
V0.42b -> V0.43 変更点
-----------------------------
・FW2.60起動をサポート(インストーラは一部未対応です)
・リブート時のロードアドレスをユーザ指定可能に変更
・UMDリードのコールバックを1セクタから複数セクタに変更
・dhGetVersion()の戻り値 0x00420002 -> 0x00430000
・ランチャ起動時にdevhookをロードするように変更
・ランチャ変更、0.42b/0.43新設定、メニュー構成、表示レイアウト
・plain20.prxとplain25.prxをplain2x.prxに統合
・flashEMU時にstackを追加
・リブート時、devhookを終了できるショートカットキーの機能追加
・0.42bでクロック設定がされなかったバグを修正
-----------------------------
V0.42a -> V0.42b 変更点
-----------------------------
・リブート時のメモリの扱いを改善
・devhook常駐タスクのスタック4KB->8KB
・dhGetVersion()の戻り値 0x00004201 -> 0x00420002
・CPU CLOCK=0指定時、devhookによるCLOCK制御を禁止(ランチャ未対応)
-----------------------------
V0.42 -> V0.42a 変更点
-----------------------------
・NOUMDのバグフィクス
・dhGetVersion()の戻り値 0x00004200 -> 0x00420001
-----------------------------
V0.41d -> V0.42 変更点
-----------------------------
・NOUMDのバグフィクス
・UMD emuのsemaphoreのバグフィクス
・CLOCKをresetするポイントを変更
・コンフィグデータの内容変更
・ランチャからのロード、設定方法を変更
・起動時のconfigロードをファイルからメモリ経由に変更
・ISOイメージの整合性の判定を追加
・ISO/CSOドライバを別モジュールに分離
・XMBのUMD切り替えを別モジュールに分離
・XMBのショートカットにCLOCK切り替え機能を追加
・XMBでISOイメージ、CLOCK周波数の表示機能追加
・リモコン端子へのKprintf抑制スイッチ追加でリモコン対応
・日本語ローカライズ版ランチャー追加(日本語対応&ライブラリ提供:mok様)
・他、細かな変更多数
-----------------------------
V0.41c -> V0.41d 修正点
-----------------------------
・2.00/2.50でloadModule時、不正メモリアクセスのバグ修正
 フリーズしてた物、改善の可能性あり。
・UMD使用時も"UMD VERSION"スイッチを有効にした。
-----------------------------
V0.41b -> V0.41c 修正点
-----------------------------
・一定条件の時、ciso readで別の場所をリードしてしまうバグ修正
 V0.41bのみで発生したバグです。
-----------------------------
V0.41a -> V0.41b 変更点
-----------------------------
・msrebootパッチコードをexportして常駐サイズが減少させた。
"ms0:/dh/kd/msreboot.bin"というファイルが増えました。
・launcherがMODされているようなのでソースを添付
 AUTORUN待ち時間変更 1sec -> 3secに変更
・umd read時のスタック拡張サイズ 0x800 -> 0x1000
 一部の不動MSで、動くようになるとよいのですが...
他、ciso readルーチンを多少変更
-----------------------------
V0.41 -> V0.41a 修正点
-----------------------------
・レジューム後壁紙が真っ黒になる不具合修正
・ANYUMDでISO切り替えの不具合修正
-----------------------------
V0.40 -> V0.41 変更点
-----------------------------
・FW2.50リブート対応
・plain20.prxの対応ロード位置を変更
・UMD READのスタック拡張位置を移動->FW2.50対応
-----------------------------
V0.32a -> V0.40 変更点
-----------------------------
・FW2.00リブートのサポート
FW2.00のrebootがサポートされました。
FW1.00のPSPでは、また使えなくなりました。
・新ANY-UMDの追加
既存のNO-UMDは2.00以降では動作しないため、新しく実装しました。
 現在ANY-UMDまでなので、FW2.00でISOファイルをマウントするには、
ダミーのUMDディスクを挿入する必要があります。
・flashエミュレーション時のfdを自動的に切り詰めるようにしました。
 2.00webブラウザにおけるフリーズ対策です。
・ランチャ起動時、前回の設定値をデフォルトにするように変更
 起動後、1秒以内に'O'を押さないと、前回設定で自動的に実行されます。
・FW1.50 NOUMDにおけるUMD切り替えの修正
-----------------------------
V0.32 -> V0.32a 修正点
-----------------------------
・セマフォ未初期化バグフィクス
for 太鼓の達人・・・というか基本的な潜伏バグの修正
・ISOマウントをMSの抜き指しに対応
・各種小修正とシェイプアップ
-----------------------------
V0.31 -> V0.32 変更点
-----------------------------
・圧縮ISOイメージ(*.CSO)対応
・MXB上で、ISOイメージの切り換え機能追加
・CSO対応に伴い、ISO READシーケンスをセクタ単位に構造変更
 何処か壊したかも...
・ISO ACCESS時のSTACK追加方法変更
・サイズ増加・・・フリーズの確立が増えたかも。
-----------------------------
V0.30a 変更点
-----------------------------
・サイズ800Hを超えるリードが全てエラーになるバグを修正
 みんごる対応・・・というか根本的なバグ。
・FLASHエミュレーションの暫定追加
 MPH FW14のソースを参考にしました。Thanks->MPH
 まだFW1.50しかブート出来ないため、現状では壁紙変えたり
設定データ差し替えるくらいにしか使えません。
 エミュモードを使うには/150/flash0,/150/flash1に
flasah0:とflash1:の完全ファイルコピーを取ったあと、
メニューの"FW1.50(emulation)"を選べば動きます。
・みんごる終了できなかったため、リブート時のprxロードアドレス変更
・アップデータが起動しないようにpspbtcnf_updater.txtを空にした
Ver.0.30pre
- DKをdevkitPSP release7に移行
-devhookをprxモデルに変更,ロードにはplane prxパッチが必要です。
"pspSdkInstallNoPlainModuleCheckPatch()"
-OSリブートによるdevhook読み込み動作をサポート
 -FW1.00未サポート、FW1.50に拘束
-wipeout pure freeze probremのバグ修正
・FEP部分のソースを公開
 お願いです。どなたか、使い易い、カッコいいGUIを作ってください。
・IGRリセット、クロック切り替えは暫定的に禁止してあります。
 (自作prxを組み込むことで、各人、いろいろ拡張できます)
 -構造的変更
Ver.0.22
 サスペンドレジュームのサポート、UMD EMULATOR 0.8互換ディレクトリ、
バージョンチェック迂回でUMD起動
-added open/close ISO file at each UMD access.
*supported suspend/resume.
-added ISO search directry "fatms0:/UMDEMULATOR/ISO".
*UMD EMULATOR 0.8 compatible.
-added "UMD Disc" item and removed "UMD MODE" menu.
*with bypass version check.
Ver.0.21
-added LoadExec() emulation
*SAPCE INVADER POCKET
-InGameReturn (L+R+Start)
-sceUmdGetDiscInfo() emulation.
Ver.0.20
-fix forget sceIoClose() when close function of "umd?:" RAW access.
*SHUTOKOU BATTLE
-fix sceUmdActivate() and added sceUmdDeactivate() handling.
*MAJONG FIGHT CLUB
-support target file path
*work with hook_boot 0.94.(for analyze,FW hack,etc.)
-Added InGameReset
L+R +HOME : return to MXB
Ver.0.10
1st test release


■HOOK BOOT

V0.94
-supported ISO9660 file system emulation (alpha version)
The hook of open,close and seek should be necessary.
sceDopen/sceDread can't work yet.
result of Async function are not correct.
see PSP/GAME/MINGOLF/hookboot.ini
-UMD BLOCK MODE emulation.
The hook of open,close,seek and read functions should be necessary.
-added SYSCALL entry hook mode
support sceCreateCallback() hook with SYSCALL hook.
-fix some bugs.

V0.93
-sceIoDreadでパスを置き換えなかった問題修正
-キャッシュクリア制御追加
(SYSCALL HOOKとファイルログでフリーズの回避)
-UMDコールバックのフックを変更、sceCreateCallbackのフックは不要
-sceIoWriteのハンドル1の書き込みをログ出力(SYSTEM LOG)
-フックAPIsceIoSync and sceIoChstatの追加
-sceIoDevctlにパス置き換え追加

V0.92B
-サイズ縮小
-CODED ARMSフィクス

V0.92A
-KERNEL_VER parameter未設定時、カーネルバージョンパッチをバイパス.
-フック関数バグとり sceIoLseek,sceIoLseekAsync,sceIoGetAsyncStat

V0.92
-インポートライブラリのダイナミックバージョンフックをサポート
  平たくいえば1.00で1.50ソフトが起動する。
  'CODEDARMS/boot.ini'の"IMPORT_VER"を見なさい。
-"WAIT_RUN=[wait_mode]"パラメータの追加
-sceIoLseek と sceIoLseekAsync のフック復帰
-sceKernelLoadExec のフック追加(でも、はずれ)
V0.91
readme.txtの"HISTRY"を参照

V0.90
-remove setting CUI and added config file
->Multi game in one MS
-Adjust wait time in sceOpenAsinc
->NAMCO MUSIUM
-Change Memory Allocation
-> RIDGE RACERS
-> PIPOSARU ACADEMIEA
-added systemcall hook mode (only Firmware V1.00)
-cleanup all
-fix sceKernelDeleteCallback() re-entry bug.
-added hook API sceIoLseek32,sceIoLseek32Async,sceUmdGetDiscInfo


V0.10 1st release


・・・。


ところで・・・。


BOOSTER氏って、Mr.さんでいいんですよね?


人気blogランキングで検索   PSP予約  トップPSP

今Topは?: ゲーム エレクト DVD 音楽 ホーム おもちゃ ソフト