These pages will be the portal of information for developers and end-users about Cambridge Z88's operating system, OZ. Here you will find everything about how to compile, install and read technical details of how OZ is organised. With time this space will be a complementary to the Developers Notes (for application developers) - a reference of how to work with the OZ sources, the architecture and future prospects.
Here's a recent screen-shot of the "about" page when running OZ in slot 1:
Just to give ourselves a reality check in 1987 when the Z88 was conceived, the operating system that ran on the Z80 processor was CP/M and the popular Word processor was WordStar.Cambridge Computer (CC) decided to start from scratch as both these programs had licencing implications, yes, you guessed it, they would have to pay the fees on each Z88 sold. Using the philosophy of work hard now, jam tomorrow, three individulas were chosen for the tasks.
Being a battery powered device, what was needed was a dOZy operating system, one that could go to sleep rather than have to be shutdown and then rebooted when required again. It was an ambitious undertaking. With only 128K of space to fit all the applications and help pages, this only happened eventually using a larger device.
A number of different ROMs were produced by CC (See listing at Dennis Gröning's website for further details). These include foreign versions, supporting a subset of the ISO LATIN character set for each country-specific release. The size of the ROM was 128K.
OZ v4.0 ROM
This was the last update made but never released by Cambridge Computer and sold in a Z88. It was made available through the Z88's Users Club and replaced the ROM inside the Z88. The following software 'bugs' from the previous versions were fixed.
ROM Cards - The Z88 got confused if cards were inserted or removed cards while it was switched off. The Z88 now wakes up when the card flap is opened.
PrinterED - When updating, it was common to encounter a "FAIL" condition. The "Allow line feeds" option now works correctly.
RAM.- - The Z88 got confused if files were present when it was reset.
Expanded Z88 - Adding an additional 128k RAM anywhere in the system (instead of just in Slot 1) now works (giving a full map in PipeDream, and 40K workspace in BASIC).
Help Screens - Initially most of them had to be removed to gain space for these changes to be done within the 128K EPROM space. These screens have been restored in OZ 4.2/3.
The future of OZ, developed by the community
The V4.0 version served as the starting point, done by a full reverse-engineering of the V4.0 ROM binary into auto-generated source code. This work took more than 4 months, and became the continuous development work into OZ V4.1 and V4.2 internal releases, done by the team - ultimately reaching V4.3 in June 2012 as the first public release.
OZ V4.4 has seen the first public light, being an important milestone of the project history so far; a completely re-written serial port driver that allows for almost true speed of 9600 and 19200 (38400 still required more low-level optimisations).
OZ V4.5 was released 19th Jul 2015, had deeper low-level serial port optimisations and new block serial port I/O system calls that allow applications to reach near-native speed of 38400 BPS (the fastest speed Z88 serial port hardware supports). Many internal optimisations and bugfixes were done. Overall, the system software is more responsive. We regard this release as the ultimate public release, since Cambridge Computer made their final release of V4.0.
OZ V4.6 was released 12th Oct 2015. It implements what end-users have always dreamt of : RAM application install. Full integration in Index, no compromise on stability, full security in install/removal and memory automatic allocation, thanks to the new memory explicit allocation API usage.
OZ V4.7 was released 20th Dec 2016. Major feature is to load & save files directly to Flash file Areas from applications. New self-update feature for future OZ ROM releases in Index. Many internal optimisations and improvements.
OZ V4.7.1 was released 21st May 2018. This allows the Microchip & Macronix 512K Flash chips to be used.
Future releases of OZ will have a re-written screen-driver that will support higher screen resolutions for other platforms (for example 768 x 480 or 800 x 600) and existing application software adjusted to handle larger "screen-estate". Max. resolution is unknown at this moment and depends on the maximum size of the screen file in memory that holds all the visual data (is 2K today but could theoretically grow to 16K - being the complete size of a 16K bank). The existing Cambridge Z88 hardware will never support bigger resolutions than 640 x 64 pixels because of the built-in Blink chip on the motherboard. The idea is to implement higher resolution for "extended" emulation and for anybody who wishes to implement a new Z88 hardware using FPGA boards or SoC (System-on-a-chip) hardware.
All our work is Open Source GPL v2 licensed
We use Git SCM for all development. You can browse the sources online or check out the latest work with your Git client from our Bitbucket repository: https://bitbucket.org/cambridge/oz
All developer tools to build the OZ sources are available here:
Originally, Cambridge Computer provided system documentation comercially for companies that were interested in developing application cards (to be inserted through one of the external memory slots). We have aquired this text and re-worked it as a wiki space here on our project.