# Third-Party Licenses This file inventories every third-party component JoeyLib depends on, either at runtime (linked into the produced binaries) or at build / test time. Components are grouped by role; within each group entries list the platforms that consume the component, the upstream URL, and the license. When upstream license terms change, update the corresponding row here. --- ## Runtime libraries (linked into joeylib output binaries) These ship as part of, or are linked into, an executable built by JoeyLib. License compatibility for these matters most. ### libxmp-lite - **Used on:** DOS, Atari ST - **URL:** - **License:** MIT - **Role:** ProTracker / Amiga MOD replayer + SMIX SFX overlay. Linked into AUDIO binaries on the chunky-display platforms. - **Vendored at:** `toolchains/audio/libxmp-lite/` ### NinjaTrackerPlus (NTP) - **Used on:** Apple IIgs - **URL:** (downloads from ) - **License:** No explicit license in the source distribution; written by Jesse Blue (NinjaForce). Treated here as free for use; consult upstream before commercial redistribution. - **Role:** Apple IIgs Ensoniq DOC `.NTP` module replayer + SFX streamer. Merlin32-assembled and **linked** into the AUDIO binary as bytes (see `make/iigs.mk` `$(NTP_HEADER)` rule). - **Vendored at:** `toolchains/iigs/ntp/ninjatrackerplus.s` (source); build product baked into `examples/audio` AUDIO binary. ### PTPlayer - **Used on:** Amiga - **URL:** (author Frank Wille, ) - **License:** Public Domain - **Role:** ProTracker MOD replayer + `mt_playfx` SFX channel for the Paula audio HAL. - **Vendored at:** `toolchains/amiga/ptplayer/` --- ## Build-time toolchains (NOT linked, used to produce binaries) These run on the developer's machine to compile / assemble / link JoeyLib for each target. They are not redistributed inside the produced game binaries. ### Golden Gate (host tools: iix, profuse, mkfs-profuse, dumpobj) - **Used on:** Apple IIgs - **URL:** (publisher / store: ) - **License:** **Commercial** software by Kelvin Sherlock, distributed through Juiced.GS / Gamebits. End-user purchase required; redistribution **not** permitted. - **Role:** Cross-host harness that runs ORCA-style IIgs tools on a modern OS. Provides the `iix` shell, the OMF linker, `profuse` (ProDOS FUSE mount), `mkfs-profuse`, `dumpobj`, and the IIgs-side filesystem image (`$GOLDEN_GATE`) that the harness emulates. - **Distribution:** **Not redistributed by JoeyLib.** Each developer must bring their own purchased copy. `toolchains/install.sh` builds host tools from a developer-supplied source checkout under `stuff/GoldenGate/` (the `stuff/` tree is gitignored) and stages the IIgs filesystem from a developer-supplied `gg-linux.tgz`. The resulting `toolchains/iigs/gg-tools/` and `toolchains/iigs/goldengate/` trees are gitignored. ### ORCA/C compiler + ORCA libraries - **Used on:** Apple IIgs - **URL:** (commercial distribution: ) - **License:** **Commercial** product by The Byte Works, Inc. (Mike Westerfield). Source code is published on GitHub under a custom license that grants only **private use, fork, and modification**; redistribution in any form other than submission back to the upstream repo requires written permission. Commercial rights remain with Byte Works; the compiler is sold today as part of the **Opus ][** collection via Juiced.GS. - **Role:** ANSI C compiler for the 65816 + Apple IIgs runtime libraries. Run via Golden Gate's `iix` harness. - **Distribution:** **Not redistributed by JoeyLib.** ORCA support files arrive as part of the developer-supplied Golden Gate / Opus ][ install bundle and land inside the gitignored `toolchains/iigs/goldengate/` tree. ### Merlin32 - **Used on:** Apple IIgs - **URL:** - **License:** Freely distributed by Brutal Deluxe Software (Olivier Zardini, Antoine Vignau). Source published with no formal open-source license header — Brutal Deluxe's "open source philosophy" but copyright is retained. Treat as "free to use, redistribute as part of a build chain; ask before forking commercially." - **Role:** 65816 cross-assembler. Builds NinjaTrackerPlus. - **Vendored at:** `toolchains/iigs/merlin32/` ### Bebbo m68k-amigaos GCC toolchain - **Used on:** Amiga - **URL:** - **License:** GNU GPL v2 (gcc, binutils, libnix); per-component copyrights listed in upstream `README.md`. Includes assets covered by individual permissive notices (Roadshow, fd2pragma public domain, ira freeware, etc.). - **Role:** AmigaOS HUNK-format gcc + binutils + libnix used to compile the Amiga port and link against PTPlayer. - **Vendored at:** `toolchains/amiga/gcc/` ### vasm - **Used on:** Amiga (PTPlayer only) - **URL:** - **License:** vasm custom license — © Volker Barthelmann; free for non-commercial use, plus an explicit **commercial-use exception for M68k + AmigaOS targets** (see vasm distribution README). Other commercial use requires written permission. JoeyLib's only remaining vasm invocation is `ptplayer.asm` on the Amiga path, which falls under the M68k+AmigaOS exception. - **Role:** Assemble third-party `ptplayer.asm` (Frank Wille's Devpac/vasm-syntax source). Our own `.s` files are GAS syntax and go through `m68k-amigaos-as` (binutils, GPL) instead. - **Vendored at:** `toolchains/amiga/vasm/` ### m68k-atari-mint GCC toolchain (Thorsten Otto builds) - **Used on:** Atari ST - **URL:** (gcc upstream: GNU; mintlib: ) - **License:** GNU GPL v2 (gcc, binutils); mintlib is a mix of GPL and permissive (per-file headers). - **Role:** GEMDOS-native gcc + binutils + mintlib used to compile the Atari ST port. - **Vendored at:** `toolchains/atarist/gcc/` ### DJGPP (build-djgpp packaging) - **Used on:** DOS - **URL:** (DJGPP upstream: ) - **License:** Build script GNU GPL v3; bundled gcc/binutils GNU GPL v2; DJGPP runtime libraries (libc) are mostly public-domain or permissive — see DJGPP `readme.1st`. - **Role:** 32-bit protected-mode gcc cross-compiler producing COFF binaries that run on 386+ DOS via DPMI. - **Vendored at:** `toolchains/dos/djgpp/` ### CWSDPMI - **Used on:** DOS - **URL:** - **License:** Custom redistribution terms (Charles W. Sandmann, © 1995–2010). Binary may be redistributed without source provided the executables are unmodified and end users are notified of source availability — full terms in `cwsdpmi.doc`. Source is GPL-licensed if distributed. - **Role:** Stubbed-into-binary DPMI server for DJGPP-compiled DOS executables (via `embed-dpmi.sh`). - **Vendored at:** `toolchains/dos/cwsdpmi/` ### NASM - **Used on:** DOS - **URL:** - **License:** 2-clause BSD - **Role:** Assembler for x86 inline-asm support files in the DOS port. - **Vendored at:** `toolchains/dos/nasm/` --- ## Test-time emulators (not shipped, not linked) Used by `scripts/run-*.sh` to run the produced binaries on the developer's machine. Not part of any redistributed artifact. ### GSplus (KEGS fork) - **Used on:** Apple IIgs - **URL:** - **License:** GNU GPL v3 - **Vendored at:** `toolchains/emulators/gsplus/` ### MAME - **Used on:** Apple IIgs (apple2gs driver, optional) - **URL:** - **License:** GNU GPL v2+ (GPL-2.0-or-later) plus a 3-clause BSD alternative for some components. ### Hatari - **Used on:** Atari ST - **URL:** - **License:** GNU GPL v2 ### DOSBox - **Used on:** DOS - **URL:** - **License:** GNU GPL v2 ### FS-UAE - **Used on:** Amiga - **URL:** - **License:** GNU GPL v2 (UAE codebase) ### EmuTOS - **Used on:** Atari ST (TOS replacement for Hatari) - **URL:** - **License:** GNU GPL v2 - **Vendored at:** `toolchains/emulators/support/emutos-512k.img` --- ## System ROMs and disk images (used for testing only) These are **not** part of JoeyLib distribution and **not** redistributed. They are downloaded to the developer's local cache by `toolchains/install.sh` for emulator-side testing only. License terms prohibit redistribution; please consult the source if you intend to ship anything that depends on them. ### Apple IIgs ROM 03 - **Used on:** Apple IIgs (GSplus, MAME) - **URL:** Various preservation archives, e.g. - **License:** Apple Inc. proprietary firmware. Provided here for developer testing only; **do not redistribute** as part of any derivative project. ### Apple IIgs System 6.0.4 - **Used on:** Apple IIgs (GSplus boot disk) - **URL:** - **License:** Apple Inc. proprietary OS. Same caveat as the ROM. ### Apple IIgs apple2gs MAME ROM set - **Used on:** Apple IIgs (MAME testing path) - **URL:** Same preservation archives as above. - **License:** Apple Inc. proprietary firmware. Required for MAME's apple2gs driver but not redistributed. ### Amiga Kickstart ROM (optional) - **Used on:** Amiga (FS-UAE, optional — falls back to AROS) - **URL:** Cloanto / Amiga Forever (commercial), or original media. - **License:** Cloanto / Amiga Corp. proprietary. JoeyLib does **not** bundle Kickstart; users supply their own ROM at `toolchains/emulators/support/kickstart.rom` if they have one. --- ## Maintenance When adding a new third-party dependency: 1. Append a row in the appropriate section above. 2. Record platform(s), upstream URL, license name, and a one-line role description. 3. If the dependency is vendored, list the path under `toolchains/`. 4. If license terms restrict redistribution, call that out explicitly (as we do for Apple ROMs).