home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Elysian Archive
/
AmigaElysianArchive.iso
/
comm
/
meshugen.lzh
/
meshugena.doc
< prev
next >
Wrap
Text File
|
1988-05-28
|
33KB
|
859 lines
****************************************************************************
* *
* Meshugena V1.0 -- A **VT220 terminal emulator *
* Copyright 1988 *
* By Michael S. Leibow *
* *
* This software is released as shareware and may be freely distributed *
* provided that this copyright message remains at the beginning of this *
* file and that this file is included in the distribution. This software *
* may not be used for direct commercial advantage. This software or its *
* copies may not be changed in any way except to either store or restore *
* it to or from an archived format. *
* *
* The information in this software is subject to change without notice *
* and should not be construed as a commitment by the author. *
* *
* The Author assumes no responsibility for the use or reliability of *
* this software. *
* *
* Author: Michael S. Leibow 23-APR-1988 *
* *
* ** VT220 is a trademark of Digital Equipment Corporation. At the time *
* of the creation and release of this software, the author, *
* Michael Leibow did not work for Digital Equipment Corporation. *
* *
****************************************************************************
FOREWORD by the author:
If you get bored reading this file, skip to the conclusion at the end
and read that. When you have time, this document describes all of the
intricate details that might not be obvious. If you really want to
learn how the program works and what the different menu options are,
just play with it. Don't be scared to select something or go wild
clicking on the mouse. [end-of-forward]
******* OVERVIEW ***********************************************************
This is not a general communications package. If you need some of
the features of other general packages such as
o one zillion emulations
o one zillion file transfer methods
o weird character sets (i.e. EBCDIC)
then this program is not for you. This program is dedicated to those
of you have already bought an Amiga, a modem, and need to communicate
with some sort of computer that supports the 8 bit ANSI protocol.
This program offers:
o VT220 emulation (80 and 132 columns)
Not a fake emulation... This emulation covers everything I could
find in the VT220 owners manual except the printer stuff.
f.
+ 7 and 8 bit character sets
+ Multinational Character Sets (c0, c1, GL, and GR)
+ Special Graphics set
+ emulates full LK201 keyboard (VT52, VT100, VT220)
+ VT52, VT100, and VT220 compatibility
+ terminal modes : (KAM, IRM, SRM, LNM, DECCKM, DECANM, DECCOLM,
DECSCLM, DECSCNM, DECAWM, DECARM)
+ All character renditions : (off, bold, underscore, blinking,
reverse, erasable, not_erasable)
+ All Line Renditions : (normal, double width, double height).
+ ANSI tab stuff.
+ Probably more which I forgot...
o Multiple sessions
+ each session has its own set-up configuration
+ independent menus
+ separate windows each with scroll bars and other gadgetry
o Transcript buffer
+ 0 to some_big_number lines of output history
o Works well in workbench environment
+ can start from icon.
+ all errors shown in requesters
o window iconification to save chip ram
o easy to use user interface
For more information on the VT220 operation, buy a VT220 from your
nearest VT220 dealer, and read the owners manual.
****** INSTALLING THE PROGRAM *********************************************
I recommend you install this program on a blank disk to make sure
everything works properly. Once you have formatted a disk, and copied
workbench 1.2 onto it, you are ready to start the installation. If you
have a hardrive, I'd recommend making a new directory and doing the
install from that directory. First, you need to get the correct
archive program to remove all of the files from the archive and put
them on a disk. If the extension of the archive is .zoo, then you must
use the ZOO utility. If it is .arc, then you must use the ARC utility.
put the archive in the directory where you want the program and type:
[arc|zoo] x Meshugena
After the archive program has finished working, type
execute install
and your amiga will happily install the 4 fonts in your FONTS:
directory. Be sure you have enough room in your fonts directory before
starting the install_fonts procedure. You also want to make sure that
you don't already have fonts in your FONTS: directory with the same
names as these:
f80 - 80 columns normal font
fld80 - graphics font with line segment glyphs.
f132 - 132 columns normal font
fld132 - graphics font with line segment glyphs.
All of the previous listed fonts are 8 pixels high.
The install program will also rename the files to their proper
names so that you don't have to worry about it. See the
fonts
section if you are interested in using your own fonts instead of
those that are supplied.
The installation is now complete. simple, eh?
If you've made it this far, but have not done anything yet out of
fear, don't worry, here's the short explanation:
1) make new workbench disk (copy df0: to df1:)
2) copy .arc or .zoo file to new disk (copy Meshugena.arc
new_disk:)
3) cd new_disk (replace new_disk with the appropriate name)
4) arc x meshugena, or zoo x meshugena
5) execute install
6) your done.
***** HOW TO USE ************************************************************
type Meshugena from the CLI prompt, OR double click on the icon from
workbench. The program will load all of the fonts and then read the
terminal_setup file. The initial configuration of the terminal is
stored in terminal_setup. The setup file is a plain text file, and you
can edit it with any text editor. (ED, or EDIT is on your workbench
diskette, or EMACS is in your Extras 1.2 diskette in the tools
directory). Emacs is, by far, much easier to use than ED or EDIT. If
you don't know how to use EMACS, don't worry about it; it has menus.
You can read more about the startup file in the
startup-file
section.
Once the program is loaded, a requester will pop up with the copyright
message and some other goo. Read it, understand it, and then press the
OK button in the requester. Your terminal is running and ready to go.
********** KEYBOARD LAYOUT **************************************************
Cut a tiny rectangular piece of paper that will fit nicely in the funny
slot in your A1000's keyboard, and write the key equivalents for the
function keys. Each function key has three different operations
(shifted, unshifted, and ctrl). Here's a cross reference:
Amiga Keyboard ---- LK201-AA Keyboard
F1 PF1
F2 PF2
F3 PF3
F4 PF4
up arrow up arrow
down arrow down arrow
left arrow left arrow
right arrow right arrow
Backspace Backarrow
DEL backspace or delete (opp of backarrow)
CTRL F1 FIND
CTRL F2 INSERT HERE
CTRL F3 REMOVE
CTRL F4 SELECT
CTRL F5 PREV SCREEN
CTRL F6 NEXT SCREEN
keypad 0-9 keypad 0-9
keypad - keypad ,
keypad . keypad .
help keypad -
F6,F7,F8,F9,F10 F6,F7,F8,F9,F10
shift F1 - F4 F10 - F14
shift F5 HELP
shift F6 DO
shift F7 - F10 F17 - F20
The keyboard layout cannot be changed at the moment, but at the release
of the next version, you will be able to set up your keyboard however
you want it. So, those of you with a 500 or 2000, please bare the bad
layout for a few months.
If one of the serial port settings is wrong in the terminal_setup, and
you don't feel like dragging out the editor, you can double-click on
the menu button. A requester will appear with all of the serial port
options. You can select baud rate, word length, parity, and stop bits
by just clicking the left mouse button over the correct "button."
Also, in the requester is the current state of the session manager.
When the terminal starts, the session manager is off. If you want to
use multiple sessions, see the section on the
session manager
.
When you have set the terminal the way you want to use it, press the
OK
button in the requester. You can also change terminal parameters by
using the menu interface. Here is a description of the menu layout and
operations:
*************** MENU LAYOUT *************************************************
------------------------------------------------------------------------------
File Terminal Display Keyboard Parser
------------------------------------------------------------------------------
The file menu doesn't work at the moment.
The terminal menu:
+------------------+
| RESET | - soft terminal reset.
| HARD RESET | - hard terminal reset.
| SEND BREAK | - sends a 250 ms break signal.
+------------------+
The soft terminal reset resets the parser and characters sets to
their default states. The hard terminal reset performs a soft
terminal reset, re-initializes the serial port, and clears the
screen.
The Display Menu: ./ represents a checkmark.
+----------------------+
|Clear Screen |
+----------------------+
| Auto Wrap |
| Echo |
| Horizontal Tracking|
|./ Vertical Tracking |
|./ Cursor Enable |
|./ Cursor Blink |
| Reverse Video |
+----------------------+
|./ 80 column mode |
| 132 column mode |
+----------------------+
|./ Big Font |
| Small Font |
+----------------------+
|./ Block Cursor |
| Underline Cursor |
+----------------------+
Clear Screen clears the screen.
If auto wrap is on, and the terminal has already put a character
on the last column of the screen, AND, a printable character
is about to be displayed, the terminal will first put the
cursor on the first column of the next line. A scroll will
be performed if necessary.
ECHO will echo all keystrokes to the parser to be displayed.
Horizontal and Vertical tracking:
This terminal, internally, always has 24 lines by 80 columns
or 24 lines by 132 columns. Since the amiga can only display
80 columns across a non bordered window with the 80 column
font, and 132 with the 132 column font, it is not normally
possible to see the full width of the display in a bordered
window. If you have a bordered window, it is sometimes
annoying when the cursor is outside of the view. If you have
Vertical Tracking on, then the terminal will attempt to keep
the line that the cursor is on in view. If you have
Horizontal tracking on, then the terminal will attempt to
keep the current column in view. If you want to see how this
operates, start the terminal and make sure borders are on the
window. If your terminal starts up without borders, press
the
border
gadget in the title bar next to the
icon
gadget.
Turn tracking on by selecting Vertical and Horizontal
tracking in the DISPLAY menu. Now, use the terminal and
watch what happens as the cursor moves around. If you use a
visual program which clears the screen and does lots of
cursor movement, the operation of tracking will become much
clearer. Also, watch the scroll bar gadgets so you can see
where the cursor is in the full display. After you've had
fun watching the terminal work with tracking on, turn
tracking off and watch what happens when the cursor leaves
the window. Tracking is not done if there are no borders on
the window. Borders can be alternately removed or attached
to the window by depressing the
borders
gadget in the title
bar.
Cursor enable and blink determine if the cursor is allowed to be
displayed, and whether it should blink or not.
Reverse video, if enabled, swaps the foreground and background
colors inside the window.
80/132 column mode selects how many columns the terminal has. If
you select 80 column mode, the big font is automatically
selected. If you select 132 column mode, the small font is
automatically selected. You can override these selections by
using the BIG/SMALL font menu items.
Big/Small font:
The big font is by default the 80 column font. The small
font is by default the 132 column font. If you want to
change the fonts, then read the
fonts
section of this manual.
Block Cursor/Underline Cursor:
This decides what the cursor will look like if it is enabled.
Keyboard Menu:
+--------------------------------+
|./ Bs and Del Swapped |
|./ Numeric Keypad |
| Cursor Key Applications Mode |
+--------------------------------+
BS and DEL Swapped control what the backspace and DEL keys will
send. If the checkmark is displayed, the backspace key will
send a DEL character and the DEL will send the backspace.
Numeric keypad will cause the numeric keypad to send the same
codes as what you see on the keycaps. If it is not
checkmarked, it will send the applications mode control
sequences.
Cursor Key Applications Mode:
If you were to understand the description, then you already
know what this means.
Parser Menu:
+----------------+
|reset parser |
+----------------+
| VT52 |
| VT100 |
| VT200 7 bits |
|./ VT200 8 bits |
+----------------+
If you select reset parser, the parser will be put in its default
state. The type of parser remains the same. If you reset
the parser in VT52 mode, it will remain in VT52 mode. If you
reset the parser in VT220 mode, it will remain in VT220 mode.
Only the state of the parser is affected, not the parser
itself. This operation is useful if you get phone line noise
and the parser gets put in a funky state. You can usually
tell when this happens because the terminal output appears to
freeze although the rest of the terminal still functions
normally.
The parser can be in four modes.
VT52
is a useless mode used to
be backwards compatible with the ancient pre-ANSI terminals.
VT100
will make the terminal ignore all VT200 series
sequences and will also enforce a 7 bit environment.
VT200 7
bits
will enforce a 7 bit environment but will still accept
VT200 series sequences; it is good for UN*X environments.
VT200 8 bits
is the normal operating mode for a VT220.
****** OTHER MENU STUFF ******************************************************
A nice thing about Amiga menus is the keyboard alternatives. If you
hate grabbing the mouse, and want to access the menus, you can use the
left Amiga key and another key on the keyboard to make a menu
selection. Unfortunately, most programmers force you to use the
"hot-keys" that they like. My program will let you set your own
"hot-keys" by putting the letters you want in the startup file. The
syntax is like this:
MENU MENU-ITEM : letter-or-number
for example
DiSpLAy ECHO : e
Caps and spaces are ignored. You could have typed:
DISplaYEchO:e
or
Display Echo : e
They all get parsed the same. The initial startup file has all of the
menu item names typed already. All you have to do is put your
"letters" in. A line will be ignored in the startup file if it is
preceded by a
#
. If you add a letter, remember to remove the
#
from
the beginning of the line. Also, the Amiga owners manuals don't
mention that you can make multiple menu selections at one time. The
way you do this is to press and hold the menu button on the mouse.
This makes the menu bar appear. You begin to make the selection by
moving the pointer over the item that you wish to select. You can make
the first set of selections by simultaneously pressing both mouse
buttons without letting go of the menu button. When you are finished
making all of your selections, let go of the menu button. I don't know
how many commercial programs support this multiple selection technique,
but this program does. NOTE: Selecting the same menu item twice has
the same affect as selecting it once. Another form of menu operation
is called the double menu requester. An application that has many menu
selections should have a quick way of letting the user make the
selections. The Amiga lets you do this by double clicking on the mouse
button. This will pop-up a requester with a "fast-menu." This program
uses the fast-menu to let you change serial port settings and to talk
to the session manager. You can read more about it in the section on
the
session manager
.
********** GADGET OPERATION ************************************************
There are several extra gadgets in the window frame. The first is a
button that has the word
ICON
written in it. If you press that button,
the window will be turned into a very very small window with the title
ICON n
where n is the session number. To turn the icon back into a
window, double-click in the square box drawn in the icon. While the
window is iconified, if any characters are received on the serial line,
the icon will "fill in" with little boxes. This is to notify you that
there is activity in the unseen window. When you double-click on the
icon, the window will be restored to the state that it would have been
if you never iconified it. (read- no information lost)
The reason for the icon gadgets is two-fold. If you are using
workbench, and need to access the icons in the workbench window, you
can hit the
ICON
button and then quickly access the icons. This is a
good way to start another process without exiting the terminal
emulator. The other reason is that sometimes people move the workbench
screen down and can't get it back up because some applications window
has covered the screen drag bar. If you use the icon button, the
window will be made very tiny giving access to the screen. The second
gadget is next to the
ICON
gadget. It is the
BORDER
gadget, and
controls whether or not there are borders on the window. If there are
no borders, the window will automatically be made as big as possible so
that it will cover the whole display, even if you use the pd program
morerows. The
BORDER
gadget will alternatively remove or add borders
(with scroll bars) to the window. The other gadgets only exist when
the window has borders. Scroll bars are put on the window to enable
you to see all of the text in your display. The button inside the
scroll bar container shows the position and size of your view into the
full display. If you use the
ARROW
buttons on the scroll bars, the
display will scroll one line at a time in the direction of the arrow.
The
ARROW
gadgets act like key repeat. If you press a button quickly,
the text on the display will only scroll one character position. If
you press the button and hold it, it will keep scrolling until you let
go of it. (Press, you know, click with the left mouse button)
******** STARTUP-FILE ********************************************************
Part of the startup-file syntax is described in the
OTHER MENU STUFF
section above. A more detailed description is in the startup-file
itself. For more information on selecting fonts in the startup file,
see the
fonts
section in this manual. This is a description of the
junk the
terminal_setup
file :
NAME DESCRIPTION
----------------------------------------------------------------------
autowrap on or off
localecho on or off
number columns 80 or 132
font size big or small
cursor style block or underscore
cursor blink on or off
reverse video on or off
jump scroll on or off
blink rate number of milliseconds per 1/3 cycle
If value is 500, then cursor will be on for
1 second, and off for 1/2 of a second. Text
will blink evenly at 1/2 second intervals.
parser ansi or vt52
conformance level vt100, vt220 7 bits, or vt220 8 bits
ignored if parser = vt52
transcript lines range is 0 to some reasonable amount
See description of transcript buffer
backspace delete swapped on or off
baud can be 110, 300, 600, 1200, 1800, 2400, 3600,
4800, 9600, 19200
stop bits 1 or 2.
word length 7 or 8
parity none, even, odd, mark, space
buffer size 512 minimum
FILE save defaults hotkey
FILE load defaults hotkey
TERMINAL reset hotkey
TERMINAL hard reset hotkey
TERMINAL send break hotkey
DISPLAY clear screen hotkey
DISPLAY auto wrap hotkey
DISPLAY echo hotkey
DISPLAY horizontal tracking hotkey
DISPLAY vertical tracking hotkey
DISPLAY cursor enabled hotkey
DISPLAY 80 column mode hotkey
DISPLAY 132 column mode hotkey
DISPLAY big font hotkey
DISPLAY small font hotkey
DISPLAY block cursor hotkey
DISPLAY underscore cursor hotkey
DISPLAY reverse video hotkey
DISPLAY jump scroll hotkey
KEYBOARD bs and delete swapped hotkey
KEYBOARD numeric keypad hotkey
KEYBOARD cursor keys applications mode hotkey
PARSER reset hotkey
PARSER vt52 hotkey
PARSER vt100 hotkey
PARSER VT200 7 bits hotkey
PARSER VT200 8 bits hotkey
window x position 0 - 639
window y position 0 - 199
window width 0 - 639 or max
window height 0 - 199 or max
max will get the maximum. Works with morerows
and PAL machines.
scrollbars on or off
Horizontal Tracking on or off
vertical Tracking on or off
screen type workbench or custom
big font name/size e.g. "topaz/8"
big font ld name/size e.g. "topazld/8"
small font name/size e.g. "f132/8"
small font ld name/size e.g. "fld132/8"
******* session manager ******************************************************
The session manager uses the protocol used in the "uw" program written
for the Macintosh. There are many versions of
uw
running around for
the different versions of UN*X. I have tested
uw
on BSD 4.2, 4.3, and
Ultrix 2.0. I know the program is public domain, but I don't have the
original distribution so it isn't included with my program. You can
probably get
uw
off of your local BBS, users group, public domain
clearing house, assholes who sell the stuff instead of give it away,
USENET, BITNET, other networks, anonymous FTP, etc. It is probably on
one of the Fred Fish disks too. (Fred, a legend as far as I am
concerned -- THANKS)
Anyhow, if you have access to a UN*X system with the
uw
program on it,
you are all set. Double click on the menu button (right mouse) and the
requester will appear. Press the
Session Manager On
button to start
the session manager. Press the
ok
button to get rid of the requester.
Now, start the
uw
program on the unix end by typing
uw
When the
session manager on the UN*X end is running, your display will clear,
and a prompt will appear on the top line. To end the session, type
exit
or press the close button in the window. It is probably much
better to type
exit
. After you have exited all of the sessions, the
session manager will turn itself off and give you back your original
window. When you have the session manager on, and you want a new
session, get the requester back on the screen and press the
NEW SESSION
button. A new window will appear, and (be patient) a prompt will
appear in the window. To switch between sessions, just treat the
windows as you usually do on the amiga. Resize them, put one behind
another, or however you like it. Select the window you want to type
into, and start typing. You may open up to 7 sessions. One bad
feature about the UW server program is that it sets your TERMCAP
environment variable to an adm-3a type terminal. You will have to set
your termcap to be a VT220 after you start each new session. You could
also put a few commands in your .cshrc file to change your termcap if
it finds you are on a adm-3a terminal.
********* ERROR RECOVERY ***************************************************
I have tried to put a robust error recovery system in the program. If
the terminal runs out of memory or can't get a resource when you first
run it, it will display requesters telling you what's wrong. In most
cases you will get 2 requesters. The first one will tell you exactly
what resource it could not get, and the second one will say "Can't
Initialize Terminal" or something very general like that. If your
feeling bold and would like to see the thing work, start the program
twice without stopping the first one.
********* Font Information *************************************************
There are four public domain fonts that I (and a friend) have designed
to work with this terminal program. Two of them are 80 column fonts
and the other two are 132 column fonts. Each pair consists of one
normal font, and one with the special graphics characters. The
terminal needs to know what fonts to use and can be specified in the
terminal_setup
file. The four fonts can be specified to the terminal
by using a
font specifier
, a
font name
, and a
size
. The specifier
names are
big font
,
big font ld
,
small font
, and
small font ld
. The
name of the font is any font that exists in the FONTS: directory. The
size must be one that is in the FONTS:font_name directory. Here is the
format:
font specifier : font name/size
for example,
big font : topaz/8
or
small font ld : f132/8
are valid instructions to put in the
terminal_setup
file. There are
two restrictions on the fonts that you use. For each pair of fonts,
i.e. big font and big font ld, they must have the same characteristics.
In other words, they must have the same width and height. The other
restriction is that all fonts must be fixed witdh. Proportional fonts
are not allowed.
You can choose any size font for the big and small fonts. The small
font can be much bigger then the big font if that is what you choose.
I just used the names
big
and
small
to describe the 80 and 132 column
default fonts.
********* Other miscellaneous garbage **************************************
If you set the transcript buffer size to anything other than 0 in the
startup file, you will get that many lines. Any thing that scrolls off
of the top of the scrolling region goes into the transcript buffer. If
you'd like to look at something that went off your display, move the
vertical scroll bar upwards or use the UP gadget. Anything in the
transcript buffer will show in reverse video. NOTE: The transcript is
a memory hog. Each line in the transcript buffer consumes
approximately 500 bytes. Maybe, if I ever get time, I will strip off
the character and line renditions off of the transcript, and save about
360 bytes per line.
********* conclusion *******************************************************
This program is shareware. If you use it a lot and would like to send
me a donation to help me get through my last year of school, send me
whatever you think it is worth. Even if you don't send money, send me
a comment, gripe, or note of satisfaction. note, this will not work
backwards; I can't afford to send money to those of you who don't use
it or don't like it. I can be reached 3 to 4 times a year at
Mike Leibow (Meshugena)
2361 Beachwood Blvd.
Beachwood, OH 44122
If you put the word Meshugena somewhere on the envelope, i'd appreciate
it.