@ Zhs2: Good, just PM me sometime tonight or tomorrow with the logs. I'm considering possibly doing a Fusion hack/remake using the tricks from this class tonight.
Cut the irrelevent crap out of the log file, added some comments aswell (shown on new lines encased as *text*)
[18:31] <@interdpth> http://interdpth.arc-nova.org/Tools.zip [18:42] <@interdpth> Alright [18:42] <@interdpth> Let's see [18:42] <@interdpth> Everyone [18:42] <@interdpth> Open up TLP/YYCHR/TM [18:42] <@interdpth> Whatever [18:42] <@interdpth> Open up mzm.gba [18:43] <@interdpth> Let's seee [18:43] <@interdpth> I need to find a graphic to edit [18:43] <@interdpth> One sec [18:46] <@interdpth> Ok [18:46] <@interdpth> We are going to go straight in the 2nd step [18:47] <@interdpth> Let's edit the title screen [18:47] <Bloodsonic> cool [18:47] <playerman1230> let's go. [18:47] <@interdpth> With TLP open [18:47] <@interdpth> open up NLZ-GBA Advance.exe from the zip [18:48] <@interdpth> Go file handling [18:48] <@interdpth> open rom [18:48] <Xaggoth> thats the same as the ulnz? [18:48] <@interdpth> We're using the one in the toolset as it's userfriendly [18:51] <@interdpth> In the program [18:51] <@interdpth> Go to image 271 [18:51] <@interdpth> You should see the title screen [18:51] <@interdpth> Tell me when you get there [18:51] <Bond697> i'm kinda confused here [18:51] <Bond697> i opened unlz [18:51] <Bond697> opened the rom [18:51] <MoogleEmperor> I see the ship. [18:51] <Bond697> how do i go to 271 [18:52] <Xaggoth> also trying to us unLZ, don't see how you select an image [18:52] <Bond697> yeah [18:52] <Bond697> that [18:52] <@interdpth> Go to [18:52] <playerman1230> Goto? [18:52] <@interdpth> x_x [18:52] <Bond697> i tried that [18:52] <Xaggoth> i tried that [18:53] <@interdpth> http://img37.picoodle.com/img/img37/3/11/25/f_lolm_ce6a9ff.png [18:53] <@interdpth> or [18:53] <Bond697> are we using the same program? [18:53] <Xaggoth> you aren't [18:53] <playerman1230> we aren't. [18:53] <Xaggoth> goto 271 does not show the title screen in unLZ [18:53] <@interdpth> Image 241 in unlz [18:54] <Xaggoth> doesn't look like a title screen either [18:54] <@interdpth> Like I said [18:54] <Bond697> 241 is giving me some scrambled game save graphics [18:54] <MoogleEmperor> 241 gets me the text for deleting save files. [18:54] <@interdpth> I really suggest using the tools in the zip [18:54] <Bond697> i am! [18:54] <MoogleEmperor> Me too. [18:55] <@interdpth> If you're using nlz http://img37.picoodle.com/img/img37/3/11/25/f_lolm_ce6a9ff.png [18:55] <Bond697> we;re using unlz, which is what was in the zip [18:55] <@interdpth> nlz is in the zip [18:55] <Xaggoth> getting the .zip, was using unLZ since that was what was in the thread [18:55] <Bond697> honest to god [18:56] <Bond697> it was unlz [18:56] <@interdpth> I forgot how buggy unlz was [18:56] <Bond697> let me go download nlz [18:56] <@interdpth> Hold up [18:56] <@interdpth> I could be the mistaken one [18:56] <MoogleEmperor> I got tools.zip, and unlz was in it. [18:56] <@interdpth> Hmm [18:56] <@interdpth> ok [18:56] <Bond697> ok, here we go [18:56] <Bond697> just downloaded nlz [18:56] <@interdpth> Yeah ok [18:56] <@interdpth> That was my faul [18:56] <Bond697> http://www.romhacking.net/utils/529/ [18:56] <@interdpth> I forgot to click overwrite [18:56] <Xaggoth> %^(@ just finished getting tools.zip [18:57] <@interdpth> Alright [18:57] <@interdpth> To the image in the picture [18:58] <Xaggoth> errrr what image am i looking at? 271 is some kinda spanish [18:58] <@interdpth> ok [18:58] <@interdpth> so make the offsets match [18:58] <Bond697> ok [18:58] <@interdpth> You are opening ZM right? [18:58] <Bond697> i went to 271 in nlz, Aand it's something in spanish [18:58] <Xaggoth> match it to what [18:58] <@interdpth> 4470e0 [18:59] <Bond697> 1 sec [18:59] <Xaggoth> k, got it [18:59] <Bond697> ah! [18:59] <Bond697> got it [18:59] <Bond697> 274 [18:59] <@interdpth> Alright [19:01] <@interdpth> Everyone up to speed now? [19:01] <playerman1230> The hell? NLZ has crashed and said intitlaization failed. [19:02] <@interdpth> Player [19:02] <@interdpth> Get to offset 4470e0 in unlz then [19:05] <MoogleEmperor> Thar we go, I see it. [19:05] <playerman1230> Got it. [19:06] <@interdpth> okie doke [19:06] <playerman1230> Geez, they need to make a more reliable search option. [19:06] <@interdpth> We'll get to that [19:06] <@interdpth> Now then [19:06] <@interdpth> Click Raw Dump [19:06] <@interdpth> andgive it a file name [19:06] <@interdpth> DO NOT SAVE IT AS MZM.GBA [19:06] <playerman1230> Kay. [19:07] <playerman1230> Doing so may mistake it for a rom, right? [19:07] <@interdpth> YEah [19:07] <@interdpth> I've done it several [19:08] <@interdpth> After havin dumped it [19:08] <playerman1230> what next? [19:08] <@interdpth> Open the file in TLP [19:08] <Xaggoth> still doesn't look nice in tlp [19:08] <@interdpth> Now, just mess around add little faces in places [19:08] <@interdpth> or erase blocks and such [19:08] <@interdpth> When you are all done [19:08] <@interdpth> Let me know [19:09] <Xaggoth> ??? It doesn't look like this is the entire thing I tried to dump [19:09] <Bond697> done [19:09] <@interdpth> Just edit it [19:09] <@interdpth> ok when done [19:09] <@interdpth> In unlz [19:09] <@interdpth> open -> Load Raw [19:10] <@interdpth> Select the file [19:10] <@interdpth> Click write to rom [19:10] <@interdpth> And then click ok [19:10] <@interdpth> In nlz [19:10] <@interdpth> Load Raw [19:11] <@interdpth> Just click ok [19:11] <@interdpth> Then click write to rom [19:11] <Bond697> ok [19:11] <@interdpth> Then open the ROM in vba [19:11] <@interdpth> and check out your changes [19:12] <Bond697> hmm [19:12] <Bond697> not seeing any changes [19:12] <Bond697> lets try it again [19:13] <playerman1230> So, change to your heart's content? [19:13] <@interdpth> Yep [19:13] <Xaggoth> geki tai machine? [19:13] <@interdpth> And that'd be editing compressed graphics [19:13] <@interdpth> Class will resume in 10 [19:13] <@interdpth> So everyone can have some fun [19:14] <Bond697> hmm [19:14] <Bond697> yeah [19:14] <Bond697> didn't work [19:14] <Bond697> this time the whole title screen was messed up [19:15] <Bond697> ah well [19:15] <Bond697> easy enough to try again [19:15] <@interdpth> Unzip the rom and try again [19:18] <Bond697> it tells me the old data is bigger than the new data [19:18] <Bond697> and aborts [19:24] <@interdpth> So [19:24] <@interdpth> use less colors [19:24] <Bond697> i used 1 color [19:25] <Bond697> hmm [19:25] <Bond697> ok [19:26] <Bond697> i re-dumped the raw file [19:26] <Bond697> opened it in tlp [19:26] <Bond697> drew 1 smiley face in 1 color [19:26] <@interdpth> I mean less pixels [19:26] <Bond697> and it still aborts [19:26] <@interdpth> erase some boxes [19:27] <Bond697> ah, let's try that [19:27] <@interdpth> Tonight [19:27] <@interdpth> We will not be doing any level editing [19:27] <@interdpth> I'll go over pointers [19:28] <@interdpth> And that'll solve Mr.Bonds problem [19:28] <@interdpth> Then stuff that ASM requires [19:28] <@interdpth> THEN ASM O_O [19:28] <Bond697> very cool [19:29] <Phazar> Well, let's get to it [19:30] <Bond697> ok, getting rid of some worked [19:32] <@interdpth> Alright [19:32] <@interdpth> Everyone got the pictures to insert? [19:33] <playerman1230> How do you turn a bitmap into available tiles for use in TLP? [19:35] <@Kejardon> you can import bitmaps [19:35] <@interdpth> Learn that on your own >> [19:35] <@Kejardon> but tmv is annoyingly picky about how it imports [19:36] <@interdpth> Just use the tiles you were given and edit them [19:36] <@interdpth> Tell me when you are done. [19:36] <@MathOnNapkins> converting a bmp to an snes or gba format is iffy b/c you're going to lose color information [19:36] <playerman1230> oh, okay. [19:36] <@MathOnNapkins> (unless you store the palettes, somehow) [19:38] <@Kejardon> I generally export a bmp from tmv, mess around with it, then import it back in [19:38] <@MathOnNapkins> tmv? [19:38] <@Kejardon> oh whoops [19:39] <@Kejardon> tmv is the program I'm using currently to attempt to get blue suit [19:39] <@MathOnNapkins> *tmv = tlp? [19:39] <@Kejardon> tilemap viewer [19:41] <MoogleEmperor> I think tlp is assuming there's a header... I blanked out the tiles I could see and I found a few still there when I loaded it in nlz. [19:41] <Bond697> here's a patch you can get from romhacking.net that will fix that [19:42] <@MathOnNapkins> it does [19:42] <@Kejardon> http://jathys.zophar.net/other/index.html [19:42] <Bond697> actually, kejardon made it [19:42] <@Kejardon> Jathys updated it [19:45] <Bond697> anyway [19:46] <Bond697> i'm done, inter [19:46] <@interdpth> Alrighty [19:46] <@interdpth> Now then [19:46] <@interdpth> The next less [19:46] <@interdpth> on [19:46] <@interdpth> We have two ways of doing it [19:47] <@interdpth> We're doing the hard way [19:47] <@interdpth> Because well [19:48] <@interdpth> ok [19:48] <@interdpth> So [19:48] <@interdpth> Fuck it we'll go the easy way [19:48] <@interdpth> Just remember [19:48] <@interdpth> vba's loggin feature can save time [19:48] <@interdpth> Redump the title screen [19:49] <@interdpth> edit it so that unlz/nlz will autoabort since the data is too big [19:49] <@interdpth> tell me when [19:49] <Bond697> ok [19:49] <Bond697> i still have one of my auto-aborting tries [19:49] <@interdpth> This lesson you will learn about pointers and how to maneuver a hex editor [19:49] <@interdpth> Ok [19:49] <@interdpth> We'll wait for everyone to catch up [19:50] <Bond697> yeah [19:51] <MoogleEmperor> I'm ready. *blabbing* [19:59] <@interdpth> So everyone ready for the next part? [19:59] <Phazar> finally [19:59] <Bond697> yes [19:59] <@interdpth> Alrighty [19:59] <playerman1230> yeah, let's play hex. [19:59] <@interdpth> You still have nlz/unlz open with the image right? [19:59] <playerman1230> ROM image? [19:59] <playerman1230> or the title image? [20:00] <@interdpth> Title screen [20:00] <@interdpth> First I will explain pointers [20:00] <@interdpth> A pointer is...a pointer [20:01] <@interdpth> >_> [20:01] <@interdpth> It points to data [20:01] <@interdpth> Everyone get it? >_ [20:01] <playerman1230> Yeah, like a reference. [20:01] <Bond697> yes [20:02] <cloud07> yes [20:02] <@interdpth> It's how the games knows where shit is [20:02] <@interdpth> Now [20:02] <@interdpth> I'm sure many of you have heard of those silly banks the SNES pointers have [20:02] <@interdpth> Right? [20:03] <Bond697> yes [20:03] <@interdpth> Who thinks banks are dumb? [20:04] <@interdpth> Show of hands 03[20:04] * You were kicked by Kejardon (In Super Nintendo, Banks think YOU'RE dumb) 03[20:04] * Rejoined channel #jzd 03[20:05] * Kejardon was kicked by interdpth (Kejardon) [20:05] <@interdpth> Anyway [20:06] <@interdpth> GBA pointers [20:06] <@interdpth> Are just the file offset + 0x8000000 [20:06] <@interdpth> It's simple :D [20:06] <@interdpth> anyway [20:06] <@interdpth> The way they look in a hex editor is reversed [20:06] <@interdpth> So [20:06] <@interdpth> if you want a pointer to 0x123456 [20:07] <@interdpth> Add 0x8000000 [20:07] <@interdpth> So you'd have 0x8123456 [20:07] <@Kejardon> have you explained what 0x means? [20:07] <Bond697> easy enough [20:07] <@interdpth> 0x MEANS HEX [20:07] <@interdpth> PLZKTHX [20:07] <@interdpth> Anyway [20:07] <@interdpth> In a hex editor you'd see the pointer as 56 34 12 08 [20:07] <@interdpth> Understand? [20:08] <playerman1230> Reversed? [20:08] <@interdpth> yeah [20:08] <@interdpth> You just reverse the numbers [20:09] <@interdpth> number 0x8123456 when looking at a hexeditor is 56 34 12 08 [20:09] <Bond697> so then [20:09] <@interdpth> Ok [20:09] <@interdpth> So [20:09] <@interdpth> In nlz/unlz [20:10] <@interdpth> You see offset [20:10] <@interdpth> For the titlescreen the offset is 0x4470e0 [20:10] <@interdpth> Right? [20:11] <Bond697> yep [20:11] <@interdpth> open a notepad [20:11] <@interdpth> add 0x8000000 to 0x4470e0 [20:11] <playerman1230> 84470E0? [20:11] <@interdpth> so you'll have 0x84470e0 [20:11] <@interdpth> Now reverse it [20:11] <@interdpth> e0704408 [20:12] <@interdpth> Open the rom in the hexeditor [20:12] <@interdpth> hit ctrl+f should bring up a find dialog [20:13] <@interdpth> for the value enter e0704408 [20:13] <@interdpth> Then search [20:13] <@interdpth> When it finds the hit [20:13] <@interdpth> Tell me what offset you are on [20:13] <Bond697> 77600 [20:14] <@interdpth> You're 4 bytes off [20:14] <Bond697> err [20:14] <Bond697> 77604 [20:14] <playerman1230> 77604 [20:14] <Bond697> my mistake [20:14] <@interdpth> There you go [20:14] <@interdpth> Ok [20:14] <@interdpth> Remember when dealing with hex [20:14] <@interdpth> use 0x [20:14] <@interdpth> Put that number in to notepad [20:14] <@interdpth> DO YOU GUYS FEEL COOL YET? [20:15] <Bond697> totally [20:15] <@interdpth> Now then [20:15] <@interdpth> We need some free space [20:15] <@interdpth> Scrolldown through the ROM until you see a crapload of freespace and grab an offset [20:15] <Bloodsonic> aw fuck. [20:15] <playerman1230> As 00 or FF? [20:16] <@interdpth> 0xFF [20:16] <Bond697> ah yeah [20:16] <@interdpth> For this tutorial I will be using 0x7B0000 [20:17] <@interdpth> Load the raw [20:17] <@interdpth> In either unlz/nlz [20:17] <@interdpth> Oh [20:17] <@interdpth> Close the hex editor as well [20:17] <@interdpth> We'll need it in a minute [20:17] <@interdpth> But unlz is bitchy [20:17] <playerman1230> I see Free Space start [in the end of the ROM] at 0x760D38 [20:19] <@interdpth> player put that in your notepad as freespace- 0x760D38 [20:19] <@interdpth> anyway [20:19] <@interdpth> reopen zm in either compressor [20:20] <@interdpth> Load the Raw [20:20] <@interdpth> in nlz [20:20] <@interdpth> it'll ask for the offset [20:21] <@interdpth> put in your freespace offset i'll be using 0x7B0000 unclick abort [20:21] <@interdpth> Click ok [20:21] <@interdpth> Then in nlz go to the offset where your freespace offset is [20:21] <@interdpth> and you should see the image [20:22] <@interdpth> for unlz [20:22] <@interdpth> load the raw [20:22] <@interdpth> then write to rom [20:22] <@interdpth> for image use your freespace offset [20:22] <@interdpth> unclick abort [20:22] <Bond697> ah yeah [20:22] <Bond697> there it is [20:23] <@interdpth> cool eh? [20:23] <Bond697> quite [20:23] <@interdpth> Now we wait for everyone [20:23] <Bond697> yes [20:25] <playerman1230> yeah. [20:25] <MoogleEmperor> yep. [20:25] <@interdpth> everyone ready? [20:26] <@interdpth> ok [20:26] <@interdpth> Now [20:26] <@interdpth> Open your rom in the hexeditor [20:26] <@interdpth> Head over to 77604 where we found that pointer [20:27] <@interdpth> add 0x8000000 to your freespace address mine is 0x7b0000 so i'll have 0x87b0000 [20:27] <@interdpth> Reverse it [20:27] <@interdpth> I get 00 00 7b 08 [20:27] <@interdpth> (ctrl + g usually to go to addresses) [20:27] <@interdpth> Type it in to your hexeditor at the offset [20:27] <playerman1230> So 77600 is the pointer that does an image reference? [20:28] <@interdpth> 77604 is [20:28] <playerman1230> *0x77604 [20:28] <@interdpth> Yeah [20:29] <@interdpth> After adjusting the pointer [20:29] <@interdpth> save changes [20:29] <@interdpth> and open in a rom [20:29] <@interdpth> er [20:30] <MoogleEmperor> What offset are we writing the new pointer to? [20:30] <@interdpth> 77604 [20:30] <@interdpth> open the rom in vba [20:30] <@interdpth> and look at the changes! [20:31] <Bond697> hey [20:31] <Bond697> nice [20:31] <Bond697> it worked [20:31] <@interdpth> feel cool yet? [20:31] <Bond697> cooler than the fonz [20:31] <Bond697> eyyyy [20:31] <@interdpth> Now [20:31] <@interdpth> Who's scared of hex? [20:33] <@interdpth> WEll take a short break [20:34] <MoogleEmperor> Worked. [20:36] <@interdpth> ok [20:36] <@interdpth> breaks over [20:36] <@interdpth> Hex is nothing to be afraid of [20:36] <@interdpth> Believe it or not [20:36] <@interdpth> Repointing was dealing with hex [20:36] <@interdpth> Easy no? [20:36] <@interdpth> Numbers represent data in a ROM [20:37] <@interdpth> instead dealing with odd strings like seeing 123543443343 or 1110011000011110000110101011110001111 we deal with 1CC3C3578F [20:38] <@interdpth> They an represent graphics [20:38] <@interdpth> text [20:38] <@interdpth> code [20:38] <@interdpth> any of it [20:39] <@interdpth> hex is as simple as thayt [20:39] <@interdpth> So [20:40] <@interdpth> We're going to put hex and asm hacking in one section [20:40] <@interdpth> Here's no$gba [20:40] <@interdpth> http://interdpth.arc-nova.org/no$gbafortut.zip [20:40] <@interdpth> use no$gba.exe [20:40] <@interdpth> password is veta [20:41] <Bond697> sweet [20:41] <Bond697> thanks [20:43] <@interdpth> Alright [20:43] <@interdpth> Who's ready to start ASM hacking? [20:43] <Bond697> definitely [20:43] <@interdpth> Alright load http://datacrystal.org/wiki/Metroid_Zero_Mission:RAM_map up in your browser [20:44] <@interdpth> Let's see [20:44] <@interdpth> What ASM hack should we preform [20:44] <@interdpth> How about [20:44] <@interdpth> Samus takes no damge from enemies? [20:44] <@interdpth> Damage^ [20:44] <Bond697> sounds good [20:44] <@interdpth> We will be doing several hacks with this [20:45] <@interdpth> First I will introduce you too finding when a memory address gets written too [20:45] <@interdpth> oh [20:45] <@interdpth> I forgot to explain addresses [20:45] <@interdpth> well memory [20:45] <@interdpth> 2000000-200FFFF is IRAM it's really fast *actually it's 02000000-0203FFFF* *and actually, it's slower than 300xxxx, but way bigger* [20:46] <@interdpth> 3000000-300FFFF is WRAM it's fast most variables and such will be here *actually it's 03000000-03007EFF* *and actually, this is the IRAM, 02000000-0203FFFF is ERAM, they're both WRAM [20:46] <@interdpth> Ok [20:46] <@interdpth> so open the ROM in no$gba [20:46] <@interdpth> and get to the first level [20:48] <Bond697> ok [20:49] <@interdpth> everyone there? [20:49] <@interdpth> Click the window with all the text on it to pause [20:49] <cloud07> i'm there [20:50] <@interdpth> Now then [20:50] <MoogleEmperor> I'm redy. [20:50] <@interdpth> Samus's current health is 0x3001536 [20:50] <@interdpth> We want to find out when it gets written too [20:50] <@interdpth> So on your keyboard [20:50] <@interdpth> press ctrl+b [20:51] <@interdpth> To bring up the break point window [20:51] <@interdpth> put [0x3001536]! *[3001536] means the value 'at' $3001536 (indirect) *! breaks on a changed write, !! breaks on any write, ? breaks on read; they can be combined (eg. ?!) [20:51] <@interdpth> Then run into an enemy [20:52] <@interdpth> You'll see a break on 800E6D8 [20:52] <@interdpth> Am I correct? [20:52] <MoogleEmperor> yup. [20:52] <@interdpth> Alright [20:52] <@interdpth> Write down the address right above it *unlike Geiger's snes9x debugger, no$gba breaks on the instruction 'after' the write* *the previous instruction is therefor the write* [20:52] <@interdpth> 800E6D6 *all instructions are 2 bytes in THUMB, unlike 65816* [20:53] <Bond697> hmm.. [20:53] <@interdpth> Write that down on a notepad [20:53] <@interdpth> in the no$ window [20:53] <@interdpth> Go to 800E6D6 [20:53] <Bond697> where does the break show up, on the left? [20:53] <@interdpth> Yes [20:53] <@interdpth> it's indicated by a little square [20:53] <Bond697> ah yeah, now i see it [20:54] <@interdpth> on 800E6D6 type [20:54] <@interdpth> nop [20:54] <Bond697> hmm [20:54] <Bond697> no, it came to 800066e [20:54] <Bond697> hmm [20:54] <@interdpth> hmm [20:54] <Bond697> i'm doning something wrong [20:54] <@interdpth> No [20:54] <@interdpth> Oh [20:54] <@interdpth> I see [20:54] <@interdpth> haha [20:54] <@interdpth> click the game window [20:54] <@interdpth> and run into another enemy [20:55] <@interdpth> Then emulation should stop [20:55] <Bond697> ah, ok [20:55] <@interdpth> and you'll be brought too 800E6D8 [20:55] <@interdpth> Right? [20:55] <Bond697> hmm [20:55] <Bond697> what happened to my game here [20:55] <@interdpth> It stopped [20:55] <Bond697> my energy keeps resetting [20:56] <MoogleEmperor> It's working for me. Not taking damage anymore. [20:56] <Bond697> let's try a new rom [20:57] <@interdpth> We'll wait for bond to catch up [20:58] <cloud07> ran into an enemie but health stayed the same is that suppose to happen? [20:59] <@interdpth> Did you type nop? [20:59] <Bond697> hmm [20:59] <Bond697> nothing [20:59] <Bond697> odd [20:59] <cloud07> yes [20:59] <@interdpth> and no energy change? [21:00] <Bond697> why is the game letting me have 00 energy? [21:00] <cloud07> no it stay as 10 [21:00] <Bond697> wtf [21:00] <Bond697> i bet it's my rom [21:00] <@interdpth> http://img37.picoodle.com/img/img37/3/11/25/f_1m_ffa19c0.png should be like that ond [21:00] <@interdpth> bond^ [21:00] <@interdpth> That's what mine looks like when I touched that ripper [21:01] <@interdpth> For those it worked for [21:01] <@interdpth> congrats [21:01] <@interdpth> You just made your first ASM hack [21:01] <@interdpth> After bond gets up [21:01] <Bond697> ah, ok [21:01] <@interdpth> I'll show you how to save to rom [21:01] <Bond697> i see the right box, now [21:02] <@interdpth> Alrighty [21:02] <@interdpth> Now then [21:02] <Bond697> i was looking in the werong place [21:02] <Bond697> but [21:02] <@interdpth> open your rom in a hexeditor [21:02] <Bond697> is that box supposed to change [21:02] <@interdpth> When you click it [21:02] <@interdpth> Or resume game [21:02] <@interdpth> Then click [21:02] <Bond697> from offsets to the breakpoint? [21:02] <@interdpth> it changes [21:02] <Bond697> ok [21:02] <@interdpth> look next to nop [21:02] <@interdpth> You'll see [21:03] <@interdpth> 46c0 [21:03] <@interdpth> We're going to put that into the ROM [21:03] <@interdpth> So open the rom [21:03] <@interdpth> in hex editor [21:03] <@interdpth> 800E6D6 go there *remember to take away the 8 at the start* [21:03] <@interdpth> reverse 46c0 to c0 46 [21:03] <@interdpth> bam [21:03] <@interdpth> Samus no longer takes damage [21:04] <@interdpth> How do you like that? [21:05] <@interdpth> Before we start the next awesome hacking [21:05] <@interdpth> please goto otakudoujin.com it's not safe fore work [21:05] <@interdpth> but download two manga's and click the ad at the bottom to help me out [21:05] <@interdpth> ok back to asm hacking [21:05] <@interdpth> click the breakpoint on the breakpoint menu then delete on your keyboard [21:06] <@interdpth> er [21:06] <@interdpth> unzip a new ROM *or just revert the change if it's not too late* [21:07] <@interdpth> Instwead of taking away health [21:07] <@interdpth> We'll give it [21:07] <@interdpth> In constant amounts [21:07] <@interdpth> Go to 800E6D6 [21:08] <@interdpth> right above it you'll see sub r0, r0, r3 [21:08] <@interdpth> click that line [21:08] <@interdpth> type [21:08] <@interdpth> add r0, r0, 0x10 *should be add r0,0x10* *with add r0,r0,0xnn - nn only goes up to 7* [21:09] <@interdpth> this time when you touch an enemy samus will gain 16 hp [21:09] <@interdpth> go to the address where that line is in a hexeditor (800E6D4) [21:09] <@interdpth> no$'s 18c0 swaps to c0 18 in a hex editor *interdpth done add r0,r0,r3 by mistake* [21:09] <@interdpth> put it in and save it [21:10] <@interdpth> and that my friends is assembly hacking [21:10] <@interdpth> I think i'm done [21:11] <@interdpth> Any questions? [21:11] <MoogleEmperor> When I try to enter it it says Parameter Fail [21:11] <@interdpth> add r0, r0, 0x10 [21:11] <@interdpth> try [21:11] <@interdpth> add r0, 0x10 [21:11] <@interdpth> or take out the spaces [21:13] <MoogleEmperor> add r0,0x10 is 3010... [21:15] <@interdpth> well [21:15] <@interdpth> reverse it [21:15] <@interdpth> and put in the rom [21:15] <Bond697> ok [21:16] <MoogleEmperor> Hm, seems to be working. Each hit gives her 16 energy, though it doesn [21:16] <MoogleEmperor> 't stop it from looping. [21:16] <MoogleEmperor> Seems right. [21:16] <@interdpth> Well there you go [21:16] <@interdpth> You haven't mastered [21:16] <@interdpth> But you have learned how to do [21:17] <@interdpth> What many are scared of. [21:17] <cloud07> how did you make global memory change break? [21:17] <Bond697> hex workshop keeps tellking me that 800e6d4 can't be found in the rom [21:17] <Bond697> damn it [21:18] <@interdpth> take off that 8 [21:18] <@interdpth> XD [21:18] <Bond697> ahhh [21:18] <Bond697> ok [21:19] <Bond697> ah, yeah [21:19] <Bond697> there it id [21:19] <Bond697> *is [21:20] <Bond697> worked nicely [21:20] <@interdpth> Students [21:20] <@interdpth> You all graduate [21:21] <Bond697> heh [21:21] <Bond697> that was fun [21:21] <@interdpth> Spread my blogggg to people [21:21] <Bond697> will do [21:21] <Bond697> which ad do i click on, the one at the right? [21:21] <@interdpth> Bottom right [21:21] <Bond697> yep, ok [21:21] <@interdpth> Now to save this log and upload