Page 1 of 1

ux16vt (Unicode Terminal for X16)

Posted: Sat Jan 16, 2021 2:09 am
by lamb-duh


ux16vt is a UTF-8 and somewhat ANSI compatible terminal emulator for

Commander X16.




Currently the only useable "serial" port uses LOAD & SAVE to communicate between

the X16 emulator and a glue process that moves data in and out of a POSIX

pseudo-terminal.




In the emulator LOAD "UX16VT.PRG" & RUN. On the host, compile and run

emulator_glue.c.




## Unicode Support




ux16vt supports up to 4096 1-bit 8x16 pixel glyphs selected at compile time from

the Unicode Basic Multilingual Plane. Unknown characters are displayed as blank.




Currently 672 of these glyphs are used covering 862 different code points. The

following blocks are mapped:




- Basic Latin (00-7f)

- Latin-1 Supplement (80-ff)

- Greek & Coptic (370-3ff)

- Cyrillic (400-4ff)

- Box Drawing (2500-257f)

- Block Elements (2580-259f)




Limitations:




- no support for right-to-left text

- characters are represented internally as 16-bit values, making any characters

  outside the basic multilingual plane complete inaccessible

- completely mono-spaced text. full-width glyphs are not available




## ANSI Support




Only sequences beginning with ^[[ are supported (Control Sequence Introducer).

Only numeric parameters are read. A control sequence with more than four

parameters will cause an unchecked buffer overflow.




The following functions are available:




    A   CUU Cursor Up

    B   CUD Cursor Down

    C   CUF Cursor Forward

    D   CUB Cursor Back

    E   CNL Cursor Next Line

    F   CPL Cursor Previous Line

    G   CHA Cursor Character Absolute [column]

    H   CUP Cursor Position

    J   ED  Erase in Display

    K   EL  Erase in Line

    S   SU  Scroll Up

    T   SD  Scroll Down

    d   VPA Vertical Position Absolute [row]

    f   HVP Horizontal Vertical Position

    m   SGR Select Graphics Rendition




The only available modes for SGR are 31 to set foreground colour to red and

30,32-39 set the foreground colour to black.



demo-short.gif