Control chars
(This message is in UTF-8.)
Display of IBM "control characters" like ↑ (up arrow), ↓ (down arrow), or the "card suits" (♠ ♡ ♢ ♣), on the dosemu console, seems to require being root. Or is there a trick to get these chars also while being a user?
Regards, Jan
-
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 6 lines · Jan Willem Stumpel
(This message is in UTF-8.)
Display of IBM "control characters" like ↑ (up arrow), ↓ (down arrow), or the "card suits" (♠ ♡ ♢ ♣), on the dosemu console, seems to require being root. Or is there a trick to get these chars also while being a user?
no you can't get them as a user without significant coding effort, ie. utf-8 support (issue with slang really, slang-2.0 should address that but isn't released yet and the various utf8 slang adaptions by distributors are broken in other respects) ... or support for the "acs"-character set (mc uses that for line drawing) or support for /dev/vcsa -- which would require that device to be writable for the user.
Bart
-
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 6 lines · Bart Oldeman
Quoted 3 lines
Display of IBM "control characters" like ↑ (up arrow), ↓ (down arrow) [..] Or is there a trick to get these chars also while being a user?
no you can't get them as a user without significant coding effort, ie. utf-8 support [..]
/dev/vcsa[..]
[head spins] Just to make certain: I wasn't asking about UTF-8 support in old DOS, which of course no one would expect. I´m just talking about the display of the up-arrow character, and similar IBM chars with values below 0x20, in very old DOS programs (like IBM Fixed Disk Organizer), which is OK for root but not for user. Sorry if I misunderstood you...
Regards, Jan
-
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 9 lines · Jan Willem Stumpel
Quoted 6 lines · Bart Oldeman
Quoted 3 lines
Display of IBM "control characters" like ↑ (up arrow), ↓ (down arrow) [..] Or is there a trick to get these chars also while being a user?
no you can't get them as a user without significant coding effort, ie. utf-8 support [..]
/dev/vcsa[..]
Quoted 6 lines
[head spins] Just to make certain: I wasn't asking about UTF-8 support in old DOS, which of course no one would expect. I´m just talking about the display of the up-arrow character, and similar IBM chars with values below
0x20, in very old DOS programs (like IBM Fixed Disk Organizer), which is OK for root but not for user. Sorry if I misunderstood you...
ok. I was talking about utf-8 support in dosemu, not dos.
The fundamental issue is that DOSEMU in the non-root console, just like in an xterm or via an ssh or telnet connection thinks it talks to a terminal.
DOS programs or the BIOS write to video memory. DOSEMU in a terminal, if it's not in "dumb" mode, scans the video memory for updates and writes those updates to the terminal via a translation table character->character. If you write 0x7 to a terminal you hear a beep, so you don't get the IBM character associated with 0x7. Similar for all other values under 0x20: these are all control characters.
The current DOSEMU implementation for terminals uses a 256->256 table (constructed via unicode mappings and $_internal, $_external charset). On the Linux console this is often a translation from cp437 to cp437, in an xterm commonly from cp437 to iso8859-1. Except, those characters < 0x20 cannot be mapped to terminal characters < 0x20, or you'd get beeps and all sorts of crazy things happening in your screen.
For the same reasons, with cp437->iso8859-1, line drawing characters can't be drawn in xterms and they are approximated. Here (unlike the console in cp437 mode) the characters 0x80 to 0x9f are also forbidden.
With a 256->utf8, or partially with a 256->256+acs table that problem could be avoided, even remotely via telnet and so on. This simply isn't implemented and that was what I was trying to explain.
Only with root it does directly address the *real* video memory, so then DOSEMU doesn't worry about terminals at all. In xdosemu terminals aren't used either, just like writing to /dev/vcsa (see "man vcsa", also not implemented in dosemu) would avoid the terminal control codes.
Bart
-
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html