PSX BIOS Dumper

Start a work log and update it occasionally with your projects progress
User avatar
Shendo
Verified
C Programming Expert
C Programming Expert
Posts: 250
Joined: Mar 21, 2012
I am a: Programmer
Motto: Never settle
PlayStation Model: SCPH-7502
Discord: ShendoXT
Location: Croatia, EU

PSX BIOS Dumper

Post by Shendo » July 29th, 2013, 1:27 pm


PSX BIOS Dumper ver. 2.6

Username: Shendo
Project Title: PSX BIOS Dumper
Time to Complete: -
SDK: PSXSDK
Genre: Utility
Latest Release: Version 2.6
In Development: No
Initial Release Date: 22-AUGUST-2007
Last Date Updated: 29-JULY-2013
Controller: Digital
Players: N/A
Memory Card: Yes
Languages: Eng
Region: Auto
Burn and Play: Yes
Executable Included: Yes
Source Included: Yes

Image

Recently I started programming for PSX once again so I decided to update my BIOS dumper.

I've added a serial cable support, so for those lucky ones who have a PSX serial cable
you don't have to use Memory Cards which makes the whole process a lot faster.

Changelog:
  • Fixed error which displayed incorrect version and date on SCPH-1000 consoles.
  • Added BIOS CRC-32 information.
  • Added option to use serial cable.
  • Updated BIOSmerge for Linux (x86 and x64).
You do not have the required permissions to view the files attached to this post.
Last edited by Shendo on November 21st, 2018, 1:06 pm, edited 2 times in total.
Dev console: SCPH-7502, FreePSXBoot, CH340 serial cable.

User avatar
Shendo
Verified
C Programming Expert
C Programming Expert
Posts: 250
Joined: Mar 21, 2012
I am a: Programmer
Motto: Never settle
PlayStation Model: SCPH-7502
Discord: ShendoXT
Location: Croatia, EU

Post by Shendo » July 10th, 2014, 2:10 pm

I made a Gtk# port of BIOSGet application for Linux and OS X users.
Mono is still required but the application works properly now.
You do not have the required permissions to view the files attached to this post.
Last edited by Shendo on November 21st, 2018, 1:07 pm, edited 1 time in total.
Dev console: SCPH-7502, FreePSXBoot, CH340 serial cable.

User avatar
CyrusDevX
Active PSXDEV User
Active PSXDEV User
Posts: 47
Joined: Aug 07, 2015

Post by CyrusDevX » August 9th, 2015, 7:07 am

Thanks Shendo ^^, im happy to have stumbled across this post. This will help me further with my psx adventures; Im a "hardware" guy but i love software too. So hopefully with this tool i can study my own bios (ik theres ones around..) further so i can understand this system better lol. +1

User avatar
pool7
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 27
Joined: Jun 27, 2014

Post by pool7 » July 8th, 2016, 4:45 pm

@Shendo
I posted a comment in your website (https://shendosoft.blogspot.com.ar/2013 ... eased.html), and some minutes later I remember you hang around here, so I thought I'd post here as well in case you don't get notified of new comments in your site.

I was wondering if you'd be willing to share the source code?
Or maybe add an option to dump PIO cartridge ROMs (ie. GameShark)?

I want to dump/backup my GameShark Pro (ROM v3.1, which is not already dumped anywhere), but don't have access to a PC with either Parallel or Serial port (and can't spend on a used one just to do that).
I do have a PS3 Memory Card adaptor and a Datel DataMax, so my idea would be to have the program dump the cartridge ROM to a memory card (by parts, as it does for the BIOS) and then use either the PS3MCA or the DataMax to transfer the parts to a computer and merge them there.

User avatar
Shendo
Verified
C Programming Expert
C Programming Expert
Posts: 250
Joined: Mar 21, 2012
I am a: Programmer
Motto: Never settle
PlayStation Model: SCPH-7502
Discord: ShendoXT
Location: Croatia, EU

Post by Shendo » July 18th, 2016, 3:46 am

Hi.
I released the project under MIT licence.
Do note that you have to use 0.1 version of PSXSDK to compile it.

Hope it helps.
Dev console: SCPH-7502, FreePSXBoot, CH340 serial cable.

User avatar
pool7
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 27
Joined: Jun 27, 2014

Post by pool7 » July 20th, 2016, 6:09 pm

You rock; thank you so much!!!
My coding skills suck, but if I do get a working version that can dump PIO cartridges ROMs, I'll share it as well.
Thanks again! :)

User avatar
Greg
Verified
Serious PSXDEV User
Serious PSXDEV User
Posts: 101
Joined: Sep 09, 2013
PlayStation Model: SCPH-7501
Location: Port-au-Prince, HAITI

Post by Greg » July 22nd, 2016, 5:04 am

@pool7

May could help, here the source code of ACTION.EXE courtesy of Gav himself, along with some other code snippets. Take from http://xianaix.net/
You do not have the required permissions to view the files attached to this post.
1 x SCPH-7501, 2 x SCPH-7001, 2 x SCPH-5501
1 x Pro Action Replay with "Dual Rom Mod", ROM 1: Caetla, ROM 2: UNIROM
1 x Xplorer V2 with Caetla
1 x GameShark V2.1
1 x GameShark Pro V3.0
1 x CommLinkUSB
1 x XLinkUSB

User avatar
pool7
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 27
Joined: Jun 27, 2014

Post by pool7 » July 22nd, 2016, 8:13 am

Thanks Greg; I downloaded that some weeks ago, but haven't had a look at it yet.
I'll see if it helps as well. In any case, it's nice seeing the author sharing some source to what once was a commercial (albeit unlicensed) software. I wish more companies/devs would take that approach (ie. after 10 or 20 years of a software being out of support, release the source code).

User avatar
CodeAsm
Verified
Active PSXDEV User
Active PSXDEV User
Posts: 69
Joined: Jan 13, 2012
I am a: Programmer, Student
Location: The Netherlands
Contact:

Post by CodeAsm » August 4th, 2017, 1:48 am

Awesome, dumped my PSone bios Version 4.5 05/25/00 "de93caec13d1a141a40a79f5c86168d6" over serial using teh Gtk# port. Worked nicely on Arch :D
Development Console: SCPH-102, unkown clone Modchip, PAL , FTDI board build into the case (microUSB) for Serial I/O.
Development Computer: GNU/Linux, Arch x86_64 Linux 4.20.3, i7-3632QM [8x3.2GHz], 11,8GiB, 1366x768 GeForce GT 630M (Optimus tech), lots of gig of storage

User avatar
Squaresoft74
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 303
Joined: Jan 07, 2016
PlayStation Model: SCPH-7502
Location: France
Contact:

Post by Squaresoft74 » November 17th, 2018, 1:20 am

For some reason i can't get version 2.6 to boot at all when uploading the exe (via Xplorer).
Versions 1.0 and 2.0 on the other hand work fine that way.
Any idea ?

User avatar
Shendo
Verified
C Programming Expert
C Programming Expert
Posts: 250
Joined: Mar 21, 2012
I am a: Programmer
Motto: Never settle
PlayStation Model: SCPH-7502
Discord: ShendoXT
Location: Croatia, EU

Post by Shendo » November 21st, 2018, 12:49 pm

Older versions were made using blade's libs while 2.6 was made using PSXSDK. Might be related.

Can you try launching something form this list? Those applications are all programmed using PSXSDK.
Dev console: SCPH-7502, FreePSXBoot, CH340 serial cable.

User avatar
Squaresoft74
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 303
Joined: Jan 07, 2016
PlayStation Model: SCPH-7502
Location: France
Contact:

Post by Squaresoft74 » November 21st, 2018, 2:01 pm

Hi Shendo,

I tried the ones that only have an exe file and "NexTro" will boot fine while "ZBlast" won't if that can help.

danhans42
BANNED
BANNED
Posts: 329
Joined: Nov 28, 2012

Post by danhans42 » November 21st, 2018, 7:28 pm

The reason might be the initial address that the different libs use.

Think the BladeLibs/PsyQ created binaries load at certain address and PSXSDK binaries load at another. Xavi92 had this issue when trying to load PSXSDK binaries via PSXSERIAl, as it uses a hardcoded address rather than loading it from the EXE (Which is why he wrote his own client/server for doing this).

It could be that the xplorer does the same. I havent used the standard xplorer software for sending EXE's since before Caetla supported the xplorer (many moons ago), so not sure if you can actually specify that on the command line.

User avatar
Squaresoft74
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 303
Joined: Jan 07, 2016
PlayStation Model: SCPH-7502
Location: France
Contact:

Post by Squaresoft74 » November 22nd, 2018, 3:01 am

Maybe i should add i'm using no$psx/no$Expansion ROM and not Caetla/Catflap if that makes a difference ?

danhans42
BANNED
BANNED
Posts: 329
Joined: Nov 28, 2012

Post by danhans42 » November 23rd, 2018, 12:03 am

I suppose you would need to check with nocash to see wether or not the upload utility for that takes the initial address from the EXE or just defaults to a prefixed address (although I would have thought it would do).

To test my theory you could try to run a different EXE that was built with PSXSDK and see if you experience the same issue.

User avatar
Squaresoft74
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 303
Joined: Jan 07, 2016
PlayStation Model: SCPH-7502
Location: France
Contact:

Post by Squaresoft74 » November 24th, 2018, 6:30 am

I tried a few post above with the ones suggested by Shendo from this page.
"NexTro" will boot fine while "ZBlast" won't.

User avatar
Shendo
Verified
C Programming Expert
C Programming Expert
Posts: 250
Joined: Mar 21, 2012
I am a: Programmer
Motto: Never settle
PlayStation Model: SCPH-7502
Discord: ShendoXT
Location: Croatia, EU

Post by Shendo » November 24th, 2018, 12:08 pm

Hm, that's a great observation Danhans42 but I don't think that's the issue if NexTro is working.

Apart from a different size defined in header all applications (working and non working)
have the same initial load address. Must be something else...
Screen Shot 2018-11-24 at 01.12.03.png
I wonder if ResetCallback() is ever called by the no$psx loader.

I remember when I was making my own launcher calling ResetCallback() before jumping
to a loaded application made a difference with PSXSDK compiled applications.
You do not have the required permissions to view the files attached to this post.
Dev console: SCPH-7502, FreePSXBoot, CH340 serial cable.

danhans42
BANNED
BANNED
Posts: 329
Joined: Nov 28, 2012

Post by danhans42 » November 25th, 2018, 3:27 am

Aaah thats my theory flawed lol - completely agree if Nextro is working then it must be something else.

User avatar
Squaresoft74
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 303
Joined: Jan 07, 2016
PlayStation Model: SCPH-7502
Location: France
Contact:

Post by Squaresoft74 » November 25th, 2018, 4:23 pm

I gave a try uploading via Caetla/CatFlap inpout32 and version 2.6 is working this way.

*EDIT*
I got it working with no$psx/no$Expansion ROM but it's really strange :?
It will only work if i have a disc and lid closed.
Without a disc and lid closed or with lid open it won't boot. :shock:

This also makes "ZBlast" working

Any idea ?

User avatar
Shendo
Verified
C Programming Expert
C Programming Expert
Posts: 250
Joined: Mar 21, 2012
I am a: Programmer
Motto: Never settle
PlayStation Model: SCPH-7502
Discord: ShendoXT
Location: Croatia, EU

Post by Shendo » December 6th, 2018, 10:58 am

I analyzed differences between my dumper and NexTro and came to conclusion that it's related to _96_init()
function which initializes CD-ROM system and is called by the PSXSDK's PSX_Init().

In newer versions of SDK Tails92 added PSX_InitEx() which allows coder to specify various flags,
one of them skips CD-ROM initialization as it's not needed for demos and utilities.

Currently BIOS dumper unnecessarily waits for CD-ROM to be be available.

Thanks for the heads up Squaresoft74. ;)
It seems like I will need to update dumper to use newest version of PSXSDK and remove that check.
Dev console: SCPH-7502, FreePSXBoot, CH340 serial cable.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests