ROM Hack [Release] PS1 Forwarder Creator

  • Thread starter Thread starter Sakitoshi
  • Start date Start date
  • Views Views 366,768
  • Replies Replies 589
  • Likes Likes 54
So I figured out how to do this manually on Windows, and I'm sharing the instructions to help anyone else who might need it out. Might be possible to automate with a batch file but I'm not sure how to set those up.

SETTING UP:
1. Download SirFluffDev's GitHub repository by visiting the link earlier in this thread, clicking on Code, then Download ZIP. This will download ps1-3ds-forwarder-master.zip.
2. Unzip it. I personally renamed the folder from ps1-3ds-forwarder-master to ps1-3ds-forwarder and created a folder in it named assets to hold the banner image, banner sound, and icon.
3. Delete everything in the resources folder except for retroarch.cfg, retroarch_3ds.elf, and template.rsf.
4. Download the Windows versions of 3dstool, bannertool, ctrtool, and makerom and put them in the resources folder. These will all be executables, but 3dstool will also have two text files named ext_key.txt and ignore_3dstool.txt.

BUILDING YOUR GAME:
Some of the paths may be different for you, depending on where the tool is located on your PC and what your files are named. Before you begin, you need to determine these aspects of your game: Long name, short name, publisher, and Title ID.
Long name is the full name of the game (i.e. Revelations: Persona).
Short name is a shortened name of the game (i.e. Persona 1). If your game doesn't have a shortened name, reuse the long name.
Publisher is the company that published your game (i.e. Atlus).
Title ID is a four-digit hexadecimal number (i.e. FB1D). This must be unique, as installing a game with a conflicting Title ID will overwrite any existing installed games with that same Title ID.

1. Copy the retroarch.cfg file from the resources folder to the romfs folder and open this copy in a text editor such as Notepad or Notepad++.
2. Use the editing tools (i.e. Edit > Find & Replace) to replace all instances of ROMNAME with the long name of your game.
3. Make any other edits you want or need to make to the configuration file at this time, then save and close it.
4. If you want to see the PlayStation boot logo when starting the game, open core-options.opt in the text editor and change pcsx_rearmed_show_bios_bootlogo to "enabled", then save and close it.
5. Copy your PlayStation 1 disc image (which must be in the CHD format) to the romfs folder and rename it to game.chd.
6. Press the Windows key and R key to open the Run dialog, then enter cmd to open the Command Prompt.
7. Navigate to the ps1-3ds-forwarder's resources folder. If it's on a different drive, enter the drive letter and a colon (i.e. D:) to navigate to it, then use the cd command to navigate to the folders (i.e. cd ps1-3ds-forwarder then cd resources).
8. Enter the following commands (I'm using Revelations: Persona as an example with a Title ID of FB1D), remember to adjust the paths to match the files on your PC:
bannertool.exe makesmdh -s "Persona 1" -l "Revelations: Persona" -p "Atlus" -i "D:\ps1-3ds-forwarder\assets\icon.png" -o icon.icn bannertool.exe makebanner -i "D:\ps1-3ds-forwarder\assets\banner.png" -a "D:\ps1-3ds-forwarder\assets\ps1.wav" -o "banner.bnr" 3dstool.exe -cvtf romfs romfs.bin --romfs-dir "D:\ps1-3ds-forwarder\romfs" makerom.exe -f cia -o "Revelations: Persona.cia" -rsf "D:\ps1-3ds-forwarder\resources\template.rsf" -exefslogo -elf "D:\ps1-3ds-forwarder\resources\retroarch_3ds.elf" -romfs romfs.bin -icon icon.icn -banner banner.bnr -DAPP_UNIQUE_ID=FB1D -DAPP_SYSTEM_MODE=64MB -DAPP_SYSTEM_MODE_EXT=124MB -DAPP_ENCRYPTED=false

9. Afterwards, you can clean up by deleting icon.icn, banner.bnr, and romfs.bin from the resources folder, and retroarch.cfg and game.chd from the romfs folder.
 
  • Like
Reactions: FanNintendo
Dual shock for Ape Escape not working even though I selected in controls before making a Cia?
Post automatically merged:

Dual shock for Ape Escape not working even though I selected in controls before making a Cia?
 
Hello, everyone. This is SirFluff. I lost access to my old account about two years ago. I totally forgot about this old project I hacked together. I no longer have a 3DS, but I recently had a friend reach out and ask me to mod his. I've been busy with real life stuff, but if I get some decent free time I might try to reverse engineer what I did and make a cleaner version for you all.
 
Hi, I am currently trying to use this forwarder and the tutorial you wrote but I am struggling to get it to produce a file?
I entered all the commands correctly (I believe). I went to "Resources" and executed CMD prompt in there, then entered all the commands, one at a time. I have the icon and banner created, but when it comes to entering the command:

`makerom.exe -f cia -o "Revelations: Persona.cia" -rsf "D:\ps1-3ds-forwarder\resources\template.rsf" -exefslogo -elf "D:\ps1-3ds-forwarder\resources\retroarch_3ds.elf" -romfs romfs.bin -icon icon.icn -banner banner.bnr -DAPP_UNIQUE_ID=FB1D -DAPP_SYSTEM_MODE=64MB -DAPP_SYSTEM_MODE_EXT=124MB -DAPP_ENCRYPTED=false`

What happens is the CMD prompt pauses, then returns me to the "resources" directory path with no errors. When I look inside of the folder, a filename "Spyro" appears, at 0 bytes. The long name/ short name I used was "Spyro:_Year_of_the_Dragon".


EDIT: I was a moron and used the command wrong. Followed the video guide from AverageJohtonian and managed to get it working, with the games playing much better. The only issue now, is that the command is not using the retroarch.config, nor is there any music or voices. There is background sfx and character sfx but no BGM/Voices. The cutscenes seem unaffected.

Any help would be appreciated, I'm sure I've done the process wrong somehow.
 
Last edited by Chromasaurus,
Hi, I am currently trying to use this forwarder and the tutorial you wrote but I am struggling to get it to produce a file?
I entered all the commands correctly (I believe). I went to "Resources" and executed CMD prompt in there, then entered all the commands, one at a time. I have the icon and banner created, but when it comes to entering the command:

`makerom.exe -f cia -o "Revelations: Persona.cia" -rsf "D:\ps1-3ds-forwarder\resources\template.rsf" -exefslogo -elf "D:\ps1-3ds-forwarder\resources\retroarch_3ds.elf" -romfs romfs.bin -icon icon.icn -banner banner.bnr -DAPP_UNIQUE_ID=FB1D -DAPP_SYSTEM_MODE=64MB -DAPP_SYSTEM_MODE_EXT=124MB -DAPP_ENCRYPTED=false`

What happens is the CMD prompt pauses, then returns me to the "resources" directory path with no errors. When I look inside of the folder, a filename "Spyro" appears, at 0 bytes. The long name/ short name I used was "Spyro:_Year_of_the_Dragon".


EDIT: I was a moron and used the command wrong. Followed the video guide from AverageJohtonian and managed to get it working, with the games playing much better. The only issue now, is that the command is not using the retroarch.config, nor is there any music or voices. There is background sfx and character sfx but no BGM/Voices. The cutscenes seem unaffected.

Any help would be appreciated, I'm sure I've done the process wrong somehow.
Configuration file should be in the RomFS folder, which gets converted into a file. Spyro might be too demanding for the 3DS but not sure, as I don't own it to test.
has this gotten any update on ps1 core lately? Thank you
Not that I'm aware of. I did try to update the core to use with my copy but got multiple error messages when I tried to compile it.
 
Configuration file should be in the RomFS folder, which gets converted into a file. Spyro might be too demanding for the 3DS but not sure, as I don't own it to test.

Not that I'm aware of. I did try to update the core to use with my copy but got multiple error messages when I tried to compile it.
Thank you for the reply! Would that be affecting the program? I mean Spyro 3 runs excellently, no fps issues, my issue is that the config is not being used when executing the code in CMD, and so the game isn't registering the changes. It is ignoring "retroarch.cfg" and "core-options.opt". They have the changes to audio settings/screen aspect ratio saved in them, but they are being ignored when actually using the command. Everything else is perfect though.

Final EDIT: I made a critical mistake. I was using a spyro 3 .chd which was only 107mb.. When converting my own .chd using the rom in .bin/.cue format, the resulting file was 386mb - A huge difference, and likely that the file I was originally using had skipped the BGM/Dialogue.

For anyone who may have my issue, check that you have a full game including all of the tracks/bin files, and cue, then convert it to .chd yourself.
 
Last edited by Chromasaurus,
Does anyone know the correct line I would enter into the config for adding the control stick inputs? I can see "input_player1_l_x_plus", as well as 3 others - x minus, and y plus/minus inside of the retroarch.cfg and assume those lines are the ones responsible for analogue.

So far in my inject I have tried just doing "Up", "Down", "Left", "Right" for the input, as well as "axis 0 +", "axis 0 -","axis 1 +", "axis 1 -". Neither of those have resulted in being able to use the control stick when starting the game. It has to be changed in the touchscreen virtual console menu.

Any help appreciated, thank you :)
 
Last edited by Chromasaurus,
Hey everyone,

I'm trying to use AverageJohtonian's Windows version of the PS1 forwarder (based on SirFluffDev's script) to create standalone CIAs with a newer PCSX-ReARMed core.

**Problem:**Every CIA I build drops straight to the RetroArch menu and shows "**Failed to load content**". It never boots into the game and just kicks me into the RetroArch menu.

**What I've already tried (multiple clean attempts):**- Fresh download of the repo- romfs contains only: game.chd (renamed exactly "game.chd" - all lowercase), system/ folder with PSXONPSP660.BIN inside, PCSX-ReARMed folder, retroarch-core-options.cfg, and retroarch.cfg- retroarch.cfg has ABCD replaced with a short name (e.g. "MVC" or "MGS1") for save paths; log_dir is commented out- Rebuilt multiple times following INSTRUCTIONS.md + the example makerom command- Checked romfs.bin size after 3dstool (it grows properly when adding the game file)- Fully uninstalled previous CIAs in FBI before installing the new one (and rebooted 3DS)- Tried both .chd and .pbp (renamed to game.chd / game.pbp)- Tested the exact same .chd/.pbp + BIOS in standalone RetroArch + PSXReARMed → loads and plays perfectly

**Test game right now:** Marvel vs. Capcom - Clash of Super Heroes (light 2D fighter)

**My makerom command (example):**makerom.exe -f cia -o "Marvel vs Capcom.cia" -rsf "[full path]\template.rsf" -exefslogo -elf "[full path]\retroarch_3ds.elf" -romfs romfs.bin -icon icon.icn -banner banner.bnr -DAPP_UNIQUE_ID=MVCC -DAPP_SYSTEM_MODE=64MB -DAPP_SYSTEM_MODE_EXT=124MB -DAPP_ENCRYPTED=false

I'm on **New 3DS** with latest Luma3DS and New 3DS overclock enabled.

Has anyone else run into this "Failed to load content" issue with the Windows wrapper recently? Any tips on what I might be missing in the romfs layout or build process? Would really appreciate if someone could share their current working romfs folder structure (list of files/folders) for comparison.

Thanks in advance!
 
  • Like
Reactions: bonkmaykr
I tried AverageJohtonian's setup and no matter what I did to the files I could not get my per-game config or my core settings to load. I need custom overscan params and performance options for Raycrisis or else the game looks and runs like ass. The configs in their usual locations on the SD card do not work either, plus some settings in the base retroarch config that does work are ignored, like save directory. I'm using my own core (unless there's something in the fork preventing that). Whatever changes were made in that Retroarch fork, they are WRONG.

I appreciate though that I can actually make a decent banner with that one. The solution in the OP is not elegant at all - most of the settings that should be there are totally missing. No border removal, no custom jingle, like most of the emulation options don't have a field, so on

I am going to just write my own tiny libretro frontend with the stuff I want hardcoded and call it a day because I really do not want to deal with the whole of retroarch for one game that i'm not switching out.
 
Last edited by bonkmaykr,

Site & Scene News

Popular threads in this forum