Tool — ticks

SkillDev tools

z88dk-ticks cycle-accurate emulator: TIMER bounds, hotspots, debugger, CPU -m flags. Use for suite runs and library timing.

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 — ticks skill

What this skill tells your AI

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

Binaryz88dk-ticks
HelpRun bare z88dk-ticks (NOT -h — treated as a filename)
Wiki (local draft)wiki/tools/Tool---ticks.md

Agent essentials

RuleDetail
CPU flag before binaryz88dk-ticks -m8085 prog.bin
TIMER-x map -start TIMER_START -end TIMER_STOP -counter …
Default -counter100000000. Whole-program +test PRINTF of n-body n≥~125 dies mid-loop; the 10000000x line is the cap, not %f. Raise -counter.
Hotspotsdebugger hotspot on → file hotspots in cwd
Models-m8080 -m8085 -mz80 -mz80n -mz180 -mgbz80 …

Full A/B and bench recipes: methodology-measure.

Condensed reference (from wiki / tree)

Tool — ticks (z88dk-ticks)

Ticks is a command-line CPU emulator used to run small binaries and count T-states. Prefer it over wall-clock timing for library and benchmark work. It includes a debugger, hotspot histogram, and optional function profiler.

Quick start

zcc +test -vn prog.c -o prog.bin -m
z88dk-ticks -mz80 prog.bin

8085 binary (must match the CPU model):

zcc +test -clib=8085 -vn prog.c -o prog.bin -m -lndos
z88dk-ticks -m8085 prog.bin

Help path (important)

Do not use z88dk-ticks -h. The tool treats -h as an input file name and fails.

Run z88dk-ticks with no arguments to print usage.

Capability summary

AreaLive options (this tree)
CPUs-m8080, -m8085, -mgbz80, -mz80, -mz80_strict, -mz180, -mz80n, -mez80_z80, -mr800, -mkc160, -mkc160_z80, Rabbit -mr2ka-mr6k
Control-pc, -start, -end, -counter, -w, -trace, -d / -debug debugger
Memory-l load address, -b model, -rom, -output dump
Symbols-x map/symbol file (use before -start/-end when symbols name those addresses)
I/O-iochar, -ide0, -ide1

Wrong CPU model → wrong illegal-opcode behaviour and wrong timings. Always match -m… to the binary.

8085 extended flags (pastraiser)

Do not emulate these with Z80 CB rotate macros. Those macros write Z. Silicon does not.

OpFlags (SZKAPVC)Wrong ticks path
rl de (RDEL)-----VCCB RL e / RL d
sra hl (ARHL)-----0CCB SRA h / RR l

A jp z after either op uses a stale Z. Implement in i8085_rl_de / i8085_sra_hl.

Corrected names (old wiki was wrong)

Old wiki textLive tool
-gbz80-mgbz80
-mz80-zxn-mz80n
-mr2k-mr2ka

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

Related

  • Driver front end: tool-zcc
  • Measurement: methodology-measure, tool-ticks

Signals

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