meepingsnesroms / Mu

A new Palm OS emulator targeting compatibility, speed and accuracy in that order.

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Mu

Vita3k
Experimental PlayStation Vita emulator
Stars: ✭ 1,329 (+1108.18%)
Mutual labels:  emulator
Laines
Cycle-accurate NES emulator in ~1000 lines of code
Stars: ✭ 1,365 (+1140.91%)
Mutual labels:  emulator
Opennos
OpenNos Emulator Project. See AUTHORS file for Copyright information.
Stars: ✭ 105 (-4.55%)
Mutual labels:  emulator
Azerothcore Wotlk
Complete Open Source and Modular solution for MMO
Stars: ✭ 1,330 (+1109.09%)
Mutual labels:  emulator
L2dotnet
A server emulator for Lineage2 Interlude written in C#
Stars: ✭ 98 (-10.91%)
Mutual labels:  emulator
Yakc
Yet another KC emulator
Stars: ✭ 102 (-7.27%)
Mutual labels:  emulator
Selfie
An educational software system of a tiny self-compiling C compiler, a tiny self-executing RISC-V emulator, and a tiny self-hosting RISC-V hypervisor.
Stars: ✭ 1,318 (+1098.18%)
Mutual labels:  emulator
Mockssh
Mock an SSH server and define all commands it supports (Python, Twisted)
Stars: ✭ 107 (-2.73%)
Mutual labels:  emulator
Ish
Linux shell for iOS
Stars: ✭ 10,991 (+9891.82%)
Mutual labels:  emulator
Nes.swift
An NES emulator written in Swift
Stars: ✭ 103 (-6.36%)
Mutual labels:  emulator
Xemu
Emulations (running on Linux/Unix/Windows/macOS, utilizing SDL2) of some - mainly - 8 bit machines, including the Commodore LCD, Commodore 65, and the MEGA65 as well.
Stars: ✭ 94 (-14.55%)
Mutual labels:  emulator
Gopher2600
Gopher2600 is an Atari 2600/VCS Emulator.
Stars: ✭ 98 (-10.91%)
Mutual labels:  emulator
Bap
Binary Analysis Platform
Stars: ✭ 1,385 (+1159.09%)
Mutual labels:  emulator
Awesome Emulators Simulators
A curated list of software emulators and simulators of PCs, home computers, mainframes, consoles, robots and much more...
Stars: ✭ 94 (-14.55%)
Mutual labels:  emulator
Gbajs2
gbajs2 is a Game Boy Advance emulator written in Javascript from scratch using HTML5 technologies like Canvas and Web Audio. It is freely licensed and works in any modern browser without plugins.
Stars: ✭ 106 (-3.64%)
Mutual labels:  emulator
Py Kms
KMS Server Emulator written in Python
Stars: ✭ 1,318 (+1098.18%)
Mutual labels:  emulator
Oscam Emu
Open Source Cam Emulator (patch only)
Stars: ✭ 101 (-8.18%)
Mutual labels:  emulator
Leash
Browser Shell
Stars: ✭ 108 (-1.82%)
Mutual labels:  emulator
Cspspemu
C# PSP Emulator (.NET Core 3.1)
Stars: ✭ 106 (-3.64%)
Mutual labels:  emulator
Azurite
!! This repository has now moved to https://github.com/azure/azurite !! A lightweight server clone of Azure Blob, Queue, and Table Storage that simulates most of the commands supported by it with minimal dependencies.
Stars: ✭ 103 (-6.36%)
Mutual labels:  emulator

Palm OS emulator(Mu)

This is a complete restart of my Palm OS emulator, with the last one the code got too messy and the goal too ambitious(to emulate every palm API in software and for compatibility with all Palm OS versions and devices).

The goal of this project

To emulate every part of the Palm m515 that is used by the OS perfectly. This means no hacks like POSE where API calls are intercepted and replaced with those that dont use the actual hardware. It is also written in C for RetroArch so it will run on everything at the start, not just Win95 like POSE and Copilot and is being developed with modern emulator features in mind, save/load state and overclocking are available from the start.

Why the m515?

It is the best Palm brand OS 4 device that has no special hardware builtin(cellphone, barcode scanner, keyboard attachment), it has a color screen, and available ROM dumps.

What about accessories?

The Palm keyboard attachment will likely be emulated later on so the PC keyboard can be used on text fields.

What about OS 5?

I am planning on adding Tungsten T3 support as soon as possible.

Credits

Firebird Emu (ARMv5TE Core)
uARM (PXA260 CPU Peripherals and reference CPU core)
Musashi v3.4 (last version that builds outside of MAME)(68k Core)
blip_buf 1.1.0 (Audio Resampler)
https://www.iconarchive.com/show/crystal-clear-icons-by-everaldo/App-palm-icon.html (Desktop Icon)
https://tango.freedesktop.org/Tango_Icon_Library (Palm Action Buttons, All UI buttons)
https://www.iconfinder.com/icons/2317746/chip_computer_cpu_device_frequency_microchip_processor_icon (hwTestSuite Icon)
https://www.flaticon.com/free-icon/cow_235371#term=cow&page=1&position=13 (muExpDriver Icon)
https://findicons.com/icon/164302/cursor (Libretro Port Joystick Cursor)

Building

For RetroArch

Make sure you have done all the steps here https://docs.libretro.com/ under "For Developers/Compilation" so you build environment works.

cd ./libretroBuildSystem
make

For Qt

Install Qt 5.11.1 and Qt Creator(optional) if not installed
Open the .pro file in Qt Creator and click "Run" or build from command line

To build without Qt Creator(untested)
cd ./qtBuildSystem/Mu
qmake
make

TestSuite for Palm OS

Install prc-tools from the below link(self compiled or prepackaged VM)

cd ./tools/palm/hwTestSuite
./make.sh

MuExpDriver for Palm OS

Install prc-tools from the below link(self compiled or prepackaged VM)

cd ./tools/palm/muExpansionDriver
./make.sh

Running

Files

palmos40-en-m500.rom: f50e4d5e4d98dc831f2c34a9107651eb (MD5)
palmos41-en-m515.rom: 83cb1d1c76e568b916dc2e7c0bf669f6 (MD5)
palmos52-en-t3.rom: de46ec84d9aabf655eabdf9b00a3845d (MD5)
bootloader-dbvz.rom: 9da101cd2317830649a31f8fa46debec (MD5)

For Qt

  1. Run once to create the directory tree
  2. Copy "palmos41-en-m515.rom" and "palmos52-en-t3.rom" to "~/Mu"
  3. (Optional)Copy "bootloader-en-m515.rom" to "~/Mu"
  4. Run emu and press start button

For RetroArch

  1. Download "Palm OS(Mu)" from "Online Updater->Core Updater"
  2. Go back, select "Load Core", select "Palm OS(Mu)"
  3. Copy "palmos41-en-m515.rom" and "palmos52-en-t3.rom" to the RetroArch system directory
  4. (Optional)Copy "bootloader-en-m515.rom" to the RetroArch system directory
  5. Run a .prc or .img file

Tools

Prc-tools, Palm OS SDKs, pilrc, pilot-link

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 United States License.

Links

Website
Discord

Also see Mu's sister project

🐿SquirrelJME

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].