//N64 Cheats are going be more, limited/restricted. I am NOT going to support the non-8XXXXXXX YYYY style of codes. That's too much work/hassle.
//I think they can in theory work with straight conversion as written?
if(txtCheat.Text.Contains(" ")==false)
{
MessageBox.Show("All N64 GameShark Cheats need to contain a space after the eighth character","Input Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
if(txtCheat.Text.Length!=13)
{
MessageBox.Show("All N64 GameShark Cheats need to be 13 characters in length.","Input Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
//Do we support the GameShark Button? No. But these cheats, can be toggled. Which "Counts"
//<Ocean_Prince> Consequences be damned!
case"88":
break;
case"89":
break;
//These are compare Address X to Value Y, then apply Value B to Address A
//This is not supported, yet
//TODO: When BizHawk supports a compare RAM Address's value is true then apply a value to another address, make it a thing.
case"D0":
case"D1":
case"D2":
case"D3":
MessageBox.Show("The code you entered is not supported by BizHawk.","Emulator Error",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
//These codes are for Disabling the Expansion Pak. that's a bad thing? Assuming bad codes, until told otherwise.
case"EE":
case"DD":
case"CC":
MessageBox.Show("The code you entered is for Disabling the Expansion Pak. This is not allowed.","Input Error",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
//Enable Code
//Not Necessary? Think so?
case"DE":
//Single Write ON-Boot code.
//Not Necessary? Think so?
case"F0":
case"F1":
case"2A":
MessageBox.Show("The code you entered is not needed by Bizhawk.","Input Error",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
//TODO: Make Patch Code (5000XXYY) work.
case"50":
MessageBox.Show("The code you entered is not supported by this tool. Please Submit the Game's Name, Cheat/Code and Purpose to the BizHawk forums.","Tool Error",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
//I hope this isn't a thing.
default:
MessageBox.Show("The GameShark code entered is not a recognized format.","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
//Leave this Method, before someone gets hurt.
return;
//break;
}
//Big Endian is USED constantly here. The question is, how do we determine if it's one or two bytes?