cleaned up root makefile
This commit is contained in:
parent
1d856d4b22
commit
0db78ae58c
2 changed files with 48 additions and 13 deletions
23
makefile
23
makefile
|
|
@ -22,7 +22,7 @@ RELEASE_NAME=$(RELEASE_BASE)-$(RELEASE_DOT)
|
||||||
# TODO: this needs to consider the different platforms, eg. rootfs.ext2 should only be copied in rg35xx-toolchain
|
# TODO: this needs to consider the different platforms, eg. rootfs.ext2 should only be copied in rg35xx-toolchain
|
||||||
|
|
||||||
all: lib sys all-cores tools dtb bundle readmes zip report
|
all: lib sys all-cores tools dtb bundle readmes zip report
|
||||||
|
|
||||||
lib:
|
lib:
|
||||||
cd ./src/libmsettings && make
|
cd ./src/libmsettings && make
|
||||||
|
|
||||||
|
|
@ -74,21 +74,18 @@ bundle:
|
||||||
cp ./other/DinguxCommander/output/DinguxCommander ./build/EXTRAS/Tools/rg35xx/Files.pak
|
cp ./other/DinguxCommander/output/DinguxCommander ./build/EXTRAS/Tools/rg35xx/Files.pak
|
||||||
cp -R ./other/DinguxCommander/res ./build/EXTRAS/Tools/rg35xx/Files.pak/
|
cp -R ./other/DinguxCommander/res ./build/EXTRAS/Tools/rg35xx/Files.pak/
|
||||||
|
|
||||||
|
# prep .system for zipping
|
||||||
mkdir -p ./build/PAYLOAD
|
mkdir -p ./build/PAYLOAD
|
||||||
mv ./build/SYSTEM ./build/PAYLOAD/.system
|
mv ./build/SYSTEM ./build/PAYLOAD/.system
|
||||||
|
|
||||||
# TODO: move to zip target
|
readmes:
|
||||||
|
fmt -w 40 -s ./skeleton/BASE/README.txt > ./build/BASE/README.txt
|
||||||
|
fmt -w 40 -s ./skeleton/EXTRAS/README.txt > ./build/EXTRAS/README.txt
|
||||||
|
|
||||||
|
zip:
|
||||||
cd ./build/PAYLOAD && find . -type f -name '.DS_Store' -delete # TODO: do this before echo zip
|
cd ./build/PAYLOAD && find . -type f -name '.DS_Store' -delete # TODO: do this before echo zip
|
||||||
cd ./build/PAYLOAD && zip -r MinUI.zip .system
|
cd ./build/PAYLOAD && zip -r MinUI.zip .system
|
||||||
mv ./build/PAYLOAD/MinUI.zip ./build/BASE
|
mv ./build/PAYLOAD/MinUI.zip ./build/BASE
|
||||||
|
|
||||||
readmes:
|
|
||||||
# TODO
|
|
||||||
echo
|
|
||||||
|
|
||||||
zip:
|
|
||||||
# TODO:
|
|
||||||
echo
|
|
||||||
|
|
||||||
report:
|
report:
|
||||||
echo "finished building r${RELEASE_TIME}-${RELEASE_DOT}"
|
echo "finished building r${RELEASE_TIME}-${RELEASE_DOT}"
|
||||||
|
|
@ -99,7 +96,7 @@ clean:
|
||||||
cd ./src/keymon && make clean
|
cd ./src/keymon && make clean
|
||||||
cd ./src/minui && make clean
|
cd ./src/minui && make clean
|
||||||
cd ./src/minarch && make clean
|
cd ./src/minarch && make clean
|
||||||
echo "TODO: clean cores"
|
cd ./cores && make clean
|
||||||
cd ./src/clock && make clean
|
cd ./src/clock && make clean
|
||||||
cd ./other/DinguxCommander && make clean
|
cd ./other/DinguxCommander && make clean
|
||||||
|
|
||||||
38
skeleton/EXTRAS/README.txt
Normal file
38
skeleton/EXTRAS/README.txt
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
MinUI is an extensible launcher
|
||||||
|
|
||||||
|
Source: https://github.com/shauninman/MinUI2
|
||||||
|
|
||||||
|
----------------------------------------
|
||||||
|
Adding Paks
|
||||||
|
|
||||||
|
A pak is a folder with a pak extension that contains a shell script named launch.sh.
|
||||||
|
|
||||||
|
There are two kinds of paks, emulators and tools. Emulator paks live in the Emus folder. Tool paks live in the Tools folder. Both of those folders live at the root of your SD card. If you're adding paks created by someone else (sharing is caring) just copy each pak into the corresponding folder. That's usually it but they may have additional steps (eg. additions to the Roms or Bios folders). Check for a readme or ask the original author if you're unsure.
|
||||||
|
|
||||||
|
----------------------------------------
|
||||||
|
Creating an emulator pak
|
||||||
|
|
||||||
|
There are two kinds of emulator paks, both similar, both super simple. The first re-uses an existing MinUI libretro core. The second uses a custom libretro core. To illustrate the different approaches, let's create a Sega Game Gear pak (already part of this zip file).
|
||||||
|
|
||||||
|
First create an "Emus" folder at the root of your SD card if one doesn't already exist. Then make sure your file browser is showing invisible files for this next step. Copy "/.system/paks/Emus/MD.pak/" into the Emus folder and rename it to GG.pak. GG is your emulator tag. The tag is used to map its roms folder to the pak. That's it. You're done. You just created your first MinUI emulator pak! Now create the corresponding roms folder "/Roms/Game Gear (GG)/" (see, there's that tag again!) and load it up with a few roms. Boot up MinUI and give it a shot. Easy, right? Let's do the next one.
|
||||||
|
|
||||||
|
First download the smsplus-gx_libretro.so core and put it in your GG.pak. Then open launch.sh in a plain text editor (make sure this editor uses just `\n` for newlines, Linux is picky Windows friends). We need to change two things this time. Replace `EMU_EXE=picodrive` with `EMU_EXE=smsplus-gx` then right below that line add `CORES_PATH=$(dirname "$0")`. Save and you're done. Still pretty damn easy.
|
||||||
|
|
||||||
|
There are two things to consider when creating your own emulator pak. If a core doesn't support save states, autoresume will not work. That means if a player manually powers off in game or it falls alseep while on the menu and automatically powers off, they will lose any unsaved progress. Please don't do this to people. It doesn't matter if you mention it in a readme (!), people won't read it and they will be angry at you (or more likely, me). Just don't. The other thing worth noting is that MinUI doesn't enable swap by default (it can degrade performance of emulators that don't need it). For emulators that require more memory than is physically available on the Miyoo Mini, just call `needs-swap` before launching `picoarch` to enabled a 128MB swap image.
|
||||||
|
|
||||||
|
----------------------------------------
|
||||||
|
Bios files
|
||||||
|
|
||||||
|
You'll need to BYOB for these emulator paks included in this zip file.
|
||||||
|
|
||||||
|
MGBA: gba_bios.bin
|
||||||
|
PCE: syscard3.pce
|
||||||
|
PKM: bios.min
|
||||||
|
SGB: sgb_bios.bin
|
||||||
|
|
||||||
|
----------------------------------------
|
||||||
|
Creating a tool pak
|
||||||
|
|
||||||
|
Tool paks can run a GUI program, setup a daemon, or just script a quick action before exiting. See the Files and Screenshots paks for examples but usually a tool pak will change to the current directory, set any necessary environmental variables, and then launch a binary relative to the folder.
|
||||||
|
|
||||||
|
MinUI comes with a couple of binaries to simplify providing feedback to users: show, blank, say, and confirm. (If you need to perform a longer action with discrete steps there is also the more advanced progressui.) Check out the Example pak for...um, an example of how those work.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue