Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: OZ V4.7.1 added to list

Welcome!Here

's a little recorded screen movie taken from the Z88 emulator booting OZ v4.3 the Z88's latest operating system:
Image RemovedThese 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:

Image Added

History

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 dOZy operating system, one that could go to sleep rather than have to be shutdown and then rebooted when required again. it 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 that 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 is 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 from 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.
 This

The future of OZ, developed by the community

The V4.0 version served as the starting point for OZ 4.2.

OZ 4.2

The Plan

Although attempts were made to get the original sources, they were on an obsolete non-working computer, so the only option was to disassemble, untangle, understand the v4.0 ROM and streamline the code. It was known that there was a 'software hook' in OZ that would allow the Z88 to boot into software written in the external slot 1. Using the 1M Flash card there would be no need to do any hardware modifications on the Z88 at all and it also allowed OZ to break through the 128K space limitation..

Here are the changes and improvements from the users point of view:-

Help

The blank HELP pages allocated for each application were filled with useful information.

Image Removed

Index

A new logo is displayed showing which language has been selected. (See Panel for further details).

<>CARD displays these additional functions

  • the file area size.
  • displays map showing how much Free RAM is left.

HELP page updated.

Diary

Multiple Diaries can now be evoked.

PipeDream

The HELP menus have been restored from v3.00. They were removed to make space for the changes made to v4.00.

BBC BASIC

BBC BASIC has been updated to v3.10 by Richard Russell. This allows you with an expanded machine (with at least 128 Kbytes of RAM), to draw graphics in a 256x64-pixel window using simple BASIC statements. It also provids a BASIC line editor. Commands provided are *EDIT, MODE, CLG, DRAW, MOVE, PLOT and POINT; their syntax is compatible with other versions of BBC BASIC. 
The high-resolution (bit-mapped) graphics now works with the Z88's display. This allows foreign versions can now use this facility as it only worked previously from BASIC by loading and using a small 'patch' program. This only worked with the UK versions, v2.2-3.0 and 4.0 and not with foreign language versions 3.12 to 3.26.

Calculator

No change.

Calender

No change.

Clock

No change, except from a later default start date.

Alarm

No change.

Filer

Flash Cards are recognized and able to be used in any slot. EPROM commands changed to File Card.

Create File Area in any slot commands added.

HELP pages updated.

PrinterEd

No change.

Panel

Keyboard and Screen selection.

Some of the languages ROMs have been implemented and can be selected here.

Terminal

No change

Imp-Exp

No change

New application to the operating system.

Flashstore

New application to the operating system.

 

 

 

 

 

10/08/2008FilerOZ/Filer, OZ-11: Final implement of "Select File Card" command. Toggle selection now works and nice selection prompt is displayed.19/08/2008FilerOZ/Filer, OZ-16: Fixed "Save to File Card" command, using new OS_EPR,A=EP_NewFile API. Existing files with same name in file area are automatically marked as deleted.19/08/2008FilerOZ/Filer, OZ-16: Display "IN SLOT X" in the banner for all three File Card commands.10/09/2008OZ/OZ/GN_Sip, OZ-18: Fixed <>S inverse casing for lower case ISO characters that has no upper case equivalent.17/09/2008Filer/OZ, Filer popdown: Implemented OZ-23 ("Create File Card" command functionality)18/09/2008Filer/OZ/apps/Filer, OZ-23: Implemented new "Create File Card" command. Also improved scanning of slots to recognize a flash card and default to that. Slot 0 now also selectable for file area (to be able to use special slot 0 file area bundled with OZ V4.2).27/09/2008OZ/OZ/Filer, OZ-9: First work of new "View File" command implemented, based on Zprom's hex dump viewer.02/12/2008OZOZ/Intuition integration: First (early) work of Intuition V1.2.dev version - this release recognizes OZ 4.2 API and is called through RST 08H instruction. For now, the existing OZ compile scripts automatically integrate Intuition as part of the OZ ROM, for development purposes. OZ ROM Release compile scripts will not contain Intuition. The runtime area is located in the OZ system variables; Intuition will be transparent for OZ. Further testing needs to be done to see if Intuition can trace OZ completely. OZ code that uses upper 8K of segment 0 will be re-written to reserve this segment for Intuition.14/12/2008OZ/OZ/apps/Intuition: Integration in OS_In/Tin; activate Intuition when [] + INDEX keys are pressed.28/12/2008OZ/OZ/Intuition: SQUARE + INDEX keys cannot allow to active Intuition itself, when it is already running.16/02/2009OZ/OZ: New API in OS_Fep: FEP_RDFA, Reduce an existing File Area below Application/OZ Area. The code has been in OZ for a while but was not made public! Improved code by using the new OS_Ploz systen call to detect a running OZ.16/02/2009OZ/OZ: New system call OS_Ploz, Poll for OZ card usage. Returns fz = 0, if slot contains running OZ. Will be used by Flash management sub-system to turn off screen when writing/erasing flash data on same card as running OZ.14/07/2009Panel/OZ/apps/Panel: Re-positioned Keyboard selection to be at the end of the configuration selections, to be compatible with CLI scripts that iterate through the panel settings from the top. Suggestion from Vic Gerhardi of Rakewell.15/07/2009Index/OZ, OS_Nq/NQ_Slt ($8903): Added functionality to recognize file areas on application cards. Index Card command now displays these as well.15/07/2009Index/OZ/Index: Adjusted pixel algorithm for <>CARD command to display 128K rows properly. Still needs to implement a scaling when a card is less than 128K (typically 32K).15/07/2009Index/OZ/Index: Graphics map now displays contents for 32K. However, OZ does not deliver a clean 64 pixel area; 16 bytes offset are not displayed at the beginning and for each 8 pixel row.17/07/2009Index/IZ/Index: First work of Free Ram display in <>CARD command.19/07/2009Index/OZ/Index: Implemented pixel algorithm for <>CARD command to display 32K rows properly (pixel scaling, eg. 128/32 = factor 4).19/07/2009Index/OZ/Index: Forgot to remove lookup entry (that was never used by Free Ram anyway).19/07/2009Index/OZ/Index: Free Ram display user interface integration completed. Now, user can select available RAM card and see free space.20/07/2009IndexWrote a help page for <>CARD command that explains the command features.20/07/2009Index/OZ/Index: Get the base address of Map area, just before clearing or drawing free memory map (because it might have changed if system changed from non-expanded to expanded machine).

Flash Card

It has been a long journey from making the first Flash card and updating the OZ software. One could not have happened without the other, so in this section we will cover the historical aspect of the hardware developments as well as what are the advantages of using the latest software. 
Initially, the Flash card was just going to replace the EPROM card. A BBC BASIC program was used to FORMAT, Save and Fetch the files. Just having these functions without listing files that were stored on the Flash card quickly required the software to be written as an application.
In parallel with this, users were updating their Z88 with OZ v4.0. It was available via Z88 Users Club. To use it, the motherboard needed to be removed
Image Removed
Image Removed

Hardware wiring modifications were then needed to replace the existing ROM on the left and expand the internal memory (32K) on the right.

Image RemovedIt was known that there was a 'software hook' in OZ that would allow the Z88 to boot into software written in the external slot 1. The 1M Flash card was the ideal candidate for this, there would be no need to do any hardware modifications on the Z88 at all. Before this could happen, OZ 4.0 needed to be disassebled, re-organised documented and understood.
During this discovery stage it was found that RAM and Flash could be on one device, hence the 512K/512K Flash/RAM card was developed.

Image RemovedThis allows users to add

  • a new operating system
  • increase the RAM
  • and have an area for storing files

all in one device externally.

None of this would have happened without the support of all the people, past and present, who have been involved in this project. They know who they are, thank you for all your efforts.

Info

This space is under construction - check regularly for updates..

 

 , 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:

https://gitlab.com/bits4fun/mpm
https://gitlab.com/z88

Developer documentation

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.

Latest release notes can always be found here: DN.



Section


Column
width60%
Recent updates


 
Column
width2%


Column
width38%
Navigate space
Page Tree Search
Page Tree




Panel
titleColordarkblue
titleBGColordarkgrey
titleInstall latest OZ release on your Z88
Install the latest release of OZ V4.3 7 into a blank Flash Card into slot 1 on your Cambridge Z88. Get it from our file area. How-to guide and installer software is included in the ZIP archive Check out the release notes here.