A new version of the Z88dk development environment for Z80 based computer (e.g. Amstrad CPC, Cambridge Z88, MSX, Sinclair ZX 81, Sinclair ZX Spectrum, etc.) was just released. The release is a transition release on the way to v2.0 which aims on using the SDCC compiler instead of the Small-C compiler, which was used before. This leads to much faster and smaller output binaries. You can choose between using the Small-C compiler with the old and the new C library or use the SDCC compiler with the new C library. The new C library also introduces full C standard compliance to Z88dk.
The newest version can be downloaded from the Z88dk homepage.
- [z80asm] Sections have been introduced for generating memory maps and compiling to bankswitched memory.
- [z80asm] Modern logical operators have been adopted.
- [z80asm] New scoping keywords PUBLIC, EXTERN and GLOBAL introduced.
- [z80asm] Relocate files are generated for output binaries for patching assembled code to a new address at load time.
- [sccz80] Numerous bugfixes.
- [sdcc] SDCC is now fully supported as alternate C compiler for the new C library.
- [sdcc] SDCC’s generated code is improved by a large set of aggressive peephole rules (use -SO3 to enable).
- [sdcc] SDCC’s calls to its primitive functions are modified to use callee linkage.
- [new c lib] New C library written in assembly language from scratch aiming for a subset of C11 compliance. Contains more than 700 functions currently.
- [new c lib] Stdio made object-oriented so that drivers can inherit library code to implement features with a minimal amount of additional code.
- [new c lib] Stdio base classes currently include serial character i/o and terminal i/o implementing windows and proportional fonts. Disk i/o is missing in this release.
- [new c lib] Unique stdio implementation allows removal of high level buffers without affecting performance.
- [new c lib] Many functions from GNU and POSIX are present beyond the C11 standard.
- [new c lib] Many unique libraries including some C++ STL containers, data compression, obstacks, game libraries, sound, fzx proportional fonts, etc. The new C lib contains libraries not present in the classic C lib and vice versa. Over time the two libraries will homogenize.
- [new c lib] CRTs are supplied for three initial targets: embedded (generic z80), cpm, zx (zx spectrum). Specialized crts allow immediate compilation without customization by the user.
- [new c lib] The library and crts are highly configurable at library build time and at compile time. Options allow easy generation of binaries for ROM or RAM targets.
- [tools] New tool ticks is a command line z80 emulator able to exactly measure execution time of a code block.
- [tools] New tool dzx7 is a decompressor counterpart to zx7.
- [tools] New tool zx7 is an optimal lz77/lzss data compressor with companion decompression subroutines in the z80 library.
- [appmake] +rom added to manipulate raw binaries; options include code injection, extraction and conversion to intel hex format.