A downloadable tool

Download NowName your own price

[ by Matteo Vitturi - 2022 - for Sinclair ZX Spectrum Next ]

This tool starts a bi-directional communication stream with the Raspberry Pi-Zero accelerator.

[BREAK] quit to prompt

[TRUE VIDEO] transmits 0x04, EOT or ^D that normally produces a “normal exit” from whatever you where in.

[INV VIDEO] transmits 0x05, EOT or ^E

[CAPS LOCK] toggles caps lock and sends nothing.

[EDIT] transmits 0x07, BEL or ^G

[DELETE] transmits 0x08, BS or ^H and it is the normal back-space key.

[LEFT] transmits 0x08, BS or ^H same as [DELETE]

[RIGHT] transmits 0x09, LF or ^I

[DOWN] transmits 0x0A, BS or ^J

[UP] transmits 0x0B, VT or ^K

[EXTENDED] transmits 0x0E, S0 or ^N

[GRAPH] transmits 0x0F, SI or ^O

[<>] transmits 0x18, CAN or ^X that helps to emulate CTRL-X key-press.

[<=] transmits 0x1A, SUB or ^Z that helps to emulate CTRL-Z key-press.

[AT] transmits 0x1B ESC or ^[ that helps to emulate escape sequences

[>=] transmits 0x03, ETX or ^C that helps to emulate CTRL-C key-press.

Remaining ASCII characters ~ | \ [ ] { } are produced via SYMBOL-SHIFT as usual.


The rationale is as follows. The main loop continuously polls the keyboard and polls PI0 UART: Any key pressed is immediately transmitted, any byte read from PI0 is immediately sent to screen, which is notoriously slow.
[ENTER] key has a peculiar behavior and, once 0x0D is transmitted to PI0, up to 8000 bytes are "fast read" from UART and - only then - slowly sent to screen. This allows collecting long output from PI0, but only after you hit [ENTER].


Download

Download NowName your own price

Click download now to get access to the following files:

term0.dot 651 bytes
term0.dot.f 13 kB
term0 563 bytes

Comments

Log in with itch.io to leave a comment.

Nice!  Didn't take you long!

It is a porting from a previous Forth version of mine. Most effort was poured in converting from Forth to Z80 and relocate to $2000