Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sc39IsADev/0515f0ef45c7cf695fdd87dda5f944b1 to your computer and use it in GitHub Desktop.
Save sc39IsADev/0515f0ef45c7cf695fdd87dda5f944b1 to your computer and use it in GitHub Desktop.
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