jiangzhengwenjz
Usuario mítico
What's it:
(Well, I still don't know which sub-forum to post this kind of stuff in, because it's neither script & ASM nor a tutorial. Therefore, I post it here)
This hack is made with C, and the source code can be found here:
https://github.com/jiangzhengwenjz/T-card
This piece of code is for further research so I listed many unmodified functions in the ROM and you can find them in bpre.ld(offsets) and funcs.h(types).
Note: This piece of code can only be used in research, so don't use it in your hack, because it's BUGGY.
The bug I found is that the strings on the back of the card won't be shown at the first time, but the function at 0x808B3C4 is called, which calls 0x8089E40 so I really have no idea of this issue. Apparently it's caused by the Pokémon string, but how to fix it without deleting this string?
[caja=]How to use: (Be sure to have devkitarm & GNU make installed)
1. Make these byte changes
8A028: 9A
8A144: 98
3CD930: 45
3CD932: 57
3CD934: 5C
2. Create an empty folder called build and change the insert offset in linker.lsc.
3. Open the cmd prompt (or cygwin) and type in make.
4. Insert main.bin at the offset assigned in step2.
5. Change the pointers at the following offsets:
3A7360: pointer to offset of inserting main.bin + 0x71.
3CD914: pointer to offset of inserting main.bin + 0x6F1.
Example: I insert main.bin at 0x800000 so I write 71 00 80 08 and F1 06 80 08. [/caja]
Credits: Knizz, Coranac
(Well, I still don't know which sub-forum to post this kind of stuff in, because it's neither script & ASM nor a tutorial. Therefore, I post it here)
This hack is made with C, and the source code can be found here:
https://github.com/jiangzhengwenjz/T-card
This piece of code is for further research so I listed many unmodified functions in the ROM and you can find them in bpre.ld(offsets) and funcs.h(types).
Note: This piece of code can only be used in research, so don't use it in your hack, because it's BUGGY.
The bug I found is that the strings on the back of the card won't be shown at the first time, but the function at 0x808B3C4 is called, which calls 0x8089E40 so I really have no idea of this issue. Apparently it's caused by the Pokémon string, but how to fix it without deleting this string?
[caja=]How to use: (Be sure to have devkitarm & GNU make installed)
1. Make these byte changes
8A028: 9A
8A144: 98
3CD930: 45
3CD932: 57
3CD934: 5C
2. Create an empty folder called build and change the insert offset in linker.lsc.
3. Open the cmd prompt (or cygwin) and type in make.
4. Insert main.bin at the offset assigned in step2.
5. Change the pointers at the following offsets:
3A7360: pointer to offset of inserting main.bin + 0x71.
3CD914: pointer to offset of inserting main.bin + 0x6F1.
Example: I insert main.bin at 0x800000 so I write 71 00 80 08 and F1 06 80 08. [/caja]
Credits: Knizz, Coranac