z88dk
- 41 skills
- 0 followers
- 13 hours ago last updated
- ▌ Tool Dis · z88dkz88dk-dis disassembler for binaries/objects. Use to inspect codegen and library expansion.
- ▌ Tool Gdb · z88dkz88dk-gdb source-level debug bridge when target supports it. Use for interactive debug beyond ticks.
- ▌
- ▌
- ▌ Tool Copt · z88dkz88dk-copt text peephole optimiser: rule files lib/z80rules.*, what zcc applies by -O, and required hand-asm finalisation (library never runs copt). Use when writing sccz80 rules, reviewing compiler dumps, or cleaning library asm.
- ▌ Tool Ucpp · z88dkz88dk-ucpp C preprocessor (usually via zcc only). Use when diagnosing preprocess issues.
- ▌ Target Cpm · z88dkz88dk +cpm only: classic vs newlib CP/M, clib/CPU variants (8080/8085/z180), subtypes as packaging (not “newlib”), FCB disk, .com builds. Use when the task is explicitly +cpm / CP/M, not generic targets.
- ▌
- ▌
- ▌ Tool Z80nm · z88dkz88dk-z80nm object/library symbol lister. Use to prove a symbol is in a .o/.lib after rebuild.
- ▌ Tool Appmake · z88dkz88dk-appmake: binary to tape/disk/ROM/hex for emulators. Often via zcc -create-app.
- ▌ Tool Zpragma · z88dkz88dk-zpragma pragma processor (via zcc). Use when debugging pragma-define/redirect handling.
- ▌ Target Rc2014 · z88dkz88dk +rc2014 only: modular RC2014 board target, default newlib sdcc_iy, classic vs 8085 serial subtypes (acia85/uart85), ROM/ihex packaging. Use when the task is explicitly +rc2014, not +cpm or +hbios.
- ▌ Tool Asmstyle · z88dkz88dk-asmstyle assembly formatter. Use only when the tree already uses it for a file family.
- ▌ Tool Zobjcopy · z88dkz88dk-zobjcopy object file manipulator. Use for advanced object/section surgery.
- ▌ Compiler Zsdcc · z88dkzsdcc (SDCC-based) compiler path in z88dk: -clib=sdcc_ix / sdcc_iy, newlib integration, and regenerating src/zsdcc/sdcc-z88dk.patch for SDCC upgrades (ABI 0, version string, ChangeLog revision, peep specials, c1-mode adb). Use when building with SDCC, debugging sdcc calling conventions, or upgrading the zsdcc pin / patch / tarball.
- ▌ Library Newlib · z88dkz88dk newlib architecture: CRT m4 FILE* instantiation, character_00 vs console_01, static stdio heap sizing, asm_target_open disk path, dual-stack FCB vs FatFs, open_max/fopen_max. Use when migrating targets, adding serial or disk drivers, or debugging fopen/open on -clib=new.
- ▌ Tool Z88dk Lib · z88dkz88dk-lib library packaging helper. Use when installing or packaging clibs per project docs.
- ▌ Compiler Sccz80 · z88dksccz80 classic C compiler for z88dk: calling conventions, copt peephole path, 8080/8085/z80 runtime under libsrc/l/sccz80. Use when debugging sccz80 codegen or classic -compiler=sccz80 builds.
- ▌ Library Classic · z88dkz88dk classic library world: libsrc/target and classic trees, multi-CPU (8080/8085/gbz80/…), fgets_cons line input, hybrid CRT traps, isolation from newlib. Use when working on classic clib, 8085 products, or hybrid consoles.
- ▌ Style Ste Writing · z88dkRewrite prose (docs, READMEs, PR descriptions, error messages, release notes, comments — never code) into ASD-STE100 Simplified Technical English to remove AI slop. Modes: strict (procedures/safety) and STE-flavored (general prose).
- ▌ Style Libsrc Layout · z88dkz88dk libsrc house rule: one major function (or one logical operation) per source file, including CPU-specific copies. Use when adding, splitting, or reorganising library asm/C under libsrc.
- ▌ Methodology Sdcc Vanilla · z88dkVanilla upstream SDCC (not zsdcc) benchmark recipes: /usr/local/bin/sdcc, svn pin vs --version #NNNN, makebin -p, map-sum size, support/benchmarks/*/sdcc. Use when remesuring SDCC rows, tagging 4.6.0 #16608, or comparing stock SDCC to z88dk-zsdcc. Do not use for -compiler=sdcc / zsdcc patch work.
- ▌ Tool Zcc · z88dkzcc front end: +target compile/assemble/link, -clib, -compiler, -m map, --math32, -create-app. Use for any z88dk build line.
- ▌ Cpu Gbz80 · z88dk bundleGame Boy CPU (LR35902 / gbz80) for z88dk: Zilog mnemonics, full opcode map (flags ZNHC, timings), GB-only ops (ldh, (hl+)/(hl-), ld hl,sp+*, add sp,*, swap, stop, reti), and z80asm synthetics. Use when writing or reviewing gbz80 library asm, +gb / -mgbz80 paths, mapping Nintendo↔Zilog, or /cpu-gbz80.
- ▌ Target Zx · z88dkz88dk +zx only: ZX Spectrum 48/128 (not Next). Classic default, newlib optional, -lndos stubs vs real FS (-lesxdos/-lp3), TAP/SNA/DOT packaging. Use when the task is explicitly +zx / Spectrum 48/128, not +zxn.
- ▌ Target Sms · z88dkz88dk +sms only: Sega Master System / Game Gear. Classic default, newlib CLIBs, VDP/PSG console path, .sms/.gg packaging. Use when the task is explicitly +sms / Master System / Game Gear.
- ▌ Target Zxn · z88dkz88dk +zxn only: ZX Spectrum Next. Default -mz80n and newlib sdcc_iy, classic via -clib=classic, NEX/DOT packaging, nextreg/copper via cpu-z80n. Use when the task is explicitly +zxn / Next, not +zx.
- ▌ Tool Ticks · z88dkz88dk-ticks cycle-accurate emulator: TIMER bounds, hotspots, debugger, CPU -m flags. Use for suite runs and library timing.
- ▌ Tool Z80asm · z88dkz88dk-z80asm assembler/linker/librarian: -mCPU, -x lib, synthetics, listings. Use when assembling libsrc or making .lib products.
- ▌ Compiler 80cc · z88dk80cc experimental/alternate C compiler in z88dk. Use when -compiler=80cc or working under src/80cc.
- ▌ Library Am9511 · z88dkAm9511A (Intel 8231A) APU float library: IEEE host format vs APU format, pushf/popf status mapping, IEEE-side specials, classic/newlib link flags, multi-product rebuild. Use when editing libsrc/math/float/am9511, APU I/O, or measuring --math-am9511 / --am9511.
- ▌ Library Math16 · z88dkmath16 half-float library for z88dk: f16/f24 cores, restoring div vs NR inv, classic +test recipes need z88dk-classic sources. Use when editing libsrc math16 or measuring half-float.
- ▌ Library Math32 · z88dkmath32 IEEE single float library: multi-CPU layout (asm/z80, asm/8085, asm/8080, asm/gbz80), products math32*.lib including ez80_z80 / gbz80, rounding policy, div=restoring / inv=NR, force rebuild. Use when editing libsrc/math/float/math32 or A/B float divide/mul.
- ▌ Methodology Measure · z88dkHow to measure and prove z88dk library changes: z88dk-ticks TIMER/hotspots, map/nm proof, suite gates, A/B library swaps, math32 multi-CPU rebuilds, classic +test benchmarks, wiki number paste rules. Use when optimising, explaining deltas, or running +test -clib=8085 benches.
- ▌ Cpu Vm1 · z88dkKR580VM1 (КР580ВМ1) for z88dk: 8080-compatible plus RS/MB prefixes, H1L1, dual 64K banks, OF/MF flags, and ten extra ops. Use when writing or reviewing vm1 library asm, +test -clib=vm1 / +z80 -clib=vm1, -mvm1, pop-af bank traps, DSUB/LHLX/SHLX/DCMP, or /cpu-vm1. Not 8085 — LDSI/RDEL/ARHL encodings differ.
- ▌ Cpu Z80 · z88dk bundleZ80-family coding notes for z88dk library and app asm: IX/IY, exx, djnz, shadow registers, documented vs strict Z80, opcode map (flags and T-states). Use when writing or reviewing z80 (not 8085/8080/gbz80) assembly under libsrc or hand asm.
- ▌ Cpu 8080 · z88dkIntel 8080 assembly for z88dk: original ISA (April 1974), Zilog mnemonics, Pastraiser opcode/flag/timing map (S Z 0 A 0 P 1 C), stack-only locals, no 8085 extras, no Z80 IX/IY/exx. `jr` is a jp synthetic (normal mode). Use when writing or reviewing 8080 library asm, +cpm -clib=8080, -m8080, mapping Intel↔Zilog, unused *NOP slots, pop-af return-address traps, or /cpu-8080. Parent of 8085, KR580VM1, gbz80, and Z80.
- ▌ Cpu 8085 · z88dk bundleIntel 8085 assembly for z88dk: Zilog mnemonics, full opcode map (flags K/V, timings), and extended-instruction usage. Strong rule: stack-only locals and intermediates; static/BSS only for cross-call state. Prefer when writing or reviewing 8085 library asm, mapping Intel↔Zilog, choosing stack frames, K-flag loops, restoring float/integer divide, legal (de) stores, jr-as-jp synthetics, or /cpu-8085.
- ▌ Cpu Z180 · z88dkZ180 notes for z88dk: mlt multiply, math32_z180, eZ80 Z80-mode mlt share, ticks -mz180 / -mez80_z80, ASCI/IO context for yaz180/scz180 targets. Use when writing or measuring Z180 or eZ80-Z80-mode float/mul code.
- ▌ Cpu Z80n · z88dkZ80N (ZX Spectrum Next) for z88dk: Next-only opcodes (mul, nextreg, LDIX…), nextreg I/O model, copper co-processor programs, +zxn / -mz80n / math32_z80n. Use when writing or reviewing Next asm, nextreg/copper code, or measuring HW mul.