-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Testing with a Model 100 - various glitches #3
Comments
Thank you for the detailed and helpful bug report! I'm glad you've found this useful. I have added information in the README file that tells people how to get the arrow keys working. I also added a section about problems with programs that send incorrect escape sequences (usually VT220 color setting). I do not see a specific terminfo setting to say, "Don't show colors"; each application seems to have its own way of doing it. :-( I do not know about the iconv suggestion, but please do share your conversion table. Perhaps one could write a C program that sits between you and the tty (using a pty) and does the iconv conversion. On the other hand, it might be easier to modify TELCOM to recognize a few UTF-8 sequences. |
Progress :-) Your readme section on .inputrc has Charset thoughts: |
Good idea with the Shift-Bksp mapping. I've added it as Control-? since I find that a little more readable than '\x7f'. I've changed Backward and Forward in the .inputrc documentation the other way around. Just to double check, you are saying that on the Model 100, the right arrow key sends Control-] and the left arrow sends Control-?. If so, that means I've got it switched in a lot of other places, too. |
You conversion table looks interesting. Any chance you can format it to look more like this?: |
I had tried that syntax first but it didn't work initially (possibly due to a mistake somewhere else), that's why I went with the raw hex value. If Control-? works, that's even better.
No, |
Another update: I wrote a small, quick and dirty "random 8-bit charset to UTF-8" converter tonight (my first C program in over a decade, so proud). It has already allowed me to find several code points I got wrong in my conversion list. I'll post it once those are sorted out. I might also swap CR and LF in the conversion list, as the Model 100 only writes CR for line endings. Currently typing up a test document on the Model 100 using (and describing) all the extended characters...
I do have the original manuals, but even there some of the characters are not clear enough to tell what they're supposed to be, and apparently there are several mistakes (or charcter ROM differences between the US and Europe?) in the documentation, corrected in pencil by the previous owner. Might do something mimicking the design of the PDF reference table later, yes. |
I love that you're typing up the document on the Model 100. Are you using the builtin editor or something like For the implementation of your character set mapping, it may be worthwhile to look into locale "charmaps". For example, try |
I'm using the builtin TEXT, I find it quite pleasant, compared to other editors from the same era.
I tried this in bash: The Tandy Model 100/102/200/Olivetti M10 character set isn't in there, probably none of the inconsistent model-specific sets from the 8-bit era are. I can't even find this set properly documented anywhere on the web, except the low-quality scan PDF of the M100 quick reference you linked to above. The only character set I found anything about was the one used by the TRS-80 Model 1 which merely uses the 128-255 region for block graphics. |
Good work. How hard does it look to create a new charmap? I took some photos a while ago of all the characters with their code points. I'll upload those soon since there's no other easily discoverable reference. If I recall correctly, midnight commander, due to its DOS heritage, never used termcap or terminfo. |
Btw, for editing from your Model 100, maybe try [Update: I just tried Nano again. It uses up two lines at the top of the screen and three at the bottom. On my Tandy 200, that's fine. But on a Model 100, even if you used the -O option to get one more line, you'd only have four lines of text, which seems a bit cramped! ] |
I've uploaded photos of the character set for the Tandy 200 here: https://github.com/hackerb9/Tandy-Terminfo/tree/master/README.md.d . Let me know if it looks any different from the Model 100. I also made a single compressed file with all the images in it: https://github.com/hackerb9/Tandy-Terminfo/blob/master/README.md.d/td200-charset.gif |
Whoa, I see you've been busy polishing things in the meantime :-D Charset comparison Nano editor Charset conversion: Here's the conversion program: tandytranscode.c Here's my test file describing the entire visible character set (32-255): File Transfer scripts |
Thanks for verifying the character set, that helps quite a bit! I've incorporated your suggestions for Good job figuring out what the "useless" escape sequence is good for. I'll document it in the README.md. Your Unicode conversion program looks quite handy. I'm hoping that, now that there's a mapping, we can do even better by figuring out how to do 8-bit input and output transparently just by setting the charmap for the locale ( |
I've used your terminfo file when connecting a recently acquired Model 100 to a current (Arch) Linux box via a Null-modem cable and an RS232-USB adapter cable. (Just out of curiosity about vintage tech, not that I'd need it for anything.)
It works in principle, and certainly much better than with the default terminal type, but there are still glitches, at least some of which are presumably due to the terminfo still not being an exact match for the M100's terminal client:
showkey -a
indicates the correct values for cursor key presses, but e.g. in bash (or readline in general) only cursor-up works, all other directions produce a beep. This seems like it would be the easiest to fix, but I have no idea why it doesn't work already.man
,less
orpacman
) result in escape sequences being printed verbatim, i.e. "0;1m" or "0m" or "1;34m::0;1m" sprinkled in between the expected text output. Is that a program ignoring the terminfo, or a missing setting in the terminfo to clarify that those sequences are not to be used?Am I doing anything wrong? If not, are you interested in fixing those two? Can I do anything to help?
And then, related but probably not within scope of this project:
The text was updated successfully, but these errors were encountered: