mirror of https://github.com/zeldaret/tmc.git
68 lines
1.5 KiB
C
68 lines
1.5 KiB
C
#ifndef SYSCALL_H
|
|
#define SYSCALL_H
|
|
|
|
#include "types.h"
|
|
|
|
#define RESET_EWRAM 0x01
|
|
#define RESET_IWRAM 0x02
|
|
#define RESET_PALETTE 0x04
|
|
#define RESET_VRAM 0x08
|
|
#define RESET_OAM 0x10
|
|
#define RESET_SIO_REGS 0x20
|
|
#define RESET_SOUND_REGS 0x40
|
|
#define RESET_REGS 0x80
|
|
#define RESET_ALL 0xFF
|
|
|
|
#define SystemCall(x) \
|
|
{ asm("svc " #x); }
|
|
|
|
extern void SoundBiasReset();
|
|
extern void SoundBiasSet();
|
|
|
|
#define Stop() \
|
|
{ \
|
|
SoundBiasReset(); \
|
|
SystemCall(3); \
|
|
SoundBiasSet(); \
|
|
}
|
|
|
|
void SoftReset(u32 resetFlags);
|
|
|
|
void RegisterRamReset(u32 resetFlags);
|
|
|
|
void VBlankIntrWait(void);
|
|
|
|
u16 Sqrt(u32 num);
|
|
|
|
u16 ArcTan2(s16 x, s16 y);
|
|
|
|
#define CPU_SET_SRC_FIXED 0x01000000
|
|
#define CPU_SET_16BIT 0x00000000
|
|
#define CPU_SET_32BIT 0x04000000
|
|
|
|
void CpuSet(const void* src, void* dest, u32 control);
|
|
|
|
#define CPU_FAST_SET_SRC_FIXED 0x01000000
|
|
|
|
void CpuFastSet(const void* src, void* dest, u32 control);
|
|
|
|
void BgAffineSet(struct BgAffineSrcData* src, struct BgAffineDstData* dest, s32 count);
|
|
|
|
void ObjAffineSet(struct ObjAffineSrcData* src, void* dest, s32 count, s32 offset);
|
|
|
|
void LZ77UnCompWram(const void* src, void* dest);
|
|
|
|
void LZ77UnCompVram(const void* src, void* dest);
|
|
|
|
void RLUnCompWram(const void* src, void* dest);
|
|
|
|
void RLUnCompVram(const void* src, void* dest);
|
|
|
|
int MultiBoot(struct MultiBootParam* mp);
|
|
|
|
s32 Div(s32 num, s32 denom);
|
|
|
|
#define DivAndMod(num, denom) ((union SplitDWord)(*(MultiReturnTypeTwoS32Arg)(&Div))(num, denom))
|
|
|
|
#endif // SYSCALL_H
|