General Category > LisaList2
LisaEm 1.2.7-RC4 support bug reports
stepleton:
Thanks for the hard work as usual. I'm tempted to connect my own 2/10's serial port to my laptop and see what happens if I run getty. I may report back if I do...
Can you elaborate on "LOS 1.0 beta"? Do you mean a LisaEm beta, or do you have an unreleased LOS kicking around? :)
I know that LisaTerminal wasn't available until Lisa Office System 1.2, so it's not surprising to hear that serial stuff is a bit strange in Office System <=1.0...
stepleton:
Things seem to work OK for me on real hardware. The only caveat is that you have to enable XOn/XOff software handshaking under "Computer Compatibility..." or else the computer can't even keep up with 2400 bps.
With that on, though, 19200 works all right. I've set $TERM to vt100 and `ls -l` will boldface certain files, but no usage issues. vi works fine as well, although it helps to resize the LisaTerminal window just a bit. See attached photo...
rayarachelian:
--- Quote from: stepleton on September 17, 2020, 04:58:16 pm ---Things seem to work OK for me on real hardware. The only caveat is that you have to enable XOn/XOff software handshaking under "Computer Compatibility..." or else the computer can't even keep up with 2400 bps.
--- End quote ---
Thanks for trying on real hardware, Tom.
Unfortunately, even with software handshaking on in LisaTerm, it still trims after 64 chars. I'm sending a lot quicker from the pty than real hardware ever could, so now it has to be slowed down to the point where LOS/LisaTerm doesn't discard the buffer, and I haven't yet found that exact threshhold.
I suppose the rationale for 64 bytes is that since the Lisa was so slow that it can't even do 2400bps as you've noticed, that 64 bytes were enough, and this is an issue caused by running LOS on too modern a system under emulation.
--- Quote from: stepleton on September 17, 2020, 04:58:16 pm ---With that on, though, 19200 works all right. I've set $TERM to vt100 and `ls -l` will boldface certain files, but no usage issues. vi works fine as well, although it helps to resize the LisaTerminal window just a bit. See attached photo...
--- End quote ---
Oh I see, I'm guessing you weren't connected to a linux system in that photo or had already disabled color in vi itself.
It seems that in Linux, vt100's termcap is considered color vs BSD's termcap which correctly sets vt100 as mono. see this thread: https://unix.stackexchange.com/questions/58982/disable-colours-on-terminal-and-ssh#comment81353_58992, and the screenshot below, as well as about grep and ls not honoring even xterm-nocolor further in down this reply.
There's some details on disabling color in various CLI tools, here as well as a proposed new variable to disable color, which various tools might|not honor: https://no-color.org/
I've fixed the "stty sane" issue, now that I'm setting these termios after cfmakeraw. That fixed a lot of the issues, including the hanging on startup when cfmakeraw isn't invoked:
--- Code: --- new_term_settings.c_iflag |= ICRNL | IXON;
new_term_settings.c_oflag |= OPOST;
new_term_settings.c_lflag |= ECHO | ECHOCTL | ECHOE | ECHOK | ECHOKE |ICANON | ISIG;
...
setenv("TERM","vt100",1); // LisaTerm, Xenix, UniPlus aren't going to understand modern xterm-color256 here.
setenv("NO_COLOR","nocolor",1);
setenv("LS_COLORS","none",1); // color output breaks LisaTerm.
setenv("GREP_OPTIONS","--color=never",1);
setenv("LC_ALL","C",1);
--- End code ---
I guess it depends on which vi, you're using. There's, vim, nvi, elvis, and ofc the original BSD vi written by Bill Joy (which is exceedingly rare now). Default on ubuntu is vim. Telling vim to not use color is a setting that has to be done via vimrc or command line before your launch it - So, I can't set it via a var, nor can I set aliases before doing a fork - at least I'm not aware of a way.
It's also likely that vim would work, but because it might be sending more than 64 chars on startup in a single burst, it's causing LisaTerm to discard the rest and leaving the terminal display in a bad state. I'll still have to fix that pacing issue before I'll know for sure.
In terms of disabling color, it's actually a big mess.
Setting TERM=xterm-nocolor doesn't work for everything either, for example, neither grep nor ls honor that if their default options were set to do color.
ls doesn't remove colors unless LS_COLORS is unset. and
--- Code: ---alias grep='grep --color=auto'
--- End code ---
being the default setting for modern linux.
The bolding done by ls and grep inplace of color, when color is turned off doesn't seem to be an issue for LisaTerm. So at least that's good.
It seems the solution is to build a .bashrc/.bashprofile specific for use with LisaTerm with aliases for things like vim, grep, etc. and have the user use that with LisaEm.
Also, while GREP_OPTIONS apparently work to disable color, but grep now throws a warning saying it's deprecated >:( , so I'll have to remove that one:
--- Code: ---ray@predator:~/code/lisa/lisaem-1.2.7/bin$ export GREP_OPTIONS="--color=never"
ray@predator:~/code/lisa/lisaem-1.2.7/bin$ alias grep
alias grep='grep --color=auto'
ray@predator:~/code/lisa/lisaem-1.2.7/bin$ unalias grep
ray@predator:~/code/lisa/lisaem-1.2.7/bin$ grep lisa pty.log
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
src/lisa/io_board/z8530-pty.c:init_child:126 port:-25024 slave_orig_term_settings: c_iflag: 00000500
--- End code ---
Perhaps the thinking, if there was any, is that it's 2020, and you're unlikely to be using a monochrome terminal, and if you are these tools will rely on your terminal ignoring color codes rather than behaving badly...
I suppose I could implement the "authentic" thing and see what baud rate is being set and pace it to that limit, that might be a good option.
blusnowkitty:
For what it's worth, I watched a video by curiousmarc not too long ago where they interfaced an antique Baudot TTY to a modern Linux PC with the help of an Arduino to do the vt100 to Baudot conversion, and also to act as a buffer so they wouldn't overwhelm the TTY. There was probably also stuff in there to strip modern-day colour and control codes too. Maybe that could be an option for LisaEm - buffer modern input and strip colour before it gets to the Lisa?
rayarachelian:
--- Quote from: blusnowkitty on September 18, 2020, 12:06:59 pm ---For what it's worth, I watched a video by curiousmarc not too long ago where they interfaced an antique Baudot TTY to a modern Linux PC with the help of an Arduino to do the vt100 to Baudot conversion, and also to act as a buffer so they wouldn't overwhelm the TTY. There was probably also stuff in there to strip modern-day colour and control codes too. Maybe that could be an option for LisaEm - buffer modern input and strip colour before it gets to the Lisa?
--- End quote ---
That's exactly the plan. It might just be the modern 256/24 bit color xterm stuff that confuses LisaTerm, but right now the biggest issue is pacing. If color is still an issue after I slow things down and find an acceptable rate to avoid tripping that 64 char limit, I'll write a small filter program to strip out color codes as well. I might also build the color stripping into LisaEm itself as that'll likely be more efficient than having to allocate a second pty, and/or provide an external program to do that also - in that thread there seems to be interest in such a tool and it might be useful for other projects too.
Maybe I'll add a checkbox to the Serial Ports to honor guest bps rate, if that's checked it should slow down I/O to whatever LisaTerm sets, but if it's not it should only slow it down whenever LOS is running, and only to whatever the maximum is before it drops characters.
So more experimentation to do to figure out what works and what's possible.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version