PS3 PC Engine/TurboGrafx-16 (PS3/PSP) Research Thread

mrjaredbeta

Developer
Has anyone really looked into this? The PCE/TG16 games released on both PS3/PSP just like PSOne Classics. The emulator on PS3 uses the PSP data files similarly to how PSOne Classics are it seems. Quite a few games were released: https://en.wikipedia.org/wiki/List_of_PlayStation_Store_TurboGrafx-16_games

Using this program created by u/IncendiaryIdea on the PSP subreddit (based off of quikrazor87's encryption algorithm research), I was able to inject Bomberman '93, a game that wasn't officially released on the PS Store, into the PS3 version of "Soldier Blade": https://www.reddit.com/r/PSP/comments/l0sg1e/tginjector_a_tool_to_take_advantage_of_soldier/

It basically encrypts any PCE ROM to a CONTENT.DAT matching Soldier Blade's format. There are python scripts of the decryption/re-encryption of any PCE/TG16 release provided by reprep of Wololo's forums. I couldn't get this to run properly on my computer, but the decryption/encryption code is attached to the bottom of the OP (PCE_py_tool): https://wololo.net/talk/viewtopic.php?t=41526

There is also a configuration file located in the PSP files titled "CONFIG.PSP."
Code:
;===============================================================================
; Virtual PC Engine for PSP Network config file
;===============================================================================
;
;【概要】
;
; コンフィグファイルは、タイトルに依存する情報を定義するファイルである。
;
; コンフィグファイルは、アプリケーション起動時にロード・解析し、必要な情報を参照
; する。
;
;【規定】
;
; - 本ファイルに使用する文字コードは、UTF8とする。
; - キーワード=定義値の'='の前後に空白文字を使用することは禁止する。
; - 1行に定義する文字数は、256バイトとする。
; - 文字列は、'"' ~ '"'内に定義する。
; - 同一定義を行った場合は、最後の定義が有効となる。
; - エミュレータ用フラグは、使用するフラグの定義値に非0(1)を指定する。
;   使用しないフラグは、定義値に0を指定する。(使用しないフラグは、定義の省略可)
;
;    PCE_ENABLE_6BUTTON            6ボタンパッド有効
;    PCE_ENABLE_SPRITE_OVER            スプライト表示オーバー
;    PCE_ENABLE_SOUND_UPDATE_MANUAL        ※ 常に1
;    PCE_ENABLE_ADJUST_RASTER_TIMING        ラスター割り込みのタイミングを1ラスター早める
;    PCE_ENABLE_RASTERHIT_DRAW        ラスター割り込みのタイミングで強制表示
;    PCE_DISABLE_MULTITAP            マルチタップ無効
;    PCE_ENABLE_VRAM_WRITE_DRAW        CG書き換えタイミングによる画像乱れ抑止
;
;【備考】
;
; - コメントは、';'の後に記述する。
; - [~]と記載されている行は、セクション名として解釈し、無視する。
;   (セクション名は、見易さを目的としたもので、情報には反映されない)
; - 空行は無視する。
;
;===============================================================================
;-------------------------------------------------------------------------------
; セーブデータ情報
;-------------------------------------------------------------------------------
[SAVEDATA]

;- タイトルID(品番)
TITLE_ID="NPUF30016"

; - システムファイル用タイトル名 : 日本語版
SYS_TITLE_JP="**********"

; - システムファイル用タイトル名 : 英語版
SYS_TITLE_US="SOLDIER BLADE"

; - パレンタルロックレベル
PARENTAL_LEVEL=3

;- ゲームデータ用アイコンファイル名
GAMEDATA_ICON="SAVEDATA.PNG"

;- バックアップRAM用アイコンファイル名 : PS3とのインポート・エクスポート用データ
BACKUPRAM_ICON="SAVEDATA.PNG"

;-------------------------------------------------------------------------------
; ROM(タイトル)情報
;-------------------------------------------------------------------------------
[ROM]

;- ROMファイル名 : HuCARD "XXXX.PCE"、CD-ROM "XXXX.hcd"(ディレクトリ名)
ROM_NAME="TGX040082.PCE"

;- コンテンツファイル、鍵ファイルを格納しているパス名
ROM_PATH="ms0:/PSP/GAME/NPUF30016"

;-------------------------------------------------------------------------------
; マニュアル情報
;-------------------------------------------------------------------------------
[MANUAL]

;- ファイル名プリフィックス(パス付き)
;  -> ページ番号、拡張子(".PNG")は、アプリケーションで生成
;
;     ファイル名 = ROOT_PATH + MAN_PREFIX + 3桁のページ番号 + ".PNG"
MAN_PREFIX="psp_"

;- 最大ページ番号
MAN_PAGE_MAX=7

;- 最大ページサイズ(幅・高さ)
MAN_PAGE_WIDTH=480
MAN_PAGE_HEIGHT=960

;-------------------------------------------------------------------------------
; エミュレータ情報
;-------------------------------------------------------------------------------
[PC ENGINE]

;- フラグ :
; PCE_ENABLE_SOUND_UPDATE_MANUAL | PCE_ENABLE_VRAM_WRITE_DRAW
PCE_ENABLE_6BUTTON=0
PCE_ENABLE_SPRITE_OVER=0
PCE_ENABLE_SOUND_UPDATE_MANUAL=1
PCE_ENABLE_ADJUST_RASTER_TIMING=0
PCE_ENABLE_RASTERHIT_DRAW=0
PCE_DISABLE_MULTITAP=1
PCE_ENABLE_VRAM_WRITE_DRAW=0

; end of CONFIG.INI
It doesn't seem particularly complex, but there are some emulator settings located at the bottom.

It would be nice to have some sort of PCE/TG16 Placeholder package, similar to PS2 Classics Placeholder, to be able to launch custom games, or even mounting custom CONTENT.DATs on a placeholder through something like WebMAN MOD since this is an official emulator like the ps1/ps2_netemus. Of course, the emulator is included in each of the game's PS Store packages, so users would have to provide their own emulator files for use with their ROMs.

Yeah, I know, there's PCE emulators out there for PS3, but this is cool. :P
 
I got quikrazor's original extractor working. Here is the PS3 specific config file for Soldier Blade:
Code:
; このファイルは文字コード「UTF8シグネチャ無し」で保存します。

;==================================================
; 【タイトル名】を日本語で記載
;  ※セーブファイルに反映されます
;==================================================
TITLE=SOLDIER BLADE

;==================================================
; 【ROMイメージファイル名】を指定 (.PCE)
;  ※CDROM版ではトラック情報ファイルを指定(.hcd)
;==================================================
ROM=TGX040082.PCE

;==================================================
; 【ラスタースクロール】が1ラインずれてしまう場合は
;   1を設定する。
;==================================================
RASTER=0

;==================================================
; 【スプライトオーバー】を利用したエフェクトを使用
;   しているタイトルは1を設定する
;==================================================
SPRLINE=0

;==================================================
; 【マルチタップ】が繋がっていると操作不能になる
;   タイトルでは0を設定する
;==================================================
MULTITAP=1

;==================================================
; 【メモリベース128】(互換品「せーぶくん」)対応の
;   タイトルのみ1を設定する
;==================================================
MB128=0

;==================================================
; 【スーパーグラフィックス】対応タイトルの場合のみ
;   1を設定する
;==================================================
SG=0

;==================================================
; 【アーケードカード】対応タイトルの場合のみ
;   1を設定する
;==================================================
ARCADE=0

;==================================================
; 【6ボタンパッド】対応タイトルの場合のみ
;   1を設定する
;==================================================
BUTTON6=0

;==================================================
; 【バックアップRAM】対応タイトルのみ1を設定する
;    AUTOSAVE=1の場合は以下の記載も追加
;    EXPORTPATH=PSP/SAVEDATA/NPJJ?????
;==================================================
AUTOSAVE=1
EXPORTPATH=PSP/SAVEDATA/NPUF30016

;==================================================
; 【マウス】対応タイトルのみ1を設定する
;==================================================
MOUSE=0

;==================================================
; 【CPUPOWER】CPUクロックの倍率 (通常1.0)
;==================================================
CPUPOWER=1.0

;==================================================
; 【オーバースキャン領域】通常は0を設定
;    ブラウン管テレビでは見えなかった領域が見えて
;    見栄えが悪い場合に、切り取るドット数を指定
;==================================================
HIDEOVERSCAN=0

;==================================================
; 【音量】通常は1.0を設定
;    PSG,ADPCM,CDPCM音源の音量を倍率で設定
;==================================================
VOL_PSG=1.0
VOL_ADPCM=1.0
VOL_CDPCM=1.0

;==================================================
; 【IRQモード】通常は0を設定
;    通常はブロック転送中の割り込みは保留され、
;    転送終了後に割り込みが発生する。
;    1を設定すると、ブロック転送命令中に割り込みが
;    発生した場合、転送を中断して割り込みを実行。
; 
;    例えばBGの初期化でブロック転送命令を使用していて
;    BG表示開始タイミングがずれて一瞬ゴミフレームが
;    表示されるような症状が改善される場合がある。
;==================================================
IRQMODE=0


After some tests:
  • Changing the "ROM=TGX040082.PCE" path to anything you want as long as you also rename the .PCE filename as well works. Changing the PCE ROM filename to SOLDIER.PCE and the ROM=SOLDIER.PCE will boot up normally. Space characters are not allowed and the emulator will exit after the initial splash screens. It is also not case sensitive.
  • Importing a new PCE ROM instead of the one above will work as well as long as the path and filename are the same.
  • Changing "TITLE=SOLDIER BLADE" while change what the save file is named. For example, changing to TITLE=BOMBERMAN will save the game (save state) as BOMBERMAN #1 in the emulator saving options. This option is case sensitive, and renaming to TITLE=Bomberman will show up as "Bomberman #1."
There are other options as well, such as mouse support(!) for games that use it: https://www.reddit.com/r/TurboGrafx/comments/cefrg4/what_games_use_the_pc_engine_mouse/
 
Back
Top