Homebrew Saturn emulation using Cotton/Guardian Force testing and debug

lisreal2401

Well-Known Member
OP
Member
Joined
Jun 4, 2013
Messages
831
Trophies
0
Age
24
XP
2,129
Country
United States
This collection has problems but I managed to get it to run any Saturn game you'd like and a few other notes

Game is using an emulator I cannot place - I don't see references in the main in IDA though it might be in the Unity resource files. All the games here have unique ini files, but are encrypted and I'm not entirely sure to what extent they change the emulation per game

Quick instructions for injection

Dump romfs of one of the last three packages - these are the game files
Replace the cue file, make sure to rename it to the expected game - the bin has the same filename, but you need to delete it and place the bin files from the other game. Do not rename these files.
See what happens.

e232606fb8.png


CHECK THREADMARKS!
 
Last edited by lisreal2401,

Sm0k3r83

Well-Known Member
Member
Joined
May 16, 2018
Messages
159
Trophies
0
Age
38
XP
1,398
Country
Canada
any chance anyone can test Virtual Hydlide, not sure if it just doesnt work or if im not doing it correctly
 

lisreal2401

Well-Known Member
OP
Member
Joined
Jun 4, 2013
Messages
831
Trophies
0
Age
24
XP
2,129
Country
United States
Amended tutorial since this assumes things not listed in the first post

I'd assume you need at least 12.0 or higher
Keys dumped and stored from Lockpick
NX dumptool

After installing the game or inserting, you want to dump the romfs of NCA 6, 7 and 8 toggled as layeredfs - you only need a single game, but these gives you the 3 to test with

Now in the dumped folder, you'll notice a single .bin and .cue file

Copy the name of the .cue file (NOT the file, the file name itself) and delete it with the bin file of the same name.
Place your bin cue files where we just deleted the files
Rename .cue to the original file name, and leave the bin files untouched

Launch the game, then pick whatever game you swapped. Game should boot - if you get an error, you most likely got hung up on the .cue file - I need to stress this, DO NOT use the original cue file
 
  • Like
Reactions: lordelan

cucholix

Banners guy
Member
Joined
Jan 17, 2017
Messages
2,827
Trophies
1
Age
41
XP
3,701
Country
Chile
Launch the game, then pick whatever game you swapped. Game should boot - if you get an error, you most likely got hung up on the .cue file - I need to stress this, DO NOT use the original cue file
The original .cue seems to be encrypted, the text is garbled unlike standart .cue.
Since you are using standart .cue for game swapping there's no issues with the audio?
 

ploggy

WAKA! WAKA!
Member
Joined
Aug 29, 2007
Messages
4,089
Trophies
1
XP
5,586
Country
United Kingdom
I've tried this, I managed to get Clockwork Knight 2 to boot to the Main Menu but blacks screens after that and I got Decathlete to work but black screens after the first Event :/
 
  • Like
Reactions: KiiWii

lisreal2401

Well-Known Member
OP
Member
Joined
Jun 4, 2013
Messages
831
Trophies
0
Age
24
XP
2,129
Country
United States
I've tried this, I managed to get Clockwork Knight 2 to boot to the Main Menu but blacks screens after that and I got Decathlete to work but black screens after the first Event :/
Sega Rally works with minor slowdown undocked, visuals look fine

Not surprised, though - hopefully the .ini and the emulator itself can be figured out. For now, if you get in game at all that will help not waste time for others. :)
 
  • Like
Reactions: cloudxddd

ploggy

WAKA! WAKA!
Member
Joined
Aug 29, 2007
Messages
4,089
Trophies
1
XP
5,586
Country
United Kingdom
Sega Rally works with minor slowdown undocked, visuals look fine

Not surprised, though - hopefully the .ini and the emulator itself can be figured out. For now, if you get in game at all that will help not waste time for others. :)
Problem is I think we'd need to decrypt/re-encrypt the cue/ini in order for this to work without issues.
Vid of Decathlete. (blackscreens after this)


https://streamable.com/k0twiz
 

lisreal2401

Well-Known Member
OP
Member
Joined
Jun 4, 2013
Messages
831
Trophies
0
Age
24
XP
2,129
Country
United States
Problem is I think we'd need to decrypt/re-encrypt the cue/ini in order for this to work without issues.
Vid of Decathlete. (blackscreens after this)


https://streamable.com/k0twiz
The issue being, I'm not a programmer, so the findings in my post is what I managed to figure out by looking through code and seeing what works - it's more of a PSA for anyone interested in breaking encryption while also a dirty emulation of the hardware that's doable now. I didn't think anybody was going to look at this title much and I'm happy I got this far :P
 
  • Like
Reactions: sorabora and ploggy

Purple_Shyguy

Well-Known Member
Member
Joined
Nov 8, 2008
Messages
1,591
Trophies
1
Age
31
Location
Republic of Ireland
XP
2,580
Country
Does anyone know what the .cue filenames are for Guardian Force and Cotton Boomerang?

Also, the emulator is wrapped inside Unity which people have reported the games have 10+ frames on input lag. Which is why games might feel weird if you inject them.
 
Last edited by Purple_Shyguy,

Levine91

Well-Known Member
Member
Joined
Oct 8, 2011
Messages
100
Trophies
0
XP
215
Country
United States
This is awesome! I hope to see more come out of this and more people test games out.


EDIT: I'm wondering if using a game that has more than one .bin file could be causing any of the issues @lisreal2401 or @ploggy ran into? Did the HotD file that you used OP have issues with the audio or was that another game? I ask because I combined the 2 .bin files that Magic Knight Rayearth has and I've had 0 issues with audio, gameplay, or FMV. (Examples below)

Magic Knight Rayearth FMV test
https://lewd.pics/p/MZT3.mp4


Magic Knight Rayearth Gameplay + Save State Test
https://lewd.pics/p/4z8b.mp4
 
Last edited by Levine91,
  • Like
Reactions: Teddie
Better write up/new info New

Levine91

Well-Known Member
Member
Joined
Oct 8, 2011
Messages
100
Trophies
0
XP
215
Country
United States
BIG UPDATE!!! 4MB RAM and Stretched Widescreen is possible with a minor change to the .ini config!!!

Decrypted Configuration File


I have gone ahead and attached the decrypted .ini config, courtesy of @cucholix
download the attached "Config_Switch.zip" file, which contains the .ini file you'll need.
I would recommend editing the .ini config using Notepad++, but regular Notepad will work also.


---!!! IMPORTANT !!!---
Make sure to delete your save file after making any changes to the .ini config, otherwise the changes will not take effect!!
Additionally the .ini config will work with any of the 3 core games, you just need to rename the attached .ini config to the corresponding title.
- "Cotton2_Switch.ini"
- "CottonBoomerang_Switch.ini"
- "GuardianForce_Switch.ini"


Config Cheat Sheet
- WideScreen="0" (Widescreen OFF | DEFAULT)
- WideScreen="1" (Widescreen ON)

- CartridgeID="00" (No RAM Cartridge)
- CartridgeID="21" (Backup RAM Cartridge)
- CartridgeID="5a" (1MB RAM Cartridge | DEFAULT)
- CartridgeID="5c" (4MB RAM Cartridge)




Hiding the "Options" icon.
Thanks once again to @cucholix we are also able to hide the "Options" icon from the bottom left corner of the screen.
Attached is a "Texture.zip" file that contains the custom "Texture.tex" file you'll need.
Just simply replace the existing file in your /romfs/ folder with this one.
The options menu itself will still work upon pressing " - " on your controller.

Examples (also provided by @cucholix)
p3-png.278847


p4-png.278848






Compatibility

I've been doing some heavy testing of games and boy oh boy the results have been AWESOME!!!
Honestly blew me away with the results... everything listed was tested in HANDHELD mode, NO Overclocking.
Unless noted, I tried to play the first level/tutorial/race/etc to see how things held up.
I really look forward to other people testing more games out and hopefully someone can crack this emulator!

EDIT: Not sure if it'll matter much but every game I tested had all of it's bin files combined via CDmage (so 1 bin, 1 cue)



Albert Odyssey: Legend of Eldean (USA) (RE) - Perfect

Amok - Perfect

Astal (USA) - Perfect

Baku Baku Animal (USA) - Almost Perfect (Minor lag, consistently running ~50fps)

Burning Rangers (USA) - Almost Perfect (Minor lag at times, I was able to complete the tutorial no problem)

Bug! (USA) - Perfect

Bug Too! (USA) - Perfect

Bulk Slash (Japan) - Unplayable (Game hangs on black screen after start screen)

Clockwork Knight (USA) - Perfect

Clockwork Knight 2 (USA) - Unplayable (Crashes after main menu; use PAL version)

Clockwork Knight 2 (PAL) - Perfect

Clockwork Knight: Pepperouchau no Fukubukuro (Japan) - CK1 Perfect / CK2 Unplayable (Crash; Use PAL Standalone)

Dark Savior - Perfect

Die Hard Arcade (USA) - Perfect

Dragon Force (USA) - Perfect

Dungeons & Dragons: Shadows Over Mystara (Japan) - Perfect

Elevator Action Returns (Japan) - Perfect

Gebockers (Japan) - Perfect

Guardian Heroes (USA) - Perfect

Gungriffon (USA) - Perfect

Keio Flying Squadron 2 (Europe) - Perfect

Legend of Oasis (USA) - Perfect

Linkle Liver Story (Japan) (English Translation) - Perfect

Loaded (USA) - Perfect

Magic Knight Rayearth (USA) - Perfect

Metal Slug - Super Vehicle-001 (Japan) (Rev A) - Perfect

Mr. Bones (USA) / Mr. Bones (Japan) - Unplayable (Both regions, game hangs on black screen and never proceeds)

Night Striker S (Japan) - Perfect

NiGHTS into Dreams... (USA) (RE) - Almost Perfect (Often there is a very minor frame drop, but the only reason I even noticed is due to the audio. Otherwise, you can't even tell.)

Noon (Japan) (Rev A) - Perfect

Panzer Dragoon (USA) - Perfect

Panzer Dragoon Zwei (USA) - Perfect

Panzer Dragoon Saga (USA) (Disc 1) - Almost Perfect (Minor audio cracks at random times, I was able to play on foot & riding on the dragon without issue)

Policenauts (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.)

Powerslave (USA) - Perfect

Radiant Silvergun (Japan) - Perfect

Rayman (USA) / Rayman (Japan) - Unplayable (Both regions have an input bug. Both in the main menu & in-game, when you press a directional key (Joystick or D-Pad, both are effected), the game responds to the input VERY rapidly, even with a very light press. It ultimately makes the game unplayable)

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.)

Sega Ages: Power Drift - Almost Perfect (Minor Graphical issues: vehicle disappears when you're on/under a bridge)

Saturn Bomberman (USA) - Perfect

Shinrei Jusatsushi Taroumaru (Japan) - Perfect

Sonic 3D Blast (USA) - Perfect

Sonic Jam (USA) - Unplayable (Crashes at "Press Start" screen)

Sonic R (USA) - Almost Perfect (Minor audio cracks at random times, I was able to finish a race with no issues.)

Steamgear Mash (Japan) - Perfect

Three Dirty Dwarves (USA) - Unplayable (Have to button mash Start+C to get past main menu, game crashes when the stage is 99% loaded)

Virtua Fighter 2 (USA) (RE) - Somewhat Playable (The game has a consistent amount of slowdown it seems, I would say it's in the 40-50fps range if I had to guess)

Virtual On: Cyber Troopers (USA) - Perfect? (For some reason the game initially makes you confirm 2 controllers before the start screen. However you can progress as normal in single player after this. No other issues)

Willy Wombat (Japan) - Perfect
 

Attachments

  • Config_Switch.zip
    1.6 KB · Views: 5
  • Texture.zip
    638.2 KB · Views: 4
Last edited by Levine91,

Purple_Shyguy

Well-Known Member
Member
Joined
Nov 8, 2008
Messages
1,591
Trophies
1
Age
31
Location
Republic of Ireland
XP
2,580
Country
If we could turn off vsync to lessen input latency would be great.

Also, if we could have multiple save states. Instead of a single one.

I tried setting up each game as an individual .nsp so then you could have 3 games with 3 saves on the go at once but it didn't work. Maybe the file layout are different for individual install? Anyone tried that?
 

Levine91

Well-Known Member
Member
Joined
Oct 8, 2011
Messages
100
Trophies
0
XP
215
Country
United States
If we could turn off vsync to lessen input latency would be great.

Also, if we could have multiple save states. Instead of a single one.

I tried setting up each game as an individual .nsp so then you could have 3 games with 3 saves on the go at once but it didn't work. Maybe the file layout are different for individual install? Anyone tried that?

There are individual versions of all 3 games on the eShop and those can be injected and used separately from Tribute set.
All of which have different Game IDs. I'm currently testing more games as we speak going this route. (Having Tribute Set and the 3 individual NSPs all installed simultaneously)

Furthermore with the individual NSPs, they don't have a main menu like tribute does, so once you load the NSP from your home screen, it'll autoboot into the injected game! Optionally, Replace the NSP Icon, edit the title name, and you'll have a custom game even! (Now if someone can figure out how to get new borders in as well as I have no idea how)
 
  • Like
Reactions: hippy dave
General chit-chat
Help Users
    sohanbgw @ sohanbgw: tu connais pretendo