Jump to content
lamb-duh

New productivity upload: ux16vt (Unicode Terminal for X16)

Recommended Posts

ux16vt (Unicode Terminal for X16)

View File

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


 

  • Like 4
  • Thanks 1

Share this post


Link to post
Share on other sites
Quote

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.

This sounds like a fantastic hack. I am deeply intrigued!

  • Like 1

Share this post


Link to post
Share on other sites
57 minutes ago, desertfish said:

This sounds like a fantastic hack. I am deeply intrigued!

It's very straight forward, but I'm going to do a quick write up on it today or tomorrow. The relevant 6502 code is in src/emu_serial.s and the host-side code is in emulator_glue.c, if you want to see what it's doing in the meantime.

  • Like 3

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Please review our Terms of Use