This wiki is being migrated to

User Tools

Site Tools


Sharp OZ-700 handheld family hints & tools

Note: this is still an experimental port. If you need stability, use the OZ Development kit; this port heavily relies on it, but is still at an earlied development stage.

The VT/ANSI console driver

How to change the font size in the VT/ANSI emulation library

The selection of columns is now a link time option, for example with ansi test you can compile as follows:

 zcc +oz -O3 ansitest.c -pragma-define:ansicolumns=26

Valid columns are 34, 39, 47, 59 (default), and 78.

Comparing to the OZ Developement kit

At the time of writing this document, the code runs nicely only if its size is within 8 Kb. Probably those limits have to to with the interrupt handling, which hasn't been correctly ported from the original kit.

The main changes on the original source were:

  1. The labels in Z88DK can“t have the “$” sign, so different names have been used
  2. the “$-2” defc/EQU directive to define “special labels” doesn't work on Z80ASM, so some labels have been changed to expressions
  3. The parameter passing order at binary level is inverted, so watch out when you develop assembly language modules.
  4. The grouping of functions has been changed to fit gracefully in the new structure. Some functions have been renamed for the same reason.


An OZ7xxDK compatibility library exists, including the OZ-specific functions. Many of them are simple “redefinitions” of the existing ones (i.e. ozgetch to getk).

Quick start

  zcc +oz -lm -o adv.bin adv_a.c
  makewzd adv



Binary to WZD conversion utility this tool comes from the OZ-7xx Developement Kit by Alexander R. Pruss

Z88DK still doesn't support fcntl, but hopefully it will in the future.

Original informations and warnings:

If (and only if) you use any of the read*() or write*() functions and publically release your program, you MUST apply to Alexander R. Pruss ( for an owner ID for your program and you MUST link an owner ID into your program with makewzd or equivalent. For in-house testing, you may use the ID of 65535, but not for public release. Owner IDs will be granted free of charge. Specify what programs you plan to write and how many IDs you'd like (you can get up to ten each time you apply). It is illegal to use either an owner ID not assigned to you or the ID of 65535 for publically released programs. A program counts as publically released if it is posted in a publically available way (e.g., a web site) or sold to the public.

There is, however, one exception to this rule. If you write a program that processes files generated by other applications which duly have owner IDs assigned, e.g., a program that reads font files, or a file manager, or a multi-purpose binary file viewer, you do not need to apply for an owner ID.


The OZ related sites we took many informations from are no longer available, so the links are no longer quoted in the documents. This one seem to have inherited some of the spirit of the historical ones:

platform/sharpoz.txt · Last modified: 2016/07/09 21:57 (external edit)