Home | Forums | What's new | Resources | |
Radiant Silvergun - Training Mode in Saturn version |
privateye - Dec 1, 2023 |
privateye | Dec 1, 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Radiant Silvergun has a Stage Select feature which is unlocked after clearing the game in Arcade or Saturn mode and is available immediately in Radiant Silvergun EXTRA.... It's a nice inclusion but, on it's own, it's useless for practice purposes because you will enter the stage with all weapons at level zero and hence will be severely under powered. This oversight was rectified by the inclusion of Training Mode in the PC / Switch / Xbox 360 ports that allows the weapon levels to be adjusted when selecting a stage : This can be replicated in the Saturn version with the following cheat codes for use with Action Replay and Pseudo Saturn Kai... : Master Code
Custom Weapon Levels for Player 1
Current points in hexadecimal for :
Weapon levels are dictated by the following thresholds :
To use the cheat codes, simply replace A, B, and C with the hex codes that correspond with the desired weapon levels. Here are some examples :
To set the weapon levels using Pseudo Saturn Kai :
To load your custom weapon levels :
Paired with the excellent Radiant Silvergun EXTRA... hack, these codes replicate the full Training Mode experience. Have fun and remember... BE ATTITUDE FOR GAINS |
cafe-alpha | Dec 3, 2023 | |||
BE PRAYING BE PRAYING BE PRAYING |
ben | Sep 2, 2024 | |||
Many thanks for your fast reply !! These codes work perfectly. P.S. the next Steam update will have the Player 2 playable (I work with Treasure/Live Wire for beta testing). There will be other few surprises !! |
xhul | May 27, 2025 | ||||
I've been thinking, if the conditional code only checks the 2 least significant of the 4 bytes used for player score, aren't the weapon levels re-written each time the player score reaches a multiple of 65536? 0x00010000, 0x00020000, etc. Of course, my question is only relevant if the player score can actually be such values. EDIT 1: If that's actually an issue, i can think of an alternative already, though it's no longer possible to set multiple weapon levels at the same time (basically because of the lack of multi-conditions support):
- The value used for weapon score (AAAAAA, BBBBBB, etc.) is greater than 255 (guaranteed to be the case if it's to set lvl 1-33). - Generally speaking, a weapon score can't possibly increase above 16777215 (sounds reasonable to assume it gets capped at the last 5M|14M threshold, though that's definitely something to be confirmed). EDIT 2: Another solution would be to use F6000914 230B as master instead, and remove the condition code. So the user would basically have to press RESET for 3-5 sec to set the desired weapon scores (probably after pausing the game, to be sure the game doesn't overwrite the data). That's the theory at least, i'm not sure if it actually works with RS. |
privateye | May 28, 2025 | |||||
This is something that I never considered so thanks for bringing it to my attention. I've fixed this with a new enable code, explanation is in the second spoiler |
xhul | May 29, 2025 | |||||||||||||
So the game actually uses 32-bit for Wscore? That's a bummer, cause that "at least Wlvl 3" restriction is far from wonderful. I may have found a way to switch that to "at least Wlvl 1". Indeed, i found some other codes that point to Wlvl, not Wscore. I haven't tested them at all, but since you seem to have a way to monitor RAM, you may be interested. First, you need to check if the addresses i have are actually valid. Supposedly, it's: 0x0601CE03 -> P1WAlvl (0x00-0x21) 0x0601CE04 -> P1WBlvl (0x00-0x21) 0x0601CE05 -> P1WClvl (0x00-0x21) 0x0601CEBF -> P2WAlvl (0x00-0x21) 0x0601CEC0 -> P2WBlvl (0x00-0x21) 0x0601CEC1 -> P2WClvl (0x00-0x21) Then, assuming the game updates Wlvl automatically as a result of a Wscore write cheat, the codes for P1 would be:
I'm curious to know if that actually works =] EDIT: Here's another treat, that fixes your text removal codes (no more extra CPU usage during gameplay). Note: If the user decides to use the codes for multiple messages, only 1 of the corresponding enable codes must be used (no matter which one).
|
privateye | May 30, 2025 | |||||||||||||||||||||
There is no restriction in practical terms because no one is going to practice any stage with weapon levels set to 1 or 2. After all, if someone is serious about getting good at the game, their weapon levels should far exceed level 2 after the first stage. However, it is *technically* still a limitation so...
...I've changed the enable codes, thanks for your support! The first version of these codes modified the weapon levels directly* so I'm not sure why it never occurred to me to check weapon levels in the enable code. Note that your suggested enable code of D601CE03 crashes the system as reads/writes of 16-bit values must be aligned on 16-bit boundaries, so it's changed to D601CE04 (check if weapons B and C are level zero). (*) This appeared to work at first glance until I tested it further and... realized that the weapons weren't leveling up at the correct pace.
Yep these are correct; Pseudo Saturn Kai contains a "Max Weapon Level P1" code that writes to these memory locations and the codes for player two are also correct.
This is true but the reverse is not, hence the problem with the first version of these codes.
Thanks, please note that the "Remove PRESS START BUTTON" code will be removed from the next version of Pseudo Saturn Kai as it's better to just use the patch... instead. |
xhul | May 30, 2025 | |||||
That's something i suspected, but i never took the time to test that, thanks for the confirmation. I corrected everything in my previous post, in case someone grabs the codes there. |
xhul | Jun 7, 2025 | |||
Throwing this here, mostly for the record: I did a bit of RAM digging, hoping to find a consistent way to check when a game was just initialised. Nothing promising so far, but i found something else. The following AR code can be used as a reliable "while off-game" enabler: D6076DF2 FFFF Basically, it guarantees the writes will NEVER occur when a ship is being controlled by a player, only in other contexts, the idea being to avoid hurting performance where it matters the most. It could be useful when you have many different writing codes that technically only need to be processed once (basically when hacking permanent data). |