Visitor Messages

1 to 3 of 3
  1. Uncommon
    August 4th, 2018 11:40 AM
    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:


    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:


    (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:


    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:

    7606A0 + 1 = 7606A1

    Then, we reverse the hex like before:

    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:

    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. FBI
    August 4th, 2018 4:41 AM
    Can I get screenshots of the error please
  3. FBI
    July 31st, 2018 2:30 AM
    There should be a zip file, extract that first.


Total Posts
Activity by Forum
Visitor Messages
General Information
  • Last Activity: April 18th, 2020 8:05 AM
  • Join Date: July 19th, 2017
  • Referrals: 0



Mini Statistics

Join Date
July 19th, 2017
Total Posts
Blog Entries
jbmaster21's Avatar

Recent Visitors