[Coco] NITROS9 internal question on serial output control

Neal Crook foofoobedoo at gmail.com
Sun Nov 1 16:01:25 EST 2015


I have Nitros9 Level 1 ported and running on my Multicomp FPGA-based 6809
system.

I am trying to understand what I need to do in order to get a screen-based
editor like MINTED to work on this system.

My current understanding is as follows. Corrections and other elucidations
welcome..

1. minted does cursor control (ie, draws characters at arbitrary points on
the screen) using
control codes like this:

curoff       fcb        $05,$20
curon        fcb        $05,$21
clrlin       fcb        $0b
cls          fcb        $0c
home         fcb        $01
insline      fcb        $1f,$30
delline      fcb        $1f,$31

2. the complete set of these control codes is documented in "The NitrOS-9
Level 2 Windowing System" chapter 5, "text commands"

3. if I was running on a coco with a VDU, I might use term_vtg as my i/o
device, and the output from minted would be interpreted by eg vtio.dr and
covdg.io. Within those modules. the control codes are interpreted and used
to control the output to a memory-mapped screen.

4. if I was running on a coco and communicating across a serial port, I
might use t1_scbbt as my i/o device and output from minted would be
interpreted by scbbt.asm. Here is where my confusion starts. By inspection,
I don't see  scbbt.asm do any conversion of the output codes. Therefore, if
I connected to that serial port using a terminal emulator, would it
understand the control codes listed above (ie, are they a "known" standard,
if so what standard?)

5. or, is there some conversion capability in SCF (a termcap-like facility)
in which case, how s it controlled and is there some documentation that
I've missed?

6. if I want to talk to a VT100 (ie, ANSI standard escape codes) do I need
to modify the serial driver to detect the NitrOS-9 control codes and
convert them to ANSI codes?

7. in my particular case, I am not actually using scbbt.asm on my system, I
am using a 6850 driver that I wrote (well, "wrote" is rather a polite term;
it's currently an atrocious hack of  sc6551.asm). The principle is the same
though: sc6551.asm does not do any output conversion of the byte stream and
neither does my 6850 driver

8. if I wanted to use the same driver to talk to a dw4 server, I assume
that I would want to transfer literal byte streams with no output
conversions. Is there an existing flag I can use in the driver to
enable/disable conversion (ie so I can have some device descriptors that
use conversion and some device descriptors that do not, but all share the
same device driver

thanks in advance for any explanations..

Neal.


More information about the Coco mailing list