Files
libretro/emulators/mu.yml
2026-03-18 14:22:19 +01:00

89 lines
3.5 KiB
YAML

emulator: Mu
type: libretro
source: "https://github.com/libretro/Mu"
profiled_date: "2026-03-18"
core_version: "v1.3.3"
display_name: "Palm OS (Mu)"
systems: [palm-os]
notes: |
Mu emulates Palm OS handhelds: Palm m500, Palm m515, and (if compiled
with EMU_SUPPORT_PALM_OS5) the Tungsten T3.
A Palm OS ROM dump is required. The core selects the ROM filename based
on the "OS Version" core option:
Palm m500 / Palm OS 4.0 -> palmos40-en-m500.rom
Palm m515 / Palm OS 4.1 -> palmos41-en-m515.rom (default)
Tungsten T3 / Palm OS 5.2 -> palmos52-en-t3.rom
Tungsten T3 / Palm OS 6.0 -> palmos60-en-t3.rom
ROM path construction: retro_load_game() joins
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY + "/" + osVersion + ".rom".
The bootloader (bootloader-dbvz.rom) is optional. It contains the
MC68VZ328 UART bootloader and is only relevant for m500/m515 devices.
For the Tungsten T3 it is ignored even if present.
The m500/m515 ROM is loaded into a 4 MB region (M5XX_ROM_SIZE),
padded with 0x00 if smaller, and byte-swapped on little-endian hosts.
The Tungsten T3 ROM maps into a 16 MB region (TUNGSTEN_T3_ROM_SIZE).
The core also supports no-game mode (supports_no_game = true). Without
content, it boots the standard Palm OS desktop from the ROM.
files:
# --- Palm m515 / Palm OS 4.1 (default device) ---
- name: "palmos41-en-m515.rom"
system: palm-os
description: "Palm m515 ROM, Palm OS 4.1 English"
required: true
md5: "83cb1d1c76e568b916dc2e7c0bf669f6"
note: "Default ROM. Selected when core option is 'Palm m515/Palm OS 4.1'. Max 4 MB, byte-swapped on LE."
source_ref: "libretroBuildSystem/libretro.c:173-176,744-763 (retro_load_game ROM loading)"
# --- Palm m500 / Palm OS 4.0 ---
- name: "palmos40-en-m500.rom"
system: palm-os
description: "Palm m500 ROM, Palm OS 4.0 English"
required: false
md5: "f50e4d5e4d98dc831f2c34a9107651eb"
note: "Selected when core option is 'Palm m500/Palm OS 4.0'. Max 4 MB."
source_ref: "libretroBuildSystem/libretro.c:169-172"
# --- Tungsten T3 / Palm OS 5.2.1 (requires EMU_SUPPORT_PALM_OS5) ---
- name: "palmos52-en-t3.rom"
system: palm-os
description: "Tungsten T3 ROM, Palm OS 5.2.1 English"
required: false
md5: "de46ec84d9aabf655eabdf9b00a3845d"
note: "Selected when core option is 'Tungsten T3/Palm OS 5.2.1'. Max 16 MB. Only available if core compiled with EMU_SUPPORT_PALM_OS5."
source_ref: "libretroBuildSystem/libretro.c:178-181"
# --- Tungsten T3 / Palm OS 6.0 (requires EMU_SUPPORT_PALM_OS5) ---
- name: "palmos60-en-t3.rom"
system: palm-os
description: "Tungsten T3 ROM, Palm OS 6.0 English"
required: false
note: "Selected when core option is 'Tungsten T3/Palm OS 6.0'. Max 16 MB. Only available if core compiled with EMU_SUPPORT_PALM_OS5."
source_ref: "libretroBuildSystem/libretro.c:182-185"
# --- MC68VZ328 bootloader ---
- name: "bootloader-dbvz.rom"
system: palm-os
description: "MC68VZ328 UART bootloader"
required: false
md5: "9da101cd2317830649a31f8fa46debec"
note: "Optional for m500/m515. Ignored for Tungsten T3. Loads from system directory."
source_ref: "libretroBuildSystem/libretro.c:766-782"
platform_details:
palm_m5xx:
rom_size: 4194304 # 4 MB (M5XX_ROM_SIZE)
cpu: "MC68VZ328"
source_ref: "include/m5XXBus.h:23, src/emulator.c:191-212"
tungsten_t3:
rom_size: 16777216 # 16 MB (TUNGSTEN_T3_ROM_SIZE)
cpu: "PXA260 (ARM)"
source_ref: "include/tungstenT3Bus.h:17, src/emulator.c:158-164"