build, cleanup
authorkub <derkub@gmail.com>
Sun, 3 Dec 2023 21:10:48 +0000 (22:10 +0100)
committerkub <derkub@gmail.com>
Tue, 12 Dec 2023 22:35:02 +0000 (23:35 +0100)
- remove/rename some platforms from configure
- new rg99 odbeta build, courtesy of sydarn
- pandora support, courtesy of notaz

.github/workflows/ci.yml
configure
platform/common/main.c
platform/common/plat_sdl.c
platform/common/plat_sdl.h
platform/linux/menu.c
platform/pandora/Makefile
platform/pandora/make_pxml.sh
platform/psp/menu.c
tools/release.sh

index b8192a5..f9965cf 100644 (file)
@@ -39,7 +39,7 @@ jobs:
       run: |
         git config --global --add safe.directory $PWD
         ver=$(cut -d'"' -f2 platform/common/version.h)-$(git rev-parse --short HEAD)
-        ./configure --platform=gp2x
+        ./configure --platform=gph
         make -j2 PLATFORM_MP3=0
         make -C platform/gp2x rel VER=$ver
         mv PicoDrive_$ver.zip PicoDrive-gph_$ver.zip
@@ -62,13 +62,13 @@ jobs:
         ver=$(cut -d'"' -f2 platform/common/version.h)-$(git rev-parse --short HEAD)
         ./configure --platform=pandora
         make -j2
-        mv PicoDrive PicoDrive-pandora
-        ${CROSS_COMPILE}strip PicoDrive-pandora
+        make -C platform/pandora rel VER=$ver
+        mv platform/pandora/PicoDrive_*.pnd .
     - name: artifacts
       uses: actions/upload-artifact@v3
       with:
         name: Pandora
-        path: PicoDrive-pandora
+        path: PicoDrive_*.pnd
 
   build-psp:
     runs-on: ubuntu-latest
@@ -238,3 +238,23 @@ jobs:
       with:
         name: ODbeta lepus
         path: PicoDrive-odbeta-*.opk
+
+  build-odbeta-rg99:
+    runs-on: ubuntu-latest
+    container: ghcr.io/irixxxx/toolchain-odbeta-rs90
+    steps:
+    - uses: actions/checkout@v3
+      with:
+        submodules: true
+    - name: build
+      run: |
+        git config --global --add safe.directory $PWD
+        ver=$(cut -d'"' -f2 platform/common/version.h)-$(git rev-parse --short HEAD)
+        ./configure --platform=opendingux --platform=odbeta
+        make -j2
+        mv PicoDrive.opk PicoDrive-odbeta-rg99-$ver.opk
+    - name: artifacts
+      uses: actions/upload-artifact@v3
+      with:
+        name: ODbeta rg99
+        path: PicoDrive-odbeta-*.opk
index 8449010..4209784 100755 (executable)
--- a/configure
+++ b/configure
@@ -39,7 +39,7 @@ check_define()
 # "" means "autodetect".
 
 # TODO this is annoyingly messy. should have platform and device
-platform_list="generic pandora gp2x wiz caanoo dingux retrofw gcw0 rg350 opendingux miyoo rpi1 rpi2 psp rg99 odbeta"
+platform_list="generic pandora gph dingux retrofw gcw0 opendingux odbeta miyoo rpi1 rpi2 psp"
 platform="generic"
 sound_driver_list="oss alsa sdl"
 sound_drivers=""
@@ -102,7 +102,7 @@ set_platform()
     MFLAGS="-march=mips32"
     platform="opendingux"
     ;;
-  opendingux | gcw0 | rg350)
+  opendingux | gcw0)
     # more modern devices using opendingux, with Ingenic MIPS JZ4770 or newer
     sound_drivers="sdl"
     # mostly based on opendingux for gcw0
@@ -119,8 +119,8 @@ set_platform()
     ;;
   odbeta)
     # various devices with opendingux beta, arch flags from toolchain default
-    MFLAGS=""
     CFLAGS="$CFLAGS -D__OPENDINGUX__"
+    MFLAGS="" # toolchains are arch specific
     platform="opendingux"
     ;;
   pandora)
@@ -128,7 +128,7 @@ set_platform()
     have_libavcodec="yes"
     MFLAGS="-mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp"
     ;;
-  gp2x | wiz | caanoo)
+  gph)
     sound_drivers="oss"
     # compile for OABI if toolchain provides it (faster code on caanoo)
     have_arm_oabi="yes"
index 6fce5d5..e503edc 100644 (file)
@@ -84,6 +84,9 @@ int main(int argc, char *argv[])
        //in_probe();\r
 \r
        plat_target_init();\r
+       if (argc > 1)\r
+               parse_cmd_line(argc, argv);\r
+\r
        plat_init();\r
        menu_init();\r
 \r
index f9f892d..5528061 100644 (file)
@@ -399,6 +399,7 @@ void plat_init(void)
        in_probe();
 
        bgr_to_uyvy_init();
+       linux_menu_init();
 }
 
 void plat_finish(void)
index ea8680f..0bbe2bd 100644 (file)
@@ -5,3 +5,5 @@ extern const int in_sdl_key_map_sz;
 extern const struct menu_keymap in_sdl_joy_map[];
 extern const int in_sdl_joy_map_sz;
 extern const char * const (*in_sdl_key_names)[SDLK_LAST];
+
+void linux_menu_init(void);
index 6eb2e45..b37f3a5 100644 (file)
@@ -13,7 +13,10 @@ static const char h_stype[] = "Scaler algorithm for software scaling";
 
 #define MENU_OPTIONS_ADV
 
+static menu_entry e_menu_keyconfig[];
+
 void linux_menu_init(void)
 {
+       me_enable(e_menu_keyconfig, MA_CTRL_DEADZONE, 0);
 }
 
index 31c1040..fd36269 100644 (file)
@@ -1,14 +1,14 @@
 # release packaging makefile
 
 VER := $(shell head -n 1 ../common/version.h | \
-       sed 's/.*"\(.*\)\.\(.*\)".*/\1\2/g')
+       sed 's/[^0-9]*\([0-9]*\)\.\([0-9]*\).*/\1\2/g')
 BUILD := $(shell git describe HEAD | grep -- - | \
        sed -e 's/.*\-\(.*\)\-.*/\1/')
 ifneq "$(BUILD)" ""
 VER := $(VER)_$(BUILD)
 endif
 
-PND_MAKE ?= $(HOME)/dev/pnd/src/pandora-libraries/testdata/scripts/pnd_make.sh
+PND_MAKE ?= pnd_make
 
 all: rel
 
@@ -24,7 +24,7 @@ all: rel
 rel: ../../PicoDrive PicoDrive.sh picorestore \
        PicoDrive.png PicoDrive_p.png \
        ../../pico/carthw.cfg skin \
-       ../../README /tmp/PicoDrive.pxml
+       ../../README.md /tmp/PicoDrive.pxml
        rm -rf out
        mkdir out
        cp -r $^ out/
index 2fcf833..35d537a 100755 (executable)
@@ -4,8 +4,8 @@ set -e
 verfile=../common/version.h
 test -f $verfile
 
-major=`head -n 1 $verfile | sed 's/.*"\([0-9]*\)\.\([0-9]*\).*/\1/g'`
-minor=`head -n 1 $verfile | sed 's/.*"\([0-9]*\)\.\([0-9]*\).*/\2/g'`
+major=`head -n 1 $verfile | sed 's/[^0-9]*\([0-9]*\)\.\([0-9]*\).*/\1/g'`
+minor=`head -n 1 $verfile | sed 's/[^0-9]*\([0-9]*\)\.\([0-9]*\).*/\2/g'`
 # lame, I know..
 build=`git describe HEAD | grep -- - | sed -e 's/.*\-\(.*\)\-.*/\1/'`
 test -n "$build" && build_post="-$build"
index 95698a8..25ca989 100644 (file)
@@ -14,8 +14,10 @@ static const char *men_filter_opts[] = { "nearest", "bilinear", NULL };
 #define MENU_OPTIONS_ADV
 
 static menu_entry e_menu_sms_options[];
+static menu_entry e_menu_keyconfig[];
 
 void psp_menu_init(void)
 {
        me_enable(e_menu_sms_options, MA_SMSOPT_GHOSTING, 0);
+       me_enable(e_menu_keyconfig, MA_CTRL_DEADZONE, 0);
 }
index 83f807f..f431c53 100755 (executable)
@@ -5,7 +5,7 @@
 # creates builds for the supported platforms in the release directory
 #
 # usage: release.sh <version> [platform...]
-#      platforms:      gph dingux retrofw gcw0 rg350 miyoo psp pandora odbeta-gcw0 odbeta-lepus
+#      platforms:      gph dingux retrofw gcw0 opendingux miyoo psp pandora odbeta-gcw0 odbeta-lepus odbeta-rg99
 #
 # expects toolchains to be installed in these docker containers:
 #      gph:            ghcr.io/irixxxx/toolchain-gp2x
 #      gcw0, rg350:    ghcr.io/irixxxx/toolchain-opendingux
 #      miyoo:          ghcr.io/irixxxx/toolchain-miyoo
 #      psp:            docker.io/pspdev/pspdev
+#      pandora:        ghcr.io/irixxxx/toolchain-pandora
 #      odbeta-gcw0:    ghcr.io/irixxxx/toolchain-odbeta-gcw0
 #      odbeta-lepus:   ghcr.io/irixxxx/toolchain-odbeta-lepus
+#      odbeta-rg99:    ghcr.io/irixxxx/toolchain-odbeta-rg99
 
 trap "exit" ERR
 
@@ -23,14 +25,14 @@ rel=$1
 mkdir -p release-$rel
 
 shift; plat=" $* "
-[ -z "$(echo $plat|tr -d ' ')" ] && plat=" gph dingux retrofw gcw0 rg350 miyoo psp pandora odbeta-gcw0 odbeta-lepus "
+[ -z "$(echo $plat|tr -d ' ')" ] && plat=" gph dingux retrofw gcw0 opendingux miyoo psp pandora odbeta-gcw0 odbeta-lepus odbeta-rg99 "
 
 
 [ -z "${plat##* gph *}" ] && {
 # GPH devices: gp2x, wiz, caanoo, with ubuntu arm gcc 4.7
 docker pull ghcr.io/irixxxx/toolchain-gp2x
 echo " git config --global --add safe.directory /home/picodrive &&\
-       ./configure --platform=gp2x &&\
+       ./configure --platform=gph &&\
        make clean && make -j2 all &&\
        make -C platform/gp2x rel VER=$rel "\
   | docker run -i -v$PWD:/home/picodrive -w/home/picodrive --rm ghcr.io/irixxxx/toolchain-gp2x sh &&
@@ -68,11 +70,11 @@ echo "      git config --global --add safe.directory /home/picodrive &&\
 mv PicoDrive.opk release-$rel/PicoDrive-gcw0_$rel.opk
 }
 
-[ -z "${plat##* rg350 *}" ] && {
+[ -z "${plat##* opendingux *}" ] && {
 # rg350, gkd350h etc: JZ4770 or newer
 docker pull ghcr.io/irixxxx/toolchain-opendingux
 echo " git config --global --add safe.directory /home/picodrive &&\
-       ./configure --platform=rg350 &&\
+       ./configure --platform=opendingux &&\
        make clean && make -j2 all "\
   | docker run -i -v$PWD:/home/picodrive -w/home/picodrive --rm ghcr.io/irixxxx/toolchain-opendingux sh &&
 mv PicoDrive.opk release-$rel/PicoDrive-opendingux_$rel.opk
@@ -106,9 +108,9 @@ docker pull ghcr.io/irixxxx/toolchain-pandora
 echo " git config --global --add safe.directory /home/picodrive &&\
        ./configure --platform=pandora &&\
        make clean && make -j2 all &&\
-       \${CROSS_COMPILE}strip -o PicoDrive-pandora-$rel PicoDrive"\
+       make -C platform/pandora rel VER=$rel "\
   | docker run -i -v$PWD:/home/picodrive -w/home/picodrive --rm ghcr.io/irixxxx/toolchain-pandora sh &&
-mv PicoDrive-pandora-$rel release-$rel/
+mv platform/pandora/PicoDrive_*.pnd release-$rel/
 }
 
 [ -z "${plat##* odbeta-gcw0 *}" ] && {
@@ -122,7 +124,7 @@ mv PicoDrive.opk release-$rel/PicoDrive-odbeta-gcw0_$rel.opk
 }
 
 [ -z "${plat##* odbeta-lepus *}" ] && {
-# rg300 and other ingenic lepus based (untested): JZ4760 (mips32r1 with fpu)
+# rg300 and other Ingenic lepus based (untested): JZ4760 (mips32r1 with fpu)
 docker pull ghcr.io/irixxxx/toolchain-odbeta-lepus
 echo " git config --global --add safe.directory /home/picodrive &&\
        ./configure --platform=opendingux --platform=odbeta &&\
@@ -130,3 +132,13 @@ echo "     git config --global --add safe.directory /home/picodrive &&\
   | docker run -i -v$PWD:/home/picodrive -w/home/picodrive --rm ghcr.io/irixxxx/toolchain-odbeta-lepus sh &&
 mv PicoDrive.opk release-$rel/PicoDrive-odbeta-lepus_$rel.opk
 }
+
+[ -z "${plat##* odbeta-rg99 *}" ] && {
+# rg99 and other JZ4725B based (untested): JZ4760 (mips32r1 w/o fpu)
+docker pull ghcr.io/irixxxx/toolchain-odbeta-rs90
+echo " git config --global --add safe.directory /home/picodrive &&\
+       ./configure --platform=opendingux --platform=odbeta &&\
+       make clean && make -j2 all "\
+  | docker run -i -v$PWD:/home/picodrive -w/home/picodrive --rm ghcr.io/irixxxx/toolchain-odbeta-rs90 sh &&
+mv PicoDrive.opk release-$rel/PicoDrive-odbeta-rg99_$rel.opk
+}