Mario Kart 64
Loading...
Searching...
No Matches
macros.h File Reference

Go to the source code of this file.

Macros

#define GLOBAL_ASM(...)
 
#define ARRAY_COUNT(arr)   (s32)(sizeof(arr) / sizeof(arr[0]))
 
#define GLUE(a, b)   a ## b
 
#define GLUE2(a, b)   GLUE(a, b)
 
#define UNUSED
 
#define NORETURN
 
#define STATIC_ASSERT(cond, msg)   typedef char GLUE2(static_assertion_failed, __LINE__)[(cond) ? 1 : -1]
 
#define ALIGNED8
 
#define ALIGNED16
 
#define VIRTUAL_TO_PHYSICAL(addr)   ((uintptr_t)(addr) & 0x1FFFFFFF)
 
#define PHYSICAL_TO_VIRTUAL(addr)   ((uintptr_t)(addr) | 0x80000000)
 
#define VIRTUAL_TO_PHYSICAL2(addr)   ((u8 *)(addr) - 0x80000000U)
 
#define ALIGN16(val)   (((val) + 0xF) & ~0xF)
 
#define GET_PACKED_END(dl)   (((u8*) dl) + sizeof(dl) - sizeof(dl[0]) - 0x07000000)
 

Macro Definition Documentation

◆ ALIGN16

#define ALIGN16 ( val)    (((val) + 0xF) & ~0xF)

◆ ALIGNED16

#define ALIGNED16

◆ ALIGNED8

#define ALIGNED8

◆ ARRAY_COUNT

#define ARRAY_COUNT ( arr)    (s32)(sizeof(arr) / sizeof(arr[0]))

◆ GET_PACKED_END

#define GET_PACKED_END ( dl)    (((u8*) dl) + sizeof(dl) - sizeof(dl[0]) - 0x07000000)

(u8*) dl : Cast array down to u8's

◆ GLOBAL_ASM

#define GLOBAL_ASM ( ...)

◆ GLUE

#define GLUE ( a,
b )   a ## b

◆ GLUE2

#define GLUE2 ( a,
b )   GLUE(a, b)

◆ NORETURN

#define NORETURN

◆ PHYSICAL_TO_VIRTUAL

#define PHYSICAL_TO_VIRTUAL ( addr)    ((uintptr_t)(addr) | 0x80000000)

◆ STATIC_ASSERT

#define STATIC_ASSERT ( cond,
msg )   typedef char GLUE2(static_assertion_failed, __LINE__)[(cond) ? 1 : -1]

◆ UNUSED

#define UNUSED

◆ VIRTUAL_TO_PHYSICAL

#define VIRTUAL_TO_PHYSICAL ( addr)    ((uintptr_t)(addr) & 0x1FFFFFFF)

◆ VIRTUAL_TO_PHYSICAL2

#define VIRTUAL_TO_PHYSICAL2 ( addr)    ((u8 *)(addr) - 0x80000000U)