MKPSXISO - A PlayStation ISO Maker to Replace BUILDCD

Downloadable items posted by PSXDEV members are within this forum.
User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

MKPSXISO - A PlayStation ISO Maker to Replace BUILDCD

Post by LameGuy64 » August 7th, 2016, 12:50 am

This is basically a clone of BUILDCD but better! Most notably, it is a shiny new Win32 console application rather than an old 16-bit DOS executable that requires an emulator to get it working on 64-bit systems and because MKPSXISO runs natively on your PC, it performs a lot faster than BUILDCD and StripISO combined! (ie. an ISO image that took 30 seconds to generate with BUILDCD+StripISO will now take 1-2 seconds with MKPSXISO) Plus, it outputs in standard ISO/BIN+CUE format so generated images can immediately be run with an emulator or burned to a CD.

Not only is this tool a Win32 console application, it also properly injects license data, injects CD-DA audio tracks to the ISO image and uses an XML based script format which is significantly easier to work with than BUILDCD's CTI script format (if you have a proper editor such as Notepad++) as well as mixed-mode XA integration for XA audio and STR MDEC video files.

More details about MKPSXISO and download can be found right here.

This took me quite a long time to make as I started work on this tool back in January of this year. Reason why it took me so long was because it took me a long while to figure out how to generate an ISO 9660 file system correctly and that I didn't really focus all my programming effort toward this project since this was just a small pet project. Fortunately, I was able to figure out how to generate the file system correctly and spent a couple of days to more or less finish it... There's still some work to be done however but its pretty much usable in its current state.

Strangely, I'm probably the first person to make a clone of BUILDCD that is actually usable... I guess most PSX homebrew enthusiasts simply prefer to just use the existing tools rather than making a better (and modern) version of the same tool to replace the old one.
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.

likeabaus
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 133
Joined: Jul 27, 2016

Post by likeabaus » August 7th, 2016, 1:33 am

Awesome! I mean I usually use psxcdgen (or whatever its called) but this is pretty neat as it injects all the necessary license data etc :P. Nice work!

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » September 2nd, 2016, 11:31 am

Released version 1.04 which fixes a bug where creating ISO images with audio tracks always results to an error. For more info and download, check the github repository.
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
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

Post by sickle » September 10th, 2016, 2:00 am

:O This is cool! Loving the XML - I can't wait to give it a whirl!

Also, thanks for documenting the XML so heavily... it's answered pretty much every question I had. Just wondering is system.cnf always in the right location if it's listed as the first file?

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » September 10th, 2016, 11:05 am

Yes, it's correct to have system.cnf as the very first file on the disc since it's the first file the console's going to read followed by the PS-EXE file.
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
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

Post by sickle » September 11th, 2016, 11:54 am

Awesome, ty =)
(I noticed system .CNF seems to appear at LBA 34 when opening .ISOs for extraction wasn't really sure if it made much difference other than for seek times.)

User avatar
47iscool
Curious PSXDEV User
Curious PSXDEV User
Posts: 12
Joined: Jun 17, 2017
I am a: Gamer, Game hacker
PlayStation Model: SCPH-9001

Post by 47iscool » June 18th, 2017, 2:18 pm

Works fine as long as I have no sub-directories. If so it only builds images with the cnf and executable. Also it tells me there is no others files in the xml and clearly there are.

Any thoughts about a gui for the Windows build?

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » June 19th, 2017, 2:06 pm

Can you share me your XML script? I have a good feeling that it was not formatted correctly if issues like that occur. I never had any issues with directories with MKPSXISO nor are those who have used it.

I don't have plans to make a GUI version of MKPSXISO at the moment as it is not really important considering how simple putting together a build script using the included example script as a base is a piece of cake.
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
47iscool
Curious PSXDEV User
Curious PSXDEV User
Posts: 12
Joined: Jun 17, 2017
I am a: Gamer, Game hacker
PlayStation Model: SCPH-9001

Post by 47iscool » June 19th, 2017, 8:40 pm

I can, but it will be a few days a least.

User avatar
TheShadowRunner
Verified
Active PSXDEV User
Active PSXDEV User
Posts: 64
Joined: Mar 02, 2015
I am a: Enthusiast
PlayStation Model: DTL-H1000

Post by TheShadowRunner » June 20th, 2017, 5:41 am

LameGuy64 wrote:I don't have plans to make a GUI version of MKPSXISO at the moment as it is not really important considering how simple putting together a build script using the included example script as a base is a piece of cake.
I beg to differ, while it's clearly not hard putting together a script, a GUI would make operations so much more straightforward and fast.. ^^;

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » June 21st, 2017, 11:04 pm

Currently, I just don't have time to work on such a tool as my free time is prioritized for art or continuing development of my very own 3D engine for the PSX especially when I have a full-time job now so I don't have much free time as I used to. I've been considering making such a tool to supplant MKPSXISO though.
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
TheShadowRunner
Verified
Active PSXDEV User
Active PSXDEV User
Posts: 64
Joined: Mar 02, 2015
I am a: Enthusiast
PlayStation Model: DTL-H1000

Post by TheShadowRunner » June 21st, 2017, 11:16 pm

LameGuy64 wrote:Currently, I just don't have time to work on such a tool as my free time is prioritized for art or continuing development of my very own 3D engine for the PSX especially when I have a full-time job now so I don't have much free time as I used to. I've been considering making such a tool to supplant MKPSXISO though.
Sound like there's still a little hope 8-)

likeabaus
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 133
Joined: Jul 27, 2016

Post by likeabaus » June 22nd, 2017, 12:45 am

LameGuy64, is the source code for MKPSXISO open? If not, you could consider releasing it so other's could pick up where you left off seeing as you don't have much free time to work on it. Perhaps somebody else (not myself, I'm not that skilled lol) could whip up a GUI for this.

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » June 23rd, 2017, 3:32 pm

If the fact that I hosted the program download and source code on github wasn't obvious enough to you. Then yes, it is open source.
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
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 612
Joined: Nov 12, 2012
Contact:

Post by nocash » June 24th, 2017, 12:03 am

I really don't see a point for a GUI there. The example.xml file looks quite straight-forward. Hint: you don't need to use the "<!-- comment -->" lines in your own files, and then you could get everything down to one xml line per file. And another hint: you could type "dir" at command prompt, and then copy/paste your file names (in case you don't want to type in each name).

But before adding hundreds of small files to your project: Mind that the cdrom seek time per file is very slow, and loading time would be ways faster when using one large file instead of many small files, so it would be usually better to merge everything to a large .dat file (or directly to the .exe file itself).

User avatar
47iscool
Curious PSXDEV User
Curious PSXDEV User
Posts: 12
Joined: Jun 17, 2017
I am a: Gamer, Game hacker
PlayStation Model: SCPH-9001

Post by 47iscool » June 25th, 2017, 8:24 am

Good news: I finally figured out how to use it. The parameters must be in the order specified in the XML.

Bad news: Something is wrong with STR and XA.

Some games don't boot, others are silent and some are have garbled audio. And before you ask yes I set the data types correctly for STR and XA.

One game in particular, Silent Bomber has it's XA audio in an archive called XA.BIN. But it apparently doesn't have the right header because mkpsxiso says it's not in 2336 format.

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » June 26th, 2017, 10:28 am

It must be because the STR/XA data you've extracted was not extracted the right way. The thing about those files is that they are stored in 2336 byte per sector format and if the file is not a multiple of that size, then it is clearly not extracted properly. If that's not the case, I'm going to have to analyze such games to see how they are encoded.

I'm planning to make a utility that dumps out all the contents of a PlayStation ISO which can dump XA/STR data correctly unlike most dumping software I've seen so far.
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
47iscool
Curious PSXDEV User
Curious PSXDEV User
Posts: 12
Joined: Jun 17, 2017
I am a: Gamer, Game hacker
PlayStation Model: SCPH-9001

Post by 47iscool » June 26th, 2017, 6:08 pm

vgmtoolbox can extract files in raw format.

And I think it's extracting them in 2352 format but I'm not sure. When you extract you can listen to them in foobar2000 with the vgmstream plugin. If you would like to know for sure you can ask over at the hcs64 forum.

Also to let you know, I only extract with vgmt for listening not building.

I have tried extracting all files raw before with it then using your tool to build but then it won't boot at all.

The main tool I use to extract is ultraiso.

By the way, do you know of a tool that can extract the str/xa properly for rebuilding?.

CDDA works flawless by the way, great work.

User avatar
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 612
Joined: Nov 12, 2012
Contact:

Post by nocash » June 27th, 2017, 1:53 am

What about RIFF headers? I don't really know what those headers are intended for, but windows seems to be automatically adding that headers to certain cdrom files (not sure which files... maybe all files with 914h-byte sectors... or so).

Anyways, presence/absence of those RIFF headers might cause problems. Unless mkpsxiso is automatically removing them when present?

NB. from what I can see, the RIFF header is followed by 930h-byte sectors (ie. including the sector header and EDC aside from the actual 914h-byte data region (a side effect is that two copies of the 'same' file can become 'different' if they were read from different locations on the disc, ie. with different sector numbers in the sector header)).

I don't have the Silent Bomber game, but did you make sure that the XA.BIN file is an "XA" file at all (in terms of being CD-XA)? Just going by the filename it could be also containing SPU-XA data, or an abbreviation for eXtra Add-on's or whatever.

User avatar
47iscool
Curious PSXDEV User
Curious PSXDEV User
Posts: 12
Joined: Jun 17, 2017
I am a: Gamer, Game hacker
PlayStation Model: SCPH-9001

Post by 47iscool » June 27th, 2017, 2:53 pm

I looked at the xa.bin headers in hxd, and from I can tell it looks like the xa is further down. So it's basically a non-standard header.

Maybe there's more data than just xa in there.

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests