A complete Palm OS development environment for macOS ARM (Apple Silicon) with pre-built toolchain, SDK, and hello world template.
# Clone this repository
git clone https://github.com/savaughn/palmdev-macos.git palmdev-macos
cd palmdev-macos
# Run setup (downloads toolchain and SDK)
./setup-toolchain.sh
# Build hello world
cd helloworld
make build
# Output: build/HelloWorld.prc ready to install on Palm device!- Pre-built prc-tools - m68k-palmos-gcc compiler for macOS ARM
- Palm OS SDK - Headers and libraries for Palm OS
- Build tools - pilrc, build-prc, pilot-link
- Hello World template - Ready-to-build sample application
- Automated setup - One-command installation
- macOS 11+ (Big Sur or later)
- Apple Silicon
- Homebrew installed
- ~100MB disk space
The setup script will:
-
Download prc-tools from GitHub releases
- Installs to local
toolchain/directory - Includes m68k-palmos-gcc 2.95.3
- Installs target directories to
/usr/local/{arm,m68k}-palmos/
- Installs to local
-
Install support tools via Homebrew
- pilrc (resource compiler)
- pilot-link (device communication)
-
Download Palm OS SDK from jichu4n/palm-os-sdk
- Installs to
/usr/local/palmdev/ - Includes SDKs for Palm OS 1.0 through 5r4
- Installs to
-
Configure toolchain with palmdev-prep
- Writes GCC specs files to
/usr/local/lib/gcc-lib/ - Writes trap numbers to
/usr/local/share/prc-tools/ - Configures SDK paths for compilation
- Writes GCC specs files to
The Makefile automatically finds the toolchain - no need to source any config files!
# Build the hello world app
cd helloworld
make buildAll build output goes to the build/ directory.
# Install to Palm via USB
pilot-xfer -i build/HelloWorld.prcDrag and drop the build/HelloWorld.prc file onto the POSE window.
Copy the build/HelloWorld.prc file to your HotSync install folder.
Install Xcode Command Line Tools:
xcode-select --installInstall Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"The SDK installation requires sudo. You'll be prompted for your password.
Make sure you're using the flags in the Makefile:
m68k-palmos-gcc -palmos3.5 -nostdinc ...The -nostdinc flag prevents macOS system headers from conflicting with Palm OS headers.
Run palmdev-prep to configure the SDK:
export PATH="$PWD/toolchain/usr/local/bin:$PATH"
sudo -E env "PATH=$PATH" palmdev-prepAfter building hello world:
- Read the source -
helloworld/HelloWorld.cis fully commented - Modify the UI - Edit
helloworld/HelloWorld.rcpfor resources - Study Palm OS APIs - Check SDK headers in
/usr/local/palmdev/sdk-3.5/include/ - Build something cool - Games, utilities, network apps!
To update the toolchain:
# Re-run setup to get latest versions
./setup-toolchain.shFound a bug? Have a feature request? Want to share your Palm OS app?
- Open an issue
- Submit a pull request
- Share your creations!
This template and setup scripts are provided as-is for Palm OS development.
- prc-tools: GPL
- Palm OS SDK: Palm OS License (educational/non-commercial use)
- Support tools: Various open source licenses
- jichu4n - Palm OS SDK and Homebrew tap
- savaughn - prc-tools macOS ARM builds
- Palm, Inc. - Original Palm OS SDK and documentation
- prc-tools community - Maintaining the GCC toolchain
These pre-built binaries are for macOS ARM (Apple Silicon) only.