PS3 A homebrew idea for the PS3, and trying to learn how to begin

Good morning,

I have recently become interested in learning about and playing on the PS3. As I setup Webman, the process of manually downloading box art for PS1/2/3 games and resizing them to view correctly with transparency on the XMB seems very tedious. Therefore, I've thought about creating a homebrew app to automatically do this based on the Game ID, filename, or by selecting from a list of games.

I am aware of both the pre-made .pkg files and cover tool by Rudi Rastelli linked here, github.com/aldostools/webMAN-MOD/wiki/Game-Paths-&-Covers, for this very purpose. However, the idea of doing this on the PS3 by itself and having the individual image files more easily accessible (as far as I know) seems both more appealing and like a good opportunity to learn more programming skills. I can also use those other projects for guidance if needed, since I am new to a lot of tools not-specific to the PS3 even, such as any for image resizing, downloading files from the internet, and some file I/O-related.

So far I have been attempting to setup the tools for PS3 homebrew development, specifically the pre-compiled PSL1GHT v2 from this page, psdevwiki.com/ps3/PSL1GHT, and using any samples from webMAN-MOD to both learn from and to test ps3load. However in addition to not being able to debug ps3load's "connection refused" error, I'm not understanding the structure of webMAN's reloadxmb program, aside from the 7-line main.c file that just returns immediately. This as well as not being able to even compile the reloadxmb program due to errors I fail to recognize makes me think doing a very complex project like what I'm imagining will be unreasonably difficult.

My question is whether anyone else had these difficulties when learning how to write homebrew? Perhaps it is both a lack of relevant C/C++ knowledge and the obscurity of information for PS3 development, but regardless, I really look forward to making progress on this project or one like it, and knowing the difficulties faced by other programmers initially would help to understand where I'm at as well.

Sorry if the post is too long for some, hopefully it's all relevant information.
 
I'm not a developer, but I've gotten pretty good at compiling stuff, for almost any system. however, it takes a lot of reading and asking questions sometimes, especially with a new system. some are definitely easier to compile for than others. what I can say about psl1ght is that you probably don't want to be on the latest. it's broken things for a lot of legacy, even newer, homebrew. a precompiled build like you downloaded is probably good, because most precompiles are several years old. I can solve most errors with compiles, but whenever I encounter one I simply can't figure out, I usually post an issue about it on github. depending on how active the homebrew project is currently, you could get a response quickly. asking here may be more practical with the ps3 though, since most devs have retired or moved on anyway. the hardest part for me is knowing whether an error is a coding problem or something being up with the sdk. that's just my two cents. good luck.
 
what I can say about psl1ght is that you probably don't want to be on the latest. it's broken things for a lot of legacy, even newer, homebrew. a precompiled build like you downloaded is probably good, because most precompiles are several years old.

Thanks for the advice about where to find help, this forum indeed seems like a great place to do so.
Which version of psl1ght do you use? I don't know which pre-compiled version I have, but I can re-download it if that'll fix any issues.

I would start with the examples on PSL1GHT, learning how to compile them and send them over to ps3load.

Regarding ps3load, it is recommended to use @bucanero's ps3loadx as it's the only one that works out of the box (supposing you have already configured your network correctly).

I did try earlier to compile some of the PSL1GHT samples (under audio, input, network, spu, thread, and video folders), but I will try again and reply with specific errors if I encounter errors, if that is okay. Forgive me if I've severely missed some documentation on how to do this, I've only compiled basic C++ programs for classes, so I have to learn a lot more about any new tools used besides just running "make".
I also re-tried using ps3loadx, and I did not know before that I needed to run the app from the PS3 as well, since it was under the XMB's Network folder, not the Games folder. So...... that wasn't a great feeling.


keep in mind webman mod might not be the best project to take as an example, because it's actually a VSH plugin and not a homebrew app.

Take for example IRISMAN source code for a real homebrew app, it's also on aldostools GitHub, and you should be able to use psl1ght with it.

It seems like the psl1ght samples will be easier to understand and modify, rather than such a complex app like IRISMAN, but thanks for the recommendation. I will keep this in mind if (inshallah) I can develop my homebrew idea more.


Also, sorry for my late response, I was not expecting such quick replies. Thanks for the help!
 
I tried helping someone get the toolchain working in order to build sonic mania w/ plus, but I think he encountered freezing or something while compiling it (the toolchain). I don't know if he encountered an error or not. I suggested he try @bucanero 's precompiled version (that's a good place to start), but I think it was too old for mania. I'm not sure, but he encountered an error with mania (not SDL2) with the rules iirc. I don't normally build playstation stuff in normal windows, except for psp or vita. I use linux (sorta) as it's wsl. ubuntu 20.04 is a good distro to use as it's not too old and not too new, perfect for the ps3. it's less of a headache imo to build here than say normal windows or msys/cygwin. there may be a docker container for building the toolchain, which would negate the need for dependencies or wrong versions. I know the psp toolchain can be built with docker. it would be the easiest way to ensure it's installed correctly, but as I said, I don't know if there is one. do note that they changed some names of packages between ubuntu 20.04 and 22.04, such as python for example. good luck. I'm still an amateur myself, but I've learned a lot by doing and reading stuff.
 
I did try earlier to compile some of the PSL1GHT samples (under audio, input, network, spu, thread, and video folders), but I will try again and reply with specific errors if I encounter errors, if that is okay. Forgive me if I've severely missed some documentation on how to do this, I've only compiled basic C++ programs for classes, so I have to learn a lot more about any new tools used besides just running "make".
I also re-tried using ps3loadx, and I did not know before that I needed to run the app from the PS3 as well, since it was under the XMB's Network folder, not the Games folder. So...... that wasn't a great feeling.

Don't worry, there are lots of things that can go wrong while compiling the SDK (I've went through them myself).

Best and easiest approach would be to get a precompiled SDK, that way you should get everything ready to start practicing with the samples.

If you feel brave enough, you can compile it yourself but be aware to step upon some issues with chained dependencies.

Regarding make, it's best to check the simplest app you can build: "hello world" (SDK_PATH/templates/trivial). You can start messing around with the Makefile, changing some values, etc. Once you've learned it, you can configure it to handle all the dependencies that your homebrew requires (rsx, sound, etc.).
 
the "blitting" example from ps1lght is a good way to check if the SDK was built "alright".... you can send the .self using ps3loadX and see if you get something on your screen.
 
Good morning,

I have recently become interested in learning about and playing on the PS3. As I setup Webman, the process of manually downloading box art for PS1/2/3 games and resizing them to view correctly with transparency on the XMB seems very tedious. Therefore, I've thought about creating a homebrew app to automatically do this based on the Game ID, filename, or by selecting from a list of games.

I am aware of both the pre-made .pkg files and cover tool by Rudi Rastelli linked here, github.com/aldostools/webMAN-MOD/wiki/Game-Paths-&-Covers, for this very purpose. However, the idea of doing this on the PS3 by itself and having the individual image files more easily accessible (as far as I know) seems both more appealing and like a good opportunity to learn more programming skills. I can also use those other projects for guidance if needed, since I am new to a lot of tools not-specific to the PS3 even, such as any for image resizing, downloading files from the internet, and some file I/O-related.

So far I have been attempting to setup the tools for PS3 homebrew development, specifically the pre-compiled PSL1GHT v2 from this page, psdevwiki.com/ps3/PSL1GHT, and using any samples from webMAN-MOD to both learn from and to test ps3load. However in addition to not being able to debug ps3load's "connection refused" error, I'm not understanding the structure of webMAN's reloadxmb program, aside from the 7-line main.c file that just returns immediately. This as well as not being able to even compile the reloadxmb program due to errors I fail to recognize makes me think doing a very complex project like what I'm imagining will be unreasonably difficult.

My question is whether anyone else had these difficulties when learning how to write homebrew? Perhaps it is both a lack of relevant C/C++ knowledge and the obscurity of information for PS3 development, but regardless, I really look forward to making progress on this project or one like it, and knowing the difficulties faced by other programmers initially would help to understand where I'm at as well.

Sorry if the post is too long for some, hopefully it's all relevant information.

Are you still interested in making homebrew? I am also a beginner and have had some success (relatively). I have managed to make a clean(ish) example app, using SDL, getting controller input, drawing a background image, cleaning up. Your idea of doing it on the PS3 sounds good, I wouldn't mind working together somehow.

I've not yet used ps3loadx and am just copying the .pkg manually to the ps3 over ftp (was using usb first!). Sometimes I test on RPCS3. Its not a pleasant experience, Ill try the ps3loadx plugin sometime.
 
Last edited:
Back
Top