JoeyLib 2.0
Find a file
2026-04-25 13:11:46 -05:00
assets MOD and SFX support. 2026-04-25 13:11:46 -05:00
examples MOD and SFX support. 2026-04-25 13:11:46 -05:00
include/joey MOD and SFX support. 2026-04-25 13:11:46 -05:00
make MOD and SFX support. 2026-04-25 13:11:46 -05:00
scripts MOD and SFX support. 2026-04-25 13:11:46 -05:00
src MOD and SFX support. 2026-04-25 13:11:46 -05:00
toolchains MOD and SFX support. 2026-04-25 13:11:46 -05:00
tools MOD and SFX support. 2026-04-25 13:11:46 -05:00
.gitattributes MOD and SFX support. 2026-04-25 13:11:46 -05:00
.gitignore MOD and SFX support. 2026-04-25 13:11:46 -05:00
Makefile (Untested) Joystick support. Basic sprites. 2026-04-24 20:09:18 -05:00
README.md MOD and SFX support. 2026-04-25 13:11:46 -05:00

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 <repo> 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 example programs (hello, pattern, keys, joy, sprite, audio) 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/<plat>/      per-platform HAL implementations
src/shared68k/        assembly shared by Amiga and Atari ST
tools/joeyasset/      sprite and tile asset converter
tools/joeymod/        Protracker .MOD converter (passthrough or .NTP)
examples/             example programs
toolchains/           self-contained cross-build tools
make/                 per-target Makefile fragments
build/<plat>/         per-target build outputs

License

TBD.