From b6b25b016323a3ada2092398c49a73fac06dc04d Mon Sep 17 00:00:00 2001 From: smea Date: Wed, 12 Nov 2014 22:08:31 -0800 Subject: [PATCH] fixed initArgv --- libctru/source/gpu/gpu.c | 7 ++++++- libctru/source/initSystem.c | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libctru/source/gpu/gpu.c b/libctru/source/gpu/gpu.c index 8bfde8b..d7edfda 100644 --- a/libctru/source/gpu/gpu.c +++ b/libctru/source/gpu/gpu.c @@ -177,7 +177,6 @@ void GPU_Reset(u32* gxbuf, u32* gpuBuf, u32 gpuBufSize) GPUCMD_AddSingleParam(0x000F0115, 0x00000003); GPUCMD_AddSingleParam(0x000F01C5, 0x00000000); - for(i=0;i<32;i++)GPUCMD_Add(0x800F01C8, zero, 0x00000008); GPUCMD_AddSingleParam(0x000F01C5, 0x00000100); for(i=0;i<32;i++)GPUCMD_Add(0x800F01C8, zero, 0x00000008); @@ -191,6 +190,7 @@ void GPU_Reset(u32* gxbuf, u32* gpuBuf, u32 gpuBufSize) for(i=0;i<32;i++)GPUCMD_Add(0x800F01C8, zero, 0x00000008); GPUCMD_AddSingleParam(0x000F01C5, 0x00000600); for(i=0;i<32;i++)GPUCMD_Add(0x800F01C8, zero, 0x00000008); + GPUCMD_AddSingleParam(0x000F0290, 0x80000000); for(i=0;i<48;i++)GPUCMD_Add(0x800F0291, zero, 0x00000008); GPUCMD_AddSingleParam(0x000F02CB, 0x00000000); @@ -422,6 +422,11 @@ void GPU_SetAttributeBuffers(u8 totalAttributes, u32* baseAddress, u64 attribute GPUCMD_AddSingleParam(0x000F02BC, (attributePermutation>>32)&0xFFFF); } +void GPU_SetAttributeBuffersAddress(u32* baseAddress) +{ + GPUCMD_AddSingleParam(0x000F0200, ((u32)baseAddress)>>3); +} + void GPU_SetFaceCulling(GPU_CULLMODE mode) { GPUCMD_AddSingleParam(0x000F0040, mode&0x3); diff --git a/libctru/source/initSystem.c b/libctru/source/initSystem.c index b494567..efd1376 100644 --- a/libctru/source/initSystem.c +++ b/libctru/source/initSystem.c @@ -102,7 +102,7 @@ void initArgv() fake_heap_start += argSize; // Fill argv array - memcpy(argCopy, __system_arglist, argSize); + memcpy(argCopy, &__system_arglist[4], argSize); temp = argCopy; for (i = 0; i < __system_argc; i ++) {