From e49e0694614d01c027d0dc37d119c59f14aed207 Mon Sep 17 00:00:00 2001 From: Lucas Scharenbroich Date: Thu, 24 Feb 2022 21:54:11 -0600 Subject: [PATCH] Start adding some basic documentation on building from source --- .github/images/finder.png | Bin 0 -> 7111 bytes README.md | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 .github/images/finder.png diff --git a/.github/images/finder.png b/.github/images/finder.png new file mode 100644 index 0000000000000000000000000000000000000000..c9e8f939ee6c933ed7fd90c1e70d48851d51a67b GIT binary patch literal 7111 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 +# Building from Source + +The library iscurrently implemented as a set of source files that must be compiled into a GS/OS application. A set of example project can be found under the `demos` folder. Each demo folder uses a `package.json` file to define the build targets and a build of each application can be created by executing a `npm run build` command. + +Each demo application has a top-level `App.s` that references the `src/Core.s` file which includes all of the GTE source +files into a separage OMF Segment. +## Dependencies + +GTE uses the [merlin32](https://brutaldeluxe.fr/products/crossdevtools/merlin/) assembler to compile its source into GS/OS OMF files and [Cadius](https://brutaldeluxe.fr/products/crossdevtools/cadius/index.html) to copy those files onto a ProDOS disk image. The paths to these tool can be set in the `package.json` file. + +An empty 2MG disk image is included in `emu/Target.2mg` and is used as the default location for copying demo applications. This image can be mounted in any IIgs emulator. + +

+
+ Build of demo app in the IIgs Finder +

+ + # Getting Started ## Initialization