PSn00bSDK - Open Source PS1 SDK That Doesn't Suck

Start a log and update it occasionally with your projects progress
User avatar
ArthCarvalho
Active PSXDEV User
Active PSXDEV User
Posts: 45
Joined: January 29th, 2016, 2:45 am
I am a: Artist, Programmer
PlayStation Model: SCPH-103

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

Post by ArthCarvalho » November 18th, 2019, 3:43 pm

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?

User avatar
LameGuy64
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 381
Joined: April 10th, 2013, 3:47 pm
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

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

Post by LameGuy64 » November 18th, 2019, 7:12 pm

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.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

User avatar
LameGuy64
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 381
Joined: April 10th, 2013, 3:47 pm
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

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

Post by LameGuy64 » November 20th, 2019, 12:56 pm

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.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

User avatar
LameGuy64
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 381
Joined: April 10th, 2013, 3:47 pm
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

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

Post by LameGuy64 » November 22nd, 2019, 12:23 pm

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.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

mrhaboobi
Active PSXDEV User
Active PSXDEV User
Posts: 57
Joined: November 18th, 2012, 1:13 pm

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

Post by mrhaboobi » 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 :)

HatMusic
Curious PSXDEV User
Curious PSXDEV User
Posts: 17
Joined: May 29th, 2014, 8:23 am

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

Post by HatMusic » November 29th, 2019, 10:53 am

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.

Arnold101
Curious PSXDEV User
Curious PSXDEV User
Posts: 12
Joined: July 18th, 2018, 4:24 pm

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

Post by Arnold101 » December 25th, 2019, 2:24 pm

great work

Mills
Curious PSXDEV User
Curious PSXDEV User
Posts: 14
Joined: May 3rd, 2016, 11:21 pm

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

Post by Mills » 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.

Xavi92
C Programming Expert
C Programming Expert
Posts: 128
Joined: October 6th, 2012, 12:53 am

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

Post by Xavi92 » March 6th, 2020, 8:21 am

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.

Mills
Curious PSXDEV User
Curious PSXDEV User
Posts: 14
Joined: May 3rd, 2016, 11:21 pm

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

Post by Mills » March 7th, 2020, 12:48 am

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.
You do not have the required permissions to view the files attached to this post.

User avatar
Abelliqueux
Curious PSXDEV User
Curious PSXDEV User
Posts: 17
Joined: April 29th, 2016, 7:03 am
I am a: wannabee PSX dev
Motto: nope, bicycle
PlayStation Model: 7502/5502
Want to Find: knowledge !
Looking to: learn and share
Location: PAL
Contact:

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

Post by Abelliqueux » May 13th, 2020, 4:43 am

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 !
Hardware : SCPH-5502 + Psnee Attiny45, SCPH-7502 + Psnee Attiny85, Gamehunter CD version + Unirom, Gamehunter CD Lite + Unirom
https://wiki.arthus.net - https://psx.arthus.net

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest