This repository has been archived on 2022-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
Luma3DS-3GX/mset/source/appcompat.h

53 lines
1.7 KiB
C
Raw Normal View History

2015-08-05 03:57:37 +02:00
#ifndef __appcompat_h__
#define __appcompat_h__
#include <stdint.h>
#include "launcher_path.h"
typedef struct compat_app_s
{
void (*memcpy)(void *dest, void *src, uint32_t len);
int (*GSPGPU_FlushDataCache)(void *address, uint32_t length);
void (*nn__gxlow__CTR__CmdReqQueueTx__TryEnqueue)(void *arg1, void *arg2);
uint32_t (*svcControlMemory)(uint32_t *outaddr, uint32_t *addr0, uint32_t *addr1, uint32_t size, uint32_t operation, uint32_t permissions);
int (*fopen)(uint32_t (*handle)[], short unsigned int *path, int flags);
int (*fread)(uint32_t (*handle)[], uint32_t *read, void *buffer, uint32_t size);
int (*fwrite)(uint32_t (*handle)[], uint32_t *written, void *src, uint32_t size);
uint32_t gpuHandle;
#if defined(ENTRY_SPIDER)
int (*GX_SetTextureCopy)(void *input_buffer, void *output_buffer, uint32_t size, int in_x, int in_y, int out_x, int out_y, int flags);
int (*svcSleepThread)(unsigned long long nanoseconds);
#endif
} compat_app_s;
extern compat_app_s* app;
int set_app_offsets();
#if defined(ENTRY_MSET)
// The usable area for this app
#define APP_FCRAM_ADDR 0x14000000
#define APP_CFW_OFFSET 0x400000
#define APP_LAUNCHER_PATH (L"YS:/" LAUNCHER_PATH)
#elif defined(ENTRY_SPIDER)
// The usable area for this app
#define APP_FCRAM_ADDR 0x18400000
#define APP_CFW_OFFSET 0x4410000
#define APP_LAUNCHER_PATH (L"dmc:/" LAUNCHER_PATH)
#endif
// Locations in fcram
#define APP_CHECK_MEM (APP_FCRAM_ADDR + 0x1000)
#define APP_ARM11_BUFFER (APP_FCRAM_ADDR + 0x2000)
#define APP_MEM_HAX_MEM (APP_FCRAM_ADDR + 0x50000)
#define APP_COMPAT (APP_FCRAM_ADDR + 0x20000)
#define APP_FIRM_COMPAT (APP_FCRAM_ADDR + 0x20100)
#define ARM9_PAYLOAD_MAXSIZE 0x10000
#endif