Page 2 of 2

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: November 18th, 2019, 3:43 pm
by ArthCarvalho
Do you plan on making a benchmark on both your SDK and PSY-Q to compare performance?
That'd be really interesting, not only a fresh implementation, but more optimized and using a newer compiler should give it some boost in performance.

I'm looking forward when the lib is more developed so I can port my project into it. For now, I've been using some functions from your code in my project, it's been really helpful. (isin, icos, tri_crop, quad_crop, and a few others)

Are you going to implement a VAB/SEQ player in the future?

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: November 18th, 2019, 7:12 pm
by LameGuy64
My libraries should perform a lot better than Sony's original libraries, as the latter is comprised mostly of unoptimized compiler generated code and other bloat whereas PSn00bSDK's libraries are a mix of optimized compiler generated and assembly. Programs compiled with PSn00bSDK usually yields a much smaller binary compared to an identical program compiled with PsyQ.

I probably won't implement support for VAB/SEQ anytime soon but instead opt to develop a new and possibly more powerful sequenced music format. The SPU libraries need to be developed first so its likely going to take a long while for a sequenced music framework to be implemented. In the meantime folks have to write their own music systems from scratch. Should include a hardware timer example which I forgot to include in the last commit.

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: November 20th, 2019, 12:56 pm
by LameGuy64
I just got my own implementation of CdSearchFile() working and used that to get around testing XA audio streaming. I got it working as shown in the video linked below. Audio stutters a lot because my test disc is just trash.

Link to video

I also got XA looping working by simply using the same CdReadyCallback() method used in many implementations. But I noticed something interesting about it is that the ones written for PsyQ/Programmers Tool would issue three CD commands in the callback at once (CdlSetFilter and CdlReadS w/ CdlLOC which internally issues CdlSetloc prior to CdlReadS) whereas the CD controller could only query up to two commands or the command busy status stays on until the IRQ of the last command has been acknowledged as waiting for and acknowledging IRQs in a callback is not possible for callbacks are executed from within the IRQ handler. Perhaps there's some internal command queuing going on in the official SDK where pending commands are sent on acknowledge or completion IRQs.

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: November 22nd, 2019, 12:23 pm
by LameGuy64
Just released the CD-ROM library to the main repo along with a boatload of bugfixes that have accumulated since the last commit. I've also added new hardware timer, render to texture and CD-XA audio examples.

I recommend reading the changelog in the github repository for more details.

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: November 27th, 2019, 10:46 am
by mrhaboobi
Lameguy, do you have tutorials or anything on how to use your tools?
Ive not checked and just being lazy and asking :)

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: November 29th, 2019, 10:53 am
by HatMusic
You have no idea how excited I am whenever I hear news about this and the associated engine :D
Keep up the good work! I'm hoping I can learn C with it eventually.

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: December 25th, 2019, 2:24 pm
by Arnold101
great work

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: March 4th, 2020, 6:13 am
by Mills
Hi. Thanks for this awesome project!

I was playing with psyq and realized it may not be the best way to do things with so many 16 bit utils not working. So I decided to try this.

I'm using windows 10 64, I followed the steps but I just can't compile the tools and libs.
Calling "make" inside tools, just creates a liblzp.a file and that's all. Inside lipsn00b, it just creates a libc.a and stops.

I tried msys2 console, and also windows CMD.

Also I wanted to ask if you are going to support something like XMPLAY... CD audio is awesome, but ps1 midi/tracker music is perfect for my little project.

Thanks.

EDIT: I just realized libc.a is huge, so.. it compiled all libs inside one file?... I still can't compile the tools.

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: March 6th, 2020, 8:21 am
by Xavi92
Mills wrote: March 4th, 2020, 6:13 am Hi. Thanks for this awesome project!

I was playing with psyq and realized it may not be the best way to do things with so many 16 bit utils not working. So I decided to try this.

I'm using windows 10 64, I followed the steps but I just can't compile the tools and libs.
Calling "make" inside tools, just creates a liblzp.a file and that's all. Inside lipsn00b, it just creates a libc.a and stops.

I tried msys2 console, and also windows CMD.

Also I wanted to ask if you are going to support something like XMPLAY... CD audio is awesome, but ps1 midi/tracker music is perfect for my little project.

Thanks.

EDIT: I just realized libc.a is huge, so.. it compiled all libs inside one file?... I still can't compile the tools.
I forked PSn00bSDK to fix some issues that wouldn't let me compile it. Could you please test it yourself? Please remember to configure GCC path and version before compiling.

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: March 7th, 2020, 12:48 am
by Mills
Xavi92 wrote: March 6th, 2020, 8:21 am I forked PSn00bSDK to fix some issues that wouldn't let me compile it. Could you please test it yourself? Please remember to configure GCC path and version before compiling.
I finally could compile it without the "lzpack" util (anyway I'm not interested at all in it). If I have some time I can try your version.

For the moment I made a mario "32" sample, using mario's head from mario 64.
Image

I had to replace the eyes by textures because the "z buffer" in PS1 is very bad, and it was not rendering them at all.

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: May 13th, 2020, 4:43 am
by Abelliqueux
Who ! I compiled it from master and it works almost flawlessly on Manjaro Linux ( Arch derivative ).

I have one issue and a few suggestions/corrections :

- All examples run fine in ePSXe, except your demo. It loads fine, but black screens even after a few seconds... all others graphics examples work but this one :?:

- in Readme.md > Building the SDK > Linux and Unix-likes > Step 5 : You should mention the need to adapt GCC_BASE to reflect the path used with --prefix when building the toolchain.

- in toolchain.txt > Updating the ldscript, could you precise if one should add the new content to the existing one, or replace it ? EDIT: In my case I did replace it.

Other than that, your instructions for the toolchain and SDK setup are remarkably complete and clear, kudos to you and great work on the SDK !

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: February 2nd, 2021, 3:29 am
by jozko12121
Later Have Easily Followable Instructions On Setup Or Make Completely Compiled Version Like Jo-engine Did It!
Link To Sega Saturn Jo-engine Website = https://jo-engine.org/ For Example Of Perfectly Already Compiled And Easy To Setup SDK




And Even If The Sega Saturn Doesn't Have Power Of PS1 But It's Not That Bad!

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: February 4th, 2021, 11:58 am
by LameGuy64
Apologies for not keeping up with this thread for a very long while, hope people just checked the Github repo for updates being implemented to the SDK while I was inactive on the forums for awhile.
mrhaboobi wrote: November 27th, 2019, 10:46 am Lameguy, do you have tutorials or anything on how to use your tools?
Ive not checked and just being lazy and asking :)
PSn00bSDK more or less follows the same programming API as the official PsyQ/Programmers Tool SDK, only without libgs, so tutorials that just use libgpu should still be applicable for PSn00bSDK. As for building with PSn00bSDK, I don't really expect beginners to try to use it as its still somewhat experimental, and is meant more towards those who are already familiar with using the GNU toolchain directly. I have tried making the process of setting up a PSn00bSDK project a bit easier though, with setup templates and environment variables to fit many setup configurations of PSn00bSDK with minimal fuss, as well as improving instructions to make it easier to get going.
Abelliqueux wrote: May 13th, 2020, 4:43 am - All examples run fine in ePSXe, except your demo. It loads fine, but black screens even after a few seconds... all others graphics examples work but this one :?:
I've heard reports of all PSn00bSDK programs only displaying a black screen in Mednafen. It might be fixed by now when I improved my ResetGraph() implementation a few months back, though I haven't tested it myself as I don't really use Mednafen nor ePSXe in my testing, the former of which didn't like ISOs created by my MKPSXISO tool.
Abelliqueux wrote: May 13th, 2020, 4:43 am - in toolchain.txt > Updating the ldscript, could you precise if one should add the new content to the existing one, or replace it ? EDIT: In my case I did replace it.
You're supposed to add the bit of code into the .text section in the ldscript, but it seems I didn't write it clearly enough. I'll fix that up shortly.

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: February 18th, 2021, 12:12 pm
by LameGuy64
Managed to compile together a pre-compiled binary release of PSn00bSDK for 64-bit Windows with MSys2. The package includes a pre-compiled and pre-configured GCC 10.2.0 toolchain and a few other tools of mine included. It depends on MSys2 not only for the run-time libraries that the toolchain and included tools need but also build utilities such as make, and trying to include them into the package would be a whole load of hassle and generally difficult to maintain... Once the MSys2 prerequisites are installed and required paths in your environment are set it should be ready to go.

The package can be obtained through the PSn00bSDK page on my website. I was originally going to distribute it as a package that MSys2's package manager would take, but found it to be an absolute pain to build a package that way.

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: February 21st, 2021, 5:57 am
by jozko12121
LameGuy64 wrote: February 18th, 2021, 12:12 pm Managed to compile together a pre-compiled binary release of PSn00bSDK for 64-bit Windows with MSys2. The package includes a pre-compiled and pre-configured GCC 10.2.0 toolchain and a few other tools of mine included. It depends on MSys2 not only for the run-time libraries that the toolchain and included tools need but also build utilities such as make, and trying to include them into the package would be a whole load of hassle and generally difficult to maintain... Once the MSys2 prerequisites are installed and required paths in your environment are set it should be ready to go.

The package can be obtained through the PSn00bSDK page on my website. I was originally going to distribute it as a package that MSys2's package manager would take, but found it to be an absolute pain to build a package that way.
Thank You For Listening To Me And Eliminating Some Building Problems!

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: March 7th, 2021, 12:02 am
by kruglij701
How good can I make games on it, given that I know C?

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: March 16th, 2021, 11:22 am
by LameGuy64
Depends on how skilled you are overall really.

Re: PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Posted: May 28th, 2023, 6:45 pm
by kiniol
Hi;
I installed the SDK according to the instructions given on the page: https://github.com/Lameguy64/PSn00bSDK/ ... llation.md
Then I created a new project, copied the "Template" files to the project folder and everything works fine. Now I want to add *.h and *.c files but I don't know how to compile it all together. I am asking for help in this matter.