BOARD: separate miyoo packages + concentrate RetroArch/libretro (#129)

MENU->Target packages ---> Miyoo Packages ---> ...
This commit is contained in:
Apaczer
2024-10-15 20:07:21 +02:00
committed by GitHub
parent 81270d9968
commit 59d7586ca6
217 changed files with 328 additions and 298 deletions

View File

@@ -0,0 +1,106 @@
diff --git a/Makefile b/Makefile
index 64d8115..63e27cd 100644
--- a/Makefile
+++ b/Makefile
@@ -327,14 +327,14 @@ else ifeq ($(platform), miyoo)
TARGET := $(TARGET_NAME)_libretro.so
CC = /opt/miyoo/usr/bin/arm-linux-gcc
AR = /opt/miyoo/usr/bin/arm-linux-ar
- fpic := -fPIC
+ fpic :=
SHARED := -shared -Wl,--version-script=link.T -Wl,-no-undefined
DISABLE_ERROR_LOGGING := 1
- CFLAGS += -fomit-frame-pointer -ffast-math -march=armv5te -mtune=arm926ej-s
+ CFLAGS += -fomit-frame-pointer -ffast-math -mcpu=arm926ej-s -Ofast -fdata-sections -ffunction-sections -fsingle-precision-constant -flto
ARM = 1
- USE_CYCLONE = 1
- USE_DRZ80 = 1
+ USE_CYCLONE = 0
+ USE_DRZ80 = 0
# Windows MSVC 2010 x64
else ifeq ($(platform), windows_msvc2010_x64)
diff --git a/src/libretro/libretro.c b/src/libretro/libretro.c
index 7fd3662..f9a2794 100644
--- a/src/libretro/libretro.c
+++ b/src/libretro/libretro.c
@@ -51,8 +51,8 @@ static scond_t *libretro_cond = NULL;
static slock_t *libretro_mutex = NULL;
#endif
-unsigned frameskip_type = 0;
-unsigned frameskip_threshold = 0;
+unsigned frameskip_type = 2;
+unsigned frameskip_threshold = 50;
unsigned frameskip_counter = 0;
unsigned frameskip_interval = 0;
@@ -63,10 +63,10 @@ int retro_audio_buff_underrun = false;
unsigned retro_audio_latency = 0;
int update_audio_latency = false;
-int should_skip_frame = 0;
+int should_skip_frame = 1;
-static int sample_rate = 22050;
-static int stereo_enabled = true;
+static int sample_rate = 11025;
+static int stereo_enabled = false;
int game_index = -1;
unsigned short *gp2x_screen15;
@@ -222,7 +222,7 @@ static void update_variables(bool first_run)
var.value = NULL;
prev_frameskip_type = frameskip_type;
- frameskip_type = 0;
+ frameskip_type = 2;
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
@@ -235,7 +235,7 @@ static void update_variables(bool first_run)
var.key = "mame2000-frameskip_threshold";
var.value = NULL;
- frameskip_threshold = 30;
+ frameskip_threshold = 50;
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
frameskip_threshold = strtol(var.value, NULL, 10);
@@ -277,7 +277,7 @@ static void update_variables(bool first_run)
var.value = NULL;
var.key = "mame2000-sample_rate";
- sample_rate = 22050;
+ sample_rate = 11025;
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
sample_rate = strtol(var.value, NULL, 10);
@@ -293,7 +293,7 @@ static void update_variables(bool first_run)
stereo_enabled = false;
}
else
- stereo_enabled = true;
+ stereo_enabled = false;
/* Reinitialise frameskipping, if required */
if (!first_run &&
@@ -304,13 +304,13 @@ static void update_variables(bool first_run)
void retro_set_environment(retro_environment_t cb)
{
static const struct retro_variable vars[] = {
- { "mame2000-frameskip", "Frameskip ; disabled|auto|threshold" },
- { "mame2000-frameskip_threshold", "Frameskip Threshold (%); 30|40|50|60" },
+ { "mame2000-frameskip", "Frameskip ; threshold|disabled|auto" },
+ { "mame2000-frameskip_threshold", "Frameskip Threshold (%); 50|40|50|60" },
{ "mame2000-frameskip_interval", "Frameskip Interval; 1|2|3|4|5|6|7|8|9" },
{ "mame2000-skip_disclaimer", "Skip Disclaimer; enabled|disabled" },
{ "mame2000-show_gameinfo", "Show Game Information; disabled|enabled" },
- { "mame2000-sample_rate", "Audio Rate (Restart); 22050|11025|22050|32000|44100" },
- { "mame2000-stereo", "Stereo (Restart); enabled|disabled" },
+ { "mame2000-sample_rate", "Audio Rate (Restart); 11025|11025|22050|32000|44100" },
+ { "mame2000-stereo", "Stereo (Restart); disabled|enabled" },
{ NULL, NULL },
};
environ_cb = cb;

View File

@@ -0,0 +1,7 @@
config BR2_PACKAGE_LIBRETRO_MAME2000
bool "libretro-mame2000"
depends on BR2_PACKAGE_RETROARCH
help
A libretro mame2000 core for ARM.
http://www.libretro.com

View File

@@ -0,0 +1,33 @@
################################################################################
#
# MAME2000 / IMAME
#
################################################################################
# Commit of 2023/11/01
LIBRETRO_MAME2000_VERSION = 1472da3a39ab14fff8325b1f51a1dfdb8eabb5c8
LIBRETRO_MAME2000_SITE = $(call github,libretro,mame2000-libretro,$(LIBRETRO_MAME2000_VERSION))
LIBRETRO_MAME2000_LICENSE = MAME
LIBRETRO_MAME2000_NON_COMMERCIAL = y
define LIBRETRO_MAME2000_BUILD_CMDS
$(SED) "s|-O2|-O3|g" $(@D)/Makefile
mkdir -p $(@D)/obj_libretro_libretro/cpu
CFLAGS="$(TARGET_CFLAGS) $(COMPILER_COMMONS_CFLAGS_SO)" \
CXXFLAGS="$(TARGET_CXXFLAGS) $(COMPILER_COMMONS_CXXFLAGS_SO)" \
LDFLAGS="$(TARGET_LDFLAGS) $(COMPILER_COMMONS_LDFLAGS_SO)" \
$(MAKE) CC="$(TARGET_CC)" -C $(@D) -f Makefile ARM=1 USE_CYCLONE=1 USE_DRZ80=1 platform="$(RETROARCH_LIBRETRO_PLATFORM)"
$(TARGET_STRIP) --strip-unneeded $(@D)/*_libretro.so
endef
define LIBRETRO_MAME2000_INSTALL_TARGET_CMDS
mkdir -p "${BINARIES_DIR}/retroarch/cores"
mkdir -p "${BINARIES_DIR}/retroarch/system/mame2000"
$(INSTALL) -D $(@D)/mame2000_libretro.so \
${BINARIES_DIR}/retroarch/cores/mame2000_libretro.so
$(INSTALL) -D $(@D)/metadata/* \
${BINARIES_DIR}/retroarch/system/mame2000
endef
$(eval $(generic-package))