The release candidate will be available for testing until December 23 when it will be replaced by an official release of v1.99A.
The download options are a binary win32 build, a binary mac osx build and a generic source tree for other platforms. Installation hints can be found here: http://www.z88dk.org/wiki/doku.php?i...t#installation. Instructions for installing the MacOSX binary are missing so if a MacOSX user is able to submit those, it would be appreciated
z88dk has undergone some significant development in the past two years. The version number reflects this (v1.99) and anticipates a v2.0 when the development roadmap is completed.
Quite a lot and we don't have a complete list of changes yet.
In broad terms:
* [z80asm] Sections introduced for creating memory maps and compiling for bankswitched memory
* [z80asm] Modern operator syntax introduced
* [z80asm] PUBLIC, EXTERN, GLOBAL scoping keywords introduced to replace XDEF, XREF, XLIB, LIB, etc
* [sccz80] Numerous bugfixes
* [classic c library] New targets and new libraries which will be enumerated at official release
* [new c library] A new c library has been written from scratch in assembly language and currently contains more than 700 functions
* [new c library] Compatible with sdcc
* [new c library] Many unique libraries including zx7 (compression), adt (C++ STL containers), fzx (proportional fonts), BIFROST/NIRVANA/SP1 (zx), tritone music and bitfx sound effects for 1-bit audio devices.
* [new c library] Object oriented stdio allowing writing of sophisticated drivers using code inheritance from the library. Currently base classes implement serial character devices and terminal (console) devices.
* [new c library] Targets supported initially include cp/m, embedded (generic z80) and zx (zx spectrum). The built-in crts allow creation of terminal windows with assignable input source using fixed width or proportional fonts, output as ROM or RAM-resident programs.
* [new c library] The library and crts are highly configurable. Library build time options allow selection between fast and small library code and the crts can be configured at compile time by embedded pragmas in the C source code.
* [sdcc] sdcc is fully supported as alternate C compiler using the new C library.
* [sdcc] sdcc's output is improved by an additional 400 peephole rules supplied by z88dk
* [sdcc] sdcc's calls to its primitives are modified to use smaller and faster callee linkage
The combination sdcc+z88dk supplies a C compiler that behaves similarly to 32-bit C compilers. sdcc implements a large subset of C90/C95/C11 standards and the z88dk library completes the compliance. The only missing element is the disk i/o which is currently under development.
sccz80 will often create smaller code than sdcc particularly when longs and floats are in use.
Some benchmarks including Dhrystone 2.1 and Whetstone 1.2 comparing with some other commercial compilers:
New documentation under construction:
Collection of links describing how to compile with sdcc:
Example programs using the classic library:
Example programs using the new c library and sdcc:
PURPOSE OF A RELEASE CANDIDATE
We are hoping to identify problems with installation and use before an official release. Particularly we are looking for problems with using the new elements in the release.
1. Try making the new c library.
windows: "Winmake all" (10-15 mins to complete)
2. Try compiling your own programs and some of the examples.
Thanks to anyone who can find the time at this time of year to do a little testing.