Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
int COPROCCESSORCOPY_1(void) {
int uVar1; //??
int iVar2; //??
int in_pc; //??
undefined4 in_cr0; //Coprocessor address 1
undefined4 in_cr1; //Coprocessor address 2
undefined4 in_cr2; //Coprocessor address 2
undefined4 in_cr6; //??
undefined4 in_cr7; //??
uVar1 = coproc_movefrom_Control(); //??
coproc_moveto_Control(uVar1 & ~DAT_00004acc); //??
coproc_moveto_Invalidate_Entire_Instruction(0); //Clear coprocessor Program memory
coproc_moveto_Invalidate_Entire_Data_cache(0); //Clear coprocessor Data Cache
coproc_moveto_Data_Synchronization(0);
coprocessor_moveto(0xf,0,0,DAT_00004ad0,in_cr6,in_cr0); //Move coprocessor to address 1
coprocessor_moveto(0xf,0,0,DAT_00004ad4,in_cr6,in_cr1); //Move coprocessor to address 2
coprocessor_moveto(0xf,0,0,DAT_00004ad8,in_cr6,in_cr2); //Move coprocessor to address 3
iVar2 = DAT_00004acc * 4; //??
SignedSaturate(in_pc >> 0x11,0x15); //??
SignedDoesSaturate(in_pc >> 0x11,0x15); //??
*(int *)(DAT_00004acc + 0x48) = (uint)*(byte *)(DAT_00004acc + 0x15); //Copy memory??
coprocessor_movefromRt(0xf,2,3,in_cr2,in_cr7); //Move coprocessor??
software_interrupt(0xd); //Trigger interrupt 0xd
return iVar2 + 0xda; //Return code as an int??
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.