diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 1402e7f..a70ea2c 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -7,6 +7,7 @@ RUN apt-get update \ automake \ build-essential \ fpc \ + libdsk4-dev \ make \ python3-pip \ unzip \ @@ -38,6 +39,11 @@ RUN cd /hdfmonkey/ \ ADD https://github.com/pleumann/pasta80.git#v0.96 /opt/pasta80 RUN cd /opt/pasta80 \ && fpc pasta +ADD --unpack https://www.seasip.info/ZX/taptools-1.1.3.tar.gz taptools/ +RUN cd taptools/taptools* \ + && ./configure \ + && make -j8 \ + && make install FROM ubuntu:24.04 AS z88dk RUN apt-get update \ @@ -90,6 +96,8 @@ RUN apt-get update \ ca-certificates \ fuse-emulator-utils \ git \ + libdsk4 \ + libdsk-utils \ m4 \ make \ openssh-client \ @@ -99,7 +107,6 @@ RUN apt-get update \ z80dasm \ zmakebas \ && rm -rf /var/lib/apt/lists/* -COPY --from=build /usr/local/bin/sjasmplus /bin/sjasmplus COPY --from=build /ttttt/ttttt /bin/ttttt COPY --from=build /zx0/src/zx0 /bin/zx0 COPY --from=build /zx0/src/dzx0 /bin/dzx0 @@ -111,7 +118,6 @@ COPY --from=build /zxbasic/tools /opt/zxbasic/tools COPY --from=build /inpaws/inpaws /bin/inpaws COPY --from=build /usr/local/bin/ /usr/local/bin/ COPY --from=build /usr/local/lib/python3.12/dist-packages/skoolkit/ /usr/local/lib/python3.12/dist-packages/skoolkit/ -COPY --from=build /usr/local/bin/hdfmonkey /bin/hdfmonkey COPY --from=build /opt/pasta80 /opt/pasta80 COPY --from=z88dk /opt/z88dk/ /opt/z88dk/ ENV PATH="${PATH}:/opt/z88dk/bin:/opt/zxbasic:/opt/zxbasic/tools:/opt/pasta80" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 8b3ea4e..8845a2e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,7 @@ "name": "ZX Spectrum dev tools", //"build": { "dockerfile": "Dockerfile" }, // The Dockerfile takes an age to build due to z88dk, so pull from prebuilt: - "image": "boarstone.mcphail.uk/mcphail/speccydev:v5.2", + "image": "boarstone.mcphail.uk/mcphail/speccydev:v6.0", "remoteUser": "ubuntu", "runArgs": [ "--network=host" diff --git a/README.md b/README.md index 9ad1a5d..daffe02 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Development tools for the ZX Spectrum v5.2 +# Development tools for the ZX Spectrum v6.0 The Dockerfile is the basis of the devcontainer and can be changed to add or remove tools. It will take a long time to build locally, so by default the devcontainer will pull a prebuilt version. Edit `.devcontainer/devcontainer.json` if you would rather build your own. @@ -57,18 +57,31 @@ The devcontainer contains: - hdfmonkey version 0.4 (for manipulating sdcard files for the Spectrum Next) - git (version control) - make (build control) +- John Elliott's TAPTOOLS version 1.1.3 + - specform (add +3DOS header to a file) + - unspecform (removes +3DOS header) + - tapcat (combines files into a .tap file) + - tapls (lists content of a .tap file) + - tapget (extracts one or more files from a .tap file) + - tapsplit (extracts everything from a .tap file in one go) + - tap2dsk (builds a +3 or PCDOS image from a .tap file) + - mkp3fs (builds a +3 or PCDOS image from separate files) + - bin2bas (wraps a machine code program in a 2-line BASIC program that runs it) + - sna2tap (converts a .sna format snapshot to a .tap file) + - sna2dsk (converts a .sna format snapshot to a .dsk file) + - dsk2tap (converts a .dsk image to a .tap file which when run on a +3 recreates the original disk) Several useful VSCode extentsions will be installed, including a Z80 assembly language server, Z80 and C debugger, Makefile support, BASIC syntax highlighter and more. Thanks to the many authors of these wonderful tools and extensions; to think what we could have made with these in 1985! -## Breaking changes from v4.x +## Breaking changes from v5.x -Boriel BASIC (zxbasic) has been updated. There have been further bug fixes to array bounds which may break old code reliant on previous behaviour. +Some of the binaries, such as `sjasmplus`, are now found in a different $PATH, which may break some existing build scripts. -## New additions from v5.1 +## New additions from v5.2 -Boriel BASIC updated with bugfix for rounding error. +Addition of TAPTOOLS. ## Install @@ -134,3 +147,5 @@ skoolkit - copyright Richard Dymond and Philip M Anderson and released under GPL hdfmonkey - copyright Matt Westcott and released under GPL v3 PASTA/80 - copyright Jörg Pleumann and released under GPL v3 with linking exception + +TAPTOOLS - copyright John Elliott and released under GPL v2 \ No newline at end of file