Loading...
Searching...
No Matches
types.h File Reference

OpenSNES Standard Types. More...

Go to the source code of this file.

Macros

#define ARRAY_SIZE(arr)   (sizeof(arr) / sizeof((arr)[0]))
 Get number of elements in array.
 
#define BIT(n)   (1 << (n))
 Create a bit mask.
 
#define CLAMP(x, lo, hi)   (((x) < (lo)) ? (lo) : (((x) > (hi)) ? (hi) : (x)))
 Clamp value to range.
 
#define false   0
 
#define FALSE   0
 
#define HI_BYTE(x)   ((u8)(((x) >> 8) & 0xFF))
 Get high byte of 16-bit value.
 
#define LO_BYTE(x)   ((u8)((x) & 0xFF))
 Get low byte of 16-bit value.
 
#define MAKE_WORD(lo, hi)   ((u16)(((u8)(hi) << 8) | (u8)(lo)))
 Combine two bytes into 16-bit value.
 
#define MAX(a, b)   (((a) > (b)) ? (a) : (b))
 Get maximum of two values.
 
#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
 Get minimum of two values.
 
#define NULL   ((void*)0)
 Null pointer constant.
 
#define true   1
 
#define TRUE   0xFF
 

Typedefs

typedef unsigned char bool
 
typedef signed short s16
 16-bit signed integer (-32768 to 32767)
 
typedef signed int s32
 32-bit signed integer (-2147483648 to 2147483647)
 
typedef signed char s8
 8-bit signed integer (-128 to 127)
 
typedef unsigned short u16
 16-bit unsigned integer (0 to 65535)
 
typedef unsigned int u32
 32-bit unsigned integer (0 to 4294967295)
 
typedef unsigned char u8
 8-bit unsigned integer (0 to 255)
 
typedef void(* VoidFn) (void)
 Void function taking no arguments.
 
typedef volatile s16 vs16
 
typedef volatile s32 vs32
 
typedef volatile s8 vs8
 
typedef volatile u16 vu16
 
typedef volatile u32 vu32
 
typedef volatile u8 vu8
 

Detailed Description

OpenSNES Standard Types.

Provides fixed-width integer types and common macros for SNES development.

Attribution

Originally from: PVSnesLib (https://github.com/alekmaul/pvsneslib) Author: Alekmaul License: zlib (compatible with MIT) Modifications:

  • Renamed file from snestypes.h
  • Added comprehensive documentation
  • Reorganized sections
Author
OpenSNES Team