# JoeyLib A unified C game-development library targeting four early 16-bit platforms from a single codebase: - Apple IIgs (reference platform) - Commodore Amiga (A500 / 68000 baseline) - Atari ST (STF / 68000 baseline) - MS-DOS (386 / VGA, DJGPP) The Apple IIgs defines the capability ceiling. Stronger platforms coast. Hot paths are hand-written assembly per port; the public API is C. See `docs/DESIGN.md` for the full 1.0 design. ## Quick start ``` git clone joeylib cd joeylib ./toolchains/install.sh # follow any non-free-tool placement instructions the script prints source toolchains/env.sh make ``` This builds `libjoey.a` for every target whose toolchain is installed, plus the `examples/hello` program for each. ## Building for a single target ``` source toolchains/env.sh make iigs make amiga make atarist make dos ``` ## Repository layout ``` docs/ design and reference documentation include/joey/ public headers src/core/ portable library code src/codegen/ runtime sprite codegen (per-CPU emitters) src/port// per-platform HAL implementations src/shared68k/ assembly shared by Amiga and Atari ST tools/joeytool/ asset pipeline and packaging examples/ example programs toolchains/ self-contained cross-build tools make/ per-target Makefile fragments build// per-target build outputs ``` ## License TBD.