initial commit

This commit is contained in:
root
2023-06-12 09:14:09 +02:00
commit b4912f303e
2545 changed files with 209350 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,25 @@
Version 0.6 (03.09.98)
- Beim Start als APP wird das Laufwerk vom aktiven Verzeichnis selektiert.
-> Wenn man FSetter bei Thing als Applikation mit Startpfad 'Fenster'
anmeldet, wird beim Start gleich das Laufwerk des obersten Fensters
eingestellt!
- Neuer Button 'Setzen+Ende'
- EditFeld 'Aktive FAT' nicht mehr disabled.
Version 0.5 (06.08.98)
- <20>nderungen bei FAT32 werden nun auch gesetzt.
- Klappt der statfs() bei Info nicht (z.B. bei fehlendes ZIP-Medium),
gibts statt Zufallsdaten im Dialog jetzt einen Alert :-)
- FS_INFO wird benutzt.
Version 0.4 (24.07.98)
- FAT32-Config eingebaut.
Version 0.3 (03.07.98)
- Da MX_KER_XFSNAME nun auch von MiNT unterst<73>tzt wird, pr<70>ft FSetter
zuerst mit statfs(). Ist f_type != 0, wird der Name benutzt, den z.B.
auch 'df' anzeigt. Ist f_type == 0, wird MX_KER_XFSNAME versucht und
wenn es das auch nicht gibt, ist FS-Name 'tos'.
- Umgestellt auf neuen dcntl.h von MiNT 1.15.0.2.1
Version 0.2 (29.06.98)

View File

@@ -0,0 +1,12 @@
Dies ist ein Programm zur Konfiguration
des neuen FAT/VFAT/FAT32 Dateisystem von
FreeMiNT 1.15.
Es l<>uft als Programm und als ACC.
Es k<>nnen diverse Parameter des Dateisystems
im Betrieb eingestellt werden.
Eine ausf<73>hrliche Doku als HYP folgt noch.
Christian Felsch
felsch@tu-harburg.de

76
mint/tools/fsetter/readme Normal file
View File

@@ -0,0 +1,76 @@
Here is a new tool to control a lot of things
of the new FAT/VFAT/FAT32 filesystem in
FreeMiNT 1.15.
It can run as programm or acc.
You can change a lot of options on the fly.
A english/german hypertext follows.
Christian Felsch
felsch@tu-harburg.de
short description:
==================
1. select a drive
2. all non supported options are disabled
3. General options:
VFAT
- enable/disable VFAT extension on this drive
- supported from NEWFATFS
MagiC sym-links
- enable/disable MagiC style symlinks on this drive;
- WinNT doesn't like MagiC style symlinks for example,
that's why exist this option
- supported from NEWFATFS
Write-Back Cache
- enable/disable Write-Back mode on this drive
Write-Back means that write access is buffered; this will
extremly speedup a lot of operations
It's not recommended to disable this option on MinixFS
- always safe (also if operations are performed at the moment
on this drive)
- supported from MinixFS and NEWFATFS
4. Name mode:
- supported from NEWFATFS
- only available for if VFAT extension is disabled
- restrict allowed characters for new file names
- GEMDOS - all GEMDOS characters, default
- ISO - characters after ISO (characters, digits, underscore)
- MSDOS - all MSDOS chracters are allowed
5. FAT32:
- supported from NEWFATFS
- only available on FAT32 partitions
- FAT Mirroring enable/disable FAT Mirroring
that means all FAT or only the specified FAT is updated
if you disable FAT Mirroring, you must first specify the active
FAT, active FAT can be 1 to 'Number of FATs'
6. Info:
- print some information about this drive and the description
of the filesystem running
7. Change - apply the actual settings
Quit - leave this dialog without any change
Change + Quit - set actual settings and leave dialog
Have fun.
If there is any question ask me or Christian Felsch.
Frank Naumann <fnaumann@freemint.de>
Magdeburg, der 08.10.1998

View File

@@ -0,0 +1,82 @@
GlueSTiK - STiK to MiNT-Net gateway
===================================
Feedback, Fehlermeldungen, Vorschl<68>ge und sonstige konstruktive
Kommentare sind sehr erw<72>nscht. Entweder per e-Mail direkt an mich
oder an die MiNT Mailingliste <freemint-discuss@lists.sourceforge.net>.
Version 0.13
------------
- Fehler in resolve behoben; f<>hrte zu Abst<73>rzen
Thanks to Erik Hall who pointed it out
Version 0.12
------------
- kompletter rewrite des alten GlueSTiK
Features:
---------
- erlaubt die Nutzung von STiK Clients unter MiNT-Net
Installation:
-------------
1. Deinstallation des alten GlueSTiK (soweit vorhanden)
- entfernen des gluestik.xdd
- entfernen von gsresolv.prg und dem zugeh<65>rigen MiNT.CNF Eintrag
der gsresolv.prg automatisch gestartet hat
2. kopieren von gluestik.prg in den MultiTOS/MiNT Ordner und
hinzuf<75>gen von "exec c:\multitos\gluestik.prg" in die MiNT.CNF
um das Gateway automatisch zu starten
HINWEIS: Das Gateway kan ebensogut jederzeit nachtr<74>glich vom Desktop
gestartet werden. Es ist nicht notwendig es aus der MiNT.CNF zu
starten.
GlueSTiK l<>sst sich ebenso wieder problemlos beenden. Einfach
ein SIGTERM or SIGQUIT schicken. Der Cookie wird ebenfalls
entfernt. Man sollte in diesem Fall darauf achten das niemand
mehr GlueSTiK benutzt.
3. Reboot
Bugs:
-----
- mir wurde berichtet das der LISTEN Mode nicht korrekt funktioniert
Dank:
-----
- an Scott Bigham f<>r die vorherigen GlueSTiK Versionen und die Erlaubnis
f<>r diesen Rewrite unter der GPL Lizenz
Copying:
--------
Copyright 2000 Frank Naumann <fnaumann@freemint.de>
Portions copyright 1998, 1999 Scott Bigham <dsb@cs.duke.edu>.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Frank Naumann
<fnaumann@freemint.de>
Magdeburg, 23.02.2000

View File

@@ -0,0 +1,78 @@
GlueSTiK - STiK to MiNT-Net gateway
===================================
Feedback, bugreports, suggestions and any other constructive comment
is strongly recommended. Please send it as e-mail to me or the
MiNT mailinglist <freemint-discuss@lists.sourceforge.net>.
Version 0.13
------------
- fixed bug in resolve; spurious crashes
Thanks to Erik Hall who pointed it out
Version 0.12
------------
- complete rewrite of old GlueSTiK
Features:
---------
- allow the usage of STiK-API programs under MiNT-Net
Installation:
-------------
1. deinstallation of old GlueSTiK (if installed)
- remove gluestik.xdd
- remove gsresolv.prg and MiNT.CNF entry for autostart gsresolv.prg
2. copy gluestik.prg to your MultiTOS/MiNT folder and add
"exec c:\multitos\gluestik.prg" to autostart new GlueSTiK driver
NOTE: You can start GlueSTiK from desktop too. It's not neccessary
to start it from MiNT.CNF!
You can also end GlueSTiK. Simply send SIGTERM or SIGQUIT.
The cookie will be removed too. But be sure nobody use it at this
time.
3. Reboot
Bugs:
-----
- I heard LISTEN mode doesn't work correctly
Thanks:
-------
- to Scott Bigham for the previous GlueSTiK versions and the permission
to rewrite it under the terms of the GPL
Copying:
--------
Copyright 2000 Frank Naumann <fnaumann@freemint.de>
Portions copyright 1998, 1999 Scott Bigham <dsb@cs.duke.edu>.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Frank Naumann
<fnaumann@freemint.de>
Magdeburg, 23.02.2000

Binary file not shown.

80
mint/tools/mgw/LIESMICH Normal file
View File

@@ -0,0 +1,80 @@
Draconis to MiNT-Net gateway
============================
Feedback, Fehlermeldungen, Vorschl<68>ge und sonstige konstruktive
Kommentare sind sehr erw<72>nscht. Am besten per e-Mail direkt an mich.
Version 0.33b
-------------
- select korrigiert
- Neue "Usage" info
Version 0.32b
-------------
- --disable-system-resolve deaktiviert die MiNT-Interne DNS-Abfrage
in Kombination mit --dns1= ist somit die asynchrone, nicht-blockende
Abfrage von DNS aus DRACONIS-Anwendungen moeglich.
Version 0.21
------------
- gethostbyname hat manchmal nicht funktioniert
Version 0.20
------------
- erste <20>ffentliche Version, beta Status
Features:
---------
- erm<72>glicht das Benutzen von Draconis Clients unter FreeMiNT/MiNT-Net
Vorausetzungen:
---------------
- FreeMiNT mit konfiguriertem MiNT-Net
Installation:
-------------
1. Kopieren von mgw.prg in den MultiTOS oder MiNT Ordner auf dem Bootlaufwerk
3. Hinzuf<75>gen folgendes Eintrags in die MiNT.CNF:
--- cut ---
# start Draconis to MiNT-Net gateway
exec c:\multitos\mgw.prg
echo
--- cut ---
2. Reboot
Bugs:
-----
- keine bekannt
Copying:
--------
Copyright 1999 Frank Naumann <fnaumann@freemint.de>
Copyright 1999 Jens Heitmann
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Frank Naumann
<fnaumann@freemint.de>
Magdeburg, 22.08.1999

80
mint/tools/mgw/README Normal file
View File

@@ -0,0 +1,80 @@
Draconis to MiNT-Net gateway
============================
Feedback, bugreports, suggestions and any other constructive comment
is strongly recommended. Please send it as e-mail to me.
Version 0.33b
-------------
- Updated select
- New Usage info
Version 0.32b
-------------
- --disable-system-resolve disables the MiNT internal DNS query
in combination with --dns1= this enables the asynchronous, non-blocking
query of the DNS by DRACONIS applications.
Version 0.21
------------
- gethostbyname don't worked sometimes
Version 0.20
------------
- first public release, beta version
Features:
---------
- you can use the Draconis Clients under FreeMiNT/MiNT-Net
Vorausetzungen:
---------------
- FreeMiNT with running and configured MiNT-Net
Installation:
-------------
1. Copy mgw.prg to your MultiTOS or MiNT folder on your boot device
3. Add the following lines to your MiNT.CNF:
--- cut ---
# start Draconis to MiNT-Net gateway
exec c:\multitos\mgw.prg
echo
--- cut ---
2. Reboot
Bugs:
-----
- no known
Copying:
--------
Copyright 1999 Frank Naumann <fnaumann@freemint.de>
Copyright 1999 Jens Heitmann
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Frank Naumann
<fnaumann@freemint.de>
Magdeburg, 22.08.1999

View File

@@ -0,0 +1,3 @@
# Secrets for authentication using CHAP
# client server secret IP addresses
"myppp" myppp myppp

View File

@@ -0,0 +1,19 @@
#!/bin/sh
# /etc/ppp/ip-up und ip-down werden von pppd ausgefuehrt.
PATH=/usr/local/bin:/bin:/usr/ucb:/usr/etc
PROG=$0
IFACE=$1
DEVICE=$2
SPEED=$3
LOCALIP=$4
REMOTEIP=$5
# Uhrzeit vom Server abholen.
# rdate $5 > /dev/null
u:/m_tos/mgw.prg --dns1=$DNS1 --dns2=$DNS2 --disable-system-resolve

View File

@@ -0,0 +1,25 @@
/dev/ttyb
38400
crtscts
#require-chap
lock
modem
# debug
defaultroute
#vj
usepeerdns
asyncmap 0
noipdefault
netmask 255.255.255.0
noauth
mru 1500
mtu 1500
user "myppp"
name "myppp"
connect "chat -f u:/etc/ppp/peers/myppp.chat"

View File

@@ -0,0 +1,12 @@
TIMEOUT 40
ABORT 'BUSY'
ABORT 'NO CARRIER'
ABORT 'DELAY'
ABORT 'NO DIALTONE'
ABORT 'ERROR'
'' 'AT'
OK 'ATZ'
OK 'ATM'
OK 'ATX4'
OK 'ATDT01234-567890'
CONNECT

View File

@@ -0,0 +1,4 @@
#
# Dial script
#
pppd call myppp

View File

@@ -0,0 +1,3 @@
# Secrets for authentication using PAP
# client server secret IP addresses
"myppp" myppp myppp

BIN
mint/tools/mgw/mgw.prg Normal file

Binary file not shown.

7
mint/tools/toswin2/BUGS Normal file
View File

@@ -0,0 +1,7 @@
- characters sets GF0, GR1, and GR2 missing
- function and cursor keys don't always work with tw52
- resizing the window may crash toswin, be careful. Will be fixed soon.
- some redraw errors with resizing and changing scrollback buffer
- other redraw errors
- memory violations (happening with changing scrolling region?)
- line drawing characters should be underlined in underline mode

154
mint/tools/toswin2/FAQ Normal file
View File

@@ -0,0 +1,154 @@
These are some of the more frequently asked questions and hopefully some
good answers to them.
Q: I want to log into another Unix box via ssh, telnet, or rlogin from
my MiNT box in a Toswin2 window. I get stuck because the remote
party insults me with something like `unknown terminal tw52, using
dumb instead' or `your terminal lacks required capabilities'.
A: Read the file `README.terminfo'.
Q: What is the recommended value for the "TERM" environment variable
on remote machines?
A: Read the file `README.terminfo'.
Q: I don't see anything at all in my window, looks like black characters
on black background.
A: If this happens when you open a window you have messed up your
color settings (foreground color = background color). Reconfigure
your window to sane settings.
If this happens in the middle of a session, some program has modified
the foreground and background color. Type `tput sgr0' (turn off
all attributes), `tput op' (original color pair) or `tput oc'
(original colors) into your shell.
Q: The display is completely messed up.
A: Reset the terminal to sane settings using either `tput sgr0' or
even stronger `tput is2' or `tput rs2'. This is _not_ the same
as `stty sane'.
Q: I see a lot of garbage on the screen, no characters at all but rather
line graphics
A: You have enabled the alternate character set which activates PC
graphics. Type `tput rmacs' into your shell (of course you have
to do that blindly).
Q: How can I configure something for all windows?
A: Close or iconify all windows and configure the window then. This
will manipulate the default settings.
Q: When I display manual pages, long lines are split by an ugly looking
`<AD>' in reverse video mode.
A: `AD' is the hexadecimal representation for decimal 173. Whenever
the program `less' (which is usually the pager used by the `man'
command) encounters a special (or 8 bit) character it assumes that
the terminal cannot display it and outputs the hex code in reverse
video instead. The copyright sign would be displayed as `<A9>'
according to that rule.
Fix: First make sure that your terminal is capable of displaying
ISO-8859-1 (aka Latin-1) correctly. Either select a font that is
coded in Latin-1 and configure your window for charset `AtariST'
or - if you select an ordinary GDOS font or the default system
font - let Toswin2 map your characters from AtariST to Latin-1 by
configuring your window with the codeset `ISO-8859-1'.
The trick is now to tell less about that capability: You have to
set the environment variable `LESSCHARSET' to `Latin1'. In the
Bourne shell (or bash or ksh) you do that by:
LESSCHARSET="Latin1"
export LESSCHARSET
In the C shell (csh or tcsh) you do it with
setenv LESSCHARSET "Latin1"
You can do that in your shell startup scripts (/etc/profile for
sh/bash/ksh or /etc/cshrc for csh/tcsh).
Q: Why is white suddenly gray?
A: The terminal capability `bold' was silently re-interpreted along
the years to `bright'. You can for instance display the pure
color red (RGB #ff0000) by using bright red. The `normal' red
is somewhat darker. All colors in `dim' (or half-bright) mode
are a little darker again).
The problem with white is that you cannot make it any brighter.
In ANSI mode white is therefore really some light gray. In order
to have a white background you have to choose bright (bold) white
in the window configuration dialog. Alternatively you can edit
your `toswin2.cnf' for the particular window to:
WinColorBG=7
WinColorFG=0
WinFGEffects=256
WinBGEffects=0
This may seem strange but many advanced curses applications draw
tiny white lines on gray blackground and achieve this by using
bright (resp. bold) white on normal white (which is really gray
background). This wouldn't work if white is really white.
A similar problem applies to black. A brighter black would actually
tend to gray. However, the `bold' (bright) attribute is usually
employed to emphasize a particular part of the text. Bold (bright)
black is therefore really displayed in a bold font instead of
changing the color.
By the way, if your video hardware cannot display enough colors
(at least 20 are required to define distinguishable colors for
all ANSI modes in all colors) Toswin2 is smart enough to detect
that and fall back to really using bold resp. dimmed fonts instead
of changing the color rgb values.
Q: I have an application that uses colors but the colors are not at
all what the application says they should look like.
A: There is no easy answer to that one.
First possibility: At startup Toswin2 will inspect the current
color map and pick the colors that come closest to the ones
desired. If another application changes the color map afterwards,
Toswin2 will currently not detect that and there is no other
possibility than restarting Toswin2 to make it re-read the color
map.
Second possibility: You use some legacy application for Toswin2
that doesn't use the terminfo database. Try to configure
`VDI colors' for that application in the window configuration
dialog. Alternatively you may edit your toswin2.cnf:
WinVDIColors=1
This is _not_ recommended as a default setting since applications
that use the terminfo database will look very ugly in these windows.
Third possibility: You are talking about the color yellow. The
Linux console (which is somewhat the `opinion leader' in terms
of color interpretation) has decided that yellow should rather be
some kind of dirty orange. Toswin2 follows this convention, merely
because it makes `yellow' readable even on white background. Another
reason is that many, many curses applications are optimized for
looking nice on the Linux console. They will also look nice in
Toswin2 windows then.
Q: What is this `tput'? Where can I learn more about all that terminal
stuff?
A: Take a week off from your job and start reading `man 5 terminfo'.
This manual page is installed with the `ncurses' package on your
system. The programs `tput' (enable/disable some named terminal
capability), `tic' (compile and install a terminfo description
file) and `tack' (convert a compiled terminfo description into
`/etc/termcap' for legacy termcap applications) also belong to
`ncurses'.

36
mint/tools/toswin2/NEWS Normal file
View File

@@ -0,0 +1,36 @@
Version 2.7 - 7 April 2001
* changed default cursor to underline (ugly block cursor is still
available as "very visible", i. e. "tput cvvis")
* colors are now fully ansi-compatible
* terminal capabilities `bold' and `dim' are now represented using
light resp. half-bright colors where applicable
* support for alternate character set (pc graphics)
* TERM is automatically set to `tw52-m' or `tw100-m' if less than
8 colors are available
* terminfo source files updated (many bugfixes), recompile
it with tic on the target system
* environment variable COLORTERM is set to 1 if color support available
* The horizontal slider has vanished. If you want to get it back
call me at office hours and keep your credit card at hand. Please
allow six weeks for delivery.
* The checkbox for so-called auto-wrapping has vanished. Explanation:
It really enabled semi-automatic margins, i. e. printing in the
last column caused a line-break. Now both tw52 and tw100 have
proper automatic margins and there is no more need for such a
user-definable feature.
* Ultra-smart srcolling. ;-)
Displaying large amounts of data is now 3-9 times faster.
* Implemented origin mode.
* Implemented full (RSI) and soft (DECSTR) terminal reset.

View File

@@ -0,0 +1,614 @@
The included file `twterm.src' contains the terminal description for
the toswin terminal emulations tw52 and tw100. To disable color support
you must currently manually set your $TERM to `tw52-m' and `tw100-m'
respectively. If you have less than 8 colors available toswin2 will
automatically disable color support.
The tw100 emulations are not yet included (because I haven't changed
them yet). You should however find them in most recent ncurses
installations.
Using Toswin2 To Remotely Log Into Other Unix Boxes
===================================================
If you frequently work remotely on other Unix machines in a Toswin2
window you will maybe come across some problems. It may be worth
the while reading on.
What Are Terminals?
-------------------
In the good old days a Personal Computer (PC) was something like a
personal yacht in terms of affordability. Computers were large and
expansive and were usually located in universities, big governmental
institutions, large companies or the like. Computer users were
normally employees or members of these institutions. They were sitting
in front of so-called terminals linked via teletype lines to these
big machines.
The terminals were more or less intelligent combinations of keyboards
and monitors. The display was completely text-based so were the
user interfaces of the programs. Window based environments were not
possible because these terminals were only capable of displaying
characters (usually 25 lines of a maximum of 80 characters each).
The basic mode of operation was somewhat like that: The user logged
into the remote machine, typing commands into the shell and reading
the output. From a more technical point of view `typing commands
into the shell' meant that the terminal detected that the user
has hit some keys on the keyboard, for example the keys `l', 's'
followed by RETURN for issuing the command 'ls'. This sequence of
keys was sent to the shell running on the remote machine and the
shell answered with a listing of the current directory.
Typing commands without seeing them becomes somewhat awkward and
therefore the terminals were usually put into `echo' mode, i. e.
characters were displayed on the screen as they were typed in.
Of course it is not possible to send `characters' through a network
line, you can only send and receive numbers. Luckily enough most
hardware manufacturers have agreed at least on a standard mapping
from numbers to characters and vice versa that was called ASCII
(or more exactly US-ASCII). ASCII defines standard meanings for
128 character codes in the range of 0-127, for instance the character
`A' has the numerical code 65, the character `7' (i. e. the screen
representation of a seven) has the code 55. A computer needs 7 bits
in order to represent these 128 characters, the eighth bit (eight
bits make up one byte or octet) was needed for the hardware protocol.
These 128 characters were sufficient to represent the 26 characters
of the latin alphabet both in upper and lower case, the digits 0-9,
some interpunctation marks like the colon, comma, period and so on.
The character codes 0-31 represent so-called control characters.
These control characters are invisible on the display but are rather
commands that control the displaying terminal. They include commands
like a carriage return (move the cursor resp. current writing position
to the beginning of the line), the newline (move the cursor to the
next line), ring a bell, and so on.
This set of characters was sufficient to display most English texts.
Most languages however use special national characters like accented
characters in French, Italian, Portuguese, Irish, Spanish, Czech,
Polish, or the Umlaute (vowels with a diaeresis) or the SZ-Ligature
in Germany, or even non-latin alphabets like Hebrew, Arabic, Asean
or cyrillic. This wasn't a big problem those days because people
in the non-English-spoken regions of the world were still jumping
from tree to tree, throwing bananas and coconuts at the American tourists
with their notebooks, palms and cell phones. It became a problem
later however. Type `lynx http://www.unicode.org/' to learn how
it was solved.
Anyway, the existing solution was sufficient for programs like `ls',
`echo', even `cc' that were basically one-shot applications. The
user typed in the command with options and arguments and saw the
result on the screen. One big problem however was the task of editing
texts, see `man ed', `man sed', or `man ex' to get an impression how
it was done those days. Editing was done with these line-based editors,
and they were really line-based. You could only see one line of text
at a time and had to issue cryptic keystroke combinations to manipulate
the text. Other popular editors like `sed' (yep, this is really an
editor, the Stream EDitor) weren't even interactive.
It only took a decade or so to realize that editing files becomes much
more handy if you see more than one line of text at once and may even
be capable of freely moving a cursor. That was when a revolution in
user interfaces took place, it was the birth of a comfortable text
editor with a revolutionary user interface, the `vi', the visual editor.
The `vi' was capable of displaying a screenful of text at once, you
were able to move a cursor, it distinguished between a command and
an edit mode and it was even a little WYSIWYG (what you see is what you
get) since it immediately displayed your changes on the screen. Advanced
versions even offered the possibility to issue commands with special
keys like the cursor (arrow) keys instead of typing hard-to-remember
characters or character combinations in command mode.
How was this done? We earlier learned that these terminals could only
handle characters, digits, and so on. But there were still these control
characters in the range of 0-31 (plus the character code 127). People
simply assigned a new meaning to certain combinations of these control
characters, which then became control sequences. Many of these sequences
were introduced by the character number 27 (escape), for example the
sequence escape (27) followed by E (69) was interpreted by the terminal
as a command to clear the screen and put the cursor into the topmost
line. If you have a terminal that is compatible to the DEC vt52 you
can try that with
echo -n -e '\033E'
(For the curious: `033' is the octal representation of decimal 27).
In order to use these new features modern keyboards were equipped with
additional keys like the cursor keys, function keys, the home key, and
so on. Pressing these keys caused the terminal to send the appropriate
sequence to the remote machine and update the screen. For example
in Toswin2, pressing the cursor up key will cause the terminal to send
the sequence escape + A, and move the cursor up one line.
Terminal Emulations
-------------------
Real (hardware) terminals are rarely used today. First the terminals
turned into workstations, later into personal computers. The dumb
terminals that could only interpret keyboard strokes and display
characters turned into intelligent machines with their own CPU.
However, the screen manipulation remained basically the same. Instead
of sending everything through a teletype line, the machine managed the
user interaction on its own behalf and displayed the results on the
monitor attached to the workstation. However, most hardware manufacterers
still used the same or similar control sequences for the user
interaction. Thus it was still possible to use these workstations
or PCs as terminals for remote machines and software written for
terminal based applications did not have to be rewritten from scratch.
With the improvement of video hardware, graphical environments like
X11, GEM or the Apple Macintosh became more and more popular.
Applications now ran in movable windows, and were operated with a
mouse. However, you still needed a command line shell and if you
wanted to run applications on remote machines via a network link the
majority of these remote applications still expected a terminal attached.
One solution for these remote applications is X11 which provides a
network enabled graphical user interface; but most systems (even
X based) still provide pseudo terminals that emulate a hardware terminal
inside a window.
These terminal emulations (no matter if they run in a window environment
or not) appear to the application they run more or less like a terminal
and they still use the same mechanisms. Thus it is still possible to
use the terminal-based applications, which is very important especially
in networked environments.
The File `/etc/termcap'
-----------------------
Years before there were only few hardware manufacturers and it was still
easy to agree on a standard mapping from characters to numbers and vice
versa. In the days of vi and friends the situation was different. Many
different terminals with distinct capabilities were available and
disagreement on the meaning of certain control sequence became a major
problem.
The solution was to maintain a database that mapped symbolic names for
terminal capabilities or keys on the keyboards to the appropriate control
sequences. The standard location for that database was the file
`/etc/termcap'. The file is human-readable, text-based and consists
of entries for each terminal type followed by the mapping from symbolic
names to the control sequences (type `man 5 termcap' to learn more about
that).
A program like `vi' for example basically worked like this: It read
the environment variable `TERM' to inquire the name of the terminal
being used. It then searched the termcap database for an entry for
that terminal and processed the mapping (an alternative method in
absence of the variable `TERM' is to read the correct definition from
the environment variable `TERMCAP'). When it wants to clear the
screen for instance, it looks up the correct control sequence and
prints that control sequence on the terminal. The terminal will
hopefully react in the desired way then.
The other way round works as well: When the user presses for instance
the cursor up key, the terminal will send the (hard-coded) control
sequence for that key to the application. The application is able
to interpret that key stroke with the help of the termcap database in
the correct manner.
The Terminfo Database
---------------------
The main drawback of the termcap database is that it is very inefficient
to use. As more and more terminals with more and more features appeared
the database became larger and larger. It was relatively easy to handle
for humans because they were able to read and edit it with standard text
editors but imposed a considerable performance penalty on the application
because it had to read and process that text file. Modern versions of
the termcap database are typically close to one megabyte in size and if
the definition for your particular terminal happens to be the last in
the database, your application has to read almost one megabyte of garbage
before it can start (it is therefore a good idea to move the definitions
for the terminals you often use to the front of that file).
The next progress was therefore the curses library which uses terminal
definitions that are compiled into a binary representation. These
binary terminal descriptions are a lot faster to process. Furthermore
there is only one terminal definition per file, i. e. the application
only has to read the stuff it really needs.
The terminfo database is expected to reside in a standard location,
usually `/usr/share/terminfo' or `/usr/lib/terminfo'. If you have
compiled your curses library yourself, it may also be expected in
`/usr/local/share/terminfo' or `/usr/local/lib/terminfo', see
`man curses' or `man ncurses' for details on your system or below
`Environment Variable' for more information.
The database layout is file-system based and very simple. For instance
the definition for the terminal `tw52' is looked up in
/path/to/terminfo/t/tw52
i. e., the first character of the terminal name (case matters, t is not
the same as T) denotes the directory and the filename is the name of
the terminal itself. Most terminals also have alias names, for example
the terminal `tw52' is also known as `tw52-color'.
Termcap, Curses And Ncurses
---------------------------
There are three main programming libraries available that character
screen based applications are written with. The first one was the
termcap library that uses the database in `/etc/termcap'. This
library is considered obsolete today and some Unix distributions
have even ceased to install it completely.
BSD Unix introduced the curses library that already makes use of the
terminfo database instead of termcap. This library is still shipped
with many commercial Unix systems but is getting more and more replaced
by the new curses library `ncurses' which is distributed under the
terms and conditions of the GNU General Public License. It is mostly
an enhanced version of the original curses implementation.
Atari And Terminals
-------------------
One common misunderstanding is that the Atari-ST and its successors
have a `vt52' terminal emulation built in. The truth is that the
Atari-ST and its successors all have a terminal emulation built in
that is mostly backwards compatible to the `vt52' terminal.
The VT52 was one of the earliest hardware terminals available. Decades
ago it has quickly become a de-facto standard for other terminals, today
it would be completely obsolete. This is the exhaustive description
for all its capabilities as they are coded into today's termcap and
terminfo databases:
* 80 columns and 24 lines
* Control-H performs a backspace
* hardcoded tabulators every eighth character
* ability to display graphical characters (block graphic characters)
* audible bell
* ability to clear from the current cursor position to the end of the
screen
* ability to clear from the current cursor position to the end of the
current line
* clear the screen
* put cursor into top-left corner
* move cursor to arbitrary position on the screen
* carriage return
* move cursor up/down one line
* a backspace key
* cursor left/right/up/down key
* move cursor one character to the left/right
* scroll forward/backward one line
* move to next hardware tab
These capabilities would suffice to run most curses based applications
but the actual descriptions available on many systems silently omit
some capabilities and keys. You may easily end up with a program
telling you that your terminal is too dumb to run the application.
The hard-coded terminal emulation in the Atari-ST (present in the VDI
and on the console, i. e. the white screen you see when you don't start
GEM) shows a number of differences to the core vt52:
* no capability to display block graphics characters
* depending on the hardware the Atari console allows you to change
the current foreground and background color
* erase from cursor position to beginning of screen
* turn the cursor on and off
* save and restore the current cursor position
* erase current line (and move cursor to first column)
* erase from current cursor position to beginning of line
* turn on/off reverse video mode (inverted text for emphasis)
* turn on/off automatic line feed in last column
This is still primitive compared to modern terminal emulations but
far more than the VT52 had to offer. A major drawback of the Atari
console compared to the VT52 is the lack of block graphical characters
which are often used to compose fancy looking user interfaces with
lines and line fragments.
Remote Logins From The Atari
----------------------------
If you want to login from an Atari into a remote machine via ssh,
telnet or rlogin you have to tell the applications that run on the
remote machine which kind of terminal you use and which capabilities
it has. The basic way to do this is via the environment variable
`TERM'. You can check if your terminal emulation has already set this
environment variable with the command `echo $TERM' typed into your
shell. If this is not the case you should issue the commands
TERM="tw52"
export TERM
at your shell prompt (note that from now on csh users are left alone,
they have to figure out themselves how to set their environment).
Now you can login to the target machine:
telnet machine.employer.com
Why should you set the environment variable before the login?
First of all you should always keep in mind that after the login
all applications will completely run on the remote machine. These
applications will therefore of course check the environment on
the remote host, not your own. And, don't forget that, in a telnet
or rlogin session, the first commands executed on the remote machine
are probably the program `login' and then your login shell. Both
programs already need to know about your terminal or they may mess
up the display. If for instance the remote login program thinks that
it can hide your password by changing your terminal into invisible
or blank mode but your terminal misinterprets the command, you will
probably not be very happy. The same applies to your login shell.
Even the shell itself may make use of the information retrieved from
the terminfo and termcap database. Even if it doesn't need that
information, it will execute one or more scripts upon each login
and these scripts may contain commands that need the information.
It is not unusual after all that these startup scripts perform some
initialization tasks based on the terminal you use.
One drawback of that procedure is that you may be forced to set
`TERM' to a value that is not valid on your local machine. In order
to avoid the necessity of setting back `TERM' to a locally usable value
after you finished your remote session is to temporarily set the
environment variable for that single command:
TERM="tw52" telnet machine.employer.com
This syntax requires a POSIX compatible shell, for example the Bourne
Again Shell `bash' or the Korn Shell `ksh'.
Environment Variables
---------------------
As we have learned before the environment variable `TERM' tells
the programs on the remote machine under which name they should look
up the description of your terminal in the terminfo or termcap database.
The remote login protocols ssh, telnet and rlogin all exchange information
about the terminal and the environment variable will have the same
setting on the remote machine.
Unfortunately not all terminfo and termcap installations are always
up-to-date. You may happen to log into a machine with your `TERM' set
to `tw52' and the remote machine does not know about this terminal
(emulation). It may also happen that the information available on
the remote machine is buggy or does not yet contain the latest
nitty-gritty features that your terminal provide. If you simply want
to quickly login, don't want to use any advanced curses software or
don't care about messed up display, you should try the following list
of advices step by step, until your satisfied. If you want to use
as many features as possible you should however go as far as possible,
respectively start trying in backward order.
a) TERM=vt52
The first try is to set `TERM' to `vt52'. This terminal emulation
should be known to every Unix machine. But as stated before, none
of the terminal emulations for the Atari ST is fully compatible
to the VT52. The `tw52' is at least fully backwards compatible, all
other terminal emulators will not fully work. This will often result
in poor rendering on the screen. For example, from the Atari console
you may see something like
tqqqqqqqqqqu tqqqqqqqqqqu
x OK x x Cancel x
mqqqqqqqqqqj mqqqqqqqqqqj
and you can only guess that this should really represent two buttons
labelled with OK and Cancel (beginning with Toswin2 version 2.7 the
line graphics are correctly rendered, even in VT52 mode).
You remember that the DEC VT52 had neither color support nor support for
a reverse video mode. Reverse video mode is particular important for
curses applications because these applications are often menu driven
or even use buttons or combo boxes. The reverse video mode is used
to emphasize the current selection from the background and it may
become very awkward to operate these applications when you cannot
see what you have currently selected.
As mentioned before, many VT52 terminal descriptions found on remote
machines are buggy and will make programs display only garbage on
your terminal. This may even lead to the result that the remote
program refuses to work because it has no way to render its user
interface because of lacking capabilities. Often these programs will
become very slow because of missing capabilities: For example to erase
the screen from the current cursor position to the beginning of the
screen the application has to print a space on every character cell
although your terminal would happily do that with one single command.
In other words: With a core VT52 terminal and lynx it is no fun to
browse the web.
b) TERM=st52
It may surprise you that despite of the economical failure of Atari
Corp. its terminal description is available and installed on many
(also on commercial) Unix systems. The most commonly available is
probably `st52'. But you may also be lucky with `tt52' if you run
a console on an Atari TT (the TT hardware console has some annoying
incompatibilities). Other possibilities are `at', `atari', `at52',
or `stv52' for the MiNT virtual consoles (provided that they run
on your machine). There may even be a description for `stv52pc',
an enhanced version of the MiNT virtual console with block graphics
character. If you can use one of these terminal descriptions you
will already be lucky with many applications, they contain commands
for reverse video mode, for advanced cursor positioning and maybe
even for color support (but the used color maps are mostly buggy
and will not show the desired results). If color support actually
makes the rendition on screen worse, you may also have a try with
the monochrome versions `st52-m', `tt52-m', and so on.
Even the block character graphics are now approximated more or less
correctly:
+----------+ +----------+
| OK | | Cancel |
+----------+ +----------+
c) TERM=tw52
Even the terminal description for Toswin and its successor Toswin2
is available on many systems. Unfortunately, the development of
Toswin2 has not been as continuous as desirable. Some features have
been added in the course of time, some features have changed, and
the main problem is the terminal description itself which may be
completely buggy or inaccurate on the remote machine. If you use
Toswin(2), setting `TERM' to `tw52' is always an option worth trying
but be prepared for funny results. If the colors are unbearable, try
it with `tw52-m' instead. Downgrading your terminal by setting `TERM'
to one of the various hardware consoles like `st52', `st52-m' and so
on may also be an option.
d) TERM=tw100 or TERM=vt100
Some time ago an attempt has been made to code an emulation of the
popular DEC VT100 terminal into Toswin2. Unfortunately both the
implementation in Toswin2 and the terminal descriptions have changed
a lot. The results that you achieve therefore heavily depend on the
combination of your Toswin version and the terminal descriptions
available on the remote system. If you want to have a try you will
of course have to choose "tw100" in the window configuration dialog.
e) TERMCAP=/path/to/private/termcap
If none of the above settings fulfill your demands, you may also
try to set the environment variable `TERMCAP' to the name of a
file with alternative terminal descriptions (which you may upload
from your local machine). Whether this works or not depends on
several factors:
* the remote termcap implementation must really evaluate the
`TERMCAP' environment variable, most do not ...
* the termcap file you upload should work on your local machine
* the application you run remotely must be linked against the
termcap library, most modern applications are curses ...
An alternative possibility with `TERMCAP' is to put the entire
terminal description into that environment variable. Search for
your terminal in your local `/etc/termcap', copy the relevant section
to a file, upload it to the remote machine and there do something like
TERMCAP=`cat /path/to/my/private/termcap`
export TERMCAP
This may or may not work.
Of course, if you have the appropriate privileges on the remote machine
or your system administrator is a nice guy, you can also simply update
the termcap database on the remote machine.
f) Updating The Remote Terminfo Database
As mentioned above, the terminfo database is simply a directory tree
with precompiled terminal descriptions. For example the compiled
descriptions for the various Toswin emulations will be found in
/usr/share/terminfo/t/tw52
/usr/share/terminfo/t/tw52-color
/usr/share/terminfo/t/tw52-m
/usr/share/terminfo/t/tw100
/usr/share/terminfo/t/tw100-color
/usr/share/terminfo/t/tw100-m
Please ask `man ncurses' or `man 5 terminfo' for the exact location.
Variations include `/usr/local' instead of `/usr' and `lib' instead
of `share'.
The compiled binary files should be compatibible across architectures.
It should therefore be possible to simply copy the terminal descriptions
from your MiNT box to the remote machine, provided that you have the
privilege to do that.
Another possibility is to compile the terminfo description from the
file `twterm.src' on the remote machine using the terminfo compiler
`tic':
tic -o /home/guido/.terminfo twterm.src
The command line option `-o' tells `tic' to output the database into
the directory `/home/guido/.terminfo' instead of the standard location
`/usr/share/terminfo'. ATTENTION: The file `twterm.src' does only
contain descriptions for Toswin terminal emulations, not for the rest
of the world. I also vaguely remember that early versions of `tic'
expected an empty output directory. Without the appropriate care you
may therefore end up with a wiped out terminfo database that only
consists of Toswin terminal descriptions afterwards. Explicitely
specifying the output directory with `-o' should avoid this but I
cannot guaranty that. Ask your system administrator or consult the
manual page tic(1) before you do anything.
g) TERMINFO=/path/to/your/own/terminfo
Recent ncurses implementations look for the terminfo database
at different locations. When you don't have the privileges to update
the terminfo database on your remote machine you may still point
ncurses to a non-standard directory to look for terminal descriptions.
This directory must have the same hierarchical structure as the
standard directory `/usr/share/terminfo'. You can either manually
create the directory structure and copy the description files or
do it in one go as described above.
Recent ncurses looks for the terminfo database in the following order:
1) the directory specified in the environment variable `TERMINFO'
2) in the directory `.terminfo' in your home directory (or
`$HOME')
3) in the system-wide database, usually `/usr/share/terminfo'
Even without superuser privileges you will often be able to use your
terminal description on the remote machine like this. Consult
the `man curses', `man ncurses', `man terminfo', or `man 5 terminfo'
on the remote system or ask your system administrator for details.
Hopeless Cases
--------------
Both termcap and curses/ncurses provide means to access terminal
capabilities in a portable manner. There are however some hopeless
cases where certain terminal capabilities (mostly the PC console,
`ansi', `linux', or `xterm') are hard-coded into the applications.
If such an application issues commands for a Linux console, Toswin2
in tw52-mode will output a lot of garbage, because it misinterprets
the control sequences. To avoid this you may check the progress
that the `tw100' emulation has made and configure your terminal
window to use that instead.
One example for such an application is the program `ls' which is
configured to represent the file type with colors. The control
sequences used to turn on/off a particular color are often those
of the target system and not usable with your terminal. In order
to fix that you can either run `ls' with the option `--color=never'
or read the manual page ls(1) for more information.
The curses based web browser `w3m' is also a nuisance with respect
to curses compliance. Type `o' for options, move your cursor to the
color settings and don't forget to press `OK' at the bottom of the
page to make your changes active.
Many init scripts also use hard-coded terminal capabilities of the
target system. You are generally left alone there.
Terminfo/Termcap vs. stty
-------------------------
You may also have heard of the program `stty' that is used to influence
some settings of your terminal. It is often useful but actually has
nothing to do with (n)curses or termcap. It is a means to provide
access to low-level terminal settings like the line speed or certain
control characters.
A major nuisance especially when a Linux system is involved is the
function of the backspace key. These problems can often be solved
by typing
stty erase ...
Instead of the dots simply hit the key that you want to use instead
for backspace. See the manual page stty(1) for details.
Guido Flohr <guido@freemint.de>

View File

@@ -0,0 +1,60 @@
#! /bin/sh
#set -x
bold=`tput bold`
dim=`tput dim`
normal=`tput sgr0`
all=`seq 0 9`
for i in $all; do
eval "setab$i=\"`tput setab $i`\""
eval "setaf$i=\"`tput setaf $i`\""
done
cat <<EOF
Normal colors
=============
EOF
for bg in $all; do
eval "echo -n \$setab${bg} Background no. $bg: "
for fg in $all; do
eval "echo -n \$setaf${fg}"
echo -n " fg $fg "
done
echo $normal
done
cat <<EOF
Bold
====
EOF
for bg in $all; do
eval "echo -n \$setab${bg} Background no. $bg: $bold"
for fg in $all; do
eval "echo -n \$setaf${fg}"
echo -n " fg $fg "
done
echo $normal
done
cat <<EOF
Dimmed
======
EOF
for bg in $all; do
eval "echo -n \$setab${bg} Background no. $bg: $dim"
for fg in $all; do
eval "echo -n \$setaf${fg}"
echo -n " fg $fg "
done
echo $normal
done
echo -n $normal

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,128 @@
#############################################################################
#
# Atari ST terminals.
# From Guido Flohr <guido@freemint.de>
#
# The Toswin terminfo descriptions have been changed. ANSI colors
# are now mapped to higher indexed VDI colors to enhance readability.
# The resulting colors are generally darker and generally look better.
# The new escape sequence "\Eu" is used to reset the colors to the
# original color pair. You will therefore need at least Toswin 2.7
# to use the new stuff.
tw52|tw52-color|Toswin window manager with color,
colors#8, pairs#64, it#8,
setaf=\E3%p1%{48}%+%c,
setab=\E4%p1%{48}%+%c,
setf=\E3%p1%{48}%+%c,
setb=\E4%p1%{48}%+%c,
am, xenl,
bce,
ma#999,
dch1=\Ea,
oc=\Eu, op=\Eu,
smso=\EyQ, rmso=\EzQ, smul=\EyH, rmul=\EzH,
bold=\E3}, dim=\E3~, rev=\EyP, sgr0=\Ez_\Eu^O,
ul,
is2=\Ev\Eq\Ez_\Ee\Ei\Eu^O, rs2=\Ev\Eq\Ez_\Ee\Ei\Eu^O,
clear=\EE,
el1=\Eo, il1=\EL, dl1=\EM, mir,
civis=\Ef, cnorm=\Ee, eo,
kcub1=\ED, kcuf1=\EC, kcuu1=\EA, kcud1=\EB, khome=\EE,
kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\ES, kf5=\ET,
kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX, kf10=\EY,
kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es, kf15=\Et,
kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf20=\Ey,
kbs=^H, kdch1=\177, kich1=\EI, knp=\Eb, kpp=\Ea,
khlp=\EH, kLFT=\Ed, kRIT=\Ec, kund=\EK,
npc,
cols#80, it#8, lines#24,
bel=^G, cr=^M, el=\EK, ed=\EJ,
hpa=\EY^M%p1%{32}%+%c%,
cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cud1=\EB, home=\EH,
cub1=\ED, cuf1=\EC, cuu1=\EA, kbs=^H,
nel=^M^J, ind=^J,
ri=\EI, ht=^I,
sc=\Ej, rc=\Ek,
rmacs=\EG, smacs=\EF,
acsc=``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..\,\,++--00,
tw52-m|Toswin window manager monochrome,
colors#2, pairs#2, it#8,
am, xenl,
bce,
ma#999,
dch1=\Ea,
oc=\Eu, op=\Eu,
smso=\EyQ, rmso=\EzQ, smul=\EyH, rmul=\EzH,
bold=\Eya, dim=\EyB, rev=\EyP, sgr0=\Ez_\Eu,
ul,
is2=\Ev\Eq\Ez_\Ee\Ei, rs2=\Ev\Eq\Ez_\Ee\Ei,
clear=\EE,
el1=\Eo, il1=\EL, dl1=\EM, mir,
civis=\Ef, cnorm=\Ee, eo,
kcub1=\ED, kcuf1=\EC, kcuu1=\EA, kcud1=\EB, khome=\EE,
kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\ES, kf5=\ET,
kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX, kf10=\EY,
kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es, kf15=\Et,
kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf20=\Ey,
kbs=^H, kdch1=\177, kich1=\EI, knp=\Eb, kpp=\Ea,
khlp=\EH, kLFT=\Ed, kRIT=\Ec, kund=\EK,
npc,
cols#80, it#8, lines#24,
bel=^G, cr=^M, el=\EK, ed=\EJ,
hpa=\EY^M%p1%{32}%+%c%,
cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cud1=\EB, home=\EH,
cub1=\ED, cuf1=\EC, cuu1=\EA, kbs=^H,
nel=^M^J, ind=^J,
ri=\EI, ht=^I,
sc=\Ej, rc=\Ek,
msgr,
tw100|tw100-color|toswin vt100 window mgr,
am,
civis=\E[?25l,
cnorm=\E[34h\E[?25h,
cvvis=\E[34l,
ech=\E[%p1%dX,
enacs=\E(B\E)0,
ind=^J,
invis=\E[8m,
is2=\E[!p\E[?3;4l\E[4l\E>,
ll=\EF,
meml=\El,
memu=\Em,
ri=\EM,
rmacs=^O,
rmam=\E[?7l,
rmir=\E[4l,
rs1=\Ec,
rs2=\E[!p\E[?3;4l\E[4l\E>,
setab=\E[4%p1%dm,
setaf=\E[3%p1%dm,
sgr0=\E[m^O,
smacs=^N,
smam=\E[?7h,
smir=\E[4h,
vpa=\E[%i%p1%dd,
xenl,
eo, mir, msgr, xon,
colors#8, cols#80, it#8, lines#24, pairs#64, vt#3,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++\,\,hhII00,
bel=^G, blink=\E[5m, bold=\E[1m,
clear=\E[2J\E[H, cr=^M, csr=\E[%i%p1%d;%p2%dr,
cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\EB,
cuf=\E[%p1%dC, cuf1=\EC, cup=\E[%i%p1%d;%p2%dH,
cuu=\E[%p1%dA, cuu1=\EA, dch1=\Ea, dim=\E[2m, dl=\E[%p1%dM,
dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
hts=\EH, ich=\E[%p1%d@, il1=\EL,
kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
kdch1=\177, kf1=\EOP, kf10=\EOY, kf11=\Ep, kf12=\Eq,
kf13=\Er, kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew,
kf19=\Ex, kf2=\EOQ, kf20=\Ey, kf3=\EOR, kf4=\EOS, kf5=\EOT,
kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, khlp=\EH,
khome=\E\EE, kich1=\EI, knp=\Eb, kpp=\E\Ea, kund=\EK,
nel=\EE, op=\E[30;47m, oc=\E[30;47m, rc=\E8, rev=\E[7m,
rmcup=\E[?7h, rmkx=\E[?1l\E>,
rmso=\E[m, rmul=\E[m,
sc=\E7,
smcup=\E[?7l, smkx=\E[?1h\E=,
smso=\E[7m, smul=\E[4m, tbc=\E[3g,

View File

@@ -0,0 +1,144 @@
These are the results of the vttest program (Dickey version 2.7 from
2 Aug 2000) on Toswin in tw100 emulation:
Test Of Cursor Movements
========================
[x] DECALN in 80 column mode
[x] DECALN in 132 column mode
[x] Cursor control characters in ESC sequences
[x] Test of leading zeros in ESC sequences
Test Of Screen Features
=======================
[x] Wrap around
[x] Tab setting/resetting
[x] 132 column mode, light background
[x] 80 column mode, light background
[x] 132 column mode, dark background
[x] 80 column mode, dark background
[x] Soft scroll down 1
[x] Soft scroll down 2
[x] Jump scroll down 1
[x] Jump scroll down 2
[x] Origin mode test
[x] Graphic rendition dark background
[x] Graphic rendition light background
[x] Test of save/restore cursor
Test Of Character Sets
======================
[x] Test of character sets
Test Of Double-Sized Characters
===============================
[ ] 80 column mode, test 1
[ ] 80 column mode, test 2
[ ] 132 column mode, test 1
[ ] 132 column mode, test 2
[ ] centered frame
[ ] bottom frame
Remark: Double-sized character are not supported but at
least the screen does not get messed up (as for example
in KDE konsole,
Test Of Keyboard
================
[ ] LED Lights
[ ] Auto repeat
Keyboard layout
[ ] US ASCII
[ ] Swedish national layout D47
[ ] Swedish national layout E47
[x] Cursor keys
[x] Numeric keypad
[ ] Answerback
[x] Control keys
Test Of Terminal Reports
========================
[x] <ENQ> (AnswerBack Message
[x] Set/Reset Mode - LineFeed/Newline
[x] Device Status Report (DSR)
[x] Primary Device Attributes (DA)
[ ] Secondary Device Attributes (DA)
[ ] Tertiary Device Attributes (DA)
[ ] Request Terminal Parameters (DECREQTPARM)
Test Of VT52 Mode
=================
[x] Full screen
[x] Character sets
[x] Terminal Response to IDENTIFY COMMAND
Test Of VT102 Features
======================
[x] Screen accordeon test 80
[x] AX 80
[x] A**B 80
[x] Delete character 80
[x] Staggered 1 80
[x] Staggered 2 80
[x] ANSI Insert Character 80
[x] Screen accordeon test 132
[x] AX 132
[x] A**B 132
[x] Delete character 132
[x] Staggered 1 132
[x] Staggered 2 132
[x] ANSI Insert Character 132
Known Bugs
==========
[ ] Bug A: smooth scroll to jump scroll
[x] Bug B: Scrolling region
[x] Bug C: Wide to narrow screen
[x] Bug D: Narrow to wide screen
[x] Bug E: Cursor move from double- to single-wide line
[x] Bug F: Column mode escape sequence
[x] Wrap around with cursor addressing
[x] Erase right half of double width lines
[x] Funny scroll regions
Test Of Reset And Self-Test
===========================
[x] Reset to initial state (RIS)
[x] Invoke Terminal Test (DECTST)
[x] Soft Terminal Reset (DECSTR)
Test Of Non-VT100 Features
==========================
1. Test of VT220/VT320 features
[ ] Test 8-bit controls
[ ] Test Device Status Report (DSR)
[ ] Test Keyboard Status
[ ] Test Printer Status
[ ] Test UDK Status
[ ] Test Locator Status
[x] Test Erase Char (ECH)
[ ] Test Printer (MC)
[ ] Assign printer to active session (MC)
[ ] Start printer-to-host session (MC)
[ ] Enable Printer-Extent mode (DECPEX)
[ ] Enable Print Form Feed Mode (DECPFF)
[ ] Test Auto-print mode (MC - DEC private mode)
[ ] Test Printer-controller mode (MC)
[ ] Test Print-page (MC)
[ ] Test Print composed main-display (MC)
[ ] Test Print all pages (MC)
[ ] Test Print cursor line (MC)
[ ] Test Protected-Areas (DECSCA)
[ ] Test Soft Character Sets (DECDLD)
[ ] Test Terminal Modes
[x] Test Send/Receive mode (SRM)
[x] Test Visible/Invisible Cursor (DECTCEM)
[ ] Test user-defined keys (DECUDK)
To be continued ...
2. Test of VT420 features
3. Test ISO-6429 cursor-movement
4. Test ISO-6429 colors
5. Test other ISO-6429 features
6. Test XTERM special features