![Ginger Electronic ZXmaster User Manual Download Page 26](http://html1.mh-extra.com/html/ginger-electronic/zxmaster/zxmaster_user-manual_2228390026.webp)
Keyboard:
ZXmaster does not us the keyboard driver of ZX80 or ZX81 but an own driver with a faster
debounce mechanism and some more features like key repeat. This is useful when a long input
line should be aborted while deleting the chars faster than usual. When pressing any key down
longer than 1 second the key will be repeated processed for the duration of the keypress with
approx. 25 strokes per second as long as the ROM is able to handle them fast enough due to
missing keyboard buffer.
The keyboard driver additionally handles the double-shift commands and catches them in a
hidden way to complete the desired action in the background.
There are more keyboard features planned with later versions of ZXmore like key rollover for
faster key processing (especially beneficial for CP/M), a repeat of the last entered input lines
and definition of keyboard macros.
NMI control and WAIT:
The ZX81 requires regularly NMI pulses which decrease a software counter (register AF') and
activate the video display or keyboard processing with vertical sync when NMI period expired.
NMI's are executed every 64us when horizontal sync occurs.
Depending on the video mode the application program is executed 2x 55 lines (PAL) or 2x 31
lines (NTSC) per frame (50 times per second). A lot of time is waisted for execution of NMI's
synchronized with a WAIT period to perform synchronisation. This synchronisation would be
necessary in the last NMI line only but has been implemented on every NMI due to technical
simplification.
To enable the control of other instances and inbuilt functions the ZXmore catches those NMI's
from other instances. The WAIT cycles are executed only in the last NMI line which gives a
speed increase of about 10% even at low clock frequency of 3.25 MHz.
The interception allows control of ZX80 or other system ROMs which don't use NMI handling at
all – for example ZX Spectrum or CP/M as well. Switching a ZX81 instance deactivates the
control functions of ZXmaster temporarily but will be activated again when NMI switched on
again (for example with SLOW statement). This way it is possible to use the standard LOAD
routines using EAR plug for loading programs from audio cassettes.
A15 mode:
ZXmore does no mirror of RAM at default. Access to the display file with A15 set is redirected
to address $4000-$7FFF while resetting A15. This does not work with 32k BASIC programs
with display file above $8000.
In this case the A15 mode can be activated which disables mirroring of RAM and limits the
available total RAM to 32k only. CTRL3 signal fixes A15 to high which provides 32k RAM from
$4000-BFFF while mirroring $4000-$7FFF to $C000-FFFF. The display file can stay in area
$4000-$7FFF or $8000-$BFFF in this mode.
V1.9 - 06/2016
ZXmore & ZXmaster – user manual
page 26 from 29