home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Phoenix CD 2.0
/
Phoenix_CD.cdr
/
01e
/
minitel.zip
/
MT.DOC
< prev
next >
Wrap
Text File
|
1990-02-14
|
94KB
|
2,333 lines
L---+---T1----+-T--2----T----3--T-+----4T---+---T5----+-T--6----T----7--R
Minitel/PC V2.4 Technical Documentation
The following documents version 2.4 of Minitel Services Company's
Minitel/PC terminal emulator. This software allows your IBM or IBM-
compatible PC to imitate a Minitel or VT100 terminal.
This document is divided into the following sections.
Section 1.0 - Hardware/Operating System Requirements
Section 2.0 - Installing Minitel/PC
Section 3.0 - How to run Minitel/PC
Section 4.0 - Minitel/PC Commands
Appendix A - Command Line Parameters
Appendix B - Files Distributed with Minitel/PC
Appendix C - Configuration Parameters
Appendix D - Keyboard Mapping
Appendix E - Script Language Description
Appendix F - Entering Control Characters
Appendix G - Use of the Minitel Function Keys
Appendix H - Error Messages
Appendix I - Printing the Screen
Appendix J - Modem Switch Settings
Appendix K - Version Differences
Appendix L - Differences from a Real Minitel
Appendix M - VT100 Emulation
1.0 Hardware and Operating System Requirements
------------------------------------------
The following minimum hardware configuration is necessary to run
Minitel/PC:
- 192K RAM (Minitel/PC needs 128K bytes of free memory)
- MDA, CGA, EGA, VGA or Hercules video display adaptor
- One 5.25 or 3.5 inch floppy disk drive with a capacity
of 360K or more.
Minitel/PC requires MS or PC-DOS version 2.0 or higher.
2.0 Installing Minitel/PC
---------------------
The specific steps you must take to install Minitel/PC depend on whether
you received it on a Getting Started Diskette or whether you downloaded
it from a bulletin board. If you downloaded Minitel/PC from a bulletin
board, proceed with section 2.1, otherwise skip to section 2.2.
2.1 Minitel/PC Downloaded from a Bulletin Board
The file you downloaded from the bulletin board is a self-unpacking
archive containing Minitel/PC and its documentation. The best way to
proceed is to create a Getting Started diskette from this archive. To do
this follow these steps:
i) Obtain a blank formatted floppy diskette. If you have a system with
two floppy disk drives, insert this diskette in drive B:, otherwise save
this diskette until you are prompted with:
"Insert diskette for drive B:"
ii) Put the diskette containing the archive in drive A:, then type the
following commands:
a: [Enter]
rename ARCHIVE_NAME runme.exe [Enter]
b: [Enter]
a:runme [Enter]
iii) If you have a single-drive system, insert the diskette containing
the archive when prompted with "Insert diskette for drive A:" and insert
the blank formatted diskette when prompted with "Insert diskette for
drive B:".
Now that you have created a Getting Started diskette, you can proceed to
section 2.2.
2.2 Minitel/PC Received on a Getting Started Diskette
To install Minitel/PC from a Getting Started diskette, put the diskette
in drive A:, set the default drive to A:, then type 'install', and just
follow the instructions. INSTALL will prompt you for information such as
your modem type, display type, and the drive and directory in which you
want Minitel/PC installed.
The installation program creates a configuration file (mt.cfg) and copies
the emulator to the installation drive/directory. The configuration file
contains hardware-specific parameters for your machine such as display
adaptor type, communication port, and modem speed. See Appendix C for a
complete description of all configuration file parameters.
3.0 How to Run Minitel/PC
---------------------
Once Minitel/PC has been installed, you can run it by performing the
following steps.
If you installed Minitel/PC on a floppy disk:
i) Insert the Minitel/PC Program diskette in drive A:
ii) Log to the A: drive by typing:
a: [Enter]
iii) Start the program by typing:
mt [Enter]
If you installed Minitel/PC on a hard disk, type the following commands:
c: [Enter] (if installed on drive C:)
cd\mt [Enter] (if installed in \mt subdirectory)
mt [Enter]
A real Minitel terminal contains nine special keys (called function keys)
that are not on the PC keyboard. The nine keys are labelled INDEX,
CANCEL, PREVIOUS, REPEAT, GUIDE, CORRECTION, NEXT, SEND, and LOCAL/LINE.
Since these keys are not available on the PC keyboard, the function keys
on the PC keyboard (labelled F1 to F9) are used as replacements. Some of
the Minitel special keys have more than one replacement on the PC
keyboard. For example, if an application asks you to press the SEND key,
you can press either F8 or the ENTER key. The following table shows the
mapping of the Minitel function keys to their equivalents on the PC
keyboard:
English Minitel French Minitel
Key Label PC Equivalent(s) Key Label
--------------- ------------------------- --------------
INDEX F1 or HOME SOMMAIRE
CANCEL F2 or DEL ANNULATION
PREVIOUS F3 or PGUP or SHIFT TAB RETOUR
REPEAT F4 or INS REPETITION
GUIDE F5 or END GUIDE
CORRECTION F6 or BKSP CORRECTION
NEXT F7 or PGDN or TAB SUITE
SEND F8 or ENTER ENVOI
LOCAL LINE F9 CONNEXION FIN
From within Minitel/PC, you can press the PC key labelled F10 to get a
help menu showing the above Minitel function key mapping. The help menu
also displays a listing of the following important commands that control
your link with the network:
Logon to Network SHIFT-F1
Change Service SHIFT-F2
Logoff Network then Quit SHIFT-F3
See Appendix D for the complete mapping of the Minitel keyboard to the PC
keyboard.
The most commonly used Minitel function keys are SEND, which is used like
ENTER (or Carriage Return) on a normal terminal, CORRECTION, which allows
you to correct your typing errors, and GUIDE, which is used to request
help from the service you are using. See Appendix G for a more complete
description of the uses of the Minitel function keys.
As shown in the above table, Minitel/PC uses the ENTER (carriage return)
key and the BACKSPACE key to emulate the Minitel SEND and CORRECTION keys
respectively. When using Minitel/PC it is sometimes necessary to send a
real carriage return or a real backspace, for example when issuing
commands to your modem or a network. Commands to your modem must be
followed by a carriage return and not a Minitel SEND. Corrections to
errors in modem commands must be made with a backspace and not a Minitel
CORRECTION. The following table shows the Minitel/PC key combinations
that are used to send real carriage returns and backspaces:
To send real carriage return: [Ctrl-Enter] (i.e. hold down the
[Ctrl] key and press [Enter])
or [Ctrl-m]
To send a real backspace : [Ctrl-Backspace] (i.e. hold down the
[Ctrl] key and press [Backspace])
or [Ctrl-h]
Minitel/PC displays certain status information on the upper right hand
corner of the screen. In column 39 of the top row of the screen, a
reverse video 'C' is displayed once a connection is made to the network
(i.e. when the DCD signal is high), and a reverse video 'L' is displayed
when there is no connection to the network (i.e. when the DCD signal is
low). This indicator may not be correct if you do not have a proper
cable between your PC and modem or if your modem switch settings are not
correct (see Appendix J for more details on modem switch settings). A
reverse video 'M' is displayed in column 40 of the top row of the screen
while a script language program is running. Script language programs can
be stopped prematurely by pressing the [ESC] key (see Appendix E for more
details on script language programs).
4.0 Minitel/PC Commands
-------------------
Minitel/PC commands of the form [ALT-letter] are issued by holding down
the [ALT] key and pressing the 'letter'. For example, the command [ALT-
x] means hold down the [ALT] key and press the [x] key. Commands of the
form [SHIFT-Fx] are issued by holding down the [SHIFT] key and pressing
the key labelled [Fx].
4.1 Send Break Signal [ALT-b]
This command sends a break signal to the remote system. A BREAK is
usually not necessary when communicating with videotex systems. On some
data switches and modem pools, a BREAK is used for a local attention.
The length of the break sent is specified by the BREAK_LEN configuration
parameter. The value in the BREAK_LEN parameter is rounded up to the
nearest multiple of 55 milliseconds (this is the default granularity of
the PC clock interrupts).
4.2 Exit Minitel/PC without disconnecting [ALT-e]
This command allows you to exit to DOS from Minitel/PC without
disconnecting from Minitel.
4.3 Disconnect and exit Minitel/PC [ALT-q]
This command drops the line and then terminates execution of
Minitel/PC. For HAYES modems the line is dropped by first sending
three plus signs (+++) to go into local mode and then issuing the
ATH command. For other types of modems the line is dropped by
dropping the RS232 DTR signal. In Minitel mode a LOCAL LINE key is
sent prior to dropping the line to disconnect from the current
service.
During Minitel emulation the program function key [SHIFT-F3] is set by
default to perform the same function as [ALT-q].
4.4 Program Function Keys [SHIFT-F1] -> [SHIFT-F10]
The program function keys can be used to extend the functionality of
Minitel/PC by adding your own commands. A program function key can be
used to execute a script language program (see Appendix E for
instructions on writing your own script language programs) or to cause a
predefined series of characters to be sent to the remote system as if
they had been typed at the keyboard. See Section C.5 (Appendix C,
Section 5) for a description of how to assign values to function keys.
During Minitel emulation the program function keys [SHIFT-F1] through
[SHIFT-F4] are set by default to perform the following functions
[SHIFT-F1] - LOGON TO NETWORK
Automatically dial and log on to the Minitel kiosk.
This is normally the first command that you will
issue after starting Minitel/PC.
[SHIFT-F2] - CHANGE SERVICE
When connected to a Minitel service this command
can be used to return you to the Minitel kisok so
that you can select a new service.
[SHIFT-F3] - LOGOFF NETWORK then QUIT
This command disconnects you from the current
service, drops the line and returns you to DOS.
[SHIFT-F4] - NETWORK LOGON
If you have an auto-dial modem that does not
work with [SHIFT-F1], you can manually instruct
your modem to dial and then issue this command to
logon to the Minitel kiosk.
It is possible for these commands to fail for a number of reasons,
including a bad communication line, a service not available, or network
failure. See Appendix H (Error Messages) for a list of possible errors
and instructions on how to recover in case of an error.
The remaining program function keys [SHIFT-F5] through [SHIFT-F10] can be
used to add your own commands to Minitel/PC. The command [ALT-m] can be
used to display the current settings of the program function keys.
During VT100 emulation all ten program function keys are available to add
new commands.
4.5 Display Help Menu [F10] or [ALT-h]
This command displays a menu containing the Minitel function keys and the
most often used Minitel/PC commands. To leave the menu you can either
press the [ESC] key or execute one of the commands on the menu.
4.6 Program Function Key Menu [ALT-m]
This command displays a menu containing all of the program function key
settings. To leave the menu you can either press one of the program
function keys (to run the key) or press [ESC] to leave the menu without
running a program function key.
4.7 Save screen to disk [ALT-s]
This command causes the contents of the screen to be saved to a disk
file. After entering this command you will be prompted with:
Enter file name:
In response to this prompt enter the name of the DOS file in which you
would like the screen to be saved. If the file that you enter already
exists, you will be prompted with:
File xxxx
already exists. Overwrite ? (y/n)
Answering 'y' to this prompt will cause the original file to be
overwritten.
4.8 Load screen from disk [ALT-l]
This command is used to display screens that were saved with the [ALT-s]
command. After entering this command you will be prompted with:
Enter file name:
In response to this prompt, enter the name of the DOS file that contains
the screen you would like displayed.
4.9 Switch to VT100/Minitel mode [ALT-o]
This command is used to toggle Minitel/PC between Minitel emulation
mode and VT100 emulation mode. The default mode of operation is
Minitel emulation mode.
4.10 Print Text [Shift-PrtSc]
This command causes the current screen (text only) to be sent to the
printer. This command does not print graphics.
4.11 Dial [ALT-d]
This command causes Minitel/PC to run the logon script (logon.mto).
The command [ALT-d] is the same as the default setting of [SHIFT-F1].
4.12 XMODEM File Transfer [ALT-f]
Use this command to send or receive a file using XMODEM protocol.
This command only works during VT100 emulation mode. After entering
this command you will be prompted with:
PRESS [R] to receive File using XMODEM
PRESS [S] to send File using XMODEM
PRESS [ESC] to exit
At this point you can press the 'R' key to receive a file, the 'S'
key to send a file, or press the ESC key if you decide not to
transfer a file.
If you press the 'R' or 'S' keys you will be prompted with:
ENTER FILE NAME (Leave blank to exit):
If you are receiving a file, enter the name that you want the file to
be called on your local PC. If you are sending a file enter the name
of the file that you want to send. If you decide that you do not want
to transfer a file after all, hit ENTER without typing in a file
name.
If you have read sections 1 through 4, you now know all you need to know
to use Minitel/PC. The appendices describe advanced information and
features that are not required during normal use.
APPENDIX A Command Line Parameters
-----------------------
During startup, Minitel/PC reads the contents of the file MT.CFG to
determine hardware-specific information and obtain function key and
terminal settings (See Appendix C for a complete description of the
configuration file).
It is possible to have more than one configuration file. This is useful
if you routinely access more than one service and you need to have
different configuration parameters for each. To create a new
configuration file, use the DOS copy command to create a copy of the
default configuration file (MT.CFG), then use a text editor such as EDLIN
to change the parameters to the values required by the new system.
Example:
C>copy mt.cfg newconf.cfg <- make a copy of mt.cfg
C>edlin newconf.cfg <- change parameter values
.
.
C>mt newconf <- invoke Minitel/PC using
the new configuration file
In this example we created a new configuration file called 'NEWCONF.CFG'
and invoked Minitel/PC with the new configuration. Note that on the
command line we typed 'mt newconf' rather than 'mt newconf.cfg'. If you
do not specify an extension on the configuration file name, Minitel/PC
automatically appends a '.CFG'.
Some configuration parameters can be temporarily changed using command
line options. For example suppose that our configuration file
'MT.CFG' specifies that COM1: is to be used for communications and
we want to use COM2: for this session. This can be done with the
following command.
mt /c2
The above command will start Minitel/PC using COM2: for
communications. This change only affects the one session. The next
time you invoke Minitel/PC it will use COM1: for communications
(unless of course you use the /c2 option again).
The backslash in parameter tells Minitel/PC that you are specifying a
command line option and not a configuration file name. The 'c' specifies
that we want to change the communications port, and the '2' says that we
want to change the communications port to COM2:. Command line parameters
can also be used in combination with a configuration file name. In the
following example, the configuration file 'NEWCONF.CFG' is used instead
of 'MT.CFG'.
mt newconf /c2
The general form of all command line options is:
backslash single_character_option option_parameter
No spaces are allowed between the single_character_option and the
option_parameter. Not all options have an option parameter. Either
upper or lower case can be specified for both the option name and
parameter. The following table lists all the available command line
options and the valid parameter values for each.
Equivalent
Config file
Option Parameter Description
------ ----------- -----------
c COMMPORT Set communications port
Valid parameter values are 1 and 2
b SPEED Set line speed in bits per second
Valid parameter values are:
300,1200,2400,4800,9600,19200
p PARITY Set the character parity type.
Valid param values are o,e,n,m,s,
where o=ODD,e=EVEN,n=NONE,m=MARK,s=SPACE
d DATABITS Set the number of data bits per character.
Valid parameter values are 7 and 8.
s STOPBITS Set the number of stop bits per character.
Valid parameter values are 1 and 2.
a DISPLAY_ADAPTOR Specify display adaptor type.
Valid parameter values are H,C,E,M,
where H=Hercules,C=CGA,E=EGA,M=MDA.
e EMULATION Specifies the type of terminal to be
emulated. Valid parameter values are
V and M, where V=VT100 and M=Minitel.
m <none> Specifies the name of a script (macro)
language program to run after startup.
n PHONE Specifies a telephone number to use
when dialing.
x X3_MODE Specifies whether X.3 PAD compatibility
is to be used. 0=NO and 1=YES.
l LOCAL_ECHO Specifies whether or not data typed at
the keyboard is to be echoed to the screen
(0=don't echo, 1=echo).
? Causes this table to be printed at the
terminal. This option has no parameters.
More than one command line parameter can be specified when starting
Minitel/PC. The syntax of the Minitel/PC command line is:
mt config_file_name /c* /b* /p* /d* /s* /a* /e* /m* /x* /n* /l* /?
Notes:
The '*' denotes the position of the option parameter. Command line
options can be specified in any order. The configuration file
name(s) can also appear after or between command line options. If
more than one configuration file is named on the command line, they
are read in the order specified. Having more than one configuration
file allows you to separate the different types of parameters into
separate configuration files. For example, you may wish to put the
communications parameters in one file and the program function key
settings in another.
Examples:
In this example, we start Minitel/PC using the configuration file
'XXX.CFG' and specify that the line speed is to be changed to 2400 bps
(bits per second) and the display adaptor is to be changed to EGA.
mt xxx /b2400 /ae
The following example is the same as the first except that we specify two
configuration file names.
mt origconf newconf /b2400 /ae
APPENDIX B Files distributed with Minitel/PC
---------------------------------
The following files are distributed with Minitel/PC:
MT.EXE - The Minitel/PC program
CGA.FNT - Data file containing character font descriptions
for the CGA display adaptor (only necessary
when using a CGA display adaptor)
EGA.FNT - Data file containing character font descriptions
for the EGA display adaptor (only necessary
when using a EGA display adaptor)
HERCULES.FNT - Data file containing character font descriptions
for the HERCULES display adaptor (only necessary
when using a HERCULES display adaptor)
MT.DOC - The file you are now reading.
INSTALL.EXE - Minitel/PC installation program.
PHONE.DAT - Minitel Services Company telephone access listing
(used by INSTALL)
MTINST.FIL - Emulator file list (used by INSTALL)
MTC.EXE - Script Language Compiler
LOGON.MTO - Script language program to dial and logon to the
Minitel kiosk (needed by the [SHIFT-F1] command and
the [Alt-d] command)
LOGON.MT - Source code for the above program
CHANGESE.MTO - Script language program which causes a disconnect
from the current service and returns you to the kiosk
so you can select a new service (needed by the
[SHIFT-F2] command)
CHANGESE.MT - Source code for the above program
NETLOGON.MTO - Script language program to that logs on to the Minitel
service kiosk (needed by the [SHIFT-F1], [SHIFT-F2],
and [SHIFT-F4] and [Alt-d] commands)
NETLOGON.MT - Source code for the above program
APPENDIX C Configuration parameters
------------------------
This section describes the parameters in the Minitel/PC configuration
file (MT.CFG). The configuration file contains one parameter per line.
Lines are separated by CR/LF pairs. All lines have the following format:
parameter_name=parameter_value
The equal sign (ASCII 3D) separates the parameter name from its value.
Control characters can be specified in the parameter value by using a
circumflex (^) followed by another character. For example ^M (control M)
can be used to specify a carriage return. Two circumflexes in a row can
be used to specify a circumflex. See Appendix F for a detailed
discussion on entering control characters in a string.
The following table describes all of the configuration parameters that
are implemented in this version of Minitel/PC:
C.1) Modem Paramters
Parameter Name Type Description
-------------- ---- -----------
MODEM int Describes the type of modem. Valid
values are:
0 = HAYES300
2 = HAYES1200
3 = HAYES1200B
4 = HAYES2400
5 = HAYES2400B
6 = MANUAL
7 = DIRECT
8 = OTHER
MODEM_INIT char String that must be sent to initialize
the modem (if any)
MODEM_RESPONSE char String that the modem sends in response
to an initialization command.
MODEM_DIAL_PREFIX char String that must prefix the telephone
number in a dial command
MODEM_DIAL_SUFFIX char String that must follow the telephone
number in a dial command
MODEM_SUCCESS char Specifies a successful response to a
modem dial request. There can be more
than one of these parameters present if
there are multiple success responses
(maximum of ten).
MODEM_FAILURE char Specifies a failure response to a modem
dial request. There can be more than one
of these parameters present if there
are multiple failure responses
(maximum of ten).
C.2) User Information
Parameter Name Type Description
-------------- ---- -----------
PHONE char Telephone number of nearest Minitel
Services Company access point
USERID char Minitel User ID
PASSWORD char Minitel Password
SERVICE char A standard Minitel Service Code.
If this parameter is present, the
[Shift-F1] and [Alt-d] auto-logon
procedure will automatically connect to
the specified service, as if the Service
Code had been entered at the Minitel
Main Menu.
C.3) Communication Parameters
Parameter Name Type Description
-------------- ---- -----------
COMMPORT int Number of the port to use for
communications (1=COM1, 2=COM2, etc)
SPEED int Communications speed in bits per second
(one of 300, 1200, 2400, 4800, 9600,
19200)
PARITY char Parity (one of O,E,N,M,S = ODD, EVEN,
NONE, MARK, SPACE respectively)
DATABITS int Data Bits (either 7 or 8)
STOPBITS int Stop Bits (either 1 or 2)
BREAK_LEN int Duration of BREAK signal in milliseconds
(a break signal can be sent with the
[ALT-b] command)
CARRIER_DETECTABLE int This parameter informs the emulator
if the presence of carrier is
detectable by looking at the state of
the RS232 CD pin. In some cases the
carrier is not detectable because the
modem keeps this signal high or the
pin is missing from the cable that
connects the modem to the PC. This
parameter can have the following values:
0 = carrier not detectable
1 = carrier detectable
FLOWCONTROL int This parameter can have one of the
following values.
0 = NONE
1 = XON/XOFF (VT100 emulation only)
2 = CTS/RTS hardware protocol
(XON/XOFF protocol should not be used
during Minitel emulation)
X3_MODE int Specifies whether the access network
uses X.3 PADs.
0 = NO
1 = YES
Default value is "0" as X.3 PAD
compatibility is not required for
access via the normal Minitel network.
If the port is other than COM1 or COM2, the following parameters must
also be specified (values must be specified in a decimal radix).
ADDR8250 int I/O address of 8250 UART
INTVECTOR int Interupt vector number
ADDR8259 int Absolute I/O address of 8259 Interupt
Controller
IRQ int IRQ number for 8259
C.4) Display Parameters
Parameter Name Type Description
-------------- ---- -----------
DISPLAY_ADAPTOR int Type of display adaptor in the PC.
Valid values are:
0 = HGC (Hercules)
1 = CGA
2 = EGA
3 = MDA (Monochrome)
C.5) Program Function Keys
Parameter Name Type Description
-------------- ---- -----------
PF1 char Setting of program function key 1
PF2 char Setting of program function key 2
PF3 char Setting of program function key 3
PF4 char Setting of program function key 4
PF5 char Setting of program function key 5
PF6 char Setting of program function key 6
PF7 char Setting of program function key 7
PF8 char Setting of program function key 8
PF9 char Setting of program function key 9
PF10 char Setting of program function key 10
Each program function key value is either NULL or has the following
format:
Positions Meaning
--------- -------
1 Type of value stored in the key. Must be one of the
following:
M - A MACRO (script language program) to be run
S - A string to be sent
2 A single dash character (ASCII 2DH). This is just a
separator to make the line readable.
3- Value to be stored in the function key:
Pos 1 Contents of pos 3-
----- ------------------
M Name of file containing the script language
program to be run when this key is pressed.
S String to be sent to the remote system when
this key is pressed. Control characters can
be specified in this string by using a
circumflex (^) followed by another
character (See Appendix F).
Example:
--------
To assign a HAYES dial command to program function key five, the
following line could be added to the configuration file.
PF5=S-ATDT4388304^M
^ ^ ^ ^
| | | |
| | | The ^M specifies a carriage return
| | Program function key value
| Program function key type
Names the program function key to be set
The following special values can also be assigned to program
function keys.
M-<DROPLINE/QUIT> This is the default value of PF3. This
value causes the emulator to drop the
line then exit to DOS.
M-<DROPLINE> This value causes the emulator to drop
the line. Same as the above value except
the emulator does not exit to DOS.
M-<QUIT> This value causes the emulator to exit
to DOS without dropping the line.
C.6) Terminal Parameters
Parameter Name Type Description
-------------- ---- -----------
EMULATION int Type of emulation to perform.
Value must be one of:
0 = VT100
1 = MINITEL
LOCAL_ECHO int Local echo on or off (0=OFF, 1=ON).
During MINITEL emulation this flag works
with the CARRIER_DETECTABLE flag. If
the carrier is detectable and local echo
is on then keystrokes will be echoed to
the screen when there is no carrier
(i.e. when 'L' appears on status row).
During VT100 emulation keystrokes are
always echoed when this parameter is on.
PAGE_MODE int Page or scroll mode flag (0=SCROLL MODE,
1=PAGE MODE)
X3_MODE int X.3 pad compatibility mode enabled flag
(0=OFF, 1=ON).
VTANSWERBACK char During VT100 emulation this value forms
the text part of the string that will be
sent to the remote system when an
answerback is requested. The default
value is "HI_THERE".
VTLINEWRAP int VT100 line wrap mode flag (0=no line
wrap, non-zero=line wrap).
VTMARGINBELL int VT100 margin bell flag (0=disable bell,
non-zero=enable bell). The margin bell
will only work if LOCAL_ECHO is enabled.
VTUKSET int VT100 UK character set flag (0=use North
American character set, non-zero=use UK
character set).
VTWIDESCREEN int VT100 screen width flag (0=80 column
mode, non-zero=132 column mode).
VT_LF_NL int This paramater only has effect during
VT100 emulation. If the parameter has a
non-zero value a CR/LF will be displayed
on the screen whenever a LF is received
from the remote system and a LF will be
sent to the screen whenever a CR is typed
at the local keyboard.
APPENDIX D Keyboard Mapping
----------------
The following describes the mapping of the Minitel keyboard to the PC
keyboard.
Single Codes
Code Sent Key or Combination
(in hex) Character of Keys
Minitel PC
--------- --------- ------- -------
00 NUL Ctrl' Ctrl @
01 SOH Ctrl A
02 STX Ctrl B
03 ETX Ctrl C
04 EOT Ctrl D
05 ENQ Ctrl E
06 ACK Ctrl F
07 BEL Ctrl G
08 BS Ctrl H
09 HT Ctrl I
0A LF Ctrl J or Ctrl: Ctrl J
0B VT Ctrl K or Ctrl; Ctrl K
0C FF Ctrl L
0D CR Ctrl M or Enter Ctrl M
0E SO Ctrl N
0F SI Ctrl O
10 DLE Ctrl P
11 Cursor ON Ctrl Q
12 REP Ctrl R
13 SEP Ctrl S
14 Cursor OFF Ctrl T
15 NACK Ctrl U
16 SYN Ctrl V
17 ETB Ctrl W
18 CAN Ctrl X
19 SS2 Ctrl Y
1A SUB Ctrl Z
1B ESC Esc
1C FS Ctrl , Ctrl | or Ctrl \
1D SS3 Ctrl - Ctrl } or Ctrl ]
1E RS Ctrl . Ctrl ^
1F US Ctrl ? Ctrl _
20 Space Spacebar Spacebar
21 ! SK 1 **
22 " SK 2 **
23 # # or SK 3 **
24 $ SK 4 **
25 % SK 5 **
26 & SK 6 **
27 ' 'or SK 7 **
28 ( SK 8 **
29 ) SK 9 **
2A * * or SK : **
2B + SK ; **
2C , , **
2D - - **
2E . . **
2F Box with diagonal line SK ? /
30 0 0
31 1 1
32 2 2
33 3 3
34 4 4
35 5 5
36 6 6
37 7 7
38 8 8
39 9 9
3A : :
3B ; ;
3C < SK , **
3D = SK - **
3E > SK . **
3F ? ? **
40 @ SK ' **
41 A A Shift A
42 B B Shift B
43 C C Shift C
44 D D Shift D
45 E E Shift E
46 F F Shift F
47 G G Shift G
48 H H Shift H
49 I I Shift I
4A J J Shift J
4B K K Shift K
4C L L Shift L
4D M M Shift M
4E N N Shift N
4F O O Shift O
50 P P Shift P
51 Q Q Shift Q
52 R R Shift R
53 S S Shift S
54 T T Shift T
55 U U Shift U
56 V V Shift V
57 W W Shift W
58 X X Shift X
59 Y Y Shift Y
5A Z Z Shift Z
5B [ SK * **
5C 10 o'clock diagonal line SK Cancel \
5D ] SK # **
5E Up Arrow SK 0 ^
5F Low horizontal line Ctrl 6 _
60 Middle horizontal line Ctrl 5 `
61 a SK A A
62 b SK B B
63 c SK C C
64 d SK D D
65 e SK E E
66 f SK F F
67 g SK G G
68 h SK H H
69 i SK I I
6A j SK J J
6B k SK K K
6C l SK L L
6D m SK M M
6E n SK N N
6F o SK O O
70 p SK P P
71 q SK Q Q
72 r SK R R
73 s SK S S
74 t SK T T
75 u SK U U
76 v SK V V
77 w SK W W
78 x SK X X
79 y SK Y Y
7A z SK Z Z
7B Left vertical line Ctrl 1 or {
SK repeat
7C Middle vertical line Ctrl 2 |
7D Right vertical line Ctrl 3 or }
SK send
7E Upper horizontal line Ctrl 4 ~
7F Filled in Box Ctrl <-- Ctrl BS
Sequences of two or three codes:
Code sent Key or combination
(in hex) Character of keys
Minitel PC
--------- --------- ------- -------
19,41 ` (grave accent) SK Next (not impl)
19,43 ^ (circumflex) SK Index (not impl)
Hex sequences sent by function keys:
Key or Combination
of keys PC Key Codes Sent
------------------ ------ ----------
Send F8 or Enter 13,41
Previous F3 or Shift-Tab or PgUp 13,42
Repeat F4 13,43
Guide F5 13,44
Cancel F2 or End 13,45
Index F1 or Home 13,46
Correction F6 or Backspace 13,47
Next F7 or Tab or PgDn 13,48
Line/Local F9 13,49-Modem
SK Line/Local (not supported on PC) 13,49-Socket
Ctrl Line/Local Alt b Break to modem
Notes:
1) SK = Special key on Minitel
= Shift key on PC
2) Where there is no PC key specified, the PC key is the same as the
Minitel key.
3) '**' Means to use the Key marked for this purpose on your particular
keyboard.
APPENDIX E Minitel/PC Script Language
--------------------------
E.1 Script Language Compiler (MTC.EXE)
The Minitel/PC script language is a semi-compiled language. To create a
script language program, any text editor which creates an ASCII format
file can be used. Once a script program has been created, it must be
compiled by the program 'MTC.EXE' (Minitel/PC Compiler) before it can be
executed. MTC checks the source for syntax errors and produces a
compiled program as its result. Script source files are expected to have
an extension of 'MT'. MTC gives compiled scripts an extension of 'MTO'
(Minitel/PC Object).
To compile a program with MTC, type the command:
mtc source_file_name
in response to the DOS prompt. It is not necessary to specify the '.MT'
extension of the source file name. If you do not specify the source file
name on the command line, MTC will prompt you with the line:
'Source file name ?'.
If you enter only a carriage return in response to the source file
prompt, MTC will prompt you to enter the program source at the terminal.
The following diagram illustrates the script creation process:
Create Script Source
file with text editor
(create myscript.mt)
|
|
V
mtc myscript
|
|
V
myscript.mto
E.2 Running a Script Language Program
Scripts can be started by assigning them to a program function key, then
pressing the program function key at run time, or by using the /m command
line parameter. For example typing 'mt /mlogon' starts Minitel/PC, then
invokes the script program named 'logon'. Only one script language
program can be specified on the command line. If more than one is
specified, only the one that was last named is run. While a script
language program is running, a reverse-video 'M' will appear in column 40
of the status row. A running script language program can be aborted at
any time by pressing the [ESC] key.
E.3 Script Language Description
A Minitel/PC script language program consists of a series of statements.
Each statement can be preceded by a label. A label consists of up to 15
alphanumeric characters (and underscores) followed by a colon. The first
character of a label must be alphabetic. Comments can be placed anywhere
in a program by enclosing the comment within curly brackets ({}). The
END directive must follow the last statement of a script language program
(the END directive is a message to the script language compiler (MTC)
telling it that it has reached the end of the program).
Following is a description of all script language statements:
E.3.1) DIAL statement
The dial statement causes the modem to dial the Minitel Services Company
node using the phone number and modem information from the Minitel/PC
configuration file. If the dial attempt fails, the script language
program is aborted, and a failure message is displayed on the screen.
The DIAL command supports all required modems for the HOST machine. For
example, on the PC the DIAL command supports the HAYES modem, MANUAL dial
modems, DIRECT modems, and any command-driven auto-dial modem.
The following algorithm details the logic used by the DIAL command:
a) If the modem type is direct, terminate successfully, otherwise proceed
with step b).
b) If the modem type is manual, proceed with step c), otherwise go to
step e)
c) Prompt user to dial the number
d) Prompt user for a key;
If the user enters an ESC, terminate with failure
If the user enters a key other than ESC, terminate successfully
If the carrier signal goes from low to high while waiting for
a key, terminate successfully.
e) If there is a MODEM_INIT parameter in the configuration file, send it
and proceed to step f), otherwise proceed to step h).
f) If there is a MODEM_RESPONSE parameter in the configuration file,
proceed to step g), otherwise wait till two seconds elapses with no data
received from the remote system, then proceed to step h).
g) If the modem response is not received within 10 seconds, terminate
with failure, otherwise proceed to step h).
h) Build a dial command from the MODEM_DIAL_PREFIX, PHONE and the
MODEM_DIAL_SUFFIX configuration parameters and send the dial command to
the modem.
i) If there are no MODEM_SUCCESS configuration parameters, inform the
user that a dial command has been sent and proceed to step d).
j) Wait for any of the MODEM_SUCCESS or MODEM_FAILURE responses to be
received.
If 90 seconds go by with none of the success or failure responses
received, terminate with failure.
If a success response is received, terminate successfully.
If a failure response is received, proceed to step k).
k) Prompt the user to see if he wants to try another dial attempt. If
'YES' proceed to step e), otherwise terminate with failure.
E.3.2) BRANCH statement
SYNTAX:
BRANCH label
The BRANCH statement causes program execution continue with the statement
following the given label, rather than the next statement.
statement 1
statement 2
BRANCH skip
statement 3
statement 4
skip: statement 5
In the above example, the statements will be executed in the this order:
statement 1
statement 2
statement 5
E.3.3) PAUSE statement
SYNTAX:
PAUSE tenths_of_second
The PAUSE statement causes the program to halt for the given number of
tenths of a second before proceeding with the next statement.
e.g.
PAUSE 10 <- pause for 1 second
E.3.4) TYPE statement
SYNTAX:
TYPE string
The TYPE statement causes the characters in the given string to be sent
to the remote system as though they had been typed at the terminal.
The string can consist of any combination of the following.
- a quoted string. The quoted string can contain diagraphs
of the form '^letter' to include control characters in the
string. For example the digraph ^M is a carriage return.
See Appendix F for a complete description of digraphs. See
notes at the end of section E.5 for more details on quoted
strings.
- a Minitel function key (one of LOCAL_LINE, INDEX,
CANCEL, PREVIOUS, REPEAT, GUIDE, CORRECTION, NEXT,
SEND)
- a character constant (CR, LF, BS, BELL)
- any of the following configuration parameter names
PASSWORD
PHONE
USERID
e.g.
TYPE 'AT?' CR <- send string AT? followed by a CR
TYPE 'AT^M' <- same as above
TYPE 'CHAT' SEND <- send the string CHAT followed by
the Minitel send key
TYPE USERID CR <- send the value of the configuration
file USERID parameter followed by
a CR (carriage return)
E.3.5) QUIT statement
Terminates execution of the current script program.
E.3.6) DOPF statement
SYNTAX:
DOPF number
Causes the named program function key to be executed. This causes the
same effect as the user pressing the given function key at the keyboard.
Script language programs can invoke other script language programs using
function keys.
e.g.
DOPF 2 <- execute PF2
E.3.7) MESSAGE statement
SYNTAX:
MESSAGE string
This command causes the given string to appear in a pop-up window on the
screen, along with the message 'PRESS ANY KEY TO CONTINUE'. After the
user presses a key, the pop-up window disappears, and the underlying
screen is restored. The string containing the message to be printed must
have the same format as a string in a TYPE statement.
e.g.
MESSAGE 'Logon Procedure has failed'
E.3.8) LOOP statement
SYNTAX:
LOOP number
statements
AT_END_DO
statements
ENDLOOP
The LOOP statement causes the statements between the LOOP keyword and the
AT_END_DO clause to be executed 'number' times. After the last time, the
statements following the optional AT_END_DO clause are executed. The
loop can be terminated prematurely by using the BREAK statement or the
BRANCH statement. The BREAK statement causes program execution to
continue following the ENDLOOP clause. If the loop is terminated
prematurely for any reason, the statements following the AT_END_DO clause
are not executed. The BREAK statement is ignored if it is encountered
anywhere other than within a LOOP.
Example:
LOOP 3
type 'hello' CR
AT_END_DO
type 'this is the last hello'
ENDLOOP
The above example causes the following data to be sent to the remote
system:
hello
hello
hello
this is the last hello
Example 2:
LOOP 2
TYPE 'I am about to pause for 5 seconds'
PAUSE 50
ENDLOOP
The above example demonstrates a loop statement with no AT_END_DO clause.
E.3.9) WAIT statement
SYNTAX:
WAIT tenths
CASE string 1
statements
CASE string 2
statements
.
.
CASE string N
statements
FAILURE
statements
ENDWAIT
The WAIT statement causes the script program to WAIT for data from the
remote computer system. If any of the strings named by one of the CASE
clauses are received from the remote system, the statements following
that CASE clause are executed. If 'tenths' tenths of a second go by with
no data received from the remote system, or if the line drops, the
statements following the optional FAILURE clause are executed. After the
statements following a CASE or FAILURE clause are executed, execution
continues after the ENDWAIT clause.
The string parameter of the CASE clause must have the same format as a
string in a TYPE statement. Multiple strings can be specified by
separating them with a comma (,). If there are multiple strings
separated by a comma, the statements following the CASE clause are
executed if any one of the named strings are received from the remote
system.
Example:
TYPE 'ATDP 438-8304' CR
WAIT 600 { wait up to 60 seconds (600 tenths) }
CASE 'CONNECT', 'CONNECT 1200', 'CONNECT 600', 'CONNECT 2400'
{ the dial attempt has succeeded so just continue }
{ with the statement following the ENDWAIT }
CASE 'NO CARRIER', 'BUSY', 'NO ANSWER'
MESSAGE 'Dial attempt has failed, try again later'
QUIT
CASE 'ERROR', 'NO DIALTONE'
MESSAGE 'Fatal error during dial attempt'
QUIT
FAILURE
MESSAGE
'Timeout, line lost or user ESC during Dial Attempt'
QUIT
ENDWAIT
WAIT 5
CASE CR LF { wait for rest of modem response }
ENDWAIT
In the above example, we send a dial request to a HAYES modem and use the
WAIT statement to check the result (note that you would normally not have
to do this since the above and more can be performed automatically by the
DIAL command).
Example 2:
LOOP 10
TYPE CR
WAIT 3 CASE '#' BREAK ENDWAIT
AT_END_DO
MESSAGE 'PAD not responding with a # prompt.'
QUIT
ENDLOOP
In the above example, we send up to 10 carriage returns (one every three
tenths of a second) in an attempt to get a '#' prompt from a Minitel
Services Company PAD. The WAIT statement waits up to three tenths of a
second for a '#'. If it fails, there is no effect (since there is no
FAILURE clause). If the WAIT statement succeeds, the BREAK statement is
executed, and the LOOP terminates prematurely. If the loop terminates
prematurely, the statements following the AT_END_DO clause are not
executed. Note that statements can be split over multiple lines. The
above WAIT statement would be more clearly written as:
WAIT 3
CASE '#'
BREAK
ENDWAIT
E.3.10) IF statement
SYNTAX:
IF string THEN
statements IF string THEN
ELSE OR statements
statements ENDIF
ENDIF
The IF statment tests the value of 'string' for a non-null value. If
'string' has a non-null value, the statements between the THEN and ELSE
clauses are executed, otherwise the statements between the ELSE and ENDIF
clauses are executed. The ELSE clause is optional. If there is no ELSE
clause, and 'string' has a non-null value, the statments between the ELSE
and ENDIF clauses are executed, otherwise execution continues after the
ENDIF clauses.
Example:
{ if there is a phone # in the config file then dial }
if phone then
message 'Your local access # is ' phone
dial
else
message 'No PHONE parameter specified in config file'
endif
Example 2:
{ if there is a password in the config file then send it }
if password then
type password SEND
endif
E.4 Script Program Example
The following example is a complete script language program that dials
the Minitel Services Company kiosk and requests a service.
{ logon.mt - script program to dial the Minitel services company
network and request a service }
dial { dial Minitel Services Company network
- uses config modem type & number }
{ try up to six times to get a pound sign }
loop 6
type CR
wait 3 case '#' break endwait
at_end_do
message 'PAD not responding with #'
quit
endloop
{ perform network logon }
type 'x' CR
wait 50
case '*' { success }
failure
message 'PAD not responding with *'
quit
endwait
type '.vmt' CR { request network service }
end
E.5 Detailed Script Language Syntax Definition
The following defines the syntax of all legal script language programs.
Program -> Lines END
Lines -> Lines Line
-> Line
-> <empty>
Line -> Label Statement
Label -> <identifier> :
-> <empty>
Statement -> WAIT <integer> Waitcases Failcase ENDWAIT
-> LOOP <integer> Lines Endstmnts ENDLOOP
-> IF Charexp THEN Lines ElseIf ENDIF
-> MESSAGE Charexp
-> DOPF <integer>
-> DIAL
-> BRANCH <identifier>
-> PAUSE <integer>
-> QUIT
-> TYPE Charexp
-> BREAK
Waitcases -> Waitcases Waitcase
-> Waitcase
Waitcase -> CASE Charexplist Lines
Charexplist -> Charexplist , Charexp
-> Charexp
Failcase -> FAILURE Lines
-> <empty>
Endstmnts -> AT_END_DO Lines
-> <empty>
ElseIf -> ELSE Lines
-> <empty>
Charexp -> Charexp Charterm
-> Charterm
Charterm -> Envcharvar
-> Charconst
-> Functionkey
-> <string>
Charconst -> CR
-> LF
-> BS
-> BELL
Envcharvar -> PF1
-> PF2
-> PF3
-> PF4
-> PF5
-> PF6
-> PF7
-> PF8
-> PF9
-> PF10
-> PASSWORD
-> PHONE
-> USERID
-> SERVICE
Functionkey -> LOCAL_LINE
-> INDEX
-> CANCEL
-> PREVIOUS
-> REPEAT
-> GUIDE
-> CORRECTION
-> NEXT
-> SEND
Notes:
i) <empty> means that the construct is optional.
ii) <identifier> is an identifier of up to 15 alphanumeric characters
(and underscore) in length. The first character of an identifier must be
alphabetic.
iii) <string> is a character string enclosed in single quotes. Single
quotes can be included within the string by putting two of them together.
For example, to specify the string;
that's all folks
you would enter
'that''s all folks'
iv) <integer> is an integer value in the range -32768 to 32767. Values
outside this range will cause undefined results.
v) Comments can appear anywhere in the program except within a token.
Examples:
WAIT { this is a legal comment } 10
CASE 'hello'
ENDWAIT
WAI{ this comment causes an error }T 10
CASE 'hello'
ENDWAIT
vi) Values entirely in upper case are keywords and can appear in a
script language program in either upper, lower or mixed case.
APPENDIX F Entering Control Characters
---------------------------
Control characters can be entered into configuration file parameters,
literal strings in a script language program, and in the answers to
prompts in the installation program by using a two character digraph of
the form ^x, where '^' is the circumflex character (ascii 94) and 'x' is
any other character. The sequence ^x causes the control character whose
value is the ascii value of the upper case version of the character minus
64 to be entered into the string. For example ^m causes a carriage
return to be entered into the string (the ascii value of an upper case
'm' is 77. Seventy-seven minus 64 is equal to 13 which is the ascii
value of a carriage return).
The following table lists a number of useful digraphs:
Digraph Control Character Ascii Value
------- ----------------- -----------
^M CR 13
^J LF 10
^H BS 8
^G BELL 7
^L FF 12
^I TAB 9
^[ ESC 27
The following digraph/character combinations can be used to encode
Minitel functions keys within a string:
Code Function Key Ascii Values
---- ------------ ------------
^SA SEND 19 65
^SB PREVIOUS 19 66
^SC REPEAT 19 67
^SD GUIDE 19 68
^SE CANCEL 19 69
^SF INDEX 19 70
^SG CORRECTION 19 71
^SH NEXT 19 72
^SI LOCAL/LINE 19 73
Note that the above function key coding represents the non-X.3
compatible version of the function keys. Within script language
programs you should always use the function key names rather than the
digraphs, because the function key names will cause the correct
sequence to be sent depending on whether or not you are in X.3
compatible mode.
If you wish to enter a circumflex (^) in a string as itself, you must put
two of them in a row. If you enter a sequence in a string of the form
^x, and the ascii value of the character x is less than 64, the
circumflex (^) is ignored.
APPENDIX G Use of the Minitel Function Keys
--------------------------------
The following tables describe the most common meaning of each of the
Minitel function keys. Pressing the asterisk key (*) prior to a function
key modifies the meaning of a number of the keys.
FUNCTION KEY MEANING
------------ -------
LOCAL LINE Causes a disconnection from the current service.
SEND Validation of character strings or completion of a form.
REPEAT Causes service to retransmit the previous screen.
Used to clear transmission errors.
*REPEAT Refresh the current display with updates made since
the previous request.
INDEX Return to the index of the service in use.
*INDEX Access to the index at the highest level in the
case of a hierarchical index.
GUIDE Request HELP from the service.
CORRECTION Used to erase the last character typed.
The following function keys have slightly different meanings depending on
whether you are in a data entry screen or are giving a command to an
application.
MEANING IN DATA MEANING AS COMMAND
FUNCTION KEY ENTRY SCREEN TO APPLICATION
------------ --------------- ------------------
CANCEL Deletes the contents of Abort current enquiry.
the current field.
*CANCEL Delete all fields on the No Meaning
current form and move to
the first field.
NEXT Move to following field. Move to following page.
PREVIOUS Move to previous field. Move to previous page.
*NEXT Move to following page. Move to following document.
*PREVIOUS If there is a previous Return to the last menu
page, return to the first page or message.
field of the previous page,
otherwise move to the first
field of the current page.
The above tables were adapted from tables in the Intelmatique document
titled 'USE OF THE MINITEL FUNCTION KEYS'.
APPENDIX H Error Messages
--------------
This appendix lists the most common error messages that can occur and
recommends corrective action that can be taken for each.
If the suggested corrective action fails for the following group of
commands, try exiting the emulator (with the [SHIFT-F3] command) and
restarting the emulator (with the MT command).
Command(s) Error and Corrective Action
---------- ---------------------------
[ALT-d],
[SHIFT-F1] "Timeout or Line Lost while Dialing"
Retry the [SHIFT-F1] command.
[ALT-d],
[SHIFT-F1] "Modem not responding to init string"
Make sure that your modem is connected and powered on,
that the correct com port has been chosen,
then retry the [SHIFT-F1] command.
[ALT-d],
[SHIFT-F1] "DIAL Attempt has Failed."
"Try Again ? (Y=Yes, N=No)"
Enter 'Y' if you want Minitel/PC to try again. If
you want to quit, enter 'N', then issue the [SHIFT-F3]
command. If you want to try dialing manually, enter
'N', then enter the dial command. If you get a
connection by dialing manually, you can use the
[SHIFT-F4] command to logon to the kiosk.
[ALT-d],
[SHIFT-F1], "Unable to connect to network service"
[SHIFT-F2], "PAD not responding with #"
[SHIFT-F4] "PAD not responding with *"
If any of the above errors occur, issue the
[SHIFT-F4] command (even if the error occured in a
[SHIFT-F1] or [SHIFT-F2] command).
If any of the following errors occur then you must exit the emulator
to take corrective action.
Command(s) Error and Corrective Action
---------- ---------------------------
[ALT-d],
[SHIFT-F1],
[SHIFT-F2], "User ID prompt not received"
[SHIFT-F4]
If this error occurs, exit the emulator with the
[SHIFT-F3] command and start again.
[ALT-d],
[SHIFT-F1] "Error: No PHONE param in config file"
To use the auto dial feature of Minitel/PC, you must
enter a value in response to the access number
prompt in INSTALL. If this error occurs, re-run
INSTALL and enter an access number.
[ALT-d],
[SHIFT-Fx] "Script <xxx> not found."
Make sure that the file 'xxx' is in the default drive
and directory before starting the emulator.
[ALT-d],
[SHIFT-Fx] "Error reading <xxx>"
"Aborting Script - Bad Instruction"
"Aborting Script - Bad env var"
"Aborting Script - Bad function key"
"Aborting Script - Bad char item"
If any of the above errors occur, the script
program that was running when the error occurred
has become corrupted. Try recompiling the script
program with MTC.
[SHIFT-Fx] "Illegal value in key PFx"
This error occurs if there is a bad definition for
the program function key PFx in the configuration
file. Possible errors are:
- A character other than an upper case 'M' or 'S'
was specified as the first character of the key
definition
- A character other than '-' was specified as the
second character of the key definition
To correct this problem, fix the program function key
definition in the configuration file.
APPENDIX I Printing the screen
-------------------
From within the emulator you can send the text on your screen to the
printer using the [Shift-PrtSc] key combination (i.e. hold down the
Shift key then press the PrtSc key). This command will work no matter
what type of display adaptor or printer you have in your system.
Currently it is not possible to print graphics.
APPENDIX J Modem Switch Settings
---------------------
This section specifies the switch settings that are recommended for each
of the modems that are supported by the emulator.
1) Hayes 300 and Hayes 1200 external modems
switch: 1 2 3 4 5 6 7 8
setting: - - - - - U - D
D = down, U = up, - = don't care
2) Hayes 1200B internal modem
switch: 1 2 3
setting: - - D
D = down, U = up, - = don't care
3) Hayes 2400 external modem, Hayes 2400B internal modem and direct
connection:
nothing needs to be set with these modems.
4) Manual Dial modems and Other (non-Hayes compatible) command-driven
modems:
For best results these modems should be configured so that:
-> DCD tracks the state of the data carrier from the remote modem.
-> An ON to OFF transition of DTR causes the modem to drop the line.
If the modem is command-driven, it is recommended that during
installation (while running INSTALL), you put the commands that configure
the modem as above in the modem init string.
APPENDIX K Version Differences
-------------------
This section provides a list of the changes that were made to
Minitel/PC version 2.3 to produce version 2.4.
1) The TTY emulation mode was replaced with a VT100 emulation mode.
2) Valid options for the command line paramter /e are now 'v' (for
VT100) and 'm' (for Minitel).
3) Auto-logon can be requested from the VT100 copyright screen.
4) A new command line parameter /l has been added. This parameter
allows you to turn local echo on or off.
6) NULL characters in the screen are no longer stored in the file
when you save a screen to disk.
5) The following bugs were corrected:
- NULLs were not always filtered correctly during Minitel
emulation.
- Data to the screen was lost when a command to switch from
Minitel to VT100 mode or VT100 to Minitel mode was received
while a script language program was running.
- The wrong error message was sometimes reported when an
XMODEM file transfer failed.
---------------------------------------------------------------------
This section provides a list of the changes that were made to
Minitel/PC version 2.2 to produce version 2.3.
1) The keys used for many of the commands have been changed to bring
the emulator into conformance with TOG standards.
2) An XMODEM file transfer command has been added (ALT-f). The XMODEM
command only works during TTY terminal emulation.
3) The [Shift-PrtSc] command can now be used to send the text of any
screen to the printer no matter what type of display adaptor you
are using.
4) The [ALT-d] command now dials and performs an auto-logon.
Previously it just dialed. The [ALT-d] command uses the provided
script 'LOGON.MTO' for this purpose.
5) The following VT100 escape sequences and control codes have been
implemented in the TTY portion of the emulator (some of these
sequences were partially implemented in the previous version of
Minitel/PC).
ESC [ x J - clear screen
ESC [ x K - clear line
ESC [ x1 ; x2 ; ... m - set video attributes (bold, blink,
inverse and underline have been
implemented)
HT - standard tabs every eight columns
VT, FF - same as LF
---------------------------------------------------------------------
This section provides a list of the changes that were made to
Minitel/PC version 2.1 to produce version 2.2.
1) The keypad plus and minus keys can no longer be used to send a
real CR and LF. These keys now send plus or minus.
2) The following commands have been added.
ALT d - auto dial
ALT t - switch to TTY emulation mode
ALT m - switch to Minitel emulation mode
ALT p - send text of screen to the printer
3) The [ALT][q] command now works in Minitel mode (same as SHIFT F3).
4) The program function keys PF1 to PF4 can now be reassigned by
the user.
5) The special program function key values '<DROPLINE/QUIT>',
'<DROPLINE>' and <QUIT> have been added to the emulator (see
Appendix C, section 5).
6) Some changes have been made to the Hercules screen driver to make
dithered text easier to read.
7) The TTY emulation mode now implements the ANSI escape sequences
to clear the screen (ESC [ 2 J) and position the cursor
('ESC [ Pr ; Pc f' and 'ESC [ Pr ; Pc H').
8) The special script language symbols for the function keys (NEXT,
SEND, PREVIOUS, etc) were not returning X.3 versions of the
function keys when in X.3 pad compatibility mode. This bug has
been corrected.
9) When returning the terminal id request the emulator now ORs the
version byte with hex 40 if X.3 pad compatibility mode is active.
10) The emulator now filters the function keys if they are echoed
back. Also all other special filtering that is performed by the
Minitel has now been implemented.
---------------------------------------------------------------------
This section provides a list of the changes that were made to Minitel/PC
version 2.01 to produce version 2.1.
1) The save screen to disk [ALT-s] and load screen from disk [ALT-l]
commands were added to the emulator.
2) Some changes were made to the color shadow combinations that are used
with the CGA adaptor.
3) The following videotex decoder bug was corrected:
- Writing past column 40 when on row 23 in double height mode was
not being handled correctly.
---------------------------------------------------------------------
This section provides a list of the changes that were made to
Minitel/PC version 2.0 to produce version 2.01.
1) For "hard to read" foreground/background color combinations the CGA
screen driver now puts a shadow to the right of characters to make them
easier to read.
2) Some speed improvements were made to the CGA screen driver.
---------------------------------------------------------------------
This section provides a list of the changes that were made to Minitel/PC
version 1.6 to produce version 2.0.
In this release the videotex decoding software and screen drivers were
completely re-written. The new decoding software and screen drivers
provide the following improvments and new features:
1) The emulator now uses the Minitel M1B font (VPG5).
2) The blink/steady and conceal/reveal attributes are now implemented
for all supported display adaptors. Reverse polarity blinking characters
blink out of phase with normal polarity blinking characters, as on the
Minitel.
3) "Scan forward" is now implemented. Writing a delimeter now updates
the conceal attribute of all following characters and the background
color and underline of all following text characters. Writing a graphic
character now updates the background color of all following text
characters.
4) Various bugs in the videotex decoding were corrected.
This includes the following:
- Receiving characters past the right margin caused the latent
serial attributes to be lost.
- The control characters 0B (ctrl k) and 0A (ctrl j) reset the
background color in graphics mode.
- The CAN control code (ctrl x) caused the latent background
attribute to be validated.
For example:
ctrl l (FF), ESC T, ctrl x (CAN)
Caused the first row to change to a blue background.
- Occasionally when using an EGA adaptor random horizontal
lines would appear through the characters.
5) The EGA driver now uses the 320x200 16 color mode instead of the
640x200 mode. This increases the speed of the EGA driver with no loss of
display quality.
6) The CGA driver now uses the 320x200 four color mode (with the
MAGENTA/CYAN/WHITE palette) instead of the 640x200 two color mode. The
remaining 4 colors are simulated by combining the existing colors in a
checkerboard pattern. The following table shows the color combinations
that are used for the 8 Minitel colors:
Minitel color Color on CGA
------------- ------------
BLACK BLACK
BLUE BLACK/CYAN
RED BLACK/MAGENTA
MAGENTA MAGENTA
GREEN MAGENTA/CYAN
CYAN CYAN
YELLOW CYAN/WHITE
WHITE WHITE
7) The CGA driver now uses normal thin characters instead of the old
thick ones.
8) The Hercules screen driver now simulates eight grey scales for text
as well as graphics.
9) The MDA screen driver now works with the CGA and EGA adaptors as well
as with the MDA and hercules adaptors. This is more of an advantage for
the CGA adaptor, as it provides eight colors and high resolution text for
services that are mostly text based (i.e. where graphics are not that
important).
10) The MDA screen driver now simulates the graphics characters by using
the closest available characters from the ROM font.
11) Cursor handling was enhanced for for the EGA, CGA and hercules
adaptors so the cell under the cursor is displayed in reverse polarity
when the cursor is on. This makes the character under the cursor visible
at all times.
---------------------------------------------------------------------
This section provides a list of the changes that were made to version 1.5
to produce Minitel/PC version 1.6:
1) The name of the emulator was changed from MiniTerm to Minitel/PC.
2) Various minor bugs in the videotex decoding were corrected in the
emulator. These include the following:
- The emulator would switch from scroll to page mode when a
FF was received.
- The original graphic state was not restored when moving from
the status row with a LF.
- Scroll down did not work on the monochrome display adaptor
- A CAN received in row 24 while in scroll mode would cause
the screen to scroll up
- CAN was causing some video attributes to be reset
- Receiving an SI when already in alpha mode was not resetting
double width, double high and inverse attributes
- Receiving a double width or size attribute when in row zero or
one was not being handled correctly
i.e. - double size was not resetting double width in fact it
was forcing double width
- double high was not resetting double width
- A CR was causing the latent serial attributes to be reset
3) A command line parameter (/n) to specify a new telephone number was
added to the emulator. This allows a temporary alternate telephone
number to be easily specified in cases where the normal number is not
available due to network problems or if you are out of town. Numbers
specified with the '/n' parameter are not stored in the configuration
file on program termination.
4) The installation program now has a default value for most prompts that
you can accept by just pressing the [ENTER] key.
5) The installation program now allows you to exit at any point with the
[ESC] key.
6) The [SHIFT-TAB] key combination (hold down the [SHIFT] key and press
the [TAB] key) now causes the installation program to return to the
previous data entry screen.
7) The list of suggested modem switch settings has been moved from the
installation program to the user manual (i.e. Appendix J of this
document).
8) An option for tone dialing has been added to the installation program.
9) A new THIN font has been created for the EGA adaptor. This font is in
the file EGA.FNT.
10) An IF/THEN/ELSE/ENDIF statememt has been added to the SCRIPT language
(see Appendix E).
11) A optional SERVICE parameter has been added to the configuration file
(see Appendix C).
APPENDIX L Differences from a real Minitel
-------------------------------
Minitel/PC emulates the Videotex mode of the Minitel M1B terminal except
for the following differences (ascii and mixed modes are not
implemented).
1) The M1B is capable of displaying double-high and double-size
characters with different colors on the top and bottom rows.
Minitel/PC always displays double-high/size characters with the same
color on both rows, using the color of the lower row.
2) None of the CSI formatting functions are implemented. CSI sequences
are filtered but are not acted upon.
3) The only software protocol commands and features of the software
protocol that have been implemented are:
- scroll mode on/off (no acknoledgement returned)
- reset to power on state (acknowledgement returned)
- ID request (The seqence SOH (01 hex) Cu7 EOT (04 hex)
is returned in response to the ID request. The sequence
SOH Cuw EOT CR is returned when the emulator is in X.3 pad
compatibility mode. These are the same as the sequences
that are returned by the Telic Alcatel M1B terminal)
Protocol commands that have not been implemented are filtered out by
Minitel/PC so that they do not appear on the screen.
5) When overwriting a double-width character with a single-width
character, a real Minitel shifts the double-width character to the
right one space. This is not implemented in Minitel/PC.
6) When overwriting the right half of a double-width character, the
Minitel displays the character one space to the right. This is not
implemented in Minitel/PC.
7) Minitel/PC implements a VT100 terminal emulation mode as a
replacement for Ascii data mode. The sequences that switch a real
Minitel between between Videotex mode and Ascii data mode cause
Minitel/PC to switch between Videotex mode and VT100 mode.
8) Keyboard differences are noted in Appendix D. The extended keyboard
mode is not implemented.
9) The error correction protocol is not implemented.
10) The screen transparency commands have not been implemented.
APPENDIX M VT100 emulation
---------------
1) VT100 Keyboard Mapping
VT100 Key PC Keyboard
--------- -----------
SETUP "Settings done with config file paramters"
ESC ESC
TAB TAB
CTRL Ctrl
CAPS LOCK Caps Lock
SHIFT Shift
NO SCROLL [Ctrl-s] to stop [Ctrl-q] to start
CURSOR KEYS CURSOR KEYS
RETURN Enter
BACKSPACE Backspace
DELETE Del
LINEFEED [Ctrl-Enter] or [Ctrl-j]
PF1-PF4 F1-F4
ALPHA KEYS ALPHA KEYS
KEYPAD 0-9 KEYPAD 0-9
KEYPAD ENTER KEYPAD +
KEYPAD , [Alt-k]
KEYPAD - KEYPAD -
KEYPAD . KEYPAD .
BELL [Ctrl-g]
[Ctrl-BREAK] "not supported"
[Shift-BREAK] "not supported"
BREAK [Alt-b]
2) SET-UP features
The following shows the extent of the support for the VT100 "SET-UP
A" and "SET-UP B" features.
FEATURE DESCRIPTION COMMENT
------- ----------- -------
ANSI/VT52 Use as VT100 or VT52 ANSI mode only
Answerback Enable terminal to identify ANSWERBACK config
itself to the host computer. param
Autorepeat Allows certain keys to Always enabled
automatically repeat if held
down.
Auto XON/XOFF Prevents loss of received FLOWCONTROL config
characters if ON. param
Bits per 7-bits or 8-bits DATABITS config
character param
Characters Either 80 or 132 VTWIDESCREEN config
per line param
Character Set US or UK character sets VTUKSET config param
Cursor Choice of underline or Always underline
block characters.
Interlace For high resolution options Not Used
Key Click A tone is generated when a Permanently off
key is pressed.
Line/Local To select online or offline Not implemented
operation.
Margin Bell If ON, a bell sounds when 8 VTMARGINBELL config
columns from line end. param (only works
when LOCAL_ECHO
config param is ON)
New line If ON, convert CR into CR/LF VT_LF_NL config
for Tx and LF into CR/LF for param
Rx.
Parity Parity checking ON or OFF. PARITY config
param
Parity sense Set ODD, EVEN, MARK or SPACE. PARITY config
param
Power Set main power frequency. Not implemented
Receive speed Set the rates in bits per SPEED config param.
and Transmit second for Receive and Separate Rx and Tx
speed Transmit. speeds are not
supported. Available
speeds are: 50, 75,
110, 150, 300, 600,
1200, 1800, 2400,
3600, 4800, 7200,
9600, 19200 bps.
Screen Set light characters on No parameter setting.
background dark background (normal), Uses whatever color
or the reverse. combination is on
the screen at the
cursor position at
the time MT.EXE is
started.
Screen Use control on
brightness monitor.
Scrolling Select Jump or Smooth. Only Jump scroll
supported.
Tab stops Select tab stop postions. Initially every 8
positions. Can be
set by host
application.
Wraparound If ON, the 81st character VTLINEWRAP config
or 133rd is automatically param
placed on the next line.
3) VT100 Keyboard Indicators
None of the VT100 keyboard indicators (ONLINE, LOCAL, KBD LOCKED, or
L1 to L4 are implemented).
4) Differences between Minitel/PC and a real VT100
The following notes describe various characteristics of the
Minitel/PC VT100 implementation that differ from those of the actual
terminal.
i) The special graphics differ from the VT100 as follows:
SELECTING CHARACTER MEANING CHARACTER USED(HEX)
b Horizontal Tab 10
c Form Feed 0C
d Carriage Return 1B
e Line Feed 19
h New Line 11
i Vertical Tab 1F
o Scan Line 1 C4
p Scan Line 3 C4
r Scan Line 7 5F
s Scan Line 9 5F
ii) The keyboard may not be locked. Sequences to lock or unlock the
keyboard are ignored.
iii) Double height characters are displayed as:
Top half - normal character is displayed
Bottom half - normal character is displayed
iv) Double width characters are displayed as a normal character
followed by a blank.
v) Double height/Double width characters are displayed as:
Top half - normal character followed by a blank
Bottom half - normal character followed by a blank
vi) In 132 characters per line mode only 80 characters are displayed
on the screen at a time. Keying [Ctrl-left_arrow] causes columns 1-80
to be displayed. Keying [Ctrl-right_arrow] causes columns 53-132 to
be displayed.
vii) Request for status (ESC [ 5n) generates an OK answer only.
viii) Request for terminal parameters (DECREQTPARM) only replies when
<sol> is 1. The reply is always of the form 'ESC [ 3....X'.
ix) All confidence tests are ignored except 'ESC [ 2 ; 0 y' which
is a reset.
x) The VT100 attributes are displayed as follows:
ATTRIBUTE DISPLAYED
bold makes foreground (text) color intense
blink makes foreground (text) blink
reverse switches foreground and background colors
underline underlines foreground (text) on a monochrome display,
displays in an alternate foreground color on a color
display
4) Control Sequences
The following control sequences are not supported:
DECINLM ESC [ ? 9 h set interlace mode
ESC [ ? 9 l reset interlace mode
DECREQTPARM ESC [ <sol> x request terminal parameters
<sol> may be 0 or 1. Minitel/PC
ignores 0. 1 causes the following
reply to be generated.
Reply: ESC [ 3 ; <par> ; <nbits> ; <xspeed> ; <rspeed> ; 1 x
Where:
<par> = 1 (no parity)
2 (space)
3 (mark)
4 (odd parity)
5 (even parity)
<nbits> = 1 (8 bit character)
2 (7 bit character)
<speed> = 0 (50 bps)
16 (110 bps)
48 (300 bps)
56 (600 bps)
64 (1200 bps)
72 (1800 bps)
88 (2400 bps)
104 (4800 bps)
112 (9600 bps)
999 (other speeds)
DECSCLM ESC [ ? 4 h set smooth scroll mode
ESC [ ? 4 l set jump scroll mode
DECSCNM set screen background
The following mode control sequences are not supported:
PARAMETER MNEMONIC FUNCTION
0 error
?0 error
?2 DECANM ANSI/VT52
?8 DECARM Auto Repeat