An alternative launcher over stock, made to be simple.
- SimpleMenu
- Is (a)
- Minimalistic
- Practical
- Lean (and)
- Efficient
- Menu (to)
- Enhance
- New Bittboys'
- Usability
See SECURITY.md for details on security improvements and CONTRIBUTING.md for development guidelines.
As this fork, based on fgl82/simplemenu, targets Powkiddy v90, most of the work was done targetting that specific layout, and hardware.
However, as Bittboy v3.5 is quite similar, only changing the layout ( binary built stays the same ), both are supported.
To build SimpleMenu for development, you'll need:
- Linux environment (or WSL on Windows)
- ARM toolchain:
arm-linux-musleabi-gccorarm-buildroot-linux-musleabi-gcc- For Bittboy toolchain:
/opt/bittboy-toolchain/bin/arm-buildroot-linux-musleabi-gcc
- For Bittboy toolchain:
- Git for repository management
- Make build tool
-
Clone the repository:
git clone https://github.com/taichikuji/simplemenu.git cd simplemenu/simplemenu -
Compile for Bittboy/V90 (MiyooCFW):
make clean make PLATFORM=BITTBOY
-
Build output:
- The compiled binary will be at
output/simplemenu - The deployment files (binary + configs + resources) are pre-organized in
output/Bittboy/ - This single binary works on both Powkiddy V90 and Bittboy v3.5
- The compiled binary will be at
-
Copy files to SD card:
# Mount your SD card (e.g., /media/sdcard), then: cp -r output/Bittboy/* /media/sdcard/apps/simplemenu/
- Replace
/media/sdcard/with your SD card's mount point on your computer - Copy the contents to the
apps/simplemenu/directory on the SD card - When running on the device, this will be accessible at
/mnt/apps/simplemenu/
- Replace
-
Configuration:
- Default
config.iniworks out-of-the-box for Bittboy v3.5 - No button mapping changes required
- Default
-
Test on hardware:
- Insert SD card into Bittboy
- Navigate to SimpleMenu in the apps folder
- Test all buttons and functionality
-
Copy files to SD card:
# Mount your SD card (e.g., /media/sdcard), then: cp -r output/Bittboy/* /media/sdcard/apps/simplemenu/
- Replace
/media/sdcard/with your SD card's mount point on your computer - Copy the contents to the
apps/simplemenu/directory on the SD card - When running on the device, this will be accessible at
/mnt/apps/simplemenu/
- Replace
-
Configuration:
- This fork (
taichikuji/simplemenu) includes button mappings optimized for both devices - The config files are in
output/Bittboy/config/config.ini(pre-deployment) and will be at/mnt/apps/simplemenu/config/config.inion the device - The clamshell form factor of the V90 may require button mapping adjustments compared to the candybar Bittboy
- If buttons don't work correctly, you may need to edit the button key codes in
config.ini(see Troubleshooting section)
- This fork (
-
Test on hardware:
- Insert SD card into Powkiddy V90
- Navigate to SimpleMenu in the apps folder
- Important: Test all buttons, especially:
- D-pad (up, down, left, right)
- Shoulder buttons (L1, R1)
- Face buttons (A, B, X, Y)
- Start/Select buttons
For quick builds, you can use the provided build script:
# From the repository root:
cd simplemenu/simplemenu/output
./make_bittboy.shThis script automatically:
- Cleans previous builds
- Compiles with PLATFORM=BITTBOY
- Copies binary to mounted device (if configured in the script)
Run the test suite to verify code quality:
cd tests
./run_tests.shFor unit tests:
cd tests
gcc -o test_string_utils test_string_utils.c ../simplemenu/src/logic/string_utils.c -I../simplemenu/src/headers
./test_string_utilsSee tests/README.md for more information.
Before submitting changes, run static analysis:
# cppcheck
cppcheck --enable=all --inconclusive simplemenu/src/
# clang-tidy (if available)
clang-tidy simplemenu/src/logic/*.c -- -I simplemenu/src/headersCheck for memory leaks with Valgrind:
valgrind --leak-check=full ./simplemenuWe welcome contributions! Please see CONTRIBUTING.md for:
- Coding standards and best practices
- Security guidelines
- How to submit pull requests
- Areas needing improvement
Go to simplemenu's wiki for additional information about this.
- Gameblabla/Sauce: https://github.com/gameblabla
- James O' Farrell: https://github.com/jamesofarrell
- TriforceX: https://github.com/TriForceX
- Vamastah/Szymor: https://github.com/szymor
- Pingflood: https://github.com/pingflood
- Dancero643: https://www.youtube.com/channel/UCM_EKCNx0qwGC7CCOBjhyLg
- MADX
This project is licensed under the GNU General Public License v3.0.
https://www.gnu.org/licenses/gpl-3.0.en.html
Creative Commons CC BY-NC-SA 3.0
https://creativecommons.org/licenses/by-nc-sa/3.0/
Logo Attribution: Logos from https://github.com/rxbrad/es-theme-gbz35