Merge pull request #216 from JustEnoughLinuxOS/dev

PR to main for stable release.
This commit is contained in:
fewtarius 2022-06-20 09:56:01 -04:00 committed by GitHub
commit f4f80a3ca0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
92 changed files with 7528 additions and 137 deletions

View file

@ -23,7 +23,7 @@ distclean:
src-pkg:
tar cvJf sources.tar.xz sources .stamps
world: RG552 RG503 RG351P RG351V RG351MP
world: RG552 RG503 RG353P RG351P RG351V RG351MP
RG552:
DEVICE=RG552 ARCH=arm ./scripts/build_distro
@ -33,6 +33,10 @@ RG503:
DEVICE=RG503 ARCH=arm ./scripts/build_distro
DEVICE=RG503 ARCH=aarch64 ./scripts/build_distro
RG353P:
DEVICE=RG353P ARCH=arm ./scripts/build_distro
DEVICE=RG353P ARCH=aarch64 ./scripts/build_distro
RG351P:
DEVICE=RG351P ARCH=arm ./scripts/build_distro
DEVICE=RG351P ARCH=aarch64 ./scripts/build_distro

View file

@ -9,7 +9,7 @@ Just Enough Linux Operating System (JELOS) is a simple Linux distribution for AR
* Supports FAT32, ExFAT, and EXT4 file systems on devices with a second card slot.
* 2.4GHz and 5GHz 802.11 A/B/G/N/AC WIFI support.
* Online updates for easy access to stable or development builds.
* Supports Anbernic's RG552, RG503, RG351P/M, RG351MP, and RG351V.
* Supports Anbernic's RG552, RG503, RG353P, RG351P/M, RG351MP, and RG351V.
* Developed by a small, friendly community.
## Licenses

View file

@ -2,7 +2,7 @@
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
# Copyright (C) 2022-present Fewtarius
PKG_NAME="PPSSPPSDL"
PKG_VERSION="31a1cfd40fd22873b90a538a837111c0a2fcdfb4"
PKG_VERSION="8fc2422e725fce850c4ed42ff53e0c1558ec0f34"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -0,0 +1 @@
RG503

View file

@ -2,7 +2,7 @@
# Copyright (C) 2018-present Frank Hartung (supervisedthinking (@) gmail.com)
PKG_NAME="amiberry"
PKG_VERSION="8d78c6f8c9ffae254dbe086418f74d7c8cc77c8e"
PKG_VERSION="fc0645c51ce095f3f46c4faa70f9afab71d49526"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/midwan/amiberry"
PKG_URL="${PKG_SITE}.git"
@ -19,6 +19,9 @@ pre_configure_target() {
if [[ "${DEVICE}" =~ RG351 ]]
then
AMIBERRY_PLATFORM="PLATFORM=RG351x"
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
AMIBERRY_PLATFORM="PLATFORM=RK3566"
else
AMIBERRY_PLATFORM="PLATFORM=${DEVICE}"
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -14,8 +14,8 @@ diff -rupN amiberry.orig/Makefile amiberry/Makefile
-# RK3326 e.g. Odroid Go Advance - 32-bit userspace
-else ifneq (,$(findstring RK,$(PLATFORM)))
- CPPFLAGS += $(CPPFLAGS32) $(NEON_FLAGS)
+# Anbernic RG503
+else ifeq ($(PLATFORM),RG503)
+# Anbernic RG353P and RG503
+else ifeq ($(PLATFORM),RK3566)
+ CPUFLAGS = -mcpu=cortex-a55
+ CPPFLAGS += $(CPPFLAGS64) -mcpu=cortex-a55 -mtune=cortex-a55 -Ofast -ffast-math -DUSE_RENDER_THREAD
+ AARCH64 = 1

View file

@ -4,7 +4,7 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="flycastsa"
PKG_VERSION="917cc7f27c11b00a7517444ecf3bcc5a227fe2bf"
PKG_VERSION="05961ac8837da2299383c2fdd55ad4fff44f758d"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/flyinghead/flycast"
PKG_URL="${PKG_SITE}.git"

View file

@ -0,0 +1 @@
RG503

View file

@ -3,7 +3,7 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="hypseus-singe"
PKG_VERSION="9e1a47c45bf0bc06d232fbac6d65e7b39f4f9d18"
PKG_VERSION="3b803be1aac1595c60bc14b23a58fd45419459f8"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL3"

View file

@ -0,0 +1 @@
RG503

View file

@ -0,0 +1 @@
RG503

View file

@ -0,0 +1 @@
RG503

View file

@ -3,7 +3,7 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="raze"
PKG_VERSION="f245a708830e21f5a52366a7d4966dd3d7600bc2"
PKG_VERSION="30b81c0920f2838d06f8a5d4c4800cdacd7ad57f"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/coelckers/Raze"
PKG_URL="${PKG_SITE}.git"

View file

@ -0,0 +1 @@
RG503

View file

@ -2,7 +2,7 @@
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
PKG_NAME="retroarch"
PKG_VERSION="65901cb13395831ff7723cf3f04d7eb2808bed64"
PKG_VERSION="e954a69708101979e0ce474d63b4697987842dbd"
PKG_SITE="https://github.com/libretro/RetroArch"
PKG_URL="${PKG_SITE}.git"
PKG_LICENSE="GPLv3"

View file

@ -0,0 +1 @@
RG503

View file

@ -3,8 +3,8 @@
# Copyright (C) 2020-present Fewtarius
PKG_NAME="scummvmsa"
PKG_VERSION="36da64cec064df689fb1d3a44286618fd1eb37a6"
PKG_SHA256="29afee5296a40c2cd70ab01eb81baad8e15599732155b6e8124ba4a29e0f3320"
PKG_VERSION="4053592c699afa80e04baf69c1969ddec82a796b"
PKG_SHA256="b605848b9bab0c9642c2f909d421e9054347612fccbf0063af0b0739796af448"
PKG_REV="1"
PKG_LICENSE="GPL2"
PKG_SITE="https://github.com/scummvm/scummvm"

View file

@ -10,6 +10,7 @@ PKG_TOOLCHAIN="cmake-make"
GET_HANDLER_SUPPORT="git"
PKG_GIT_CLONE_BRANCH="pi4"
PKG_BUILD_FLAGS="+speed"
PKG_PATCH_DIRS+="${DEVICE}"
post_unpack() {
# use host versions

View file

@ -0,0 +1,172 @@
diff --git a/yabause/src/retro_arena/MenuScreen.cpp b/yabause/src/retro_arena/MenuScreen.cpp
index 33591a44..ccbdc843 100644
--- a/yabause/src/retro_arena/MenuScreen.cpp
+++ b/yabause/src/retro_arena/MenuScreen.cpp
@@ -77,7 +77,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
swindow = nullptr;
imageWindow = nullptr;
- int image_pix_size_w = this->width() / 2;
+/* int image_pix_size_w = this->width() / 2;
int image_pix_size_h = this->height() / 2;
imageWindow = new Window(this, "About");
imageWindow->setPosition(Vector2i(0, 0));
@@ -92,7 +92,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
imageView->setFixedWidth(image_pix_size_w);
imageView->setFixedHeight(image_pix_size_h);
imageWindow->center();
- //imageWindow->setModal(true);
+ //imageWindow->setModal(true);*/
std::string title = "Yaba Sanshiro "+ std::string(YAB_VERSION) +" Menu";
window = new Window(this, title);
@@ -102,7 +102,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
tools = new Widget(window);
pushActiveMenu(tools, nullptr );
tools->setLayout(new BoxLayout(Orientation::Vertical,Alignment::Middle, 0, 5));
- tools->setFixedWidth(256);
+ tools->setFixedWidth(186);
PlayerConfig tmp;
tmp.player = new PopupButton(tools, "Player1", ENTYPO_ICON_EXPORT);
@@ -114,14 +114,14 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
PopupButton * ps_config = new PopupButton(tools, "Config");
- ps_config->setFixedWidth(248);
+ ps_config->setFixedWidth(180);
showConfigDialog(ps_config);
ps_config->setCallback([this,ps_config]() {
pushActiveMenu(ps_config->popup(),ps_config);
});
Button *b0 = new Button(tools, "Exit");
- b0->setFixedWidth(248);
+ b0->setFixedWidth(180);
b0->setCallback([this]() {
MENU_LOG("Exit\n");
SDL_Event* quit = new SDL_Event();
@@ -130,7 +130,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
});
Button *b1 = new Button(tools, "Reset");
- b1->setFixedWidth(248);
+ b1->setFixedWidth(180);
b1->setCallback([this]() {
MENU_LOG("Reset\n");
SDL_Event event = {};
@@ -142,14 +142,14 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
});
PopupButton * ps = new PopupButton(tools, "Save State");
- ps->setFixedWidth(248);
+ ps->setFixedWidth(180);
ps->setCallback([this,ps]() {
showSaveStateDialog( ps->popup());
pushActiveMenu(ps->popup(),ps);
});
ps = new PopupButton(tools, "Load State");
- ps->setFixedWidth(248);
+ ps->setFixedWidth(180);
ps->setCallback([this,ps]() {
showLoadStateDialog( ps->popup());
pushActiveMenu(ps->popup(),ps);
@@ -158,7 +158,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
bCdTray = new Button(tools, "Open CD Tray");
- bCdTray->setFixedWidth(248);
+ bCdTray->setFixedWidth(180);
bCdTray->setCallback([this]() {
if( this->is_cdtray_open_ ){
MENU_LOG("Close CD Tray\n");
@@ -194,7 +194,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
Button *b2 = new Button(tools, "Show/Hide FPS");
- b2->setFixedWidth(248);
+ b2->setFixedWidth(180);
b2->setCallback([this]() {
MENU_LOG("Show/Hide FPS\n");
SDL_Event event = {};
@@ -206,7 +206,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
});
Button *b3 = new Button(tools, "Enable/Disable Frame Skip");
- b3->setFixedWidth(248);
+ b3->setFixedWidth(180);
b3->setCallback([this]() {
MENU_LOG("Reset\n");
SDL_Event event = {};
@@ -218,7 +218,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
});
#if 0
Button *b4 = new Button(tools, "About");
- b4->setFixedWidth(248);
+ b4->setFixedWidth(180);
b4->setCallback([this,b4]() {
int image_pix_size_w = this->width() / 2;
int image_pix_size_h = this->height() / 2;
@@ -600,7 +600,7 @@ void MenuScreen::getSelectedGUID( int user_index, std::string & selguid ){
void MenuScreen::setupPlayerPsuhButton( int user_index, PopupButton *player, const std::string & label, ComboBox **cbo ){
- player->setFixedWidth(248);
+ player->setFixedWidth(180);
Popup *popup = player->popup();
popup->setLayout(new GroupLayout(4,2,2,2));
new Label(popup, label);
diff --git a/yabause/src/retro_arena/nanogui-sdl/src/theme.cpp b/yabause/src/retro_arena/nanogui-sdl/src/theme.cpp
index 3d126ad2..191ccdbb 100644
--- a/yabause/src/retro_arena/nanogui-sdl/src/theme.cpp
+++ b/yabause/src/retro_arena/nanogui-sdl/src/theme.cpp
@@ -18,20 +18,20 @@
NAMESPACE_BEGIN(nanogui)
Theme::Theme(NVGcontext *ctx) {
- mStandardFontSize = 16;
- mButtonFontSize = 20;
- mTextBoxFontSize = 20;
- mWindowCornerRadius = 2;
- mWindowHeaderHeight = 30;
- mWindowDropShadowSize = 10;
- mButtonCornerRadius = 2;
- mTabBorderWidth = 0.75f;
- mTabInnerMargin = 5;
- mTabMinButtonWidth = 20;
- mTabMaxButtonWidth = 160;
- mTabControlWidth = 20;
- mTabButtonHorizontalPadding = 10;
- mTabButtonVerticalPadding = 2;
+ mStandardFontSize = 11;
+ mButtonFontSize = 11;
+ mTextBoxFontSize = 11;
+ mWindowCornerRadius = 0;
+ mWindowHeaderHeight = 14;
+ mWindowDropShadowSize = 0;
+ mButtonCornerRadius = 0;
+ mTabBorderWidth = 0.15f;
+ mTabInnerMargin = 0;
+ mTabMinButtonWidth = 14;
+ mTabMaxButtonWidth = 120;
+ mTabControlWidth = 12;
+ mTabButtonHorizontalPadding = 0;
+ mTabButtonVerticalPadding = 0;
mDropShadow = Color(0, 128);
mTransparent = Color(0, 0);
diff --git a/yabause/src/retro_arena/nanogui-sdl/src/window.cpp b/yabause/src/retro_arena/nanogui-sdl/src/window.cpp
index cf3998c5..51e02022 100644
--- a/yabause/src/retro_arena/nanogui-sdl/src/window.cpp
+++ b/yabause/src/retro_arena/nanogui-sdl/src/window.cpp
@@ -119,7 +119,7 @@ void Window::draw(NVGcontext *ctx) {
nvgStrokeColor(ctx, mTheme->mWindowHeaderSepBot);
nvgStroke(ctx);
- nvgFontSize(ctx, 18.0f);
+ nvgFontSize(ctx, 12.0f);
nvgFontFace(ctx, "sans-bold");
nvgTextAlign(ctx, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE);

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="TIC-80"
PKG_VERSION="e199ef2bd466ea4dd6ac751b70afdbde16dbda17"
PKG_VERSION="c6d93b01fedd5b59bb23b3d00ec37e7d2d3a5821"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="beetle-lynx"
PKG_VERSION="2f74c21f500cb80cc3d594d0a3cff734957eebf9"
PKG_SHA256="e44ce6045799828f12cb7fbf923ae84759f739c969dac7ac077022244767cef7"
PKG_VERSION="3d2fcc5a555bea748b76f92a082c40227dff8222"
PKG_SHA256="15b46e8f297884031bd302276385d6b1b1df380d8658ad831543ad814f417ea0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="beetle-ngp"
PKG_VERSION="3b4be06d6c768aeb4d22a8003d03b84d70b9c1fe"
PKG_SHA256="8fe382a3ee510fcc3f4ea500ff966154a5a42ae7694e4b33807d318359600697"
PKG_VERSION="91f2e819dffb93661378eabdff71a80d80fd5d27"
PKG_SHA256="80b27fac462682e6e11e0b42225d10e0e635f2720bfbf5b000f4c5d6d241929b"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="beetle-pce"
PKG_VERSION="e8801687f232a6f8828b3ff5dadbc9fe1b0076fc"
PKG_SHA256="6ba8965da9f27ca1feb4a6406e6f3114f60712e8ddd8778847885a289b893f00"
PKG_VERSION="e537fe28c2656aca17e2968563ea01dec821bb5e"
PKG_SHA256="66945cbef2abb3a992299c489f5a2e9d0434f3774e28aeccc8acb983d0ff4122"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="beetle-pcfx"
PKG_VERSION="bfc0954e14b261a04dcf8dbe0df8798f16ae3f3c"
PKG_SHA256="84191d221bc51c2595f2a192a71b955f0a1e521abfe0f9b64d9e87365eeaa4fc"
PKG_VERSION="a95138a2906e7fb1f8414b1bd0c6134bbfad2bc1"
PKG_SHA256="2cd026fbc7b938a2b162df5b05da9d5b390d2b4730b6928b43e1266a96853b73"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="beetle-vb"
PKG_VERSION="b3db8882109e4563ac4fcceab2392253a4a359a6"
PKG_SHA256="dfa7b377d6247caf710db3782c975cea612f5ce0b23290fa3fdaa63af9e19dea"
PKG_VERSION="0b9ea3882e187bc1fe0daf3d258fde660798ed7e"
PKG_SHA256="a9ee7684687f622bfdaba4b92b8da213ef3add92ebaa4583c548544ee01778c6"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="beetle-wswan"
PKG_VERSION="f427a9c21d9048ef39e63a24dd792c615dcc84e8"
PKG_SHA256="4ed4ec6886f37b419637e594a5f08722e268977a482f26393e6e860e3dcf84e4"
PKG_VERSION="16d96f64a32cbe1fa89c40b142298dbd007f2f4d"
PKG_SHA256="9b67dab8b496ce321d21d87032697cf0e0b5616811ca3848506d14214eee65f3"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="cap32"
PKG_VERSION="8ac298b5770dc9ba5cace9cb61e714c57318ba59"
PKG_SHA256="d0d5f851a1f73489b5db2e401b5165ecd1a82bb1496e5ce52a4dbdc0df32c0c9"
PKG_VERSION="5f442fb81c88a9947daff2182ffc307e27fe8547"
PKG_SHA256="81778bf815e259dee0c05da38bca2a8bbbc5ebf8aa06efdd8faef2b10a1611d6"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="dosbox-pure"
PKG_VERSION="bcf8e4698e4cb651f3683c8889c593a3dbd953d3"
PKG_VERSION="6335ea9df9568fd69ea1715bcebea6a53b34d0d7"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
@ -40,6 +40,9 @@ make_target() {
if [[ "${DEVICE}" =~ RG351 ]]
then
PKG_MAKE_OPTS_TARGET+=" platform=RG351x"
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
PKG_MAKE_OPTS_TARGET+=" platform=RK3566"
else
PKG_MAKE_OPTS_TARGET+=" platform=${DEVICE}"
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -5,7 +5,7 @@ diff -rupN dosbox-pure.orig/Makefile dosbox-pure/Makefile
LDFLAGS += $(CPUFLAGS) -shared
#LDFLAGS += -static-libstdc++ -static-libgcc #adds 1MB to output and still dynamically links against libc and libm
+ifneq (,$(findstring RG503,$(platform)))
+ifneq (,$(findstring RK3566,$(platform)))
+OUTNAME := dosbox_pure_libretro.so
+BUILD := RELEASE
+BUILDDIR := release

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="dosbox-svn"
PKG_VERSION="023c411c7f7a3f70cabba57e65441d33cae3de2b"
PKG_VERSION="c23be7769518d753378307996de35e204d188c63"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -3,8 +3,8 @@
# Maintenance 2020 351ELEC team (https://github.com/fewtarius/351ELEC)
PKG_NAME="fbneo"
PKG_VERSION="aee03171ba27b050cc0fac6083e4233cce274ceb"
PKG_SHA256="fad5ca76795e7fb2d9faaa9e45c395322dddfdc49f29447ab1ab3636e4691630"
PKG_VERSION="d6293c2702857186c90836d86dc25a29473acf4a"
PKG_SHA256="61c2106bced50b0e4fe2bd6aff0ef51dd8802fb37e0a5f81836648eff16cc174"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Non-commercial"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="fceumm"
PKG_VERSION="b3c35b6515b2b6a789c589f976a4a323ebebe3eb"
PKG_SHA256="6ae6816f4d6c6c765fd49ae2dad639d867d82781825535428565e43611649339"
PKG_VERSION="c3d84f5349f7c38bffe31fe690f7d2f0aa4ea3d9"
PKG_SHA256="a4f7a2b3c7fc9f9f9e2c080902a6cf2f84cab2a045d6ed26cbe1f0e24d268508"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -3,7 +3,7 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="flycast"
PKG_VERSION="917cc7f27c11b00a7517444ecf3bcc5a227fe2bf"
PKG_VERSION="05961ac8837da2299383c2fdd55ad4fff44f758d"
PKG_SITE="https://github.com/flyinghead/flycast"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain ${OPENGLES} libzip"

View file

@ -43,6 +43,9 @@ pre_make_target() {
if [[ "${DEVICE}" =~ RG351 ]]
then
PKG_MAKE_OPTS_TARGET+=" platform=RG351x"
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
PKG_MAKE_OPTS_TARGET+=" platform=RK3566"
else
PKG_MAKE_OPTS_TARGET+=" platform=${DEVICE}"
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -1,34 +1,43 @@
diff -rupN flycast.orig/Makefile flycast/Makefile
--- flycast.orig/Makefile 2022-04-08 18:10:23.156125702 -0400
+++ flycast/Makefile 2022-04-08 18:59:10.972092728 -0400
@@ -610,6 +610,30 @@ else ifneq (,$(findstring RK,$(platform)
WITH_DYNAREC=arm
HAVE_GENERIC_JIT = 0
--- flycast.orig/Makefile 2022-06-18 13:29:52.675787687 -0400
+++ flycast/Makefile 2022-06-18 13:53:23.564624927 -0400
@@ -403,26 +403,30 @@ else ifeq ($(platform), arm64_cortex_a53
+else ifeq ($(platform), RG503)
+ EXT ?= so
+ TARGET := $(TARGET_NAME)_libretro.$(EXT)
+ SHARED += -shared -Wl,--version-script=link.T
+ fpic = -fPIC
+ LIBS += -lrt
+ ARM_FLOAT_ABI_HARD = 0
+ FORCE_GLES = 1
+ SINGLE_PREC_FLAGS = 1
+ HAVE_LTCG = 0
+ HAVE_OPENMP = 0
+ CFLAGS += -Ofast \
+ -fuse-linker-plugin \
+ -fno-stack-protector -fno-ident -fomit-frame-pointer \
+ -fmerge-all-constants -ffast-math -funroll-all-loops \
+ -mcpu=cortex-a55 -mtune=cortex-a55
+ CXXFLAGS += $(CFLAGS)
+ LDFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 -Ofast -flto -fuse-linker-plugin
+ PLATFORM_EXT := unix
+ CORE_DEFINES += -DLOW_END -DLOW_RES
+ WITH_DYNAREC=arm64
+ PLATFORM_EXT := unix
+ HAVE_GENERIC_JIT = 0
+
# RockPro64
else ifeq ($(platform), rockpro64)
#######################################
-# ARM64 SM1 Odroid C4
-else ifeq ($(platform), odroidc4)
+# ARM64 RG503, RG353P
+else ifeq ($(platform), RK3566)
EXT ?= so
TARGET := $(TARGET_NAME)_libretro.$(EXT)
SHARED += -shared -Wl,--version-script=link.T
- LDFLAGS += -Wl,--no-undefined
fpic = -fPIC
LIBS += -lrt
ARM_FLOAT_ABI_HARD = 0
FORCE_GLES = 1
SINGLE_PREC_FLAGS = 1
- CPUFLAGS += -DHOST_CPU=0x20000006 -DTARGET_LINUX_ARMv8 -frename-registers
- CFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 $(CPUFLAGS)
- CXXFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 $(CPUFLAGS)
- ASFLAGS += $(CFLAGS) -c -frename-registers -fno-strict-aliasing -ffast-math -ftree-vectorize
+ HAVE_LTCG = 0
+ HAVE_OPENMP = 0
+ CFLAGS += -Ofast \
+ -fuse-linker-plugin \
+ -fno-stack-protector -fno-ident -fomit-frame-pointer \
+ -fmerge-all-constants -ffast-math -funroll-all-loops \
+ -mcpu=cortex-a55 -mtune=cortex-a55
+ CXXFLAGS += $(CFLAGS)
+ LDFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 -Ofast -flto -fuse-linker-plugin
PLATFORM_EXT := unix
+ CORE_DEFINES += -DLOW_END -DLOW_RES
WITH_DYNAREC=arm64
+ PLATFORM_EXT := unix
HAVE_GENERIC_JIT = 0
- HAVE_VULKAN = 0
- HAVE_LTCG = 0
#######################################

View file

@ -3,8 +3,8 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="freej2me"
PKG_VERSION="5919af91d0f4363f19131add0808928652f6c6a9"
PKG_SHA256="529687efb0f312d35761b86d55c1285e538521f5daf2dcd70a98759635273680"
PKG_VERSION="165d4d58c234b3c1fea08297561b782cd09050c4"
PKG_SHA256="72d42c212134fa5da8a5d8ecc11a09d741e067794da559838d5c21c85efc9778"
PKG_REV="1"
PKG_ARCH="any"
PKG_SITE="https://github.com/hex007/freej2me"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="genesis-plus-gx"
PKG_VERSION="73e646476297b90bed633b47741e3f6605da243a"
PKG_SHA256="31a1b62ae8eb346033c959714a7aff58df964ef1ffb6b3ac20581f2ffad2e99a"
PKG_VERSION="643163443db96ca89d1826422a414da3768b4641"
PKG_SHA256="b9860d059a4eb29cedaab3b33c593f42b2f41977b2e66a8ff7d9c90c143b5c9c"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Non-commercial"

View file

@ -44,6 +44,9 @@ then
if [[ "${DEVICE}" =~ RG351 ]]
then
make CC=${CC} platform=RG351x
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
make CC=${CC} platform=RK3566
else
make CC=${CC} platform=${DEVICE}
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -5,8 +5,8 @@ diff -rupN gpsp.orig/Makefile gpsp/Makefile
MMAP_JIT_CACHE = 1
HAVE_DYNAREC = 1
+# Anbernic RG503
+else ifeq ($(platform), RG503)
+# Anbernic RG353P
+else ifeq ($(platform), RK3566)
+ CPUFLAGS := -marm -march=armv8-a+crc+simd -mtune=cortex-a55 -mfpu=neon-fp-armv8 -mfloat-abi=hard -flto
+ CFLAGS := $(CPUFLAGS) -fpic -ffast-math -fno-rtti -fno-exceptions
+ TARGET := $(TARGET_NAME)_libretro.so

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="libretro-database"
PKG_VERSION="f533de089172008cf2c1fdefe19d62cda2a31121"
PKG_SHA256="1c7461de3b155e821041a5796b62f824b526d249e0df3ef05711fa6b1156bb67"
PKG_VERSION="cc6abb150cc88497a48ee4e8e91a48c71dcba059"
PKG_SHA256="d7dab0a5befc680afc7843eac378d1a7fa57543f0290561d713b4e0f6bfd517f"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="mame2003-plus"
PKG_VERSION="e77aaf9cc2f7424b73521a247360f0405ca27b85"
PKG_SHA256="0119f0c344f6d8d6fec12191b5738c8faf54514c34e2601ecf395d32ab96492f"
PKG_VERSION="f150e1f35c0616a6886d50b8b992c66644deee70"
PKG_SHA256="48666879dd40c52b6e8a7aeacf96257031d8fa277442d953a8c2f3df700c784d"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MAME"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="mame2010"
PKG_VERSION="932e6f2c4f13b67b29ab33428a4037dee9a236a8"
PKG_SHA256="af60ec225fc4470e7bbc4a2e35cc7d4e1498aed4fe35b8f238fd5ba0dd9ead26"
PKG_VERSION="5f524dd5fca63ec1dcf5cca63885286109937587"
PKG_SHA256="deb2a5126fcf9791ebaaba604143b6fb1bf4fa48fdc7a2ef919c900a3f9e4d69"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MAME"

View file

@ -18,8 +18,8 @@
################################################################################
PKG_NAME="mame2015"
PKG_VERSION="e6a7aa4d53726e61498f68d6b8e2c092a2169fa2"
PKG_SHA256="ae4683b6f95b6d14abcf91a1d7a8649c527a222ad17a70fe5ad5d3d48e959974"
PKG_VERSION="2599c8aeaf84f62fe16ea00daa460a19298c121c"
PKG_SHA256="8f9a295f5d280130101c473e9754ec68ccbf45a1c1fe72d3405183ee6270b50d"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -25,7 +25,7 @@ pre_configure_target() {
elif [[ "${DEVICE}" =~ RG552 ]]
then
PKG_MAKE_OPTS_TARGET=" platform=RK3399"
elif [[ "${DEVICE}" =~ RG503 ]]
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
PKG_MAKE_OPTS_TARGET=" platform=RK3566"
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -49,7 +49,7 @@ pre_configure_target() {
elif [[ "${DEVICE}" =~ RG552 ]]
then
PKG_MAKE_OPTS_TARGET=" platform=RK3399"
elif [[ "${DEVICE}" =~ RG503 ]]
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
PKG_MAKE_OPTS_TARGET=" platform=RK3566"
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -6,7 +6,7 @@ diff -rupN mupen64plus.orig/Makefile mupen64plus/Makefile
COREFLAGS += -DOS_LINUX
ASFLAGS = -f elf -d ELF_TYPE
+
+# Rockchip RK3326
+# Rockchip RK3566
+else ifneq (,$(findstring RK,$(platform)))
+ TARGET := $(TARGET_NAME)_libretro.so
+ LDFLAGS += -shared -Wl,--version-script=$(LIBRETRO_DIR)/link.T -Wl,--no-undefined -ldl
@ -15,7 +15,7 @@ diff -rupN mupen64plus.orig/Makefile mupen64plus/Makefile
+ ifneq (,$(findstring RK3399,$(platform)))
+ CPUFLAGS += -march=armv8-a -mtune=cortex-a72.cortex-a53
+ else ifneq (,$(findstring RK3566,$(platform)))
+ CPUFLAGS += -mtune=cortex-a55
+ CPUFLAGS += -march=armv8-a -mtune=cortex-a55
+ GLES = 1
+ endif
+ else ifneq (,$(findstring RK3288,$(platform)))

View file

@ -21,6 +21,9 @@ then
if [[ "${DEVICE}" =~ RG351 ]]
then
PKG_MAKE_OPTS_TARGET=" platform=RG351x"
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
PKG_MAKE_OPTS_TARGET+=" platform=RK3566"
else
PKG_MAKE_OPTS_TARGET=" platform=${DEVICE}"
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -6,8 +6,8 @@ diff -rupN parallel-n64.orig/Makefile parallel-n64/Makefile
endif
+#######################################
+# Anbernic RG503
+else ifneq (,$(findstring RG503,$(platform)))
+# Anbernic RG353P
+else ifneq (,$(findstring RK3566,$(platform)))
+ TARGET := $(TARGET_NAME)_libretro.so
+ CPUFLAGS += -marm -mtune=cortex-a55 -mfpu=neon-fp-armv8 -mfloat-abi=hard
+ ASFLAGS += -D__ARM_NEON__ -marm -mtune=cortex-a55 -mfpu=neon-fp-armv8 -mfloat-abi=hard

View file

@ -21,6 +21,9 @@ then
if [[ "${DEVICE}" =~ RG351 ]]
then
PKG_MAKE_OPTS_TARGET=" platform=RG351x"
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
PKG_MAKE_OPTS_TARGET+=" platform=RK3566"
else
PKG_MAKE_OPTS_TARGET=" platform=${DEVICE}"
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -6,8 +6,8 @@ diff -rupN parallel-n64.orig/Makefile parallel-n64/Makefile
endif
+#######################################
+# Anbernic RG503
+else ifneq (,$(findstring RG503,$(platform)))
+# Anbernic RG353P
+else ifneq (,$(findstring RK3566,$(platform)))
+ TARGET := $(TARGET_NAME)_libretro.so
+ CPUFLAGS += -marm -mtune=cortex-a55 -mfpu=neon-fp-armv8 -mfloat-abi=hard
+ ASFLAGS += -D__ARM_NEON__ -marm -mtune=cortex-a55 -mfpu=neon-fp-armv8 -mfloat-abi=hard

View file

@ -21,6 +21,9 @@ then
if [[ "${DEVICE}" =~ RG351 ]]
then
PKG_MAKE_OPTS_TARGET=" platform=RG351x"
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
PKG_MAKE_OPTS_TARGET+=" platform=RK3566"
else
PKG_MAKE_OPTS_TARGET=" platform=${DEVICE}"
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -6,8 +6,8 @@ diff -rupN parallel-n64.orig/Makefile parallel-n64/Makefile
endif
+#######################################
+# Anbernic RG503
+else ifneq (,$(findstring RG503,$(platform)))
+# Anbernic RG353P and RG503
+else ifneq (,$(findstring RK3566,$(platform)))
+ TARGET := $(TARGET_NAME)_libretro.so
+ CPUFLAGS += -marm -mtune=cortex-a55 -mfpu=neon-fp-armv8 -mfloat-abi=hard
+ ASFLAGS += -D__ARM_NEON__ -marm -mtune=cortex-a55 -mfpu=neon-fp-armv8 -mfloat-abi=hard

View file

@ -3,8 +3,8 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="pcsx_rearmed"
PKG_VERSION="9723f27f9d28d90c8f54a9cd9e7203a87cc41b29"
PKG_SHA256="cba3f7fb43b0770f177ce4258486ec056f5180ec647e68b1937c7ec4f7a1d8ae"
PKG_VERSION="ca177c0f86742d9efa4a9ee762ad326385c1f093"
PKG_SHA256="a2028755f70f76b43de5b28fab7e7e1b5ed49599bd7b2c36ab730ae25362bee1"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
@ -20,6 +20,9 @@ make_target() {
if [[ "${DEVICE}" =~ RG351 ]]
then
make -f Makefile.libretro GIT_VERSION=${PKG_VERSION} platform=RG351x
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
make -f Makefile.libretro GIT_VERSION=${PKG_VERSION} platform=RK3566
else
make -f Makefile.libretro GIT_VERSION=${PKG_VERSION} platform=${DEVICE}
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -5,7 +5,7 @@ diff -rupN pcsx_rearmed.orig/Makefile.libretro pcsx_rearmed/Makefile.libretro
CFLAGS += -fomit-frame-pointer -ffast-math -DARM
CPUFLAGS += -march=armv8-a+crc -mfpu=neon-fp-armv8 -mcpu=cortex-a73 -mtune=cortex-a73.cortex-a53
+else ifeq ($(platform), RG503)
+else ifeq ($(platform), RK3566)
+ TARGET := $(TARGET_NAME)_libretro.so
+ fpic := -fPIC
+ SHARED := -shared -Wl,-version-script=link.T

View file

@ -0,0 +1 @@
RG503

View file

@ -5,7 +5,7 @@ diff -rupN pcsx_rearmed.orig/Makefile.libretro pcsx_rearmed/Makefile.libretro
CFLAGS += -fomit-frame-pointer -ffast-math -DARM
CPUFLAGS += -march=armv8-a+crc -mfpu=neon-fp-armv8 -mcpu=cortex-a73 -mtune=cortex-a73.cortex-a53
+else ifeq ($(platform), RG503)
+else ifeq ($(platform), RK3566)
+ TARGET := $(TARGET_NAME)_libretro.so
+ fpic := -fPIC
+ SHARED := -shared -Wl,-version-script=link.T

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="ppsspp"
PKG_VERSION="31a1cfd40fd22873b90a538a837111c0a2fcdfb4"
PKG_VERSION="8fc2422e725fce850c4ed42ff53e0c1558ec0f34"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/hrydgard/ppsspp"
PKG_URL="https://github.com/hrydgard/ppsspp.git"

View file

@ -20,8 +20,8 @@
################################################################################
PKG_NAME="puae"
PKG_VERSION="56ad8fadc0870d9b1e0a0f5185ca33e720da52ff"
PKG_SHA256="14851e201acd0e26adc64657560ce49aa56b1c86906ea2d80e475957c4ca71bf"
PKG_VERSION="e73d253b0c4f50bbb99d2fdb9e88bbea83d09951"
PKG_SHA256="5d217b509b9a5f40431162f38ccb57793a5a537ea84324c194d6f218c04d7f14"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View file

@ -19,8 +19,8 @@
################################################################################
PKG_NAME="stella"
PKG_VERSION="cec3b76fb9e8ab36ed72a65839452a63dd71ed69"
PKG_SHA256="cb966522d032050c901ae8eae89879c630524035b1e8b924fbe85dee82aad01c"
PKG_VERSION="e253be49d5ec0c29ebc622749fb45dcc4564cbf6"
PKG_SHA256="c6597233626ac053ad40b87021a0a0441b246e834cc540d7ac704068a6cf490e"
PKG_REV="1"
PKG_LICENSE="GPL2"
PKG_SITE="https://github.com/stella-emu/stella"

View file

@ -0,0 +1,422 @@
diff -rupN 351Files.orig/Makefile 351Files/Makefile
--- 351Files.orig/Makefile 2022-06-18 17:50:00.300183649 -0400
+++ 351Files/Makefile 2022-06-18 17:53:38.851801772 -0400
@@ -1,5 +1,6 @@
TARGET = 351Files
+# DEVICE ?= RG353P
# DEVICE ?= RG351P
# DEVICE ?= RG351V
# DEVICE ?= RG351MP
diff -rupN 351Files.orig/Makefile.orig 351Files/Makefile.orig
--- 351Files.orig/Makefile.orig 1969-12-31 19:00:00.000000000 -0500
+++ 351Files/Makefile.orig 2022-06-18 17:49:55.532191964 -0400
@@ -0,0 +1,32 @@
+TARGET = 351Files
+
+# DEVICE ?= RG351P
+# DEVICE ?= RG351V
+# DEVICE ?= RG351MP
+# DEVICE ?= RGB10
+# DEVICE ?= RK2020
+# DEVICE ?= CHI
+DEVICE ?= PC
+
+START_PATH ?= "/"
+RES_PATH ?= "./res"
+
+ifeq ($(DEVICE),PC)
+ CC = $(CXX)
+ SDL2_CONFIG = sdl2-config
+ START_PATH = $(PWD)
+endif
+
+SRC = $(wildcard src/*.cpp)
+OBJ = $(patsubst %cpp,%o,$(SRC))
+COMPILER_FLAGS = $(shell $(SDL2_CONFIG) --cflags) -Wall -pedantic -Wfatal-errors -DDEVICE_$(DEVICE) -DSTART_PATH=\"$(START_PATH)\" -DRES_PATH=\"$(RES_PATH)\"
+LINKER_FLAGS = $(shell $(SDL2_CONFIG) --libs) -lSDL2_image -lSDL2_ttf
+
+all : $(OBJ)
+ $(CC) $(OBJ) -o $(TARGET) $(LINKER_FLAGS)
+
+%.o:%.cpp
+ $(CC) -c $< -o $@ $(COMPILER_FLAGS)
+
+clean :
+ rm -f $(OBJ) $(TARGET)
diff -rupN 351Files.orig/src/def.h 351Files/src/def.h
--- 351Files.orig/src/def.h 2022-06-18 17:50:00.304183642 -0400
+++ 351Files/src/def.h 2022-06-18 17:53:11.955848839 -0400
@@ -106,6 +106,22 @@
#define KEYBOARD_KEY_SPACING 4
#define KEYBOARD_SYMBOL_SIZE 24
+// Parameters for RG353P
+#elif defined(DEVICE_RG353P)
+ #define SCREEN_WIDTH 640
+ #define SCREEN_HEIGHT 480
+ #define HARDWARE_ACCELERATION 0
+ #define FULLSCREEN 1
+ #define FONT_NAME "NotoSans-Regular.ttf"
+ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf"
+ #define FONT_SIZE 20
+ #define LINE_HEIGHT 32
+ #define ICON_SIZE 24
+ #define MARGIN_X 10
+ #define KEYBOARD_MARGIN 8
+ #define KEYBOARD_KEY_SPACING 4
+ #define KEYBOARD_SYMBOL_SIZE 24
+
// Paramaters for desktop PC
#else
#define SCREEN_WIDTH 640
@@ -150,7 +166,26 @@
#define VIEWER_SCROLL_SPEED 20
// Button events
-#if defined(DEVICE_RG351P)
+#if defined(DEVICE_RG353P)
+ #define BUTTON_PRESSED_UP event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 13
+ #define BUTTON_PRESSED_DOWN event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 14
+ #define BUTTON_PRESSED_LEFT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 15
+ #define BUTTON_PRESSED_RIGHT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 16
+ #define BUTTON_PRESSED_PAGEUP event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 4 || event.jbutton.button == 6)
+ #define BUTTON_PRESSED_PAGEDOWN event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 5 || event.jbutton.button == 7)
+ #define BUTTON_PRESSED_VALIDATE event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 1
+ #define BUTTON_PRESSED_BACK event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 0
+ #define BUTTON_PRESSED_MENU_CONTEXT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 2
+ #define BUTTON_PRESSED_SELECT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 3
+ #define BUTTON_HELD_UP SDL_JoystickGetButton(g_joystick, 13)
+ #define BUTTON_HELD_DOWN SDL_JoystickGetButton(g_joystick, 14)
+ #define BUTTON_HELD_LEFT SDL_JoystickGetButton(g_joystick, 15)
+ #define BUTTON_HELD_RIGHT SDL_JoystickGetButton(g_joystick, 16)
+ #define BUTTON_HELD_PAGEUP SDL_JoystickGetButton(g_joystick, 4) || SDL_JoystickGetButton(g_joystick, 6)
+ #define BUTTON_HELD_PAGEDOWN SDL_JoystickGetButton(g_joystick, 5) || SDL_JoystickGetButton(g_joystick, 7)
+ #define BUTTON_HELD_SELECT SDL_JoystickGetButton(g_joystick, 3)
+ #define BUTTON_HELD_VALIDATE SDL_JoystickGetButton(g_joystick, 1)
+#elif defined(DEVICE_RG351P)
#define BUTTON_PRESSED_UP event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_UP
#define BUTTON_PRESSED_DOWN event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_DOWN
#define BUTTON_PRESSED_LEFT event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_LEFT
diff -rupN 351Files.orig/src/def.h.orig 351Files/src/def.h.orig
--- 351Files.orig/src/def.h.orig 1969-12-31 19:00:00.000000000 -0500
+++ 351Files/src/def.h.orig 2022-06-18 17:49:55.536191957 -0400
@@ -0,0 +1,318 @@
+#ifndef _DEF_H_
+#define _DEF_H_
+
+#include <vector>
+#include <SDL.h>
+#include <SDL_ttf.h>
+
+//~ #define INHIBIT(X) X
+#define INHIBIT(X) /* X */
+
+#define APP_NAME "351Files"
+
+// Parameters for RG351P
+#if defined(DEVICE_RG351P)
+ #define SCREEN_WIDTH 480
+ #define SCREEN_HEIGHT 320
+ #define HARDWARE_ACCELERATION 0
+ #define FULLSCREEN 1
+ #define FONT_NAME "NotoSans-Regular.ttf"
+ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf"
+ #define FONT_SIZE 14
+ #define LINE_HEIGHT 24
+ #define ICON_SIZE 24
+ #define MARGIN_X 8
+ #define KEYBOARD_MARGIN 3
+ #define KEYBOARD_KEY_SPACING 3
+ #define KEYBOARD_SYMBOL_SIZE 24
+
+// Parameters for RG351V
+#elif defined(DEVICE_RG351V)
+ #define SCREEN_WIDTH 640
+ #define SCREEN_HEIGHT 480
+ #define HARDWARE_ACCELERATION 0
+ #define FULLSCREEN 1
+ #define FONT_NAME "NotoSans-Regular.ttf"
+ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf"
+ #define FONT_SIZE 20
+ #define LINE_HEIGHT 32
+ #define ICON_SIZE 24
+ #define MARGIN_X 10
+ #define KEYBOARD_MARGIN 8
+ #define KEYBOARD_KEY_SPACING 4
+ #define KEYBOARD_SYMBOL_SIZE 24
+
+// Parameters for RG351MP
+#elif defined(DEVICE_RG351MP)
+ #define SCREEN_WIDTH 640
+ #define SCREEN_HEIGHT 480
+ #define HARDWARE_ACCELERATION 0
+ #define FULLSCREEN 1
+ #define FONT_NAME "NotoSans-Regular.ttf"
+ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf"
+ #define FONT_SIZE 20
+ #define LINE_HEIGHT 32
+ #define ICON_SIZE 24
+ #define MARGIN_X 10
+ #define KEYBOARD_MARGIN 8
+ #define KEYBOARD_KEY_SPACING 4
+ #define KEYBOARD_SYMBOL_SIZE 24
+
+// Parameters for RGB10
+#elif defined(DEVICE_RGB10)
+ #define SCREEN_WIDTH 480
+ #define SCREEN_HEIGHT 320
+ #define HARDWARE_ACCELERATION 0
+ #define FULLSCREEN 1
+ #define FONT_NAME "NotoSans-Regular.ttf"
+ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf"
+ #define FONT_SIZE 14
+ #define LINE_HEIGHT 24
+ #define ICON_SIZE 24
+ #define MARGIN_X 8
+ #define KEYBOARD_MARGIN 3
+ #define KEYBOARD_KEY_SPACING 3
+ #define KEYBOARD_SYMBOL_SIZE 24
+
+// Parameters for RK2020
+#elif defined(DEVICE_RK2020)
+ #define SCREEN_WIDTH 480
+ #define SCREEN_HEIGHT 320
+ #define HARDWARE_ACCELERATION 0
+ #define FULLSCREEN 1
+ #define FONT_NAME "NotoSans-Regular.ttf"
+ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf"
+ #define FONT_SIZE 14
+ #define LINE_HEIGHT 24
+ #define ICON_SIZE 24
+ #define MARGIN_X 8
+ #define KEYBOARD_MARGIN 3
+ #define KEYBOARD_KEY_SPACING 3
+ #define KEYBOARD_SYMBOL_SIZE 24
+
+// Parameters for CHI
+#elif defined(DEVICE_CHI)
+ #define SCREEN_WIDTH 640
+ #define SCREEN_HEIGHT 480
+ #define HARDWARE_ACCELERATION 0
+ #define FULLSCREEN 1
+ #define FONT_NAME "NotoSans-Regular.ttf"
+ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf"
+ #define FONT_SIZE 20
+ #define LINE_HEIGHT 32
+ #define ICON_SIZE 24
+ #define MARGIN_X 10
+ #define KEYBOARD_MARGIN 8
+ #define KEYBOARD_KEY_SPACING 4
+ #define KEYBOARD_SYMBOL_SIZE 24
+
+// Paramaters for desktop PC
+#else
+ #define SCREEN_WIDTH 640
+ #define SCREEN_HEIGHT 480
+ #define HARDWARE_ACCELERATION 1
+ #define FULLSCREEN 0
+ #define FONT_NAME "NotoSans-Regular.ttf"
+ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf"
+ #define FONT_SIZE 20
+ #define LINE_HEIGHT 32
+ #define ICON_SIZE 24
+ #define MARGIN_X 10
+ #define KEYBOARD_MARGIN 8
+ #define KEYBOARD_KEY_SPACING 4
+ #define KEYBOARD_SYMBOL_SIZE 24
+#endif
+
+// Colors
+#define COLOR_TITLE_BG 68, 68, 68
+#define COLOR_TEXT_NORMAL 255, 255, 255
+#define COLOR_TEXT_SELECTED 255, 0, 0
+#define COLOR_BODY_BG 45, 45, 45
+#define COLOR_KEYBOARD_DARK 35, 35, 35
+#define COLOR_CURSOR_FOCUS 21, 83, 158
+#define COLOR_CURSOR_NO_FOCUS 80, 80, 80
+
+// Framerate = 60fps
+#define MS_PER_FRAME 16
+
+// Timer for key holds
+#define KEYHOLD_TIMER_FIRST 16
+#define KEYHOLD_TIMER 4
+
+// Timer for long file name scrolling
+#define LONG_NAME_TIMER_FIRST 16
+#define LONG_NAME_TIMER 1
+
+// Size of dialog border
+#define DIALOG_BORDER 4
+
+// Scroll speed in image viewer
+#define VIEWER_SCROLL_SPEED 20
+
+// Button events
+#if defined(DEVICE_RG351P)
+ #define BUTTON_PRESSED_UP event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_UP
+ #define BUTTON_PRESSED_DOWN event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_DOWN
+ #define BUTTON_PRESSED_LEFT event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_LEFT
+ #define BUTTON_PRESSED_RIGHT event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_RIGHT
+ #define BUTTON_PRESSED_PAGEUP event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 4 || event.jbutton.button == 10)
+ #define BUTTON_PRESSED_PAGEDOWN event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 5 || event.jbutton.button == 11)
+ #define BUTTON_PRESSED_VALIDATE event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 0
+ #define BUTTON_PRESSED_BACK event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 1
+ #define BUTTON_PRESSED_MENU_CONTEXT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 2
+ #define BUTTON_PRESSED_SELECT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 3
+ #define BUTTON_HELD_UP SDL_JoystickGetHat(g_joystick, 0) == SDL_HAT_UP
+ #define BUTTON_HELD_DOWN SDL_JoystickGetHat(g_joystick, 0) == SDL_HAT_DOWN
+ #define BUTTON_HELD_LEFT SDL_JoystickGetHat(g_joystick, 0) == SDL_HAT_LEFT
+ #define BUTTON_HELD_RIGHT SDL_JoystickGetHat(g_joystick, 0) == SDL_HAT_RIGHT
+ #define BUTTON_HELD_PAGEUP SDL_JoystickGetButton(g_joystick, 4) || SDL_JoystickGetButton(g_joystick, 10)
+ #define BUTTON_HELD_PAGEDOWN SDL_JoystickGetButton(g_joystick, 5) || SDL_JoystickGetButton(g_joystick, 11)
+ #define BUTTON_HELD_SELECT SDL_JoystickGetButton(g_joystick, 3)
+ #define BUTTON_HELD_VALIDATE SDL_JoystickGetButton(g_joystick, 0)
+#elif defined(DEVICE_RG351V)
+ #define BUTTON_PRESSED_UP event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_UP
+ #define BUTTON_PRESSED_DOWN event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_DOWN
+ #define BUTTON_PRESSED_LEFT event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_LEFT
+ #define BUTTON_PRESSED_RIGHT event.type == SDL_JOYHATMOTION && event.jhat.value == SDL_HAT_RIGHT
+ #define BUTTON_PRESSED_PAGEUP event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 4 || event.jbutton.button == 10)
+ #define BUTTON_PRESSED_PAGEDOWN event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 5 || event.jbutton.button == 11)
+ #define BUTTON_PRESSED_VALIDATE event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 0
+ #define BUTTON_PRESSED_BACK event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 1
+ #define BUTTON_PRESSED_MENU_CONTEXT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 2
+ #define BUTTON_PRESSED_SELECT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 3
+ #define BUTTON_HELD_UP SDL_JoystickGetHat(g_joystick, 0) == SDL_HAT_UP
+ #define BUTTON_HELD_DOWN SDL_JoystickGetHat(g_joystick, 0) == SDL_HAT_DOWN
+ #define BUTTON_HELD_LEFT SDL_JoystickGetHat(g_joystick, 0) == SDL_HAT_LEFT
+ #define BUTTON_HELD_RIGHT SDL_JoystickGetHat(g_joystick, 0) == SDL_HAT_RIGHT
+ #define BUTTON_HELD_PAGEUP SDL_JoystickGetButton(g_joystick, 4) || SDL_JoystickGetButton(g_joystick, 10)
+ #define BUTTON_HELD_PAGEDOWN SDL_JoystickGetButton(g_joystick, 5) || SDL_JoystickGetButton(g_joystick, 11)
+ #define BUTTON_HELD_SELECT SDL_JoystickGetButton(g_joystick, 3)
+ #define BUTTON_HELD_VALIDATE SDL_JoystickGetButton(g_joystick, 0)
+#elif defined(DEVICE_RG351MP)
+ #define BUTTON_PRESSED_UP event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 8
+ #define BUTTON_PRESSED_DOWN event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 9
+ #define BUTTON_PRESSED_LEFT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 10
+ #define BUTTON_PRESSED_RIGHT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 11
+ #define BUTTON_PRESSED_PAGEUP event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 4 || event.jbutton.button == 6)
+ #define BUTTON_PRESSED_PAGEDOWN event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 5 || event.jbutton.button == 7)
+ #define BUTTON_PRESSED_VALIDATE event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 1
+ #define BUTTON_PRESSED_BACK event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 0
+ #define BUTTON_PRESSED_MENU_CONTEXT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 3
+ #define BUTTON_PRESSED_SELECT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 2
+ #define BUTTON_HELD_UP SDL_JoystickGetButton(g_joystick, 8)
+ #define BUTTON_HELD_DOWN SDL_JoystickGetButton(g_joystick, 9)
+ #define BUTTON_HELD_LEFT SDL_JoystickGetButton(g_joystick, 10)
+ #define BUTTON_HELD_RIGHT SDL_JoystickGetButton(g_joystick, 11)
+ #define BUTTON_HELD_PAGEUP SDL_JoystickGetButton(g_joystick, 4) || SDL_JoystickGetButton(g_joystick, 6)
+ #define BUTTON_HELD_PAGEDOWN SDL_JoystickGetButton(g_joystick, 5) || SDL_JoystickGetButton(g_joystick, 7)
+ #define BUTTON_HELD_SELECT SDL_JoystickGetButton(g_joystick, 2)
+ #define BUTTON_HELD_VALIDATE SDL_JoystickGetButton(g_joystick, 1)
+#elif defined(DEVICE_RGB10)
+ #define BUTTON_PRESSED_UP event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 8
+ #define BUTTON_PRESSED_DOWN event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 9
+ #define BUTTON_PRESSED_LEFT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 10
+ #define BUTTON_PRESSED_RIGHT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 11
+ #define BUTTON_PRESSED_PAGEUP event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 4 || event.jbutton.button == 14)
+ #define BUTTON_PRESSED_PAGEDOWN event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 5 || event.jbutton.button == 15)
+ #define BUTTON_PRESSED_VALIDATE event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 1
+ #define BUTTON_PRESSED_BACK event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 0
+ #define BUTTON_PRESSED_MENU_CONTEXT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 3
+ #define BUTTON_PRESSED_SELECT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 2
+ #define BUTTON_HELD_UP SDL_JoystickGetButton(g_joystick, 8)
+ #define BUTTON_HELD_DOWN SDL_JoystickGetButton(g_joystick, 9)
+ #define BUTTON_HELD_LEFT SDL_JoystickGetButton(g_joystick, 10)
+ #define BUTTON_HELD_RIGHT SDL_JoystickGetButton(g_joystick, 11)
+ #define BUTTON_HELD_PAGEUP SDL_JoystickGetButton(g_joystick, 4) || SDL_JoystickGetButton(g_joystick, 14)
+ #define BUTTON_HELD_PAGEDOWN SDL_JoystickGetButton(g_joystick, 5) || SDL_JoystickGetButton(g_joystick, 15)
+ #define BUTTON_HELD_SELECT SDL_JoystickGetButton(g_joystick, 2)
+ #define BUTTON_HELD_VALIDATE SDL_JoystickGetButton(g_joystick, 1)
+#elif defined(DEVICE_RK2020)
+ #define BUTTON_PRESSED_UP event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 6
+ #define BUTTON_PRESSED_DOWN event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 7
+ #define BUTTON_PRESSED_LEFT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 8
+ #define BUTTON_PRESSED_RIGHT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 9
+ #define BUTTON_PRESSED_PAGEUP event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 4 || event.jbutton.button == 12)
+ #define BUTTON_PRESSED_PAGEDOWN event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 5 || event.jbutton.button == 13)
+ #define BUTTON_PRESSED_VALIDATE event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 1
+ #define BUTTON_PRESSED_BACK event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 0
+ #define BUTTON_PRESSED_MENU_CONTEXT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 3
+ #define BUTTON_PRESSED_SELECT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 2
+ #define BUTTON_HELD_UP SDL_JoystickGetButton(g_joystick, 6)
+ #define BUTTON_HELD_DOWN SDL_JoystickGetButton(g_joystick, 7)
+ #define BUTTON_HELD_LEFT SDL_JoystickGetButton(g_joystick, 8)
+ #define BUTTON_HELD_RIGHT SDL_JoystickGetButton(g_joystick, 9)
+ #define BUTTON_HELD_PAGEUP SDL_JoystickGetButton(g_joystick, 4) || SDL_JoystickGetButton(g_joystick, 12)
+ #define BUTTON_HELD_PAGEDOWN SDL_JoystickGetButton(g_joystick, 5) || SDL_JoystickGetButton(g_joystick, 13)
+ #define BUTTON_HELD_SELECT SDL_JoystickGetButton(g_joystick, 2)
+ #define BUTTON_HELD_VALIDATE SDL_JoystickGetButton(g_joystick, 1)
+#elif defined(DEVICE_CHI)
+ #define BUTTON_PRESSED_UP event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 10
+ #define BUTTON_PRESSED_DOWN event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 11
+ #define BUTTON_PRESSED_LEFT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 12
+ #define BUTTON_PRESSED_RIGHT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 13
+ #define BUTTON_PRESSED_PAGEUP event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 4 || event.jbutton.button == 6)
+ #define BUTTON_PRESSED_PAGEDOWN event.type == SDL_JOYBUTTONDOWN && (event.jbutton.button == 5 || event.jbutton.button == 7)
+ #define BUTTON_PRESSED_VALIDATE event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 1
+ #define BUTTON_PRESSED_BACK event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 0
+ #define BUTTON_PRESSED_MENU_CONTEXT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 3
+ #define BUTTON_PRESSED_SELECT event.type == SDL_JOYBUTTONDOWN && event.jbutton.button == 2
+ #define BUTTON_HELD_UP SDL_JoystickGetButton(g_joystick, 10)
+ #define BUTTON_HELD_DOWN SDL_JoystickGetButton(g_joystick, 11)
+ #define BUTTON_HELD_LEFT SDL_JoystickGetButton(g_joystick, 12)
+ #define BUTTON_HELD_RIGHT SDL_JoystickGetButton(g_joystick, 13)
+ #define BUTTON_HELD_PAGEUP SDL_JoystickGetButton(g_joystick, 4) || SDL_JoystickGetButton(g_joystick, 6)
+ #define BUTTON_HELD_PAGEDOWN SDL_JoystickGetButton(g_joystick, 5) || SDL_JoystickGetButton(g_joystick, 7)
+ #define BUTTON_HELD_SELECT SDL_JoystickGetButton(g_joystick, 2)
+ #define BUTTON_HELD_VALIDATE SDL_JoystickGetButton(g_joystick, 1)
+#else
+ #define BUTTON_PRESSED_UP event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_UP
+ #define BUTTON_PRESSED_DOWN event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_DOWN
+ #define BUTTON_PRESSED_LEFT event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_LEFT
+ #define BUTTON_PRESSED_RIGHT event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_RIGHT
+ #define BUTTON_PRESSED_PAGEUP event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_PAGEUP
+ #define BUTTON_PRESSED_PAGEDOWN event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_PAGEDOWN
+ #define BUTTON_PRESSED_VALIDATE event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_RETURN
+ #define BUTTON_PRESSED_BACK event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_BACKSPACE
+ #define BUTTON_PRESSED_MENU_CONTEXT event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_x
+ #define BUTTON_PRESSED_SELECT event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_INSERT
+ #define BUTTON_HELD_UP SDL_GetKeyboardState(NULL)[SDL_SCANCODE_UP]
+ #define BUTTON_HELD_DOWN SDL_GetKeyboardState(NULL)[SDL_SCANCODE_DOWN]
+ #define BUTTON_HELD_LEFT SDL_GetKeyboardState(NULL)[SDL_SCANCODE_LEFT]
+ #define BUTTON_HELD_RIGHT SDL_GetKeyboardState(NULL)[SDL_SCANCODE_RIGHT]
+ #define BUTTON_HELD_PAGEUP SDL_GetKeyboardState(NULL)[SDL_SCANCODE_PAGEUP]
+ #define BUTTON_HELD_PAGEDOWN SDL_GetKeyboardState(NULL)[SDL_SCANCODE_PAGEDOWN]
+ #define BUTTON_HELD_SELECT SDL_GetKeyboardState(NULL)[SDL_SCANCODE_INSERT]
+ #define BUTTON_HELD_VALIDATE SDL_GetKeyboardState(NULL)[SDL_SCANCODE_RETURN]
+#endif
+
+// Globals
+extern SDL_Window* g_window;
+extern SDL_Renderer* g_renderer;
+extern SDL_Joystick* g_joystick;
+extern TTF_Font *g_font; // Variable size font
+extern TTF_Font *g_fontMono; // Mono size font
+extern int g_charW; // Width of one character in monospace font
+class IWindow;
+extern std::vector<IWindow *> g_windows;
+
+// Textures for icons
+extern SDL_Texture *g_iconFile;
+extern SDL_Texture *g_iconDir;
+extern SDL_Texture *g_iconUp;
+extern SDL_Texture *g_iconCopy;
+extern SDL_Texture *g_iconCut;
+extern SDL_Texture *g_iconPaste;
+extern SDL_Texture *g_iconTrash;
+extern SDL_Texture *g_iconDisk;
+extern SDL_Texture *g_iconSelect;
+extern SDL_Texture *g_iconNone;
+extern SDL_Texture *g_iconNewDir;
+extern SDL_Texture *g_iconQuit;
+extern SDL_Texture *g_iconEdit;
+extern SDL_Texture *g_iconCancel;
+extern SDL_Texture *g_iconFloppy;
+extern SDL_Texture *g_iconImage;
+extern SDL_Texture *g_iconFileText;
+extern SDL_Texture *g_iconPlus;
+
+#endif

View file

@ -0,0 +1 @@
RG503

View file

@ -19,7 +19,7 @@ PKG_CMAKE_OPTS_HOST="-DENABLE_STATIC=ON \
-DWITH_SIMD=OFF"
PKG_CMAKE_OPTS_TARGET="-DENABLE_STATIC=ON \
-DENABLE_SHARED=OFF \
-DENABLE_SHARED=ON \
-DWITH_JPEG8=ON"
if target_has_feature "(neon|sse)"; then

View file

@ -150,7 +150,7 @@ EOF
sed -i "s#audio.volume=.*\$#audio.volume=100#g" ${INSTALL}/usr/config/system/configs/system.cfg
fi
if [[ "${DEVICE}" =~ RG503 ]]
if [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
sed -i "s#.integerscale=1#.integerscale=0#g" ${INSTALL}/usr/config/system/configs/system.cfg
fi

View file

@ -0,0 +1 @@
RG503

View file

@ -0,0 +1 @@
RG503

View file

@ -0,0 +1 @@
RG503

View file

@ -13,6 +13,10 @@ done
if [ ! -e "/storage/.configured" ]
then
# Ensure that the boot images are configured properly (Resolves boot when charging issue on the RG503 and RG353P
/usr/share/bootloader/update.sh &>/dev/null
rm -f /storage/.config/boot.hint &>/dev/null
# Copy config files, but don't overwrite. Only run if /storage is fresh
## cp -iRp /usr/config/* /storage/.config/ &>/dev/null
## ignore es_systems.cfg and switch to rsync

View file

@ -4,7 +4,7 @@
# Copyright (C) 2021 Fewtarius
PKG_NAME="es-theme-art-book-next"
PKG_VERSION="6ff041a2504dfaaa7db4f306f811e2637e7ed67b"
PKG_VERSION="a4fdfbb"
PKG_ARCH="any"
PKG_LICENSE="CUSTOM"
PKG_SITE="https://github.com/anthonycaccese/es-theme-art-book-next"

View file

@ -0,0 +1 @@
RG503

View file

@ -3,7 +3,7 @@
# Copyright (C) 2020-present Fewtarius
PKG_NAME="emulationstation"
PKG_VERSION="476f30e"
PKG_VERSION="3c24c9b"
PKG_GIT_CLONE_BRANCH="main"
PKG_REV="1"
PKG_ARCH="any"

View file

@ -13,19 +13,19 @@ else
fi
if [ -f "${RELEASE_DIR}/3rdparty/bootloader/idbloader.img" ]; then
echo "image: burn idbloader.img to image..."
dd if="${RELEASE_DIR}/3rdparty/bootloader/idbloader.img" of="$DISK" ${IDBSEEK} conv=fsync,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
echo "image: burn idbloader.img to image... (${PKG_SOC},${IDBSEEK},${DISK})"
dd if="${RELEASE_DIR}/3rdparty/bootloader/idbloader.img" of="$DISK" ${IDBSEEK} conv=sync,noerror,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
fi
if [ -f "${RELEASE_DIR}/3rdparty/bootloader/uboot.img" ]; then
echo "image: burn uboot.img to image..."
dd if="${RELEASE_DIR}/3rdparty/bootloader/uboot.img" of="$DISK" bs=512 seek=16384 conv=fsync,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
dd if="${RELEASE_DIR}/3rdparty/bootloader/uboot.img" of="$DISK" bs=512 seek=16384 conv=sync,noerror,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
fi
if [ -f "${RELEASE_DIR}/3rdparty/bootloader/trust.img" ]; then
echo "image: burn trust.img to image..."
dd if="${RELEASE_DIR}/3rdparty/bootloader/trust.img" of="$DISK" bs=512 seek=24576 conv=fsync,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
dd if="${RELEASE_DIR}/3rdparty/bootloader/trust.img" of="$DISK" bs=512 seek=24576 conv=sync,noerror,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
elif [ -f "${RELEASE_DIR}/3rdparty/bootloader/resource.img" ]; then
echo "image: burn resource.img to image..."
dd if="${RELEASE_DIR}/3rdparty/bootloader/resource.img" of="$DISK" bs=512 seek=24576 conv=fsync,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
dd if="${RELEASE_DIR}/3rdparty/bootloader/resource.img" of="$DISK" bs=512 seek=24576 conv=sync,noerror,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
fi
if [ -f "${RELEASE_DIR}/3rdparty/bootloader/boot.ini" ]; then

View file

@ -0,0 +1,57 @@
# Device definition file for the Anbernic RG503
# Device Features
DEVICE_HAS_FAN=false
DEVICE_FAKE_JACKSENSE=false
DEVICE_VOLUMECTL=true
DEVICE_POWER_LED=true
DEVICE_AUDIO_MIXER="Master"
DEVICE_VOLUME_DEV="/dev/input/by-path/platform-gpio-keys-event"
DEVICE_CONTROLLER_DEV="/dev/input/by-path/platform-singleadc-joypad-event-joystick"
#DEVICE_HEADPHONE_DEV=""
DEVICE_BRIGHTNESS="75"
DISPLAY_ROTATED=false
SPLASH_LOADER="imagemagick"
# Kernel Modules
DEVICE_INTERNAL_WIFI=true
DEVICE_WIFI_MODULE="8821cs"
# GPIOS
DEVICE_WIFI="0"
#DEVICE_LED=""
DEVICE_PWM_MOTOR="pwmchip1"
#DEVICE_PWM_FAN=""
#DEVICE_JACK=""
# FREQ governors
CPU_FREQ=("/sys/devices/system/cpu/cpufreq/policy0")
GPU_FREQ="/sys/devices/platform/fde60000.gpu/devfreq/fde60000.gpu"
DMC_FREQ="/sys/devices/platform/dmc/devfreq/dmc"
# Affinity
SLOW_CORES="taskset -c 0-3"
FAST_CORES="${SLOW_CORES}"
# Volume Keys
DEVICE_KEY_VOLUMEDOWN=114
DEVICE_KEY_VOLUMEUP=115
# Controller
DEVICE_BTN_SOUTH="0" # B
DEVICE_BTN_EAST="1" # A
DEVICE_BTN_NORTH="2" # X
DEVICE_BTN_WEST="3" # Y
DEVICE_BTN_TL="4"
DEVICE_BTN_TR="5"
DEVICE_BTN_TL2="6"
DEVICE_BTN_TR2="7"
DEVICE_BTN_SELECT="8"
DEVICE_BTN_START="9"
DEVICE_BTN_MODE="10"
DEVICE_BTN_THUMBL="11"
DEVICE_BTN_THUMBR="12"
DEVICE_BTN_DPAD_UP="13"
DEVICE_BTN_DPAD_DOWN="14"
DEVICE_BTN_DPAD_LEFT="15"
DEVICE_BTN_DPAD_RIGHT="16"

View file

@ -0,0 +1 @@
SPLASH_LOADER="imagemagick"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,142 @@
################################################################################
# setup device defaults
################################################################################
# The TARGET_CPU variable controls which processor should be targeted for
# generated code.
case $TARGET_ARCH in
aarch64)
TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64"
TARGET_CPU="cortex-a55"
TARGET_CPU_FLAGS="+crc+crypto+fp+simd"
TARGET_FPU="fp-armv8"
TARGET_FLOAT="hard"
TARGET_FEATURES="64bit"
;;
arm)
TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64"
TARGET_CPU="cortex-a55"
TARGET_CPU_FLAGS="+crc"
TARGET_FPU="neon-fp-armv8"
TARGET_FLOAT="hard"
TARGET_FEATURES="32bit"
;;
esac
# Kernel target
DEVICE_NAME="RG353P"
KERNEL_TARGET="Image"
BOOTLOADER="u-boot"
PARTITION_TABLE="gpt"
DEVICE_DTB="rk3566-rg353p-linux"
UBOOT_DTB="rk3566"
UBOOT_CONFIG="rk3568_defconfig"
PKG_SOC="rk356x"
PKG_DATAFILE="$PKG_RKBIN/bin/rk35/rk3566_ddr_1056MHz_v1.08.bin"
PKG_LOADER="$PKG_RKBIN/bin/rk35/rk356x_spl_v1.11.bin"
PKG_LOAD_ADDR="0x0a100000"
BOOT_INI=false
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
KERNEL_MAKE_EXTRACMD=""
KERNEL_MAKE_EXTRACMD+=" rockchip/${DEVICE_DTB}.dtb"
# Define the CPU
HW_CPU="Rockchip RK3566"
# Mali GPU family
MALI_FAMILY="bifrost-g52"
MALI_VERSION="g2p0"
OPENGLES="libmali"
GRAPHIC_DRIVERS=""
# kernel serial console
EXTRA_CMDLINE="quiet console=ttyS2,1500000 console=tty0 ssh consoleblank=0 systemd.show_status=0 loglevel=0 panic=20 video=HDMI-A-1:1280x720@60"
# additional packages to install
#ADDITIONAL_PACKAGES=""
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
# Space separated list is supported,
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
FIRMWARE="misc-firmware wlan-firmware"
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS=""
# build and install driver addons (yes / no)
DRIVER_ADDONS_SUPPORT="no"
# driver addons to install:
# for a list of additinoal drivers see packages/linux-driver-addons
# Space separated list is supported,
DRIVER_ADDONS="" #dvb-latest
# debug tty path
DEBUG_TTY="/dev/ttyFIQ0"
# build and install PulseAudio support (yes / no)
PULSEAUDIO_SUPPORT="yes"
# build and install bluetooth support (yes / no)
BLUETOOTH_SUPPORT="no"
# build and install Avahi (Zeroconf) daemon (yes / no)
AVAHI_DAEMON="no"
# build with NFS support (mounting nfs shares via the OS) (yes / no)
NFS_SUPPORT="no"
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
SAMBA_SUPPORT="no"
# build and install Samba Server (yes / no)
SAMBA_SERVER="yes"
# build and install SFTP Server (yes / no)
SFTP_SERVER="yes"
# build and install OpenVPN support (yes / no)
OPENVPN_SUPPORT="no"
# build and install diskmounter support (udevil)
# this service provide auto mounting support for external drives in the
# mediacenter also automount internally drives at boottime via udev (yes / no)
UDEVIL="yes"
# build and install exFAT fuse support (yes / no)
EXFAT="yes"
# build and install NTFS-3G fuse support (yes / no)
NTFS3G="no"
# build and install hfs filesystem utilities (yes / no)
HFSTOOLS="no"
# Support for partitioning and formating disks in initramfs (yes / no)
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
INITRAMFS_PARTED_SUPPORT="no"
# build with swap support (yes / no)
SWAP_SUPPORT="yes"
# swap support enabled per default (yes / no)
SWAP_ENABLED_DEFAULT="yes"
# swapfile size if SWAP_SUPPORT=yes in MB
SWAPFILESIZE="384"
# cron support (yes / no)
CRON_SUPPORT="no"
# Settings package name - blank if not required
DISTRO_PKG_SETTINGS=""
# htop tool (yes / no)
HTOP_TOOL="yes"

View file

@ -4,10 +4,10 @@
#
#
# Compiler: aarch64-libreelec-linux-gnueabi-gcc-10.3.0 (GCC) 10.3.0
# Compiler: aarch64-none-linux-gnu-gcc.real (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621
#
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=100300
CONFIG_GCC_VERSION=100301
CONFIG_CLANG_VERSION=0
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_IRQ_WORK=y
@ -125,6 +125,7 @@ CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
@ -825,6 +826,7 @@ CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
CONFIG_XFRM_MIGRATE=y
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
@ -834,43 +836,86 @@ CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IP_TUNNEL=m
# CONFIG_NET_IPGRE is not set
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
# CONFIG_NET_IPVTI is not set
CONFIG_NET_UDP_TUNNEL=m
CONFIG_NET_FOU=m
# CONFIG_NET_FOU_IP_TUNNELS is not set
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
# CONFIG_INET_ESP_OFFLOAD is not set
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
# CONFIG_INET_UDP_DIAG is not set
# CONFIG_INET_RAW_DIAG is not set
# CONFIG_INET_DIAG_DESTROY is not set
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=m
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
# CONFIG_TCP_CONG_HSTCP is not set
# CONFIG_TCP_CONG_HYBLA is not set
# CONFIG_TCP_CONG_VEGAS is not set
# CONFIG_TCP_CONG_NV is not set
# CONFIG_TCP_CONG_SCALABLE is not set
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set
# CONFIG_TCP_CONG_ILLINOIS is not set
# CONFIG_TCP_CONG_DCTCP is not set
# CONFIG_TCP_CONG_CDG is not set
# CONFIG_TCP_CONG_BBR is not set
CONFIG_DEFAULT_RENO=y
CONFIG_DEFAULT_TCP_CONG="reno"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=m
CONFIG_IPV6_ROUTER_PREF=m
# CONFIG_IPV6_ROUTER_PREF is not set
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
# CONFIG_INET6_ESP_OFFLOAD is not set
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
CONFIG_IPV6_ILA=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
# CONFIG_IPV6_VTI is not set
CONFIG_IPV6_SIT=m
# CONFIG_IPV6_SIT_6RD is not set
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
# CONFIG_IPV6_GRE is not set
CONFIG_IPV6_FOU=m
CONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not set
CONFIG_IPV6_MROUTE=y
# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set
# CONFIG_IPV6_PIMSM_V2 is not set
# CONFIG_IPV6_SEG6_LWTUNNEL is not set
# CONFIG_IPV6_SEG6_HMAC is not set
CONFIG_NETWORK_SECMARK=y
@ -884,26 +929,34 @@ CONFIG_BRIDGE_NETFILTER=m
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
# CONFIG_NETFILTER_NETLINK_OSF is not set
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_LOG_COMMON=m
# CONFIG_NF_LOG_NETDEV is not set
CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CONNTRACK_MARK=y
# CONFIG_NF_CONNTRACK_SECMARK is not set
# CONFIG_NF_CONNTRACK_ZONES is not set
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
@ -911,19 +964,52 @@ CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
# CONFIG_NF_CT_NETLINK_TIMEOUT is not set
# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_NF_NAT_PROTO_DCCP=y
CONFIG_NF_NAT_PROTO_UDPLITE=y
CONFIG_NF_NAT_PROTO_SCTP=y
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_SIP=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NF_TABLES=m
# CONFIG_NF_TABLES_SET is not set
# CONFIG_NF_TABLES_INET is not set
# CONFIG_NF_TABLES_NETDEV is not set
# CONFIG_NFT_NUMGEN is not set
# CONFIG_NFT_CT is not set
# CONFIG_NFT_COUNTER is not set
# CONFIG_NFT_CONNLIMIT is not set
# CONFIG_NFT_LOG is not set
# CONFIG_NFT_LIMIT is not set
# CONFIG_NFT_MASQ is not set
# CONFIG_NFT_REDIR is not set
# CONFIG_NFT_NAT is not set
# CONFIG_NFT_TUNNEL is not set
# CONFIG_NFT_OBJREF is not set
# CONFIG_NFT_QUEUE is not set
# CONFIG_NFT_QUOTA is not set
# CONFIG_NFT_REJECT is not set
# CONFIG_NFT_COMPAT is not set
# CONFIG_NFT_HASH is not set
# CONFIG_NFT_SOCKET is not set
# CONFIG_NFT_OSF is not set
# CONFIG_NFT_TPROXY is not set
# CONFIG_NF_FLOW_TABLE is not set
CONFIG_NETFILTER_XTABLES=y
#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_CONNMARK=m
# CONFIG_NETFILTER_XT_SET is not set
#
# Xtables targets
@ -931,6 +1017,7 @@ CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
# CONFIG_NETFILTER_XT_TARGET_CT is not set
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_HMARK=m
@ -942,10 +1029,13 @@ CONFIG_NETFILTER_XT_NAT=m
CONFIG_NETFILTER_XT_TARGET_NETMAP=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
@ -973,6 +1063,7 @@ CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
# CONFIG_NETFILTER_XT_MATCH_IPVS is not set
CONFIG_NETFILTER_XT_MATCH_L2TP=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
@ -983,9 +1074,11 @@ CONFIG_NETFILTER_XT_MATCH_NFACCT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_QUOTA2=m
# CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG is not set
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
@ -998,20 +1091,87 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
# CONFIG_IP_SET_BITMAP_IP is not set
# CONFIG_IP_SET_BITMAP_IPMAC is not set
# CONFIG_IP_SET_BITMAP_PORT is not set
# CONFIG_IP_SET_HASH_IP is not set
# CONFIG_IP_SET_HASH_IPMARK is not set
# CONFIG_IP_SET_HASH_IPPORT is not set
# CONFIG_IP_SET_HASH_IPPORTIP is not set
# CONFIG_IP_SET_HASH_IPPORTNET is not set
# CONFIG_IP_SET_HASH_IPMAC is not set
# CONFIG_IP_SET_HASH_MAC is not set
# CONFIG_IP_SET_HASH_NETPORTNET is not set
# CONFIG_IP_SET_HASH_NET is not set
# CONFIG_IP_SET_HASH_NETNET is not set
# CONFIG_IP_SET_HASH_NETPORT is not set
# CONFIG_IP_SET_HASH_NETIFACE is not set
# CONFIG_IP_SET_LIST_SET is not set
CONFIG_IP_VS=m
# CONFIG_IP_VS_IPV6 is not set
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12
#
# IPVS transport protocol load balancing support
#
# CONFIG_IP_VS_PROTO_TCP is not set
# CONFIG_IP_VS_PROTO_UDP is not set
# CONFIG_IP_VS_PROTO_ESP is not set
# CONFIG_IP_VS_PROTO_AH is not set
# CONFIG_IP_VS_PROTO_SCTP is not set
#
# IPVS scheduler
#
# CONFIG_IP_VS_RR is not set
# CONFIG_IP_VS_WRR is not set
# CONFIG_IP_VS_LC is not set
# CONFIG_IP_VS_WLC is not set
# CONFIG_IP_VS_FO is not set
# CONFIG_IP_VS_OVF is not set
# CONFIG_IP_VS_LBLC is not set
# CONFIG_IP_VS_LBLCR is not set
# CONFIG_IP_VS_DH is not set
# CONFIG_IP_VS_SH is not set
# CONFIG_IP_VS_MH is not set
# CONFIG_IP_VS_SED is not set
# CONFIG_IP_VS_NQ is not set
#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8
#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12
#
# IPVS application helper
#
# CONFIG_IP_VS_NFCT is not set
#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=m
# CONFIG_NF_SOCKET_IPV4 is not set
# CONFIG_NF_TPROXY_IPV4 is not set
# CONFIG_NF_DUP_IPV4 is not set
CONFIG_NF_SOCKET_IPV4=m
CONFIG_NF_TPROXY_IPV4=m
# CONFIG_NF_TABLES_IPV4 is not set
# CONFIG_NF_TABLES_ARP is not set
CONFIG_NF_DUP_IPV4=m
# CONFIG_NF_LOG_ARP is not set
# CONFIG_NF_LOG_IPV4 is not set
CONFIG_NF_LOG_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NF_NAT_IPV4=m
CONFIG_NF_NAT_MASQUERADE_IPV4=m
CONFIG_NF_NAT_MASQUERADE_IPV4=y
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@ -1024,24 +1184,42 @@ CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
# CONFIG_IP_NF_ARPFILTER is not set
# CONFIG_IP_NF_ARP_MANGLE is not set
#
# IPv6: Netfilter Configuration
#
# CONFIG_NF_SOCKET_IPV6 is not set
# CONFIG_NF_TPROXY_IPV6 is not set
CONFIG_NF_SOCKET_IPV6=m
CONFIG_NF_TPROXY_IPV6=m
# CONFIG_NF_TABLES_IPV6 is not set
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_NF_NAT_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_NF_DEFRAG_IPV6=y
# CONFIG_IP6_NF_MATCH_AH is not set
# CONFIG_IP6_NF_MATCH_EUI64 is not set
# CONFIG_IP6_NF_MATCH_FRAG is not set
# CONFIG_IP6_NF_MATCH_OPTS is not set
# CONFIG_IP6_NF_MATCH_HL is not set
# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
# CONFIG_IP6_NF_MATCH_MH is not set
# CONFIG_IP6_NF_MATCH_RT is not set
# CONFIG_IP6_NF_MATCH_SRH is not set
# CONFIG_IP6_NF_FILTER is not set
# CONFIG_IP6_NF_TARGET_SYNPROXY is not set
# CONFIG_IP6_NF_MANGLE is not set
# CONFIG_IP6_NF_RAW is not set
# CONFIG_IP6_NF_NAT is not set
CONFIG_NF_DEFRAG_IPV6=m
# CONFIG_NF_TABLES_BRIDGE is not set
# CONFIG_BRIDGE_NF_EBTABLES is not set
# CONFIG_BPFILTER is not set
# CONFIG_IP_DCCP is not set
@ -1050,14 +1228,14 @@ CONFIG_NF_DEFRAG_IPV6=y
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
CONFIG_STP=y
CONFIG_BRIDGE=y
CONFIG_STP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_HAVE_NET_DSA=y
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
CONFIG_LLC=y
CONFIG_LLC=m
# CONFIG_LLC2 is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
@ -1082,7 +1260,7 @@ CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
# CONFIG_CGROUP_NET_PRIO is not set
# CONFIG_CGROUP_NET_CLASSID is not set
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
# CONFIG_BPF_JIT is not set
@ -1183,6 +1361,7 @@ CONFIG_BT_MRVL_SDIO=y
# CONFIG_BT_MTKUART is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
@ -1233,7 +1412,9 @@ CONFIG_RFKILL_RK=y
# CONFIG_NFC is not set
# CONFIG_PSAMPLE is not set
# CONFIG_NET_IFE is not set
# CONFIG_LWTUNNEL is not set
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
# CONFIG_NET_DEVLINK is not set
CONFIG_MAY_USE_DEVLINK=y
@ -5555,7 +5736,7 @@ CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=y
# CONFIG_CRYPTO_MCRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
CONFIG_CRYPTO_AUTHENC=m
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_SIMD=y
# CONFIG_CRYPTO_CURVE25519 is not set
@ -5572,7 +5753,7 @@ CONFIG_CRYPTO_GCM=y
# CONFIG_CRYPTO_MORUS640 is not set
# CONFIG_CRYPTO_MORUS1280 is not set
CONFIG_CRYPTO_SEQIV=y
# CONFIG_CRYPTO_ECHAINIV is not set
CONFIG_CRYPTO_ECHAINIV=m
#
# Block modes
@ -5757,6 +5938,10 @@ CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=y
CONFIG_REED_SOLOMON_ENC8=y
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y

View file

@ -30,7 +30,7 @@
KERNEL_TARGET="Image"
BOOTLOADER="u-boot"
PARTITION_TABLE="gpt"
DEVICE_DTB="rk3566"
DEVICE_DTB="rk3566-rg503-linux"
UBOOT_DTB="rk3566"
UBOOT_CONFIG="rk3568_defconfig"
PKG_SOC="rk356x"

View file

@ -26,10 +26,10 @@ elif [[ "${DEVICE}" =~ RG351 ]]
then
PKG_URL="https://github.com/JustEnoughLinuxOS/rg351x-kernel.git"
PKG_VERSION="0c4ffa0fe"
elif [[ "${DEVICE}" =~ RG503 ]]
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
PKG_URL="https://github.com/JustEnoughLinuxOS/rk356x-kernel.git"
PKG_VERSION="7a64c50e6"
PKG_VERSION="61bd16d2a"
fi
PKG_KERNEL_CFG_FILE=$(kernel_config_path) || die

View file

@ -20,7 +20,7 @@ then
PKG_VERSION="9f8c2e3936"
fi
if [[ "${DEVICE}" =~ RG503 ]]
if [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
PKG_URL="https://github.com/JustEnoughLinuxOS/rk356x-uboot.git"
PKG_VERSION="dfd1bcb"

View file

@ -0,0 +1,153 @@
diff --git a/drivers/video/drm/rockchip_panel.c b/drivers/video/drm/rockchip_panel.c
index 0428fc3..6e27364 100644
--- a/drivers/video/drm/rockchip_panel.c
+++ b/drivers/video/drm/rockchip_panel.c
@@ -129,7 +129,7 @@ static int rockchip_panel_parse_cmds(const u8 *data, int length,
return 0;
}
-/*
+
static void rockchip_panel_write_spi_cmds(struct rockchip_panel_priv *priv,
u8 type, int value)
{
@@ -156,92 +156,6 @@ static void rockchip_panel_write_spi_cmds(struct rockchip_panel_priv *priv,
}
dm_gpio_set_value(&priv->spi_cs_gpio, 1);
-}
-*/
-int cmd_init_code[30][32]={
- {0x0A1,0x100,0x100,0x100,0x100,0x100,0x100},
- {0x2C8},
- {0x0F0,0x15A,0x15A},
- {0x0F1,0x15A,0x15A},
- {0x0B0,0x102},
- {0x0F3,0x13B},
- {0x0F4,0x133,0x142,0x100,0x108},
- {0x0F5,0x100,0x106,0x126,0x135,0x103},
- {0x0F6,0x102},
- {0x0C6,0x10B,0x100,0x100,0x13C,0x100,0x122,0x100,0x100,0x100,0x100},
- {0x0F7,0x120},
- {0x0F5,0x100,0x106,0x127,0x135,0x103},
- {0x0B2,0x106,0x106,0x106,0x106},
- {0x0B1,0x107,0x100,0x110},
- {0x4F8,0x17F,0x17A,0x189,0x167,0x126,0x138,0x100,0x100,0x109,0x167,0x170,0x188,0x17A,0x176,0x105,0x109,0x123,0x123,0x123},
- {0x011},
- {0x2C8},
- {0x029},
- {0x2C8},
- {0x4B5,0x1FF,0x1EF,0x135,0x142,0x10D,0x1D7,0x1FF,0x107,0x1FF,0x1FF,0x1FD,0x100,0x101,0x1FF,0x105,0x112,0x10F,0x1FF,0x1FF,0x1FF,0x1FF},
- {0x0B4,0x115},
- {0x0B3,0x100},
- {0x4F9,0x101,0x19F,0x19F,0x1BE,0x1CF,0x1D7,0x1C9,0x1C2,0x1CB,0x1BB,0x1E1,0x1E3,0x1DE,0x1D6,0x1D0,0x1D3,0x1FA,0x1ED,0x1E6,0x12F,0x100,0x12F},
- {0x0F9,0x100},
- {0x026,0x100},
- {0x0B2,0x112},
- {0x011},
- {0x2C8},
- {0x029},
- {0x2C8},
-};
-
-
-
-static void rockchip_panel_write_spi_cmds_buffer(struct rockchip_panel_priv *priv)
-{
- int i,m,n;
- int value,value_hl;
-
- mdelay(150);
-
- for (m = 0; m < 30; m++) {
- dm_gpio_set_value(&priv->spi_cs_gpio, 0);
-
- if(cmd_init_code[m][0]& 0x400){
-
- value_hl=32;
- }else{
- value_hl=16;
-
- }
-
- for (n = 0; n < value_hl; n++) {
- value = cmd_init_code[m][n];
- if (value & 0x200)
- {
- mdelay(value & 0xFF);
- break;
- };
-
- for (i = 0; i < 9; i++) {
-
- if (value & 0x100)
- dm_gpio_set_value(&priv->spi_sdi_gpio, 1);
- else
- dm_gpio_set_value(&priv->spi_sdi_gpio, 0);
-
- dm_gpio_set_value(&priv->spi_scl_gpio, 0);
- udelay(10);
- dm_gpio_set_value(&priv->spi_scl_gpio, 1);
- value <<= 1;
- udelay(10);
- }
-
- }
-
- dm_gpio_set_value(&priv->spi_cs_gpio, 1);
- mdelay(1);
- }
- mdelay(150);
-
-
-
}
static int rockchip_panel_send_mcu_cmds(struct display_state *state,
@@ -273,12 +187,25 @@ static int rockchip_panel_send_spi_cmds(struct display_state *state,
{
struct rockchip_panel *panel = state_get_panel(state);
struct rockchip_panel_priv *priv = dev_get_priv(panel->dev);
-
+ int i;
if (!cmds)
return -EINVAL;
- rockchip_panel_write_spi_cmds_buffer(priv);
+ for (i = 0; i < cmds->cmd_cnt; i++) {
+ struct rockchip_cmd_desc *desc = &cmds->cmds[i];
+ int value = 0;
+
+ if (desc->header.payload_length == 2)
+ value = (desc->payload[0] << 8) | desc->payload[1];
+ else
+ value = desc->payload[0];
+ rockchip_panel_write_spi_cmds(priv,
+ desc->header.data_type, value);
+
+ if (desc->header.delay_ms)
+ mdelay(desc->header.delay_ms);
+ }
return 0;
}
@@ -341,17 +268,7 @@ static void panel_simple_prepare(struct rockchip_panel *panel)
regulator_set_enable(priv->power_supply, !plat->power_invert);
if (dm_gpio_is_valid(&priv->enable_gpio))
- {
- if (priv->cmd_type == CMD_TYPE_SPI){
- // dm_gpio_set_value(&priv->enable_gpio, 1);
- }else{
- // dm_gpio_set_value(&priv->enable_gpio, 0);
- }
-
- }
-
- dm_gpio_set_value(&priv->enable_gpio, 1);
- mdelay (50);
+ dm_gpio_set_value(&priv->enable_gpio, 1);
if (plat->delay.prepare)
mdelay(plat->delay.prepare);