jbmaster21

Visitor Messages

1 to 3 of 3
1. August 4th, 2018 11:40 AM
Uncommon
Hey jbmaster21!

Thanks for reaching out. I'd be happy to help you out.

where XX XX XX is a (reversed) pointer to [the offset of @flagcheck from the XSE script +0xB (hex)]. This is the offset where the actual number for the flag to check is written. (what is +0xB is it +11?)
Yeah, you can think of 0xB as 11. You know how hex works right? (If not, feel free to ask, I can give you a more in-depth explanation.) For example, let's say my offset for @flagcheck is 7603D7 (that's where it ends up if you just use the patch on a clean ROM). I have to add 0xB to 7603D7. You can simply use a hex calculator like this one: https://www.calculator.net/hex-calculator.html (or XSE actually has a hex calculator built-in, in the upper right-hand corner), or you can convert to decimal and do the math:

Spoiler:

7603D7 + 0xB
D7 = 13x16 + 7x1 = 215
215+11 = 226 = 0xE2
226/16 = 14.125, so 226 = (14*16) +( .125*16=2) -> E2
--> 7603D7 + 0xB = 7603E2

Personally, I'm not actually very good at math, so what I do is count it out:

Spoiler:

(0) 7603D7, (1) 7603D8, (2) 7603D9, (3) 7603DA, (4) 7603DB, (5) 7603DC, (6) 7603DD, (7) 7603DE, (8) 7603DF, (9) 7603E0, (10 =A) 7603E1, (11=B) 7603E2

In any case, we end up with 7603E2. Then, that pointer is going to be reverse hex, which literally means we just split up each pair of numbers and put the pairs in reverse order:

Spoiler:

76 03 E2 -> E2 03 76

and that's what I'd put in XX XX XX.

At 0x3A7360 write in a pointer to the offset of the fly routine + 1. (im a little lost here)
So, first you need the offset where you put the Fly routine. In my unaltered patch it's 7606A0. So to get the pointer, first add 1 to that offset:

Spoiler:
7606A0 + 1 = 7606A1

Then, we reverse the hex like before:

Spoiler:
7606A1 -> 76 06 A1 -> A1 06 76

and the final step is that whenever we write a pointer to a ROM location, we end with 08. So the final pointer is:

Spoiler:
A1 06 76 08

and that's what we put at 0x3A7360 in the ROM. Just make sure you keep track of where you put the Fly routine and use that procedure to figure out the pointer to put here.

At 0x3A735C, write in a pointer to the offset of the "name" text. (no+1 here?)

At 0x3A73A0, write in a pointer to the offset of the "description" text. (or here)

Good question. The +1 thing is for pointers to ASM routines. Since these are just text, there's no need to +1 them.

At free space ending in a multiple of 4, paste-write:*(what do you mean by this offsets end in 4,8,B...?)

Yeah, that's exactly right, the offset must end in 4, 8, B, or 0. To be entirely honest, I never fully understood why this must be (it has to do with the data being "aligned" in order to be read properly). I don't know why this one in particular needs this but others don't. This was something that FBI built in his original work, and I just followed what he did.

Thanks for taking a shot at applying it first and coming back with good questions! It's really frustrating when people just say things like "it doesn't work!!" without really trying to figure it out themselves. Let me know if you have more questions!
2. August 4th, 2018 4:41 AM
FBI
Can I get screenshots of the error please
3. July 31st, 2018 2:30 AM
FBI
There should be a zip file, extract that first.

Statistics

Total Posts
Activity by Forum
Visitor Messages
Blog
General Information
• Last Activity: July 31st, 2019 5:56 PM
• Join Date: July 19th, 2017
• Referrals: 0

Mini Statistics

 Join Date July 19th, 2017 Total Posts 23 Blog Entries 0

Recent Visitors

The last 13 visitor(s) to this page were: