Sega Saturn Patcher

Sega Saturn Patcher Discussion Thread 1.91 BETA

Knight0fDragon

Patron Supporter
Sega Saturn Patcher V1.91 (Beta for 2.0)

(C) 2021 Knight0fDragon - Knight0fDragon@gmail.com

If you would like to say thanks and offer a donation, I accept only PayPal
at knight0fdragon@gmail.com

Thanks to everybody over at SegaXtreme and Sega Saturn Shiro, along
with various people communicating with me on the side,
working out all of the kinks with this program.

Special thanks to dibz' and the rest of SegaXtreme.met for providing a home for resources and access to the API.
Special thanks to SEGA RPG FAN for his research and development into the XBand driver patches.
Special thanks to TrekkiesUnite118 for his extensive testing with the patcher.
Special thanks to privateeye for his extensive testing with the patcher.

Thank you for using this patcher, and happy gaming.

You can find me hanging out in the following Discord channels:

Join the SegaXtreme Discord Server! Sega Xtreme
Join the SEGA SATURN, SHIRO! Discord Server! Sega Saturn Shiro
Join the Shining Force 3 Discord Server! My Shining Force 3 Discord




-------------------------------------------------------
License
-------------------------------------------------------

This program is provided free of charge for non commercial use
and is to be used at your own risk.
Knight0fDragon nor patch creators will be held responsible for any loss
of data or damage incurred during processing.

-------------------------------------------------------
Requirements
-------------------------------------------------------

Sega Saturn Patcher requires .NET 5.0 Desktop Runtimes.
If it is not included, the app will prompt you to install it.
It could also be downloaded at Download .NET 5.0 (Linux, macOS, and Windows)

-------------------------------------------------------
Troubleshooting
-------------------------------------------------------
1) Continuous prompting of .NET Runtime install.
Run the following command in command prompt: dotnet --list-runtimes
If only Microsoft.WindowsDesktop.App 5.#.# does not exist, install the desktop runtime above.
If Microsoft.NETCore.App 5.#.# does not exist, install the full runtime above.

-------------------------------------------------------
What is new?
-------------------------------------------------------

Patcher has been rebuild from the ground up.

CDs and Images have wrappers written to now treat them as the same thing, so compatabilitiy issues should no longer be a problem.

New features to be available in 2.0.

Command line support.

Patchers will now work with command line arguments for batch processing (commands below.)
The GUI version does not output text to console, so a seperate CLR app will be made available if output is needed.

Meta data can now be included in the patch. This can be used by developers to provide technical information about their patch.
Hopefully this will be used to provide patch updates.

Read me. Developers can now include important notes and information they want users to read.

SSCD Image (previously SSG) format now exists. It is a cd image format that uses compression, as well as allows for meta data to be added.

UI also exists to create SSCD.

More intuitive UI. The UI provides more information a person may want, as well as makes it easier to create or use patches.

Settings. You can now customize the experience of the program.

Cheat Detection removal patch. Will remove Action replay blocking methods in games. (Known in Panzer Dragoon Saga)

XBand Patch. Add custom XBand/Netlink patches to applicable games. Needs to be added via Settings.

Pseudo Kai Fast Boot patch. If you are a Pseudo Kai user, you can apply this patch to skip the second Sega authorization check.

Application is now resizable.

Command line can be used to create CD image formats.

This feature will allow for homebrew developers to generate more accurate CD images.

-------------------------------------------------------
XBand Driver Setup
-------------------------------------------------------
Sega Saturn Patcher does not include custom drivers currently due to copyright issues.

Just place the files that need patching into a zip file, and assign the file to SSP in the settings.

There are 2 different drivers that need to be added depending on the online play available.

Netlink(USA games) Drivers use the USXBandPatchZipFile setting.
SegaNet(Japan games) Drivers use the JPXBandPatchZipFile setting.


Files to patch SegaNet games (Japan) to allow for Netplay can be found the SEGA DTS CD (Nov 1996).
The minimum files required are LOADER.BIN, XBAND.BIN, and XBLIBUS.BIN.
These files do not need to be renamed or placed into any folders.

Other drivers exist created by SEGA RPG FAN that tweak the initialize strings for better performance on VoIP devices.


-------------------------------------------------------
Adding update information and urls
-------------------------------------------------------
SSP uses REST to grab data from a server.
All you simply need to do is provide a URL to grab the JSON object (JSONURL)
and provide and API key if applicable (APIKey).

The JSON itself follows a simple structure:

{
"resource":{
"version":<string>
}
"errors": [
{
"code": <string>,
"message": <string>,
}
]
}

Other tags can be added, it will be simply ignored.

-------------------------------------------------------
Linking with SegaXtreme
-------------------------------------------------------
SSP is built to work with the SegaXtreme resource page.

To include your patch at SegaXtreme, go and set up an account if applicable.

Head over to the resources page, and click on Add Resource.

Fill out the form, but do not add your file yet.

After summitted, look at the URL to get your app ID.

The format will look like this Resources<Title>.<ID>/

Go into the Edit META of your SSCD or SSP, and look for the key JSONURL.

Add the following URL https://segaxtreme.net/api/resources/<ID>/ where <ID> is the ID number from your URL.

Do not worry about the APIKey, this will be provided for you.

Press the Test JSON URL button to ensure it worked.

Save your SSP.

Congratulations. This SSP will now notify users if they are using an older version of your patch.

Note* Resources may need to be approved by admins prior to the test working.

-------------------------------------------------------
Command line arguments
-------------------------------------------------------

=General options=
-help Lists help. Also /h, -h, --h, /help, --help , /?, -?, --?
-imagetype <type> Image type output format. Valid choices:bin,iso,ccd,sscd.
-o <name> Output name for CD Image.
-quiet Do not display any console output.
-multitrack Export tracks as separate files (if applicable.)
-meta <string> Meta data for SSCD format
-readme <string> Readme text for SSCD format


Additional options depending on task.
Do not mix patching options with generation.


=CD Patching options=


-cheat-check-defeat Apply cheat check defeat patch
-drive <letter> Letter of CD Drive to patch.
-extract <path> Extracts selected drive or image to path.
-fast-boot Apply fast boot patch
-patch <filename> SSP file to apply to game.
-image <filename> CD Image to patch.
-region-free Apply region free patch


=CD Image generation options=


-audiotracks <filename>,<filename2>,... Add audio tracks to image.
-appid <string> Application ID
-abstract <filename> ABSTRACT file.
-biblio <filename> BIBLIOGRAPHY file.
-cdda Generate CDDA files in CD Image. Format is CDDA#, where # is Track #.
-copyright <filename> COPYRIGHT file.
-generic-boot <filename See -ipbin
-i <foldername> Folder of files to create CD Image.
-ipbin <filename> Binary file that fills first 16 Sectors of CD Image.
-preparer <string> Preparer ID.
-publisher <string> Publisher ID.
-shortname Omit ;1 from filename
-sort <filename> Directory and file order sheet.
-sysid <string> System ID.
-volid <string> Volume ID.
-volset <string> Volume Set ID.
 
Last edited:
Nice that you open this thread! Im trying to use segasaturnpatcher with your patch but it says that to run the app I have to have installed .net core and ask me if I want to install it. What is this? Can I easily uninstall it afterwards? I have no idea from patching, programming or whatsoever.
Btw my game is in iso+cue+mp3. Can I patch it too? O do I have to convert it first? Thanks man
 
.Net Core is the entire framework that it is built on. I would recommend leaving it installed since it is Microsoft's push for unifying all applications into 1 executable.

Although not tested, it should work with cue+iso+mp3. Your output tracks however would be raw audio.
 
Well I installed it from microsoft. But I cant patch it. I procceed so: I open the patcher, click Select saturn game-->CD image. The I select my iso, click in add new patch and load your patch. I click in iso/cue/tracks and build image, it does like 30% of the process and then I get this message (see picture)
 

Attachments

  • Captura.JPG
    Captura.JPG
    43 KB · Views: 427
ok, something may be wrong with your cue. If you could send me this image via a link in PM, I can check and see why it is breaking.
 
Trying to use your tool on Linux with wine 6.2. Had to install .NET 5.0 (somehow it seemed to work).

Clicked through to my .bin/.cue image, clicked through to the SSP patch (Grandia) and clicked on "Build image" and was greeted with a popup message:

screenshot_210215_120918.png


Code:
$ cat error.log
   at System.IO.StreamExtensions.ReadBytes(Stream stream
 Int32 count)
   at SaturnPatcher.Index.get_Data()
   at SaturnPatcher.CDTools.GenerateISOFromISO(String filename
 String patchName
 IPBin ipBin
 Boolean IsECC)
   at SaturnPatcher.Views.AlternateMainPage.<>c__DisplayClass26_0.<Build_Clicked>b__0()

Are there sources for this tool anywhere to build a command line version of this without all the .NET mess?
 
Trying to use your tool on Linux with wine 6.2. Had to install .NET 5.0 (somehow it seemed to work).

Clicked through to my .bin/.cue image, clicked through to the SSP patch (Grandia) and clicked on "Build image" and was greeted with a popup message:

View attachment 5885

Code:
$ cat error.log
   at System.IO.StreamExtensions.ReadBytes(Stream stream
Int32 count)
   at SaturnPatcher.Index.get_Data()
   at SaturnPatcher.CDTools.GenerateISOFromISO(String filename
String patchName
IPBin ipBin
Boolean IsECC)
   at SaturnPatcher.Views.AlternateMainPage.<>c__DisplayClass26_0.<Build_Clicked>b__0()

Are there sources for this tool anywhere to build a command line version of this without all the .NET mess?
no, it is built in C#, there is no getting around .NET. That out of memory issue is a compatibility issue under Wine. I have been working with dibz` to get around this issue.
 
I was just applying the Grandia 0.9.2-RC translation using SSP 1.1.

I think there may be an issue with the SSP region-patching, since the images I created after pressing "Make Region Free" would hang on the Sega logo on startup. When I created an image without pressing "Make Region Free" then it booted just fine.

I was testing the images using Beetle Saturn/libretro. When I experienced the hang there were no errors in the libretro log file. I don't have enough info to know whether the problem is with SSP or with the patch file or the emulator, but if there are any steps I can take to help debug the issue, let me know. I was using a redump image for Grandia.
 
Hi, been trying to use this to patch my backup of Dracula X, however I get 2 errors when trying to patch. The 1st error is "Value cannot be null. (Parameter 'source')" and the 2nd error is "Error building ISO: Could not find a part of the path '*path*'. Not sure what the issue could be unless it's my actual .BIN and .CUE files.
 
Hi, been trying to use this to patch my backup of Dracula X, however I get 2 errors when trying to patch. The 1st error is "Value cannot be null. (Parameter 'source')" and the 2nd error is "Error building ISO: Could not find a part of the path '*path*'. Not sure what the issue could be unless it's my actual .BIN and .CUE files.
Do you have anything abnormal going on? Abnormal to somebody in the US. Like umlauts in file paths or the name.
 
Do you have anything abnormal going on? Abnormal to somebody in the US. Like umlauts in file paths or the name.
Nothing like that, but it does try to access a file that doesn't exist and folder I'm not familiar with at all (SSImage, which I'm assuming was created by the Patcher). In fact that folder is completely empty when I check it.

EDIT: Downloaded the new version of the Patcher and no longer have this issue.
 
Nothing like that, but it does try to access a file that doesn't exist and folder I'm not familiar with at all (SSImage, which I'm assuming was created by the Patcher). In fact that folder is completely empty when I check it.

EDIT: Downloaded the new version of the Patcher and no longer have this issue.
yes, it creates a temporary folder in your temporary directory that gets filled with the extracted files from the CD. It get's deleted when an error occurs or if the patch was successful, since I do not want to fill your harddrive up with one time use files.
 
I am trying to patch the bin/cue of panzer dragoon saga with the antime patch with an isp file extension.

this patcher only allows ssp file extensions...and antime doesn't provide ANY instructions as far as which patcher to use or whether to apply to the bin or the cue.

I have used the Lunar ISP patcher both on the cue and the bin and the game wont load.

I need this patch because I am using the Satiator in conjunction with a Pseudo Saturn 4 in 1 (with the 3 way switch) and I cant be pulling and inserting a cartridge every time I need it because we all know that those carts and contacts are very fragile. Without the patch, I receive the "remove cartridge"message.

Does anyone know a way to convert isp to ssp so I can use this patching tool...or just know which tool I am supposed to use and whether its the bin or the cue that actually should receive the patch?
 
The Sega Saturn Patcher is a completely different kind of patching tool. You can't just convert a different kind of patch to it with some automated process. The Patch needs to be recreated for the patcher as it works in a different way.

As for applying to a Bin or Cue, this boils down to understanding what a CD Image is and how it works. The Cue Sheet is not the game data, it simply tells whatever is using the image what tracks are what. The actual data is going to be in the BIN file, which is why it's bigger. Without looking at antime's patch I can't really say what program you're supposed to use or what image type it's expecting.
 
Back
Top