Homebrew Saturn emulation using Cotton/Guardian Force testing and debug

Zephir1991

Well-Known Member
Member
Joined
Jul 21, 2012
Messages
421
Trophies
0
XP
1,179
Country
Germany
I just managed, here are the steps:
- Download Ultimate-Switch-Hack-Script from github
- Install Guardian Force - Saturn Tribute NSP on your switch (I failed using Cotton2, Guardian worked)
- After the title was installed, from your switch dump prod.keys and title.keys using Lockpick
- Insert your switch sd card on your PC, move prod.keys and title.keys from sdcard/switch/ to your PC
- Now you can finally generate your game, launch Ultimate-Switch-Hack-Script
- Proceed to the main menu where you see the entry "6: Other functions?"
- After entering that submenu, proceed to "16: Inject a Sega Saturn game"

The rest is straight forward, it will ask you for the keys files you generated, it will also ask you for a 256x256 jpeg cover (non-interlaced, has to be less than 128k).

After the nsp has been generated, you can go inside the Ultimate-Switch-Hack-Script folders and find the uncompressed content of Guardian Force, here you can swap some files around. If you go back a few threads, you will see a Texture.tex file that makes the lower-right menu icon disappear, there are also ini files being shared with good settings for various games.

Hope it helps!
I always get a "Failed to create placeholder" error after installing the newly created game. The Icon on the main menu is always loading and i have to delete the installed saturn game. Tried it with Cotton2 and Guardian. Prodkeys are fresh and everything else should be alright too.
The script also throws an error "failed to match key".
 
Last edited by Zephir1991,

shadow256

Well-Known Member
Member
Joined
Sep 30, 2017
Messages
145
Trophies
0
Age
35
XP
508
Country
France
just a friendly reminder that if you share the New NSP injected in public, it will have your shared Console Keys, plus a Pirated game with it
If you talk about NSPs that was created by my script I don't think it will have console's shared keys cause they are not used during a NSP creation. I haven't tried to install a NSP that I have created on an other console so I can't confirm.
 
  • Like
Reactions: ZER-O

fagnerkof

Active Member
Newcomer
Joined
May 3, 2018
Messages
33
Trophies
0
Age
36
XP
228
Country
Brazil
I just managed, here are the steps:
- Download Ultimate-Switch-Hack-Script from github
- Install Guardian Force - Saturn Tribute NSP on your switch (I failed using Cotton2, Guardian worked)
- After the title was installed, from your switch dump prod.keys and title.keys using Lockpick
- Insert your switch sd card on your PC, move prod.keys and title.keys from sdcard/switch/ to your PC
- Now you can finally generate your game, launch Ultimate-Switch-Hack-Script
- Proceed to the main menu where you see the entry "6: Other functions?"
- After entering that submenu, proceed to "16: Inject a Sega Saturn game"

The rest is straight forward, it will ask you for the keys files you generated, it will also ask you for a 256x256 jpeg cover (non-interlaced, has to be less than 128k).

After the nsp has been generated, you can go inside the Ultimate-Switch-Hack-Script folders and find the uncompressed content of Guardian Force, here you can swap some files around. If you go back a few threads, you will see a Texture.tex file that makes the lower-right menu icon disappear, there are also ini files being shared with good settings for various games.

Hope it helps!
There's no "16: Inject a Sega Saturn game" option for me in Ultimate-Switch-Hack-Script and trying to update it, i got "no internet connection" error, any workaroud for this?

nvm, figured it is in the master version not the latest release
 
Last edited by fagnerkof,

ZER-O

Well-Known Member
Member
Joined
Sep 25, 2021
Messages
354
Trophies
0
XP
861
Country
United Kingdom
If you talk about NSPs that was created by my script I don't think it will have console's shared keys cause they are not used during a NSP creation. I haven't tried to install a NSP that I have created on an other console so I can't confirm.
i have not had a proper look of what is stored with the output, all i know is each key is unique or traceable to the console it come from, this isn't a big deal unless something from those prod.keys was stored in the output

there is something else i am not at liberty to discuss in public which concerns me

i just dont want to get you into the spot light if some Black Sheep start using the Script and share the games to TinFoil or other pirate sites, many Eyes are glued to this thread and are already making Articles about what we have achieved in their own Websites

what we are doing is a very Grey Area for Nintendo Game Package property

also on another subject, someone started to figure out the proper settings for some games
does your script cares what was the name for the game settings.ini
does it automatically correct the name or do i have to keep the name to Guardian_Force.ini before i point your Script to it
forgive my ignorance i did not test it myself and was looking for a quick reply before i test it again


the idea is to keep a folder with your tool and add all the config_settings.ini that we customized for each game as resource to use while we build NSP
 
Last edited by ZER-O,
  • Like
Reactions: Thorhax

fagnerkof

Active Member
Newcomer
Joined
May 3, 2018
Messages
33
Trophies
0
Age
36
XP
228
Country
Brazil
I always get a "Failed to create placeholder" error after installing the newly created game. The Icon on the main menu is always loading and i have to delete the installed saturn game. Tried it with Cotton2 and Guardian. Prodkeys are fresh and everything else should be alright too.
The script also throws an error "failed to match key".

Got this same error here
 

Magimog

Member
Newcomer
Joined
Mar 22, 2009
Messages
20
Trophies
0
XP
184
Country
United States
Try to use the script in debug mode (not full debug) and attach the log file.
Came to realization that i need to dump my prod.keys & title.keys after NSP installation, previously I did it before. Your error message helped guide the way. Everything now went as expected and can start optimizing individual games.

Your script is quite good! If I can get my hands on another V1 Switch I'll attempt a full run with it
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
7,228
Trophies
1
XP
8,782
Country
United Kingdom
i have not had a proper look of what is stored with the output, all i know is each key is unique or traceable to the console it come from, this isn't a big deal unless something from those prod.keys was stored in the output
Good to be cautious, but for accuracy - most keys dumped from a Switch into prod.keys are generic and the same between all Switches. The only unique ones are those used to encrypt the eMMC etc. Keys used to make new NSPs and decrypt existing ones are generic, and there would be no reason for any identifiable key to end up in a resulting NSP, unless the script literally bundled the prod.keys file into it by accident.

If you wanted confirmation that most keys are generic, you could google "prod.keys pastebin" or similar to see what's publicly (tho not legally per se) available and compare the keys to your own file.
 

corncheetos

New Member
Newbie
Joined
Oct 16, 2021
Messages
4
Trophies
0
Age
20
XP
45
Country
United States
Sakura Wars (Japan) (English Translation) - Perfect (Emulator will not read ISO+WAV+CUE, you will need to convert to BIN+CUE. I recommend AnyBurn to accomplish this.)
How did you combine the discs to make one bin and cue? I see that you said you used cdmage to combine everything into one bin and cue, but I don't see how to do that within the application.
 

Zephir1991

Well-Known Member
Member
Joined
Jul 21, 2012
Messages
421
Trophies
0
XP
1,179
Country
Germany
How did you combine the discs to make one bin and cue? I see that you said you used cdmage to combine everything into one bin and cue, but I don't see how to do that within the application.
You need to use the "save as..." option. It will merge all files that way.
 

stranno

Well-Known Member
Member
Joined
Feb 17, 2013
Messages
593
Trophies
0
XP
1,750
Country
Spain
Yes, but how do I load multiple discs? Or will I just have to switch the files when I get to the point in the game in which I need to swap discs.
I think nobody has tried that yet.

If the game allows to save before the disc changing (ala Final Fantasy VII) just save and load in the next disc. If the game does not allow that.. well, then that's a problem. But not only in this emulator, even some ODEs has this problem (like Fenrir, tho it will receive a disc hot-swap feature in the future).

I guess ZebraEngine should have the same save format as SSF, so maybe you could bypass the disc swapping on PC.
 
Last edited by stranno,

corncheetos

New Member
Newbie
Joined
Oct 16, 2021
Messages
4
Trophies
0
Age
20
XP
45
Country
United States
I think nobody has tried that yet.

If the game allows to save before the disc changing (ala Final Fantasy VII) just save and load in the next game. If the game does not allow that.. well, then that's a problem. But not only in this emulator, even some ODEs has this problem (like Fenrir, tho it will receive a disc hot-swap feature in the future).

I guess ZebraEngine should have the same save format as SSF, so maybe you could bypass the disc swapping on PC.
Well shoot. That blows.
I'll keep SSF in mind.
 
Last edited by corncheetos,

matt!

Well-Known Member
Member
Joined
Nov 20, 2009
Messages
591
Trophies
0
Age
44
Website
www.gingerbeardman.com
XP
1,079
Country
United Kingdom
OK, finally trying this myself using my GuardianForce install.

Save game has been deleted.

What am I doing wrong?

Do I need to configure atmosphere to use these files instead of the game ones?

View attachment 280081
The answer is that I wasn't doing anything wrong. I needed to wait for the splash screen to pass and the actual Saturn game to boot. LOL

Waialae no Kiseki 36 Extra Holes is playing perfectly understand Guardian. Force. No overclock. No lag that I can discern. Pretty vital for a good game to have reliable timing on the input button presses.
 
Last edited by matt!,

stranno

Well-Known Member
Member
Joined
Feb 17, 2013
Messages
593
Trophies
0
XP
1,750
Country
Spain
Bio Hazard / Resident Evil (Both) work, indeed. But, here comes the weird part, you have to let the initial Capcom logo to play, you can skip the second video (pre-intro) if you want. Otherwise Title Screen will be stucked and it won't show the Press Start Button text. I skipped both videos the first time, that's why it was not working for me.

It also seem to requiere CDBlockNoWait="1". Default CD speeds seem to lock the game sometimes in the door transitions, with faster loading speed I haven't got any issue until the firs Item Box, haven't played more, but seems stable. Don't use deinterlacing, otherwise you will see an awful ghosting effect behind the character.

No other tweak seem to be required. 450 BlockClock works fine and BusWait makes the game always show the Press Start Button text, but in the third or fourth camera cut (depending on the character) the game always hangs.
 

fagnerkof

Active Member
Newcomer
Joined
May 3, 2018
Messages
33
Trophies
0
Age
36
XP
228
Country
Brazil
Creating nsp I keep getting the warnings:
[WARN]: Failed to match key "bis_kek_source", (value "*")
[WARN]: Failed to match key "eticket_rsa_kek", (value "*")
[WARN]: Failed to match key "eticket_rsa_kek_source", (value "*")
[WARN]: Failed to match key "eticket_rsa_kekek_source", (value "*")
[WARN]: Failed to match key "per_console_key_source", (value "*")
[WARN]: Failed to match key "retail_specific_aes_key_source", (value "*")
[WARN]: Failed to match key "rsa_oaep_kek_generation_source", (value "*")
[WARN]: Failed to match key "rsa_private_kek_generation_source", (value "*")
[WARN]: Failed to match key "save_mac_key", (value "*")
[WARN]: Failed to match key "sd_seed", (value "*")
[WARN]: Failed to match key "ssl_rsa_kek", (value "*")
[WARN]: Failed to match key "ssl_rsa_kek_source_x", (value "*")
[WARN]: Failed to match key "ssl_rsa_kek_source_y", (value "*")
[WARN]: Failed to match key "xci_header_key", (value "*")

And it doesn't work, can't install properly on switch, and yuzu loads the nsp but the game don't start

Have no clue of what to do to fix this. This happens both with my prod,keys extracted via Lockpick or using other prod,keys found out there
 

gersonzero

Member
Newcomer
Joined
Sep 15, 2020
Messages
17
Trophies
0
Age
36
XP
106
Country
United States
Creating nsp I keep getting the warnings:
[WARN]: Failed to match key "bis_kek_source", (value "*")
[WARN]: Failed to match key "eticket_rsa_kek", (value "*")
[WARN]: Failed to match key "eticket_rsa_kek_source", (value "*")
[WARN]: Failed to match key "eticket_rsa_kekek_source", (value "*")
[WARN]: Failed to match key "per_console_key_source", (value "*")
[WARN]: Failed to match key "retail_specific_aes_key_source", (value "*")
[WARN]: Failed to match key "rsa_oaep_kek_generation_source", (value "*")
[WARN]: Failed to match key "rsa_private_kek_generation_source", (value "*")
[WARN]: Failed to match key "save_mac_key", (value "*")
[WARN]: Failed to match key "sd_seed", (value "*")
[WARN]: Failed to match key "ssl_rsa_kek", (value "*")
[WARN]: Failed to match key "ssl_rsa_kek_source_x", (value "*")
[WARN]: Failed to match key "ssl_rsa_kek_source_y", (value "*")
[WARN]: Failed to match key "xci_header_key", (value "*")

And it doesn't work, can't install properly on switch, and yuzu loads the nsp but the game don't start

Have no clue of what to do to fix this. This happens both with my prod,keys extracted via Lockpick or using other prod,keys found out there
Same. I for some reason never had the ability to get my prod or title keys from lockpick. I have to use the Lockpick_RCM to get my keys. When i use that, I get errors such as what you listed when injecting. I am not very good at understanding this lol
 

yyoossk

Well-Known Member
Member
Joined
Oct 18, 2017
Messages
172
Trophies
0
XP
1,738
Country
Japan
2021101717071600-0C87AADF5C7669AB4F25F77B3E61F738.jpg
2021101718165900-0C87AADF5C7669AB4F25F77B3E61F738.jpg

https://segaxtreme.net/threads/sega-saturn-26th-anniversary-game-competition.24626/
 

matt!

Well-Known Member
Member
Joined
Nov 20, 2009
Messages
591
Trophies
0
Age
44
Website
www.gingerbeardman.com
XP
1,079
Country
United Kingdom
I was thinking... could SimpleModManager be a solution to managing multiple games?
My idea was to put all game bins in the romfs folder and then use SimpleModManager to select games by swapping cue files.

Here's how it looks:

1. Parent game and count of available alternate games
3CA9B30F-0A22-407B-AD99-C84D814E5573.jpeg


2. Select a game
49B8EF31-E12D-4F33-9D66-D609D96C3E28.jpeg


3. (Deactivate any previously active game) Activate a game (this copies over just the cue file so is pretty much instant)
3E2E2CE3-48DC-47B8-ADAA-272C370F7A21.jpeg


4. Game is now active
2A63AF38-BBF5-4B65-A73E-B48F7A8962E4.jpeg

5. Go to home menu, launch parent game, have fun 😎
 
Last edited by matt!,
General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: https://imgur.com/gallery/BiJtKTt