ROM Hack [Release] PS1 Forwarder Creator

DeltaVelocity

Member
Newcomer
Joined
Aug 16, 2021
Messages
9
Trophies
0
Age
23
XP
79
Country
India
Looks like there is a createcodebin function in rarch3ds_forwarder_creator_functions.ahk? May not be what creates that particular code.bin though...
It seems that it extracts the correct emulator from the code.bin for the final file. It seems to rely on very specific locations for where the file is stored but with a lot of patience, it could be updated.
 

Sakitoshi

GBAtemp Official Lolimaster
OP
Member
Joined
May 8, 2012
Messages
2,256
Trophies
2
Age
33
Location
behind a keyboard or a gamepad
Website
sakiheru.blogspot.com
XP
2,922
Country
Chile
hello, long time no see.
well, if it isn't apparent yet, i've not updated the emulator core in a long time and several advances have been made in all this time. i don't have the interest i had before (and have no need to emulate ps1 on 3ds anymore), but i can at least leave more clear instructions as to how to update the core.
i've updated the repo with the instructions, so if anyone wants to continue this project, go ahead.
https://github.com/Sakitoshi/rarch3ds_forwarder_creator
 

doha057

Well-Known Member
Newcomer
Joined
Oct 30, 2017
Messages
67
Trophies
0
Age
37
XP
517
Country
Bangladesh
Thank you kind sir for your dedication and effort, I hope you have a great day.

Edit: Not an expert so I would implore someone who can follow up with the given instruction to make a new build and share for the noobs like us, you will be doing god's work. Cheers :bow::grog:
 

blaizX

Active Member
Newcomer
Joined
Nov 24, 2009
Messages
36
Trophies
1
XP
168
Country
Thank you kind sir for your dedication and effort, I hope you have a great day.

Edit: Not an expert so I would implore someone who can follow up with the given instruction to make a new build and share for the noobs like us, you will be doing god's work. Cheers :bow::grog:
I can't say it better.
please, can someone compile a new build? <3
 

fusermarucs

Well-Known Member
Newcomer
Joined
Nov 5, 2009
Messages
61
Trophies
1
XP
1,136
Country
hello, long time no see.
well, if it isn't apparent yet, i've not updated the emulator core in a long time and several advances have been made in all this time. i don't have the interest i had before (and have no need to emulate ps1 on 3ds anymore), but i can at least leave more clear instructions as to how to update the core.
i've updated the repo with the instructions, so if anyone wants to continue this project, go ahead.
https://github.com/Sakitoshi/rarch3ds_forwarder_creator
Thanks for all your efforts: I still play several games made with this, to this day (Doom being the best - savestate means no level codes praise be!!!)
Thx again
 

doha057

Well-Known Member
Newcomer
Joined
Oct 30, 2017
Messages
67
Trophies
0
Age
37
XP
517
Country
Bangladesh
Is there any game even if it is 2D that runs at a playable speed on the old 3DS?
Its not about the game, its about the program that emulates the game. O3DS is just too weak to run the app. Unlike SNES9X emulator, Retroarch requires way more powerful architecture to run. O3DS is still excellent for a lot of things but sadly it won't run PS1 forwarder games.
 

havocdrake

Well-Known Member
Newcomer
Joined
May 19, 2020
Messages
72
Trophies
0
Age
34
XP
1,168
Country
Philippines
Its hard, its not even compiling...

2022-06-18 19_07_32-~_Desktop_pcsx_rearmed-824ba219962929879b384706a18d134231939a46.png
 

draftguy

¯\_(ツ)_/¯
Member
Joined
Nov 20, 2020
Messages
809
Trophies
2
Location
the wordless chamber
XP
1,765
Country
Germany
No luck either...

make -f Makefile.ctr clean
make -f Makefile.ctr
Code:
.\libretro_ctr.a(cdriso.o): In function `readThreadMain':
cdriso.c:(.text+0xcc0): undefined reference to `CondVar_WakeUp'
cdriso.c:(.text+0xda8): undefined reference to `CondVar_WakeUp'
cdriso.c:(.text+0xe88): undefined reference to `CondVar_WakeUp'
cdriso.c:(.text+0xec4): undefined reference to `CondVar_Wait'
.\libretro_ctr.a(cdriso.o): In function `cdread_async':
cdriso.c:(.text+0xfb0): undefined reference to `CondVar_Wait'
cdriso.c:(.text+0xfd0): undefined reference to `CondVar_WakeUp'
cdriso.c:(.text+0x1024): undefined reference to `CondVar_Wait'
.\libretro_ctr.a(cdriso.o): In function `ISOclose':
cdriso.c:(.text+0x135c): undefined reference to `CondVar_WakeUp'
.\libretro_ctr.a(cdriso.o): In function `ISOopen.part.9':
cdriso.c:(.text+0x3400): undefined reference to `CondVar_Init'
cdriso.c:(.text+0x3408): undefined reference to `CondVar_Init'
cdriso.c:(.text+0x3418): undefined reference to `CondVar_Init'
cdriso.c:(.text+0x3dd8): undefined reference to `CondVar_WakeUp'
.\libretro_ctr.a(gpulib_thread_if.o): In function `video_thread_main':
gpulib_thread_if.c:(.text+0x98): undefined reference to `CondVar_Wait'
gpulib_thread_if.c:(.text+0x32c): undefined reference to `CondVar_WakeUp'
gpulib_thread_if.c:(.text+0x360): undefined reference to `CondVar_WakeUp'
.\libretro_ctr.a(gpulib_thread_if.o): In function `renderer_wait':
gpulib_thread_if.c:(.text+0x410): undefined reference to `CondVar_Wait'
.\libretro_ctr.a(gpulib_thread_if.o): In function `renderer_sync':
gpulib_thread_if.c:(.text+0x48c): undefined reference to `CondVar_Wait'
gpulib_thread_if.c:(.text+0x52c): undefined reference to `CondVar_Wait'
gpulib_thread_if.c:(.text+0x580): undefined reference to `CondVar_WakeUp'
.\libretro_ctr.a(gpulib_thread_if.o): In function `video_thread_start':
gpulib_thread_if.c:(.text+0x5b4): undefined reference to `CondVar_Init'
gpulib_thread_if.c:(.text+0x5bc): undefined reference to `CondVar_Init'
gpulib_thread_if.c:(.text+0x5c4): undefined reference to `CondVar_Init'
gpulib_thread_if.c:(.text+0x840): undefined reference to `CondVar_WakeUp'
.\libretro_ctr.a(gpulib_thread_if.o): In function `do_cmd_list':
gpulib_thread_if.c:(.text+0x10d8): undefined reference to `CondVar_Wait'
gpulib_thread_if.c:(.text+0x1138): undefined reference to `CondVar_WakeUp'
gpulib_thread_if.c:(.text+0x13a0): undefined reference to `CondVar_WakeUp'
.\libretro_ctr.a(gpulib_thread_if.o): In function `renderer_finish':
gpulib_thread_if.c:(.text+0x15e4): undefined reference to `CondVar_WakeUp'
.\libretro_ctr.a(gpulib_thread_if.o): In function `renderer_update_caches':
gpulib_thread_if.c:(.text+0x16bc): undefined reference to `CondVar_Wait'
gpulib_thread_if.c:(.text+0x175c): undefined reference to `CondVar_Wait'
gpulib_thread_if.c:(.text+0x17c4): undefined reference to `CondVar_WakeUp'
.\libretro_ctr.a(gpulib_thread_if.o): In function `renderer_notify_update_lace':
gpulib_thread_if.c:(.text+0x1948): undefined reference to `CondVar_Wait'
gpulib_thread_if.c:(.text+0x197c): undefined reference to `CondVar_WakeUp'
.\libretro_ctr.a(gpulib_thread_if.o): In function `renderer_set_config':
gpulib_thread_if.c:(.text+0x1b88): undefined reference to `CondVar_WakeUp'
.\libretro_ctr.a(gpulib_thread_if.o): In function `renderer_notify_res_change':
gpulib_thread_if.c:(.text+0x1c10): undefined reference to `CondVar_Wait'
gpulib_thread_if.c:(.text+0x1cb0): undefined reference to `CondVar_Wait'
gpulib_thread_if.c:(.text+0x1d0c): undefined reference to `CondVar_WakeUp'
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile.ctr:389: retroarch_3ds.elf] Error 1

@havocdrake

Try this command for a 3DS build:
(and good luck)

Code:
make -f Makefile.libretro platform=ctr
 
Last edited by draftguy,
  • Like
Reactions: doha057

Marcogn

Member
Newcomer
Joined
Oct 13, 2017
Messages
16
Trophies
0
Age
32
XP
145
Country
Italy
Hi all, I've finally managed to have a pcsx_rearmed_libretro_ctr.a (with a help from libretro docs).

Prerequisite: you've downloaded and installed devkitpro, devkitARM and whatever until point 5 and you'll be using the MSYS bash bundled with it. I recommend to use the one bundled and to not download another one.

Follow the instructions until point 4, point 5 will be is as follows:

5a. If on Windows, follow the instructions to set up the environment here (only the section Environment Configuration);​
5b. Then, here follow ONLY (for now) the fetching cores section. If you want, you may fetch only pcsx_rearmed core (as described in line Fetch one core, with a command like: ./libretro-fetch.sh pcsx_rearmed);​
5c. Now create a .sh file (name it as you want, mine is called libretro-3ds-SetEnv.sh) in the "libretro-super" folder get in point 5b and inside use the content of this. The CTRBANNERTOOL property is not necessary and I've deleted it, you may want to let it stay there.​
IMPORTANT: update the paths of devkit folders in proper way (remember, the path will start witch /c/ in unix-like shell)​

Follow instructions 6-7 (I had only to modify the first row, I couldn't find the second)

8a. in MSys2 launch the .sh created in 5c​
8b. Follow the instructions in building-cores.​
NOTE: I've used the libretro-super method with ctr and worked flawlessly. I've used the command $ ./libretro-build-ctr.sh . Although it will try to compile every core, if you followed the previous steps it will find and compile only the pcsx-rearmed core.​
8c. Grab the pcsx_rearmed_libretro_ctr.a in libretro-super/dist/ctr​

Now you can rename the file as described in point 7 and go on.
 
  • Like
Reactions: draftguy and Zense

draftguy

¯\_(ツ)_/¯
Member
Joined
Nov 20, 2020
Messages
809
Trophies
2
Location
the wordless chamber
XP
1,765
Country
Germany
You can add pcsx_rearmed at the end of the command
./libretro-build-ctr.sh pcsx_rearmed

Building the core is not the problem.
RetroArch-3DS-Forwarders-PSOne can‘t handle the new
threading api CondVar and errors out when trying to build.

@havocdrake
Something in your build environment is wrong / missing.
 
  • Like
Reactions: Marcogn

ROMANREIGNS599

Well-Known Member
Member
Joined
May 6, 2017
Messages
531
Trophies
0
Age
31
XP
951
Country
United States
Can I have the another CIA of the same PS1 game with different performance settings or a different name but the CIA is modded? I wanna have different save files for both and don’t want saves to mix up or data to get corrupted in this process

as I’m quite far into the game (CV Symphony of the Night)
 

doha057

Well-Known Member
Newcomer
Joined
Oct 30, 2017
Messages
67
Trophies
0
Age
37
XP
517
Country
Bangladesh
Can I have the another CIA of the same PS1 game with different performance settings or a different name but the CIA is modded? I wanna have different save files for both and don’t want saves to mix up or data to get corrupted in this process

as I’m quite far into the game (CV Symphony of the Night)
Make sure the generated title ID is different and you will be fine.
 

doha057

Well-Known Member
Newcomer
Joined
Oct 30, 2017
Messages
67
Trophies
0
Age
37
XP
517
Country
Bangladesh
How can I make sure that? Can I see the title ID in FBI of another cia I’m gonna download and also of the already installed ps1 cia?
You don't have to, if you make the CIA file from scratch, the forwarder will automatically assign a new ID on it, so just do it. Also don't worry about the save files, they will be based on the title id and separated from one another. But if you do want to use one save file to the other, just copy and paste over it, but back it up first, because you wouldn't know which one is which. Best idea is to browse the retroarch folder and find your current save file, take a screen cap of the folder before installing the new CIA file.
 
  • Like
Reactions: ROMANREIGNS599

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: https://i.imgur.com/bG1pQld.mp4 +1