DeviceHook


BOOSTER氏製作のOSランチャ
DevHookはPSPのOSを拡張使用するための、OSランチャであり、
ハードメーカーの提供物に甘んじることなく、ユーザーの手で拡張し、
PSPが心地よいプラットフォームになっていくことを目的とする



XMBはクロスメディアバーの略称。
PSPにも採用されているソニー製品のユーザーインターフェイス。
PSP以外ではPSX、WEGAシリーズ、HDDプレイヤーのHMP-A1等に搭載されている。

  • 特徴
    • UMDとFLASHをMS上のファイルにリダイレクト
    • FlashROMを書き換えずに、MS上のファームウェアを起動できる
      FW1.50のPSPで、1.50,2.00,2.50,2.60,2.71のファームウェアが起動できる
    • MS上のISO/CSO(圧縮ISO)ファイルをUMDにマウント
      UMDのモーターが止まることで、バッテリの駆動時間を伸ばせる
      大容量MSに複数のISOファイルを格納することで、かさばるUMDを沢山持ち歩かなくてすむ
    • 動作クロックを変更できる
      処理落ちの多いゲームを快適に動作させたり、速度を落としてバッテリの駆動時間を伸ばしたりできます
    • UMD無しで起動できる(UMD MOUNT:ISO NOUMDのみ)
    • FW1.00でも動く(V0.32aまで)
    • ISOにバックアップすることなくUMDから直接起動も出来る(V0.41dから)
  • 最新VersionはV0.46.0000
  • 関連
    →MPH Firmware Launcher

devhook.txt

V0.45.0000 -> V0.46.0000 変更点

    • FlashエミュからメモステとPSP内蔵flashROMを併用する機能を実装
    • メモステファイル破壊不具合の対策
    • FW2.xxからノーマルFWへ戻れなかった不具合を修正
    • "flash0:"の書き込みモードでのマウントを禁止
    • ランチャのメニュー構成を大きく変更
    • 英語ランチャを元の英数フォントに戻した。
    • ランチャに内蔵FlashROMの管理機能を追加(MSへのFWインスト機能は無し)
    • ランチャに自動起動時間設定機能を追加 > "MS_ROOT/dh/autorun.ini"を参照
    • FW2.xxのdevhookからdevhookを終了するアプリ同梱
    • cisoのコマ落ち対策版"umdciso_P47_SS_2000.prx"を同梱
      PRIORITY=47 , SHORT SLEEP,ciso buf=0x2000という設定です。
      "umdciso.prx"と差し替えて使います。
  • V0.44.0000 -> V0.45.0000 変更点
    • ELF形式の、メモステEBOOT.PBPとUMD(ISO) EBOOT.BINの起動をサポート
    • 1.50 NOUMDが動かなかった不具合修正
    • Flashエミュに排他制御追加、他メモステ破壊対策をいくつか
    • reboot時のメモリマップを変更
  • 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でクロック設定がされなかったバグを修正

todo

  • MOD-BIOS mode(内蔵Flashだけでdevhook+FW2.71の起動)
  • NO-UMD for FW2.xx
  • NAND driver emulation
    テストの結果、OSのrebootに80秒掛かります。
    重すぎて使い物にならないため、中止します。

faq.txt

  • DevHook/FAQ

インストール/注意点

  • V0.43~
    • インストール方法
      • ファイル配置
        ms0はメモリースティックのルートディレクトリ
        ms0:/┳ISO/ …ここにISOファイルを配置
            ┣DATA.PSAR …FWを解凍する場合はここに置く(updater付UMDがあれば不要)
            ┣dh/
            ┃ ┣150
            ┃ ┃ ┣flash0 …FW保存フォルダ(150F,200,250,260も構成は同じなので省略)
            ┃ ┃ ┃ ┗kd
            ┃ ┃ ┃   ┣pspbtcnf.txt
            ┃ ┃ ┃   ┣pspbtcnf_game.txt
            ┃ ┃ ┃   ┣pspbtcnf_updater.txt
            ┃ ┃ ┃   ┗pspcnf_tbl.txt
            ┃ ┃ ┗readme.txt
            ┃ ┣150F  …1.50でFWを解凍しない場合のフォルダ
            ┃ ┣200
            ┃ ┣250
            ┃ ┣260
            ┃ ┗kd/
            ┃   ┣devhook.prx …DEVHOOK本体
            ┃   ┣msreboot.bin
            ┃   ┣plain2x.prx…FW2.00以降の起動に必要
            ┃   ┣vshex.prx…XMB拡張
            ┃   ┣umdciso.prx…ISO/CISO driver
            ┃   ┣umdciso_P47_SS_2000.prx …V0.46.0000で同梱のcisoのコマ落ち対策版必要ならumdciso.prxと差し替える 
            ┃   ┗prx20.prx…未使用
            ┗PSP/
                ┗GAME/
                   ┣DH_ENG/EBOOT.PBP …英語ランチャ(フォルダ名は任意)
                   ┣DH_ENG%/EBOOT.PBP
                   ┣DH_JPN/EBOOT.PBP …日本語ランチャ(フォルダ名は任意)
                   ┣DH_JPN%/EBOOT.PBP
                   ┃↓devhook fiwmware installer(FW解凍後は削除可)
                   ┣dh_inst/EBOOT.PBP …フォルダ名は任意
                   ┗dh_inst%/EBOOT.PBP …フォルダ名は任意
  • pspbtcnf.txt,pspbtcnf_game.txtの編集
    "#"から始まる行を削除(txtの読み込みサイズに制限がある為)
    ここに追記することで、他のカーネルprxを追加ロード可能
    不要なprxがあれば、リストから削除する
  • 注意点
  • 再構築されたISOイメージはumdsign.exeを使用してサインコードを書く(2.50以上のタイトルは不要 UMD_DATA.BINは削らない)

使用方法

V0.40以降

  • FW1.50までのタイトル
  1. DevHookを起動して、起動したいUMDを選択して○ボタンを押す
  2. メニューのFIWMWAREで1.50(Flash)を選択
  3. STARTを選択して○ボタンを押すとXMBメニューに戻る
  4. UMDエミュレーションは始まっているので
    マウントされたUMDを起動したり、RUN UMD等を起動する
    XMB上でISOの切り替えはHOMEボタン+Lボタン,HOMEボタン+Rボタン
  • FW2.00以降のタイトル(FWは2.71のみのインストールでよい)
  1. FW2.00及び2.50のインストール
    2.00updater入りのUMDを入れ(devhookでマウントしたISOも可)、
    devhook fiwmware installerを起動し、○ボタンでインストール
    レジストリファイルもコピーする場合は続けて再度○ボタンを押す
    続いて2.50も同じ手順でインストール
    メモリースティックから起動用のFWを使用の際は、
    アップデータをPBP Unpacker等で展開後、展開されたフォルダ内のDATA.PSARを
    メモリースティックのルートディレクトリに配置してUMDと同じ手順でインストール
    →PBP Unpacker : pdc.me.uk
  2. FW2.60,2.71のインストール
    FW2.00及び2.50と同じ手順でインストール(2.71はflash1のインストールが出来ないので他のFWインストールで作成された物を使用)
    reboot.binは2.60の本体でないと展開できないため、FW2.60の本体でGTAからEBOOT Loaderを起動し、2.7X PRX Decrypter for 2.6を起動する
    終了したら電源を切るとルートディレクトリのFDフォルダのルートにreboot.binが展開される
    →2.7X PRX Decrypter for 2.6 : DAX ZISO LOADER
    FDフォルダ内のreboot.binをインストール済のms0:/dh/250フォルダを参考にして
    同じようにms0:/dh/260フォルダにファイルを配置する
    ms0:/dh/
        ┗260/
           ┣reboot.bin…FD/
            ┣data0.bin
            ┣data1.bin
            ┣ipl/
            ┃ ┣part1_psp_ipl.bin
            ┃ ┣part2_psp_ipl.bin
            ┃ ┣part3_psp_ipl.bin
            ┃ ┗psp_ipl.bin
            ┣flash0/
            ┃ ┣kd
            ┃ ┣dic
            ┃ ┣font
            ┃ ┣kd
            ┃ ┗vsh
            ┗flash1/
  3. V0.46.0000で実装された内蔵FlashROMを併用する機能
    使用する前の注意事項
    内蔵FlashROMを併用する機能はインストール時にPSPの内蔵Flashを書き換えるため大変危険です
    もし失敗した場合PSPが二度と起動しなくなる可能性がありますので使用は自己責任で
    ・devhook.txtより
    !!!!!重要!!!!!
    PSP内蔵flashROMのインストール機能を使う場合は、必ず事前に"PSP_FlashROM.txt"を読んで
    FlashROMの構成と危険性について十分理解してから使用して下さい。
    PSP内蔵flashROMの中が壊れると、PSPが起動しなくなる可能性があります
    !!!!!重要!!!!!
    flash1のインストール前にflash1バックアップを実行しないでください。
    これを行うと設定破損→再起動のループ現象が起こります
    もし実行してしまった場合はms0:/dh/250/flash1/が空になっているのでflash1を元に戻して再度インストールすれば復旧可能
    flash1は必ずバックアップを取っておくこと
    Custom Firmwareは必ず内蔵FlashROMへのインストール実行前にインストールすること
    Custom Firmwareのインストールに失敗するとPSPが起動しなくなる可能性があります
    内蔵FlashROMへのインストール実行後にCustom FirmwareをインストールするとPSPが起動しなくなる可能性があります
    flash書き換えソフトの準備、実行前に、PCからメモリースティックの"chkdsk"を必ず実行する
    これを怠るとflash容量以上のファイルが書き込まれる不具合が発生する場合がありPSPが起動しなくなる可能性があります
    推奨ではないが、あらかじめCustom Firmwareをインストールしておき、復旧可能な状態にするのも手段の1つ
    ・インストール中に電池が無くなるとPSPが二度と起動しなくなる可能性があるのでACアダプタを挿す
    ・FWインストール、起動確認後DevHookのメニューのFWバージョンからFWを選択後Flashメンテナンスを選択
    ・flash1: <ms0: 設定インストールから○ボタンを1秒間押してflash1へインストール(危険度中)
    ・flash0: フォントインストールから○ボタンを5秒間押してflash0へインストール(危険度大)
    ・flash0: kd/resourceインストールから○ボタンを5秒間押してflash0へインストール(危険度大)
  4. DevHookを起動して、起動したいUMDを選択して○ボタンを押す
  5. メニューの設定(推奨)
    ・日本語ランチャ
    UMD選択:起動したいISOファイルを選択
    UMDモード:任意のUMD(この場合、UMDを入れないと動作しない。UMDは何でもOK)
    UMDバージョン:変更無し(元々は2.60以降のFWが使えなかった時に実行する為で、有効にすると動作率が下がります)
    FW選択:2.60(2.70以降対応のタイトルがでていないため)
    CPUクロック:通常は222MHz、333MHzでクロックアップ動作
    ブートモードXMBを再起動
    その他リモコン端子:リモコン使用
    ロードアドレス:0x89000000

    ・英語ランチャ
    UMD MOUNT :ISO ANYUMD
    UMD VERSION :no change
    FIRMWARE :2.60
    CPU CLOCK :通常は222MHz、333MHzでクロックアップ動作
    BOOT SELECT :reboot XMB
    REMOTE CTRL :REMOTE CTRL
    ADDRESS :0x89000000
    ※0.43が初インストールでdevhook.iniが無い場合は最初の起動時その他→ロードアドレスで「0x89000000」を設定

  6. STARTを選択して○ボタンを押すとUMDが入っていなければXMBメニューに戻る
    UMDエミュレーションは始まっているのでマウントされたUMDを起動する
    (この際FW2.60になっているのでUMDを入れたままFW2.60までのISOファイルをマウントすると通常通り自動起動する)
    XMB上でISOの切り替えはHOMEボタン+Lボタン,HOMEボタン+Rボタン
    ※みんなの地図等ゲーム中文字が出ない不具合が出る場合は、
    FW2.00及び2.50,2.60フォルダ内/flash1/registry/system.dregの0x003F44を3E->00に書き換えで回避可能
  7. 次回起動時は3秒以内に○ボタンを押さないと、前回設定で自動的に実行されるので注意
    2.0以上のFW実行中は自作アプリが起動できないので再設定する場合は電源を落として1.50の状態に戻すこと
  • FW1.00への対応(作者未確認)
  1. EBOOT.PBPを1.00用にリパック
  2. FW1.50をインストーラでインストール
  3. ms0:/dh/150/flash0/kd/loadexec.prx を ms0:/dh/kd/loadexec.prx にコピー
  4. DevHook起動後、FIRMWARE -> 1.50を選択し、STARTで○ボタンを押す
  5. XMBのバージョンが1.50になっていれば成功
  6. 成功すればFW2.00も起動可
  • スリープについて
    スリープの可否はレジストリ情報から来ている可能性あり
    モンスターハンターポータブルから吸い出したFW2.0+/flash1/registry/system.dregの0x003F44を3E->00に書き換えで
    スリープ確認(Run UMDでも)

ISOイメージの圧縮

  • CISO圧縮TOOL(V0.32に同梱)
    TOOL/ciso.exeを使用する
    • コマンドプロンプトで
      • ISOを圧縮形式CSOに圧縮する場合
        ciso 9 [ISO_name] [CSO_name]
        [圧縮レベル]は1で最低、高速、9で最高、低速

      • CSOを解凍してISO形式に戻す場合
        ciso 0 [CSO_name] [ISO_name]
  • 圧縮サイズ例
    ぷよぷよフィーバー 圧縮レベル9:135M->80M

PRXファイル置き換え

  • FW2.70以降対応のゲームは"UMD VERSION:2.xx -> 2.00"のパッチだけでは動かない場合があるが、
    ISOファイルを展開して、拡張子がprxのモジュールファイルを2.50以前のものと置き換えて起動できる可能性がある
  • UMDGen使用での手順
    UMDGen:http://www.umdgen.com/
  1. Tools→Extract ISO ContentsでISOファイルを展開(PSP_GAMEフォルダとUMD_DATA.BINに分かれる)
  2. 展開されたISO内の拡張子がprxのモジュールファイル(格納位置はタイトルによって違う、UMD DBに記載されているものも有)を2.60以前のもの(別途展開しておく)で上書き
    ※prxファイルは製作時期によってサイズや内容が違うので動かない場合はサイズ違いの別のものも試す
  3. prxファイルを上書き後のPSP_GAMEとUMD_DATA.BINをUMDGenの右ウインドウにコピー&ドラッグする
  4. File→Save As→ISOでISOファイルに保存で完了
  • 補足
    再構築でのサイズ削減などはUMD Rebuild参照
    サイズ削減の際のモンスターハンターポータブルの展開はMonster Hunter Portable JPN fix for 1.50を参考に

追加モジュール

  • Screenshot Module for DEVHOOK by ねこかぶ氏
  • Memory Dump Module for DEVHOOK by ねこかぶ氏

現状の不具合・未対応項目

不具合

  • CPU Clock333MHzで動作させるとWifiが動作しない場合がある
    これは2.50,2.60フォルダ内のwran.prxを2.00のものと置き換えると正常動作する
  • ファイル構成完璧なのに動作しない場合がある
    一度メモリースティックをFAT16でフォーマットしてみると動作するようになる
  • 大容量メモリースティックでは動作が怪しくなる場合がある
    1Gメモステで構築した環境を全てそのままコピーでSanの4Gで動くという報告有り
  • V0.40のbookmark.htmlファイルがあるとV0.41でブックマーク保存が出来なくなる
  • USB接続の後で、UMD-ISOがリード不能になることがある
    このときは、UMD EJECT、MS EJECT , MS INSERT , UMD INSERTで回復する可能性有り
  • GAMEからXMBに戻れない場合がある
    その場合は電源を切って再起動
  • FW2.50以上のGAMEで、BGMがならない場合がある
    ms0:/dh/200/flash0/kd/me_wrapper.prxをFW2.50のファイルで置き換えて回避できる場合がある

未対応

  • 再構築されたISOイメージの起動
  • FW2.00/2.50を起動後はXMBからDevHookを再起動出来ない
    設定を変更するときは電源を切って1.50の状態に戻してからDevHookを起動、設定
  • RSS
    Atom
    FEED
    XML