Sign inSign up

wischner/sdcc-z80

By wischner

•Updated about 2 months ago

SDCC Z80-only toolchain with uCsim sz80 (single-stage, includes make/git).

Image
Developer tools
0

6.5K

wischner/sdcc-z80 repository overview

⁠SDCC Z80 Toolchain

Support: wischner.co.uk/support⁠

wischner/sdcc-z80 is a Docker image for Z80 C development with SDCC and the bundled Z80 simulator.

It is intended as a lean, reusable base for retro Z80 projects and for higher-level target-specific images in the Wischner toolchain family.

⁠What is included

  • SDCC for Z80-family targets
  • sdasz80
  • sdldz80
  • uCsim with the sz80 wrapper
  • xlink, xdbg, and xdbg-z80
  • libxdbg*.a, libxdbgstub.a, and the xdbg / xdbgstub headers in /usr/local
  • make
  • git
  • Python 3

⁠What this image is for

  • generic Z80 C development
  • retrocomputing projects
  • custom Z80 hardware
  • CI builds for SDCC-based projects

⁠Quick start

Compile a source file:

docker run --rm \
  -u $(id -u):$(id -g) \
  -v "$PWD":/work -w /work \
  wischner/sdcc-z80:latest \
  sdcc --debug hello.c

Run it in the simulator:

docker run --rm \
  -u $(id -u):$(id -g) \
  -v "$PWD":/work -w /work \
  wischner/sdcc-z80:latest \
  sz80 hello.ihx

⁠Notes

  • This image is the base for higher-level target images such as ZX Spectrum, CP/M 3, and Iskra Delta Partner.
  • The bundled SDCC Z80 configuration is adjusted for more practical defaults:
    • _CODE defaults to 0x0100 instead of 0x0200, which matches the standard CP/M program load address.
    • _DATA is no longer forced to 0x8000; it now follows _CODE by default unless you override it with --data-loc.
    • You can still override both with standard SDCC flags such as --code-loc <addr> and --data-loc <addr>.
  • Modern SDCC no longer ships sdcdb, but this image includes the retro-vault/xyz debugger pieces (xdbg and xdbg-z80). Terminal xdbg is the most reliable workflow; DDD compatibility is best-effort rather than full GDB parity.
  • wischner/sdcc-z80-zx-spectrum
  • wischner/sdcc-z80-cpm3
  • wischner/sdcc-z80-idp

⁠CONTRIBUTE

Contributions are welcome. Please open an issue or pull request: https://github.com/wischner/docker-toolchains⁠

Tag summary

Content type

Image

Digest

sha256:829a67f1f…

Size

228.7 MB

Last updated

about 2 months ago

docker pull wischner/sdcc-z80