31static __inline__
void pcsx_putc(
int c) { *((
volatile char*
const)0x1f802080) =
c; }
32static __inline__
void pcsx_debugbreak() { *((
volatile char*
const)0x1f802081) = 0; }
33static __inline__
void pcsx_execSlot(uint8_t slot) { *((
volatile uint8_t*
const)0x1f802081) = slot; }
34static __inline__
void pcsx_exit(
int code) { *((
volatile int16_t*
const)0x1f802082) = code; }
35static __inline__
void pcsx_message(
const char* msg) { *((
volatile const char**
const)0x1f802084) = msg; }
36static __inline__
void pcsx_checkKernel(
int enable) { *((
volatile char*)0x1f802088) = enable; }
37static __inline__
int pcsx_isCheckingKernel() {
return *((
volatile char*
const)0x1f802088) != 0; }
38static __inline__
void pcsx_initMsan() { *((
volatile char*
const)0x1f802089) = 0; }
39static __inline__
void pcsx_resetMsan() { *((
volatile char*
const)0x1f802089) = 1; }
42 return *((
void*
volatile*
const)0x1f80208c);
44static __inline__
void pcsx_msanFree(
void*
ptr) { *((
void*
volatile*
const)0x1f80208c) =
ptr; }
46 register void* a0
asm(
"a0") =
ptr;
48 return *((
void*
volatile*
const)0x1f802090);
50static __inline__
void pcsx_msanSetChainPtr(
void* headerAddr,
void* ptrToNext,
uint32_t wordCount) {
51 register void* a0
asm(
"a0") = ptrToNext;
52 register uint32_t a1
asm(
"a1") = wordCount;
53 *((
void*
volatile*
const)0x1f802094) = headerAddr;
55static __inline__
void* pcsx_msanGetChainPtr(
void* headerAddr) {
56 register void* a0
asm(
"a0") = headerAddr;
57 return *((
void*
volatile*
const)0x1f802094);
60static __inline__
int pcsx_present() {
return *((
volatile uint32_t*
const)0x1f802080) == 0x58534350; }
volatile uint32_t * ptr
Definition cop0.c:80
static int size
Definition string.h:32
static int c
Definition syscalls.h:121
void uint32_t(classId, spec)