Session Start: Sat Mar 09 16:57:46 2002 [16:57:46] * Logging #gsccc to 'c:\windows\desktop\#gsccc.log' [16:57:53] * Hinokagutsuchi begins to log this gba session [16:58:22] *** CMX changes topic to 'GBA Chat, regular GSCCC chatters /join #gsccc2' [16:58:47] (@CMX): how many people are here for the gba hacking session? [16:58:51] (HyperHacker): me [16:59:05] (ADnova): I am [17:00:15] (@CMX): ok [17:00:32] (@CMX): as everyone knows, code breaker codes are 12 digits long like PS1 [17:00:56] (@CMX): first 8 is the code type + address and 2nd 4 are the value like PS1 [17:01:15] (@CMX): u cant tell the address + value on the site because we encrypt our codes so the competition cant copy them [17:01:47] (@CMX): only in decrypted form can u tell what code type it is and what the address + value are [17:02:09] (@CMX): now, for a little lession on GBA [17:02:16] (@CMX): gba has 2 different ram locations [17:02:37] (@CMX): the first kind is called External RAM [17:02:39] (@CMX): External RAM | 02000000 | 040000 (256.00 KB) [17:03:12] (@CMX): the second kind is called Internal RAM [17:03:17] (@CMX): Internal RAM | 03000000 | 008000 (32.00 KB) [17:03:32] (@CMX): most of the time, most codes are found in internal ram, with exception to games that have a ton of variables [17:03:34] (@CMX): like tony hawk [17:03:43] (@CMX): or role playing games that have to save a ton of numbers [17:04:07] (@CMX): so [17:04:18] (@CMX): knowthing this, your decrypted code breaker codes will be in the following format [17:04:29] (@CMX): Txxxxxxx yyyy [17:04:33] (@CMX): T = Code Type [17:04:35] (@CMX): x = address [17:04:37] (@CMX): y = value [17:05:09] (@CMX): With that being said, the most common code types are 16 bit and 8 bit constant write [17:05:41] (@CMX): 3xxxxxxx 00yy = 8-bit constant write, write 0x44 at address 0xXXXXXXX [17:07:20] (@CMX): then we have 16-bit constant write, 8XXXXXXX YYYY [17:07:32] (@CMX): which obviously writes 0xYYYY to address 0xXXXXXXX [17:07:47] (@CMX): knowing those 2 code types alone is more than enough to make some gba codes [17:08:03] (@CMX): now, we come to the part of the session where you find your own x addresses [17:08:26] (@CMX): until a cable is released in the future that hooks the code breaker gba up to the pc, you'll have to hack the codes via emulator [17:08:37] (@CMX): (when the cable is ready, we will definitely sell it online) [17:09:00] (@CMX): and to hack the games, we use Visual Boy Advance [17:09:05] (HyperHacker): And I'll definitelly buy it [17:09:08] (@CMX): http://vboy.emuhq.com [17:09:33] (@CMX): version 0.8 is out [17:09:44] (@CMX): http://vboy.emuhq.com/downloads/Vis...Advance-0.8.zip [17:09:51] (@CMX): if you dont already have it, download it now [17:10:46] (@CMX): now the only catch to this hacking method [17:10:55] (@CMX): u have to have the r** for the game u want to hack [17:11:16] (@CMX): in which case if you own the game in some countries its legal to own backups of your purchases, and some its not [17:11:29] (@CMX): u will have to look into your countries laws to see what applies to u [17:12:08] (@CMX): the hacking trainer thats built into Visual Boy Advance is pretty advanced [17:12:21] (@CMX): It can be setup to work just like GSCC 2K2 [17:12:53] (@CMX): which hopefully most of you are at least familiar with or have seen at one point in time [17:13:18] (@CMX): when everyone has Visual Boy Advance downloaded and running, type it here [17:15:37] (@CMX): ok [17:15:54] (@CMX): now, first things first [17:16:07] (@CMX): everyone goto the options menu [17:16:16] (@CMX): and set Frame Skip to 0 [17:16:24] (@CMX): and/or 1 if u want [17:16:45] (@CMX): goto options, joypad, configure to setup the buttons you like [17:17:43] (@CMX): for the test, we shall choose a r** that is small and easy for demonstration [17:18:23] (@CMX): I hadnt really thought about what game we should use for the sessions [17:18:39] (@CMX): something with lives or health probably would be the best tho [17:18:39] (Jarhead2): Teken was pretty easy [17:18:44] (HyperHacker): I'm using Mario Advance, I can imagine most peeps have it [17:18:50] (@CMX): to get everyone's feet wet [17:18:58] (@CMX): yeah, we can use mario advance [17:19:21] (@CMX): if u do not have it, have someone send it to u if u r cable/dsl [17:19:30] * Hinokagutsuchi doesn't have it and is cable [17:19:40] (@CMX): just remember if u dont own the game, u will have to delete it after this session [17:22:27] (@CMX): the next step is quite obvious [17:22:40] (@CMX): file, open, mario.r**.file.gba [17:23:22] (@CMX): when everyone is at this point, we can continue [17:23:33] (HyperHacker): Ready [17:23:37] (Hinokagutsuchi): Ready. [17:24:16] (@CMX): adnova? [17:24:18] (ADnova): ready [17:24:20] (ADnova): lol [17:24:22] (@CMX): ok [17:24:30] (@CMX): first we need to setup the trainer part of it [17:24:51] (@CMX): goto the cheats menu, and "search for cheats" [17:25:04] (@CMX): the search for cheats menu should appear [17:25:13] (Hinokagutsuchi): Yep [17:25:16] (@CMX): from here on out, I will refer to it as the "trainer menu" [17:25:32] (@CMX): it has a keyboard hot key of Control+C [17:25:43] (@CMX): so u can get to it rather quickly using Control+C [17:25:53] (@CMX): now, we want to set it up to work like GSCC 2K2 [17:25:58] (@CMX): Search Type [17:26:09] (@CMX): Select the Old Value radio button [17:26:31] (@CMX): then for Data Size, its really up to you [17:26:43] (@CMX): I usually use 16-bit [17:26:50] (ADnova): This is the value size? [17:26:57] (@CMX): because there are very few numbers that go over 65535 (FFFF) [17:27:02] (@CMX): yeah [17:27:16] (ADnova): okay [17:27:18] (@CMX): Data Size is the "Value size" to search for [17:27:28] (@CMX): obviously 8 bit is 00 - FF [17:27:33] (@CMX): 16 bit is 0000 - FFFF [17:27:39] (@CMX): 32 bit is 00000000 - FFFFFFFF [17:27:47] (@CMX): lets select 16 bit for now [17:28:04] (@CMX): The next box Compare Type is like GSCC 2K2's compare type, leave it alone for now [17:28:14] (@CMX): Signed/Unsigned [17:28:22] (@CMX): that is all a matter of preference too [17:28:27] (@CMX): I'm so used to seeing hexadecimal [17:28:32] (ADnova): me too [17:28:32] (@CMX): its like second nature for me to use hex [17:28:52] (HyperHacker): this is the system for displayed resluts? [17:28:58] (@CMX): yeah [17:29:10] (@CMX): if you want the values to be in decimal signed/unsigned or hexadecimal mode [17:29:21] (@CMX): and last but not least [17:29:26] (@CMX): check the box "Update values" [17:29:45] (@CMX): with these settings set, it will act just like GSCC 2K2 [17:29:51] (@CMX): press the OK button [17:30:03] (@CMX): and start a game in super mario 2 [17:30:20] (ADnova): alright [17:30:28] (Jarhead2): 03001160:XXXX Inf lives [17:31:05] (@CMX): ok, now once everyone is in the game [17:31:14] (@CMX): press Control+C to bring up the trainer menu [17:31:26] (@CMX): now, we have to first do an "initial" dump [17:31:31] (@CMX): so press the "Start" button [17:31:44] (@CMX): the only confirmation u will get that it worked [17:31:58] (@CMX): is that "Search" will highlight, do NOT click it, instead press the OK button [17:32:11] (@CMX): and play the game and die [17:32:32] (@CMX): once u r dead, start the level again [17:32:54] (@CMX): obviously note your lives # went down by 1 [17:33:08] (@CMX): press Control+C to bring up the trainer menu [17:33:18] (@CMX): now here is where compare type comes into play [17:33:29] (@CMX): our lives went down, so we want to select "less than" for compare type [17:33:41] (@CMX): after that, hit the Search button [17:33:57] (@CMX): it should display some results [17:34:07] (@CMX): for most games, u will have to search a few times before the results come up [17:34:20] (@CMX): the emulator will say something like "Too many results, refine better" [17:34:53] (@CMX): in any case [17:35:12] (@CMX): you should probably press the OK button [17:35:23] (@CMX): and lose another life [17:36:05] (@CMX): once again, start the level and Control+C to bring up the trainer menu, less than, search [17:36:27] (@CMX): u will note there are still quite a bit of possibilities [17:36:40] (@CMX): as a quick test to see if you are on the right track [17:36:48] (@CMX): u should find 03001160 inside the list [17:37:41] (@CMX): the results are listed in numerical order, 02 External ram addresses first [17:37:46] (@CMX): 03 Internal ram addresses next [17:38:59] (@CMX): now, if u didnt know that 03001160 was the right address, u would probably want to get the possibilities down some [17:39:08] (@CMX): one of the key's do doing this [17:39:16] (@CMX): is knowing how to use the Equal to search [17:39:24] (@CMX): so press OK to go back into the game [17:39:39] (@CMX): walk around the level some without dying [17:40:14] (@CMX): now, Control+C to goto the trainer menu [17:40:27] (@CMX): select compare type, Equal [17:40:33] (@CMX): then search [17:40:52] (@CMX): u'll now have about 4-15 results most likely [17:41:00] * HyperHacker has 1 [17:41:03] (@CMX): I got 5 results myself [17:41:34] (@CMX): once again, u should see 03001160 in the results [17:41:54] (@CMX): and if you have more than 1 result [17:42:21] (@CMX): u should be able to look at the values and find the results that have the number of lives you have [17:42:45] (@CMX): my screen has the following on it [17:43:29] (@CMX): 030007fe 0000 0000 [17:43:29] (@CMX): 0300089e 0000 0000 [17:43:29] (@CMX): 03001160 0300 0300 [17:43:29] (@CMX): 03005e5a 0000 0000 [17:43:29] (@CMX): 03007dbc 000c 000c [17:43:37] (@CMX): obviously I had 3 lives [17:44:01] (@CMX): now, remember we were using 16-bit search mode [17:44:15] (@CMX): gameboy advance uses intel byte order like PS1 [17:44:23] (@CMX): 03001160 XXYY [17:44:36] (@CMX): 0x03001160 = 0xYY and 0x03001161 = 0xXX [17:45:11] (@CMX): when making the code breaker versions, both will work [17:46:04] (@CMX): if you want to make the code breaker 16-bit version [17:46:19] (@CMX): just change the first 0 to an 8, and use the value you would like [17:46:24] (@CMX): 83001160 0300 [17:46:29] (@CMX): would be the code in my case [17:46:42] (@CMX): I could change the 03 to 09 for 9 lives or to 63 for 99 lives, etc [17:47:07] (ADnova): Does it search both internal and external ram? [17:47:19] (@CMX): yes visual boy advance searches both [17:47:52] (@CMX): the searching process is rather repetitive [17:48:00] (@CMX): but we can go over some more examples if needed [17:48:54] (@CMX): to change my code into a 8 bit code, change the first 0 to a 3 [17:48:58] (@CMX): 33001160 [17:49:06] (@CMX): and then XXYY, we want the upper 8 bits [17:49:07] (Jarhead2): how do you submit codes? [17:49:10] (@CMX): the XX location [17:49:20] (@CMX): so to get that, we will have to add 1 to the address [17:49:23] (@CMX): 33001161 [17:49:52] (@CMX): then move the 03 to the right 2 digits, and put 00 on the left of it [17:50:05] (@CMX): 33001161 0003, once again, could change 03 to 09 for 9 lives, etc [17:50:22] (@CMX): both versions of these codes will work [17:50:36] (@CMX): its all a matter of hacker preference [17:50:47] (HyperHacker): Mine won't let me select 8 bit [17:50:57] (HyperHacker): The buttons grayed out [17:51:05] (@CMX): normally u would submit them via our submission page, but since we havent added GBA there, probably would be best to dcc myself a txt file [17:51:21] (@CMX): what menu are you in? [17:51:22] (@DarkSerge): do you have a search started allready? [17:51:24] (ADnova): Now, what about the encryption? [17:51:44] (@CMX): The encryption, dont worry about it, I'll handle that [17:51:47] (HyperHacker): I'mn in add cheats, and I still have the saerch running [17:51:50] (@CMX): same goes for enable codes [17:51:50] (@DarkSerge): cm is the only person that can encrypt the codes [17:53:52] (@CMX): now, how to test the results once u have found them [17:54:18] (@CMX): in the trainer menu, highlight the address u think is correct [17:54:24] (@CMX): in our case, 03001160 [17:54:43] (@CMX): then click the Add Cheat button at the bottom [17:55:09] (@CMX): the size and normal format will be grayed out because it uses the stuff from the Trainer menu as the default [17:55:20] (@CMX): the address will also be grayed out [17:55:27] (@CMX): because its already entered [17:55:36] (@CMX): put 0300 for the value [17:55:51] (@CMX): and Check the box, Freeze Location to make it active constantly [17:56:02] (@CMX): (just like it would be if turned on from code breaker) [17:56:08] (@CMX): then press OK [17:56:39] (@CMX): and press OK to leave the trainer menu, and die, u should always have 3 lives [17:57:07] (@CMX): sometimes u will find a FAKE value [17:57:14] (@CMX): there is a good way to test this [17:57:34] (@CMX): to do this, we will have to goto the cheat list menu [17:57:42] (@CMX): select the Cheats menu, Cheat List [17:57:53] (@CMX): u should see your code activated in this list [17:58:00] (@CMX): status will be "EF" [17:58:17] (@CMX): the status legend at the top shows that it is enabled, and its frozen [17:58:25] (@CMX): so click on that line [17:58:50] (@CMX): then Enable/Dis. will be able enabled now [17:58:53] (@CMX): click it [17:59:09] (@CMX): the status should change to "DF" which means it will be disabled [17:59:21] (@CMX): press OK to go back into the game [17:59:27] (@CMX): now die [17:59:50] (@CMX): if the code was fake, u would have less lives (from dieing earlier in your tests) [18:00:11] (@CMX): I died, the lives went back down to 2 [18:00:18] (@CMX): like it should, so its the real code [18:00:30] (@CMX): if my lives had gone down to 0 or 1 [18:00:37] (HyperHacker): Watch everyone submit it [18:00:41] (@CMX): then we would have found a fake displayed number counter [18:01:01] (@CMX): but since we didnt, we are finished, thats the code [18:01:15] (ADnova): Simple..... [18:01:23] (@CMX): yeah [18:01:30] (@CMX): if u are at all familiar with past methods [18:01:33] (@CMX): it should be a breeze [18:01:40] (ADnova): Hell of a lot easier than what I was trying with DC... [18:01:43] (HyperHacker): Yay! I (re)hacked a GBA code! [18:01:46] (Hinokagutsuchi): Is this the end? [18:01:48] (@CMX): thats how code hacking is done [18:02:00] (@CMX): you must forcefully modify what you want to find in the game [18:02:14] (@CMX): and do searches based on what you have done [18:03:04] (@CMX): now, any questions [18:03:25] (HyperHacker): What's the meaning of life? lol [18:03:32] (@CMX): 42 [18:03:37] (leviathan): ROFL [18:03:38] (@CMX): any more questions? [18:03:46] (leviathan): thx for this guide [18:04:00] (Hinokagutsuchi): I take it that this is the end... [18:04:07] * Hinokagutsuchi goes to edit the logs if it is. [18:04:08] (@CMX): if there are no more questions, yes