Radiant Silvergun - Training Mode in Saturn version

privateye

Established Member
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 :

1.png


This can be replicated in the Saturn version with the following cheat codes for use with Action Replay and Pseudo Saturn Kai :

Master Code
F6000914 C305
B6002800 0000


Custom Weapon Levels for Player 1
D6076AC0 0000
16076AC0 00AA
16076AC2 AAAA
16076AC4 00BB
16076AC6 BBBB
16076AC8 00CC
16076ACA CCCC


Current points in hexadecimal for :
  • Weapon A = AA
  • Weapon B = BB
  • Weapon C = CC

Weapon levels are dictated by the following thresholds :
NOTE: Weapons levels 1 and 2 are only here for documentation purposes as, for technical reasons, weapons cannot be leveled up if they are initially set to these values.

Weapon Level
Points Required [Arcade Mode | Saturn Mode]
Hex Code [Arcade Mode | Saturn Mode]
1​
25,000​
00 61 A8
2​
50,000​
00 C3 50
3​
100,000​
01 86 A0
4​
150,000​
02 49 F0
5​
200,000​
03 0D 40
6​
300,000​
04 93 E0
7​
400,000​
06 1A 80
8​
500,000​
07 A1 20
9​
600,000​
09 27 C0
10​
700,000​
0A AE 60
11​
800,000 | 1,500,000​
0C 35 00 | 16 E3 60
12​
900,000 | 1,800,000​
0D BB A0 | 1B 77 40
13​
1,000,000 | 2,100,000​
0F 42 40 | 20 0B 20
14​
1,200,000 | 2,400,000​
12 4F 80 | 24 9F 00
15​
1,400,000 | 2,700,000​
15 5C C0 | 29 32 E0
16​
1,600,000 | 3,000,000​
18 6A 00 | 2D C6 C0
17​
1,800,000 | 3,400,000​
1B 77 40 | 33 E1 40
18​
2,000,000 | 3,800,000​
1E 84 80 | 39 FB C0
19​
2,200,000 | 4,200,000​
21 91 C0 | 40 16 40
20​
2,400,000 | 4,600,000​
24 9F 00 | 46 30 C0
21​
2,600,000 | 5,000,000​
27 AC 40 | 4C 4B 40
22​
2,800,000 | 5,500,000​
2A B9 80 | 53 EC 60
23​
3,000,000 | 6,500,000​
2D C6 C0 | 63 2E A0
24​
3,200,000 | 7,000,000​
30 D4 00 | 6A CF C0
25​
3,400,000 | 7,500,000​
33 E1 40 | 72 70 E0
26​
3,600,000 | 8,000,000​
36 EE 80 | 7A 12 00
27​
3,800,000 | 8,500,000​
39 FB C0 | 81 B3 20
28​
4,000,000 | 9,000,000​
3D 09 00 | 89 54 40
29​
4,200,000 | 10,000,000​
40 16 40 | 98 96 80
30​
4,400,000 | 11,000,000​
43 23 80 | A7 D8 C0
31​
4,600,000 | 12,000,000​
46 30 C0 | B7 1B 00
32​
4,800,000 | 13,000,000​
49 3E 00 | C6 5D 40
33​
5,000,000 | 14,000,000​
4C 4B 40 | D5 9F 80

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 :
Arcade Mode - A/17, B/18, C/19

A/17 = 1B 77 40
D6076AC0 0000
16076AC0 001B
16076AC2 7740


B/18 = 1E 84 80
16076AC4 001E
16076AC6 8480


C/19 = 21 91 C0
16076AC8 0021
16076ACA 91C0


Saturn Mode - A/17, B/18, C/19

A/17 = 33 E1 40
D6076AC0 0000
16076AC0 0033
16076AC2 E140


B/18 = 39 FB C0
16076AC4 0039
16076AC6 FBC0


C/19 = 40 16 40
16076AC8 0040
16076ACA 1640


Enable Code starting with D is mandatory. In both Arcade and Saturn modes, Weapon A point total for player one is stored in four bytes in High Work RAM (0x76AC0 -> 0x76AC3) which is reset to zero when starting a new game or using the Stage Select feature. With this in mind, the Enable Code controls the main codes like so :
  1. When starting a new game or using the Stage Select feature, point totals for all weapons are reset by the game itself.
  2. Now that the two most significant bytes of the Weapon A point total are 0x0000, set the weapon levels to the desired values.
  3. Now that the two most significant bytes of the Weapon A point total are greater than 0x0000, stop writing these values to allow the weapon levels to increase from that point onward.
Note that 0x76AC0 is a carryover byte which allows for point totals greater than the maximum 3-byte unsigned value of 16,777,215. This prevents the Enable Code from resetting the weapon levels during gameplay as the two most significant bytes will never wrap back around to zero.

WeaponA.gif

To set the weapon levels using Pseudo Saturn Kai :
01) Press the X button to enable cheat codes.
02) In the Select Cheats menu, press the Z button.
03) Select Load Built-in Codes with the A button.
04) In the Enable field after the letter D, change 0000000 to 6076AC0 using the d-pad and shoulder buttons to select the digits and adjust their values, respectively.
05) In the Code 1 field, press the X button and change 00000000 to 16076AC0
06) In the Code 2 field, press the X button and change the eighth digit to 2
07) In the Code 3 field, press the X button and change the eighth digit to 4
08) In the Code 4 field, press the X button and change the eighth digit to 6
09) In the Code 5 field, press the X button and change the eighth digit to 8
10) In the Code 6 field, press the X button and change the eighth digit to A
11) In the six code fields, change the last four digits to your desired values.
12) Once all of the adjustments have been made, press the A button.
13) Select Save to Internal Memory with the A button.

psk-weapon-save.gif

To load your custom weapon levels :
01) Press the X button to enable cheat codes.
02) In the Select Cheats menu, press the Z button.
03) Select Load from Internal Memory with the A button.
04) Press the A button to load Radiant Silvergun with the custom weapon levels that you previously set.

psk-weapon-load.gif


Paired with the excellent Radiant Silvergun EXTRA hack, these codes replicate the full Training Mode experience. Have fun and remember...

BE ATTITUDE FOR GAINS
 
Last edited:
Many thanks for all these codes. It works fine on my Saturn.
However, the custom weapon experience levels :
Custom Weapon Levels
D6076DFA 0000
16076AC0 00AA
16076AC2 AAAA
16076AC4 00BB
16076AC6 BBBB
16076AC8 00CC
16076ACA CCCC
only work for Player 1.
Do you have all these codes for player 2 ?

Best regards
 
Many thanks for all these codes. It works fine on my Saturn.
However, the custom weapon experience levels only work for Player 1.
Do you have all these codes for player 2 ?
Hi ben, you're welcome! If these codes are useful for such a legendary player as yourself, then the time and effort in making them was all worth it. Here are the requested codes, enjoy 🙂

Custom Weapon Levels for Player 2
D6076ACC 0000
16076ACC 00AA
16076ACE AAAA
16076AD0 00BB
16076AD2 BBBB
16076AD4 00CC
16076AD6 CCCC
 
Last edited:
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 !!
 
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):
player 1 - weapon A :
D6076AC1 0000
36076AC1 00AA
16076AC2 AAAA

OR

player 1 - weapon B :
D6076AC5 0000
36076AC5 00BB
16076AC6 BBBB

OR

...
Of course, the 16-bit check works only under 2 conditions:
- 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.
 
Last edited:
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?
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 🙂
 
Last edited:
So the game actually uses 32-bit for Wscore?
That's a bummer, cause that "at least Wlvl 3" restriction isn't exactly top notch if you ask me.

I may have found a solution to switch the restriction 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 the 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)
I would recommend passing a level manually (without using a RAM edit or cheat) before checking if the value switches to 0x01.

After that, it would probably be a good idea to check if the game updates Wlvl automatically as a result of a Wscore change cheat.
If it does, then the following codes should work, for P1:
D601CE02 0000 (check if WAlvl>0)
36076AC1 00AA (8-bit write instead of 16-bit, likely faster)
16076AC2 AAAA
36076AC5 00BB (8-bit write instead of 16-bit, likely faster)
16076AC6 BBBB
36076AC9 00CC (8-bit write instead of 16-bit, likely faster)
16076ACA CCCC
If it doesn't, 2 extra codes are required to force Wlvl manually:
D601CE02 0000 (check if WAlvl>0)
3601CE03 00LA (LA = weapon A lvl, 0x01>0x21)
1601CE04 LBLC (LB|LC = weapon B|C lvl, 0x01>0x21)

36076AC1 00AA (8-bit write instead of 16-bit, likely faster)
16076AC2 AAAA
36076AC5 00BB (8-bit write instead of 16-bit, likely faster)
16076AC6 BBBB
36076AC9 00CC (8-bit write instead of 16-bit, likely faster)
16076ACA CCCC

I'm curious to know if that actually works =]
 
Last edited:
Back
Top