Did some experimenting tonight with editing codes on the fly. Looks like vitacheat can be used to hack vitacheat, I know surprise, right? *sarcasm*
So I've been working with a code to press a button and change a value inside the vitacheat code list. I was using Monster Monpiece as my test game, because there's a "Color Combo" thing where if you play multiple of the same color card, you get a bonus, but playing a different color breaks the combo. I can hack the Combo meter to max, but then if you play a diff color, it breaks until you play a second of that same new color.
Sure, I could make a code that edits all that in the game, but I figured this was a perfect time for Proof of Concept and staying up till 6am. Plus, it looks really cool the way I did it.
Edit: This code uses the B200 codes new "Module" feature, so it will require z06 to use.
Code:
#Vitacheat info:
#81540000= Vitacheat(seg1) location start
#690=code start
#69c=Color space (the [] part of the code name for debugging)
#6d0= line 1 address
#6d4= line 1 code
#6e0= line 2 address
#6e4= line 2 code
_V0 Test Code: [ ]
$3001 8122CE80 00000069 #Normal Pointer code (line1)
$3300 00000000 00000000 #Normal Pointer code (line2)
$B20E 00000001 00000000 #b200 code selecting Vitacheat Module(seg1)
$C202 00000001 00008010 #Check for controller combo (DPadUp+sq)
$0000 000006E4 00000001 #Change line2 code to 0x01
$0200 0000069C 00444552 #Change Code Title to say [RED ]
$C202 00000001 00008020 #Check for controller combo (DPadR+sq)
$0000 000006E4 00000002 #Change line2 code to 0x02
$0200 0000069C 2E4C4559 #Change Code Title to say [YEL.]
$C202 00000001 00008040 #Check for controller combo (DPadDown+sq)
$0000 000006E4 00000003 #Change line2 code to 0x03
$0200 0000069C 2E4E5247 #Change Code Title to say [GRN.]
$C202 00000001 00008080 #Check for controller combo (DpadL+sq)
$0000 000006E4 00000004 #Change line2 code to 0x04
$0200 0000069C 45554C42 #Change Code Title to say [BLUE]
So, the code starts with a normal pointer code. This pointer edit's the player's Combo Color and sets it to 0 [no combo].
After that, it's a b200 code, telling the rest of the code to use Module 0x0E Seg1 as the starting position and all addresses are offsets of that. Mod 0x0E is Vitacheat (tested in 11 games and they all use that module) and Seg1 is where Vitacheat stores the current game's PSV file. I listed some offsets that I've used. These point to the FIRST CODE IN THE LIST. It won't work if the code is added to the bottom of the list.
After that, I've just made some checks for a button Combo (Square and dpad) and edits line 2 of code 1. The Value is updated to a color and the Cheat name in vitacheat menu is updated to say the color name in [ ]. So, pressing Sq+DPadUp make the cheat say "Test Code: [Yel.]" in vitacheat's menu.
--------------------- MERGED ---------------------------
You only need to change the filename. the ID and Region parts aren't actually used by vitacheat. It's just notes for us humans to read.