This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#global main | |
/*int main(int argc, char** argv)*/ | |
main: | |
//save link register | |
r0 = lr; | |
*8(r1) = r0; | |
compare(lw, r3, 0); //r3 = argc; comparing a logical word (lw) | |
ifgt { // if r3 > 0... | |
r3 = *2(r4); //load memory at argv+2 into r3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace Rpl { | |
#define MYSTERY_DATA_LOC (unsigned char*)0x10049E38 | |
#define MUTEX_LOC (unknown datatype*)0x1004D294 | |
#define FIBER_LOC (unknown datatype*)0x10054CBC | |
void SwkbdCreate(unsigned char* a, nn::swkbd::RegionType b, unsigned int c, FSClient* d) { | |
OSThread* thread = OSGetCurrentThread(); | |
int stackSize = ADDZE(SRAWI(thread->stackEnd - thread->stackBase, 0xA)); //Doesn't really matter anyway | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int globalVar; //This could be anything, likely a struct? | |
//Feels like a stack pointer. | |
//unk_10098EB4 | |
void OSScreenSetBufferEx(int bufferNum, void* address) { | |
int r0 = bufferNum << 6; //32-Bit left shift | |
int* r11 = globalVar + r0; | |
int r12 = *(r11 + 0x2C); | |
*(r11 + 0x38) = address; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void (*mystery_func)(int a, int b); //Pointer, OSDynLoad? | |
void (*mystery_func2)(void*) | |
void another_mystery(void* a, void* b, int c, int d); //Built in to app | |
void possible_init_func(...); //Built in, a few bits missing | |
void yet_another_func(int possibly_not_used); | |
int ret, var1, var2, var3, var4; //var3 and var2 have not been set in this function before they are used, var4 isn't actually in memory | |
var1 = 0; //var1 might be global |
NewerOlder