mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 13:20:30 +00:00
Update CTR (3DS) driver for the latest ctrulib SDK, fix a typo, and fix compilation errors.
This commit is contained in:
parent
bd0c342a0a
commit
0565a92486
@ -246,10 +246,6 @@ ifeq ($(strip $(AEMSTRO)),)
|
||||
$(error "Please set AEMSTRO in your environment. export AEMSTRO=<path to>aemstro")
|
||||
endif
|
||||
|
||||
ifeq ($(wildcard $(CTRULIB)/include/3ds/ndsp),)
|
||||
$(error "Please update ctrulib to the great-refactor branch")
|
||||
endif
|
||||
|
||||
|
||||
APP_TITLE := $(shell echo "$(APP_TITLE)" | cut -c1-128)
|
||||
APP_DESCRIPTION := $(shell echo "$(APP_DESCRIPTION)" | cut -c1-256)
|
||||
|
@ -28,6 +28,7 @@ void __libc_fini_array(void);
|
||||
void __libctru_init(void (*retAddr)(void));
|
||||
void __appInit();
|
||||
void __libc_init_array(void);
|
||||
void __system_initSyscalls(void);
|
||||
void __system_allocateHeaps();
|
||||
void __system_initArgv();
|
||||
|
||||
@ -43,15 +44,16 @@ Result __sync_init(void) __attribute__((weak));
|
||||
|
||||
void __attribute__((weak)) __libctru_init(void (*retAddr)(void))
|
||||
{
|
||||
// Register newlib exit() syscall
|
||||
__syscalls.exit = __ctru_exit;
|
||||
__syscalls.gettod_r = __libctru_gtod;
|
||||
// Store the return address
|
||||
__system_retAddr = envIsHomebrew() ? retAddr : NULL;
|
||||
|
||||
__system_retAddr = __service_ptr ? retAddr : NULL;
|
||||
// Initialize the synchronization subsystem
|
||||
__sync_init();
|
||||
|
||||
if (__sync_init)
|
||||
__sync_init();
|
||||
// Initialize newlib support system calls
|
||||
__system_initSyscalls();
|
||||
|
||||
// Allocate application and linear heaps
|
||||
__system_allocateHeaps();
|
||||
|
||||
// Build argc/argv if present
|
||||
@ -200,7 +202,7 @@ int ctr_request_update(void)
|
||||
consoleInit(GFX_BOTTOM, NULL);
|
||||
|
||||
printf("\n\nunsupported version\n\n");
|
||||
printf("Please update your playload\n");
|
||||
printf("Please update your payload\n");
|
||||
|
||||
wait_for_input();
|
||||
|
||||
|
@ -327,8 +327,8 @@ static void* ctr_init(const video_info_t* video,
|
||||
GPU_SetDepthTestAndWriteMask(false, GPU_ALWAYS, GPU_WRITE_ALL);
|
||||
// GPU_SetDepthTestAndWriteMask(true, GPU_ALWAYS, GPU_WRITE_ALL);
|
||||
|
||||
GPUCMD_AddMaskedWrite(GPUREG_0062, 0x1, 0);
|
||||
GPUCMD_AddWrite(GPUREG_0118, 0);
|
||||
GPUCMD_AddMaskedWrite(GPUREG_EARLYDEPTH_TEST1, 0x1, 0);
|
||||
GPUCMD_AddWrite(GPUREG_EARLYDEPTH_TEST2, 0);
|
||||
|
||||
GPU_SetAlphaBlending(GPU_BLEND_ADD, GPU_BLEND_ADD,
|
||||
GPU_SRC_ALPHA, GPU_ONE_MINUS_SRC_ALPHA,
|
||||
|
@ -75,21 +75,21 @@ static INLINE void ctrGuSetTexture(GPU_TEXUNIT unit, u32* data,
|
||||
{
|
||||
case GPU_TEXUNIT0:
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT0_TYPE, colorType);
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT0_LOC, ((u32)data)>>3);
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT0_ADDR1, ((u32)data)>>3);
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT0_DIM, (height)|(width<<16));
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT0_PARAM, param);
|
||||
break;
|
||||
|
||||
case GPU_TEXUNIT1:
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT1_TYPE, colorType);
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT1_LOC, ((u32)data)>>3);
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT1_ADDR, ((u32)data)>>3);
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT1_DIM, (height)|(width<<16));
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT1_PARAM, param);
|
||||
break;
|
||||
|
||||
case GPU_TEXUNIT2:
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT2_TYPE, colorType);
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT2_LOC, ((u32)data)>>3);
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT2_ADDR, ((u32)data)>>3);
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT2_DIM, (height)|(width<<16));
|
||||
GPUCMD_AddWrite(GPUREG_TEXUNIT2_PARAM, param);
|
||||
break;
|
||||
@ -218,7 +218,7 @@ static INLINE void ctrGuSetAttributeBuffers(u32 total_attributes,
|
||||
|
||||
GPUCMD_AddIncrementalWrites(GPUREG_ATTRIBBUFFERS_LOC, param, 0x00000027);
|
||||
GPUCMD_AddMaskedWrite(GPUREG_VSH_INPUTBUFFER_CONFIG, 0xB, 0xA0000000|(total_attributes-1));
|
||||
GPUCMD_AddWrite(GPUREG_0242, (total_attributes-1));
|
||||
GPUCMD_AddWrite(GPUREG_VSH_NUM_ATTR, (total_attributes-1));
|
||||
GPUCMD_AddIncrementalWrites(GPUREG_VSH_ATTRIBUTES_PERMUTATION_LOW, ((u32[]){0x76543210, 0xBA98}), 2);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user