sys_matrix OK, documented, rename some other mathematics functions (#787)

* Import data and bss, add some name options

* Decomp rest of stack functions,
remove RSPMatrix,
split header

* sys_matrix OK (thanks Tharo)

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* pragma weaks in sinf and cosf, change documentation
change mcros to use 0x8000

* Rename sinf and cosf

* Correct initialisation of sMtxFClear

* More minor cleanup

* Rename stack functions

* Matrix_InsertMatrix -> Matrix_Mult

* The big transpose rename

* Fix MirRay_DrawReflectedBeam

* Matrix_InsertTranslation -> Matrix_Translate

* Matrix_Insert.Rotation_s -> Matrix_Rotate$1S
+ RotateY -> RotateYS

* Matrix_Insert(.)Rotation_f -> Matrix_Rotate$1F

* Matrix_RotateStateAroundXAxis -> Matrix_RotateXFApply
Matrix_SetStateXRotation -> Matrix_RotateXFNew

* Matrix_MultiplyVector3fByState -> Matrix_MultVec3f

* Matrix_MultiplyVector3fXZByCurrentState -> Matrix_MultVec3fXZ

* Matrix_GetStateTranslation -> Matrix_MultZero

* Matrix_GetStateTranslationAndScaled(.) -> Matrix_MultVec$1

* Matrix_FromRSPMatrix -> Matrix_MtxToMtxF

* Matrix_MultiplyVector3fByMatrix -> Matrix_MultVec3fExt

* Matrix_TransposeXYZ -> Matrix_Transpose

* Matrix_ToRSPMatrix -> Matrix_MtxFToMtx

* Matrix_AppendToPolyOpaDisp -> Matrix_MtxFToNewMtx
and document the conversion functions

* Matrix_NormalizeXYZ -> Matrix_ReplaceRotation

* Matrix_InsertRotationAroundUnitVector_f -> Matrix_RotateAxisF and S

* Matrix_InsertRotation -> Matrix_RotateZYX

* Document the last functions

* Small cleanup

* Matrix_JointPosition -> Matrix_TranslateRotateZYX

* Matrix_SetStateRotationAndTranslation -> Matrix_SetTranslateRotateYXZ

* func_8018219C -> Matrix_MtxFToYXZRot

* func_801822C4 -> Matrix_MtxFToZYXRot

* Fix files

* Format

* Review 1

* Renames

* Fix warning in EnDragon

* Format

* Convert `mode` to an actual enum

* Add enums, typedefs, externs to sys_matrix header

* Review

* One more

* More review

* Fix function names

* Format

* Fix names

* Format

* Review

* engineer's review

* Fix build

* Format

* Fix again

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
This commit is contained in:
EllipticEllipsis
2022-05-26 04:24:39 +01:00
committed by GitHub
parent e1477702ca
commit 8049dec339
303 changed files with 5474 additions and 3324 deletions
+35 -35
View File
@@ -2868,45 +2868,45 @@ asm/non_matchings/code/sys_math_atan/Math_Atan2S.s,Math_Atan2S,0x8017FEE4,0x7A
asm/non_matchings/code/sys_math_atan/Math_Atan2F.s,Math_Atan2F,0x801800CC,0xD
asm/non_matchings/code/sys_math_atan/Math_FAtan2F.s,Math_FAtan2F,0x80180100,0xB
asm/non_matchings/code/sys_math_atan/Math_Acot2F.s,Math_Acot2F,0x8018012C,0xD
asm/non_matchings/code/sys_matrix/Matrix_StateAlloc.s,Matrix_StateAlloc,0x80180160,0xF
asm/non_matchings/code/sys_matrix/Matrix_StatePush.s,Matrix_StatePush,0x8018019C,0xC
asm/non_matchings/code/sys_matrix/Matrix_StatePop.s,Matrix_StatePop,0x801801CC,0x7
asm/non_matchings/code/sys_matrix/Matrix_CopyCurrentState.s,Matrix_CopyCurrentState,0x801801E8,0x9
asm/non_matchings/code/sys_matrix/Matrix_SetCurrentState.s,Matrix_SetCurrentState,0x8018020C,0xA
asm/non_matchings/code/sys_matrix/Matrix_GetCurrentState.s,Matrix_GetCurrentState,0x80180234,0x4
asm/non_matchings/code/sys_matrix/Matrix_InsertMatrix.s,Matrix_InsertMatrix,0x80180244,0x16
asm/non_matchings/code/sys_matrix/Matrix_InsertTranslation.s,Matrix_InsertTranslation,0x8018029C,0x40
asm/non_matchings/code/sys_matrix/Matrix_Init.s,Matrix_Init,0x80180160,0xF
asm/non_matchings/code/sys_matrix/Matrix_Push.s,Matrix_Push,0x8018019C,0xC
asm/non_matchings/code/sys_matrix/Matrix_Pop.s,Matrix_Pop,0x801801CC,0x7
asm/non_matchings/code/sys_matrix/Matrix_Get.s,Matrix_Get,0x801801E8,0x9
asm/non_matchings/code/sys_matrix/Matrix_Put.s,Matrix_Put,0x8018020C,0xA
asm/non_matchings/code/sys_matrix/Matrix_GetCurrent.s,Matrix_GetCurrent,0x80180234,0x4
asm/non_matchings/code/sys_matrix/Matrix_Mult.s,Matrix_Mult,0x80180244,0x16
asm/non_matchings/code/sys_matrix/Matrix_Translate.s,Matrix_Translate,0x8018029C,0x40
asm/non_matchings/code/sys_matrix/Matrix_Scale.s,Matrix_Scale,0x8018039C,0x37
asm/non_matchings/code/sys_matrix/Matrix_InsertXRotation_s.s,Matrix_InsertXRotation_s,0x80180478,0x66
asm/non_matchings/code/sys_matrix/Matrix_InsertXRotation_f.s,Matrix_InsertXRotation_f,0x80180610,0x6A
asm/non_matchings/code/sys_matrix/Matrix_RotateStateAroundXAxis.s,Matrix_RotateStateAroundXAxis,0x801807B8,0x52
asm/non_matchings/code/sys_matrix/Matrix_SetStateXRotation.s,Matrix_SetStateXRotation,0x80180900,0x2B
asm/non_matchings/code/sys_matrix/Matrix_RotateY.s,Matrix_RotateY,0x801809AC,0x67
asm/non_matchings/code/sys_matrix/Matrix_InsertYRotation_f.s,Matrix_InsertYRotation_f,0x80180B48,0x6C
asm/non_matchings/code/sys_matrix/Matrix_InsertZRotation_s.s,Matrix_InsertZRotation_s,0x80180CF8,0x66
asm/non_matchings/code/sys_matrix/Matrix_InsertZRotation_f.s,Matrix_InsertZRotation_f,0x80180E90,0x6B
asm/non_matchings/code/sys_matrix/Matrix_InsertRotation.s,Matrix_InsertRotation,0x8018103C,0xB0
asm/non_matchings/code/sys_matrix/Matrix_RotateXS.s,Matrix_RotateXS,0x80180478,0x66
asm/non_matchings/code/sys_matrix/Matrix_RotateXF.s,Matrix_RotateXF,0x80180610,0x6A
asm/non_matchings/code/sys_matrix/Matrix_RotateXFApply.s,Matrix_RotateXFApply,0x801807B8,0x52
asm/non_matchings/code/sys_matrix/Matrix_RotateXFNew.s,Matrix_RotateXFNew,0x80180900,0x2B
asm/non_matchings/code/sys_matrix/Matrix_RotateYS.s,Matrix_RotateYS,0x801809AC,0x67
asm/non_matchings/code/sys_matrix/Matrix_RotateYF.s,Matrix_RotateYF,0x80180B48,0x6C
asm/non_matchings/code/sys_matrix/Matrix_RotateZS.s,Matrix_RotateZS,0x80180CF8,0x66
asm/non_matchings/code/sys_matrix/Matrix_RotateZF.s,Matrix_RotateZF,0x80180E90,0x6B
asm/non_matchings/code/sys_matrix/Matrix_RotateZYX.s,Matrix_RotateZYX,0x8018103C,0xB0
asm/non_matchings/code/sys_matrix/Matrix_RotateAndTranslateState.s,Matrix_RotateAndTranslateState,0x801812FC,0xD5
asm/non_matchings/code/sys_matrix/Matrix_SetStateRotationAndTranslation.s,Matrix_SetStateRotationAndTranslation,0x80181650,0x6B
asm/non_matchings/code/sys_matrix/Matrix_ToRSPMatrix.s,Matrix_ToRSPMatrix,0x801817FC,0x87
asm/non_matchings/code/sys_matrix/Matrix_GetStateAsRSPMatrix.s,Matrix_GetStateAsRSPMatrix,0x80181A18,0xA
asm/non_matchings/code/sys_matrix/Matrix_SetTranslateRotateYXZ.s,Matrix_SetTranslateRotateYXZ,0x80181650,0x6B
asm/non_matchings/code/sys_matrix/Matrix_MtxFToMtx.s,Matrix_MtxFToMtx,0x801817FC,0x87
asm/non_matchings/code/sys_matrix/Matrix_ToMtx.s,Matrix_ToMtx,0x80181A18,0xA
asm/non_matchings/code/sys_matrix/Matrix_NewMtx.s,Matrix_NewMtx,0x80181A40,0xB
asm/non_matchings/code/sys_matrix/Matrix_AppendToPolyOpaDisp.s,Matrix_AppendToPolyOpaDisp,0x80181A6C,0xB
asm/non_matchings/code/sys_matrix/Matrix_MultiplyVector3fByState.s,Matrix_MultiplyVector3fByState,0x80181A98,0x2E
asm/non_matchings/code/sys_matrix/Matrix_GetStateTranslation.s,Matrix_GetStateTranslation,0x80181B50,0xA
asm/non_matchings/code/sys_matrix/Matrix_GetStateTranslationAndScaledX.s,Matrix_GetStateTranslationAndScaledX,0x80181B78,0x13
asm/non_matchings/code/sys_matrix/Matrix_GetStateTranslationAndScaledY.s,Matrix_GetStateTranslationAndScaledY,0x80181BC4,0x13
asm/non_matchings/code/sys_matrix/Matrix_GetStateTranslationAndScaledZ.s,Matrix_GetStateTranslationAndScaledZ,0x80181C10,0x13
asm/non_matchings/code/sys_matrix/Matrix_MultiplyVector3fXZByCurrentState.s,Matrix_MultiplyVector3fXZByCurrentState,0x80181C5C,0x20
asm/non_matchings/code/sys_matrix/Matrix_MtxFToNewMtx.s,Matrix_MtxFToNewMtx,0x80181A6C,0xB
asm/non_matchings/code/sys_matrix/Matrix_MultVec3f.s,Matrix_MultVec3f,0x80181A98,0x2E
asm/non_matchings/code/sys_matrix/Matrix_MultZero.s,Matrix_MultZero,0x80181B50,0xA
asm/non_matchings/code/sys_matrix/Matrix_MultVecX.s,Matrix_MultVecX,0x80181B78,0x13
asm/non_matchings/code/sys_matrix/Matrix_MultVecY.s,Matrix_MultVecY,0x80181BC4,0x13
asm/non_matchings/code/sys_matrix/Matrix_MultVecZ.s,Matrix_MultVecZ,0x80181C10,0x13
asm/non_matchings/code/sys_matrix/Matrix_MultVec3fXZ.s,Matrix_MultVec3fXZ,0x80181C5C,0x20
asm/non_matchings/code/sys_matrix/Matrix_MtxFCopy.s,Matrix_MtxFCopy,0x80181CDC,0x22
asm/non_matchings/code/sys_matrix/Matrix_FromRSPMatrix.s,Matrix_FromRSPMatrix,0x80181D64,0x95
asm/non_matchings/code/sys_matrix/Matrix_MultiplyVector3fByMatrix.s,Matrix_MultiplyVector3fByMatrix,0x80181FB8,0x2C
asm/non_matchings/code/sys_matrix/Matrix_TransposeXYZ.s,Matrix_TransposeXYZ,0x80182068,0xE
asm/non_matchings/code/sys_matrix/Matrix_NormalizeXYZ.s,Matrix_NormalizeXYZ,0x801820A0,0x3F
asm/non_matchings/code/sys_matrix/func_8018219C.s,func_8018219C,0x8018219C,0x4A
asm/non_matchings/code/sys_matrix/func_801822C4.s,func_801822C4,0x801822C4,0x4A
asm/non_matchings/code/sys_matrix/Matrix_InsertRotationAroundUnitVector_f.s,Matrix_InsertRotationAroundUnitVector_f,0x801823EC,0x118
asm/non_matchings/code/sys_matrix/Matrix_InsertRotationAroundUnitVector_s.s,Matrix_InsertRotationAroundUnitVector_s,0x8018284C,0x111
asm/non_matchings/code/sys_matrix/Matrix_MtxToMtxF.s,Matrix_MtxToMtxF,0x80181D64,0x95
asm/non_matchings/code/sys_matrix/Matrix_MultVec3fExt.s,Matrix_MultVec3fExt,0x80181FB8,0x2C
asm/non_matchings/code/sys_matrix/Matrix_Transpose.s,Matrix_Transpose,0x80182068,0xE
asm/non_matchings/code/sys_matrix/Matrix_ReplaceRotation.s,Matrix_ReplaceRotation,0x801820A0,0x3F
asm/non_matchings/code/sys_matrix/Matrix_MtxFToYXZRot.s,Matrix_MtxFToYXZRot,0x8018219C,0x4A
asm/non_matchings/code/sys_matrix/Matrix_MtxFToZYXRot.s,Matrix_MtxFToZYXRot,0x801822C4,0x4A
asm/non_matchings/code/sys_matrix/Matrix_RotateAxisF.s,Matrix_RotateAxisF,0x801823EC,0x118
asm/non_matchings/code/sys_matrix/Matrix_RotateAxisS.s,Matrix_RotateAxisS,0x8018284C,0x111
asm/non_matchings/code/sys_ucode/SysUcode_GetUCodeBoot.s,SysUcode_GetUCodeBoot,0x80182C90,0x4
asm/non_matchings/code/sys_ucode/SysUcode_GetUCodeBootSize.s,SysUcode_GetUCodeBootSize,0x80182CA0,0x7
asm/non_matchings/code/sys_ucode/SysUcode_GetUCode.s,SysUcode_GetUCode,0x80182CBC,0x4
1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
2868 asm/non_matchings/code/sys_math_atan/Math_Atan2F.s Math_Atan2F 0x801800CC 0xD
2869 asm/non_matchings/code/sys_math_atan/Math_FAtan2F.s Math_FAtan2F 0x80180100 0xB
2870 asm/non_matchings/code/sys_math_atan/Math_Acot2F.s Math_Acot2F 0x8018012C 0xD
2871 asm/non_matchings/code/sys_matrix/Matrix_StateAlloc.s asm/non_matchings/code/sys_matrix/Matrix_Init.s Matrix_StateAlloc Matrix_Init 0x80180160 0xF
2872 asm/non_matchings/code/sys_matrix/Matrix_StatePush.s asm/non_matchings/code/sys_matrix/Matrix_Push.s Matrix_StatePush Matrix_Push 0x8018019C 0xC
2873 asm/non_matchings/code/sys_matrix/Matrix_StatePop.s asm/non_matchings/code/sys_matrix/Matrix_Pop.s Matrix_StatePop Matrix_Pop 0x801801CC 0x7
2874 asm/non_matchings/code/sys_matrix/Matrix_CopyCurrentState.s asm/non_matchings/code/sys_matrix/Matrix_Get.s Matrix_CopyCurrentState Matrix_Get 0x801801E8 0x9
2875 asm/non_matchings/code/sys_matrix/Matrix_SetCurrentState.s asm/non_matchings/code/sys_matrix/Matrix_Put.s Matrix_SetCurrentState Matrix_Put 0x8018020C 0xA
2876 asm/non_matchings/code/sys_matrix/Matrix_GetCurrentState.s asm/non_matchings/code/sys_matrix/Matrix_GetCurrent.s Matrix_GetCurrentState Matrix_GetCurrent 0x80180234 0x4
2877 asm/non_matchings/code/sys_matrix/Matrix_InsertMatrix.s asm/non_matchings/code/sys_matrix/Matrix_Mult.s Matrix_InsertMatrix Matrix_Mult 0x80180244 0x16
2878 asm/non_matchings/code/sys_matrix/Matrix_InsertTranslation.s asm/non_matchings/code/sys_matrix/Matrix_Translate.s Matrix_InsertTranslation Matrix_Translate 0x8018029C 0x40
2879 asm/non_matchings/code/sys_matrix/Matrix_Scale.s Matrix_Scale 0x8018039C 0x37
2880 asm/non_matchings/code/sys_matrix/Matrix_InsertXRotation_s.s asm/non_matchings/code/sys_matrix/Matrix_RotateXS.s Matrix_InsertXRotation_s Matrix_RotateXS 0x80180478 0x66
2881 asm/non_matchings/code/sys_matrix/Matrix_InsertXRotation_f.s asm/non_matchings/code/sys_matrix/Matrix_RotateXF.s Matrix_InsertXRotation_f Matrix_RotateXF 0x80180610 0x6A
2882 asm/non_matchings/code/sys_matrix/Matrix_RotateStateAroundXAxis.s asm/non_matchings/code/sys_matrix/Matrix_RotateXFApply.s Matrix_RotateStateAroundXAxis Matrix_RotateXFApply 0x801807B8 0x52
2883 asm/non_matchings/code/sys_matrix/Matrix_SetStateXRotation.s asm/non_matchings/code/sys_matrix/Matrix_RotateXFNew.s Matrix_SetStateXRotation Matrix_RotateXFNew 0x80180900 0x2B
2884 asm/non_matchings/code/sys_matrix/Matrix_RotateY.s asm/non_matchings/code/sys_matrix/Matrix_RotateYS.s Matrix_RotateY Matrix_RotateYS 0x801809AC 0x67
2885 asm/non_matchings/code/sys_matrix/Matrix_InsertYRotation_f.s asm/non_matchings/code/sys_matrix/Matrix_RotateYF.s Matrix_InsertYRotation_f Matrix_RotateYF 0x80180B48 0x6C
2886 asm/non_matchings/code/sys_matrix/Matrix_InsertZRotation_s.s asm/non_matchings/code/sys_matrix/Matrix_RotateZS.s Matrix_InsertZRotation_s Matrix_RotateZS 0x80180CF8 0x66
2887 asm/non_matchings/code/sys_matrix/Matrix_InsertZRotation_f.s asm/non_matchings/code/sys_matrix/Matrix_RotateZF.s Matrix_InsertZRotation_f Matrix_RotateZF 0x80180E90 0x6B
2888 asm/non_matchings/code/sys_matrix/Matrix_InsertRotation.s asm/non_matchings/code/sys_matrix/Matrix_RotateZYX.s Matrix_InsertRotation Matrix_RotateZYX 0x8018103C 0xB0
2889 asm/non_matchings/code/sys_matrix/Matrix_RotateAndTranslateState.s Matrix_RotateAndTranslateState 0x801812FC 0xD5
2890 asm/non_matchings/code/sys_matrix/Matrix_SetStateRotationAndTranslation.s asm/non_matchings/code/sys_matrix/Matrix_SetTranslateRotateYXZ.s Matrix_SetStateRotationAndTranslation Matrix_SetTranslateRotateYXZ 0x80181650 0x6B
2891 asm/non_matchings/code/sys_matrix/Matrix_ToRSPMatrix.s asm/non_matchings/code/sys_matrix/Matrix_MtxFToMtx.s Matrix_ToRSPMatrix Matrix_MtxFToMtx 0x801817FC 0x87
2892 asm/non_matchings/code/sys_matrix/Matrix_GetStateAsRSPMatrix.s asm/non_matchings/code/sys_matrix/Matrix_ToMtx.s Matrix_GetStateAsRSPMatrix Matrix_ToMtx 0x80181A18 0xA
2893 asm/non_matchings/code/sys_matrix/Matrix_NewMtx.s Matrix_NewMtx 0x80181A40 0xB
2894 asm/non_matchings/code/sys_matrix/Matrix_AppendToPolyOpaDisp.s asm/non_matchings/code/sys_matrix/Matrix_MtxFToNewMtx.s Matrix_AppendToPolyOpaDisp Matrix_MtxFToNewMtx 0x80181A6C 0xB
2895 asm/non_matchings/code/sys_matrix/Matrix_MultiplyVector3fByState.s asm/non_matchings/code/sys_matrix/Matrix_MultVec3f.s Matrix_MultiplyVector3fByState Matrix_MultVec3f 0x80181A98 0x2E
2896 asm/non_matchings/code/sys_matrix/Matrix_GetStateTranslation.s asm/non_matchings/code/sys_matrix/Matrix_MultZero.s Matrix_GetStateTranslation Matrix_MultZero 0x80181B50 0xA
2897 asm/non_matchings/code/sys_matrix/Matrix_GetStateTranslationAndScaledX.s asm/non_matchings/code/sys_matrix/Matrix_MultVecX.s Matrix_GetStateTranslationAndScaledX Matrix_MultVecX 0x80181B78 0x13
2898 asm/non_matchings/code/sys_matrix/Matrix_GetStateTranslationAndScaledY.s asm/non_matchings/code/sys_matrix/Matrix_MultVecY.s Matrix_GetStateTranslationAndScaledY Matrix_MultVecY 0x80181BC4 0x13
2899 asm/non_matchings/code/sys_matrix/Matrix_GetStateTranslationAndScaledZ.s asm/non_matchings/code/sys_matrix/Matrix_MultVecZ.s Matrix_GetStateTranslationAndScaledZ Matrix_MultVecZ 0x80181C10 0x13
2900 asm/non_matchings/code/sys_matrix/Matrix_MultiplyVector3fXZByCurrentState.s asm/non_matchings/code/sys_matrix/Matrix_MultVec3fXZ.s Matrix_MultiplyVector3fXZByCurrentState Matrix_MultVec3fXZ 0x80181C5C 0x20
2901 asm/non_matchings/code/sys_matrix/Matrix_MtxFCopy.s Matrix_MtxFCopy 0x80181CDC 0x22
2902 asm/non_matchings/code/sys_matrix/Matrix_FromRSPMatrix.s asm/non_matchings/code/sys_matrix/Matrix_MtxToMtxF.s Matrix_FromRSPMatrix Matrix_MtxToMtxF 0x80181D64 0x95
2903 asm/non_matchings/code/sys_matrix/Matrix_MultiplyVector3fByMatrix.s asm/non_matchings/code/sys_matrix/Matrix_MultVec3fExt.s Matrix_MultiplyVector3fByMatrix Matrix_MultVec3fExt 0x80181FB8 0x2C
2904 asm/non_matchings/code/sys_matrix/Matrix_TransposeXYZ.s asm/non_matchings/code/sys_matrix/Matrix_Transpose.s Matrix_TransposeXYZ Matrix_Transpose 0x80182068 0xE
2905 asm/non_matchings/code/sys_matrix/Matrix_NormalizeXYZ.s asm/non_matchings/code/sys_matrix/Matrix_ReplaceRotation.s Matrix_NormalizeXYZ Matrix_ReplaceRotation 0x801820A0 0x3F
2906 asm/non_matchings/code/sys_matrix/func_8018219C.s asm/non_matchings/code/sys_matrix/Matrix_MtxFToYXZRot.s func_8018219C Matrix_MtxFToYXZRot 0x8018219C 0x4A
2907 asm/non_matchings/code/sys_matrix/func_801822C4.s asm/non_matchings/code/sys_matrix/Matrix_MtxFToZYXRot.s func_801822C4 Matrix_MtxFToZYXRot 0x801822C4 0x4A
2908 asm/non_matchings/code/sys_matrix/Matrix_InsertRotationAroundUnitVector_f.s asm/non_matchings/code/sys_matrix/Matrix_RotateAxisF.s Matrix_InsertRotationAroundUnitVector_f Matrix_RotateAxisF 0x801823EC 0x118
2909 asm/non_matchings/code/sys_matrix/Matrix_InsertRotationAroundUnitVector_s.s asm/non_matchings/code/sys_matrix/Matrix_RotateAxisS.s Matrix_InsertRotationAroundUnitVector_s Matrix_RotateAxisS 0x8018284C 0x111
2910 asm/non_matchings/code/sys_ucode/SysUcode_GetUCodeBoot.s SysUcode_GetUCodeBoot 0x80182C90 0x4
2911 asm/non_matchings/code/sys_ucode/SysUcode_GetUCodeBootSize.s SysUcode_GetUCodeBootSize 0x80182CA0 0x7
2912 asm/non_matchings/code/sys_ucode/SysUcode_GetUCode.s SysUcode_GetUCode 0x80182CBC 0x4