Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 91e987b972 |
@@ -7,6 +7,7 @@ RUN apt-get update \
|
|||||||
automake \
|
automake \
|
||||||
build-essential \
|
build-essential \
|
||||||
fpc \
|
fpc \
|
||||||
|
libdsk4-dev \
|
||||||
make \
|
make \
|
||||||
python3-pip \
|
python3-pip \
|
||||||
unzip \
|
unzip \
|
||||||
@@ -38,6 +39,11 @@ RUN cd /hdfmonkey/ \
|
|||||||
ADD https://github.com/pleumann/pasta80.git#v0.96 /opt/pasta80
|
ADD https://github.com/pleumann/pasta80.git#v0.96 /opt/pasta80
|
||||||
RUN cd /opt/pasta80 \
|
RUN cd /opt/pasta80 \
|
||||||
&& fpc pasta
|
&& 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
|
FROM ubuntu:24.04 AS z88dk
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
@@ -90,6 +96,8 @@ RUN apt-get update \
|
|||||||
ca-certificates \
|
ca-certificates \
|
||||||
fuse-emulator-utils \
|
fuse-emulator-utils \
|
||||||
git \
|
git \
|
||||||
|
libdsk4 \
|
||||||
|
libdsk-utils \
|
||||||
m4 \
|
m4 \
|
||||||
make \
|
make \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
@@ -99,7 +107,6 @@ RUN apt-get update \
|
|||||||
z80dasm \
|
z80dasm \
|
||||||
zmakebas \
|
zmakebas \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& 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 /ttttt/ttttt /bin/ttttt
|
||||||
COPY --from=build /zx0/src/zx0 /bin/zx0
|
COPY --from=build /zx0/src/zx0 /bin/zx0
|
||||||
COPY --from=build /zx0/src/dzx0 /bin/dzx0
|
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 /inpaws/inpaws /bin/inpaws
|
||||||
COPY --from=build /usr/local/bin/ /usr/local/bin/
|
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/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=build /opt/pasta80 /opt/pasta80
|
||||||
COPY --from=z88dk /opt/z88dk/ /opt/z88dk/
|
COPY --from=z88dk /opt/z88dk/ /opt/z88dk/
|
||||||
ENV PATH="${PATH}:/opt/z88dk/bin:/opt/zxbasic:/opt/zxbasic/tools:/opt/pasta80"
|
ENV PATH="${PATH}:/opt/z88dk/bin:/opt/zxbasic:/opt/zxbasic/tools:/opt/pasta80"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "ZX Spectrum dev tools",
|
"name": "ZX Spectrum dev tools",
|
||||||
//"build": { "dockerfile": "Dockerfile" },
|
//"build": { "dockerfile": "Dockerfile" },
|
||||||
// The Dockerfile takes an age to build due to z88dk, so pull from prebuilt:
|
// 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",
|
"remoteUser": "ubuntu",
|
||||||
"runArgs": [
|
"runArgs": [
|
||||||
"--network=host"
|
"--network=host"
|
||||||
|
|||||||
25
README.md
25
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.
|
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)
|
- hdfmonkey version 0.4 (for manipulating sdcard files for the Spectrum Next)
|
||||||
- git (version control)
|
- git (version control)
|
||||||
- make (build 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.
|
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!
|
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
|
## 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
|
hdfmonkey - copyright Matt Westcott and released under GPL v3
|
||||||
|
|
||||||
PASTA/80 - copyright Jörg Pleumann and released under GPL v3 with linking exception
|
PASTA/80 - copyright Jörg Pleumann and released under GPL v3 with linking exception
|
||||||
|
|
||||||
|
TAPTOOLS - copyright John Elliott and released under GPL v2
|
||||||
Reference in New Issue
Block a user