謎物体 その9b SDL(http://www.libsdl.org/download-1.2.php) をげっとしれ EBOOT.PBPを所定のフォルダに入れて実行しれ EBOOT.PBPを実行ファイルまたはショートカットにドラッグ&ドロップしてもいける EBOOT.PBPを指定しなければメニューがでるっす 所定のフォルダにあるEBOOT.PBPを↑↓で選んでEnterで決定するっす 実行ファイルのあるフォルダにms0\PSP\GAMEつーフォルダを掘って、 そん中にさらにソフトごとにフォルダを作ってEBOOT.PBPを入れれ メニュー背景画像は480x272x24bitのPNGまたはBMPで差し替えできます。 pspe.exe SDL.dll MENU.png(bmp) ms0 +--PSP +--GAME +--SOFT1 | +-- EBOOT.PBP +--SOFT2 +-- EBOOT.PBP  ↑   ↑  ← → ← →  ↓   ↓   △   w □ ○ a d  ×   s START F1 SELECT F2 左トリガ 左SHIFT 右トリガ 右SHIFT F12 スクリーンショット ESC メニューに戻る/終了 あとメニューの文字にナガ10半角を使ってます。実機にあわせるには8x16の文字とかでもよかったんだけど探すのがマンドクサかったので。 メニューの背景画像はあぷろだからちょっぱりました。 ------ 開発者向けデバック出力機能 int pspeDebugWrite(const char* str,size_t length); STUB_START "pspeDebug",0x40010000,0x00010005 STUB_FUNC 0xDEADBEAF pspeDebugWrite STUB_END 注:これをリンクしたまま実機で動かすと起動しないので注意。 実機にコピーする前に再コンパイルしれ。 ------- PSPで自作できるようになったけどもれのは1.5のため実行できないので欝。 しょうがないので実行テスト環境を作ることにした。 けど1.0手に入れたにょ。開発速度が進むか、他の作業(PSP用ソフト開発)で遅れるかは気分しだい。 某ソフトを移植中にコレで動いて実機で動かない現象に遭遇。printfで追っかけるとどうもunaligned accessくさい というわけでunaligned accessチェックをつけた ------ 履歴 その9b その9の中身が8でつた。スマ その9 MENUのfontをM+ font 12dotに変更 sceKernelLibcClockとsceCtrlReadのクロック値を修正 その8 Lseek等のBIOS修正 開発者用デバッグ出力追加 BIOS LOGを分けた その7 SNES9xが動いたもにょん メモリ周りの恥ずかしいバグをFIX BIOSをfix その6 時間関連の関数がついた メニューに背景画像がついた その5 メニューでアイコンとタイトルを表示するようになった HOME/電源対応のソフトに暫定対応 その4 メニューをつけた EBOOT.PBPがEBOOT.PBPだった恥ずかしい間違いをなおした その3 GBえみゅがうごくようになったもよん ついでにスクリーンショットつけた その2b ボタン割り当てがドキュメントと食い違ってたので直した その2 PBPヘッダのバージョンチェックをしないようにした。 謎 とりあえずHelloが動いた ---- get SDL from http://www.libsdl.org/download-1.2.php put EBOOT.PBP on special folder and execute. or Drag & Drop EBOOT.PBP to executable or shotcut if you don't drag'drop, menu appear. select EBOOT.PBP in special folder (see below). select upper and down allow and Enter. create ms0\PSP\GAME folder under executable folder make directory for each software and put EBOOT.PBP in it. pspe.exe SDL.dll MENU.png(or bmp) ms0 +--PSP +--GAME +--SOFT1 | +-- EBOOT.PBP +--SOFT2 +-- EBOOT.PBP UP UP DOWN DOWN LEFT LEFT RIGHT RIGHT /\ w [] O a d X s START F1 SELECT F2 LTRIGGER LSHIFT RTRIGGER RSHIFT F12 Screenshot ESC Back to menu/End optinal command line -l -b dump bios call (except periodic function) -b2 dump all bios call -a dump disassembler [file] filename (default EBOOT.PBP) loadable format is pbp and psp(elf) periodic function: sceDisplayWaitVblankStart sceDisplaySetFrameBuf sceCtrlRead sceKernelLibcGettimeofday note: sceKernelLibcGettimeofday is 1 second resolution on this version. usec is allways 0. ------ debug output (for developper) int pspeDebugWrite(const char* str,size_t length); STUB_START "pspeDebug",0x40010000,0x00010005 STUB_FUNC 0xDEADBEAF pspeDebugWrite STUB_END note: if you run program linked with this function on real psp , it can't run. before you copy on memory stick, need recompile. ----- changelog 0.9b 0.9 acrhive includes 0.8 binary. 0.9 change menu font fix sceKernelLibcClock and sceCtrlRead clock tick 0.8 bios fix (Lseek etc) add debug output for developper 0.7 memoy bug fix some bios function fix SNES9x work fine 0.6 add time/date functions add background image in menu