mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
Merge branch 'master' of https://github.com/zeldaret/tp into menu
This commit is contained in:
+37
-18
@@ -226,6 +226,43 @@ u8* OSGetStackPointer(void);
|
||||
void OSCreateAlarm(OSAlarm*);
|
||||
void OSCancelAlarm(OSAlarm*);
|
||||
void OSSetAlarm(OSAlarm*, OSTime, OSAlarmHandler);
|
||||
|
||||
inline s16 __OSf32tos16(register f32 inF) {
|
||||
register s16 out;
|
||||
u32 tmp;
|
||||
register u32* tmpPtr = &tmp;
|
||||
// clang-format off
|
||||
asm {
|
||||
psq_st inF, 0(tmpPtr), 0x1, 5
|
||||
lha out, 0(tmpPtr)
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
inline void OSf32tos16(f32* f, s16* out) {
|
||||
*out = __OSf32tos16(*f);
|
||||
}
|
||||
|
||||
inline u8 __OSf32tou8(register f32 inF) {
|
||||
register u8 out;
|
||||
u32 tmp;
|
||||
register u32* tmpPtr = &tmp;
|
||||
// clang-format off
|
||||
asm {
|
||||
psq_st inF, 0(tmpPtr), 0x1, 2
|
||||
lbz out, 0(tmpPtr)
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
inline void OSf32tou8(f32* f, u8* out) {
|
||||
*out = __OSf32tou8(*f);
|
||||
}
|
||||
|
||||
}; // extern "C"
|
||||
|
||||
void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32);
|
||||
@@ -325,22 +362,4 @@ inline void* OSPhysicalToCached(u32 offset) {
|
||||
return (void*)(offset + 0x80000000);
|
||||
}
|
||||
|
||||
static inline u8 __OSf32tou8(register f32 src) {
|
||||
f32 tmp;
|
||||
register f32* p = &tmp;
|
||||
register u8 ret;
|
||||
|
||||
asm
|
||||
{
|
||||
psq_st src, 0(p), 1, 2
|
||||
lbz ret, 0(p)
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline void OSf32tou8(register f32* src, volatile register u8* dst) {
|
||||
*dst = __OSf32tou8(*src);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user