From 7e47b79c1c9288cd058a24847cd0ff85f7f74a39 Mon Sep 17 00:00:00 2001 From: aliaspider Date: Wed, 23 Sep 2015 16:34:06 +0100 Subject: [PATCH] (ctr/3ds) update build. --- Makefile.ctr | 21 +++++++++++++-------- ctr/Makefile.cores | 31 +++++++++++++++++++++++++++++++ ctr/catsfc_plus.png | Bin 0 -> 5630 bytes ctr/mednafen_pce_fast.png | Bin 0 -> 2001 bytes ctr/pcsx_rearmed.png | Bin 0 -> 2516 bytes 5 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 ctr/catsfc_plus.png create mode 100644 ctr/mednafen_pce_fast.png create mode 100644 ctr/pcsx_rearmed.png diff --git a/Makefile.ctr b/Makefile.ctr index 256c3919a2..16dbcb0100 100644 --- a/Makefile.ctr +++ b/Makefile.ctr @@ -1,11 +1,12 @@ TARGET := retroarch_3ds LIBRETRO = -DEBUG = 0 -GRIFFIN_BUILD = 1 +DEBUG = 0 +GRIFFIN_BUILD = 1 WHOLE_ARCHIVE_LINK = 0 -BUILD_3DSX = 1 -BUILD_CIA = 1 +BIG_STACK = 0 +BUILD_3DSX = 1 +BUILD_CIA = 1 APP_TITLE = Retroarch 3DS APP_DESCRIPTION = Retroarch 3DS @@ -19,7 +20,11 @@ APP_CIA_RSF = ctr/tools/template-cia.rsf APP_3DS_RSF = ctr/tools/template-3ds.rsf +ifeq ($(BIG_STACK),1) +CTR_STACK_SIZE = 0x400000 +else CTR_STACK_SIZE = 0x100000 +endif CTR_LINEAR_HEAP_SIZE = 0x600000 include ctr/Makefile.cores @@ -45,11 +50,10 @@ else OBJS += gfx/drivers_context/gfx_null_ctx.o OBJS += gfx/image/image.o OBJS += gfx/video_texture.o - OBJS += libretro-common/formats/tga/tga_decode.o - OBJS += libretro-common/formats/png/rpng_fbio.o - OBJS += libretro-common/formats/png/rpng_nbio.o - OBJS += libretro-common/formats/png/rpng_decode.o + OBJS += libretro-common/formats/tga/rtga.o + OBJS += libretro-common/formats/png/rpng.o OBJS += libretro-common/formats/png/rpng_encode.o + OBJS += libretro-common/formats/bmp/rbmp_encode.o OBJS += gfx/drivers/ctr_gfx.o OBJS += gfx/drivers/nullgfx.o OBJS += gfx/font_renderer_driver.o @@ -123,6 +127,7 @@ else OBJS += file_path_special.o OBJS += libretro-common/file/dir_list.o OBJS += libretro-common/file/retro_dirent.o + OBJS += libretro-common/file/retro_file.o OBJS += dir_list_special.o OBJS += libretro-common/string/string_list.o OBJS += libretro-common/string/stdstring.o diff --git a/ctr/Makefile.cores b/ctr/Makefile.cores index d0f78a8530..fee4bf0caa 100644 --- a/ctr/Makefile.cores +++ b/ctr/Makefile.cores @@ -181,4 +181,35 @@ else ifeq ($(LIBRETRO), fb_alpha_cps2) #APP_BANNER = ctr/libretro_banner.png #APP_AUDIO = ctr/silent.wav +else ifeq ($(LIBRETRO), catsfc_plus) + APP_TITLE = CATSFC Plus Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-CATSFCPLUS + APP_UNIQUE_ID = 0xBAC13 + APP_ICON = ctr/catsfc_plus.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + +else ifeq ($(LIBRETRO), mednafen_pce_fast) + APP_TITLE = Mednafen/Beetle PCE FAST + #APP_DESCRIPTION = Retroarch 3DS + APP_AUTHOR = Ryphecha + APP_PRODUCT_CODE = RARCH-M-PCE-FAST + APP_UNIQUE_ID = 0xBAC14 + APP_ICON = ctr/mednafen_pce_fast.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + +else ifeq ($(LIBRETRO), pcsx_rearmed) + APP_TITLE = PCSX ReARMed + #APP_DESCRIPTION = Retroarch 3DS + APP_AUTHOR = PCSX Team, notaz, Exophase + APP_PRODUCT_CODE = RARCH-PCSXRARMD + APP_UNIQUE_ID = 0xBAC15 + APP_ICON = ctr/pcsx_rearmed.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + BUILD_3DSX = 0 + endif diff --git a/ctr/catsfc_plus.png b/ctr/catsfc_plus.png new file mode 100644 index 0000000000000000000000000000000000000000..071967f690e40bbb6fd442b4dbd8c36f8008f5c5 GIT binary patch literal 5630 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 literal 0 HcmV?d00001 diff --git a/ctr/mednafen_pce_fast.png b/ctr/mednafen_pce_fast.png new file mode 100644 index 0000000000000000000000000000000000000000..eac64266137c14ec7f57790bbda5c24cc04dcaef GIT binary patch literal 2001 zcmZ`)dpOhkAO8+9H8vs}lA>5HZNjvc%d9cZ6ipe!To#%&mmzXXi*!>bIb*sYNyU)6 zlY7%K5(**2X++M69P8Iy&U&8TKfgbI&-;15U(e_De!rgAU!UiddECuOWvlj9002}- z&IAt`qJB15Q8rJ>{U<{P3Ly?;2LPzd+O`(3MfTPYa`qqtK*Bx%NaX^+4;hs@2LLfL z;XEAxusi_JipXzt$H^9ofv!#jVDo1^cu{g&#wbTPQ=?^W!#^8@H|C#{kxCpA`KZ#Q zvKDM7Ozr-V%tet;A~;Y&Cl+(Z*py*SVTyEIEJjQoXh-wt;I~#t^1HOhp#+g5Kf`vl zc+-2L@JX3>P5cAU7SFU=SdF0#JkYqDnTB3PVa5*5HXcagEsY2jAr4iAuZ?yt9+Z9& z{TTYO>UW;WMGL>0rPoX5eKs)86Ec=YsWSuv=EB;GuN)+-jXy<(A?2~Z$z#IVN29Yp}FCfw@=j`!OQJ8jwRD=#Wc^ zS}pYvH-emm{vB)N@%uhgw@rqbl?^Er^;Cf%W;Eo+oI6}A8-9_!CG9Ikk zB^Iyjv~5_%sPFZkelH#_V(&`mg?5@{n3qOGQ$?p`|ux8WFPCBY&Rr z2qtF-E-f!Fs7_$WxtKh8y71khzT|^AzIM@&p0|52l~~<<7qkO^y!8wR!vJDxlLhJKXc9; zyDcQ)YifmBbs^kUF6Qa#eC&K{c+qkFd-ALG^H4aA7t#-HNXC?~1P{FQpD7O5T#H`P0IcQ@G~msldb` zTz6+>5GN^iXO0M`UK*=0v|!sJ9o)O@>zkj4bu)h&c|>chYIFc4d{DhFbGvqOYgsNe zd2@*|ud?~>&*vh)%Im4<^pw7oUbbEHFEM3q`)_x^duw!#@!-2=dUBszn)?@uU5B_A zLvMMR+kWcE+GthMdL6myG+833)9H#GMVw$>r~K*?bEhR`b&HnWi|(k(mHE-h;&^^4 zL;2(tP4o4Cc4hCkqV+K)>UdP$*USC=Y6&-V146~-Pi+>LxG)?wzMH*q?pDe~V@GM} zcHJZ?Ea}Aufb!%ij^{r$v`E$KNg>0|PR4tL3d6|)MuexFMO(G_-94w&UdQ6g?UxDN zAC$oXOVzYbA7}RDmbY8a{LWEDjZ6FXv|x|?G2Zjx?rXI|v#chG*g4+Z&Ez*{Wac#2 zhE%~FiOnGu9J-&gq6$6H{U-wYMAtX3LwTO!q#D)qw|-{DA!)6;g!yV&xchUVX zyb&18gwDv5G+$yeQN zNWKwX-Z1i)6!ry4b2RskR8kt=zo|G)7y#oNqYw$_m!AzM$$r=iwc`TJ+~OaDcY3Fk zc9W_~XR3BUGMJEmG+^Z-FMp^K>$<1eL93favOQzqS_mt+$RU;v#EB|{_*~ttk82Hs z`UjI!KYFd~-*B0_Mt5))wTc_!Ou8C5n1GBq`?QN}!l==gLO zYT#(d$O5Bd!8)qB>KP_kY6X3L`@iYV&9`Cnr?H~vJ0S3zafei%s}YH=(iQ57(Ew@UdB1ySx;+;?QhxPQyoRdY z^vb3CQHj$Lhof7pEV$tIH>R4dol8Tm+}0{<0mlWIrms)Z5R<7JkQE~5Uav|SdGBIF zu!mpM=r@`wL}gF)kPwP*Hx^pPP39=%{q3_b!5i~8q39ePyvOM_;FAonDd-q52b|c{ zFUx{C*a%ye5E!h&s?Mgok^n_<=ufyVORl|~qh6fg01g8i6vdDMV1YtgnV}AuSsbLG zt+5t|uxM)&6dH>{<*Wal{yzd1J2>og{Qnm$9y^7V2@pRWPOwjN;sT-=KwMm$dDvNI bbWlJ9!<-!z!v71WEjt28N8JeJczW8uL|Tw3 literal 0 HcmV?d00001 diff --git a/ctr/pcsx_rearmed.png b/ctr/pcsx_rearmed.png new file mode 100644 index 0000000000000000000000000000000000000000..7333804dfb2c88c9c60616af779dc2e9aabd1446 GIT binary patch literal 2516 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 X