daedalus/Source/OSHLE/patch_symbols.inl
2021-10-23 21:48:59 +11:00

2172 lines
75 KiB
C++

// Define to disable set of os funcs
// Useful when tracking down issues in oshle fucs
//
//#define DISABLE_CPU_FUNCTIONS
//#define DISABLE_GUFUNCS
//#define DISABLE_THREAD_FUNCS
//#define DISABLE_LLFUNCS
//#define DISABLE_CSTDFUNCS
//#define DISABLE_SP_FUNCTIONS
//#define DISABLE_MSG_FUNCTIONS
//#define DISABLE_TIMER_FUNCTIONS
//#define DISABLE_EEPROM_FUNCS
//#define DISABLE_SI_FUNCTIONS
//#define DISABLE_VI_FUNCTIONS
//#define DISABLE_AI_FUNCTIONS
//#define DISABLE_PI_FUNCTIONS
//#define DISABLE_CONT_FUNCTIONS
//#define DISABLE_TLB_FUNCTIONS
//#define DISABLE_CACHE_FUNCS
////////////////////////////////////////////////////////////
// osStartThread
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osStartThread)
PATCH_XREF_FUNCTION(4, __osDisableInt)
PATCH_XREF_VAR_HI(16, osThreadQueue)
PATCH_XREF_FUNCTION(19, __osEnqueueThread)
PATCH_XREF_VAR_LO(20, osThreadQueue)
PATCH_XREF_VAR_HI(27, osThreadQueue)
PATCH_XREF_VAR_LO(28, osThreadQueue)
PATCH_XREF_VAR_HI(33, osThreadQueue)
PATCH_XREF_FUNCTION(36, __osEnqueueThread)
PATCH_XREF_VAR_LO(37, osThreadQueue)
PATCH_XREF_FUNCTION(45, __osEnqueueThread)
PATCH_XREF_FUNCTION(48, __osPopThread)
PATCH_XREF_VAR_HI(51, osThreadQueue)
PATCH_XREF_VAR_LO(52, osThreadQueue)
PATCH_XREF_FUNCTION(53, __osEnqueueThread)
PATCH_XREF_VAR_HI(55, osActiveThread)
PATCH_XREF_VAR_LO(56, osActiveThread)
PATCH_XREF_FUNCTION(59, __osDispatchThread)
PATCH_XREF_VAR_HI(63, osActiveThread)
PATCH_XREF_VAR_HI(64, osThreadQueue)
PATCH_XREF_VAR_LO(65, osThreadQueue)
PATCH_XREF_VAR_LO(66, osActiveThread)
PATCH_XREF_VAR_HI(73, osThreadQueue)
PATCH_XREF_FUNCTION(75, __osEnqueueAndYield)
PATCH_XREF_VAR_LO(76, osThreadQueue)
PATCH_XREF_FUNCTION(77, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osStartThread)
PATCH_SIGNATURE_LIST_ENTRY(osStartThread, 84, 9, 0x7f8ccff8, 0x67467a00)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osStartThread)
////////////////////////////////////////////////////////////
// osDestroyThread
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osDestroyThread_Mario)
PATCH_XREF_FUNCTION(5, __osDisableInt)
PATCH_XREF_VAR_HI(11, osActiveThread)
PATCH_XREF_VAR_LO(12, osActiveThread)
PATCH_XREF_FUNCTION(21, __osDequeueThread)
PATCH_XREF_VAR_HI(23, osGlobalThreadList)
PATCH_XREF_VAR_LO(24, osGlobalThreadList)
PATCH_XREF_VAR_HI(29, osGlobalThreadList)
PATCH_XREF_VAR_LO(31, osGlobalThreadList)
PATCH_XREF_VAR_HI(32, osGlobalThreadList)
PATCH_XREF_VAR_LO(33, osGlobalThreadList)
PATCH_XREF_VAR_HI(47, osActiveThread)
PATCH_XREF_VAR_LO(48, osActiveThread)
PATCH_XREF_FUNCTION(52, __osDispatchThread)
PATCH_XREF_FUNCTION(54, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(osDestroyThread_Zelda)
PATCH_XREF_FUNCTION(5, __osDisableInt)
PATCH_XREF_VAR_HI(11, osActiveThread)
PATCH_XREF_VAR_LO(12, osActiveThread)
PATCH_XREF_FUNCTION(21, __osDequeueThread)
PATCH_XREF_VAR_HI(23, osGlobalThreadList)
PATCH_XREF_VAR_LO(24, osGlobalThreadList)
PATCH_XREF_VAR_HI(29, osGlobalThreadList)
PATCH_XREF_VAR_LO(31, osGlobalThreadList)
PATCH_XREF_VAR_HI(32, osGlobalThreadList)
PATCH_XREF_VAR_LO(33, osGlobalThreadList)
PATCH_XREF_VAR_HI(50, osActiveThread)
PATCH_XREF_VAR_LO(51, osActiveThread)
PATCH_XREF_FUNCTION(55, __osDispatchThread)
PATCH_XREF_FUNCTION(57, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osDestroyThread)
PATCH_SIGNATURE_LIST_ENTRY(osDestroyThread_Mario, 62, 9, 0xe987033a, 0x75132538)
PATCH_SIGNATURE_LIST_ENTRY(osDestroyThread_Zelda, 65, 9, 0xe987033a, 0x45c97cae)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osDestroyThread)
////////////////////////////////////////////////////////////
// osContInit
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osContInit)
PATCH_XREF_VAR_HI(1, osContInitialised)
PATCH_XREF_VAR_LO(2, osContInitialised)
PATCH_XREF_VAR_HI(12, osContInitialised)
PATCH_XREF_FUNCTION(13, osGetTime)
PATCH_XREF_VAR_LO(14, osContInitialised)
PATCH_XREF_VAR_HI(16, osClockRateHi)
PATCH_XREF_VAR_HI(17, osClockRateLo)
PATCH_XREF_VAR_LO(20, osClockRateLo)
PATCH_XREF_VAR_LO(21, osClockRateHi)
PATCH_XREF_FUNCTION(23, __ull_mul)
PATCH_XREF_FUNCTION(31, __ull_div)
PATCH_XREF_VAR_HI(47, osClockRateHi)
PATCH_XREF_VAR_HI(48, osClockRateLo)
PATCH_XREF_VAR_LO(49, osClockRateLo)
PATCH_XREF_VAR_LO(50, osClockRateHi)
PATCH_XREF_FUNCTION(52, __ull_mul)
PATCH_XREF_FUNCTION(60, __ull_div)
PATCH_XREF_FUNCTION(80, osSetTimer)
PATCH_XREF_FUNCTION(84, osRecvMesg)
PATCH_XREF_VAR_HI(87, osNumControllers)
PATCH_XREF_VAR_LO(88, osNumControllers)
PATCH_XREF_FUNCTION(89, __osPackRequestData)
PATCH_XREF_VAR_HI(91, osPackRequestDataBuffer)
PATCH_XREF_VAR_LO(92, osPackRequestDataBuffer)
PATCH_XREF_FUNCTION(93, __osSiRawStartDma)
PATCH_XREF_FUNCTION(98, osRecvMesg)
PATCH_XREF_VAR_HI(100, osPackRequestDataBuffer)
PATCH_XREF_VAR_LO(101, osPackRequestDataBuffer)
PATCH_XREF_FUNCTION(102, __osSiRawStartDma)
PATCH_XREF_FUNCTION(107, osRecvMesg)
PATCH_XREF_FUNCTION(110, __osContGetInitData)
PATCH_XREF_VAR_HI(113, osContInitUnk)
PATCH_XREF_FUNCTION(114, __osSiCreateAccessQueue)
PATCH_XREF_VAR_LO(115, osContInitUnk)
PATCH_XREF_VAR_HI(116, osEepromMQ)
PATCH_XREF_VAR_HI(117, osEepromMsgBuffer)
PATCH_XREF_VAR_LO(118, osEepromMsgBuffer)
PATCH_XREF_VAR_LO(119, osEepromMQ)
PATCH_XREF_FUNCTION(120, osCreateMesgQueue)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osContInit)
PATCH_SIGNATURE_LIST_ENTRY(osContInit, 127, 9, 0x437be57e, 0xa565710e)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osContInit)
////////////////////////////////////////////////////////////
// osSetIntMask
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osSetIntMask)
PATCH_XREF_VAR_HI(2, osInterruptMaskThingy)
PATCH_XREF_VAR_LO(3, osInterruptMaskThingy)
PATCH_XREF_VAR_HI(23, osDispatchThreadRCPThingamy)
PATCH_XREF_VAR_LO(25, osDispatchThreadRCPThingamy)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osSetIntMask)
PATCH_SIGNATURE_LIST_ENTRY(osSetIntMask, 40, 16, 0x688655fd, 0xac1edb28)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osSetIntMask)
////////////////////////////////////////////////////////////
// osSetTimer
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osSetTimer)
PATCH_XREF_FUNCTION(35, __osInsertTimer)
PATCH_XREF_VAR_HI(37, osTopTimer)
PATCH_XREF_VAR_LO(38, osTopTimer)
PATCH_XREF_FUNCTION(46, __osSetTimerIntr)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osSetTimer)
PATCH_SIGNATURE_LIST_ENTRY(osSetTimer, 53, 9, 0x5400912f, 0xa4f22d03)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osSetTimer)
////////////////////////////////////////////////////////////
// __osInsertTimer
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osInsertTimer)
PATCH_XREF_FUNCTION(2, __osDisableInt)
PATCH_XREF_VAR_HI(4, osTopTimer)
PATCH_XREF_VAR_LO(5, osTopTimer)
PATCH_XREF_VAR_HI(31, osTopTimer)
PATCH_XREF_VAR_LO(39, osTopTimer)
PATCH_XREF_VAR_HI(58, osTopTimer)
PATCH_XREF_VAR_LO(61, osTopTimer)
PATCH_XREF_FUNCTION(91, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osInsertTimer)
PATCH_SIGNATURE_LIST_ENTRY(__osInsertTimer, 98, 9, 0x97b901ef, 0xd84ec875)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osInsertTimer)
////////////////////////////////////////////////////////////
// osSpTaskStartGo
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osSpTaskStartGo)
PATCH_XREF_FUNCTION(2, __osSpDeviceBusy)
PATCH_XREF_FUNCTION(6, __osSpDeviceBusy)
PATCH_XREF_FUNCTION(10, __osSpSetStatus)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osSpTaskStartGo)
PATCH_SIGNATURE_LIST_ENTRY(osSpTaskStartGo, 16, 9, 0x20b4d5ac, 0xba6fc3e9)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osSpTaskStartGo)
////////////////////////////////////////////////////////////
// osSpTaskYield
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osSpTaskYield_Mario)
PATCH_XREF_FUNCTION(2, __osSpSetStatus)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(osSpTaskYield_Rugrats)
PATCH_XREF_FUNCTION(2, __osSpSetStatus)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osSpTaskYield)
PATCH_SIGNATURE_LIST_ENTRY(osSpTaskYield_Mario, 8, 9, 0x667de441, 0xc75ba905)
PATCH_SIGNATURE_LIST_ENTRY(osSpTaskYield_Rugrats, 7, 9, 0x657bdf3e, 0x2bf31753)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osSpTaskYield)
////////////////////////////////////////////////////////////
// osSpTaskYielded
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osSpTaskYielded)
PATCH_XREF_FUNCTION(2, __osSpGetStatus)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osSpTaskYielded)
PATCH_SIGNATURE_LIST_ENTRY(osSpTaskYielded, 32, 9, 0x66389aad, 0x9d6e4db8)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osSpTaskYielded)
////////////////////////////////////////////////////////////
// osSpTaskLoad
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osSpTaskLoad)
PATCH_XREF_FUNCTION(3, __osSpTaskLoadInitTask)
PATCH_XREF_FUNCTION(22, osWritebackDCache)
PATCH_XREF_FUNCTION(24, __osSpSetStatus)
PATCH_XREF_FUNCTION(27, __osSpSetPc)
PATCH_XREF_FUNCTION(33, __osSpSetPc)
PATCH_XREF_FUNCTION(42, __osSpRawStartDma)
PATCH_XREF_FUNCTION(51, __osSpRawStartDma)
PATCH_XREF_FUNCTION(56, __osSpDeviceBusy)
PATCH_XREF_FUNCTION(60, __osSpDeviceBusy)
PATCH_XREF_FUNCTION(69, __osSpRawStartDma)
PATCH_XREF_FUNCTION(79, __osSpRawStartDma)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osSpTaskLoad)
PATCH_SIGNATURE_LIST_ENTRY(osSpTaskLoad, 88, 9, 0x0fc26ac4, 0x98cea2fd)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osSpTaskLoad)
////////////////////////////////////////////////////////////
// __osSpTaskLoadInitTask
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSpTaskLoadInitTask)
PATCH_XREF_VAR_HI(1, osSpTaskLoadTempTask)
PATCH_XREF_VAR_LO(4, osSpTaskLoadTempTask)
PATCH_XREF_FUNCTION(8, bcopy)
PATCH_XREF_FUNCTION(14, osVirtualToPhysical)
PATCH_XREF_FUNCTION(22, osVirtualToPhysical)
PATCH_XREF_FUNCTION(30, osVirtualToPhysical)
PATCH_XREF_FUNCTION(38, osVirtualToPhysical)
PATCH_XREF_FUNCTION(46, osVirtualToPhysical)
PATCH_XREF_FUNCTION(54, osVirtualToPhysical)
PATCH_XREF_FUNCTION(62, osVirtualToPhysical)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSpTaskLoadInitTask)
PATCH_SIGNATURE_LIST_ENTRY(__osSpTaskLoadInitTask, 71, 9, 0xdfe0a9e5, 0x4c227799)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSpTaskLoadInitTask)
////////////////////////////////////////////////////////////
// __osSpRawStartDma
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSpRawStartDma)
PATCH_XREF_FUNCTION(5, __osSpDeviceBusy)
PATCH_XREF_FUNCTION(14, osVirtualToPhysical)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSpRawStartDma)
PATCH_SIGNATURE_LIST_ENTRY(__osSpRawStartDma, 35, 9, 0xac99ef9a, 0x73ad2920)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSpRawStartDma)
////////////////////////////////////////////////////////////
// __osSpSetStatus
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSpSetStatus_Mario)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osSpSetStatus_Rugrats)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSpSetStatus)
PATCH_SIGNATURE_LIST_ENTRY(__osSpSetStatus_Mario, 4, 15, 0x54fadc24, 0x54fadc24)
PATCH_SIGNATURE_LIST_ENTRY(__osSpSetStatus_Rugrats, 4, 15, 0x24e78877, 0x24e78877)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSpSetStatus)
////////////////////////////////////////////////////////////
// __osSpGetStatus
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSpGetStatus_Mario)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osSpGetStatus_Rugrats)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSpGetStatus)
PATCH_SIGNATURE_LIST_ENTRY(__osSpGetStatus_Mario, 4, 15, 0x4362103d, 0x4362103d)
PATCH_SIGNATURE_LIST_ENTRY(__osSpGetStatus_Rugrats, 4, 15, 0x49d30f39, 0x49d30f39)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSpGetStatus)
////////////////////////////////////////////////////////////
// __osSpSetPc
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSpSetPc)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSpSetPc)
PATCH_SIGNATURE_LIST_ENTRY(__osSpSetPc, 13, 15, 0xfb8f235e, 0xdd02ba23)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSpSetPc)
////////////////////////////////////////////////////////////
// __osSpDeviceBusy
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSpDeviceBusy_Mario)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osSpDeviceBusy_Rugrats)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSpDeviceBusy)
PATCH_SIGNATURE_LIST_ENTRY(__osSpDeviceBusy_Mario, 12, 15, 0x23bae380, 0x091f7a25)
PATCH_SIGNATURE_LIST_ENTRY(__osSpDeviceBusy_Rugrats, 6, 15, 0x254c94aa, 0xefb18f4b)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSpDeviceBusy)
////////////////////////////////////////////////////////////
// __osSiRawReadIo
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSiRawReadIo_Mario)
PATCH_XREF_FUNCTION(3, __osSiDeviceBusy)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osSiRawReadIo_Zelda)
PATCH_XREF_FUNCTION(3, __osSiDeviceBusy)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSiRawReadIo)
PATCH_SIGNATURE_LIST_ENTRY(__osSiRawReadIo_Mario, 20, 9, 0x2af9bd43, 0x2b3aaa41)
PATCH_SIGNATURE_LIST_ENTRY(__osSiRawReadIo_Zelda, 19, 9, 0x2af9bd43, 0x2e01f600)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSiRawReadIo)
////////////////////////////////////////////////////////////
// __osSiRawWriteIo
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSiRawWriteIo_Mario)
PATCH_XREF_FUNCTION(3, __osSiDeviceBusy)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osSiRawWriteIo_Zelda)
PATCH_XREF_FUNCTION(3, __osSiDeviceBusy)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSiRawWriteIo)
PATCH_SIGNATURE_LIST_ENTRY(__osSiRawWriteIo_Mario, 19, 9, 0x2af9bd43, 0x68833de2)
PATCH_SIGNATURE_LIST_ENTRY(__osSiRawWriteIo_Zelda, 18, 9, 0x2af9bd43, 0x75bb0823)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSiRawWriteIo)
////////////////////////////////////////////////////////////
// osEepromRead
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osEepromRead)
PATCH_XREF_VAR_HI(3, osEepPifBuffer)
PATCH_XREF_VAR_LO(4, osEepPifBuffer)
PATCH_XREF_FUNCTION(15, __osSiGetAccess)
PATCH_XREF_FUNCTION(18, __osEepStatus)
PATCH_XREF_FUNCTION(35, __osEepStatus)
PATCH_XREF_FUNCTION(41, __osEepromRead_Prepare)
PATCH_XREF_VAR_HI(43, osEepPifBuffer)
PATCH_XREF_VAR_LO(44, osEepPifBuffer)
PATCH_XREF_FUNCTION(45, __osSiRawStartDma)
PATCH_XREF_VAR_HI(55, osEepPifBuffer)
PATCH_XREF_VAR_LO(59, osEepPifBuffer)
PATCH_XREF_VAR_HI(64, osEepPifThingamy)
PATCH_XREF_VAR_HI(65, osEepPifBuffer)
PATCH_XREF_VAR_LO(66, osEepPifThingamy)
PATCH_XREF_VAR_LO(67, osEepPifBuffer)
PATCH_XREF_FUNCTION(68, __osSiRawStartDma)
PATCH_XREF_VAR_HI(71, osEepPifThingamy2)
PATCH_XREF_VAR_LO(73, osEepPifThingamy2)
PATCH_XREF_FUNCTION(76, osRecvMesg)
PATCH_XREF_FUNCTION(117, __osSiRelAccess)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osEepromRead)
PATCH_SIGNATURE_LIST_ENTRY(osEepromRead, 124, 9, 0x5688a930, 0xd9bb15fd)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osEepromRead)
////////////////////////////////////////////////////////////
// osEepromWrite
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osEepromWrite)
PATCH_XREF_VAR_HI(3, osEepPifBuffer)
PATCH_XREF_VAR_LO(4, osEepPifBuffer)
PATCH_XREF_FUNCTION(14, __osSiGetAccess)
PATCH_XREF_FUNCTION(17, __osEepStatus)
PATCH_XREF_FUNCTION(34, __osEepStatus)
PATCH_XREF_FUNCTION(41, __osEepromWrite_Prepare)
PATCH_XREF_VAR_HI(43, osEepPifBuffer)
PATCH_XREF_VAR_LO(44, osEepPifBuffer)
PATCH_XREF_FUNCTION(45, __osSiRawStartDma)
PATCH_XREF_FUNCTION(50, osRecvMesg)
PATCH_XREF_VAR_HI(55, osEepPifBuffer)
PATCH_XREF_VAR_LO(59, osEepPifBuffer)
PATCH_XREF_VAR_HI(64, osEepPifThingamy)
PATCH_XREF_VAR_HI(65, osEepPifBuffer)
PATCH_XREF_VAR_LO(66, osEepPifThingamy)
PATCH_XREF_VAR_LO(67, osEepPifBuffer)
PATCH_XREF_FUNCTION(68, __osSiRawStartDma)
PATCH_XREF_VAR_HI(71, osEepPifThingamy2)
PATCH_XREF_VAR_LO(73, osEepPifThingamy2)
PATCH_XREF_FUNCTION(76, osRecvMesg)
PATCH_XREF_FUNCTION(101, __osSiRelAccess)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osEepromWrite)
PATCH_SIGNATURE_LIST_ENTRY(osEepromWrite, 108, 9, 0x5688a930, 0xb3b6fcd6)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osEepromWrite)
////////////////////////////////////////////////////////////
// osEepromProbe
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osEepromProbe)
PATCH_XREF_FUNCTION(3, __osSiGetAccess)
PATCH_XREF_FUNCTION(6, __osEepStatus)
PATCH_XREF_FUNCTION(20, __osSiRelAccess)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osEepromProbe)
PATCH_SIGNATURE_LIST_ENTRY(osEepromProbe, 27, 9, 0x0fc26ac4, 0x664009b7)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osEepromProbe)
////////////////////////////////////////////////////////////
// __osEepromRead_Prepare
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osEepromRead_Prepare)
PATCH_XREF_VAR_HI(1, osEepPifBuffer)
PATCH_XREF_VAR_LO(2, osEepPifBuffer)
PATCH_XREF_VAR_HI(8, osEepPifBuffer)
PATCH_XREF_VAR_LO(12, osEepPifBuffer)
PATCH_XREF_VAR_HI(18, osEepPifThingamy)
PATCH_XREF_VAR_LO(22, osEepPifThingamy)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osEepromRead_Prepare)
PATCH_SIGNATURE_LIST_ENTRY(__osEepromRead_Prepare, 65, 9, 0xe4297c94, 0x7050ca49)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osEepromRead_Prepare)
////////////////////////////////////////////////////////////
// __osEepromWrite_Prepare
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osEepromWrite_Prepare)
PATCH_XREF_VAR_HI(1, osEepPifBuffer)
PATCH_XREF_VAR_LO(2, osEepPifBuffer)
PATCH_XREF_VAR_HI(8, osEepPifBuffer)
PATCH_XREF_VAR_LO(12, osEepPifBuffer)
PATCH_XREF_VAR_HI(18, osEepPifThingamy)
PATCH_XREF_VAR_LO(22, osEepPifThingamy)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osEepromWrite_Prepare)
PATCH_SIGNATURE_LIST_ENTRY(__osEepromWrite_Prepare, 67, 9, 0xe4297c94, 0xaf50420d)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osEepromWrite_Prepare)
////////////////////////////////////////////////////////////
// __osEepStatus
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osEepStatus)
PATCH_XREF_VAR_HI(1, osEepPifBuffer)
PATCH_XREF_VAR_LO(2, osEepPifBuffer)
PATCH_XREF_VAR_HI(11, osEepPifBuffer)
PATCH_XREF_VAR_LO(14, osEepPifBuffer)
PATCH_XREF_VAR_HI(19, osEepPifBuffer)
PATCH_XREF_VAR_HI(21, osEepPifThingamy)
PATCH_XREF_VAR_LO(22, osEepPifBuffer)
PATCH_XREF_VAR_LO(23, osEepPifThingamy)
PATCH_XREF_VAR_HI(55, osEepPifBuffer)
PATCH_XREF_VAR_LO(59, osEepPifBuffer)
PATCH_XREF_FUNCTION(66, __osSiRawStartDma)
PATCH_XREF_FUNCTION(71, osRecvMesg)
PATCH_XREF_VAR_HI(74, osEepPifThingamy2)
PATCH_XREF_VAR_HI(75, osEepPifBuffer)
PATCH_XREF_VAR_LO(76, osEepPifThingamy2)
PATCH_XREF_VAR_LO(77, osEepPifBuffer)
PATCH_XREF_FUNCTION(78, __osSiRawStartDma)
PATCH_XREF_FUNCTION(83, osRecvMesg)
PATCH_XREF_VAR_HI(90, osEepPifBuffer)
PATCH_XREF_VAR_LO(91, osEepPifBuffer)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osEepStatus)
PATCH_SIGNATURE_LIST_ENTRY(__osEepStatus, 137, 9, 0x3b5e01ec, 0x062d3a0a)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osEepStatus)
////////////////////////////////////////////////////////////
// bcopy
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(bcopy)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(bcopy)
PATCH_SIGNATURE_LIST_ENTRY(bcopy, 193, 4, 0xb9b52236, 0x0580e516)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(bcopy)
////////////////////////////////////////////////////////////
// bzero
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(bzero)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(bzero)
PATCH_SIGNATURE_LIST_ENTRY(bzero, 40, 10, 0x9fdfd8da, 0x7c92fb1b)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(bzero)
////////////////////////////////////////////////////////////
// memcpy
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(memcpy)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(memcpy)
PATCH_SIGNATURE_LIST_ENTRY(memcpy, 11, 0, 0x11e142d4, 0x3512dc6b)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(memcpy)
////////////////////////////////////////////////////////////
// strlen
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(strlen)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(strlen)
PATCH_SIGNATURE_LIST_ENTRY(strlen, 10, 36, 0xc6145c7f, 0x8dc53047)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(strlen)
////////////////////////////////////////////////////////////
// strchr
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(strchr)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(strchr)
PATCH_SIGNATURE_LIST_ENTRY(strchr, 16, 36, 0xe8c5827a, 0x9ae8a84a)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(strchr)
////////////////////////////////////////////////////////////
// strcmp
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(strcmp)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(strcmp)
PATCH_SIGNATURE_LIST_ENTRY(strcmp, 24, 21, 0x12dd5fbf, 0x2930e8ce)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(strcmp)
////////////////////////////////////////////////////////////
// __osSiCreateAccessQueue
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSiCreateAccessQueue)
PATCH_XREF_VAR_HI(3, osSiAccessQueueCreated)
PATCH_XREF_VAR_HI(4, osSiAccessQueue)
PATCH_XREF_VAR_HI(5, osSiAccessQueueBuffer)
PATCH_XREF_VAR_LO(6, osSiAccessQueueCreated)
PATCH_XREF_VAR_LO(7, osSiAccessQueueBuffer)
PATCH_XREF_VAR_LO(8, osSiAccessQueue)
PATCH_XREF_FUNCTION(9, osCreateMesgQueue)
PATCH_XREF_VAR_HI(11, osSiAccessQueue)
PATCH_XREF_VAR_LO(12, osSiAccessQueue)
PATCH_XREF_FUNCTION(14, osSendMesg)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSiCreateAccessQueue)
PATCH_SIGNATURE_LIST_ENTRY(__osSiCreateAccessQueue, 20, 9, 0x087e25a5, 0x3a628950)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSiCreateAccessQueue)
////////////////////////////////////////////////////////////
// __osSiGetAccess
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSiGetAccess)
PATCH_XREF_VAR_HI(0, osSiAccessQueueCreated)
PATCH_XREF_VAR_LO(1, osSiAccessQueueCreated)
PATCH_XREF_FUNCTION(6, __osSiCreateAccessQueue)
PATCH_XREF_VAR_HI(8, osSiAccessQueue)
PATCH_XREF_VAR_LO(9, osSiAccessQueue)
PATCH_XREF_FUNCTION(11, osRecvMesg)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSiGetAccess)
PATCH_SIGNATURE_LIST_ENTRY(__osSiGetAccess, 17, 15, 0x7593c323, 0x9cec0b4e)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSiGetAccess)
////////////////////////////////////////////////////////////
// __osSiRelAccess
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSiRelAccess)
PATCH_XREF_VAR_HI(2, osSiAccessQueue)
PATCH_XREF_VAR_LO(3, osSiAccessQueue)
PATCH_XREF_FUNCTION(5, osSendMesg)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSiRelAccess)
PATCH_SIGNATURE_LIST_ENTRY(__osSiRelAccess, 11, 9, 0x60472e46, 0x9f265393)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSiRelAccess)
////////////////////////////////////////////////////////////
// __osSiDeviceBusy
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSiDeviceBusy)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSiDeviceBusy)
PATCH_SIGNATURE_LIST_ENTRY(__osSiDeviceBusy, 11, 15, 0xa50073c4, 0x1bd8ff27)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSiDeviceBusy)
////////////////////////////////////////////////////////////
// __osSiRawStartDma
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSiRawStartDma_Mario)
PATCH_XREF_FUNCTION(3, __osSiDeviceBusy)
PATCH_XREF_FUNCTION(14, osWritebackDCache)
PATCH_XREF_FUNCTION(16, osVirtualToPhysical)
PATCH_XREF_FUNCTION(36, osInvalDCache)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osSiRawStartDma_Rugrats)
PATCH_XREF_FUNCTION(16, osWritebackDCache)
PATCH_XREF_FUNCTION(18, osVirtualToPhysical)
PATCH_XREF_FUNCTION(33, osInvalDCache)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSiRawStartDma)
PATCH_SIGNATURE_LIST_ENTRY(__osSiRawStartDma_Mario, 43, 9, 0x2af9bd43, 0x07a24c6f)
PATCH_SIGNATURE_LIST_ENTRY(__osSiRawStartDma_Rugrats, 41, 9, 0x2063fd1c, 0xa485add6)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSiRawStartDma)
////////////////////////////////////////////////////////////
// __osPackRequestData
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osPackRequestData)
PATCH_XREF_VAR_HI(5, osPackRequestDataBuffer)
PATCH_XREF_VAR_LO(8, osPackRequestDataBuffer)
PATCH_XREF_VAR_HI(13, osNumControllers)
PATCH_XREF_VAR_LO(14, osNumControllers)
PATCH_XREF_VAR_HI(15, osPackRequestDataBuffer)
PATCH_XREF_VAR_HI(17, osPackRequestDataBufferLastByte)
PATCH_XREF_VAR_LO(18, osPackRequestDataBuffer)
PATCH_XREF_VAR_LO(26, osPackRequestDataBufferLastByte)
PATCH_XREF_VAR_HI(41, osNumControllers)
PATCH_XREF_VAR_LO(48, osNumControllers)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osPackRequestData)
PATCH_SIGNATURE_LIST_ENTRY(__osPackRequestData, 61, 9, 0x730f6421, 0x3ea2daf5)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osPackRequestData)
////////////////////////////////////////////////////////////
// __osContGetInitData
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osContGetInitData)
PATCH_XREF_VAR_HI(0, osNumControllers)
PATCH_XREF_VAR_LO(1, osNumControllers)
PATCH_XREF_VAR_HI(3, osPackRequestDataBuffer)
PATCH_XREF_VAR_LO(4, osPackRequestDataBuffer)
PATCH_XREF_VAR_HI(38, osNumControllers)
PATCH_XREF_VAR_LO(39, osNumControllers)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osContGetInitData)
PATCH_SIGNATURE_LIST_ENTRY(__osContGetInitData, 52, 15, 0x9ab17da4, 0x626ad2e7)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osContGetInitData)
////////////////////////////////////////////////////////////
// __osPiCreateAccessQueue
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osPiCreateAccessQueue)
PATCH_XREF_VAR_HI(3, osPiAccessQueueCreated)
PATCH_XREF_VAR_HI(4, osPiAccessQueue)
PATCH_XREF_VAR_HI(5, osPiAccessQueueBuffer)
PATCH_XREF_VAR_LO(6, osPiAccessQueueCreated)
PATCH_XREF_VAR_LO(7, osPiAccessQueueBuffer)
PATCH_XREF_VAR_LO(8, osPiAccessQueue)
PATCH_XREF_FUNCTION(9, osCreateMesgQueue)
PATCH_XREF_VAR_HI(11, osPiAccessQueue)
PATCH_XREF_VAR_LO(12, osPiAccessQueue)
PATCH_XREF_FUNCTION(14, osSendMesg)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osPiCreateAccessQueue)
PATCH_SIGNATURE_LIST_ENTRY(__osPiCreateAccessQueue, 20, 9, 0x087e25a5, 0x3a628950)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osPiCreateAccessQueue)
////////////////////////////////////////////////////////////
// __osPiGetAccess
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osPiGetAccess)
PATCH_XREF_VAR_HI(0, osPiAccessQueueCreated)
PATCH_XREF_VAR_LO(1, osPiAccessQueueCreated)
PATCH_XREF_FUNCTION(6, __osPiCreateAccessQueue)
PATCH_XREF_VAR_HI(8, osPiAccessQueue)
PATCH_XREF_VAR_LO(9, osPiAccessQueue)
PATCH_XREF_FUNCTION(11, osRecvMesg)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osPiGetAccess)
PATCH_SIGNATURE_LIST_ENTRY(__osPiGetAccess, 17, 15, 0x7593c323, 0x9cec0b4e)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osPiGetAccess)
////////////////////////////////////////////////////////////
// __osPiRelAccess
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osPiRelAccess)
PATCH_XREF_VAR_HI(2, osPiAccessQueue)
PATCH_XREF_VAR_LO(3, osPiAccessQueue)
PATCH_XREF_FUNCTION(5, osSendMesg)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osPiRelAccess)
PATCH_SIGNATURE_LIST_ENTRY(__osPiRelAccess, 11, 9, 0x60472e46, 0x9f265393)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osPiRelAccess)
////////////////////////////////////////////////////////////
// osCreateMesgQueue
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osCreateMesgQueue_Mario)
PATCH_XREF_VAR_HI(0, osNullMsgQueue)
PATCH_XREF_VAR_HI(1, osNullMsgQueue)
PATCH_XREF_VAR_LO(2, osNullMsgQueue)
PATCH_XREF_VAR_LO(3, osNullMsgQueue)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(osCreateMesgQueue_Rugrats)
PATCH_XREF_VAR_HI(0, osNullMsgQueue)
PATCH_XREF_VAR_LO(1, osNullMsgQueue)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osCreateMesgQueue)
PATCH_SIGNATURE_LIST_ENTRY(osCreateMesgQueue_Mario, 12, 15, 0x33ccc69e, 0x5b1bd4ba)
PATCH_SIGNATURE_LIST_ENTRY(osCreateMesgQueue_Rugrats, 9, 15, 0x6a5c9a07, 0x6dcc8ef6)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osCreateMesgQueue)
////////////////////////////////////////////////////////////
// osRecvMesg
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osRecvMesg)
PATCH_XREF_FUNCTION(6, __osDisableInt)
PATCH_XREF_FUNCTION(16, __osRestoreInt)
PATCH_XREF_VAR_HI(20, osActiveThread)
PATCH_XREF_VAR_LO(21, osActiveThread)
PATCH_XREF_FUNCTION(24, __osEnqueueAndYield)
PATCH_XREF_FUNCTION(65, __osPopThread)
PATCH_XREF_FUNCTION(68, osStartThread)
PATCH_XREF_FUNCTION(70, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osRecvMesg)
PATCH_SIGNATURE_LIST_ENTRY(osRecvMesg, 78, 9, 0x2e6b775b, 0xcfe7b388)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osRecvMesg)
////////////////////////////////////////////////////////////
// osSendMesg
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osSendMesg)
PATCH_XREF_FUNCTION(7, __osDisableInt)
PATCH_XREF_VAR_HI(20, osActiveThread)
PATCH_XREF_VAR_LO(21, osActiveThread)
PATCH_XREF_FUNCTION(25, __osEnqueueAndYield)
PATCH_XREF_FUNCTION(29, __osRestoreInt)
PATCH_XREF_FUNCTION(69, __osPopThread)
PATCH_XREF_FUNCTION(72, osStartThread)
PATCH_XREF_FUNCTION(74, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osSendMesg)
PATCH_SIGNATURE_LIST_ENTRY(osSendMesg, 84, 9, 0xf6cb6f8b, 0x3a9dac5b)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osSendMesg)
////////////////////////////////////////////////////////////
// osSetEventMesg
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osSetEventMesg_Mario)
PATCH_XREF_FUNCTION(5, __osDisableInt)
PATCH_XREF_VAR_HI(8, osEventMesgArray)
PATCH_XREF_VAR_LO(10, osEventMesgArray)
PATCH_XREF_FUNCTION(19, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(osSetEventMesg_Zelda)
PATCH_XREF_FUNCTION(5, __osDisableInt)
PATCH_XREF_VAR_HI(8, osEventMesgArray)
PATCH_XREF_VAR_LO(10, osEventMesgArray)
PATCH_XREF_VAR_HI(23, osSetMesgEventUnk1)
PATCH_XREF_VAR_LO(24, osSetMesgEventUnk1)
PATCH_XREF_VAR_HI(27, osSetMesgEventUnk2)
PATCH_XREF_VAR_LO(28, osSetMesgEventUnk2)
PATCH_XREF_FUNCTION(33, osSendMesg)
PATCH_XREF_VAR_HI(36, osSetMesgEventUnk2)
PATCH_XREF_VAR_LO(37, osSetMesgEventUnk2)
PATCH_XREF_FUNCTION(38, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osSetEventMesg)
PATCH_SIGNATURE_LIST_ENTRY(osSetEventMesg_Mario, 26, 9, 0x2e6b775b, 0x4a01363e)
PATCH_SIGNATURE_LIST_ENTRY(osSetEventMesg_Zelda, 45, 9, 0x2e6b775b, 0x09f01820)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osSetEventMesg)
////////////////////////////////////////////////////////////
// __osDispatchThread
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osDispatchThread_Mario)
PATCH_XREF_VAR_HI(0, osThreadQueue)
PATCH_XREF_FUNCTION(1, __osPopThread)
PATCH_XREF_VAR_LO(2, osThreadQueue)
PATCH_XREF_VAR_HI(3, osActiveThread)
PATCH_XREF_VAR_LO(4, osActiveThread)
PATCH_XREF_VAR_HI(68, osDispatchThreadRCPThingamy)
PATCH_XREF_VAR_LO(69, osDispatchThreadRCPThingamy)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osDispatchThread_MarioKart)
PATCH_XREF_VAR_HI(0, osThreadQueue)
PATCH_XREF_FUNCTION(1, __osPopThread)
PATCH_XREF_VAR_LO(2, osThreadQueue)
PATCH_XREF_VAR_HI(3, osActiveThread)
PATCH_XREF_VAR_LO(4, osActiveThread)
PATCH_XREF_VAR_HI(8, osInterruptMaskThingy)
PATCH_XREF_VAR_LO(10, osInterruptMaskThingy)
PATCH_XREF_VAR_HI(77, osInterruptMaskThingy)
PATCH_XREF_VAR_LO(78, osInterruptMaskThingy)
PATCH_XREF_VAR_HI(83, osDispatchThreadRCPThingamy)
PATCH_XREF_VAR_LO(84, osDispatchThreadRCPThingamy)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osDispatchThread_Rugrats)
PATCH_XREF_VAR_HI(0, osThreadQueue)
PATCH_XREF_FUNCTION(1, __osPopThread)
PATCH_XREF_VAR_LO(2, osThreadQueue)
PATCH_XREF_VAR_HI(3, osActiveThread)
PATCH_XREF_VAR_LO(4, osActiveThread)
PATCH_XREF_VAR_HI(9, osInterruptMaskThingy)
PATCH_XREF_VAR_LO(10, osInterruptMaskThingy)
PATCH_XREF_VAR_HI(77, osInterruptMaskThingy)
PATCH_XREF_VAR_LO(78, osInterruptMaskThingy)
PATCH_XREF_VAR_HI(83, osDispatchThreadRCPThingamy)
PATCH_XREF_VAR_LO(84, osDispatchThreadRCPThingamy)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osDispatchThread)
PATCH_SIGNATURE_LIST_ENTRY(__osDispatchThread_Mario, 80, 15, 0x09f4f142, 0x66c5ab1a)
PATCH_SIGNATURE_LIST_ENTRY(__osDispatchThread_MarioKart, 95, 15, 0x09f4f142, 0x1d77a71e)
PATCH_SIGNATURE_LIST_ENTRY(__osDispatchThread_Rugrats, 95, 15, 0x09f4f142, 0xb8c90e75)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osDispatchThread)
////////////////////////////////////////////////////////////
// __osDequeueThread
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osDequeueThread)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osDequeueThread)
PATCH_SIGNATURE_LIST_ENTRY(__osDequeueThread, 16, 0, 0x9372f012, 0xa238df35)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osDequeueThread)
////////////////////////////////////////////////////////////
// osCreateThread
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osCreateThread_Mario)
PATCH_XREF_VAR_HI(28, osThreadDieRA)
PATCH_XREF_VAR_LO(37, osThreadDieRA)
PATCH_XREF_FUNCTION(64, __osDisableInt)
PATCH_XREF_VAR_HI(66, osGlobalThreadList)
PATCH_XREF_VAR_LO(67, osGlobalThreadList)
PATCH_XREF_VAR_HI(70, osGlobalThreadList)
PATCH_XREF_FUNCTION(74, __osRestoreInt)
PATCH_XREF_VAR_LO(75, osGlobalThreadList)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(osCreateThread_Rugrats)
PATCH_XREF_VAR_HI(5, osThreadDieRA)
PATCH_XREF_VAR_LO(6, osThreadDieRA)
PATCH_XREF_FUNCTION(39, __osDisableInt)
PATCH_XREF_VAR_HI(41, osGlobalThreadList)
PATCH_XREF_VAR_LO(42, osGlobalThreadList)
PATCH_XREF_VAR_HI(44, osGlobalThreadList)
PATCH_XREF_VAR_LO(45, osGlobalThreadList)
PATCH_XREF_FUNCTION(46, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osCreateThread)
PATCH_SIGNATURE_LIST_ENTRY(osCreateThread_Mario, 81, 9, 0x71862463, 0x40a11ef6)
PATCH_SIGNATURE_LIST_ENTRY(osCreateThread_Rugrats, 52, 9, 0x95e59b96, 0x8a7f2916)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osCreateThread)
////////////////////////////////////////////////////////////
// osSetThreadPri
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osSetThreadPri)
PATCH_XREF_FUNCTION(4, __osDisableInt)
PATCH_XREF_VAR_HI(10, osActiveThread)
PATCH_XREF_VAR_LO(11, osActiveThread)
PATCH_XREF_VAR_HI(19, osActiveThread)
PATCH_XREF_VAR_LO(20, osActiveThread)
PATCH_XREF_FUNCTION(29, __osDequeueThread)
PATCH_XREF_FUNCTION(33, __osEnqueueThread)
PATCH_XREF_VAR_HI(35, osActiveThread)
PATCH_XREF_VAR_HI(36, osThreadQueue)
PATCH_XREF_VAR_LO(37, osThreadQueue)
PATCH_XREF_VAR_LO(38, osActiveThread)
PATCH_XREF_VAR_HI(45, osThreadQueue)
PATCH_XREF_FUNCTION(47, __osEnqueueAndYield)
PATCH_XREF_VAR_LO(48, osThreadQueue)
PATCH_XREF_FUNCTION(49, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osSetThreadPri)
PATCH_SIGNATURE_LIST_ENTRY(osSetThreadPri, 56, 9, 0x2e6b775b, 0x33cf992c)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osSetThreadPri)
////////////////////////////////////////////////////////////
// osGetThreadPri
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osGetThreadPri)
PATCH_XREF_VAR_HI(2, osActiveThread)
PATCH_XREF_VAR_LO(3, osActiveThread)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osGetThreadPri)
PATCH_SIGNATURE_LIST_ENTRY(osGetThreadPri, 6, 5, 0x761f59dc, 0xe6176d0d)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osGetThreadPri)
////////////////////////////////////////////////////////////
// __osEnqueueAndYield
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osEnqueueAndYield_Mario)
PATCH_XREF_VAR_HI(0, osActiveThread)
PATCH_XREF_VAR_LO(1, osActiveThread)
PATCH_XREF_FUNCTION(32, __osEnqueueThread)
PATCH_XREF_FUNCTION(34, __osDispatchThread)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osEnqueueAndYield_MarioKart)
PATCH_XREF_VAR_HI(0, osActiveThread)
PATCH_XREF_VAR_LO(1, osActiveThread)
PATCH_XREF_VAR_HI(32, osInterruptMaskThingy)
PATCH_XREF_VAR_LO(33, osInterruptMaskThingy)
PATCH_XREF_VAR_HI(48, osInterruptMaskThingy)
PATCH_XREF_VAR_LO(49, osInterruptMaskThingy)
PATCH_XREF_FUNCTION(60, __osEnqueueThread)
PATCH_XREF_FUNCTION(62, __osDispatchThread)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osEnqueueAndYield)
PATCH_SIGNATURE_LIST_ENTRY(__osEnqueueAndYield_Mario, 36, 15, 0x734f12eb, 0xc584a2f8)
PATCH_SIGNATURE_LIST_ENTRY(__osEnqueueAndYield_MarioKart, 64, 15, 0x734f12eb, 0xc494d817)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osEnqueueAndYield)
////////////////////////////////////////////////////////////
// __osPopThread
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osPopThread)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osPopThread)
PATCH_SIGNATURE_LIST_ENTRY(__osPopThread, 4, 35, 0x8cf40658, 0x8cf40658)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osPopThread)
////////////////////////////////////////////////////////////
// __osEnqueueThread
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osEnqueueThread_Mario)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osEnqueueThread_Rugrats)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osEnqueueThread)
PATCH_SIGNATURE_LIST_ENTRY(__osEnqueueThread_Mario, 17, 35, 0xe7f50e17, 0x2a950d35)
PATCH_SIGNATURE_LIST_ENTRY(__osEnqueueThread_Rugrats, 18, 0, 0xbb87e666, 0x27ab7389)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osEnqueueThread)
////////////////////////////////////////////////////////////
// osSetTime
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osSetTime)
PATCH_XREF_VAR_HI(3, osSystemTimeHi)
PATCH_XREF_VAR_LO(5, osSystemTimeHi)
PATCH_XREF_VAR_HI(6, osSystemTimeLo)
PATCH_XREF_VAR_LO(8, osSystemTimeLo)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osSetTime)
PATCH_SIGNATURE_LIST_ENTRY(osSetTime, 9, 43, 0x8881d679, 0xacd31b7b)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osSetTime)
////////////////////////////////////////////////////////////
// osGetTime
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osGetTime)
PATCH_XREF_FUNCTION(2, __osDisableInt)
PATCH_XREF_FUNCTION(4, osGetCount)
PATCH_XREF_VAR_HI(7, osSystemCount)
PATCH_XREF_VAR_LO(8, osSystemCount)
PATCH_XREF_VAR_HI(10, osSystemTimeHi)
PATCH_XREF_VAR_HI(11, osSystemTimeLo)
PATCH_XREF_VAR_LO(12, osSystemTimeLo)
PATCH_XREF_VAR_LO(13, osSystemTimeHi)
PATCH_XREF_FUNCTION(18, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osGetTime)
PATCH_SIGNATURE_LIST_ENTRY(osGetTime, 33, 9, 0x1f290f7a, 0x5c27ab62)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osGetTime)
////////////////////////////////////////////////////////////
// __osSetTimerIntr
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSetTimerIntr)
PATCH_XREF_FUNCTION(3, __osDisableInt)
PATCH_XREF_FUNCTION(5, osGetCount)
PATCH_XREF_VAR_HI(7, osSystemLastCount)
PATCH_XREF_VAR_LO(8, osSystemLastCount)
PATCH_XREF_VAR_HI(9, osSystemLastCount)
PATCH_XREF_VAR_LO(10, osSystemLastCount)
PATCH_XREF_FUNCTION(21, __osSetCompare)
PATCH_XREF_FUNCTION(23, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSetTimerIntr)
PATCH_SIGNATURE_LIST_ENTRY(__osSetTimerIntr, 29, 9, 0x5e2cabdd, 0x3cb15718)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSetTimerIntr)
////////////////////////////////////////////////////////////
// osVirtualToPhysical
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osVirtualToPhysical_Mario)
PATCH_XREF_FUNCTION(25, __osProbeTLB)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(osVirtualToPhysical_Rugrats)
PATCH_XREF_FUNCTION(13, __osProbeTLB)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osVirtualToPhysical)
PATCH_SIGNATURE_LIST_ENTRY(osVirtualToPhysical_Mario, 31, 9, 0x4e109cd2, 0x5fcc4093)
PATCH_SIGNATURE_LIST_ENTRY(osVirtualToPhysical_Rugrats, 21, 9, 0x0de0280f, 0xb9943e6c)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osVirtualToPhysical)
////////////////////////////////////////////////////////////
// __osProbeTLB
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osProbeTLB)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osProbeTLB)
PATCH_SIGNATURE_LIST_ENTRY(__osProbeTLB, 46, 16, 0x8279ed61, 0x55ab04a3)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osProbeTLB)
////////////////////////////////////////////////////////////
// osMapTLBRdb
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osMapTLBRdb)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osMapTLBRdb)
PATCH_SIGNATURE_LIST_ENTRY(osMapTLBRdb, 22, 16, 0xab3f79c8, 0xe7e58c9c)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osMapTLBRdb)
////////////////////////////////////////////////////////////
// osMapTLB
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osMapTLB)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osMapTLB)
PATCH_SIGNATURE_LIST_ENTRY(osMapTLB, 45, 16, 0xeaef7986, 0x694fd4c3)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osMapTLB)
////////////////////////////////////////////////////////////
// osUnmapTLBAll
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osUnmapTLBAll_Mario)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(osUnmapTLBAll_Rugrats)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osUnmapTLBAll)
PATCH_SIGNATURE_LIST_ENTRY(osUnmapTLBAll_Mario, 17, 16, 0x272229e0, 0x4560a499)
PATCH_SIGNATURE_LIST_ENTRY(osUnmapTLBAll_Rugrats, 17, 16, 0xbc87658f, 0x6f10c364)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osUnmapTLBAll)
////////////////////////////////////////////////////////////
// osWritebackDCacheAll
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osWritebackDCacheAll)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osWritebackDCacheAll)
PATCH_SIGNATURE_LIST_ENTRY(osWritebackDCacheAll, 10, 15, 0xab7a075b, 0xf462714e)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osWritebackDCacheAll)
////////////////////////////////////////////////////////////
// osWritebackDCache
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osWritebackDCache_Mario)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(osWritebackDCache_Rugrats)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osWritebackDCache)
PATCH_SIGNATURE_LIST_ENTRY(osWritebackDCache_Mario, 29, 6, 0xa10f5ae9, 0x3575328f)
PATCH_SIGNATURE_LIST_ENTRY(osWritebackDCache_Rugrats, 29, 6, 0xa10f5ae9, 0x153cd45b)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osWritebackDCache)
////////////////////////////////////////////////////////////
// osInvalDCache
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osInvalDCache_Mario)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(osInvalDCache_Rugrats)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osInvalDCache)
PATCH_SIGNATURE_LIST_ENTRY(osInvalDCache_Mario, 43, 6, 0x818dac42, 0x6b4a048a)
PATCH_SIGNATURE_LIST_ENTRY(osInvalDCache_Rugrats, 44, 6, 0xfe7f8e9b, 0x83faa077)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osInvalDCache)
////////////////////////////////////////////////////////////
// osInvalICache
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osInvalICache_Mario)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(osInvalICache_Rugrats)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osInvalICache)
PATCH_SIGNATURE_LIST_ENTRY(osInvalICache_Mario, 29, 6, 0x2ab9160c, 0xc660b068)
PATCH_SIGNATURE_LIST_ENTRY(osInvalICache_Rugrats, 29, 6, 0x2ab9160c, 0xe62956bc)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osInvalICache)
////////////////////////////////////////////////////////////
// osViSetEvent
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osViSetEvent)
PATCH_XREF_FUNCTION(5, __osDisableInt)
PATCH_XREF_VAR_HI(7, osViSetModeGubbins)
PATCH_XREF_VAR_LO(8, osViSetModeGubbins)
PATCH_XREF_VAR_HI(10, osViSetModeGubbins)
PATCH_XREF_VAR_HI(11, osViSetModeGubbins)
PATCH_XREF_VAR_LO(13, osViSetModeGubbins)
PATCH_XREF_VAR_LO(18, osViSetModeGubbins)
PATCH_XREF_FUNCTION(20, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osViSetEvent)
PATCH_SIGNATURE_LIST_ENTRY(osViSetEvent, 27, 9, 0x2e6b775b, 0x874ca31b)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osViSetEvent)
////////////////////////////////////////////////////////////
// osViSetMode
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osViSetMode)
PATCH_XREF_FUNCTION(3, __osDisableInt)
PATCH_XREF_VAR_HI(5, osViSetModeGubbins)
PATCH_XREF_VAR_LO(6, osViSetModeGubbins)
PATCH_XREF_VAR_HI(8, osViSetModeGubbins)
PATCH_XREF_VAR_LO(11, osViSetModeGubbins)
PATCH_XREF_VAR_HI(12, osViSetModeGubbins)
PATCH_XREF_VAR_LO(15, osViSetModeGubbins)
PATCH_XREF_FUNCTION(19, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osViSetMode)
PATCH_SIGNATURE_LIST_ENTRY(osViSetMode, 26, 9, 0x5820dd23, 0xea2b91fb)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osViSetMode)
////////////////////////////////////////////////////////////
// osViBlack
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osViBlack)
PATCH_XREF_FUNCTION(3, __osDisableInt)
PATCH_XREF_VAR_HI(9, osViSetModeGubbins)
PATCH_XREF_VAR_LO(10, osViSetModeGubbins)
PATCH_XREF_VAR_HI(15, osViSetModeGubbins)
PATCH_XREF_VAR_LO(16, osViSetModeGubbins)
PATCH_XREF_FUNCTION(21, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osViBlack)
PATCH_SIGNATURE_LIST_ENTRY(osViBlack, 28, 9, 0x5820dd23, 0x2615a092)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osViBlack)
////////////////////////////////////////////////////////////
// osViSwapBuffer
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osViSwapBuffer)
PATCH_XREF_FUNCTION(2, __osDisableInt)
PATCH_XREF_VAR_HI(4, osViSetModeGubbins)
PATCH_XREF_VAR_LO(5, osViSetModeGubbins)
PATCH_XREF_VAR_HI(8, osViSetModeGubbins)
PATCH_XREF_VAR_LO(10, osViSetModeGubbins)
PATCH_XREF_FUNCTION(14, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osViSwapBuffer)
PATCH_SIGNATURE_LIST_ENTRY(osViSwapBuffer, 20, 9, 0x66389aad, 0xd116472a)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osViSwapBuffer)
////////////////////////////////////////////////////////////
// osAiGetLength
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osAiGetLength)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osAiGetLength)
PATCH_SIGNATURE_LIST_ENTRY(osAiGetLength, 4, 15, 0xa7fbab0f, 0xa7fbab0f)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osAiGetLength)
////////////////////////////////////////////////////////////
// __osAiDeviceBusy
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osAiDeviceBusy)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osAiDeviceBusy)
PATCH_SIGNATURE_LIST_ENTRY(__osAiDeviceBusy, 12, 15, 0xf3702e8a, 0xd49d742f)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osAiDeviceBusy)
////////////////////////////////////////////////////////////
// osAiSetNextBuffer
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osAiSetNextBuffer)
PATCH_XREF_VAR_HI(1, osAiSetNextBufferThingy)
PATCH_XREF_VAR_LO(2, osAiSetNextBufferThingy)
PATCH_XREF_VAR_HI(19, osAiSetNextBufferThingy)
PATCH_XREF_VAR_LO(21, osAiSetNextBufferThingy)
PATCH_XREF_VAR_HI(22, osAiSetNextBufferThingy)
PATCH_XREF_VAR_LO(23, osAiSetNextBufferThingy)
PATCH_XREF_FUNCTION(24, __osAiDeviceBusy)
PATCH_XREF_FUNCTION(30, osVirtualToPhysical)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osAiSetNextBuffer)
PATCH_SIGNATURE_LIST_ENTRY(osAiSetNextBuffer, 42, 9, 0xda4cf31a, 0x682588aa)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osAiSetNextBuffer)
////////////////////////////////////////////////////////////
// __osGetCause
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osGetCause)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osGetCause)
PATCH_SIGNATURE_LIST_ENTRY(__osGetCause, 3, 16, 0xc9a418cf, 0xc9a418cf)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osGetCause)
////////////////////////////////////////////////////////////
// __osDisableInt
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osDisableInt_Mario)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osDisableInt_Zelda)
PATCH_XREF_VAR_HI(0, osInterruptMaskThingy)
PATCH_XREF_VAR_LO(1, osInterruptMaskThingy)
PATCH_XREF_VAR_HI(12, osActiveThread)
PATCH_XREF_VAR_LO(13, osActiveThread)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osDisableInt)
PATCH_SIGNATURE_LIST_ENTRY(__osDisableInt_Mario, 8, 16, 0x8fa7930f, 0xc2e1ff4b)
PATCH_SIGNATURE_LIST_ENTRY(__osDisableInt_Zelda, 28, 15, 0xa7179da8, 0xcee25777)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osDisableInt)
////////////////////////////////////////////////////////////
// __osRestoreInt
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osRestoreInt)
PATCH_SIGNATURE_LIST_ENTRY(__osRestoreInt, 7, 16, 0x49bd020c, 0xad8bfd1d)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osRestoreInt)
////////////////////////////////////////////////////////////
// __osAtomicDec
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osAtomicDec)
PATCH_XREF_FUNCTION(2, __osDisableInt)
PATCH_XREF_FUNCTION(15, __osRestoreInt)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osAtomicDec)
PATCH_SIGNATURE_LIST_ENTRY(__osAtomicDec, 22, 9, 0x66389aad, 0xc470beb2)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osAtomicDec)
////////////////////////////////////////////////////////////
// __osSetFpcCsr
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSetFpcCsr)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSetFpcCsr)
PATCH_SIGNATURE_LIST_ENTRY(__osSetFpcCsr, 4, 17, 0xf52165ba, 0xf52165ba)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSetFpcCsr)
////////////////////////////////////////////////////////////
// __osSetCompare
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSetCompare)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSetCompare)
PATCH_SIGNATURE_LIST_ENTRY(__osSetCompare, 3, 16, 0x0ad52a95, 0x0ad52a95)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSetCompare)
////////////////////////////////////////////////////////////
// osGetCount
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osGetCount)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osGetCount)
PATCH_SIGNATURE_LIST_ENTRY(osGetCount, 3, 16, 0x4f389718, 0x4f389718)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osGetCount)
////////////////////////////////////////////////////////////
// __osSetSR
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osSetSR)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osSetSR)
PATCH_SIGNATURE_LIST_ENTRY(__osSetSR, 4, 16, 0x0bd68503, 0x0bd68503)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osSetSR)
////////////////////////////////////////////////////////////
// __osGetSR
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osGetSR)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osGetSR)
PATCH_SIGNATURE_LIST_ENTRY(__osGetSR, 3, 16, 0x7367f98a, 0x7367f98a)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osGetSR)
////////////////////////////////////////////////////////////
// __ull_rshift
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__ull_rshift)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__ull_rshift)
PATCH_SIGNATURE_LIST_ENTRY(__ull_rshift, 11, 43, 0xfb20959a, 0xd53fbeaa)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__ull_rshift)
////////////////////////////////////////////////////////////
// __ull_div
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__ull_div)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__ull_div)
PATCH_SIGNATURE_LIST_ENTRY(__ull_div, 15, 43, 0xfb20959a, 0x1fc4e322)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__ull_div)
////////////////////////////////////////////////////////////
// __ll_lshift
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__ll_lshift)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__ll_lshift)
PATCH_SIGNATURE_LIST_ENTRY(__ll_lshift, 11, 43, 0xfb20959a, 0x1ff1c826)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__ll_lshift)
////////////////////////////////////////////////////////////
// __ull_rem
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__ull_rem)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__ull_rem)
PATCH_SIGNATURE_LIST_ENTRY(__ull_rem, 15, 43, 0xfb20959a, 0xd50a95ae)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__ull_rem)
////////////////////////////////////////////////////////////
// __ll_div
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__ll_div)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__ll_div)
PATCH_SIGNATURE_LIST_ENTRY(__ll_div, 23, 43, 0xfb20959a, 0xf4f7fb03)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__ll_div)
////////////////////////////////////////////////////////////
// __ull_mul
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__ull_mul)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__ull_mul)
PATCH_SIGNATURE_LIST_ENTRY(__ull_mul, 12, 43, 0xfb20959a, 0x2e2b7b73)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__ull_mul)
////////////////////////////////////////////////////////////
// __ull_divremi
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__ull_divremi)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__ull_divremi)
PATCH_SIGNATURE_LIST_ENTRY(__ull_divremi, 24, 33, 0x936c5bed, 0x12b381a8)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__ull_divremi)
////////////////////////////////////////////////////////////
// __ll_mod
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__ll_mod)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__ll_mod)
PATCH_SIGNATURE_LIST_ENTRY(__ll_mod, 39, 9, 0xceb40b69, 0x224b83e0)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__ll_mod)
////////////////////////////////////////////////////////////
// __ll_rshift
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__ll_rshift)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__ll_rshift)
PATCH_SIGNATURE_LIST_ENTRY(__ll_rshift, 11, 43, 0xfb20959a, 0xb05885ec)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__ll_rshift)
////////////////////////////////////////////////////////////
// __lldiv
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__lldiv)
PATCH_XREF_FUNCTION(8, __ll_div)
PATCH_XREF_FUNCTION(15, __ull_mul)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__lldiv)
PATCH_SIGNATURE_LIST_ENTRY(__lldiv, 64, 9, 0xd0282313, 0x4a9550af)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__lldiv)
////////////////////////////////////////////////////////////
// __ldiv
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__ldiv)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__ldiv)
PATCH_SIGNATURE_LIST_ENTRY(__ldiv, 33, 0, 0x160bd90b, 0x7e26414c)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__ldiv)
////////////////////////////////////////////////////////////
// __osTimerServicesInit
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(__osTimerServicesInit_Mario)
PATCH_XREF_VAR_HI(0, osSystemTimeHi)
PATCH_XREF_VAR_LO(3, osSystemTimeLo)
PATCH_XREF_VAR_LO(4, osSystemTimeHi)
PATCH_XREF_VAR_HI(5, osSystemCount)
PATCH_XREF_VAR_HI(6, osTopTimer)
PATCH_XREF_VAR_LO(7, osTopTimer)
PATCH_XREF_VAR_LO(8, osSystemCount)
PATCH_XREF_VAR_HI(9, osFrameCount)
PATCH_XREF_VAR_LO(10, osFrameCount)
PATCH_XREF_VAR_HI(11, osTopTimer)
PATCH_XREF_VAR_LO(13, osTopTimer)
PATCH_XREF_VAR_HI(14, osTopTimer)
PATCH_XREF_VAR_HI(18, osTopTimer)
PATCH_XREF_VAR_LO(20, osTopTimer)
PATCH_XREF_VAR_HI(21, osTopTimer)
PATCH_XREF_VAR_HI(22, osTopTimer)
PATCH_XREF_VAR_LO(25, osTopTimer)
PATCH_XREF_VAR_LO(30, osTopTimer) // buggy, breaks Killer Instinct
PATCH_XREF_VAR_LO(32, osTopTimer)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(__osTimerServicesInit_Rugrats)
PATCH_XREF_VAR_HI(0, osTopTimer)
PATCH_XREF_VAR_LO(1, osTopTimer)
PATCH_XREF_VAR_HI(4, osSystemTimeHi)
PATCH_XREF_VAR_LO(5, osSystemTimeHi)
PATCH_XREF_VAR_HI(6, osSystemTimeLo)
PATCH_XREF_VAR_LO(7, osSystemTimeLo)
PATCH_XREF_VAR_HI(8, osSystemCount)
PATCH_XREF_VAR_LO(9, osSystemCount)
PATCH_XREF_VAR_HI(10, osFrameCount)
PATCH_XREF_VAR_LO(11, osFrameCount)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(__osTimerServicesInit)
PATCH_SIGNATURE_LIST_ENTRY(__osTimerServicesInit_Mario, 35, 15, 0x25c8f154, 0x02794387)
PATCH_SIGNATURE_LIST_ENTRY(__osTimerServicesInit_Rugrats, 21, 15, 0x5e897bbd, 0x7be63a06)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(__osTimerServicesInit)
////////////////////////////////////////////////////////////
// guRotateF
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guRotateF)
PATCH_XREF_VAR_HI(1, osRotateFUnk1)
PATCH_XREF_VAR_LO(2, osRotateFUnk1)
PATCH_XREF_VAR_HI(5, osRotateFUnk2)
PATCH_XREF_FUNCTION(13, guNormalize)
PATCH_XREF_VAR_LO(14, osRotateFUnk2)
PATCH_XREF_VAR_HI(15, osRotateFUnk2)
PATCH_XREF_VAR_LO(17, osRotateFUnk2)
PATCH_XREF_FUNCTION(19, sinf)
PATCH_XREF_FUNCTION(22, cosf)
PATCH_XREF_FUNCTION(42, guMtxIdentF)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guRotateF)
PATCH_SIGNATURE_LIST_ENTRY(guRotateF, 101, 9, 0x30448e4c, 0xb78e753d)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guRotateF)
////////////////////////////////////////////////////////////
// guTranslateF
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guTranslateF)
PATCH_XREF_FUNCTION(5, guMtxIdentF)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guTranslateF)
PATCH_SIGNATURE_LIST_ENTRY(guTranslateF, 18, 9, 0x725f261f, 0xb9b1614a)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guTranslateF)
////////////////////////////////////////////////////////////
// guTranslate
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guTranslate)
PATCH_XREF_FUNCTION(6, guMtxIdentF)
PATCH_XREF_FUNCTION(15, guMtxF2L)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guTranslate)
PATCH_SIGNATURE_LIST_ENTRY(guTranslate, 21, 9, 0xb4906d8f, 0xb7aae154)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guTranslate)
////////////////////////////////////////////////////////////
// guScaleF
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guScaleF)
PATCH_XREF_FUNCTION(5, guMtxIdentF)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guScaleF)
PATCH_SIGNATURE_LIST_ENTRY(guScaleF, 21, 9, 0x725f261f, 0x702c46fc)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guScaleF)
////////////////////////////////////////////////////////////
// guScale
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guScale)
PATCH_XREF_FUNCTION(9, guScaleF)
PATCH_XREF_FUNCTION(12, guMtxF2L)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guScale)
PATCH_SIGNATURE_LIST_ENTRY(guScale, 18, 17, 0xa6d05d38, 0xb2b9e45d)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guScale)
////////////////////////////////////////////////////////////
// guMtxIdentF
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guMtxIdentF)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guMtxIdentF)
PATCH_SIGNATURE_LIST_ENTRY(guMtxIdentF, 34, 15, 0x748c766e, 0x33a242c6)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guMtxIdentF)
////////////////////////////////////////////////////////////
// guMtxIdent
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guMtxIdent)
PATCH_XREF_FUNCTION(3, guMtxIdentF)
PATCH_XREF_FUNCTION(6, guMtxF2L)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guMtxIdent)
PATCH_SIGNATURE_LIST_ENTRY(guMtxIdent, 12, 9, 0x2d1a8954, 0x85a7c28b)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guMtxIdent)
////////////////////////////////////////////////////////////
// guNormalize
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guNormalize_Mario)
PATCH_XREF_FUNCTION(12, sqrtf)
END_PATCH_XREFS()
BEGIN_PATCH_XREFS(guNormalize_Rugrats)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guNormalize)
PATCH_SIGNATURE_LIST_ENTRY(guNormalize_Mario, 33, 9, 0x1f8bec4f, 0x2211764d)
PATCH_SIGNATURE_LIST_ENTRY(guNormalize_Rugrats, 18, 49, 0x5b383db0, 0x54f835c8)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guNormalize)
////////////////////////////////////////////////////////////
// guMtxF2L
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guMtxF2L)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guMtxF2L)
PATCH_SIGNATURE_LIST_ENTRY(guMtxF2L, 64, 15, 0xbd861287, 0xfa43fa1d)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guMtxF2L)
////////////////////////////////////////////////////////////
// sqrtf
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(sqrtf)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(sqrtf)
PATCH_SIGNATURE_LIST_ENTRY(sqrtf, 2, 0, 0xbf291d5c, 0xbf291d5c)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(sqrtf)
////////////////////////////////////////////////////////////
// sinf
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(sinf)
PATCH_XREF_VAR_HI(12, osSinfUnk1)
PATCH_XREF_VAR_LO(13, osSinfUnk1)
PATCH_XREF_VAR_HI(36, osSinfUnk2)
PATCH_XREF_VAR_LO(37, osSinfUnk2)
PATCH_XREF_VAR_HI(64, osSinfUnk3)
PATCH_XREF_VAR_LO(65, osSinfUnk3)
PATCH_XREF_VAR_HI(67, osSinfUnk4)
PATCH_XREF_VAR_LO(68, osSinfUnk4)
PATCH_XREF_VAR_HI(69, osSinfUnk1)
PATCH_XREF_VAR_LO(70, osSinfUnk1)
PATCH_XREF_VAR_HI(103, osSinfUnk5)
PATCH_XREF_VAR_HI(106, osSinfUnk6)
PATCH_XREF_VAR_LO(108, osSinfUnk6)
PATCH_XREF_VAR_LO(109, osSinfUnk5)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(sinf)
PATCH_SIGNATURE_LIST_ENTRY(sinf, 112, 57, 0x4f6e8d66, 0x6108ee5c)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(sinf)
////////////////////////////////////////////////////////////
// cosf
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(cosf)
PATCH_XREF_VAR_HI(14, osCosfUnk1)
PATCH_XREF_VAR_LO(20, osCosfUnk1)
PATCH_XREF_VAR_HI(41, osCosfUnk2)
PATCH_XREF_VAR_LO(42, osCosfUnk2)
PATCH_XREF_VAR_HI(44, osCosfUnk3)
PATCH_XREF_VAR_LO(45, osCosfUnk3)
PATCH_XREF_VAR_HI(46, osCosfUnk4)
PATCH_XREF_VAR_LO(47, osCosfUnk4)
PATCH_XREF_VAR_HI(81, osCosfUnk5)
PATCH_XREF_VAR_HI(84, osCosfUnk6)
PATCH_XREF_VAR_LO(86, osCosfUnk6)
PATCH_XREF_VAR_LO(87, osCosfUnk5)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(cosf)
PATCH_SIGNATURE_LIST_ENTRY(cosf, 90, 57, 0x8a6a6469, 0x0c20b1cf)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(cosf)
////////////////////////////////////////////////////////////
// guOrthoF
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guOrthoF)
PATCH_XREF_FUNCTION(5, guMtxIdentF)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guOrthoF)
PATCH_SIGNATURE_LIST_ENTRY(guOrthoF, 85, 9, 0x725f261f, 0x4b90e514)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guOrthoF)
////////////////////////////////////////////////////////////
// guOrtho
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(guOrtho)
PATCH_XREF_FUNCTION(17, guOrthoF)
PATCH_XREF_FUNCTION(20, guMtxF2L)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(guOrtho)
PATCH_SIGNATURE_LIST_ENTRY(guOrtho, 26, 9, 0xd64137ce, 0x0cca6627)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(guOrtho)
////////////////////////////////////////////////////////////
// osPiRawStartDma
////////////////////////////////////////////////////////////
BEGIN_PATCH_XREFS(osPiRawStartDma)
PATCH_XREF_FUNCTION(18, osVirtualToPhysical)
END_PATCH_XREFS()
BEGIN_PATCH_SIGNATURE_LIST(osPiRawStartDma)
PATCH_SIGNATURE_LIST_ENTRY(osPiRawStartDma, 56, 9, 0x2e6b775b, 0x631ca293)
END_PATCH_SIGNATURE_LIST()
PATCH_SYMBOL_FUNCTION(osPiRawStartDma)
PATCH_SYMBOL_VARIABLE(osSystemTimeHi)
PATCH_SYMBOL_VARIABLE(osSystemTimeLo)
PATCH_SYMBOL_VARIABLE(osSystemCount)
PATCH_SYMBOL_VARIABLE(osFrameCount)
PATCH_SYMBOL_VARIABLE(osSystemLastCount)
PATCH_SYMBOL_VARIABLE(osNullMsgQueue)
PATCH_SYMBOL_VARIABLE(osThreadQueue)
PATCH_SYMBOL_VARIABLE(osActiveThread)
PATCH_SYMBOL_VARIABLE(osEventMesgArray)
PATCH_SYMBOL_VARIABLE(osThreadDieRA)
PATCH_SYMBOL_VARIABLE(osGlobalThreadList)
PATCH_SYMBOL_VARIABLE(osDispatchThreadRCPThingamy)
PATCH_SYMBOL_VARIABLE(osInterruptMaskThingy)
PATCH_SYMBOL_VARIABLE(osEepPifBuffer)
PATCH_SYMBOL_VARIABLE(osEepPifThingamy)
PATCH_SYMBOL_VARIABLE(osEepPifThingamy2)
PATCH_SYMBOL_VARIABLE(osAiSetNextBufferThingy)
PATCH_SYMBOL_VARIABLE(osPiAccessQueueCreated)
PATCH_SYMBOL_VARIABLE(osPiAccessQueueBuffer)
PATCH_SYMBOL_VARIABLE(osPiAccessQueue)
PATCH_SYMBOL_VARIABLE(osSiAccessQueueCreated)
PATCH_SYMBOL_VARIABLE(osSiAccessQueueBuffer)
PATCH_SYMBOL_VARIABLE(osSiAccessQueue)
PATCH_SYMBOL_VARIABLE(osSpTaskLoadTempTask)
PATCH_SYMBOL_VARIABLE(osViSetModeGubbins)
PATCH_SYMBOL_VARIABLE(osPackRequestDataBuffer)
PATCH_SYMBOL_VARIABLE(osPackRequestDataBufferLastByte)
PATCH_SYMBOL_VARIABLE(osNumControllers)
PATCH_SYMBOL_VARIABLE(osContInitialised)
PATCH_SYMBOL_VARIABLE(osClockRateHi)
PATCH_SYMBOL_VARIABLE(osClockRateLo)
PATCH_SYMBOL_VARIABLE(osContInitUnk)
PATCH_SYMBOL_VARIABLE(osEepromMQ)
PATCH_SYMBOL_VARIABLE(osEepromMsgBuffer)
PATCH_SYMBOL_VARIABLE(osTopTimer)
PATCH_SYMBOL_VARIABLE(osCosfUnk1)
PATCH_SYMBOL_VARIABLE(osCosfUnk2)
PATCH_SYMBOL_VARIABLE(osCosfUnk3)
PATCH_SYMBOL_VARIABLE(osCosfUnk4)
PATCH_SYMBOL_VARIABLE(osCosfUnk5)
PATCH_SYMBOL_VARIABLE(osCosfUnk6)
PATCH_SYMBOL_VARIABLE(osSinfUnk1)
PATCH_SYMBOL_VARIABLE(osSinfUnk2)
PATCH_SYMBOL_VARIABLE(osSinfUnk3)
PATCH_SYMBOL_VARIABLE(osSinfUnk4)
PATCH_SYMBOL_VARIABLE(osSinfUnk5)
PATCH_SYMBOL_VARIABLE(osSinfUnk6)
PATCH_SYMBOL_VARIABLE(osRotateFUnk1)
PATCH_SYMBOL_VARIABLE(osRotateFUnk2)
PATCH_SYMBOL_VARIABLE(osSetMesgEventUnk1)
PATCH_SYMBOL_VARIABLE(osSetMesgEventUnk2)
BEGIN_PATCH_SYMBOL_TABLE(g_PatchSymbols)
// OSHLE Patches Start here
#ifndef DISABLE_THREAD_FUNCS
PATCH_FUNCTION_ENTRY(osStartThread)
PATCH_FUNCTION_ENTRY(osDestroyThread)
PATCH_FUNCTION_ENTRY(__osDispatchThread)
PATCH_FUNCTION_ENTRY(__osDequeueThread)
PATCH_FUNCTION_ENTRY(osCreateThread)
//PATCH_FUNCTION_ENTRY(osSetThreadPri)
PATCH_FUNCTION_ENTRY(osGetThreadPri)
PATCH_FUNCTION_ENTRY(__osEnqueueAndYield)
PATCH_FUNCTION_ENTRY(__osPopThread)
PATCH_FUNCTION_ENTRY(__osEnqueueThread)
#endif
#ifndef DISABLE_SP_FUNCTIONS
PATCH_FUNCTION_ENTRY(osSpTaskStartGo)
PATCH_FUNCTION_ENTRY(osSpTaskYield)
PATCH_FUNCTION_ENTRY(osSpTaskYielded)
PATCH_FUNCTION_ENTRY(osSpTaskLoad)
//PATCH_FUNCTION_ENTRY(__osSpTaskLoadInitTask)
PATCH_FUNCTION_ENTRY(__osSpRawStartDma)
PATCH_FUNCTION_ENTRY(__osSpSetStatus)
PATCH_FUNCTION_ENTRY(__osSpGetStatus)
PATCH_FUNCTION_ENTRY(__osSpSetPc)
PATCH_FUNCTION_ENTRY(__osSpDeviceBusy)
#endif
#ifndef DISABLE_CACHE_FUNCS
PATCH_FUNCTION_ENTRY(osWritebackDCacheAll)
PATCH_FUNCTION_ENTRY(osWritebackDCache)
PATCH_FUNCTION_ENTRY(osInvalDCache)
PATCH_FUNCTION_ENTRY(osInvalICache)
#endif
#ifndef DISABLE_TLB_FUNCTIONS
PATCH_FUNCTION_ENTRY(osVirtualToPhysical)
PATCH_FUNCTION_ENTRY(__osProbeTLB)
//PATCH_FUNCTION_ENTRY(osMapTLBRdb)
//PATCH_FUNCTION_ENTRY(osMapTLB)
//PATCH_FUNCTION_ENTRY(osUnmapTLBAll)
#endif
#ifndef DISABLE_CONT_FUNCTIONS
//PATCH_FUNCTION_ENTRY(__osPackRequestData)
//PATCH_FUNCTION_ENTRY(__osContGetInitData)
//PATCH_FUNCTION_ENTRY(osContInit)
#endif
#ifndef DISABLE_EEPROM_FUNCS
//PATCH_FUNCTION_ENTRY(osEepromRead)
//PATCH_FUNCTION_ENTRY(osEepromWrite)
PATCH_FUNCTION_ENTRY(osEepromProbe)
//PATCH_FUNCTION_ENTRY(__osEepromRead_Prepare)
//PATCH_FUNCTION_ENTRY(__osEepromWrite_Prepare)
PATCH_FUNCTION_ENTRY(__osEepStatus)
#endif
#ifndef DISABLE_PI_FUNCTIONS
PATCH_FUNCTION_ENTRY(__osPiCreateAccessQueue)
PATCH_FUNCTION_ENTRY(__osPiGetAccess)
PATCH_FUNCTION_ENTRY(__osPiRelAccess)
PATCH_FUNCTION_ENTRY(osPiRawStartDma)
#endif
#ifndef DISABLE_SI_FUNCTIONS
PATCH_FUNCTION_ENTRY(__osSiRawReadIo)
PATCH_FUNCTION_ENTRY(__osSiRawWriteIo)
PATCH_FUNCTION_ENTRY(__osSiCreateAccessQueue)
PATCH_FUNCTION_ENTRY(__osSiGetAccess)
PATCH_FUNCTION_ENTRY(__osSiRelAccess)
PATCH_FUNCTION_ENTRY(__osSiDeviceBusy)
PATCH_FUNCTION_ENTRY(__osSiRawStartDma)
#endif
#ifndef DISABLE_VI_FUNCTIONS
//PATCH_FUNCTION_ENTRY(osViSetEvent)
//PATCH_FUNCTION_ENTRY(osViSetMode)
//PATCH_FUNCTION_ENTRY(osViBlack)
PATCH_FUNCTION_ENTRY(osViSwapBuffer)
#endif
#ifndef DISABLE_AI_FUNCTIONS
PATCH_FUNCTION_ENTRY(osAiGetLength)
PATCH_FUNCTION_ENTRY(__osAiDeviceBusy)
PATCH_FUNCTION_ENTRY(osAiSetNextBuffer)
#endif
#ifndef DISABLE_MSG_FUNCTIONS
PATCH_FUNCTION_ENTRY(osCreateMesgQueue)
PATCH_FUNCTION_ENTRY(osRecvMesg)
PATCH_FUNCTION_ENTRY(osSendMesg)
PATCH_FUNCTION_ENTRY(osSetEventMesg)
#endif
#ifndef DISABLE_CPU_FUNCTIONS
PATCH_FUNCTION_ENTRY(__osGetCause)
PATCH_FUNCTION_ENTRY(__osDisableInt)
PATCH_FUNCTION_ENTRY(__osRestoreInt)
PATCH_FUNCTION_ENTRY(__osAtomicDec)
PATCH_FUNCTION_ENTRY(__osSetFpcCsr)
PATCH_FUNCTION_ENTRY(__osSetCompare)
PATCH_FUNCTION_ENTRY(osGetCount)
PATCH_FUNCTION_ENTRY(__osSetSR)
PATCH_FUNCTION_ENTRY(__osGetSR)
//PATCH_FUNCTION_ENTRY(osSetIntMask)
#endif
#ifndef DISABLE_TIMER_FUNCTIONS
PATCH_FUNCTION_ENTRY(__osTimerServicesInit)
PATCH_FUNCTION_ENTRY(osSetTime)
PATCH_FUNCTION_ENTRY(osGetTime)
PATCH_FUNCTION_ENTRY(__osSetTimerIntr)
//PATCH_FUNCTION_ENTRY(osSetTimer)
PATCH_FUNCTION_ENTRY(__osInsertTimer)
#endif
#ifndef DISABLE_CSTDFUNCS
PATCH_FUNCTION_ENTRY(bcopy)
PATCH_FUNCTION_ENTRY(bzero)
PATCH_FUNCTION_ENTRY(memcpy)
PATCH_FUNCTION_ENTRY(strlen)
PATCH_FUNCTION_ENTRY(strchr)
PATCH_FUNCTION_ENTRY(strcmp)
#endif
#ifndef DISABLE_LLFUNCS
PATCH_FUNCTION_ENTRY(__ull_rshift)
PATCH_FUNCTION_ENTRY(__ull_div)
PATCH_FUNCTION_ENTRY(__ll_lshift)
PATCH_FUNCTION_ENTRY(__ull_rem)
PATCH_FUNCTION_ENTRY(__ll_div)
PATCH_FUNCTION_ENTRY(__ull_mul)
//PATCH_FUNCTION_ENTRY(__ull_divremi) // Is not implemented anyways
PATCH_FUNCTION_ENTRY(__ll_mod)
PATCH_FUNCTION_ENTRY(__ll_rshift)
//PATCH_FUNCTION_ENTRY(__lldiv)
//PATCH_FUNCTION_ENTRY(__ldiv)
#endif
#ifndef DISABLE_GUFUNCS
PATCH_FUNCTION_ENTRY(guRotateF)
PATCH_FUNCTION_ENTRY(guTranslateF)
PATCH_FUNCTION_ENTRY(guTranslate)
PATCH_FUNCTION_ENTRY(guScaleF)
PATCH_FUNCTION_ENTRY(guScale)
PATCH_FUNCTION_ENTRY(guMtxIdentF)
PATCH_FUNCTION_ENTRY(guMtxIdent)
PATCH_FUNCTION_ENTRY(guNormalize)
PATCH_FUNCTION_ENTRY(guMtxF2L)
PATCH_FUNCTION_ENTRY(sqrtf)
PATCH_FUNCTION_ENTRY(sinf)
PATCH_FUNCTION_ENTRY(cosf)
PATCH_FUNCTION_ENTRY(guOrthoF)
PATCH_FUNCTION_ENTRY(guOrtho)
#endif
END_PATCH_SYMBOL_TABLE()
BEGIN_PATCH_VARIABLE_TABLE(g_PatchVariables)
PATCH_VARIABLE_ENTRY(osSystemTimeHi)
PATCH_VARIABLE_ENTRY(osSystemTimeLo)
PATCH_VARIABLE_ENTRY(osSystemCount)
PATCH_VARIABLE_ENTRY(osFrameCount)
PATCH_VARIABLE_ENTRY(osSystemLastCount)
PATCH_VARIABLE_ENTRY(osNullMsgQueue)
PATCH_VARIABLE_ENTRY(osThreadQueue)
PATCH_VARIABLE_ENTRY(osActiveThread)
PATCH_VARIABLE_ENTRY(osEventMesgArray)
PATCH_VARIABLE_ENTRY(osThreadDieRA)
PATCH_VARIABLE_ENTRY(osGlobalThreadList)
PATCH_VARIABLE_ENTRY(osDispatchThreadRCPThingamy)
PATCH_VARIABLE_ENTRY(osInterruptMaskThingy)
PATCH_VARIABLE_ENTRY(osEepPifBuffer)
PATCH_VARIABLE_ENTRY(osEepPifThingamy)
PATCH_VARIABLE_ENTRY(osEepPifThingamy2)
PATCH_VARIABLE_ENTRY(osAiSetNextBufferThingy)
PATCH_VARIABLE_ENTRY(osPiAccessQueueCreated)
PATCH_VARIABLE_ENTRY(osPiAccessQueueBuffer)
PATCH_VARIABLE_ENTRY(osPiAccessQueue)
PATCH_VARIABLE_ENTRY(osSiAccessQueueCreated)
PATCH_VARIABLE_ENTRY(osSiAccessQueueBuffer)
PATCH_VARIABLE_ENTRY(osSiAccessQueue)
PATCH_VARIABLE_ENTRY(osSpTaskLoadTempTask)
PATCH_VARIABLE_ENTRY(osViSetModeGubbins)
PATCH_VARIABLE_ENTRY(osPackRequestDataBuffer)
PATCH_VARIABLE_ENTRY(osPackRequestDataBufferLastByte)
PATCH_VARIABLE_ENTRY(osNumControllers)
PATCH_VARIABLE_ENTRY(osContInitialised)
PATCH_VARIABLE_ENTRY(osClockRateHi)
PATCH_VARIABLE_ENTRY(osClockRateLo)
PATCH_VARIABLE_ENTRY(osContInitUnk)
PATCH_VARIABLE_ENTRY(osEepromMQ)
PATCH_VARIABLE_ENTRY(osEepromMsgBuffer)
PATCH_VARIABLE_ENTRY(osTopTimer)
PATCH_VARIABLE_ENTRY(osCosfUnk1)
PATCH_VARIABLE_ENTRY(osCosfUnk2)
PATCH_VARIABLE_ENTRY(osCosfUnk3)
PATCH_VARIABLE_ENTRY(osCosfUnk4)
PATCH_VARIABLE_ENTRY(osCosfUnk5)
PATCH_VARIABLE_ENTRY(osCosfUnk6)
PATCH_VARIABLE_ENTRY(osSinfUnk1)
PATCH_VARIABLE_ENTRY(osSinfUnk2)
PATCH_VARIABLE_ENTRY(osSinfUnk3)
PATCH_VARIABLE_ENTRY(osSinfUnk4)
PATCH_VARIABLE_ENTRY(osSinfUnk5)
PATCH_VARIABLE_ENTRY(osSinfUnk6)
PATCH_VARIABLE_ENTRY(osRotateFUnk1)
PATCH_VARIABLE_ENTRY(osRotateFUnk2)
PATCH_VARIABLE_ENTRY(osSetMesgEventUnk1)
PATCH_VARIABLE_ENTRY(osSetMesgEventUnk2)
END_PATCH_VARIABLE_TABLE()