Merge pull request #2220 from aliaspider/master

(CTR/3DS) update
This commit is contained in:
Andrés 2015-10-06 14:10:10 -05:00
commit d558d2b707
6 changed files with 41 additions and 13 deletions

View File

@ -20,7 +20,8 @@ APP_CIA_RSF = ctr/tools/template-cia.rsf
APP_3DS_RSF = ctr/tools/template-3ds.rsf
O3DS_80MB_APPMEM = 0
O3DS_80MB_APPMEM = 0
N3DS_178MB_APPMEM = 0
ifeq ($(BIG_STACK),1)
@ -39,7 +40,12 @@ else
APP_SYSTEM_MODE = 0
endif
APP_SYSTEM_MODE_EXT = 6
ifeq ($(N3DS_178MB_APPMEM), 1)
APP_SYSTEM_MODE_EXT = 2
else
APP_SYSTEM_MODE_EXT = 1
endif
CONFIG_OBJECT = ctr/ctr_config_$(CTR_STACK_SIZE)_$(CTR_LINEAR_HEAP_SIZE).o
@ -407,18 +413,13 @@ $(TARGET).bnr: $(APP_BANNER) $(APP_AUDIO)
$(TARGET).icn: $(APP_ICON)
$(BANNERTOOL) makesmdh -s "$(APP_TITLE)" -l "$(APP_TITLE)" -p "$(APP_AUTHOR)" -i $(APP_ICON) -o $@
$(TARGET)_stripped.elf: $(TARGET).elf
cp $(TARGET).elf $@
$(STRIP) $@
$(TARGET).cia: $(TARGET)_stripped.elf $(TARGET).bnr $(TARGET).icn $(APP_CIA_RSF)
$(MAKEROM) -f cia -o $@ -rsf $(APP_CIA_RSF) -target t -exefslogo -elf $(TARGET)_stripped.elf -icon $(TARGET).icn -banner $(TARGET).bnr -DAPP_TITLE="$(APP_TITLE)" -DAPP_PRODUCT_CODE="$(APP_PRODUCT_CODE)" -DAPP_UNIQUE_ID=$(APP_UNIQUE_ID) -DAPP_SYSTEM_MODE=$(APP_SYSTEM_MODE) -DAPP_SYSTEM_MODE_EXT=$(APP_SYSTEM_MODE_EXT)
$(TARGET).cia: $(TARGET).elf $(TARGET).bnr $(TARGET).icn $(APP_CIA_RSF)
$(MAKEROM) -f cia -o $@ -rsf $(APP_CIA_RSF) -target t -exefslogo -elf $(TARGET).elf -icon $(TARGET).icn -banner $(TARGET).bnr -DAPP_TITLE="$(APP_TITLE)" -DAPP_PRODUCT_CODE="$(APP_PRODUCT_CODE)" -DAPP_UNIQUE_ID=$(APP_UNIQUE_ID) -DAPP_SYSTEM_MODE=$(APP_SYSTEM_MODE) -DAPP_SYSTEM_MODE_EXT=$(APP_SYSTEM_MODE_EXT)
clean:
rm -f $(OBJS)
rm -f $(TARGET).3dsx
rm -f $(TARGET).elf
rm -f $(TARGET)_stripped.elf
rm -f $(TARGET).cia
rm -f $(TARGET).bnr
rm -f $(TARGET).icn

View File

@ -160,6 +160,7 @@ else ifeq ($(LIBRETRO), fb_alpha_neo)
#APP_BANNER = ctr/libretro_banner.png
#APP_AUDIO = ctr/silent.wav
O3DS_80MB_APPMEM = 1
N3DS_178MB_APPMEM = 1
else ifeq ($(LIBRETRO), fb_alpha_cps1)
APP_TITLE = Final Burn Alpha - CPS-1

Binary file not shown.

View File

@ -93,7 +93,8 @@ AccessControlInfo:
CpuSpeed : 804mhz
EnableL2Cache : true
SystemMode : $(APP_SYSTEM_MODE)
SystemModeExt : $(APP_SYSTEM_MODE_EXT)
DisableDebug : false
EnableForceDebug : false
CanWriteSharedPage : true

View File

@ -27,7 +27,6 @@ EXT=a
elif [ $PLATFORM = "ctr" ] ; then
platform=ctr
EXT=a
mkdir -p ../pkg/3ds/elf
mkdir -p ../pkg/3ds/cia
mkdir -p ../pkg/3ds/3ds
@ -171,7 +170,6 @@ for f in *_${platform}.${EXT} ; do
mv -f ../retroarch_${platform}.velf ../pkg/${platform}/${name}_libretro_${platform}.velf
elif [ $PLATFORM = "ctr" ] ; then
mv -f ../retroarch_3ds.cia ../pkg/3ds/cia/${name}_libretro.cia
mv -f ../retroarch_3ds.elf ../pkg/3ds/elf/${name}_libretro.elf
mkdir -p ../pkg/3ds/3ds/${name}_libretro
mv -f ../retroarch_3ds.3dsx ../pkg/3ds/3ds/${name}_libretro/${name}_libretro.3dsx
mv -f ../retroarch_3ds.smdh ../pkg/3ds/3ds/${name}_libretro/${name}_libretro.smdh
@ -191,7 +189,7 @@ for f in *_${platform}.${EXT} ; do
elif [ $PLATFORM = "vita" ] ; then
rm -f ../retroarch_${platform}.velf ../retroarch_${platform}.elf
elif [ $PLATFORM = "ctr" ] ; then
rm -f ../retroarch_3ds_stripped.elf
rm -f ../retroarch_3ds.elf
rm -f ../retroarch_3ds.rsf
rm -f ../retroarch_3ds.bnr
rm -f ../retroarch_3ds.icn

View File

@ -88,6 +88,8 @@ typedef struct ctr_video
bool lcd_buttom_on;
void* empty_framebuffer;
aptHookCookie lcd_aptHook;
} ctr_video_t;
static INLINE void ctr_set_scale_vector(ctr_scale_vector_t* vec,
@ -211,6 +213,28 @@ static void ctr_update_viewport(ctr_video_t* ctr)
}
static void ctr_lcd_aptHook(int hook, void* param)
{
ctr_video_t *ctr = (ctr_video_t*)param;
if(!ctr)
return;
if((hook == APTHOOK_ONSUSPEND) || (hook == APTHOOK_ONRESTORE))
{
Handle lcd_handle;
u8 not_2DS;
CFGU_GetModelNintendo2DS(&not_2DS);
if(not_2DS && srvGetServiceHandle(&lcd_handle, "gsp::Lcd") >= 0)
{
u32 *cmdbuf = getThreadCommandBuffer();
cmdbuf[0] = ((hook == APTHOOK_ONSUSPEND) || ctr->lcd_buttom_on)? 0x00110040: 0x00120040;
cmdbuf[1] = 2;
svcSendSyncRequest(lcd_handle);
svcCloseHandle(lcd_handle);
}
}
}
static void* ctr_init(const video_info_t* video,
const input_driver_t** input, void** input_data)
{
@ -349,6 +373,8 @@ static void* ctr_init(const video_info_t* video,
driver_set_refresh_rate((32730.0 * 8192.0) / 4481134.0);
aptHook(&ctr->lcd_aptHook, ctr_lcd_aptHook, ctr);
return ctr;
}
@ -575,6 +601,7 @@ static void ctr_free(void* data)
if (!ctr)
return;
aptUnhook(&ctr->lcd_aptHook);
shaderProgramFree(&ctr->shader);
DVLB_Free(ctr->dvlb);
linearFree(ctr->display_list);