Tool — zcc

SkillDev tools

zcc front end: +target compile/assemble/link, -clib, -compiler, -m map, --math32, -create-app. Use for any z88dk build line.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Tool — zcc skill

What this skill tells your AI

The instructions your AI receives, as published by z88dk/z88dk in .agents/skills/tool-zcc/SKILL.md and read by ahel’s review.

Binaryzcc
Helpzcc + -h (target-specific clib/subtype lists)
Wiki (local draft)wiki/tools/Tool---zcc.md

Agent essentials

NeedFlag
Quiet-vn
See tool chain-v
Map for ticks-m
App image-create-app
Compiler-compiler=sccz80|sdcc|80cc|multi|… or target default
Float--math32 / --math16 / --math-mbf32
CPUoften via -clib=8085 etc.; also -m8085 where applicable

Env: PATH includes bin/, ZCCCFG=lib/config.

Pitfall: parallel bare zcc in one cwd can corrupt shared zcc_opt.def — sequential or separate dirs.

-compiler=multi compiles each C file with sccz80 and 80cc, then stitches one function body per name. Default metric is static ticks. Metric and report flags are --multi-compiler-metric and --multi-compiler-report (double dash; do not use a -compiler-* name). sdcc clibs are an ABI error. Spec: src/zcc-multi/zcc-compiler-multi.md.

Condensed reference (from wiki / tree)

Tool — zcc

zcc is the front end for compile, assemble, link, and optional appmake.

Quick start

zcc +cpm -vn hi.c -o hi
zcc +cpm -vn hi.c -o hi -create-app
zcc +cpm -clib=sdcc_iy -vn hi.c -o hi
zcc +zx -h

Always pass a target (+name or -target=name). Full learning path: Getting started.

Capability summary

AreaBehaviour
Inputs.c, preprocessed C, .asm / .s, .o, @list.lst
Compilers`-compiler=sccz80
Libraries-clib= recipes from lib/config/<target>.cfg
Outputlinker binary; -create-app runs appmake
Verbose-v shows every tool command; -vn quiet

-clib and -subtype lists in help are target-specific. The dump below was taken with zcc +zx -h on this tree. Run the same command for your target.

Methodology notes

Needzcc usage
Map for ticks / hotspotsAdd -m (or -gen-map-file); pass the .map to ticks with -x
See every tool step-v (not -vn)
Bound performance workClassic +test + -DTIMER labels; see ticks
Float libraries--math32 (full IEEE main) / --math16 (half adjunct; pair with a main lib for stdio); CPU-specific .lib via ZCC_LIBCPU
Quiet day-to-day-vn

Same compile line on both sides of an A/B library patch. Delete stale .bin/.map after installing a new library.

… (full reference: in-tree wiki page and live tool help)

Related

  • Driver front end: tool-zcc
  • Measurement: methodology-measure, tool-ticks
  • -compiler=multi: src/zcc-multi/zcc-compiler-multi.md

Signals

GitHub stars
1k
Forks
206
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
tool-zcc
Source
github.com/z88dk/z88dk