[18:38] <@interdpth> Every has the tools? [18:38] <@interdpth> Wait [18:38] <@interdpth> Did I include VBA in that? [18:38] yes [18:38] you did [18:39] <@interdpth> Everyone tell me when you have your hexeditor and the rest handy [18:39] ready [18:39] interdpth, i already had the things you mentioned in the thread do i need tolls.zip? 06[18:39] * @Jathys isn't doing hex... it's too hard [18:39] tools* [18:39] <@interdpth> The proper rom is in the zip [18:39] tolls.zip lol 03[18:40] * You were kicked by Jathys (For encouraging the pirating of copyrighten materials:-D) [18:40] * Attempting to rejoin channel #jzd 03[18:40] * Rejoined channel #jzd 03[18:40] * Topic is 'Class is in session' 03[18:40] * Set by interdpth!porn@adsl-248-106-122.btr.bellsouth.net on Tue Nov 25 18:31:57 [18:40] <@Jathys> hahaah 03[18:40] * ChanServ sets mode: +o interdpth [18:40] you have to pay every time you open that zip [18:40] I'ma hafta get the tools [18:40] i'm going to assume I don't need it then [18:41] <@interdpth> All tools tonight will be deleted after class is over [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:44] Found beam sprites. 03[18:45] * Joins: MathOnNapkins (MathOnNapk@c-71-229-89-244.hsd1.in.comcast.net) 03[18:45] * ChanServ sets mode: +o MathOnNapkins [18:45] I don't recognize ZM beam tiles [18:45] I'll be waiting [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] cool [18:47] 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] thats the same as the ulnz? [18:48] <@interdpth> We're using the one in the toolset as it's userfriendly [18:49] <@MathOnNapkins> buedrpu 06[18:49] * @MathOnNapkins finally got the samples extracted [18:49] <@MathOnNapkins> anyone know a way to use a batch file to do like.... for * in folder * [18:50] <@MathOnNapkins> do * [18:50] <@MathOnNapkins> ? [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 03[18:51] * Joins: Zhs2 (Bloodsonic@pool-138-88-133-212.esr.east.verizon.net) [18:51] Fuuuuuck [18:51] i'm kinda confused here [18:51] i opened unlz [18:51] opened the rom [18:51] I see the ship. [18:51] how do i go to 271 [18:51] <@MathOnNapkins> unlulz [18:52] * Quits: Zhs2 (Bloodsonic@pool-138-88-133-212.esr.east.verizon.net) (Quit: Client Exited) [18:52] <@MathOnNapkins> are you close? [18:52] <@MathOnNapkins> ARE YOU CLOSE? [18:52] <@MathOnNapkins> I AM [18:52] <@MathOnNapkins> OHHHHHHHHHHHHHHHHHHHH [18:52] <@MathOnNapkins> YEAAAAAAAAAAAAAAAAAAAAAAAAAAH [18:52] <@MathOnNapkins> ah.... [18:52] <@MathOnNapkins> good for you? [18:52] also trying to us unLZ, don't see how you select an image [18:52] yeah [18:52] that [18:52] <@interdpth> Go to [18:52] Goto? [18:52] <@interdpth> x_x [18:52] i tried that [18:52] 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] are we using the same program? [18:53] you aren't [18:53] we aren't. [18:53] goto 271 does not show the title screen in unLZ [18:53] <@interdpth> Image 241 in unlz [18:54] doesn't look like a title screen either [18:54] <@interdpth> Like I said [18:54] 241 is giving me some scrambled game save graphics [18:54] 241 gets me the text for deleting save files. [18:54] <@interdpth> I really suggest using the tools in the zip [18:54] i am! [18:54] 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] we;re using unlz, which is what was in the zip [18:55] <@interdpth> nlz is in the zip [18:55] getting the .zip, was using unLZ since that was what was in the thread [18:55] honest to god [18:56] it was unlz [18:56] <@interdpth> I forgot how buggy unlz was [18:56] let me go download nlz [18:56] <@interdpth> Hold up [18:56] <@interdpth> I could be the mistaken one [18:56] I got tools.zip, and unlz was in it. [18:56] <@interdpth> Hmm [18:56] <@interdpth> ok [18:56] ok, here we go [18:56] just downloaded nlz [18:56] <@interdpth> Yeah ok [18:56] <@interdpth> That was my faul [18:56] http://www.romhacking.net/utils/529/ [18:56] <@interdpth> I forgot to click overwrite [18:56] %^(@ just finished getting tools.zip [18:57] <@interdpth> Alright [18:57] <@interdpth> To the image in the picture [18:58] 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] ok [18:58] <@interdpth> You are opening ZM right? [18:58] i went to 271 in nlz, Aand it's something in spanish [18:58] match it to what [18:58] <@interdpth> 4470e0 [18:59] 1 sec [18:59] k, got it [18:59] ah! [18:59] got it [18:59] 274 [18:59] <@interdpth> Alright [19:01] <@interdpth> Everyone up to speed now? [19:01] The hell? NLZ has crashed and said intitlaization failed. [19:02] <@interdpth> Player [19:02] <@interdpth> Get to offset 4470e0 in unlz then [19:04] <@Jathys> Don't hate the player, Xaggoth. Hate the game. [19:04] I... I do? [19:05] Thar we go, I see it. [19:05] Got it. [19:06] <@interdpth> okie doke [19:06] 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] Kay. [19:07] 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] what next? [19:08] <@interdpth> Open the file in TLP [19:08] still doesn't look nice in tlp 03[19:08] * Joins: cloud07 (47c89887@metroid2002.com) [19:08] <@interdpth> Now, just mess around add little faces in places [19:08] <@interdpth> or erase blocks and such [19:08] * Quits: cloud07 (47c89887@metroid2002.com) (Quit: Client Exited) [19:08] <@interdpth> When you are all done [19:08] <@interdpth> Let me know [19:09] ??? It doesn't look like this is the entire thing I tried to dump [19:09] 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] ok [19:11] <@interdpth> Then open the ROM in vba [19:11] <@interdpth> and check out your changes [19:12] hmm [19:12] not seeing any changes [19:12] lets try it again [19:13] So, change to your heart's content? [19:13] <@interdpth> Yep 03[19:13] * Joins: Phazar (181d16d4@metroid2002.com) [19:13] <@interdpth> And that'd be editing compressed graphics [19:13] <@interdpth> Class will resume in 10 [19:13] * Quits: Phazar (181d16d4@metroid2002.com) (Quit: Client Exited) [19:13] <@interdpth> So everyone can have some fun [19:14] hmm [19:14] yeah [19:14] didn't work [19:14] this time the whole title screen was messed up 03[19:14] * Joins: Phazar (181d16d4@metroid2002.com) [19:14] * Quits: Phazar (181d16d4@metroid2002.com) (Quit: Client Exited) [19:15] ah well [19:15] easy enough to try again [19:15] <@interdpth> Unzip the rom and try again 03[19:17] * Joins: Phazar (181d16d4@metroid2002.com) [19:17] * Quits: Phazar (181d16d4@metroid2002.com) (Quit: Client Exited) [19:18] it tells me the old data is bigger than the new data [19:18] and aborts [19:24] <@interdpth> So [19:24] <@interdpth> use less colors [19:24] i used 1 color [19:25] hmm [19:25] ok [19:26] i re-dumped the raw file [19:26] opened it in tlp [19:26] drew 1 smiley face in 1 color [19:26] <@interdpth> I mean less pixels [19:26] and it still aborts [19:26] <@interdpth> erase some boxes [19:27] ah, let's try that 03[19:27] * Joins: Phazar (jjg4th@cpe-24-29-22-212.cinci.res.rr.com) [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] very cool [19:29] <@MathOnNapkins> then [19:29] <@MathOnNapkins> asm [19:29] Well, let's get to it [19:29] <@MathOnNapkins> you start [19:30] <@MathOnNapkins> btw who the hell are you :) [19:30] <@MathOnNapkins> (customary greeting) [19:30] You must not be from M2K2 [19:30] ok, getting rid of some worked [19:30] <@MathOnNapkins> I knew a place called that .... once.... long ago [19:31] <@MathOnNapkins> probably around the year 2002 [19:31] interdpth told me about it there [19:31] MON is like a retired member or something. [19:31] he made a thread about this today [19:31] phazar, I'm using mibbit to connect and it works fine [19:32] It's working here for me too now [19:32] I'm using mIRC [19:32] M2K2's IRC sucks [19:32] <@interdpth> Alright [19:32] It alwaays disconnects [19:32] <@interdpth> Everyone got the pictures to insert? [19:33] How do you turn a bitmap into available tiles for use in TLP? [19:35] <@MathOnNapkins> welp [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:35] <@MathOnNapkins> what they said [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] oh, okay. [19:36] <@MathOnNapkins> (unless you store the palettes, somehow) [19:37] <@MathOnNapkins> hello Kejardon [19:37] <@Kejardon> Hi 06[19:37] * @MathOnNapkins waits for ping out [19:37] <@Kejardon> oh whoops, forgot to ping out [19:37] <@Kejardon> :O [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:38] <@Kejardon> See what happens when I multitask? <_<; [19:38] <@MathOnNapkins> mmmm no? [19:39] <@MathOnNapkins> tm = tlp? [19:39] <@Kejardon> tmv is the program I'm using currently to attempt to get blue suit [19:39] <@MathOnNapkins> *tmv = tlp? [19:39] <@MathOnNapkins> too much viagra [19:39] <@Kejardon> tilemap viewer [19:40] <@MathOnNapkins> oh :( [19:40] <@MathOnNapkins> I finally got unlazy and made a sample ripper today [19:40] <@Kejardon> finally only 12 screens away from my goal [19:40] <@MathOnNapkins> now I gotta figure out how to batch convert the brr to wav using snesbrr [19:40] <@MathOnNapkins> (with batch files) [19:41] 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] 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] actually, kejardon made it [19:42] <@Kejardon> Jathys updated it [19:42] <@MathOnNapkins> using mind powers [19:42] <@MathOnNapkins> is there source code available for tlp? [19:42] <@Kejardon> not as far as I know [19:42] <@MathOnNapkins> or did you guys just use crazy x86 hacking [19:43] <@Kejardon> I'm crazy [19:43] <@Kejardon> I don't know what Jathys' excuse is [19:43] <@MathOnNapkins> well how did you do it? [19:43] <@interdpth> I HAS THE SOURCE GUYS [19:43] <@interdpth> OF 1.1 [19:43] Phazar: your welcome [19:43] <@MathOnNapkins> Not that I think x86 hacking is beyond anyone, I just didn't think anyone would bother enough to change one thing in an .exe 03[19:44] * Joins: cloud07 (47c89887@metroid2002.com) 06[19:44] * @MathOnNapkins calls his new tool Ripper [19:44] * Quits: cloud07 (47c89887@metroid2002.com) (Quit: Client Exited) 06[19:44] * @MathOnNapkins has to get a Ripper icon from SM to go with it :) [19:44] you might want to upload the 2.0 patch to rhdn [19:44] that's right, Bloodsonic, you helped me get on here [19:44] their's is still 1.1 [19:44] np [19:44] <@MathOnNapkins> you owe bloodsonic tribute [19:44] <@MathOnNapkins> pay the man [19:45] I like that idea [19:45] <@Jathys> LOL @ House returning the gun to the mad man [19:45] <@MathOnNapkins> we do not shelter thieves [19:45] <@Jathys> Kej: my excuse was I didn't feel like having to constantly click All Files [19:45] anyway [19:46] i'm done, inter [19:46] <@interdpth> Alrighty [19:46] <@Jathys> in any case, I'm out for the night [19:46] <@interdpth> Now then [19:46] * Quits: @Jathys (nedm@pool-71-127-5-210.spfdma.east.verizon.net) (Quit: Sleepage) [19:48] in hex [19:48] <@MathOnNapkins> >:( [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] ok [19:49] 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] yeah [19:51] I'm ready. [19:51] I'm recording this right now so I don't have to catch up 03[19:51] * Joins: Silver_Skree (DAVmn232@user-1120mea.dsl.mindspring.com) [19:52] Well...you're late [19:52] lol [19:52] I'm not a GBA hacker but I thhough I'd drop by just to get in on some general knowledge [19:52] do you have a note from attendance office? lol [19:53] <@MathOnNapkins> Phazar: raise your hand before speaking [19:53] oh lol [19:53] alright, I'm out [19:53] seeya [19:54] later [19:54] see ya [19:54] if someone could post the logs for gba stuff it would be good [19:54] * Quits: Xaggoth (Mibbit@d230-9.uoregon.edu) (Quit: http://www.mibbit.com ajax IRC Client) [19:54] I'm recording this right now [19:54] I think I'll do that if I can stay up long enough [19:54] I'm sure interdpth could post logs [19:54] I'm recording too. I'm not going to sleep tonight lest I miss my train in the morning... [19:55] <@interdpth> Oh come on guys 03[19:55] * Joins: Cloud07 (Cloud07@c-71-200-152-135.hsd1.md.comcast.net) [19:55] <@interdpth> It'll be done in two hours [19:55] I'll try to post this as an AVI, but it might be too big a file 03[19:55] * Cloud07 is now known as cloud07 [19:56] <@Kejardon> I'm busy trying to get blue suit. I'll kill you after I get it, k? [19:59] <@interdpth> So everyone ready for the next part? [19:59] finally [19:59] yes [19:59] <@interdpth> Alrighty [19:59] yeah, let's play hex. [19:59] <@interdpth> You still have nlz/unlz open with the image right? [19:59] ok i'm on [19:59] ROM image? [19:59] or the title image? [20:00] <@interdpth> Title screen [20:00] oh. [20:00] <@interdpth> First I will explain pointers [20:00] please explain this from the beginning [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] Yeah, like a reference. [20:01] yes [20:02] 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] 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) [20:04] * Attempting to rejoin channel #jzd 03[20:04] * Rejoined channel #jzd 03[20:04] * Topic is 'Class is in session' 03[20:04] * Set by interdpth!porn@adsl-248-106-122.btr.bellsouth.net on Tue Nov 25 18:31:57 03[20:04] * ChanServ sets mode: +o interdpth 03[20:04] * Joins: roxahris (roxahris@220-245-138-141.tpgi.com.au) [20:05] <@Kejardon> umm. I was sure he had auto-rejoin. <_<; 03[20:05] * Kejardon was kicked by interdpth (Kejardon) [20:05] You can't kick the teacher! 03[20:05] * Joins: Kejardon (Kejardon@66.215.113.124) [20:05] <@interdpth> Anyway [20:06] <@interdpth> GBA pointers 03[20:06] * ChanServ sets mode: +o Kejardon [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] 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] 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] 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] yep [20:11] <@interdpth> open a notepad [20:11] <@interdpth> add 0x8000000 to 0x4470e0 [20:11] 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] 77600 [20:14] <@interdpth> You're 4 bytes off [20:14] err [20:14] 77604 [20:14] 77604 [20:14] 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] 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] As 00 or FF? [20:16] <@interdpth> 0xFF [20:16] ah yeah [20:16] <@interdpth> For this tutorial I will be using 0x7B0000 [20:16] someone post a log of this tomorrow. I gotta go. [20:16] * Quits: Bloodsonic (Bloodsonic@pool-138-88-133-212.esr.east.verizon.net) (Quit: fuck.) [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] I see Free Space start [in the end of the ROM] at 0x760D38 03[20:17] * Joins: Bloodsonic (Bloodsonic@pool-138-88-133-212.esr.east.verizon.net) [20:19] <@interdpth> player put that in your notepad as freespace- He might be a Swedish wizard. [20:19] <@interdpth> er [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] ah yeah [20:22] there it is [20:23] <@interdpth> cool eh? [20:23] quite [20:23] <@interdpth> Now we wait for everyone [20:23] yes [20:25] yeah. [20:25] yep. [20:25] Recording part 5 [20:25] <@interdpth> everyone ready? [20:25] I remember doing this for pokemon... [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:26] <@MathOnNapkins> this transcript will be for sale after the session for $25 [20:26] <@interdpth> XD [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] So 77600 is the pointer that does an image reference? [20:28] <@interdpth> 77604 is [20:28] *0x77604 [20:28] <@interdpth> Yeah [20:29] my bro's forcing me off the comp for the while. be back later tonight or so. [20:29] <@interdpth> Ok 03[20:29] * Parts: Silver_Skree (DAVmn232@user-1120mea.dsl.mindspring.com) [20:29] nite. [20:29] * Quits: playerman1230 (redyoshi83@adsl-75-26-21-142.dsl.scrm01.sbcglobal.net) (Quit: Leave your death message after the beep.) [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] 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:30] <@interdpth> After we are done I must ask each of you for payment [20:30] <@interdpth> In which you spread a link and download 2 things from my site. [20:30] <@interdpth> But anyway [20:31] hey [20:31] nice [20:31] it worked [20:31] <@interdpth> feel cool yet? [20:31] cooler than the fonz [20:31] eyyyy [20:31] <@interdpth> Now [20:31] <@interdpth> Who's scared of hex? 03[20:31] * Joins: Zhs2 (Bloodsonic@pool-138-88-133-212.esr.east.verizon.net) [20:33] * Quits: Zhs2 (Bloodsonic@pool-138-88-133-212.esr.east.verizon.net) (Quit: Client Exited) 06[20:33] * @MathOnNapkins chuckles [20:33] <@interdpth> WEll take a short break [20:34] Worked. [20:34] <@MathOnNapkins> j/k i'm not going to make fun of you if you don't know hex :P [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 03[20:39] * Joins: DMantra|Away (ziobelian_@S010600402b1ca6dc.vw.shawcable.net) [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] you guys see black falcons screens? jesus christ those are lush [20:40] <@interdpth> password is veta [20:41] <@interdpth> Yo bro [20:41] sweet [20:41] thanks [20:41] yo 03[20:41] * DMantra|Away is now known as DMantra [20:42] <@MathOnNapkins> DMantra|Away: stop using the word lush so much [20:42] <@MathOnNapkins> and maybe, just maybe [20:42] <@MathOnNapkins> i'll give you some samples [20:42] <@MathOnNapkins> :D [20:43] <@interdpth> Alright [20:43] <@interdpth> Who's ready to start ASM hacking? [20:43] definitely [20:43] did you get the samples MON? [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] 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> 200000-200FFFF is IRAM it's really fast [20:46] <@interdpth> 3000000-300FFFF is WRAM it's fast most variables and such will be here [20:46] <@interdpth> 2000000-200FFFF^ [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] ok [20:49] <@interdpth> everyone there? [20:49] <@interdpth> Click the window with all the text on it to pause [20:49] i'm there [20:50] <@interdpth> Now then [20:50] 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]! [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] yup. [20:52] <@interdpth> Alright [20:52] <@interdpth> Write down the address right above it [20:52] <@interdpth> 800E6D6 [20:53] 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] 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] ah yeah, now i see it [20:54] <@interdpth> on 800E6D6 type [20:54] <@interdpth> nop [20:54] hmm [20:54] <@MathOnNapkins> yep [20:54] no, it came to 800066e [20:54] hmm [20:54] <@interdpth> hmm [20:54] 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 03[20:55] * Parts: DMantra (ziobelian_@S010600402b1ca6dc.vw.shawcable.net) [20:55] <@interdpth> Then emulation should stop 03[20:55] * Retrieving #jzd modes... [20:55] ah, ok [20:55] <@interdpth> and you'll be brought too 800E6D8 [20:55] <@interdpth> Right? [20:55] hmm [20:55] what happened to my game here [20:55] <@interdpth> It stopped [20:55] my energy keeps resetting [20:55] * Quits: Bloodsonic (Bloodsonic@pool-138-88-133-212.esr.east.verizon.net) (Ping timeout: 180 seconds) [20:56] It's working for me. Not taking damage anymore. [20:56] let's try a new rom [20:57] <@interdpth> We'll wait for bond to catch up 03[20:57] * Joins: Bloodsonic (Bloodsonic@pool-138-88-133-212.esr.east.verizon.net) [20:58] ran into an enemie but health stayed the same is that suppose to happen? [20:59] <@interdpth> Did you type nop? [20:59] hmm [20:59] nothing [20:59] odd [20:59] yes [20:59] <@interdpth> and no energy change? [21:00] why is the game letting me have 00 energy? [21:00] no it stay as 10 [21:00] wtf [21:00] 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] ah, ok [21:01] <@interdpth> I'll show you how to save to rom [21:01] i see the right box, now [21:02] <@interdpth> Alrighty [21:02] <@interdpth> Now then [21:02] i was looking in the werong place [21:02] but [21:02] <@interdpth> open your rom in a hexeditor [21:02] 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] from offsets to the breakpoint? [21:02] <@interdpth> it changes [21:02] 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 [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> 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 [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> sub r0, r0, 0x10 [21:08] fucking finally [21:08] <@interdpth> that means subtract 16 bytes [21:08] the first one worked [21:08] now, let's catch up [21:08] <@interdpth> er [21:08] <@interdpth> no sub [21:08] <@interdpth> add [21:08] <@interdpth> add r0, r0, 0x10 [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 [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] 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:12] * Quits: Bloodsonic (Bloodsonic@pool-138-88-133-212.esr.east.verizon.net) (Ping timeout: 180 seconds) [21:13] add r0,0x10 is 3010... [21:15] <@interdpth> well [21:15] <@interdpth> reverse it [21:15] <@interdpth> and put in the rom [21:15] ok [21:16] * Quits: NuZalem (Radiant@adsl-074-184-226-118.sip.asm.bellsouth.net) (Quit: Leaving) [21:16] Hm, seems to be working. Each hit gives her 16 energy, though it doesn [21:16] 't stop it from looping. [21:16] 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] how did you make global memory change break? [21:17] hex workshop keeps tellking me that 800e6d4 can't be found in the rom [21:17] damn it [21:18] <@interdpth> take off that 8 [21:18] <@interdpth> XD [21:18] ahhh [21:18] ok [21:19] ah, yeah [21:19] there it id [21:19] *is [21:20] worked nicely [21:20] <@interdpth> Students [21:20] <@interdpth> You all graduate [21:21] heh [21:21] that was fun [21:21] <@interdpth> Spread my blogggg to people [21:21] will do [21:21] which ad do i click on, the one at the right? [21:21] <@interdpth> Bottom right [21:21] yep, ok [21:21] <@interdpth> Now to save this log and upload