PS1 Homebrew Development

Talk about anything else you want

Moderator: BigEvilCorporation

Post Reply
ammianus
Very interested
Posts: 124
Joined: Sun Jan 29, 2012 2:10 pm
Location: North America
Contact:

PS1 Homebrew Development

Post by ammianus » Mon Feb 11, 2013 12:21 am

I had a question, if anyone happens to know, about what the PlayStation homebrew scene is like these days, and whether there is much support for homebrew developers to try to pick it up?

I hope I am not called out as a traitor to the Sega brand, but I happen to own Genesis, 32X and a PSX. (I sold my brother's Saturn on Ebay before I started 32X homebrew, still kicking myself for that now ) :oops:

Anyways. I've been active trying to learn the ropes of 32X development for some time now, with some success I suppose. I just get the feeling that for the kind of games I want to create: arcade-like 2D beat-em-ups, platformers and shooters, that 32X will ultimately be limiting. We all know the pitfals of 32X design. RAM limitations, ROM size of cartridge (I don't have SCD, so that's not even an option). I'll have to buy a flashcart eventually.

I am looking at the only other console I own, a Playstation, and wondering if it might be a better platform for my needs?

Are there better/worse tools for developing on PSX?
Are there already software libraries available for common things like handling input, reading from CD, drawing graphics?
Maybe having to read from the CD vs a cartridge will be it's own frustration?

I don't think I want to give up 32X completely, but just need to be realistic since I only have so much time to invest :D

tails92
Interested
Posts: 41
Joined: Sun May 04, 2008 10:16 pm

Post by tails92 » Thu May 09, 2013 12:45 pm

I have found this topic too late, but yes, there is still a PlayStation homebrew community and there are free and open source tools you can develop your game with.
Actually, I am one of the main people in that "scene" - I am the author of the open source SDK PSXSDK.
For more information, visit http://code.google.com/p/psxsdk
PSXSDK still has some limitations - broken memory card support, no support for 3D operations and no asynchronous I/O yet, mainly.
But if you want to make a 2D game, barring asynchronous stuff, it's pretty complete and it even ships with a built-in MOD music file playback library.
The source distribution comes with some examples, and for more examples you can always look at the homebrew made with the PSXSDK at http://code.google.com/p/psxbrew
You will notice that all the homebrew on there is mine - and that's the sad part of PlayStation homebrew development - it's a REALLY niche platform nobody seems to care about. People only care about PSX games, not about the PSX hardware.
The PSX is actually pretty good for homebrew - at least compared to pre-1994 Sega consoles - you have two MBs of RAM to play with, 1MB of video memory, 512K of sound memory and the sheer size of CDROMs.. it's really difficult to fill a CDROM up with homebrew content!

Unluckily I do not have the time to help people use the SDK anymore - but on a visit to the IRC channel #unhaut on irc.freenode.net you will most likely meet other members of the PlayStation homebrew community. It's a small community, because as I said before, homebrew PlayStation development is very niche.

Some advice:
If by searching on the internet, you ever stumble on a site called psxdev.net or on an IRC channel called #psxdev on irc.efnet.net, be assured that it is run by people who just want your money, pretending they are a PlayStation homebrew community. They are NOT legit. Never believe anything written there. The same advice is valid for psio.com.au.
The only real PlayStation homebrew community is unhaut.

ammianus
Very interested
Posts: 124
Joined: Sun Jan 29, 2012 2:10 pm
Location: North America
Contact:

Post by ammianus » Sat May 11, 2013 12:29 pm

That is some good insight. I had come across Psxdev.net and the wonderful sounding psio, figures it's some kind of scam. Is the PSIO device completely fake then?

Can you directly play a homebrew game from a CD?

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Sat May 11, 2013 5:36 pm

ammianus wrote:Can you directly play a homebrew game from a CD?
Only with the swap trick, or a mod-chip.

You COULD convert it to an EBOOT and play it on the PSP with CFW.

Orion_
Very interested
Posts: 52
Joined: Mon May 02, 2011 2:26 pm
Location: France
Contact:

Post by Orion_ » Sun May 12, 2013 8:34 am

If you get the official sony sdk, you can do everything for the psx, there are C library for that.
I really love the psx and the genesis, but it seems that the homebrew community is way bigger for the genesis.
I think the psx is much more powerful once you get how the system works (and if you are not familiar with 3D Gpu it might be strange at first)
There are tutorials and a cool forum at http://www.psxdev.net/
even if most people will tell you to use an old windows 98 for psx dev, it is possible using modern system.
You will just need a relatively rare piece of hardware called "xplorer fx" for plug in the pc to the psx, but the hardware guys at psio.com.au are working on an USB based device to replace this, so this is good news !
http://www.psxdev.net/forum/viewtopic.php?f=62&t=207

I just had a tremendous amount of motivation today and finaly wrote the first part of my psx dev tutorial, with a release of my dev library, you can check it here, I hope it will be useful :)
http://onorisoft.free.fr/psx/tutorial/tuto.htm
Retro game programming !

tails92
Interested
Posts: 41
Joined: Sun May 04, 2008 10:16 pm

Post by tails92 » Mon May 13, 2013 4:33 pm

Orion_ wrote:If you get the official sony sdk, you can do everything for the psx, there are C library for that.
I really love the psx and the genesis, but it seems that the homebrew community is way bigger for the genesis.
I think the psx is much more powerful once you get how the system works (and if you are not familiar with 3D Gpu it might be strange at first)
There are tutorials and a cool forum at http://www.psxdev.net/
even if most people will tell you to use an old windows 98 for psx dev, it is possible using modern system.
You will just need a relatively rare piece of hardware called "xplorer fx" for plug in the pc to the psx, but the hardware guys at psio.com.au are working on an USB based device to replace this, so this is good news !
http://www.psxdev.net/forum/viewtopic.php?f=62&t=207

I just had a tremendous amount of motivation today and finaly wrote the first part of my psx dev tutorial, with a release of my dev library, you can check it here, I hope it will be useful :)
http://onorisoft.free.fr/psx/tutorial/tuto.htm
While I have total respect for your work, I think you would have been better off by using and contributing to the PSXSDK project. I know, low-level stuff can often be annoying or simply too much hassle to debug for a person with limited free time - and I know something as I am an university student - and it's comfortable right now to use PsyQ if one can tolerate the ancient development tools, but think about it, how much will continuing to use PsyQ contribute to the scene and to future generations?
.. Nothing. Everything will stay a black box, and it will rot more and more as time passes.
PSXSDK is not yet as complete, but free, open-source and for everyone to learn from and improve. Not only it will be usable forever, but it will improve the knowledge about PlayStation of the homebrew programmers and of the community as a whole. It can also be shown in public without worrying about copyright infringiment and this point is very important if you want to show anything you did at ANY convention - conventions will most likely flat out refuse anything which can be a copyright risk for the organizers.
Common sense dictates that while long-term advantages can be hard to see at the beginning, they are always the longest-lasting ones even if they're hardest to obtain.
Short-term advantages, as in the case of using PsyQ, are easy to see and give instant gratification but experience says these advantages last very little.

Also, to make this point clear, anyone serious about PlayStation development must shun sites such as psxdev.net and psio.com.au. Yes, those sites must be shunned. Excessively harsh? I don't think so. The guy had no reserves about removing ANY homebrew made with the PSXSDK just because due to his delusions of grandeur and me not letting him be the "king of the hill" he can't stand me, and I am the author of the PSXSDK - so sweet haunted/Shad0w/Matt/<could_be_whatever_right_now> thought that it was a smart move to remove that software. Way to go. Even if he couldn't stand me, he could have surely separated my work from my person - he just did not... shows how serious and committed Matt is (that is, not at all).

I do not want to repeat myself again - Matt doesn't care about PlayStation development and has his wrong reasons for running those little "show" websites.

If one wants to contribute to PlayStation development, he can contribute to the PSXSDK and to our (unhaut's) cause - unlike him, unhaut has people who really care about PlayStation development and do not talk out of their bums with impossible promises.
It's as simple as connecting to the #unhaut IRC channel on irc.freenode.net

Want to have good and amusing reads?
http://psxdev.fav.cc/haunted
http://unhaut.fav.cc/haunted/psio_scam.html

Some insightful thirty minutes!

Orion_
Very interested
Posts: 52
Joined: Mon May 02, 2011 2:26 pm
Location: France
Contact:

Post by Orion_ » Mon May 13, 2013 5:14 pm

I have been coding my library for the Playstation since 2004, how old is your psxsdk open source project ?
Plus, I didn't have enough low level knowledge of the Playstation back then, and understanding the PsyQ sdk was already hard for me.
There is a lots of stuff I can't do with your sdk and that I have no idea on how to do it using low level, so I can't really contribute sorry.
It's just more practical to use PsyQ for me, and with this tutorial I prove that it's still working on modern system without needing old hardware.
I think it's good to have open source sdk, because of "legal" issue, but there are plenty of other sdk available, not just yours, (blade libs for example)
I just don't understand why people tend to rewrite everything from scratch everytime... it's a waste of time, because every rewritten sdk won't handle the full psx capabilities.
I don't know why you are so much against psio, I see they are progressing on the hardware, you have photo of the prototype board, etc... I don't think it's a scam
Retro game programming !

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Mon May 13, 2013 5:57 pm

This is similar to the issue I have with devving on the N64 - most folks use the leaked N64 SDKs (Nintendo's and PsyQ's). While it gives you more use of the hardware, there are legal reasons you shouldn't use it (it gives the company a legal reason to have your software removed from the net), as well as technical reasons (it's a black box that rots more every year... you often need to run the old tools in EMULATORS to do what you need to build your software).

I'm on tails' side here... even if it limits you to some extent, and even if it's more work, you need to work on NEW open tools and libraries. That's why I don't use the leaked N64 SDKs - I use libdragon. Libdragon doesn't handle as much YET, but I help work on it so that it does more now than before. Similarly, I help on libyaul for the Saturn rather than use any of the leaked Saturn SDKs. NEVER USE LEAKED SDKS!! I don't use the leaked Saturn, N64, Dreamcast, GameCube, PSP, PS1, PS2, PS3, etc SDKs, and I advise others not to use them, either.

Orion_
Very interested
Posts: 52
Joined: Mon May 02, 2011 2:26 pm
Location: France
Contact:

Post by Orion_ » Mon May 13, 2013 7:19 pm

ok, so why not contributing to existing library such as blade libs ? why starting over a new lib ?
and as I said, I'm sorry but I don't have low level psx knowledge to contribute to those libs.
Retro game programming !

tails92
Interested
Posts: 41
Joined: Sun May 04, 2008 10:16 pm

Post by tails92 » Mon May 13, 2013 7:39 pm

Orion_ wrote:ok, so why not contributing to existing library such as blade libs ? why starting over a new lib ?
and as I said, I'm sorry but I don't have low level psx knowledge to contribute to those libs.
Blade Libs simply wasn't what I wanted a free SDK to be. Very small featureset, buggy on real hardware, old and unmaintained.
So I began to make my own thing... I had many reasons to do that, it's not like I can write them all on here. And even if the only reason was to try doing my own thing, what's wrong with that? Who would I have hurt? Nobody.
Diversity is always good by the way; even if here this is not the case, as there was nothing acceptable which was free and open source before PSXSDK, if one wants to make an alternative to estabilished projects at the end of the day diversity can only make every project improve, because new ideas will be introduced and tried.

Having low-level knowledge is not necessary to contribute to PSXSDK - the API is simple enough that any C programmer can pick it up with ease. I tried to make it easy to use and to simplify it, so that programmers are not faced with API messes such as PsyQ's. Even just reporting bugs improves the project.

I am sorry that apparently you can't see the advantage of a totally-free (as in speech and as in beer) solution over old leaked material - you appear to have enough good will to make something interesting with the SDK.

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Mon May 13, 2013 8:12 pm

Sometimes you HAVE to start over. Issues with the license may require it. Suppose you wish to make a library that anyone can use on any project - now suppose the existing library is GPL only. That's good for GPL or compatible projects, not so good for closed source projects. Suppose the program you're porting to this platform isn't GPL compatible (there are a few open source licenses which are not GPL compatible).

In that case, you need to start over from scratch with a BSD/MIT/LGPL with linking exception library. That's why I tend to make all my libs MIT license - the maximum number of people can use the code, meaning perhaps more homebrew/demos than if I made it GPL only.

Of course someone using the leaked SDK is probably ignoring any license issues as well. :wink: :lol:

Post Reply