Skip to content

beebono/mimiki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIMIKI - Minimal Miyoo Kiosk

A minimal emulation platform for the Miyoo Flip (RK3566). MIMIKI provides a lightweight Linux OS image with a custom ncurses-based launcher and pre-configured emulators for N64, Saturn, Dreamcast, PS1, and PSP.


UI Previews


Installation

GammaLoader must be installed to the stock firmware for SD Card booting to work! If you have GammaLoader installed already, skip immediately to step 2!

  1. Download the GammaLoaderMiyooFlip.zip file from Releases

    1. Prepare an empty FAT32 formatted SD Card
    2. Copy/Unzip the App folder from inside the GammaLoaderMiyooFlip.zip file so that it sits directly at the root of the previously prepared SD Card.
    3. Insert the loaded SD card into your Miyoo Flip and power it on.
    4. Navigate to the App section of the stock firmware and launch the Gamma Bootloader Installer application.
    5. Wait until your device reboots back into the stock firmware.
  2. Download the latest mimiki-sdcard.img from Releases and use your preferred image flashing software to write the image to the target SD Card.

You can also build the image directly on your machine by following the steps laid out under the Build Requirements section below and the sections beneath it.


SD Card Setup

The Miyoo Flip has two SD card slots. MIMIKI supports both single and dual SD card configurations.

Single SD Card

Place the MIMIKI system image in SD slot 1 (Right Side Slot under Power Button). ROMs and game assets are stored on the same card under the appropriate directories. This is the simplest setup and works after initial boot.

SD Slot 1: MIMIKI system image + games
SD Slot 2: (unused)

Two SD Cards

For expanded storage, a second SD card can be added to SD slot 2. MIMIKI will automatically mount it at /mnt/games2, and files will be propagated as needed.

SD Slot 1: MIMIKI system image (boot + root) + primary game storage (/mnt/games)
SD Slot 2: Additional game storage (/mnt/games2)

Format the second card as exFAT or FAT32 before use.

Game Directory Structure

Create the following directories on your SD card(s) and place your ROMs inside. The launcher scans these directories automatically on boot.

Directory System Supported Formats Notes
/n64 Nintendo 64 .z64, .n64, .v64
/stn Saturn .chd, .iso, .bin/.cue BIOS files required under /data
/dc Dreamcast .chd, .gdi, .cdi BIOS files required under /data
/ps1 PlayStation .chd, .pbp, .bin/.cue BIOS files required under /data
/psp PSP .chd, .cso, .iso

These same directories can be created on a second SD card if you prefer separated storage.


System-wide Hotkeys

Key Combo Effect
M + Start Exit to Menu
M + R3 Save State
M + L3 Load State
M + VolUp Brightness Up
M + VolDn Brightness Down
Lid Sleep/Wake
Tap Pwr Sleep/Wake
Hold Pwr Exit+Pwroff (!DOES NOT SAVE!)

Supported Emulators

System Emulator
N64 mupen64plus
Saturn yabasanshiro
Dreamcast Flycast
PlayStation PCSX-ReARMed
PSP PPSSPP

Build Requirements

  • Linux host with standard build tools
  • ARM64 cross-compilation tools and libraries
  • Root access for image creation and flashing

Cloning

The project uses Git submodules for the kernel, bootloader, libraries, and emulators. Clone with all submodules in one step:

git clone --recurse-submodules https://github.com/beebono/mimiki.git
cd mimiki

If you have already cloned without --recurse-submodules, initialize the submodules manually:

git submodule update --init --recursive

NOTE: The mupen64plus directory may throw an error here. If so, you will need to initialize each other submodule manually rather than recursively.


Build/Flashing Steps

Run make help to display all available build targets:

make help

The standard build sequence is:

make tools        # Build libraries and utilities (SDL2, busybox, etc.)
make boot         # Build U-Boot and Linux kernel
make launcher     # Build the MIMIKI SDL2 launcher
make emulators    # Build the standalone emulators
make rootfs       # Assemble the root filesystem
make image        # Create a bootable SD card image (requires root)

Or build everything in one command:

make build-all

Once the image is built, you can flash it to an SD card:

make flash SDCARD=/dev/sdX

Replace /dev/sdX with the actual block device path of your SD card. This operation requires root and will overwrite all data on the target device.

About

5 systems, 2 sd cards, 1 choice to make. Which game to play first?

Resources

Stars

Watchers

Forks

Contributors