Game Genie Decoder/Encoder Version 1.24KT First Game Genie Emulator for ZSNES v0.963+, Genecyst v0.32b+, and NESticle v0.43+ Contents: ===================== A. What is this? B. How this works C. What do I (the user) do? D. How do I switch between Sega, SNES, and NES codes E. Buttons: I. Select FIle II. Add to .Cht (.Pat) III. Decode IV. Fix Code V. New Code VI. Exit VII. Delete Selected VIII. Write IPS patch IX. About F. What does "Turned on" mean and why is it only available for Super Nintendo and Nintendo codes? G. How do I Open/Save a file? H. Can I print these codes to use in my Game Genie? I. I have a large cheat file and I can't find the code I want to manipulate. Help! J. Why can't I run the program? (File ********.*** missing) K. "So what's this HiRom/LoRom address box that shows up only in SNES mode?" L. Disclaimer M. Legal stuff A. What Is This? ====================== This program (written in Visual BASIC 6.0) was originally created to simply convert between SNES Game Genie and ProAction Replay codes. It has since then been decided to include Sega Genesis's and Nintendo's format of the codes. Then it hit me that I knew how to write to and from files. I took about seven thousand years researching this language as how to do that and this program is the result. This started mainly as a test of my abilities in QBASIC until I thought that dialog based programs were not as easy to tell what's going on. The QBASIC file I wrote doesn't write to files or read from them. Win95/98/NT's GUI provided me with a wide variety of options as to how to display these codes. B. How This Works ======================= In every Game Genie code for any system, there is a doubly encrypted address and value. The information provided by the GGCCC on the Game Genie's encryption process allowed me to decrypt these systems' Game Genies with relative ease. The rest of the code I wrote out much to the amazement of my Visual BASIC peers. (because they'll never write something this long or complex during their High-School class which I decided not to take) The code itself is over 50 pages long containing five forms that the user has access to. (And one hidden that I'm still working on) C. What do I (the user) do? ================================= If you want to input a Game Genie code, simply input the Game Genie code of the system that is selected by the radio buttons in the box that is located under the text "Game Genie:". Click on "Decode" or "Add to .Cht" (I'll talk about that later) and the code value in a ProAction Replay, or raw, format will appear in box under the text "ProAction Replay: (Raw)". The reverse of this procedure is also true. ProAction Replay codes in the ProAction Replay Box will yield Game Genie codes. If you wish to describe what the code does, enter it in the box beside the words "description:" and it will display the discription with the code when you push the "Add to .Cht" button. (Again, I will discribe this later) If you want to add a GoldFinger code, right click in the list of codes and select "Add GoldFinger Code" then follow the dialog boxes until the code is entered. NOTE: The newest ZSNES has a restriction of 18 chars in a description. However, I've left the 19 character description open to users of older versions. Genecyst and NESticle do not have a restriction that I can tell. I have put a 200 character restriction on it. However it's rare that you'll need such a long description. D. How do I switch... =========================== In the upper right-hand corner of the program box are three circular switches that are called 'radio buttons.' Choose the radio button corresponding to the system you wish to have codes translated for and the program will change the way it decodes the codes and displays them in the large box at the bottom. This will also cause some changes to the program's appearance. Do not be alarmed, it is supposed to do that. The only emulators that these will work for are ZSNES for SNES, NESticle for NES, and Genecyst for Sega Genesis. E. Buttons: ============= Now Comes the fun part :) I. Select File Pushing this button will bring up a menu that will allow you to open a cht/pat file and put the contents of that file into the listbox at the bottom or save the current contents of the listbox to a cht/pat file. The Paths button will allow you to specify a directory to open when chosing a cheat file from a specific emulator. On this menu, there are three check boxes: "All Files" will display all the files in the selected directory. You can select directory in the directory list box to the right of the file list box. Clicking on this again will hide all files except the ones that the emulator uses. "Export to Text" is only usable when the list box of codes has codes in it. Clicking this option will allow you to write the codes and description to a text file of your choosing. "Append" was a fun button to write code for. :) It's function is just like it says: to append to the file or the code list box. If this option is checked while saving a file, it will write the contents of the code list box to the file that has been choosen. Subsequently, if this option is not checked while saving, the program will over-write the file being saved to with the contents of the code list box. If this option is checked while opening a file, the contents of the file being opened will be added to the cheat list box. Subsequently, if this option is not checked while opening, the contents of the code list box will be cleared before reading the information of the file. II. Add to .Cht (.Par) When you've input a code and writen a description that fits in the description box you can click the Add to .Cht (.Pat) button (or hit return) and the code along with the description will appear in the box at the bottom of the program. If no description is given, the Game Genie equivalent will appear as the description. You can keep adding codes to the list by clicking the "New Code" button and entering a new code before pushing the Add to .Cht (.Pat) button. Note: switching between system formats also clears the list and any box that has text in it. Another Note: Until you register this program with me, you will have a restriction of only 10 codes in the list box. III. Decode This is the button that started all the problems that I ever had! :) When you have entered either a Game Genie or a ProAction Replay code for the system choosen in its appropriate box, click on this button and the equivilant of the code in the other format will be displayed in the other box. This also gives values for HiRoms & LoRoms for SNES and CPU address for NES. IV. Fix Code I guess you could say that this was inspired by ZSNES since that emulator has a button with this function. This button will display an alternate form of the Game Genie code for SNES. If one code doesn't work, try the other one. This procedure was first suggested by Galoob. V. New Code This button will clear all the text boxes and allow you to enter a new code from scratch. VI. Exit This ends the program. If you have changed or edited the list box in any way other than just opening a file and viewing its contents, you will be asked if you wish to save the file or not. VII. Delete Selected This button allows you to delete/remove individual codes from the code list box. When you select a code from the list box by clicking on it, you can delete it by pushing this button. VIII. Write IPS Patch This is the hardest thing to explain for the people who don't know how to use an IPS file. What this button does is write an International Patching System (IPS) file using the information inside the code list box. This file is used by ZSNES or a ROM patching program to substitute the values in the addresses for the ones that are chosen by the PAR code. When you push this button, a new window will appear and it will have four things on it: List of the codes, drop-down selection box, a Create Patch button, and a Cancel button. On the drop-down selection box there are three options: "All Items," "Selected Items," and "Codes that are turned "ON"." This is the method of selecting the codes that will go into the IPS file. You can select multiple codes by holding Ctrl and/or Shift. IX. About Pushing this button will bring up a window with information about the program and my name that I'm giving myself for this program. F. What does "Turned on" mean? =================================== Turned on means that the effects of the code will be turned on while the emulator is running. To turn all codes on, right click anywhere on the code list box while there are codes in it and select "Toggle 'on' and 'off'" and choose between "Turn all 'on'," "Turn all 'off'," or "Switch all toggles." Genecyst does not support this feature in the cheat file and is only availible for ZSNES and NESticle. If this is turned on, the Super Nintendo list will have the word "on" at the end of it when the "Add To .Cht" button is pushed. If not, then it will say "off." The Nintendo list will have a plus (+) before the value of the code if the code is "on". To toggle the on/off state, double-click on the code inside of the code list box. G. How do I Open/Save a file? =================================== When you are done adding to a list of codes, press the "Select File" button. A form with a drive list, a directory list, and a file list will show up. If you want to save to a file that already exists, choose it from a list. The choosen file will be written over without making a backup or will be appended if the "Append" box is checked. I trust this program to write to and create a cht or pat file 100%, but it would be wise to make a backup of all files that you edit. If you want to make a file that doesn't exist, select the directory you want it in and then type the file name in place of the asterix '*' and click on "Save." To open a file, select drive and directory that the file is in, select the file and click on the "Open" button. The information in the file will automatically be input into the list box at the bottom of the program. To open a file that does not have a CHT or PAT extention, check the "Show all files" box and every file in the directory will be displayed. It will not be displayed if the file is not a valid CHT or PAT file. You can now associate .cht files with this program and they will be opened by a double click in the file itself. I haven't (and might not) added this feature for .pat files yet since two systems use the same file extention. While these are easily distinguished, there are also other types if .pat files (and other .cht files as well)other than the ones that are used with these emulators. (This association is still a little buggy though) H. Can I print out these codes to use in my Game Genie? ============================================================= Yes, you can. Right click anywhere on the code list box while there are codes in it and select "Print List." You will then be asked what the title of the game is and then the program will print out the codes in an organized manner. Note: PAR codes that begin with a '7E' or '7F' normally don't work with a Game Genie. I. I can't find the code I want to manipulate. ==================================================== Right click anywhere on the code list box while there are codes in it and select "Sort by:" Then you will have three options "Sort by Address," "Sort by description," or "Sort by Game Genie code" to organize the list and help you find the right code to manipulate. Remember that once you organize a list, it can't be changed into it's original order automatically, but you can re-organize the list by clicking one code and dragging it to a new position on the list. J. Why can't I run the program? ===================================== Thanks to Boba Fett of the ZSNES Board for the answer to this one: you have to copy the msstdfmt.dll file to windows\system(or winnt\system if you are using win nt) and do start>run and type: 'regsvr32 c:\windows\system\msstdfmt.dll' or in case of win nt: 'regsvr32 c:\winnt\system\msstdfmt.dll' There are also two other dll files that are required for this program to run. They are vba6.dll and msvbvm60.dll. All three of these dlls should be included in the file called VBasic.exe K. What're these HiRom/LoRom address boxes that shows up only in SNES mode? ================================================================================== Those addresses are the addresses that you can input into a rom that will automatically apply the changes that the Game Genie would give to the game. This is done by using the Write IPS Patch button. (See buttons for further details) Notes: Since I do not currently know how to distinguish between the LoRoms and HiRoms, this program will write two IPS files with the same name as the rom. The one called 'IPS' is for a HiRom. The other one, 'IP2,' is for a LoRom. To use an 'IP2' file, you need to delete the 'IPS' file and rename the 'IP2' file to have the extention 'IPS.' ZSNES automatically patches these values on loading of the roms, but there are programs on the internet that will permantly change the values within the rom itself. I do not use one so I cannot recommend one. L. Disclaimer =================== I will not be held responsable for any illegal use of this program. It is illegal to keep ROMs of cartriges that you do not own for more than 24 hours. This program was designed to provide better cheat support for those people with legal ROMs. I will not be held responsible for any misuse of this program that might result in the corruption of your hard drive. Please only use the appropriate files that correspond with the current operation of this program. I suggest that you only save files using the appropriate extention used by the emulator. Do not save the cheat file using a name of any important file. (eg. command.com, win.com, himem.sys, etc..) I will not be held responsible for you saving over an important file. No small animals were hurt by me during the making of this program. Although I think I spooked my pet cat on more than one occasion. This program is made of 100% recycled HD space and is ozone friendly. No, I will not give out pieces of my cloud. *inside joke* :) M. Legal stuff =================== Any references to Nintendo products (Nintendo, SNES) are copyright of Nintendo of America, Inc. Sega is a registered trademark of Sega Enterprises. Game Genie is a copyright of Galoob. PAR is a product of Baysoftgames.com (can anyone tell me what company this is?) Credits ================ My QBASIC teacher - who taught me about VBASIC GGCCC - providing information on how to decode these dumb codes in the first place :) Boba Fett - for testing most of this program and pointing out bugs Pingu - for giving me the idea to export the codes as a text file #VisualBASIC on EFnet - for providing me with a few needed lines of code My dad - For getting me this Visual BASIC compiler software that cost a fortune!