Playstation 1 Development in 2013 (tutorial and my library)

Confidential documents, images and information by Sony and miscellaneous hackers for the PlayStation 1
Post Reply
Orion_
Verified
Legendary Programmer
Legendary Programmer
Posts: 256
Joined: Aug 13, 2012
I am a: Programmer
PlayStation Model: Net Yaroze
Location: France
Contact:

Playstation 1 Development in 2013 (tutorial and my library)

Post by Orion_ » May 13th, 2013, 3:36 am

I just had a tremendous amount of motivation today and finally wrote the first part of my psx dev tutorial.
It shows how to setup a development environment under modern os such as Windows 7 64bits (no need to use old pc, or virtual box)
What hardware are needed, how to flash the action replay, how to create a Psx CD, and also a release of my personal dev library built on top of the Psy-Q SDK for easier development. (auto cd/pc loading, 3d objects, advanced 2D, sprites, sfx, mod, cd audio, tile map, dialog engine, movie, bs image, etc...)
Unfortunately I didn't have more motivation to explain in details how my library works, but you can try to figure out with the given examples or if you have C language knowledge.
I will of course make update from time to time to complete this tutorial.
Check it here: http://onorisoft.free.fr/psx/tutorial/tuto.htm
Retro game development on Playstation and other consoles http://orionsoft.free.fr/

User avatar
bizarro2011
Serious PSXDEV User
Serious PSXDEV User
Posts: 118
Joined: Mar 27, 2012
Location: Brazil

Post by bizarro2011 » May 13th, 2013, 9:23 am

you know something about turning an image into u_long tim?
or know anyone who may know

unsigned long mat0[] = {
0x10000000,
0x08000000,

Orion_
Verified
Legendary Programmer
Legendary Programmer
Posts: 256
Joined: Aug 13, 2012
I am a: Programmer
PlayStation Model: Net Yaroze
Location: France
Contact:

Post by Orion_ » May 15th, 2013, 9:13 am

You need a tool to convert an image (say bmp) into a tim file, I will cover that in my next tutorial.
You can use a tim plugin in photoshop, bmp2tim or tim tool. (from the official sdk)
then, you can convert the tim file into an hex tab in C, but I don't really recommend that.
Retro game development on Playstation and other consoles http://orionsoft.free.fr/

User avatar
t0rxe
C Programming Expert
C Programming Expert
Posts: 139
Joined: Dec 19, 2012
Motto: /\OX[]
PlayStation Model: SCPH-5502
Location: Australia

Post by t0rxe » May 15th, 2013, 7:55 pm

TIMTOOL is the best. It makes it so easy to arrange the images in the framebuffer.
It can be found in psyq\zips\timtool3b.zip
"Nostalgia isn't a big enough word to describe the PlayStation from my eyes"

User avatar
bizarro2011
Serious PSXDEV User
Serious PSXDEV User
Posts: 118
Joined: Mar 27, 2012
Location: Brazil

Post by bizarro2011 » May 16th, 2013, 1:08 am

If you can help I thank you, however, what I need is how to make the image look like tim. (u_long)

unsigned long mat0[] = { (using ,???)
0x10000000,
0x08000000,

so (char) I can do. (using ,winbin2src)

unsigned int fnt3_size=17804;
unsigned char fnt3[] = {
0x10, 0x00, 0x00, 0x00,

Orion_
Verified
Legendary Programmer
Legendary Programmer
Posts: 256
Joined: Aug 13, 2012
I am a: Programmer
PlayStation Model: Net Yaroze
Location: France
Contact:

Post by Orion_ » May 16th, 2013, 7:34 am

You should learn how to program in C first .. if you have an unsigned char data you can cast it to long:
example: (u_long*)fnt3
Retro game development on Playstation and other consoles http://orionsoft.free.fr/

User avatar
bizarro2011
Serious PSXDEV User
Serious PSXDEV User
Posts: 118
Joined: Mar 27, 2012
Location: Brazil

Post by bizarro2011 » May 16th, 2013, 8:37 am

I'm from Brazil, my english is bad, but I try to write the best possible (with google translator) I just wanted to know how it was done in the tim HEXA format.

User avatar
t0rxe
C Programming Expert
C Programming Expert
Posts: 139
Joined: Dec 19, 2012
Motto: /\OX[]
PlayStation Model: SCPH-5502
Location: Australia

Post by t0rxe » May 16th, 2013, 3:15 pm

I think I know what he wants to do Orion_.
He wants to convert his TIM to HEX using WinBin2Src (http://psxdev.net/tools/WinBin2Src.exe).

Bizarro2011, when you have made your TIM in TIMTOOL and saved it how you wish in the framebuffer, open the TIM in WinBin2Src and convert it to a C-Language with a label called 'image' for example.

Once you do that, you rename the file 'IMAGE.C' to 'image.h' and include it in your PS-EXE (IE: #include"image.h").

When you compile, your image.h will get packed in with the PS-EXE :)
Now you just use the standard way of loading a tim, but you load it from the included name 'image' and not from a hard coded address.

You can see this code in Abetro if you are confused (http://www.psxdev.net/forum/viewtopic.php?f=46&t=6).
"Nostalgia isn't a big enough word to describe the PlayStation from my eyes"

User avatar
bizarro2011
Serious PSXDEV User
Serious PSXDEV User
Posts: 118
Joined: Mar 27, 2012
Location: Brazil

Post by bizarro2011 » May 17th, 2013, 12:31 am

I know this creates winbin2src format (0x00, 0x00, 0x00, 0x00, 0x00,) but do not know how to create this format (0x42110000, 0x42110300) how does that program uses? you entend me now.

Gradius
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 220
Joined: Sep 09, 2012
I am a: IT Consultant, Systems Integrator
PlayStation Model: 7501
Location: Chile

Post by Gradius » May 17th, 2013, 5:32 am

bizarro2011 wrote:I know this creates winbin2src format (0x00, 0x00, 0x00, 0x00, 0x00,) but do not know how to create this format (0x42110000, 0x42110300) how does that program uses? you entend me now.
Era melhor vc praticar mais o inglês. heheheh

Orion_
Verified
Legendary Programmer
Legendary Programmer
Posts: 256
Joined: Aug 13, 2012
I am a: Programmer
PlayStation Model: Net Yaroze
Location: France
Contact:

Post by Orion_ » May 17th, 2013, 6:26 am

bizarro2011 wrote:I know this creates winbin2src format (0x00, 0x00, 0x00, 0x00, 0x00,) but do not know how to create this format (0x42110000, 0x42110300) how does that program uses? you entend me now.
This is the same thing ! As I said, you should learn how to code in C before trying to code for the Psx.
Just convert your data into char with winbin2src and cast your data into long: (u_long*)fnt3
Retro game development on Playstation and other consoles http://orionsoft.free.fr/

User avatar
bizarro2011
Serious PSXDEV User
Serious PSXDEV User
Posts: 118
Joined: Mar 27, 2012
Location: Brazil

Post by bizarro2011 » May 17th, 2013, 10:07 pm

thank you, when I do, I post here. there you will understand

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest