diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..634204c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,20 @@ +{ + "cSpell.words": [ + "amitools", + "Barthelmann", + "Blitter", + "ILBM", + "ilbmtoppm", + "ints", + "ipng", + "netpbm", + "Oosterkamp", + "retargetable", + "setuptools", + "vasm", + "vlink", + "Wille", + "XCFs", + "xdftool" + ] +} \ No newline at end of file diff --git a/LICENSE b/LICENSE index 6ecfab0..30954f3 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,9 @@ -Copyright (c) 2024 Neil Davis (https://github.com/neildavis) +# LICENSE # + +Copyright (c) 2024 Neil Davis () Some source files are taken and/or modified from example software for the book -"BareMetal Amiga Programming" (ISBN 9798561103261) +"BareMetal Amiga Programming" (ISBN 9798561103261) These source files are Copyright 2021 ing. E. Th. van den Oosterkamp and carry his copyright notice within. @@ -21,4 +23,3 @@ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIG HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/README.md b/README.md index b213da7..085ac07 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,14 @@ The following features are provided and demonstrated: * Building to a [UAE](https://en.wikipedia.org/wiki/UAE_(emulator)) emulated hard drive (`dh0`) folder * Building of a ***bootable*** AmigaDOS floppy disk format image (`ADF`) file. * A Unix [Makefile](#makefile) to automate building on the host machine -* A [GitHub Actions (GHA)](https://docs.github.com/en/actions)[workflow](#github-actions-workflow) +* A [GitHub Actions (GHA)](https://docs.github.com/en/actions)[workflow](#github-actions-workflow) for CI/CD automated building in the the cloud. -## Limitations / TODO: ## +## Limitations / TODO ## * Only RAW files with 'interleaved' bitplanes data are generated (no 'back-to-back' support) * Only images for low resolution (non-EHB) mode apps are supported. +* No compression/packing support. * No special treatment for AGA * Bare bones 'no frills' bootable AmigaDOS ADFs. i.e. no loading messages etc. @@ -53,7 +54,7 @@ but will need to be installed manually to run on a local host machine. ### GIMP ### [GIMP](https://www.gimp.org/) is required to convert GIMP native (`*.xcf`) -[indexed](https://en.wikipedia.org/wiki/Indexed_color) image asset files into +[indexed colour](https://en.wikipedia.org/wiki/Indexed_color) mode image asset files into an intermediary [`PNG`](https://en.wikipedia.org/wiki/PNG) format. GIMP may already be installed on your Linux distro. If not it can be installed either through @@ -70,7 +71,7 @@ or as a flatpak from [FlatHub](https://flathub.org/apps/org.gimp.GIMP) [ipng2iff](https://github.com/m0ppers/ipng2iff) is used to create [`ILBM`/`IFF`](https://en.wikipedia.org/wiki/ILBM) image files as used on the Amiga from [`PNG`](https://en.wikipedia.org/wiki/PNG) source files exported from GIMP. -`ipngg2iff` has to be built from source. To do so requires you have a working +`ipng2iff` has to be built from source. To do so requires you have a working [RUST](https://www.rust-lang.org/) environment setup. ```sh @@ -111,8 +112,8 @@ python3 -m pip install amitools ## GIMP Source Image Requirements ## -Your source (`.xcf`) GIMP files should be using [indexed](https://en.wikipedia.org/wiki/Indexed_color) -color mode, not 'RGB'. +Your source (`.xcf`) GIMP files should be using +[indexed color](https://en.wikipedia.org/wiki/Indexed_color) mode, not 'RGB'. You can convert an RGB image into indexed using GIMP from the menu: ```none @@ -164,7 +165,7 @@ Sprites 0-7 operate in pairs and share a palette of 4 colours. As per the ``` By including e.g. `spr0` in your filename the copper list palette will be output starting at the appropriate colour index. -Note, that for each sprite pair only one palette file is generated. In the case of multiple source files for the same sprite +Note, that for each sprite pair only one palette file is generated. In the case of multiple source files for the same sprite pair, the last one to be processed will be used as the source for palette data. ## Makefile ## @@ -183,7 +184,7 @@ The various useful targets are described in the table below | `all` | Convert assets, build tools, assemble source `.s` files into `.o` object files and link program into `uae/dh0`. | | `adf` | Everything in the `all` target PLUS generation of floppy disk image (ADF) file. | | `assets` | Only converts image assets (and generates palette include files) | -| `tools` | Only builds the tools (`vasm` & `vlink`) +| `tools` | Only builds the tools (`vasm` & `vlink`) | The Makefile also supports a set of 'clean-up' targets to remove files: diff --git a/tools/LICENSE.md b/tools/LICENSE.md index 3eaf001..ab5eeac 100644 --- a/tools/LICENSE.md +++ b/tools/LICENSE.md @@ -4,7 +4,7 @@ The following tools are distributed in source form under their appropriate licen ## vasm ## -vasm is a portable and retargetable assembler able to create linkable objects in different formats as well as absolute code. Different CPU-, syntax and output-modules are supported. +vasm is a portable and retargetable assembler able to create linkable objects in different formats as well as absolute code. Different CPU-, syntax and output-modules are supported. vasm is distributed under [license](http://sun.hasenbraten.de/vasm/release/vasm.html) by the author Volker Barthelmann @@ -25,7 +25,7 @@ Certain modules may fall under additional copyrights. vlink is a portable linker which can be configured to support multiple input and output file formats at once. -vasm is distributed under [license](http://sun.hasenbraten.de/vlink/release/vlink.pdf) by the author Frank Wille +vlink is distributed under [license](http://sun.hasenbraten.de/vlink/release/vlink.pdf) by the author Frank Wille ```none vlink is copyright 1995-2022 by Frank Wille.