aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'frontend')
-rwxr-xr-xfrontend/320240/caanoo.gpe23
-rw-r--r--frontend/320240/haptic_s.cfg3
-rw-r--r--frontend/320240/haptic_w.cfg3
-rw-r--r--frontend/320240/pcsx26.pngbin4763 -> 0 bytes
-rw-r--r--frontend/320240/pcsx_rearmed.ini6
-rw-r--r--frontend/320240/pcsxb.pngbin24784 -> 0 bytes
-rw-r--r--frontend/320240/pollux_set.c389
-rw-r--r--frontend/320240/skin/background.pngbin36069 -> 0 bytes
-rw-r--r--frontend/320240/skin/font.pngbin3185 -> 0 bytes
-rw-r--r--frontend/320240/skin/readme.txt8
-rw-r--r--frontend/320240/skin/selector.pngbin261 -> 0 bytes
-rw-r--r--frontend/320240/skin/skin.txt4
-rw-r--r--frontend/320240/ui_gp2x.h15
-rw-r--r--frontend/libretro.c82
-rw-r--r--frontend/libretro_core_options.h922
-rw-r--r--frontend/libretro_core_options_intl.h568
-rw-r--r--frontend/main.c4
17 files changed, 832 insertions, 1195 deletions
diff --git a/frontend/320240/caanoo.gpe b/frontend/320240/caanoo.gpe
deleted file mode 100755
index 9d6154a..0000000
--- a/frontend/320240/caanoo.gpe
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-# Wiz's timings are already good, apply this for Caanoo
-if [ -e /dev/accel ]; then
- ./pollux_set "ram_timings=3,9,4,1,1,1,1"
-fi
-
-# the sync mount causes problems when writing saves,
-# probably due to many write calls, so have to get rid of it
-if grep mmcblk /proc/mounts | grep -q '\<sync\>'; then
- oldmount=`grep mmcblk /proc/mounts | grep '\<sync\>' | awk '{print $4}'`
- mount /dev/mmcblk0p1 /mnt/sd/ -o remount,dirsync,noatime
-fi
-
-./pcsx "$@"
-sync
-
-if [ -n "$oldmount" ]; then
- mount /dev/mmcblk0p1 /mnt/sd/ -o remount,$oldmount
-fi
-
-cd /usr/gp2x
-exec ./gp2xmenu
diff --git a/frontend/320240/haptic_s.cfg b/frontend/320240/haptic_s.cfg
deleted file mode 100644
index 624056d..0000000
--- a/frontend/320240/haptic_s.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-0 126
-100 -126
-115 0
diff --git a/frontend/320240/haptic_w.cfg b/frontend/320240/haptic_w.cfg
deleted file mode 100644
index 3585a71..0000000
--- a/frontend/320240/haptic_w.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-0 54
-100 -126
-105 0
diff --git a/frontend/320240/pcsx26.png b/frontend/320240/pcsx26.png
deleted file mode 100644
index ed220a0..0000000
--- a/frontend/320240/pcsx26.png
+++ /dev/null
Binary files differ
diff --git a/frontend/320240/pcsx_rearmed.ini b/frontend/320240/pcsx_rearmed.ini
deleted file mode 100644
index b15497f..0000000
--- a/frontend/320240/pcsx_rearmed.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[info]
-name="PCSX ReARMed"
-icon="/pcsx_rearmed/pcsx26.png"
-path="/pcsx_rearmed/pcsx.gpe"
-title="/pcsx_rearmed/pcsxb.png"
-group="GAMES"
diff --git a/frontend/320240/pcsxb.png b/frontend/320240/pcsxb.png
deleted file mode 100644
index ff5a48a..0000000
--- a/frontend/320240/pcsxb.png
+++ /dev/null
Binary files differ
diff --git a/frontend/320240/pollux_set.c b/frontend/320240/pollux_set.c
deleted file mode 100644
index f49e777..0000000
--- a/frontend/320240/pollux_set.c
+++ /dev/null
@@ -1,389 +0,0 @@
-/*
- * quick tool to set various timings for Wiz
- *
- * Copyright (c) Gražvydas "notaz" Ignotas, 2009
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of the organization nor the
- * names of its contributors may be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * HTOTAL: X VTOTAL: 341
- * HSWIDTH: 1 VSWIDTH: 0
- * HASTART: 37 VASTART: 17
- * HAEND: 277 VAEND: 337
- *
- * 120Hz
- * pcd 8, 447: + 594us
- * pcd 9, 397: + 36us
- * pcd 10, 357: - 523us
- * pcd 11, 325: +1153us
- *
- * 'lcd_timings=397,1,37,277,341,0,17,337;dpc_clkdiv0=9'
- * 'ram_timings=2,9,4,1,1,1,1'
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-//#include "pollux_set.h"
-#define BINARY
-
-/* parse stuff */
-static int parse_lcd_timings(const char *str, void *data)
-{
- int *lcd_timings = data;
- const char *p = str;
- int ret, c;
- ret = sscanf(str, "%d,%d,%d,%d,%d,%d,%d,%d",
- &lcd_timings[0], &lcd_timings[1], &lcd_timings[2], &lcd_timings[3],
- &lcd_timings[4], &lcd_timings[5], &lcd_timings[6], &lcd_timings[7]);
- if (ret != 8)
- return -1;
- /* skip seven commas */
- for (c = 0; c < 7 && *p != 0; p++)
- if (*p == ',')
- c++;
- if (c != 7)
- return -1;
- /* skip last number */
- while ('0' <= *p && *p <= '9')
- p++;
-
- return p - str;
-}
-
-static int parse_ram_timings(const char *str, void *data)
-{
- int *ram_timings = data;
- const char *p = str;
- int ret, c;
- float cas;
-
- ret = sscanf(p, "%f,%d,%d,%d,%d,%d,%d",
- &cas, &ram_timings[1], &ram_timings[2], &ram_timings[3],
- &ram_timings[4], &ram_timings[5], &ram_timings[6]);
- if (ret != 7)
- return -1;
- if (cas == 2)
- ram_timings[0] = 1;
- else if (cas == 2.5)
- ram_timings[0] = 2;
- else if (cas == 3)
- ram_timings[0] = 3;
- else
- return -1;
- for (c = 0; c < 6 && *p != 0; p++)
- if (*p == ',')
- c++;
- if (c != 6)
- return -1;
- while ('0' <= *p && *p <= '9')
- p++;
-
- return p - str;
-}
-
-static int parse_decimal(const char *str, void *data)
-{
- char *ep;
-
- *(int *)data = strtoul(str, &ep, 10);
- if (ep == str)
- return -1;
-
- return ep - str;
-}
-
-/* validate and apply stuff */
-static int apply_lcd_timings(volatile unsigned short *memregs, void *data)
-{
- int *lcd_timings = data;
- int i;
-
- for (i = 0; i < 8; i++) {
- if (lcd_timings[i] & ~0xffff) {
- fprintf(stderr, "pollux_set: invalid lcd timing %d: %d\n", i, lcd_timings[i]);
- return -1;
- }
- }
-
- for (i = 0; i < 8; i++)
- memregs[(0x307c>>1) + i] = lcd_timings[i];
-
- return 0;
-}
-
-static const struct {
- signed char adj; /* how to adjust value passed by user */
- signed short min; /* range of */
- signed short max; /* allowed values (inclusive) */
-}
-ram_ranges[] = {
- { 0, 1, 3 }, /* cas (cl) */
- { -2, 0, 15 }, /* trc */
- { -2, 0, 15 }, /* tras */
- { 0, 0, 15 }, /* twr */
- { 0, 0, 15 }, /* tmrd */
- { 0, 0, 15 }, /* trp */
- { 0, 0, 15 }, /* trcd */
-};
-
-static int apply_ram_timings(volatile unsigned short *memregs, void *data)
-{
- int *ram_timings = data;
- int i, val;
-
- for (i = 0; i < 7; i++)
- {
- ram_timings[i] += ram_ranges[i].adj;
- if (ram_timings[i] < ram_ranges[i].min || ram_timings[i] > ram_ranges[i].max) {
- fprintf(stderr, "pollux_set: invalid RAM timing %d\n", i);
- return -1;
- }
- }
-
- val = memregs[0x14802>>1] & 0x0f00;
- val |= (ram_timings[4] << 12) | (ram_timings[5] << 4) | ram_timings[6];
- memregs[0x14802>>1] = val;
-
- val = memregs[0x14804>>1] & 0x4000;
- val |= (ram_timings[0] << 12) | (ram_timings[1] << 8) |
- (ram_timings[2] << 4) | ram_timings[3];
- val |= 0x8000;
- memregs[0x14804>>1] = val;
-
- for (i = 0; i < 0x100000 && (memregs[0x14804>>1] & 0x8000); i++)
- ;
-
- return 0;
-}
-
-static int apply_dpc_clkdiv0(volatile unsigned short *memregs, void *data)
-{
- int pcd = *(int *)data;
- int tmp;
-
- if ((pcd - 1) & ~0x3f) {
- fprintf(stderr, "pollux_set: invalid lcd clkdiv0: %d\n", pcd);
- return -1;
- }
-
- pcd = (pcd - 1) & 0x3f;
- tmp = memregs[0x31c4>>1];
- memregs[0x31c4>>1] = (tmp & ~0x3f0) | (pcd << 4);
-
- return 0;
-}
-
-static int apply_cpuclk(volatile unsigned short *memregs, void *data)
-{
- volatile unsigned int *memregl = (volatile void *)memregs;
- int mhz = *(int *)data;
- int adiv, mdiv, pdiv, sdiv = 0;
- int i, vf000, vf004;
-
- // m = MDIV, p = PDIV, s = SDIV
- #define SYS_CLK_FREQ 27
- pdiv = 9;
- mdiv = (mhz * pdiv) / SYS_CLK_FREQ;
- if (mdiv & ~0x3ff)
- return -1;
- vf004 = (pdiv<<18) | (mdiv<<8) | sdiv;
-
- // attempt to keep AHB the divider close to 250, but not higher
- for (adiv = 1; mhz / adiv > 250; adiv++)
- ;
-
- vf000 = memregl[0xf000>>2];
- vf000 = (vf000 & ~0x3c0) | ((adiv - 1) << 6);
- memregl[0xf000>>2] = vf000;
- memregl[0xf004>>2] = vf004;
- memregl[0xf07c>>2] |= 0x8000;
- for (i = 0; (memregl[0xf07c>>2] & 0x8000) && i < 0x100000; i++)
- ;
-
- printf("clock set to %dMHz, AHB set to %dMHz\n", mhz, mhz / adiv);
- return 0;
-}
-
-static int lcd_timings[8];
-static int ram_timings[7];
-static int dpc_clkdiv0;
-static int cpuclk;
-
-static const char lcd_t_help[] = "htotal,hswidth,hastart,haend,vtotal,vswidth,vastart,vaend";
-static const char ram_t_help[] = "CAS,tRC,tRAS,tWR,tMRD,tRP,tRCD";
-
-static const struct {
- const char *name;
- const char *help;
- int (*parse)(const char *str, void *data);
- int (*apply)(volatile unsigned short *memregs, void *data);
- void *data;
-}
-all_params[] = {
- { "lcd_timings", lcd_t_help, parse_lcd_timings, apply_lcd_timings, lcd_timings },
- { "ram_timings", ram_t_help, parse_ram_timings, apply_ram_timings, ram_timings },
- { "dpc_clkdiv0", "divider", parse_decimal, apply_dpc_clkdiv0, &dpc_clkdiv0 },
- { "clkdiv0", "divider", parse_decimal, apply_dpc_clkdiv0, &dpc_clkdiv0 }, /* alias */
- { "cpuclk", "MHZ", parse_decimal, apply_cpuclk, &cpuclk },
-};
-#define ALL_PARAM_COUNT (sizeof(all_params) / sizeof(all_params[0]))
-
-/*
- * set timings based on preformated string
- * returns 0 on success.
- */
-int pollux_set(volatile unsigned short *memregs, const char *str)
-{
- int parsed_params[ALL_PARAM_COUNT];
- int applied_params[ALL_PARAM_COUNT];
- int applied_something = 0;
- const char *p, *po;
- int i, ret;
-
- if (str == NULL)
- return -1;
-
- memset(parsed_params, 0, sizeof(parsed_params));
- memset(applied_params, 0, sizeof(applied_params));
-
- p = str;
- while (1)
- {
-again:
- while (*p == ';' || *p == ' ')
- p++;
- if (*p == 0)
- break;
-
- for (i = 0; i < ALL_PARAM_COUNT; i++)
- {
- int param_len = strlen(all_params[i].name);
- if (strncmp(p, all_params[i].name, param_len) == 0 && p[param_len] == '=')
- {
- p += param_len + 1;
- ret = all_params[i].parse(p, all_params[i].data);
- if (ret < 0) {
- fprintf(stderr, "pollux_set parser: error at %-10s\n", p);
- fprintf(stderr, " valid format is: <%s>\n", all_params[i].help);
- return -1;
- }
- parsed_params[i] = 1;
- p += ret;
- goto again;
- }
- }
-
- /* Unknown param. Attempt to be forward compatible and ignore it. */
- for (po = p; *p != 0 && *p != ';'; p++)
- ;
-
- fprintf(stderr, "unhandled param: ");
- fwrite(po, 1, p - po, stderr);
- fprintf(stderr, "\n");
- }
-
- /* validate and apply */
- for (i = 0; i < ALL_PARAM_COUNT; i++)
- {
- if (!parsed_params[i])
- continue;
-
- ret = all_params[i].apply(memregs, all_params[i].data);
- if (ret < 0) {
- fprintf(stderr, "pollux_set: failed to apply %s (bad value?)\n",
- all_params[i].name);
- continue;
- }
-
- applied_something = 1;
- applied_params[i] = 1;
- }
-
- if (applied_something)
- {
- int c;
- printf("applied: ");
- for (i = c = 0; i < ALL_PARAM_COUNT; i++)
- {
- if (!applied_params[i])
- continue;
- if (c != 0)
- printf(", ");
- printf("%s", all_params[i].name);
- c++;
- }
- printf("\n");
- }
-
- return 0;
-}
-
-#ifdef BINARY
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-static void usage(const char *binary)
-{
- int i;
- printf("usage:\n%s <set_str[;set_str[;...]]>\n"
- "set_str:\n", binary);
- for (i = 0; i < ALL_PARAM_COUNT; i++)
- printf(" %s=<%s>\n", all_params[i].name, all_params[i].help);
-}
-
-int main(int argc, char *argv[])
-{
- volatile unsigned short *memregs;
- int ret, memdev;
-
- if (argc != 2) {
- usage(argv[0]);
- return 1;
- }
-
- memdev = open("/dev/mem", O_RDWR);
- if (memdev == -1)
- {
- perror("open(/dev/mem) failed");
- return 1;
- }
-
- memregs = mmap(0, 0x20000, PROT_READ|PROT_WRITE, MAP_SHARED, memdev, 0xc0000000);
- if (memregs == MAP_FAILED)
- {
- perror("mmap(memregs) failed");
- close(memdev);
- return 1;
- }
-
- ret = pollux_set(memregs, argv[1]);
-
- munmap((void *)memregs, 0x20000);
- close(memdev);
-
- return ret;
-}
-#endif
diff --git a/frontend/320240/skin/background.png b/frontend/320240/skin/background.png
deleted file mode 100644
index 0efdd18..0000000
--- a/frontend/320240/skin/background.png
+++ /dev/null
Binary files differ
diff --git a/frontend/320240/skin/font.png b/frontend/320240/skin/font.png
deleted file mode 100644
index c526a08..0000000
--- a/frontend/320240/skin/font.png
+++ /dev/null
Binary files differ
diff --git a/frontend/320240/skin/readme.txt b/frontend/320240/skin/readme.txt
deleted file mode 100644
index dd83963..0000000
--- a/frontend/320240/skin/readme.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-The skin images can be customized, but there are several limitations:
-
-background.png - must be 320x240 image with 24bit RGB colors.
-font.png - must be 128x160 8bit grayscale image.
-selector.png - must be 8x10 8bit grayscale image.
-
-Font and selector colors can be changed by editing skin.txt.
-
diff --git a/frontend/320240/skin/selector.png b/frontend/320240/skin/selector.png
deleted file mode 100644
index 5062cc2..0000000
--- a/frontend/320240/skin/selector.png
+++ /dev/null
Binary files differ
diff --git a/frontend/320240/skin/skin.txt b/frontend/320240/skin/skin.txt
deleted file mode 100644
index 1d6979f..0000000
--- a/frontend/320240/skin/skin.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// html-style hex color codes, ex. ff0000 is red, 0000ff is blue, etc.
-text_color=ffffc0
-selection_color=808010
-
diff --git a/frontend/320240/ui_gp2x.h b/frontend/320240/ui_gp2x.h
deleted file mode 100644
index a9c4413..0000000
--- a/frontend/320240/ui_gp2x.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef UI_FEATURES_H
-#define UI_FEATURES_H
-
-#define MENU_BIOS_PATH "pcsx_rearmed/bios/"
-#define MENU_SHOW_VARSCALER 0
-#define MENU_SHOW_VOUTMODE 0
-#define MENU_SHOW_SCALER2 1
-#define MENU_SHOW_NUBS_BTNS 0
-#define MENU_SHOW_VIBRATION 1
-#define MENU_SHOW_DEADZONE 1
-#define MENU_SHOW_MINIMIZE 0
-#define MENU_SHOW_FULLSCREEN 0
-#define MENU_SHOW_VOLUME 1
-
-#endif // UI_FEATURES_H
diff --git a/frontend/libretro.c b/frontend/libretro.c
index 919fabb..785213b 100644
--- a/frontend/libretro.c
+++ b/frontend/libretro.c
@@ -135,6 +135,16 @@ static int snd_init(void){return 0;}
static void snd_finish(void){}
static int snd_busy(void){return 0;}
+#define GPU_PEOPS_ODD_EVEN_BIT (1 << 0)
+#define GPU_PEOPS_EXPAND_SCREEN_WIDTH (1 << 1)
+#define GPU_PEOPS_IGNORE_BRIGHTNESS (1 << 2)
+#define GPU_PEOPS_DISABLE_COORD_CHECK (1 << 3)
+#define GPU_PEOPS_LAZY_SCREEN_UPDATE (1 << 6)
+#define GPU_PEOPS_OLD_FRAME_SKIP (1 << 7)
+#define GPU_PEOPS_REPEATED_TRIANGLES (1 << 8)
+#define GPU_PEOPS_QUADS_WITH_TRIANGLES (1 << 9)
+#define GPU_PEOPS_FAKE_BUSY_STATE (1 << 10)
+
static void init_memcard(char *mcd_data)
{
unsigned off = 0;
@@ -963,11 +973,11 @@ static struct retro_disk_control_callback disk_control = {
#define PATH_MAX 4096
#endif
-static char base_dir[PATH_MAX];
+static char base_dir[1024];
static bool read_m3u(const char *file)
{
- char line[PATH_MAX];
+ char line[1024];
char name[PATH_MAX];
FILE *f = fopen(file, "r");
if (!f)
@@ -1324,7 +1334,7 @@ size_t retro_get_memory_size(unsigned id)
if (id == RETRO_MEMORY_SAVE_RAM)
return MCD_SIZE;
else if (id == RETRO_MEMORY_SYSTEM_RAM)
- return 0x210000;
+ return 0x200000;
else
return 0;
}
@@ -1636,91 +1646,91 @@ static void update_variables(bool in_flight)
#ifdef GPU_PEOPS
var.value = "NULL";
- var.key = "pcsx_rearmed_gpu_peops_fix_0";
+ var.key = "pcsx_rearmed_gpu_peops_odd_even_bit";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (strcmp(var.value, "enabled") == 0)
- gpu_peops_fix |= (1 << 0);
+ gpu_peops_fix |= GPU_PEOPS_ODD_EVEN_BIT;
}
var.value = "NULL";
- var.key = "pcsx_rearmed_gpu_peops_fix_1";
+ var.key = "pcsx_rearmed_gpu_peops_expand_screen_width";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (strcmp(var.value, "enabled") == 0)
- gpu_peops_fix |= (1 << 1);
+ gpu_peops_fix |= GPU_PEOPS_EXPAND_SCREEN_WIDTH;
}
var.value = "NULL";
- var.key = "pcsx_rearmed_gpu_peops_fix_2";
+ var.key = "pcsx_rearmed_gpu_peops_ignore_brightness";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (strcmp(var.value, "enabled") == 0)
- gpu_peops_fix |= (1 << 2);
+ gpu_peops_fix |= GPU_PEOPS_IGNORE_BRIGHTNESS;
}
var.value = "NULL";
- var.key = "pcsx_rearmed_gpu_peops_fix_3";
+ var.key = "pcsx_rearmed_gpu_peops_disable_coord_check";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (strcmp(var.value, "enabled") == 0)
- gpu_peops_fix |= (1 << 3);
+ gpu_peops_fix |= GPU_PEOPS_DISABLE_COORD_CHECK;
}
var.value = "NULL";
- var.key = "pcsx_rearmed_gpu_peops_fix_6";
+ var.key = "pcsx_rearmed_gpu_peops_lazy_screen_update";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (strcmp(var.value, "enabled") == 0)
- gpu_peops_fix |= (1 << 6);
+ gpu_peops_fix |= GPU_PEOPS_LAZY_SCREEN_UPDATE;
}
var.value = "NULL";
- var.key = "pcsx_rearmed_gpu_peops_fix_7";
+ var.key = "pcsx_rearmed_gpu_peops_old_frame_skip";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (strcmp(var.value, "enabled") == 0)
- gpu_peops_fix |= (1 << 7);
+ gpu_peops_fix |= GPU_PEOPS_OLD_FRAME_SKIP;
}
var.value = "NULL";
- var.key = "pcsx_rearmed_gpu_peops_fix_8";
+ var.key = "pcsx_rearmed_gpu_peops_repeated_triangles";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (strcmp(var.value, "enabled") == 0)
- gpu_peops_fix |= (1 << 8);
+ gpu_peops_fix |= GPU_PEOPS_REPEATED_TRIANGLES;
}
var.value = "NULL";
- var.key = "pcsx_rearmed_gpu_peops_fix_9";
+ var.key = "pcsx_rearmed_gpu_peops_quads_with_triangles";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (strcmp(var.value, "enabled") == 0)
- gpu_peops_fix |= (1 << 9);
+ gpu_peops_fix |= GPU_PEOPS_QUADS_WITH_TRIANGLES;
}
var.value = "NULL";
- var.key = "pcsx_rearmed_gpu_peops_fix_10";
+ var.key = "pcsx_rearmed_gpu_peops_fake_busy_state";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (strcmp(var.value, "enabled") == 0)
- gpu_peops_fix |= (1 << 10);
+ gpu_peops_fix |= GPU_PEOPS_FAKE_BUSY_STATE;
}
if (pl_rearmed_cbs.gpu_peops.dwActFixes != gpu_peops_fix)
pl_rearmed_cbs.gpu_peops.dwActFixes = gpu_peops_fix;
- /* Show/hide core options */
+ /* Show/hide core options */
var.key = "pcsx_rearmed_show_gpu_peops_settings";
var.value = NULL;
@@ -1737,16 +1747,16 @@ static void update_variables(bool in_flight)
{
unsigned i;
struct retro_core_option_display option_display;
- char gpu_peops_option[9][32] = {
- "pcsx_rearmed_gpu_peops_fix_0",
- "pcsx_rearmed_gpu_peops_fix_1",
- "pcsx_rearmed_gpu_peops_fix_2",
- "pcsx_rearmed_gpu_peops_fix_3",
- "pcsx_rearmed_gpu_peops_fix_6",
- "pcsx_rearmed_gpu_peops_fix_7",
- "pcsx_rearmed_gpu_peops_fix_8",
- "pcsx_rearmed_gpu_peops_fix_9",
- "pcsx_rearmed_gpu_peops_fix_10",
+ char gpu_peops_option[9][45] = {
+ "pcsx_rearmed_gpu_peops_odd_even_bit",
+ "pcsx_rearmed_gpu_peops_expand_screen_width",
+ "pcsx_rearmed_gpu_peops_ignore_brightness",
+ "pcsx_rearmed_gpu_peops_disable_coord_check",
+ "pcsx_rearmed_gpu_peops_lazy_screen_update",
+ "pcsx_rearmed_gpu_peops_old_frame_skip",
+ "pcsx_rearmed_gpu_peops_repeated_triangles",
+ "pcsx_rearmed_gpu_peops_quads_with_triangles",
+ "pcsx_rearmed_gpu_peops_fake_busy_state",
};
option_display.visible = show_advanced_gpu_peops_settings;
@@ -2161,7 +2171,7 @@ static bool find_any_bios(const char *dirpath, char *path, size_t path_size)
return false;
while ((ent = readdir(dir))) {
- if (strncasecmp(ent->d_name, "scph", 4) != 0)
+ if ((strncasecmp(ent->d_name, "scph", 4) != 0) && (strncasecmp(ent->d_name, "psx", 3) != 0))
continue;
snprintf(path, path_size, "%s%c%s", dirpath, SLASH, ent->d_name);
@@ -2223,10 +2233,11 @@ static int init_memcards(void)
static void loadPSXBios(void)
{
const char *dir;
- char path[256];
+ char path[PATH_MAX];
unsigned useHLE = 0;
const char *bios[] = {
+ "PSXONPSP660", "psxonpsp660",
"SCPH101", "scph101",
"SCPH5501", "scph5501",
"SCPH7001", "scph7001",
@@ -2340,7 +2351,7 @@ void retro_init(void)
cycle_multiplier = 200;
#endif
pl_rearmed_cbs.gpu_peops.iUseDither = 1;
- pl_rearmed_cbs.gpu_peops.dwActFixes = 1 << 7;
+ pl_rearmed_cbs.gpu_peops.dwActFixes = GPU_PEOPS_OLD_FRAME_SKIP;
spu_config.iUseFixedUpdates = 1;
SaveFuncs.open = save_open;
@@ -2358,6 +2369,7 @@ void retro_init(void)
void retro_deinit(void)
{
+ ClosePlugins();
SysClose();
#ifdef _3DS
linearFree(vout_buf);
diff --git a/frontend/libretro_core_options.h b/frontend/libretro_core_options.h
index bfb21a5..1ecc9a9 100644
--- a/frontend/libretro_core_options.h
+++ b/frontend/libretro_core_options.h
@@ -7,6 +7,28 @@
#include <libretro.h>
#include <retro_inline.h>
+#ifndef HAVE_NO_LANGEXTRA
+#include "libretro_core_options_intl.h"
+#endif
+
+/*
+ ********************************
+ * VERSION: 1.3
+ ********************************
+ *
+ * - 1.3: Move translations to libretro_core_options_intl.h
+ * - libretro_core_options_intl.h includes BOM and utf-8
+ * fix for MSVC 2010-2013
+ * - Added HAVE_NO_LANGEXTRA flag to disable translations
+ * on platforms/compilers without BOM support
+ * - 1.2: Use core options v1 interface when
+ * RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION is >= 1
+ * (previously required RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION == 1)
+ * - 1.1: Support generation of core options v0 retro_core_option_value
+ * arrays containing options with a single value
+ * - 1.0: First commit
+*/
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -27,14 +49,6 @@ extern "C" {
* frontend language definition
*/
-#ifdef HAVE_PRE_ARMV7
-#define PSX_CLOCK_DEFAULT "50"
-#define PSX_CLOCK_LABEL "Overclock or underclock the PSX clock. Default is 50"
-#else
-#define PSX_CLOCK_DEFAULT "57"
-#define PSX_CLOCK_LABEL "Overclock or underclock the PSX clock. Default is 57"
-#endif
-
struct retro_core_option_definition option_defs_us[] = {
{
"pcsx_rearmed_frameskip",
@@ -45,7 +59,7 @@ struct retro_core_option_definition option_defs_us[] = {
{ "1", NULL },
{ "2", NULL },
{ "3", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"0",
},
@@ -55,8 +69,8 @@ struct retro_core_option_definition option_defs_us[] = {
"Allows you to use real bios file (if available) or emulated bios (HLE). Its recommended to use official bios file for better compatibility.",
{
{ "auto", "auto" },
- { "HLE", "hle" },
- { NULL, NULL},
+ { "HLE", "hle" },
+ { NULL, NULL },
},
"auto",
},
@@ -67,8 +81,8 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "auto", "auto" },
{ "NTSC", "ntsc" },
- { "PAL", "pal" },
- { NULL, NULL},
+ { "PAL", "pal" },
+ { NULL, NULL },
},
"auto",
},
@@ -77,23 +91,23 @@ struct retro_core_option_definition option_defs_us[] = {
"Enable Second Memory Card (Shared)",
"Enabled the memory card slot 2. This memory card is shared amongst all games.",
{
- { "disable", NULL },
+ { "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
- "disable",
+ "disabled",
},
{
"pcsx_rearmed_pad1type",
"Pad 1 Type",
"Pad type for player 1",
{
- { "standard", NULL },
- { "analog", NULL },
+ { "standard", NULL },
+ { "analog", NULL },
{ "dualshock", NULL },
- { "negcon", NULL },
- { "none", NULL },
- { NULL, NULL},
+ { "negcon", NULL },
+ { "none", NULL },
+ { NULL, NULL },
},
"standard",
},
@@ -102,12 +116,12 @@ struct retro_core_option_definition option_defs_us[] = {
"Pad 2 Type",
"Pad type for player 2",
{
- { "standard", NULL },
- { "analog", NULL },
+ { "standard", NULL },
+ { "analog", NULL },
{ "dualshock", NULL },
- { "negcon", NULL },
- { "none", NULL },
- { NULL, NULL},
+ { "negcon", NULL },
+ { "none", NULL },
+ { NULL, NULL },
},
"standard",
},
@@ -116,12 +130,12 @@ struct retro_core_option_definition option_defs_us[] = {
"Pad 3 Type",
"Pad type for player 3",
{
- { "standard", NULL },
- { "analog", NULL },
+ { "standard", NULL },
+ { "analog", NULL },
{ "dualshock", NULL },
- { "negcon", NULL },
- { "none", NULL },
- { NULL, NULL},
+ { "negcon", NULL },
+ { "none", NULL },
+ { NULL, NULL },
},
"none",
},
@@ -130,12 +144,12 @@ struct retro_core_option_definition option_defs_us[] = {
"Pad 4 Type",
"Pad type for player 4",
{
- { "standard", NULL },
- { "analog", NULL },
+ { "standard", NULL },
+ { "analog", NULL },
{ "dualshock", NULL },
- { "negcon", NULL },
- { "none", NULL },
- { NULL, NULL},
+ { "negcon", NULL },
+ { "none", NULL },
+ { NULL, NULL },
},
"none",
},
@@ -144,12 +158,12 @@ struct retro_core_option_definition option_defs_us[] = {
"Pad 5 Type",
"Pad type for player 5",
{
- { "standard", NULL },
- { "analog", NULL },
+ { "standard", NULL },
+ { "analog", NULL },
{ "dualshock", NULL },
- { "negcon", NULL },
- { "none", NULL },
- { NULL, NULL},
+ { "negcon", NULL },
+ { "none", NULL },
+ { NULL, NULL },
},
"none",
},{
@@ -157,12 +171,12 @@ struct retro_core_option_definition option_defs_us[] = {
"Pad 6 Type",
"Pad type for player 6",
{
- { "standard", NULL },
- { "analog", NULL },
+ { "standard", NULL },
+ { "analog", NULL },
{ "dualshock", NULL },
- { "negcon", NULL },
- { "none", NULL },
- { NULL, NULL},
+ { "negcon", NULL },
+ { "none", NULL },
+ { NULL, NULL },
},
"none",
},{
@@ -170,12 +184,12 @@ struct retro_core_option_definition option_defs_us[] = {
"Pad 7 Type",
"Pad type for player 7",
{
- { "standard", NULL },
- { "analog", NULL },
+ { "standard", NULL },
+ { "analog", NULL },
{ "dualshock", NULL },
- { "negcon", NULL },
- { "none", NULL },
- { NULL, NULL},
+ { "negcon", NULL },
+ { "none", NULL },
+ { NULL, NULL },
},
"none",
},{
@@ -183,12 +197,12 @@ struct retro_core_option_definition option_defs_us[] = {
"Pad 8 Type",
"Pad type for player 8",
{
- { "standard", NULL },
- { "analog", NULL },
+ { "standard", NULL },
+ { "analog", NULL },
{ "dualshock", NULL },
- { "negcon", NULL },
- { "none", NULL },
- { NULL, NULL},
+ { "negcon", NULL },
+ { "none", NULL },
+ { NULL, NULL },
},
"none",
},
@@ -197,10 +211,10 @@ struct retro_core_option_definition option_defs_us[] = {
"Multitap 1",
"Enables/Disables multitap on port 1, allowing upto 5 players in games that permit it.",
{
- { "auto", NULL },
+ { "auto", NULL },
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"auto",
},
@@ -209,10 +223,10 @@ struct retro_core_option_definition option_defs_us[] = {
"Multitap 2",
"Enables/Disables multitap on port 2, allowing up to 8 players in games that permit it. Multitap 1 has to be enabled for this to work.",
{
- { "auto", NULL },
- { "disabled", NULL },
- { "enabled", NULL },
- { NULL, NULL},
+ { "auto", NULL },
+ { "disabled", NULL },
+ { "enabled", NULL },
+ { NULL, NULL },
},
"auto",
},
@@ -228,7 +242,7 @@ struct retro_core_option_definition option_defs_us[] = {
{ "20", NULL },
{ "25", NULL },
{ "30", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"0",
},
@@ -237,10 +251,10 @@ struct retro_core_option_definition option_defs_us[] = {
"NegCon Twist Response",
"Specifies the analog response when using a RetroPad left analog stick to simulate the 'twist' action of emulated neGcon Controllers.",
{
- { "linear", NULL },
+ { "linear", NULL },
{ "quadratic", NULL },
- { "cubic", NULL },
- { NULL, NULL},
+ { "cubic", NULL },
+ { NULL, NULL },
},
"linear",
},
@@ -251,7 +265,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"enabled",
},
@@ -262,7 +276,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"enabled",
},
@@ -275,89 +289,97 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"enabled",
},
{
"pcsx_rearmed_psxclock",
"PSX CPU Clock",
- PSX_CLOCK_LABEL,
+#ifdef HAVE_PRE_ARMV7
+ "Overclock or underclock the PSX clock. Default is 50",
+#else
+ "Overclock or underclock the PSX clock. Default is 57",
+#endif
{
- { "30", NULL },
- { "31", NULL },
- { "32", NULL },
- { "33", NULL },
- { "34", NULL },
- { "35", NULL },
- { "36", NULL },
- { "37", NULL },
- { "38", NULL },
- { "39", NULL },
- { "40", NULL },
- { "41", NULL },
- { "42", NULL },
- { "43", NULL },
- { "44", NULL },
- { "45", NULL },
- { "46", NULL },
- { "47", NULL },
- { "48", NULL },
- { "49", NULL },
- { "50", NULL },
- { "51", NULL },
- { "52", NULL },
- { "53", NULL },
- { "54", NULL },
- { "55", NULL },
- { "56", NULL },
- { "57", NULL },
- { "58", NULL },
- { "59", NULL },
- { "60", NULL },
- { "61", NULL },
- { "62", NULL },
- { "63", NULL },
- { "64", NULL },
- { "65", NULL },
- { "66", NULL },
- { "67", NULL },
- { "68", NULL },
- { "69", NULL },
- { "70", NULL },
- { "71", NULL },
- { "72", NULL },
- { "73", NULL },
- { "74", NULL },
- { "75", NULL },
- { "76", NULL },
- { "77", NULL },
- { "78", NULL },
- { "79", NULL },
- { "80", NULL },
- { "81", NULL },
- { "82", NULL },
- { "83", NULL },
- { "84", NULL },
- { "85", NULL },
- { "86", NULL },
- { "87", NULL },
- { "88", NULL },
- { "89", NULL },
- { "90", NULL },
- { "91", NULL },
- { "92", NULL },
- { "93", NULL },
- { "94", NULL },
- { "95", NULL },
- { "96", NULL },
- { "97", NULL },
- { "98", NULL },
- { "99", NULL },
+ { "30", NULL },
+ { "31", NULL },
+ { "32", NULL },
+ { "33", NULL },
+ { "34", NULL },
+ { "35", NULL },
+ { "36", NULL },
+ { "37", NULL },
+ { "38", NULL },
+ { "39", NULL },
+ { "40", NULL },
+ { "41", NULL },
+ { "42", NULL },
+ { "43", NULL },
+ { "44", NULL },
+ { "45", NULL },
+ { "46", NULL },
+ { "47", NULL },
+ { "48", NULL },
+ { "49", NULL },
+ { "50", NULL },
+ { "51", NULL },
+ { "52", NULL },
+ { "53", NULL },
+ { "54", NULL },
+ { "55", NULL },
+ { "56", NULL },
+ { "57", NULL },
+ { "58", NULL },
+ { "59", NULL },
+ { "60", NULL },
+ { "61", NULL },
+ { "62", NULL },
+ { "63", NULL },
+ { "64", NULL },
+ { "65", NULL },
+ { "66", NULL },
+ { "67", NULL },
+ { "68", NULL },
+ { "69", NULL },
+ { "70", NULL },
+ { "71", NULL },
+ { "72", NULL },
+ { "73", NULL },
+ { "74", NULL },
+ { "75", NULL },
+ { "76", NULL },
+ { "77", NULL },
+ { "78", NULL },
+ { "79", NULL },
+ { "80", NULL },
+ { "81", NULL },
+ { "82", NULL },
+ { "83", NULL },
+ { "84", NULL },
+ { "85", NULL },
+ { "86", NULL },
+ { "87", NULL },
+ { "88", NULL },
+ { "89", NULL },
+ { "90", NULL },
+ { "91", NULL },
+ { "92", NULL },
+ { "93", NULL },
+ { "94", NULL },
+ { "95", NULL },
+ { "96", NULL },
+ { "97", NULL },
+ { "98", NULL },
+ { "99", NULL },
{ "100", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
- PSX_CLOCK_DEFAULT,
+#ifdef HAVE_PRE_ARMV7
+ "50",
+#else
+ "57",
+#endif
},
#endif /* DRC_DISABLE */
@@ -369,7 +391,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -380,7 +402,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -391,7 +413,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -404,7 +426,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"enabled",
},
@@ -415,7 +437,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -429,106 +451,106 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
{
- "pcsx_rearmed_gpu_peops_fix_0",
+ "pcsx_rearmed_gpu_peops_odd_even_bit",
"(GPU) Odd/Even Bit Hack",
"Needed for Chrono Cross.",
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
{
- "pcsx_rearmed_gpu_peops_fix_1",
+ "pcsx_rearmed_gpu_peops_expand_screen_width",
"(GPU) Expand Screen Width",
"Capcom fighting games",
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
{
- "pcsx_rearmed_gpu_peops_fix_2",
+ "pcsx_rearmed_gpu_peops_ignore_brightness",
"(GPU) Ignore Brightness Color",
"Black screens in Lunar Silver Star Story games",
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
{
- "pcsx_rearmed_gpu_peops_fix_3",
+ "pcsx_rearmed_gpu_peops_disable_coord_check",
"(GPU) Disable Coordinate Check",
"Compatibility mode",
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
{
- "pcsx_rearmed_gpu_peops_fix_6",
+ "pcsx_rearmed_gpu_peops_lazy_screen_update",
"(GPU) Lazy Screen Update",
"Pandemonium 2",
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
{
- "pcsx_rearmed_gpu_peops_fix_7",
+ "pcsx_rearmed_gpu_peops_old_frame_skip",
"(GPU) Old Frame Skipping",
"Skip every second frame",
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"enabled",
},
{
- "pcsx_rearmed_gpu_peops_fix_8",
+ "pcsx_rearmed_gpu_peops_repeated_triangles",
"(GPU) Repeated Flat Tex Triangles",
"Needed by Star Wars: Dark Forces",
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
{
- "pcsx_rearmed_gpu_peops_fix_9",
+ "pcsx_rearmed_gpu_peops_quads_with_triangles",
"(GPU) Draw Quads with Triangles",
"Better g-colors, worse textures",
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
{
- "pcsx_rearmed_gpu_peops_fix_10",
+ "pcsx_rearmed_gpu_peops_fake_busy_state",
"(GPU) Fake 'Gpu Busy' States",
"Toggle busy flags after drawing",
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -611,7 +633,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -622,7 +644,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"enabled",
},
@@ -631,11 +653,11 @@ struct retro_core_option_definition option_defs_us[] = {
"Sound Interpolation",
NULL,
{
- { "simple", NULL },
- { "gaussian", NULL },
- { "cubic", NULL },
- { "off", NULL },
- { NULL, NULL},
+ { "simple", "Simple" },
+ { "gaussian", "Gaussian" },
+ { "cubic", "Cubic" },
+ { "off", "disabled" },
+ { NULL, NULL },
},
"simple",
},
@@ -646,7 +668,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -657,7 +679,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -668,7 +690,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -681,7 +703,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"enabled",
},
@@ -692,7 +714,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"enabled",
},
@@ -705,7 +727,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -716,7 +738,7 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
+ { NULL, NULL },
},
"disabled",
},
@@ -727,542 +749,22 @@ struct retro_core_option_definition option_defs_us[] = {
{
{ "disabled", NULL },
{ "enabled", NULL },
- { NULL, NULL},
- },
- "disabled",
- },
-#endif /* DRC_DISABLE */
-
- { NULL, NULL, NULL, { {0} }, NULL },
-};
-
-/* RETRO_LANGUAGE_JAPANESE */
-
-/* RETRO_LANGUAGE_FRENCH */
-
-/* RETRO_LANGUAGE_SPANISH */
-
-/* RETRO_LANGUAGE_GERMAN */
-
-/* RETRO_LANGUAGE_ITALIAN */
-
-/* RETRO_LANGUAGE_DUTCH */
-
-/* RETRO_LANGUAGE_PORTUGUESE_BRAZIL */
-
-/* RETRO_LANGUAGE_PORTUGUESE_PORTUGAL */
-
-/* RETRO_LANGUAGE_RUSSIAN */
-
-/* RETRO_LANGUAGE_KOREAN */
-
-/* RETRO_LANGUAGE_CHINESE_TRADITIONAL */
-
-/* RETRO_LANGUAGE_CHINESE_SIMPLIFIED */
-
-/* RETRO_LANGUAGE_ESPERANTO */
-
-/* RETRO_LANGUAGE_POLISH */
-
-/* RETRO_LANGUAGE_VIETNAMESE */
-
-/* RETRO_LANGUAGE_ARABIC */
-
-/* RETRO_LANGUAGE_GREEK */
-
-/* RETRO_LANGUAGE_TURKISH */
-
-struct retro_core_option_definition option_defs_tr[] = {
- {
- "pcsx_rearmed_frameskip",
- "Kare Atlama",
- "Görsel pürüzsüzlük pahasına performansı artırmak için ne kadar karenin atlanması gerektiğini seçin.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_bios",
- "BIOS Kullan",
- "Gerçek bios dosyasını (varsa) veya öykünmüş bios'u (HLE) kullanmanızı sağlar. Daha iyi uyumluluk için resmi bios dosyasını kullanmanız önerilir.",
- {
- { "auto", "otomatik" },
- { "HLE", "hle" },
- { NULL, NULL},
- },
- "auto",
- },
- {
- "pcsx_rearmed_region",
- "Bölge",
- "Sistemin hangi bölgeden olduğunu seçin. NTSC için 60 Hz, PAL için 50 Hz.",
- {
- { "auto", "otomatik" },
- { "NTSC", "ntsc" },
- { "PAL", "pal" },
- { NULL, NULL},
- },
- "auto",
- },
- {
- "pcsx_rearmed_memcard2",
- "İkinci Bellek Kartını Etkinleştir (Paylaşılan)",
- "2. Hafıza kartı yuvasını etkinleştirin. Bu hafıza kartı tüm oyunlar arasında paylaşılır.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_pad1type",
- "Kumanda 1 Tipi",
- "1. Oyuncu için kontrolör tipi",
- {
- { "standard", NULL },
- { "analog", NULL },
- { "dualshock", NULL },
- { "negcon", NULL },
- { "none", "hiçbiri" },
- { NULL, NULL},
- },
- "standard",
- },
- {
- "pcsx_rearmed_pad2type",
- "Kumanda 2 Tipi",
- "2. Oyuncu için kontrolör tipi",
- {
- { "standard", NULL },
- { "analog", NULL },
- { "dualshock", NULL },
- { "negcon", NULL },
- { "none", "hiçbiri" },
- { NULL, NULL},
- },
- "standard",
- },
- {
- "pcsx_rearmed_pad3type",
- "Kumanda 3 Tipi",
- "3. Oyuncu için kontrolör tipi",
- {
- { "standard", NULL },
- { "analog", NULL },
- { "dualshock", NULL },
- { "negcon", NULL },
- { "none", "hiçbiri" },
- { NULL, NULL},
- },
- "none",
- },
- {
- "pcsx_rearmed_pad4type",
- "Kumanda 4 Tipi",
- "4. Oyuncu için kontrolör tipi",
- {
- { "standard", NULL },
- { "analog", NULL },
- { "dualshock", NULL },
- { "negcon", NULL },
- { "none", "hiçbiri" },
- { NULL, NULL},
- },
- "none",
- },
- {
- "pcsx_rearmed_pad5type",
- "Kumanda 5 Tipi",
- "5. Oyuncu için kontrolör tipi",
- {
- { "standard", NULL },
- { "analog", NULL },
- { "dualshock", NULL },
- { "negcon", NULL },
- { "none", "hiçbiri" },
- { NULL, NULL},
- },
- "none",
- },{
- "pcsx_rearmed_pad6type",
- "Kumanda 6 Tipi",
- "6. Oyuncu için kontrolör tipi",
- {
- { "standard", NULL },
- { "analog", NULL },
- { "dualshock", NULL },
- { "negcon", NULL },
- { "none", "hiçbiri" },
- { NULL, NULL},
- },
- "none",
- },{
- "pcsx_rearmed_pad7type",
- "Kumanda 7 Tipi",
- "7. Oyuncu için kontrolör tipi",
- {
- { "standard", NULL },
- { "analog", NULL },
- { "dualshock", NULL },
- { "negcon", NULL },
- { "none", "hiçbiri" },
- { NULL, NULL},
- },
- "none",
- },{
- "pcsx_rearmed_pad8type",
- "Kumanda 8 Tipi",
- "8. Oyuncu için kontrolör tipi",
- {
- { "standard", NULL },
- { "analog", NULL },
- { "dualshock", NULL },
- { "negcon", NULL },
- { "none", "hiçbiri" },
- { NULL, NULL},
- },
- "none",
- },
- {
- "pcsx_rearmed_multitap1",
- "Multitap 1",
- "Bağlantı noktası 1'deki multitap'ı etkinleştirir / devre dışı bırakır ve izin veren oyunlarda 5 oyuncuya kadar izin verir.",
- {
- { "auto", "otomatik" },
- { "disabled", NULL },
- { "enabled", NULL },
- { NULL, NULL},
- },
- "auto",
- },
- {
- "pcsx_rearmed_multitap2",
- "Multitap 2",
- "Bağlantı noktası 2'deki multitap'ı etkinleştirir/devre dışı bırakır ve izin veren oyunlarda 8 oyuncuya kadar izin verir. Bunun çalışması için Multitap 1'in etkinleştirilmesi gerekir.",
- {
- { "auto", "otomatik" },
- { "disabled", NULL },
- { "enabled", NULL },
- { NULL, NULL},
- },
- "auto",
- },
- {
- "pcsx_rearmed_negcon_deadzone",
- "NegCon Twist Deadzone (Yüzdelik)",
- "Öykünülmüş neGcon kontrolörünün 'büküm' eylemini simüle ederken RetroPad sol analog çubuğunun ölü bölgesini ayarlar. Sürüklenme/istenmeyen girişi ortadan kaldırmak için kullanılır.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_negcon_response",
- "NegCon Twist Response",
- "Öykünülmüş neGcon kontrolörünün 'bükümünü' simule etmek için bir RetroPad sol analog çubuğu kullanırken analog cevabını belirtir.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_vibration",
- "Titreşimi Etkinleştir",
- "Titreşim özelliklerini destekleyen kontrolörler için titreşim geri bildirimini etkinleştirir.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_dithering",
- "Dithering Etkinleştir",
- "Kapalı ise, PSX'in renk bantlarıyla mücadele etmek için uyguladığı renk taklidi düzenini devre dışı bırakır.",
- {
- { NULL, NULL },
- },
- NULL
- },
-
-#ifndef DRC_DISABLE
- {
- "pcsx_rearmed_drc",
- "Dinamik Yeniden Derleyici",
- "Çekirdeğin dinamik yeniden derleyici veya tercüman(daha yavaş) CPU talimatlarını kullanmasını sağlar.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_psxclock",
- "PSX CPU Saat Hızı",
- PSX_CLOCK_LABEL,
- {
- { NULL, NULL },
- },
- NULL
- },
-#endif /* DRC_DISABLE */
-
-#ifdef __ARM_NEON__
- {
- "pcsx_rearmed_neon_interlace_enable",
- "Interlacing Mode'u etkinleştir",
- "Sahte tarama çizgileri efektini etkinleştirir.",
- {
{ NULL, NULL },
},
- NULL
- },
- {
- "pcsx_rearmed_neon_enhancement_enable",
- "Geliştirilmiş Çözünürlük (Yavaş)",
- "Düşük performans pahasına çift çözünürlükte işler.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_neon_enhancement_no_main",
- "Geliştirilmiş Çözünürlük (Speed Hack)",
- "Geliştirilmiş çözünürlük seçeneği için hız aşırtma(bazı oyunlarda sorun çıkartabilir).",
- {
- { NULL, NULL },
- },
- NULL
- },
-#endif /* __ARM_NEON__ */
-
- {
- "pcsx_rearmed_duping_enable",
- "Frame Duping",
- "Yeni bir veri yoksa, bir hızlandırma, son kareyi yeniden çizer/yeniden kullanır.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_display_internal_fps",
- "Dahili FPS'yi görüntüle",
- "Etkinleştirildiğinde ekranda saniye başına kareyi gösterir.",
- {
- { NULL, NULL },
- },
- NULL
- },
-
- /* GPU PEOPS OPTIONS */
-#ifdef DRC_DISABLE
- {
- "pcsx_rearmed_show_gpu_peops_settings",
- "Gelişmiş GPU Ayarlarını Göster",
- "Çeşitli GPU düzeltmelerini etkinleştirin veya devre dışı bırakın. Ayarların etkili olması için core'un yeniden başlatılması gerekebilir. NOT: Bu ayarın etkili olabilmesi için Hızlı Menü’nün değiştirilmesi gerekir.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_gpu_peops_fix_0",
- "(GPU) Odd/Even Bit Hack",
- "Chrono Cross için gerekli.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_gpu_peops_fix_1",
- "(GPU) Ekran Genişliğini Genişlet",
- "Capcom dövüş oyunları",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_gpu_peops_fix_2",
- "(GPU) Parlaklık Rengini Yoksay",
- "Lunar Silver Star Story oyunlarında siyah ekran",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_gpu_peops_fix_3",
- "(GPU) Koordinat Kontrolünü Devre Dışı Bırak",
- "Uyumluluk modu",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_gpu_peops_fix_6",
- "(GPU) Tembel Ekran Güncellemesi",
- "Pandemonium 2",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_gpu_peops_fix_7",
- "(GPU) Eski Çerçeve Atlama",
- "Her ikinci kareyi atla",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_gpu_peops_fix_8",
- "(GPU) Tekrarlanan Düz Doku Üçgenleri",
- "Star Wars: Dark Forces için gerekli",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_gpu_peops_fix_9",
- "(GPU) Üçgenler ile Dörtlü Çiz",
- "Daha iyi g renkler, daha kötü dokular",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_gpu_peops_fix_10",
- "(GPU) Sahte 'Gpu Meşgul' Konumları",
- "Çizimden sonra meşgul bayraklarını değiştir",
- {
- { NULL, NULL },
- },
- NULL
- },
-#endif
-
- {
- "pcsx_rearmed_show_bios_bootlogo",
- "Bios Bootlogo'yu Göster",
- "Etkinleştirildiğinde, başlatırken veya sıfırlarken PlayStation logosunu gösterir. (Bazı oyunları bozabilir).",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_spu_reverb",
- "Ses Yankısı",
- "Ses yankı efektini etkinleştirir veya devre dışı bırakır.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_spu_interpolation",
- "Ses Enterpolasyonu",
- NULL,
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_idiablofix",
- "Diablo Müzik Düzeltmesi",
- NULL,
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_pe2_fix",
- "Parasite Eve 2/Vandal Hearts 1/2 Düzeltmleri",
- NULL,
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_inuyasha_fix",
- "InuYasha Sengoku Battle Düzeltmesi",
- NULL,
- {
- { NULL, NULL },
- },
- NULL
- },
-
- /* ADVANCED OPTIONS */
- {
- "pcsx_rearmed_noxadecoding",
- "XA Kod Çözme",
- NULL,
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_nocdaudio",
- "CD Ses",
- NULL,
- {
- { NULL, NULL },
- },
- NULL
- },
-
-#ifndef DRC_DISABLE
- {
- "pcsx_rearmed_nosmccheck",
- "(Speed Hack) SMC Kontrollerini Devre Dışı Bırak",
- "Yükleme sırasında çökmelere neden olabilir, hafıza kartını bozabilir.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_gteregsunneeded",
- "(Speed Hack) GTE'nin Gereksiz Olduğunu Varsayın",
- "Grafiksel bozukluklara neden olabilir.",
- {
- { NULL, NULL },
- },
- NULL
- },
- {
- "pcsx_rearmed_nogteflags",
- "(Speed Hack) GTE Bayraklarını Devredışı Bırakın",
- "Grafiksel bozukluklara neden olur.",
- {
- { NULL, NULL },
- },
- NULL
+ "disabled",
},
#endif /* DRC_DISABLE */
- { NULL, NULL, NULL, { {0} }, NULL },
+ { NULL, NULL, NULL, {{0}}, NULL },
};
-
/*
********************************
* Language Mapping
********************************
*/
+#ifndef HAVE_NO_LANGEXTRA
struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = {
option_defs_us, /* RETRO_LANGUAGE_ENGLISH */
NULL, /* RETRO_LANGUAGE_JAPANESE */
@@ -1282,8 +784,9 @@ struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = {
NULL, /* RETRO_LANGUAGE_VIETNAMESE */
NULL, /* RETRO_LANGUAGE_ARABIC */
NULL, /* RETRO_LANGUAGE_GREEK */
- option_defs_tr, /* RETRO_LANGUAGE_TURKISH */
+ option_defs_tr, /* RETRO_LANGUAGE_TURKISH */
};
+#endif
/*
********************************
@@ -1292,7 +795,8 @@ struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = {
*/
/* Handles configuration/setting of core options.
- * Should only be called inside retro_set_environment().
+ * Should be called as early as possible - ideally inside
+ * retro_set_environment(), and no later than retro_load_game()
* > We place the function body in the header to avoid the
* necessity of adding more .c files (i.e. want this to
* be as painless as possible for core devs)
@@ -1305,8 +809,9 @@ static INLINE void libretro_set_core_options(retro_environment_t environ_cb)
if (!environ_cb)
return;
- if (environ_cb(RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION, &version) && (version == 1))
+ if (environ_cb(RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION, &version) && (version >= 1))
{
+#ifndef HAVE_NO_LANGEXTRA
struct retro_core_options_intl core_options_intl;
unsigned language = 0;
@@ -1318,6 +823,9 @@ static INLINE void libretro_set_core_options(retro_environment_t environ_cb)
core_options_intl.local = option_defs_intl[language];
environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL, &core_options_intl);
+#else
+ environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS, &option_defs_us);
+#endif
}
else
{
@@ -1387,7 +895,7 @@ static INLINE void libretro_set_core_options(retro_environment_t environ_cb)
}
/* Build values string */
- if (num_values > 1)
+ if (num_values > 0)
{
size_t j;
diff --git a/frontend/libretro_core_options_intl.h b/frontend/libretro_core_options_intl.h
new file mode 100644
index 0000000..16c40a0
--- /dev/null
+++ b/frontend/libretro_core_options_intl.h
@@ -0,0 +1,568 @@
+#ifndef LIBRETRO_CORE_OPTIONS_INTL_H__
+#define LIBRETRO_CORE_OPTIONS_INTL_H__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
+/* https://support.microsoft.com/en-us/kb/980263 */
+#pragma execution_character_set("utf-8")
+#pragma warning(disable:4566)
+#endif
+
+#include <libretro.h>
+
+/*
+ ********************************
+ * VERSION: 1.3
+ ********************************
+ *
+ * - 1.3: Move translations to libretro_core_options_intl.h
+ * - libretro_core_options_intl.h includes BOM and utf-8
+ * fix for MSVC 2010-2013
+ * - Added HAVE_NO_LANGEXTRA flag to disable translations
+ * on platforms/compilers without BOM support
+ * - 1.2: Use core options v1 interface when
+ * RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION is >= 1
+ * (previously required RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION == 1)
+ * - 1.1: Support generation of core options v0 retro_core_option_value
+ * arrays containing options with a single value
+ * - 1.0: First commit
+*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ ********************************
+ * Core Option Definitions
+ ********************************
+*/
+
+/* RETRO_LANGUAGE_JAPANESE */
+
+/* RETRO_LANGUAGE_FRENCH */
+
+/* RETRO_LANGUAGE_SPANISH */
+
+/* RETRO_LANGUAGE_GERMAN */
+
+/* RETRO_LANGUAGE_ITALIAN */
+
+/* RETRO_LANGUAGE_DUTCH */
+
+/* RETRO_LANGUAGE_PORTUGUESE_BRAZIL */
+
+/* RETRO_LANGUAGE_PORTUGUESE_PORTUGAL */
+
+/* RETRO_LANGUAGE_RUSSIAN */
+
+/* RETRO_LANGUAGE_KOREAN */
+
+/* RETRO_LANGUAGE_CHINESE_TRADITIONAL */
+
+/* RETRO_LANGUAGE_CHINESE_SIMPLIFIED */
+
+/* RETRO_LANGUAGE_ESPERANTO */
+
+/* RETRO_LANGUAGE_POLISH */
+
+/* RETRO_LANGUAGE_VIETNAMESE */
+
+/* RETRO_LANGUAGE_ARABIC */
+
+/* RETRO_LANGUAGE_GREEK */
+
+/* RETRO_LANGUAGE_TURKISH */
+
+struct retro_core_option_definition option_defs_tr[] = {
+ {
+ "pcsx_rearmed_frameskip",
+ "Kare Atlama",
+ "Görsel pürüzsüzlük pahasına performansı artırmak için ne kadar karenin atlanması gerektiğini seçin.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_bios",
+ "BIOS Kullan",
+ "Gerçek bios dosyasını (varsa) veya öykünmüş bios'u (HLE) kullanmanızı sağlar. Daha iyi uyumluluk için resmi bios dosyasını kullanmanız önerilir.",
+ {
+ { "auto", "otomatik" },
+ { "HLE", "hle" },
+ { NULL, NULL },
+ },
+ "auto",
+ },
+ {
+ "pcsx_rearmed_region",
+ "Bölge",
+ "Sistemin hangi bölgeden olduğunu seçin. NTSC için 60 Hz, PAL için 50 Hz.",
+ {
+ { "auto", "otomatik" },
+ { "NTSC", "ntsc" },
+ { "PAL", "pal" },
+ { NULL, NULL },
+ },
+ "auto",
+ },
+ {
+ "pcsx_rearmed_memcard2",
+ "İkinci Bellek Kartını Etkinleştir (Paylaşılan)",
+ "2. Hafıza kartı yuvasını etkinleştirin. Bu hafıza kartı tüm oyunlar arasında paylaşılır.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_pad1type",
+ "Kumanda 1 Tipi",
+ "1. Oyuncu için kontrolör tipi",
+ {
+ { "standard", NULL },
+ { "analog", NULL },
+ { "dualshock", NULL },
+ { "negcon", NULL },
+ { "none", "hiçbiri" },
+ { NULL, NULL },
+ },
+ "standard",
+ },
+ {
+ "pcsx_rearmed_pad2type",
+ "Kumanda 2 Tipi",
+ "2. Oyuncu için kontrolör tipi",
+ {
+ { "standard", NULL },
+ { "analog", NULL },
+ { "dualshock", NULL },
+ { "negcon", NULL },
+ { "none", "hiçbiri" },
+ { NULL, NULL },
+ },
+ "standard",
+ },
+ {
+ "pcsx_rearmed_pad3type",
+ "Kumanda 3 Tipi",
+ "3. Oyuncu için kontrolör tipi",
+ {
+ { "standard", NULL },
+ { "analog", NULL },
+ { "dualshock", NULL },
+ { "negcon", NULL },
+ { "none", "hiçbiri" },
+ { NULL, NULL },
+ },
+ "none",
+ },
+ {
+ "pcsx_rearmed_pad4type",
+ "Kumanda 4 Tipi",
+ "4. Oyuncu için kontrolör tipi",
+ {
+ { "standard", NULL },
+ { "analog", NULL },
+ { "dualshock", NULL },
+ { "negcon", NULL },
+ { "none", "hiçbiri" },
+ { NULL, NULL },
+ },
+ "none",
+ },
+ {
+ "pcsx_rearmed_pad5type",
+ "Kumanda 5 Tipi",
+ "5. Oyuncu için kontrolör tipi",
+ {
+ { "standard", NULL },
+ { "analog", NULL },
+ { "dualshock", NULL },
+ { "negcon", NULL },
+ { "none", "hiçbiri" },
+ { NULL, NULL },
+ },
+ "none",
+ },{
+ "pcsx_rearmed_pad6type",
+ "Kumanda 6 Tipi",
+ "6. Oyuncu için kontrolör tipi",
+ {
+ { "standard", NULL },
+ { "analog", NULL },
+ { "dualshock", NULL },
+ { "negcon", NULL },
+ { "none", "hiçbiri" },
+ { NULL, NULL },
+ },
+ "none",
+ },{
+ "pcsx_rearmed_pad7type",
+ "Kumanda 7 Tipi",
+ "7. Oyuncu için kontrolör tipi",
+ {
+ { "standard", NULL },
+ { "analog", NULL },
+ { "dualshock", NULL },
+ { "negcon", NULL },
+ { "none", "hiçbiri" },
+ { NULL, NULL },
+ },
+ "none",
+ },{
+ "pcsx_rearmed_pad8type",
+ "Kumanda 8 Tipi",
+ "8. Oyuncu için kontrolör tipi",
+ {
+ { "standard", NULL },
+ { "analog", NULL },
+ { "dualshock", NULL },
+ { "negcon", NULL },
+ { "none", "hiçbiri" },
+ { NULL, NULL },
+ },
+ "none",
+ },
+ {
+ "pcsx_rearmed_multitap1",
+ "Multitap 1",
+ "Bağlantı noktası 1'deki multitap'ı etkinleştirir / devre dışı bırakır ve izin veren oyunlarda 5 oyuncuya kadar izin verir.",
+ {
+ { "auto", "otomatik" },
+ { "disabled", NULL },
+ { "enabled", NULL },
+ { NULL, NULL },
+ },
+ "auto",
+ },
+ {
+ "pcsx_rearmed_multitap2",
+ "Multitap 2",
+ "Bağlantı noktası 2'deki multitap'ı etkinleştirir/devre dışı bırakır ve izin veren oyunlarda 8 oyuncuya kadar izin verir. Bunun çalışması için Multitap 1'in etkinleştirilmesi gerekir.",
+ {
+ { "auto", "otomatik" },
+ { "disabled", NULL },
+ { "enabled", NULL },
+ { NULL, NULL },
+ },
+ "auto",
+ },
+ {
+ "pcsx_rearmed_negcon_deadzone",
+ "NegCon Twist Deadzone (Yüzdelik)",
+ "Öykünülmüş neGcon kontrolörünün 'büküm' eylemini simüle ederken RetroPad sol analog çubuğunun ölü bölgesini ayarlar. Sürüklenme/istenmeyen girişi ortadan kaldırmak için kullanılır.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_negcon_response",
+ "NegCon Twist Response",
+ "Öykünülmüş neGcon kontrolörünün 'bükümünü' simule etmek için bir RetroPad sol analog çubuğu kullanırken analog cevabını belirtir.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_vibration",
+ "Titreşimi Etkinleştir",
+ "Titreşim özelliklerini destekleyen kontrolörler için titreşim geri bildirimini etkinleştirir.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_dithering",
+ "Dithering Etkinleştir",
+ "Kapalı ise, PSX'in renk bantlarıyla mücadele etmek için uyguladığı renk taklidi düzenini devre dışı bırakır.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+
+#ifndef DRC_DISABLE
+ {
+ "pcsx_rearmed_drc",
+ "Dinamik Yeniden Derleyici",
+ "Çekirdeğin dinamik yeniden derleyici veya tercüman(daha yavaş) CPU talimatlarını kullanmasını sağlar.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_psxclock",
+ "PSX CPU Saat Hızı",
+#ifdef HAVE_PRE_ARMV7
+ "Overclock or underclock the PSX clock. Default is 50",
+#else
+ "Overclock or underclock the PSX clock. Default is 57",
+#endif
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+#endif /* DRC_DISABLE */
+
+#ifdef __ARM_NEON__
+ {
+ "pcsx_rearmed_neon_interlace_enable",
+ "Interlacing Mode'u etkinleştir",
+ "Sahte tarama çizgileri efektini etkinleştirir.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_neon_enhancement_enable",
+ "Geliştirilmiş Çözünürlük (Yavaş)",
+ "Düşük performans pahasına çift çözünürlükte işler.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_neon_enhancement_no_main",
+ "Geliştirilmiş Çözünürlük (Speed Hack)",
+ "Geliştirilmiş çözünürlük seçeneği için hız aşırtma(bazı oyunlarda sorun çıkartabilir).",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+#endif /* __ARM_NEON__ */
+
+ {
+ "pcsx_rearmed_duping_enable",
+ "Frame Duping",
+ "Yeni bir veri yoksa, bir hızlandırma, son kareyi yeniden çizer/yeniden kullanır.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_display_internal_fps",
+ "Dahili FPS'yi görüntüle",
+ "Etkinleştirildiğinde ekranda saniye başına kareyi gösterir.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+
+ /* GPU PEOPS OPTIONS */
+#ifdef DRC_DISABLE
+ {
+ "pcsx_rearmed_show_gpu_peops_settings",
+ "Gelişmiş GPU Ayarlarını Göster",
+ "Çeşitli GPU düzeltmelerini etkinleştirin veya devre dışı bırakın. Ayarların etkili olması için core'un yeniden başlatılması gerekebilir. NOT: Bu ayarın etkili olabilmesi için Hızlı Menü’nün değiştirilmesi gerekir.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_gpu_peops_odd_even_bit",
+ "(GPU) Odd/Even Bit Hack",
+ "Chrono Cross için gerekli.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_gpu_peops_expand_screen_width",
+ "(GPU) Ekran Genişliğini Genişlet",
+ "Capcom dövüş oyunları",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_gpu_peops_ignore_brightness",
+ "(GPU) Parlaklık Rengini Yoksay",
+ "Lunar Silver Star Story oyunlarında siyah ekran",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_gpu_peops_disable_coord_check",
+ "(GPU) Koordinat Kontrolünü Devre Dışı Bırak",
+ "Uyumluluk modu",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_gpu_peops_lazy_screen_update",
+ "(GPU) Tembel Ekran Güncellemesi",
+ "Pandemonium 2",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_gpu_peops_old_frame_skip",
+ "(GPU) Eski Çerçeve Atlama",
+ "Her ikinci kareyi atla",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_gpu_peops_repeated_triangles",
+ "(GPU) Tekrarlanan Düz Doku Üçgenleri",
+ "Star Wars: Dark Forces için gerekli",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_gpu_peops_quads_with_triangles",
+ "(GPU) Üçgenler ile Dörtlü Çiz",
+ "Daha iyi g renkler, daha kötü dokular",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_gpu_peops_fake_busy_state",
+ "(GPU) Sahte 'Gpu Meşgul' Konumları",
+ "Çizimden sonra meşgul bayraklarını değiştir",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+#endif
+
+ {
+ "pcsx_rearmed_show_bios_bootlogo",
+ "Bios Bootlogo'yu Göster",
+ "Etkinleştirildiğinde, başlatırken veya sıfırlarken PlayStation logosunu gösterir. (Bazı oyunları bozabilir).",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_spu_reverb",
+ "Ses Yankısı",
+ "Ses yankı efektini etkinleştirir veya devre dışı bırakır.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_spu_interpolation",
+ "Ses Enterpolasyonu",
+ NULL,
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_idiablofix",
+ "Diablo Müzik Düzeltmesi",
+ NULL,
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_pe2_fix",
+ "Parasite Eve 2/Vandal Hearts 1/2 Düzeltmleri",
+ NULL,
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_inuyasha_fix",
+ "InuYasha Sengoku Battle Düzeltmesi",
+ NULL,
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+
+ /* ADVANCED OPTIONS */
+ {
+ "pcsx_rearmed_noxadecoding",
+ "XA Kod Çözme",
+ NULL,
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_nocdaudio",
+ "CD Ses",
+ NULL,
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+
+#ifndef DRC_DISABLE
+ {
+ "pcsx_rearmed_nosmccheck",
+ "(Speed Hack) SMC Kontrollerini Devre Dışı Bırak",
+ "Yükleme sırasında çökmelere neden olabilir, hafıza kartını bozabilir.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_gteregsunneeded",
+ "(Speed Hack) GTE'nin Gereksiz Olduğunu Varsayın",
+ "Grafiksel bozukluklara neden olabilir.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+ {
+ "pcsx_rearmed_nogteflags",
+ "(Speed Hack) GTE Bayraklarını Devredışı Bırakın",
+ "Grafiksel bozukluklara neden olur.",
+ {
+ { NULL, NULL },
+ },
+ NULL
+ },
+#endif /* DRC_DISABLE */
+
+ { NULL, NULL, NULL, {{0}}, NULL },
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/frontend/main.c b/frontend/main.c
index b6b5411..fcf3846 100644
--- a/frontend/main.c
+++ b/frontend/main.c
@@ -151,7 +151,7 @@ void emu_set_default_config(void)
spu_config.iVolume = 768;
spu_config.iTempo = 0;
spu_config.iUseThread = 1; // no effect if only 1 core is detected
-#ifdef HAVE_PRE_ARMV7 /* XXX GPH hack */
+#if defined(HAVE_PRE_ARMV7) && !defined(_3DS) /* XXX GPH hack */
spu_config.iUseReverb = 0;
spu_config.iUseInterpolation = 0;
spu_config.iTempo = 1;
@@ -877,7 +877,7 @@ static int _OpenPlugins(void) {
if (Config.UseNet && !NetOpened) {
netInfo info;
- char path[MAXPATHLEN];
+ char path[MAXPATHLEN * 2];
char dotdir[MAXPATHLEN];
MAKE_PATH(dotdir, "/.pcsx/plugins/", NULL);