Updated 16 July 2000

Tiny Z88 Z88 External Console for Windows


Overview

Use a PC as a terminal to the Z88 to display the Z88 screen on the PC and/or allow the PC keyboard to control the Z88.

It was discussed many times over the years if an external monitor could be attached to the Z88. Now in a way it can.

Z88 External Console screen

Supported screen driver codes:
Window define, select and init, clear and hold. Window delete. Window scroll up and down. Clear from cursor to end of row / end of window. Direct codes BEL, BS, HT, LF, VT, FF, CR and DEL. All special characters. Cursor to X, Y, XY. Display attributes Cursor, Vertical and Horizontal scrolling, CapsLock Bold, Tiny, Underline, Reverse and Grey. Text Justification and Margins.

Supported keyboard driver codes (CLI):
All standard ASCII character keys. Special keys Index, Menu, Help. Special keys Enter, Tab, Del, Arrow Left, Right, Down, Up and Space,
alone and with Shift, Diamond or Square. Special keys Diamond and Square, pressed and released followed by other keys.

Limitations in the Z88.
When redirecting output, scrolling output like from a BASIC LIST or a Filer Catalogue Files command, is not paused with a Page Wait at each screen full.
When redirecting input, Menu and Help screens are not properly output.


Version History

9907xx - 990925 v.0.0
First implementation in Visual Basic Pro 3.0.

991002 v.0.1
Support for cursor, justification, left and right margin.

991002
Print user defined characters as the character of their code (@ to DEL).

991003
Generate r beeps m long with s wait is parsed but only one beep output
Send nn copies of code mm implemented
Justification fixed

991004
Increased receive buffer from 1 to 8K.

991005
Justification really fixed
Output codes 155-158 as black squares same as 127.
Send nn copies of code mm changed

991006
Choice of com port saved in ini-file.
Cable information.

991007
Support CapsLock attribute
Restrict 'Output nn copies of code mm' to current line.
First try at "Blank hole" handling.

991008
Disabled blank hole handling.
Changed version to 0.2.

991009
Support new undocumented screen driver code for Window Delete.

991019
First try at sending keyboard data to Z88 with redirected input.

991020
Support for special and shifted keys.
New menus Edit, Copy Screen, User Area and Window.

991027
Implemented copy to clipboard.

991029
Added arrow SHIFT and DEL symbols and full block cursor symbol, duplicated Turkish characters at ISO Latin 3 and 5 positions, and moved some characters in the font, and changed mapping accordingly. Now Edit, Copy commands work well.
Display the font character set at program load.

991102
Corrected horizontal scrolling.
Changed version to 0.3.

000611
Support Tiny attribute.

000613
Support Reverse Video attribute, Apply and Invert current toggles.

000614
Support Underline, Grey, Bold attributes and Grey/Ungrey current window.

000615
Fixed CapsLock in window 7.

000616
Moved Window.Initialized from WinReset to WinCls.
Fixed Screen copy as bitmap.


Probable updates

Choice of letters or arrow SHIFT and DEL symbol according to OZ version.
Restoring screen after Menu, Help and for applications not doing it itself.
Optional double size fonts.

Possible

Support for Flash attribute.
User defined characters.

Unlikely

Multiple Bell.

Never

Map.
OZ window.


Feedback

mailto address


Downloads, 16-bit version for Windows 3.1+, 95+ and NT 4+

Download z88-xcon.exe. Z88 External Console for Windows. Version 0.3, 2 November 1999. 35K.
Download z88-font.zip. Z88 LoRes1 font for Windows. Version 0.0, 29 October 1999. 1K.
Don't count on this font remaining unchanged. It's likely that special characters will be moved and/or changed.

If you don't already have mscomm.vbx and vbrun300.dll in your \windows\system\ directory:
Download ftp://ftp.microsoft.com/Softlib/MSLFILES/MSCOMM.EXE. Self-extracting archive, 27K, containing mscomm.vbx Visual Basic Communications Control. Version of mscomm.vbx needs to be at least 2.1.0.1.
Download ftp://ftp.microsoft.com/Softlib/MSLFILES/VBRUN300.EXE. Self-extracting archive, 241K, containing the Visual Basic 3.0 runtime library, vbrun300.dll.

If you are interested in having a look at the source code,
Download z88-xcon03.zip. Visual Basic 3.0 source code. 27K.


Undocumented Z88 Screen Driver Functions

This project has revealed more details of screen driver functions. It has also raised new questions on not previously documented fuctions. Below follows some speculations about these. Could the lack of screen restoring be blamed on the fact that it is observed during redirection of standard output? The page wait function is suppressed when redirecting output.

I guess a combination of 1,"2.[", 1,"2.]", null characters and specific sequences of window init and hold commands could provide enough information to know when to save and restore screen or windows.
But how to know which of several suspended BASIC screens to restore? Sofar I have seen no possible instance identification. Is it possible that the screens are stored in each instance memory space?

Well. Anyone have some thoughts on this?


Main internal application windows

Application Window Number Left Top Width Height Type Notes
User area 8 10 0 94 8
Topics 7 0 0 10 8
Menu 6 11 0 92 8 No topics
Menu 6 10 0 94 8 Topics
6 11 0 27 8 129
6 39 0 27 8 129
6 67 0 27 8 129
6 95 0 8 8 129
6 11 0 92 8
Help 6 11 0 61 8 129
6 73 0 30 8 129
Index Applications 4 11 0 18 8 131
2 11 2 18 6
Suspended 4 31 0 56 8 131
3 31 2 56 6
Diary Text 2 11 0 79 8 129
Date 3 91 0 12 8 131
PipeDream Map 5 90 0 14 8 96 Map
Sheet 1 10 0 80 8 Map
1 10 0 94 8 No map
BASIC 1 10 0 94 8
Calculator CALCULATOR 5 20 0 33 8 131
CONVERT 4 56 0 22 8 131
Calender 5 20 0 35 8 131
Clock 5 60 0 16 8 131
Alarm 6 30 0 54 8 131
5 30 2 54 6
Filer COMMANDS 4 11 0 24 8 131
Commands 1 11 1 24 7
Directory 4 37 0 54 8 131
Files 2 37 1 54 7
PrinterEd 1 11 0 92 8 129
Panel 1 11 0 92 8 129
Terminal 1 11 0 80 8 129
Imp-Export 1 11 0 92 8 129


Back to Cambridge Computer Z88