3 Commits
v5.0 ... v6.0

Author SHA1 Message Date
91e987b972 Add TAPTOOLS 2026-02-23 12:31:47 +00:00
f2510aedc2 Bug fix for Boriel BASIC 2026-02-09 21:36:51 +00:00
97418fa1ef Hotfix for Boriel BASIC 2026-02-02 00:10:52 +00:00
3 changed files with 31 additions and 10 deletions

View File

@@ -7,6 +7,7 @@ RUN apt-get update \
automake \
build-essential \
fpc \
libdsk4-dev \
make \
python3-pip \
unzip \
@@ -20,7 +21,7 @@ ADD https://github.com/einar-saukas/ZX0.git /zx0
RUN cd /zx0/src/ \
&& gcc -O2 -o zx0 zx0.c optimize.c compress.c memory.c \
&& gcc -O2 -o dzx0 dzx0.c
ADD https://www.boriel.com/files/zxb/zxbasic-1.18.5-linux64.tar.gz .
ADD https://www.boriel.com/files/zxb/zxbasic-1.18.7-linux64.tar.gz .
RUN tar xf zxbasic*
ADD https://github.com/Mastodon-/inpaws.git /inpaws
RUN cd /inpaws/ \
@@ -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"

View File

@@ -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.0",
"image": "boarstone.mcphail.uk/mcphail/speccydev:v6.0",
"remoteUser": "ubuntu",
"runArgs": [
"--network=host"

View File

@@ -1,4 +1,4 @@
# Development tools for the ZX Spectrum v5.0
# 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.
@@ -29,7 +29,7 @@ The devcontainer contains:
- tzxlist
- zx0 (binary compressor)
- dzx0 (binary decompressor)
- ZX BASIC (aka Boriel BASIC) version 1.18.5
- ZX BASIC (aka Boriel BASIC) version 1.18.7
- zxbc (BASIC compiler)
- zxbasm (assembler)
- zxbpp (preprocessor)
@@ -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 v4.x
## New additions from v5.2
`sjasmplus` has been updated with new features.
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