This is a repository containing work for building up a port of LLVM-MOS to the Apple //e as a build target.
- CMake
- The LLVM-MOS SDK, downloaded to a directory of your choice
- A suitable Apple //e emulator, such as AppleWin OR a real Apple //e device (Apple //e, //c, IIgs in emulation mode, or compatible clone) with a disk transfer program such as ADTPro
- A bootable ProDOS 8 disk image. The latest version, ProDOS 2.4.2, is available for download on ProDOS's website.
- A program for manipulating Apple disk images compatible with your dev machine, such as AppleCommander
- When you first clone the repository, or change any of the CMake files, execute
$ cmake -D CMAKE_C_COMPILER="/path/to/mos-common-clang" -S src -B build
in the root of the repository, where/path/to/mos-common-clang
is the path tomos-common-clang
in your LLVM-MOS SDK installation. - For each change, execute
$ make -C build
from the root of the repository - Find the example you want to load as
build/example/<example name>/<example name>.sys
- Using your disk manipulation program, import that
.sys
file to the root of the ProDOS disk. - Load the disk in the emulator (or transfer it to the real device), boot it,
and select your chosen
.sys
program in the menu.
Core goals:
- Allow basic CLI C applications to be written for the Apple //e
- Allow file access through ProDOS
Advanced goals:
- Port stdio and stdlib to ProDOS for reading files
- Expose all available system calls to the user, including Monitor graphics routines
- Berkeley Sockets implementation for Uthernet I and II
- Allow alternate linking strategies for:
- Access to HiRes
- Building dynamically linked machine language subroutines for BASIC