Can anyone suggest software - and maybe particular older versions of software, or just older Linux distributions or even other OSes - that work with terminals that "use magic cookies" or "have the magic cookie glitch" (I'm not sure which is the correct terminology), and perhaps popular terminals that had that glitch I could try emulating?
Details of what I'm trying to do, and a little explanation of what the magic cookie glitch is for anyone who doesn't know:
I've got an IBM 3476 green screen twinax terminal hooked up to a Linux machine using one of inmbolmie's converters. Currently the software running on the Linux side presents the terminal to Linux applications as a VT52 with no support for attributes. The terminal actually supports some attributes: reverse video, intensity, underline, blink, column separators and no display, although not all combinations of those. I'd like to update the software so that I can get some highlighting on the screen, but the problem is that the way you change attributes with this terminal is by storing a byte in the terminal's memory buffer which actually takes up a character position on screen, which in the *nix world seems to generally be referred to as a "magic cookie".
From some research, I've learned that some versions of termcap, terminfo, ncurses, etc. support indicating that a terminal leaves behind these blank spaces, and that software using them needs to have special handling for that, or that perhaps some older ncurses versions could in some cases do some things automatically for you. It looks like the magic cookie support has been broken since ncurses 5.6, which added this to its
GNU Emacs version 22 added this to its
Given the hint as to where they removed it, I tried with version 21.4a with ncurses support disabled at build time; I couldn't get it to actually turn on any attributes but it did seem to turn off attributes at the start of every line, which is a start! I suppose they probably removed it because it was already broken, and I should have tried a much older version, but 21.4a is almost 19 years old so what I probably really need to do is just try some Linux distributions from the '90s or something.
Details of what I'm trying to do, and a little explanation of what the magic cookie glitch is for anyone who doesn't know:
I've got an IBM 3476 green screen twinax terminal hooked up to a Linux machine using one of inmbolmie's converters. Currently the software running on the Linux side presents the terminal to Linux applications as a VT52 with no support for attributes. The terminal actually supports some attributes: reverse video, intensity, underline, blink, column separators and no display, although not all combinations of those. I'd like to update the software so that I can get some highlighting on the screen, but the problem is that the way you change attributes with this terminal is by storing a byte in the terminal's memory buffer which actually takes up a character position on screen, which in the *nix world seems to generally be referred to as a "magic cookie".
From some research, I've learned that some versions of termcap, terminfo, ncurses, etc. support indicating that a terminal leaves behind these blank spaces, and that software using them needs to have special handling for that, or that perhaps some older ncurses versions could in some cases do some things automatically for you. It looks like the magic cookie support has been broken since ncurses 5.6, which added this to its
TO-DO
file:
Code:
+ Magic cookie support (for nonzero xmc values) does not work, since the logic
does not take into account refresh. Also, the initial optimize does not
adjust the current location when a cookie is emitted.
GNU Emacs version 22 added this to its
NEWS.22
file:
Code:
*** Support for `magic cookie' standout modes has been removed.
Emacs still works on terminals that require magic cookies in order to
use standout mode, but they can no longer display mode-lines in
inverse-video.
Given the hint as to where they removed it, I tried with version 21.4a with ncurses support disabled at build time; I couldn't get it to actually turn on any attributes but it did seem to turn off attributes at the start of every line, which is a start! I suppose they probably removed it because it was already broken, and I should have tried a much older version, but 21.4a is almost 19 years old so what I probably really need to do is just try some Linux distributions from the '90s or something.