Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
255 commits
Select commit Hold shift + click to select a range
ac6099a
Provide a fallback for symbolic ref when building on detached HEAD (e…
frysee Dec 12, 2025
a51a794
Revert make order
frysee Dec 12, 2025
b657f5a
Fix minarch build
frysee Dec 12, 2025
2ebe296
Fix FN switch/rumble motor gpios
frysee Dec 12, 2025
fa38645
Fix volume controls, display brightness
frysee Dec 12, 2025
4acda55
Fix remaining pixel format mismatches
frysee Dec 17, 2025
44edecc
Unified tg5040/5050 pixel formats
frysee Dec 17, 2025
8e03cf0
Added file manager
frysee Dec 17, 2025
760337e
Add L3/R3 to minput
frysee Dec 17, 2025
f6ce47e
Fix rumble motor activation path
frysee Dec 17, 2025
d632778
Shortened boot time a bit
frysee Dec 17, 2025
7353626
Fix Remove Loading.pak
frysee Dec 17, 2025
50ac6aa
Fix sound
frysee Dec 17, 2025
56b188f
Add back in tg5040
frysee Dec 17, 2025
42f8f80
Correct CPU frequencies and OPPs
frysee Dec 17, 2025
5548617
Fix build issue on CI
frysee Dec 17, 2025
b27aa86
Clean up settings for tg5050
frysee Dec 18, 2025
0f91294
Expose fan speed in settings
frysee Dec 18, 2025
ab50477
Add generic wifi implementation (no trimui libs this time)
frysee Dec 18, 2025
e0588ab
Fix missing fallbacks
frysee Dec 18, 2025
756a83a
Fix missing define
frysee Dec 18, 2025
0c7d7b2
Drastically improved boot time
frysee Dec 18, 2025
88aaa71
Settings startup time should be instant again
frysee Dec 18, 2025
df00660
Fix build
frysee Dec 18, 2025
5188d68
Fix suspend
frysee Dec 18, 2025
6f5f6ae
Move audiomon to common code, avoid duplication
frysee Dec 19, 2025
2e4dfed
Housekeeping, remove unused platform functions
frysee Dec 19, 2025
413e3e5
Started factoring out platform code thats not really device-specific
frysee Dec 19, 2025
311c3fa
Wifi: correctly manage dhcp
frysee Dec 19, 2025
160f405
Clean up mainui boot script a bit
frysee Dec 20, 2025
d7e1298
Fix render loop in various paks
frysee Dec 20, 2025
2342dd7
Add generic bluetooth implementation (no trimui libs this time)
frysee Dec 20, 2025
cf1aa08
Drop superfluous wifi/bt handling for off state, services are not aut…
frysee Dec 20, 2025
cddeaa5
Fix bt init and discovery
frysee Dec 22, 2025
f31aff4
Enable audiomon
frysee Dec 24, 2025
7b003b8
Add simplistic pairing agent for BT
frysee Dec 24, 2025
277293c
Fix: bluetooth connect/disconnect events being missed
frysee Dec 29, 2025
b499d9f
Feat: Designate new home button as additional Menu button (for now)
frysee Dec 29, 2025
50fc547
Fix: BT volume controls
frysee Dec 29, 2025
8870ffb
Fix: Rumble
frysee Dec 30, 2025
3b1ac62
Chore: Make the pill animation code slightly more readable (I said sl…
frysee Jan 8, 2026
e4fd554
Chore: Removed unused battery overlay code
frysee Jan 9, 2026
167dc35
Chore: Slightly more logging for Video init
frysee Jan 9, 2026
8bd2c95
Fix: Fake-08: Remove obsolete workaround
frysee Jan 9, 2026
8f7aee2
Chore: Remove unused stuff
frysee Jan 9, 2026
72b9a62
Fix: undefined behavior (overlapping memory regions)
frysee Jan 9, 2026
50729fc
Fix: double free (using font object from different threads)
frysee Jan 9, 2026
1963b92
Chore: migrate desktop platform code to use generic_video
frysee Jan 9, 2026
9f595ac
Fix: data race on battery status reporting
frysee Jan 9, 2026
74b0e3a
Fix: data race on wifi status, move to PWR context
frysee Jan 9, 2026
23f7a25
Fix: data race on condition variables that are still in use
frysee Jan 9, 2026
ea31723
Fix: thread leaks
frysee Jan 9, 2026
e7536a0
Fix: more threading issues
frysee Jan 9, 2026
c35f10b
Fix: remaining races and false-positives
frysee Jan 9, 2026
58833e7
Fix: tg5040 build
frysee Jan 9, 2026
d260751
Chore: Precreate overlays folders to avoid confusion
frysee Jan 9, 2026
ee753af
Chore: Removed irelevant special case
frysee Jan 9, 2026
21acdf3
Chore: Remove unmaintained code
frysee Jan 10, 2026
f5c7342
Chore: Compile at least one desktop core
frysee Jan 10, 2026
50ac2c4
Fix: data race in audio callback
frysee Jan 10, 2026
9763c0b
Feat: Add auto fan control daemon
frysee Jan 12, 2026
2add9b1
Feat: allow setting fixed speeds manually, hook up to msettings
frysee Jan 12, 2026
a2d5c43
Fix: attribution for GPLv2 (Knulli)
frysee Jan 12, 2026
684df69
Chore: formatting
frysee Jan 12, 2026
332fe2c
Chore: Disable cores for desktop target, no need to build them on CI …
frysee Jan 12, 2026
226714a
Fix shader reset mechanism and improve video color format handling
frysee Jan 12, 2026
fce48e5
Fix: removed misleading error message
frysee Jan 12, 2026
90bef47
Chore: Slight cleanup
frysee Jan 12, 2026
bd98045
Fix: Clean up all font resources properly
frysee Jan 12, 2026
338f1b6
Fix: skip hidden MacOS garbage when parsing folder content
frysee Jan 12, 2026
2f8e7b6
Chore: Remove unused variables
frysee Jan 13, 2026
49eb93d
Chore: Trim more unused crap out of minarch
frysee Jan 13, 2026
fdfaeea
Fix: Random game close on GBA
frysee Jan 13, 2026
412db06
Chore: A bit more cleanup, no functional changes
frysee Jan 13, 2026
2a89976
Fix: Reverted some code that was actually needed
frysee Jan 13, 2026
f4fa342
Fix: Disable fortification on newer gcc, which triggers some hard to …
frysee Jan 13, 2026
87bf8c6
Chore: Some leftovers
frysee Jan 13, 2026
2317e55
Chore: Keep the sanitizers in place for next time
frysee Jan 13, 2026
bc6bfd2
Chore: Replace printfs with LOG
frysee Jan 13, 2026
ba035b4
Fix: unbound framebuffer after swap
frysee Jan 13, 2026
b0f2789
Chore: Hide shader info in debug hud if no shader is active
frysee Jan 14, 2026
262280f
Fix: Speaker pop
frysee Jan 14, 2026
5a2f4b9
Fix: Build issue
frysee Jan 14, 2026
54faae3
Feat: Replace show.elf with something that can show flexible content
frysee Jan 14, 2026
30460ef
Fix: Desktop build
frysee Jan 14, 2026
33a1a39
Fix: Overlay hidden after scale change via shortcut
frysee Jan 14, 2026
c7145c3
Fix: Another data race on extracting games
frysee Jan 14, 2026
b337ca3
Chore: get tg5040 up to date again
frysee Jan 14, 2026
778f9d2
Chore: Reduce log spam a bit
frysee Jan 15, 2026
856b3d9
Fix: Remove explicit wifi init on tg5040, no longer needed
frysee Jan 15, 2026
6809aa5
Fix: Skip overlay load if no path given
frysee Jan 15, 2026
4239e31
Fix: Drop unused dependency
frysee Jan 15, 2026
7970c86
Fix: Properly kill backgrounded tasks
frysee Jan 15, 2026
449eca6
Chore: Cull AutoCpu steps
frysee Jan 15, 2026
a23bf26
Chore: Shader debugging
frysee Jan 15, 2026
6d558fc
Fix: Set a default text
frysee Jan 15, 2026
bcb0726
Fix: Hopefully improve shader flickering
frysee Jan 15, 2026
4373851
Chore: Refactor debug hud externs into a struct
frysee Jan 15, 2026
b37bcf6
Fix: Add missing glyphs
frysee Jan 15, 2026
0814010
Feat: Frame time tracking in debug hud
frysee Jan 15, 2026
6a90723
Feat: Uncapped fps when FFing with debug hud open
frysee Jan 15, 2026
4cc3932
Chore: Add profiler launch config (desktop)
frysee Jan 15, 2026
c4ce4bb
Chore: Add launch targets with two-core limit and gperftools
frysee Jan 15, 2026
c300417
Chore: Reduce debug hud in bench mode, render overhead taints profili…
frysee Jan 15, 2026
ef46c90
Chore: Bind L1 to tab to use as a FF button
frysee Jan 15, 2026
408e8bb
Chore: Optimize resampling code
frysee Jan 15, 2026
3b72bfd
Chore: Add tsan target for minarch debugging
frysee Jan 16, 2026
bea0c8d
Chore: A couple more desktop cores
frysee Jan 16, 2026
7ef0812
Fix: audio data race, thread leak
frysee Jan 16, 2026
2f3b131
Fix: prepareFrameThread synchronization (its not pretty)
frysee Jan 16, 2026
e90c618
Chore: ASAN desktop target
frysee Jan 16, 2026
3ea7e30
Chore: Suppress some false positives
frysee Jan 16, 2026
2cbb836
Chore: More launch target fuckery
frysee Jan 17, 2026
4413102
Feat: NEON-optimized RGB conversions (should probably just swizzle in…
frysee Jan 17, 2026
5c03606
Chore: Remove some dead code
frysee Jan 17, 2026
6bc0cf2
Fix: Crash on core sync
frysee Jan 18, 2026
b6c4324
Chore: Remove unneccesary reset function
frysee Jan 19, 2026
35a752e
Fix: Gauge background
frysee Jan 19, 2026
3dbb0d4
Fix: flickering due to overzealous property reset
frysee Jan 19, 2026
826aba5
Chore: Disable some performance logging
frysee Jan 19, 2026
310eea1
Chore: Remove references to old tearing options (no longer in use)
frysee Jan 19, 2026
aaac2f9
Fix: Actual display refresh rate of tg5050
frysee Jan 19, 2026
d34c23c
Fix: Cleaned up auto scaling code a bit, print actual cpu frequencies…
frysee Jan 20, 2026
d3e525a
Fix: desktop build
frysee Jan 21, 2026
682335e
Revert "Chore: Optimize resampling code"
frysee Jan 21, 2026
dcb2c8b
Fix: Debug HUD display issue
frysee Jan 21, 2026
ea564b4
Feat: NTP, Timezone management w/o uci
frysee Jan 21, 2026
6849f87
Feat: pin minarch to performance cores only
frysee Jan 21, 2026
96e06db
Fix: rendering issue with debug hud
frysee Jan 22, 2026
46e4b5f
Chore: Strip out benchmark mode
frysee Jan 22, 2026
f8e331f
Fix: Is the flicker fix actually a SDL Init bug and I wasted a week?
frysee Jan 22, 2026
7958b7b
Feat: Pack up overlays folders for basic structure
frysee Jan 22, 2026
c032048
Fix: Skip bluez upgrade if already there
frysee Jan 22, 2026
f500e41
Squashed commit of the following:
frysee Jan 26, 2026
336d023
Chore: Bring up my355 to latest
frysee Jan 29, 2026
3525bbb
Fix: more tools and libs
frysee Feb 1, 2026
200912f
Fix: libs
frysee Feb 2, 2026
f8a29f3
Chore: Add my355 to ci
frysee Feb 2, 2026
6f5ec4b
Merge branch 'main' into my355-latest
frysee Feb 2, 2026
fc62bf8
Chore: Merge cleanup
frysee Feb 2, 2026
9d05705
Fix: gearcoleco patch
frysee Feb 2, 2026
244c76e
Chore: speed up CI until we are ready to merge
frysee Feb 2, 2026
5154881
Fix: Revert accidential change to tg5050 patch
frysee Feb 2, 2026
9a342d1
Fix: build
frysee Feb 2, 2026
3a06080
Fix: gearcoleco
frysee Feb 2, 2026
0b50e5a
Fix: squash tools/lib deployment for initial payload install
frysee Feb 2, 2026
026406a
Fix: lib deployment
frysee Feb 6, 2026
8348d23
Fix: Use show2
frysee Feb 6, 2026
9a76cfc
Merge branch 'main' into my355-latest
frysee Feb 6, 2026
3f335fb
Chore: cleanup
frysee Feb 6, 2026
321436a
Chore: More fixes everywhere
frysee Feb 8, 2026
b100b59
Chore: hook up display controls
frysee Feb 8, 2026
21eadef
Fix: NextCommander
frysee Feb 8, 2026
f3e9e50
Fix: Rewind
frysee Feb 8, 2026
29782d6
Fix: Overly long label
frysee Feb 8, 2026
6ad22cc
Fix: Rewind (2)
frysee Feb 8, 2026
9d9b93e
Chore: More bluetooth workarounds
frysee Feb 8, 2026
0f3c978
Fix: wifi icon
frysee Feb 8, 2026
ed9e039
Fix: Bootlogo.pak
frysee Feb 8, 2026
c1633ff
Chore: Reenable all platforms
frysee Feb 8, 2026
0d9870a
Fix: Flip entering sleep
frysee Feb 8, 2026
74f6bfd
Fix: filemgr checkout
frysee Feb 9, 2026
8197569
Merge branch 'main' into my355-latest
frysee Feb 9, 2026
1e475dd
Chore: More cleanup
frysee Feb 9, 2026
9462014
Fix: volume pill after wake
frysee Feb 9, 2026
11aead3
Fix: Reboot shutting down instead
frysee Feb 10, 2026
e6904e5
Fix: charging indicator
frysee Feb 10, 2026
6b8cf55
Fix: lib deployment
frysee Feb 11, 2026
ce9d193
Fix: Exclude desktop platform from release
frysee Feb 11, 2026
6fbc7c4
Chore: Take out some of the leftover stuff we wont need anymore
frysee Feb 11, 2026
c3fdf1f
Chore: Slim down base package
frysee Feb 11, 2026
2eedf0a
Fix: Skip desktop deploy entirely
frysee Feb 11, 2026
02a6673
Fix: Menu arrow alignment on my355
frysee Feb 11, 2026
16a9d92
Fix: Slightly shortened text for my355
frysee Feb 11, 2026
0ddefa8
Fix: lib deployment (again)
frysee Feb 11, 2026
6e261fb
Fix: skip ambient mode calculations if no RGB is present
frysee Feb 12, 2026
3122610
Merge branch 'main' into my355-latest
frysee Feb 13, 2026
b2dcaef
Fix: minarch build
frysee Feb 13, 2026
1b8a78f
Fix: merge
frysee Feb 13, 2026
df2aa45
Fix: restart adb after wake
frysee Feb 16, 2026
1cd89b4
Feat: show2 can now render text in --mode=simple
frysee Feb 16, 2026
a481d31
Chore: Instruct the user to update his miyoo firmware before installi…
frysee Feb 16, 2026
d5e847b
Fix: We only want to run off the right SD slot
frysee Feb 16, 2026
5c63b63
Chore: Moved RA dependencies under minarch, fixed macos arm64 debug t…
frysee Feb 17, 2026
aa4636f
Revert: adb suspend fix (doesnt work reliably)
frysee Feb 17, 2026
ae099dc
Fix: GL context selection on desktop
frysee Feb 17, 2026
535000b
Fix: Menu list rendering glitch, remove tg5040 hack
frysee Feb 17, 2026
028ba05
Chore: Bring back cp -L, which is slightly more correct
frysee Feb 17, 2026
fbbf16d
Chore: Add my355 to release workflow
frysee Feb 17, 2026
ef06d7f
Merge branch 'main' into my355-latest
frysee Feb 17, 2026
6b24343
Feat: Notify the user if the wrong SD slot is used
frysee Feb 17, 2026
639200f
Chore: Remove FIXED_WIDTH usage, cleanup unused stuff
frysee Feb 25, 2026
9f73b05
Fix: picodrive hash truncated (desktop)
frysee Feb 25, 2026
1d150bd
Fix: possible heap corruption
frysee Feb 25, 2026
2a8c8b8
Fix: reverted some changes from the hdmi branch
frysee Feb 25, 2026
3d0ba20
Fix: Pill alignment on non-Brick resolutions
frysee Feb 26, 2026
4764f50
Fix: rsce_tool build when cross compiling
frysee Feb 26, 2026
6b94f6e
Merge branch 'main' into my355-latest
frysee Mar 1, 2026
ab7acc7
Merge branch 'main' into my355-latest
frysee Mar 1, 2026
49e28cb
Merge branch 'main' into my355-latest
frysee Mar 2, 2026
b62f77c
Merge branch 'main' into my355-latest
frysee Apr 27, 2026
a5c755b
Merge branch 'main' into my355-latest
frysee Apr 27, 2026
11c38be
Merge branch 'main' into my355-latest
apommel May 31, 2026
66e16a2
my355: Adjustments for kernel CPU governors and hooks
apommel Jun 3, 2026
393e222
feat: Port usb-c cards improvements to my355 and use tinyalsa for spe…
apommel Jun 4, 2026
1fbe2b8
fix: Correctly detect Jack and HDMI on my355 at boot
apommel Jun 4, 2026
1ff26e4
Add a missing quote in hook command parser
apommel Jul 8, 2026
1a73536
Merge branch 'main' into my355-latest-rebase
apommel Jul 8, 2026
d392978
my355: No-op functions for white point calibration
apommel Jul 8, 2026
c532ade
my355: refresh a2600 core patch
apommel Jul 8, 2026
a3f75b8
Merge branch 'main' into my355-latest-rebase
apommel Jul 9, 2026
f91a135
Align my355 launch.sh with other platforms
apommel Jul 9, 2026
89843ef
fix: Don't resume from suspent when lid is closed
apommel Jul 10, 2026
11820a6
my355: add Wi-Fi and BT stop and resume at suspend
apommel Jul 10, 2026
8690158
my355: various fixes
apommel Jul 10, 2026
cdeee49
Merge branch 'main' into my355-latest-rebase
apommel Jul 11, 2026
e981d18
fix: L4 and R4 buttons for my355 (NA)
apommel Jul 11, 2026
6056a87
Merge remote-tracking branch 'upstream/main' into my355-latest-rebase
apommel Jul 17, 2026
ae262ee
fix(suspend): allow charging on my355 when lid is closed
apommel Jul 17, 2026
f964ecc
Merge remote-tracking branch 'upstream/main' into my355-latest-rebase
apommel Jul 20, 2026
337e9db
Add no-op for #783 and #788 on my355
apommel Jul 20, 2026
999c126
Add isUSBConnected impl from tg5040 from #783 to my355
apommel Jul 20, 2026
432b94b
fix: additional consistency with other platforms
apommel Aug 3, 2026
a4fb75c
fix: usb-c headphones on my355
apommel Aug 7, 2026
94062bb
common: allow audio hot switching in minarch
apommel Aug 7, 2026
1949613
fix: update fceumm core's patch
pvaibhav Aug 8, 2026
d01bebb
fix: update mGBA core build
pvaibhav Aug 9, 2026
375b907
my355: review all emulator cores and shaders
apommel Aug 9, 2026
9e7ef45
fix: my355 SCREEN_FPS and getGPUUsage
apommel Aug 9, 2026
b1a2619
fix: my355 WiFi and Bluetooth stop and start on suspend
apommel Aug 9, 2026
7eaea98
feat: more robust boot logo flash on my355
apommel Aug 9, 2026
59e8a39
feat: turbo input on my355
apommel Aug 9, 2026
145a0e6
fix: D-pad duplication on my355
apommel Aug 9, 2026
a0b680e
fix: pill alignment on non Brick resolutions 2
apommel Aug 9, 2026
59ae71e
fix: my355 Bluetooth volume control
apommel Aug 11, 2026
6ba0038
fix: detect BT audio devices once service resolved
apommel Aug 12, 2026
0d351a2
Basic HDMI support
apommel Aug 14, 2026
a9fa66a
my355: background WiFi and BT restart after suspend
apommel Aug 14, 2026
86acc67
Use joypad input
apommel Aug 14, 2026
96fc2be
feat: Extend my355 volume range below the mixer's -37.5dB floor
apommel Aug 15, 2026
e137161
feat: Extend my355 to lower brightness values using PWM duty_cycle
apommel Aug 15, 2026
1112764
chore: my355 msettings.c clean-up and consistency
apommel Aug 15, 2026
b75ccff
Merge remote-tracking branch 'upstream/main' into my355-latest-rebase
apommel Aug 15, 2026
1d6f477
Merge remote-tracking branch 'upstream/main' into my355-latest-rebase
apommel Aug 15, 2026
660839d
fix: improve wifi_init on my355
apommel Aug 16, 2026
eb96890
fix: slow debug overlay
apommel Aug 19, 2026
bed0b04
fix: improve schedutil performance on multithreaded cores
apommel Aug 19, 2026
2833072
fix: battery charge indicator
apommel Aug 22, 2026
feed9d9
revert: improve schedutil performance on multithreaded cores
apommel Aug 22, 2026
8f5a96b
fix: remove stale Bluetooth code
apommel Aug 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ jobs:
toolchain:
- tg5040
- tg5050
- my355

steps:
- name: Checkout
Expand All @@ -64,6 +65,7 @@ jobs:
toolchain:
- tg5040
- tg5050
- my355
core: ${{ fromJson(needs.core-matrix.outputs.cores) }}
steps:
- name: Checkout
Expand Down Expand Up @@ -124,6 +126,18 @@ jobs:
env:
PLATFORM: tg5050

- name: Download Cores (my355)
uses: actions/download-artifact@v4.3.0
with:
path: workspace/my355/cores/output/
pattern: core-my355-*
merge-multiple: true

- name: Build (my355)
run: make my355
env:
PLATFORM: my355

- name: Special
run: make special

Expand Down
14 changes: 14 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ jobs:
toolchain:
- tg5040
- tg5050
- my355

steps:
- name: Checkout
Expand All @@ -83,6 +84,7 @@ jobs:
toolchain:
- tg5040
- tg5050
- my355
core: ${{ fromJson(needs.core-matrix.outputs.cores) }}
steps:
- name: Checkout
Expand Down Expand Up @@ -143,6 +145,18 @@ jobs:
env:
PLATFORM: tg5050

- name: Download Cores (my355)
uses: actions/download-artifact@v4.3.0
with:
path: workspace/my355/cores/output/
pattern: core-my355-*
merge-multiple: true

- name: Build (my355)
run: make my355
env:
PLATFORM: my355

- name: Special
run: make special

Expand Down
95 changes: 49 additions & 46 deletions makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ endif

ifeq (,$(PLATFORMS))
#PLATFORMS = miyoomini trimuismart rg35xx rg35xxplus my355 tg5040 zero28 rgb30 m17 gkdpixel my282 magicmini
PLATFORMS = tg5050 tg5040
PLATFORMS = tg5040 tg5050 my355
endif

###########################################################
Expand Down Expand Up @@ -50,12 +50,12 @@ export MAKEFLAGS=--no-print-directory
deploy: setup $(PLATFORMS) special package
adb push ./build/BASE/MinUI.zip /mnt/SDCARD && adb shell reboot

all: setup $(PLATFORMS) special package done
all: setup $(PLATFORMS) special package

shell:
make -f $(TOOLCHAIN_FILE) PLATFORM=$(PLATFORM)

name:
name:
@echo $(RELEASE_NAME)

build:
Expand All @@ -78,7 +78,7 @@ endif

system:
make -f ./workspace/$(PLATFORM)/platform/makefile.copy PLATFORM=$(PLATFORM)

# populate system
ifneq ($(PLATFORM), desktop)
cp ./workspace/$(PLATFORM)/keymon/keymon.elf ./build/SYSTEM/$(PLATFORM)/bin/
Expand All @@ -95,39 +95,50 @@ ifneq ($(PLATFORM), desktop)
cp ./workspace/all/libgametimedb/build/$(PLATFORM)/libgametimedb.so ./build/SYSTEM/$(PLATFORM)/lib
cp ./workspace/all/gametimectl/build/$(PLATFORM)/gametimectl.elf ./build/SYSTEM/$(PLATFORM)/bin/
cp ./workspace/all/gametime/build/$(PLATFORM)/gametime.elf ./build/EXTRAS/Tools/$(PLATFORM)/Game\ Tracker.pak/
endif
cp ./workspace/$(PLATFORM)/libmsettings/libmsettings.so ./build/SYSTEM/$(PLATFORM)/lib
cp ./workspace/all/nextui/build/$(PLATFORM)/nextui.elf ./build/SYSTEM/$(PLATFORM)/bin/
cp ./workspace/all/minarch/build/$(PLATFORM)/minarch.elf ./build/SYSTEM/$(PLATFORM)/bin/
cp ./workspace/all/nextval/build/$(PLATFORM)/nextval.elf ./build/SYSTEM/$(PLATFORM)/bin/
cp ./workspace/all/clock/build/$(PLATFORM)/clock.elf ./build/EXTRAS/Tools/$(PLATFORM)/Clock.pak/
cp ./workspace/all/minput/build/$(PLATFORM)/minput.elf ./build/EXTRAS/Tools/$(PLATFORM)/Input.pak/
cp ./workspace/all/settings/build/$(PLATFORM)/settings.elf ./build/EXTRAS/Tools/$(PLATFORM)/Settings.pak/
endif

ifneq (,$(filter $(PLATFORM),tg5040 tg5050))
cp ./workspace/all/ledcontrol/build/$(PLATFORM)/ledcontrol.elf ./build/EXTRAS/Tools/$(PLATFORM)/LedControl.pak/
cp ./workspace/all/bootlogo/build/$(PLATFORM)/bootlogo.elf ./build/EXTRAS/Tools/$(PLATFORM)/Bootlogo.pak/
endif

ifeq ($(PLATFORM), tg5040)
# Limbo fix
cp ./workspace/$(PLATFORM)/poweroff_next/build/$(PLATFORM)/poweroff_next.elf ./build/SYSTEM/$(PLATFORM)/bin/poweroff_next
endif
endif

ifneq (,$(filter $(PLATFORM),tg5040 tg5050 my355))
cp ./workspace/all/bootlogo/build/$(PLATFORM)/bootlogo.elf ./build/EXTRAS/Tools/$(PLATFORM)/Bootlogo.pak/

# Audio resampling
cp ./workspace/all/minarch/build/$(PLATFORM)/libsamplerate.* ./build/SYSTEM/$(PLATFORM)/lib/

# ROM decompression and SRM support
cp ./workspace/all/minarch/build/$(PLATFORM)/libzip.* ./build/SYSTEM/$(PLATFORM)/lib/
cp ./workspace/all/minarch/build/$(PLATFORM)/libbz2.* ./build/SYSTEM/$(PLATFORM)/lib/
cp ./workspace/all/minarch/build/$(PLATFORM)/liblzma.* ./build/SYSTEM/$(PLATFORM)/lib/
cp ./workspace/all/minarch/build/$(PLATFORM)/libzstd.* ./build/SYSTEM/$(PLATFORM)/lib/
cp ./workspace/all/minarch/build/$(PLATFORM)/liblzma.so.* ./build/SYSTEM/$(PLATFORM)/lib/
cp ./workspace/all/minarch/build/$(PLATFORM)/libzstd.so.* ./build/SYSTEM/$(PLATFORM)/lib/

# libchdr and libcrypto for RetroAchievements
cp ./workspace/all/minarch/build/$(PLATFORM)/libchdr.so.* ./build/SYSTEM/$(PLATFORM)/lib/
cp ./workspace/all/minarch/build/$(PLATFORM)/libcrypto.so.* ./build/SYSTEM/$(PLATFORM)/lib/

ifeq ($(PLATFORM), tg5040)
ifneq (,$(filter $(PLATFORM),tg5040 my355))
# liblz4 for Rewind support
cp -L ./workspace/all/minarch/build/$(PLATFORM)/liblz4.so.1 ./build/SYSTEM/$(PLATFORM)/lib/
cp ./workspace/all/minarch/build/$(PLATFORM)/liblz4.* ./build/SYSTEM/$(PLATFORM)/lib/
endif

ifeq ($(PLATFORM), my355)
cp ./workspace/all/minarch/build/$(PLATFORM)/libcrypto.* ./build/SYSTEM/$(PLATFORM)/lib/
cp ./workspace/all/minarch/build/$(PLATFORM)/libtinyalsa.* ./build/SYSTEM/$(PLATFORM)/lib/
cp ./workspace/all/minarch/build/$(PLATFORM)/libsqlite3.* ./build/SYSTEM/$(PLATFORM)/lib/
cp ./workspace/all/minarch/build/$(PLATFORM)/libffi.* ./build/SYSTEM/$(PLATFORM)/lib/
endif
endif

Expand All @@ -146,7 +157,6 @@ cores: # TODO: can't assume every platform will have the same stock cores (platf
cp ./workspace/$(PLATFORM)/cores/output/picodrive_libretro.so ./build/SYSTEM/$(PLATFORM)/cores
cp ./workspace/$(PLATFORM)/cores/output/snes9x_libretro.so ./build/SYSTEM/$(PLATFORM)/cores
cp ./workspace/$(PLATFORM)/cores/output/pcsx_rearmed_libretro.so ./build/SYSTEM/$(PLATFORM)/cores

# extras
cp ./workspace/$(PLATFORM)/cores/output/a5200_libretro.so ./build/EXTRAS/Emus/$(PLATFORM)/A5200.pak
cp ./workspace/$(PLATFORM)/cores/output/prosystem_libretro.so ./build/EXTRAS/Emus/$(PLATFORM)/A7800.pak
Expand Down Expand Up @@ -175,7 +185,7 @@ cores: # TODO: can't assume every platform will have the same stock cores (platf
endif

common: build system cores

clean:
rm -rf ./build
make clean -f $(TOOLCHAIN_FILE) PLATFORM=$(PLATFORM) COMPILE_CORES=$(COMPILE_CORES)
Expand All @@ -184,69 +194,64 @@ setup: name
# ----------------------------------------------------
# make sure we're running in an input device
tty -s || echo "No tty detected"

# ready fresh build
rm -rf ./build
mkdir -p ./releases
cp -R ./skeleton ./build

# remove authoring detritus
cd ./build && find . -type f -name '.keep' -delete
cd ./build && find . -type f -name '.gitkeep' -delete
cd ./build && find . -type f -name '*.meta' -delete
echo $(BUILD_HASH) > ./workspace/hash.txt


# dont ship desktop as a platform in the release, it's just for testing
cd ./build && find . -type d -name 'desktop' -exec rm -rf {} +

# copy readmes to workspace so we can use Linux fmt instead of host's
mkdir -p ./workspace/readmes
cp ./skeleton/BASE/README.txt ./workspace/readmes/BASE-in.txt
cp ./skeleton/EXTRAS/README.txt ./workspace/readmes/EXTRAS-in.txt

done:
# say "done" 2>/dev/null || true

special:
# setup miyoomini/trimui/magicx family .tmp_update in BOOT
mv ./build/BOOT/common ./build/BOOT/.tmp_update
# mv ./build/BOOT/miyoo ./build/BASE/
mv ./build/BOOT/miyoo ./build/BASE/
mv ./build/BOOT/trimui ./build/BASE/
# mv ./build/BOOT/magicx ./build/BASE/
# cp -R ./build/BOOT/.tmp_update ./build/BASE/miyoo/app/
cp -R ./build/BOOT/.tmp_update ./build/BASE/miyoo/app/
rm -rf ./build/BASE/miyoo/app/.tmp_update/tg*
cp -R ./build/BOOT/.tmp_update ./build/BASE/trimui/app/
# cp -R ./build/BOOT/.tmp_update ./build/BASE/magicx/
# cp -R ./build/BASE/miyoo ./build/BASE/miyoo354
# cp -R ./build/BASE/miyoo ./build/BASE/miyoo355
#ifneq (,$(findstring my355, $(PLATFORMS)))
# cp -R ./workspace/my355/init ./build/BASE/miyoo355/app/my355
# cp -r ./workspace/my355/other/squashfs/output/* ./build/BASE/miyoo355/app/my355/payload/
#endif
rm -rf ./build/BASE/trimui/app/.tmp_update/my355*
cp -R ./build/BASE/miyoo ./build/BASE/miyoo355
ifneq (,$(findstring my355, $(PLATFORMS)))
cp -R ./workspace/my355/init ./build/BASE/miyoo355/app/my355
cp -r ./workspace/my355/other/squashfs/output/* ./build/BASE/miyoo355/app/my355/payload/
cp ./workspace/all/show2/build/my355/show2.elf ./build/BASE/miyoo355/app/my355/payload/bin/
endif

tidy:
rm -f releases/$(RELEASE_NAME)-base.zip
rm -f releases/$(RELEASE_NAME)-base.zip
rm -f releases/$(RELEASE_NAME)-extras.zip
rm -f releases/$(RELEASE_NAME)-all.zip
# ----------------------------------------------------
# copy update from merged platform to old pre-merge platform bin so old cards update properly
#ifneq (,$(findstring rg35xxplus, $(PLATFORMS)))
# mkdir -p ./build/SYSTEM/rg40xxcube/bin/
# cp ./build/SYSTEM/rg35xxplus/bin/install.sh ./build/SYSTEM/rg40xxcube/bin/
#endif

package: tidy
# ----------------------------------------------------
# zip up build

# move formatted readmes from workspace to build
cp ./workspace/readmes/BASE-out.txt ./build/BASE/README.txt
cp ./workspace/readmes/EXTRAS-out.txt ./build/EXTRAS/README.txt
rm -rf ./workspace/readmes

cd ./build/SYSTEM && echo "$(RELEASE_NAME)\n$(BUILD_HASH)" > version.txt
./commits.sh > ./build/SYSTEM/commits.txt
cd ./build && find . -type f -name '.DS_Store' -delete
mkdir -p ./build/PAYLOAD
mv ./build/SYSTEM ./build/PAYLOAD/.system
cp -R ./build/BOOT/.tmp_update ./build/PAYLOAD/
cp -R ./build/EXTRAS/Tools ./build/PAYLOAD/

cd ./build/PAYLOAD && zip -r MinUI.zip .system .tmp_update Tools
mv ./build/PAYLOAD/MinUI.zip ./build/BASE

Expand All @@ -262,20 +267,18 @@ package: tidy
# Move renamed .pakz files into base folder
mkdir -p ./build/BASE
mv $(VENDOR_DEST)/* ./build/BASE/

# TODO: can I just add everything in BASE to zip?
# cd ./build/BASE && zip -r ../../releases/$(RELEASE_NAME)-base.zip Bios Roms Saves miyoo miyoo354 trimui rg35xx rg35xxplus gkdpixel miyoo355 magicx em_ui.sh MinUI.zip README.txt
cd ./build/BASE && zip -r ../../releases/$(RELEASE_NAME)-base.zip Bios Roms Saves Shaders Overlays trimui em_ui.sh MinUI.zip *.pakz README.txt
cd ./build/BASE && zip -r ../../releases/$(RELEASE_NAME)-base.zip Bios Roms Saves Shaders Overlays trimui miyoo miyoo355 MinUI.zip *.pakz README.txt
cd ./build/EXTRAS && zip -r ../../releases/$(RELEASE_NAME)-extras.zip Bios Emus Roms Saves Shaders Overlays Tools README.txt
echo "$(RELEASE_VERSION)" > ./build/latest.txt

# compound zip (brew install libzip needed)
# compound zip (brew install libzip needed)
cd ./releases && zipmerge $(RELEASE_NAME)-all.zip $(RELEASE_NAME)-base.zip && zipmerge $(RELEASE_NAME)-all.zip $(RELEASE_NAME)-extras.zip

###########################################################

.DEFAULT:
# ----------------------------------------------------
# $@
@echo "$(PLATFORMS)" | grep -q "\b$@\b" && (make common PLATFORM=$@) || (exit 1)

8 changes: 0 additions & 8 deletions skeleton/BASE/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,6 @@ ALL

Preload the "Bios" and "Roms" folders then copy both to the root of your primary card.

MAGICX MINI ZERO 28

NextUI is meant to be used with Moss installed on the SD card that goes into the left slot (labeled TF1/INT). Download and flash the latest version:

https://github.com/shauninman/Moss-zero28/releases

Copy the "magicx" folder and "MinUI.zip" (without unzipping) to the root of the SD card that goes into the right slot (labeled TF2/EXT).

TRIMUI SMART PRO / TRIMUI BRICK

Copy the "trimui" folder and "MinUI.zip" (without unzipping) to the root of the SD card.
Expand Down
16 changes: 16 additions & 0 deletions skeleton/BOOT/miyoo/app/MainUI
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh

cd $(dirname "$0")

INFO=`cat /proc/cpuinfo 2> /dev/null`
case $INFO in
*"0xd05"*)
./my355.sh
;;
*"sun8i"*)
./my282.sh
;;
*"SStar"*)
./miyoomini.sh
;;
esac
3 changes: 3 additions & 0 deletions skeleton/BOOT/miyoo/app/keymon
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

exit 0
26 changes: 26 additions & 0 deletions skeleton/BOOT/miyoo/app/my355.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/sh

cd $(dirname "$0")

SDCARD_PATH=/mnt/SDCARD
MIYOO_DIR=miyoo355

if [ ! -f /usr/miyoo/bin/runmiyoo-original.sh ]; then
if [ -d $SDCARD_PATH/.tmp_update/ ]; then
rm -rf $SDCARD_PATH/.tmp_update/
fi
my355/init.sh
fi

export PATH=/usr/miyoo/bin:/usr/miyoo/sbin:/usr/bin:/usr/sbin:/bin:/sbin
export LD_LIBRARY_PATH=/usr/miyoo/lib:/usr/lib:/lib


# .tmp_update/updater does the actual installation (and later, updating)
cp -rf .tmp_update $SDCARD_PATH/
rm -rf "$SDCARD_PATH/$MIYOO_DIR"
sync
$SDCARD_PATH/.tmp_update/updater

# under no circumstances should stock be allowed to touch this card
poweroff
19 changes: 19 additions & 0 deletions skeleton/EXTRAS/Emus/my355/32X.pak/default.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-picodrive_drc = enabled
-picodrive_sound_rate = 44100
-picodrive_smstype = Auto
-picodrive_smsfm = off
-picodrive_smsmapper = Auto
-picodrive_ggghost = off

bind Up = UP
bind Down = DOWN
bind Left = LEFT
bind Right = RIGHT
bind Mode = SELECT
bind Start = START
bind A Button = Y
bind B Button = X:B
bind C Button = A
bind X Button = B:L1
bind Y Button = L1:X
bind Z Button = R1
14 changes: 14 additions & 0 deletions skeleton/EXTRAS/Emus/my355/32X.pak/launch.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh

EMU_EXE=picodrive

###############################

EMU_TAG=$(basename "$(dirname "$0")" .pak)
ROM="$1"
mkdir -p "$BIOS_PATH/$EMU_TAG"
mkdir -p "$SAVES_PATH/$EMU_TAG"
mkdir -p "$CHEATS_PATH/$EMU_TAG"
HOME="$USERDATA_PATH"
cd "$HOME"
minarch.elf "$CORES_PATH/${EMU_EXE}_libretro.so" "$ROM" > "$LOGS_PATH/$EMU_TAG.txt" 2>&1
Loading
Loading