diff --git a/Makefile.ctr b/Makefile.ctr index 133c0907e9..bc80f2714a 100644 --- a/Makefile.ctr +++ b/Makefile.ctr @@ -27,7 +27,7 @@ CTR_STACK_SIZE = 0x400000 else CTR_STACK_SIZE = 0x100000 endif -CTR_LINEAR_HEAP_SIZE = 0xE00000 +CTR_LINEAR_HEAP_SIZE = 0x600000 include ctr/Makefile.cores @@ -178,9 +178,7 @@ else OBJS += menu/menu_entry.o OBJS += menu/menu_entries.o OBJS += menu/menu_setting.o - OBJS += menu/menu_list.o OBJS += menu/menu_cbs.o - OBJS += menu/menu_video.o OBJS += menu/cbs/menu_cbs_ok.o OBJS += menu/cbs/menu_cbs_cancel.o OBJS += menu/cbs/menu_cbs_select.o diff --git a/ctr/Makefile.cores b/ctr/Makefile.cores index 053536e3bd..361790dd3f 100644 --- a/ctr/Makefile.cores +++ b/ctr/Makefile.cores @@ -11,6 +11,7 @@ ifeq ($(LIBRETRO), gambatte) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), gpsp) APP_TITLE = gpSP Libretro @@ -23,6 +24,7 @@ else ifeq ($(LIBRETRO), gpsp) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), fceumm) APP_TITLE = FCeumm Libretro @@ -35,6 +37,7 @@ else ifeq ($(LIBRETRO), fceumm) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), nestopia) APP_TITLE = Nestopia Libretro @@ -47,6 +50,7 @@ else ifeq ($(LIBRETRO), nestopia) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + CTR_LINEAR_HEAP_SIZE = 0xE00000 else ifeq ($(LIBRETRO), nxengine) APP_TITLE = NXengine Libretro @@ -59,6 +63,7 @@ else ifeq ($(LIBRETRO), nxengine) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), genesis_plus_gx) APP_TITLE = Genesis Plus GX Libretro @@ -71,6 +76,7 @@ else ifeq ($(LIBRETRO), genesis_plus_gx) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + CTR_LINEAR_HEAP_SIZE = 0xE00000 else ifeq ($(LIBRETRO), catsfc) APP_TITLE = CATSFC Libretro @@ -83,6 +89,7 @@ else ifeq ($(LIBRETRO), catsfc) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), mednafen_wswan) APP_TITLE = Mednafen wswan Libretro @@ -95,6 +102,7 @@ else ifeq ($(LIBRETRO), mednafen_wswan) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + CTR_LINEAR_HEAP_SIZE = 0xE00000 else ifeq ($(LIBRETRO), mednafen_vb) APP_TITLE = Mednafen VB Libretro @@ -107,6 +115,7 @@ else ifeq ($(LIBRETRO), mednafen_vb) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + CTR_LINEAR_HEAP_SIZE = 0xE00000 else ifeq ($(LIBRETRO), mednafen_ngp) APP_TITLE = Mednafen NGP Libretro @@ -119,6 +128,7 @@ else ifeq ($(LIBRETRO), mednafen_ngp) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + CTR_LINEAR_HEAP_SIZE = 0xE00000 else ifeq ($(LIBRETRO), 2048) APP_TITLE = 2048 Libretro @@ -131,6 +141,7 @@ else ifeq ($(LIBRETRO), 2048) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + CTR_LINEAR_HEAP_SIZE = 0xE00000 else ifeq ($(LIBRETRO), picodrive) APP_TITLE = Picodrive Libretro @@ -143,6 +154,7 @@ else ifeq ($(LIBRETRO), picodrive) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), snes9x_next) APP_TITLE = Snes9x Next Libretro @@ -155,6 +167,7 @@ else ifeq ($(LIBRETRO), snes9x_next) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), mgba) APP_TITLE = mGBA Libretro @@ -167,6 +180,7 @@ else ifeq ($(LIBRETRO), mgba) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), quicknes) APP_TITLE = QuickNES Libretro @@ -179,6 +193,7 @@ else ifeq ($(LIBRETRO), quicknes) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), fb_alpha_neo) APP_TITLE = Neo Geo (FB Alpha) @@ -191,6 +206,7 @@ else ifeq ($(LIBRETRO), fb_alpha_neo) #APP_AUDIO = ctr/silent.wav APP_SYSTEM_MODE = 80MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), fb_alpha_cps1) APP_TITLE = Final Burn Alpha - CPS-1 @@ -203,6 +219,7 @@ else ifeq ($(LIBRETRO), fb_alpha_cps1) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), fb_alpha_cps2) APP_TITLE = Final Burn Alpha - CPS-2 @@ -215,6 +232,7 @@ else ifeq ($(LIBRETRO), fb_alpha_cps2) #APP_AUDIO = ctr/silent.wav APP_SYSTEM_MODE = 80MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), catsfc_plus) APP_TITLE = CATSFC Plus Libretro @@ -227,6 +245,7 @@ else ifeq ($(LIBRETRO), catsfc_plus) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), mednafen_pce_fast) APP_TITLE = Mednafen/Beetle PCE FAST @@ -239,6 +258,7 @@ else ifeq ($(LIBRETRO), mednafen_pce_fast) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 else ifeq ($(LIBRETRO), pcsx_rearmed) APP_TITLE = PCSX ReARMed @@ -251,6 +271,7 @@ else ifeq ($(LIBRETRO), pcsx_rearmed) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + CTR_LINEAR_HEAP_SIZE = 0xE00000 else ifeq ($(LIBRETRO), fmsx) APP_TITLE = fMSX @@ -263,5 +284,6 @@ else ifeq ($(LIBRETRO), fmsx) #APP_AUDIO = ctr/silent.wav #APP_SYSTEM_MODE = 64MB #APP_SYSTEM_MODE_EXT = Legacy + #CTR_LINEAR_HEAP_SIZE = 0x600000 endif diff --git a/frontend/drivers/platform_ctr.c b/frontend/drivers/platform_ctr.c index b5b7baf4ed..3686cb2a47 100644 --- a/frontend/drivers/platform_ctr.c +++ b/frontend/drivers/platform_ctr.c @@ -34,7 +34,6 @@ #include "../../file_ext.h" #else #include "../../menu/menu.h" -#include "../../menu/menu_list.h" #endif const char* elf_path_cst = "sdmc:/retroarch/test.3dsx"; @@ -50,7 +49,7 @@ extern char* fake_heap_start; extern char* fake_heap_end; u32 __linear_heap; u32 __heapBase; -static u32 heap_size; +u32 heap_size; extern u32 linear_heap_size; extern void (*__system_retAddr)(void); diff --git a/gfx/drivers/ctr_gfx.c b/gfx/drivers/ctr_gfx.c index a8a2d4098a..8f9e4fcd55 100644 --- a/gfx/drivers/ctr_gfx.c +++ b/gfx/drivers/ctr_gfx.c @@ -258,12 +258,12 @@ static void* ctr_init(const video_info_t* video, ctr->vp.full_height = CTR_TOP_FRAMEBUFFER_HEIGHT; - ctr->display_list_size = 0x40000; + ctr->display_list_size = 0x400; ctr->display_list = linearAlloc(ctr->display_list_size * sizeof(uint32_t)); GPU_Reset(NULL, ctr->display_list, ctr->display_list_size); - ctr->texture_width = 1024; - ctr->texture_height = 512; + ctr->texture_width = video->input_scale * RARCH_SCALE_BASE; + ctr->texture_height = video->input_scale * RARCH_SCALE_BASE; ctr->texture_linear = linearMemAlign(ctr->texture_width * ctr->texture_height * sizeof(uint32_t), 128); ctr->texture_swizzled = @@ -281,9 +281,9 @@ static void* ctr_init(const video_info_t* video, ctr->menu.texture_width = 512; ctr->menu.texture_height = 512; ctr->menu.texture_linear = - linearMemAlign(ctr->texture_width * ctr->texture_height * sizeof(uint16_t), 128); + linearMemAlign(ctr->menu.texture_width * ctr->menu.texture_height * sizeof(uint16_t), 128); ctr->menu.texture_swizzled = - linearMemAlign(ctr->texture_width * ctr->texture_height * sizeof(uint16_t), 128); + linearMemAlign(ctr->menu.texture_width * ctr->menu.texture_height * sizeof(uint16_t), 128); ctr->menu.frame_coords = linearAlloc(sizeof(ctr_vertex_t)); @@ -459,6 +459,11 @@ static bool ctr_frame(void* data, const void* frame, frames = 0; } +// extern u32 __linear_heap_size; +// extern u32 gpuCmdBufOffset; +// extern u32 heap_size; +// printf("0x%08X 0x%08X 0x%08X\r", heap_size, gpuCmdBufOffset, (__linear_heap_size - linearSpaceFree() +0x3FF) & ~0x3FF); +// printf("fps: %8.4f frames: %i (%X)\r", fps, total_frames++, (__linear_heap_size - linearSpaceFree())); printf("fps: %8.4f frames: %i\r", fps, total_frames++); fflush(stdout); @@ -506,7 +511,7 @@ static bool ctr_frame(void* data, const void* frame, GSPGPU_FlushDataCache(NULL, ctr->texture_linear, ctr->texture_width * ctr->texture_height * sizeof(uint16_t)); - ctrGuCopyImage(false, ctr->texture_linear, ctr->texture_width, ctr->menu.texture_height, CTRGU_RGB565, false, + ctrGuCopyImage(false, ctr->texture_linear, ctr->texture_width, ctr->texture_height, CTRGU_RGB565, false, ctr->texture_swizzled, ctr->texture_width, CTRGU_RGB565, true); } diff --git a/gfx/drivers/ctr_gu.h b/gfx/drivers/ctr_gu.h index f0665258cb..e463a6a244 100644 --- a/gfx/drivers/ctr_gu.h +++ b/gfx/drivers/ctr_gu.h @@ -54,6 +54,8 @@ #ifndef DEBUG_HOLD void wait_for_input(void); #define DEBUG_HOLD() do{printf("%s@%s:%d.\n",__FUNCTION__, __FILE__, __LINE__);fflush(stdout);wait_for_input();}while(0) +#define DEBUG_VAR(X) printf( "%-20s: 0x%08X\n", #X, (u32)(X)) +#define DEBUG_VAR64(X) printf( #X"\r\t\t\t\t : 0x%016llX\n", (u64)(X)) #endif