home *** CD-ROM | disk | FTP | other *** search
/ Phoenix CD 2.0 / Phoenix_CD.cdr / 01e / minitel.zip / MT.DOC < prev    next >
Text File  |  1990-02-14  |  94KB  |  2,333 lines

  1. L---+---T1----+-T--2----T----3--T-+----4T---+---T5----+-T--6----T----7--R
  2.                Minitel/PC V2.4 Technical Documentation
  3.  
  4. The following documents version 2.4 of Minitel Services Company's 
  5. Minitel/PC terminal emulator.  This software allows your IBM or IBM-
  6. compatible PC to imitate a Minitel or VT100 terminal. 
  7.  
  8. This document is divided into the following sections.
  9.  
  10.         Section 1.0     - Hardware/Operating System Requirements
  11.         Section 2.0     - Installing Minitel/PC
  12.         Section 3.0     - How to run Minitel/PC
  13.         Section 4.0     - Minitel/PC Commands
  14.  
  15.         Appendix A      - Command Line Parameters
  16.         Appendix B      - Files Distributed with Minitel/PC
  17.         Appendix C      - Configuration Parameters
  18.         Appendix D      - Keyboard Mapping
  19.         Appendix E      - Script Language Description
  20.         Appendix F      - Entering Control Characters
  21.         Appendix G      - Use of the Minitel Function Keys
  22.         Appendix H      - Error Messages
  23.         Appendix I      - Printing the Screen
  24.         Appendix J      - Modem Switch Settings
  25.         Appendix K      - Version Differences
  26.         Appendix L      - Differences from a Real Minitel
  27.         Appendix M      - VT100 Emulation
  28.  
  29.  
  30. 1.0     Hardware and Operating System Requirements
  31.         ------------------------------------------
  32.  
  33. The following minimum hardware configuration is necessary to run 
  34. Minitel/PC: 
  35.  
  36.         - 192K RAM (Minitel/PC needs 128K bytes of free memory)
  37.         - MDA, CGA, EGA, VGA or Hercules video display adaptor
  38.         - One 5.25 or 3.5 inch floppy disk drive with a capacity
  39.           of 360K or more.
  40.  
  41. Minitel/PC requires MS or PC-DOS version 2.0 or higher.
  42.  
  43.  
  44. 2.0     Installing Minitel/PC
  45.         ---------------------
  46.  
  47. The specific steps you must take to install Minitel/PC depend on whether
  48. you received it on a Getting Started Diskette or whether you downloaded
  49. it from a bulletin board.  If you downloaded Minitel/PC from a bulletin
  50. board, proceed with section 2.1, otherwise skip to section 2.2.
  51.  
  52. 2.1     Minitel/PC Downloaded from a Bulletin Board
  53.  
  54. The file you downloaded from the bulletin board is a self-unpacking
  55. archive containing Minitel/PC and its documentation.  The best way to
  56. proceed is to create a Getting Started diskette from this archive.  To do
  57. this follow these steps:
  58.  
  59. i) Obtain a blank formatted floppy diskette.  If you have a system with
  60. two floppy disk drives, insert this diskette in drive B:, otherwise save
  61. this diskette until you are prompted with:
  62.  
  63.     "Insert diskette for drive B:"
  64.  
  65. ii) Put the diskette containing the archive in drive A:, then type the
  66. following commands:
  67.  
  68.         a: [Enter]
  69.         rename ARCHIVE_NAME runme.exe [Enter]
  70.         b: [Enter]
  71.         a:runme [Enter]
  72.  
  73. iii) If you have a single-drive system, insert the diskette containing
  74. the archive when prompted with "Insert diskette for drive A:" and insert
  75. the blank formatted diskette when prompted with "Insert diskette for
  76. drive B:".
  77.  
  78. Now that you have created a Getting Started diskette, you can proceed to
  79. section 2.2.
  80.  
  81. 2.2     Minitel/PC Received on a Getting Started Diskette
  82.  
  83. To install Minitel/PC from a Getting Started diskette, put the diskette
  84. in drive A:, set the default drive to A:, then type 'install', and just
  85. follow the instructions.  INSTALL will prompt you for information such as
  86. your modem type, display type, and the drive and directory in which you
  87. want Minitel/PC installed.
  88.  
  89. The installation program creates a configuration file (mt.cfg) and copies
  90. the emulator to the installation drive/directory.  The configuration file
  91. contains hardware-specific parameters for your machine such as display
  92. adaptor type, communication port, and modem speed.  See Appendix C for a
  93. complete description of all configuration file parameters.
  94.  
  95.  
  96. 3.0     How to Run Minitel/PC
  97.         ---------------------
  98.  
  99. Once Minitel/PC has been installed, you can run it by performing the
  100. following steps.
  101.  
  102. If you installed Minitel/PC on a floppy disk:
  103.  
  104. i)   Insert the Minitel/PC Program diskette in drive A:
  105.  
  106. ii)  Log to the A: drive by typing:
  107.  
  108.         a: [Enter]
  109.  
  110. iii) Start the program by typing:
  111.  
  112.         mt [Enter]
  113.  
  114. If you installed Minitel/PC on a hard disk, type the following commands:
  115.  
  116.         c: [Enter]         (if installed on drive C:)
  117.         cd\mt [Enter]      (if installed in \mt subdirectory)
  118.         mt [Enter]
  119.  
  120. A real Minitel terminal contains nine special keys (called function keys)
  121. that are not on the PC keyboard.  The nine keys are labelled INDEX,
  122. CANCEL, PREVIOUS, REPEAT, GUIDE, CORRECTION, NEXT, SEND, and LOCAL/LINE.
  123. Since these keys are not available on the PC keyboard, the function keys
  124. on the PC keyboard (labelled F1 to F9) are used as replacements.  Some of
  125. the Minitel special keys have more than one replacement on the PC
  126. keyboard.  For example, if an application asks you to press the SEND key,
  127. you can press either F8 or the ENTER key.  The following table shows the
  128. mapping of the Minitel function keys to their equivalents on the PC
  129. keyboard:
  130.  
  131.     English Minitel                             French Minitel
  132.     Key Label        PC Equivalent(s)           Key Label
  133.     ---------------  -------------------------  --------------
  134.     INDEX            F1 or HOME                 SOMMAIRE
  135.     CANCEL           F2 or DEL                  ANNULATION
  136.     PREVIOUS         F3 or PGUP or SHIFT TAB    RETOUR
  137.     REPEAT           F4 or INS                  REPETITION
  138.     GUIDE            F5 or END                  GUIDE
  139.     CORRECTION       F6 or BKSP                 CORRECTION
  140.     NEXT             F7 or PGDN or TAB          SUITE
  141.     SEND             F8 or ENTER                ENVOI
  142.     LOCAL LINE       F9                         CONNEXION FIN
  143.  
  144. From within Minitel/PC, you can press the PC key labelled F10 to get a
  145. help menu showing the above Minitel function key mapping.  The help menu
  146. also displays a listing of the following important commands that control
  147. your link with the network:
  148.  
  149.      Logon to Network           SHIFT-F1
  150.      Change Service             SHIFT-F2
  151.      Logoff Network then Quit   SHIFT-F3
  152.  
  153. See Appendix D for the complete mapping of the Minitel keyboard to the PC
  154. keyboard.
  155.  
  156. The most commonly used Minitel function keys are SEND, which is used like
  157. ENTER (or Carriage Return) on a normal terminal, CORRECTION, which allows
  158. you to correct your typing errors, and GUIDE, which is used to request
  159. help from the service you are using.  See Appendix G for a more complete
  160. description of the uses of the Minitel function keys.
  161.  
  162. As shown in the above table, Minitel/PC uses the ENTER (carriage return)
  163. key and the BACKSPACE key to emulate the Minitel SEND and CORRECTION keys
  164. respectively.  When using Minitel/PC it is sometimes necessary to send a
  165. real carriage return or a real backspace, for example when issuing
  166. commands to your modem or a network.  Commands to your modem must be
  167. followed by a carriage return and not a Minitel SEND.  Corrections to
  168. errors in modem commands must be made with a backspace and not a Minitel
  169. CORRECTION.  The following table shows the Minitel/PC key combinations
  170. that are used to send real carriage returns and backspaces:
  171.  
  172.     To send real carriage return: [Ctrl-Enter] (i.e. hold down the
  173.                                   [Ctrl] key and press [Enter])
  174.                                   or [Ctrl-m]
  175.     To send a real backspace    : [Ctrl-Backspace] (i.e. hold down the
  176.                                   [Ctrl] key and press [Backspace])
  177.                                   or [Ctrl-h]
  178.  
  179. Minitel/PC displays certain status information on the upper right hand
  180. corner of the screen.  In column 39 of the top row of the screen, a
  181. reverse video 'C' is displayed once a connection is made to the network
  182. (i.e. when the DCD signal is high), and a reverse video 'L' is displayed
  183. when there is no connection to the network (i.e. when the DCD signal is
  184. low).  This indicator may not be correct if you do not have a proper
  185. cable between your PC and modem or if your modem switch settings are not
  186. correct (see Appendix J for more details on modem switch settings).  A
  187. reverse video 'M' is displayed in column 40 of the top row of the screen
  188. while a script language program is running.  Script language programs can
  189. be stopped prematurely by pressing the [ESC] key (see Appendix E for more
  190. details on script language programs).
  191.  
  192.  
  193. 4.0     Minitel/PC Commands
  194.         -------------------
  195.  
  196. Minitel/PC commands of the form [ALT-letter] are issued by holding down
  197. the [ALT] key and pressing the 'letter'.  For example, the command [ALT-
  198. x] means hold down the [ALT] key and press the [x] key.  Commands of the
  199. form [SHIFT-Fx] are issued by holding down the [SHIFT] key and pressing
  200. the key labelled [Fx].
  201.  
  202. 4.1     Send Break Signal [ALT-b]
  203.  
  204. This command sends a break signal to the remote system.  A BREAK is
  205. usually not necessary when communicating with videotex systems.  On some
  206. data switches and modem pools, a BREAK is used for a local attention.
  207.  
  208. The length of the break sent is specified by the BREAK_LEN configuration
  209. parameter.  The value in the BREAK_LEN parameter is rounded up to the
  210. nearest multiple of 55 milliseconds (this is the default granularity of
  211. the PC clock interrupts).
  212.  
  213. 4.2     Exit Minitel/PC without disconnecting [ALT-e]
  214.  
  215. This command allows you to exit to DOS from Minitel/PC without
  216. disconnecting from Minitel.
  217.  
  218. 4.3     Disconnect and exit Minitel/PC [ALT-q]
  219.  
  220. This command drops the line and then terminates execution of
  221. Minitel/PC. For HAYES modems the line is dropped by first sending
  222. three plus signs (+++) to go into local mode and then issuing the
  223. ATH command. For other types of modems the line is dropped by
  224. dropping the RS232 DTR signal. In Minitel mode a LOCAL LINE key is
  225. sent prior to dropping the line to disconnect from the current
  226. service.
  227.  
  228. During Minitel emulation the program function key [SHIFT-F3] is set by 
  229. default to perform the same function as [ALT-q]. 
  230.  
  231. 4.4     Program Function Keys [SHIFT-F1] -> [SHIFT-F10]
  232.  
  233. The program function keys can be used to extend the functionality of
  234. Minitel/PC by adding your own commands.  A program function key can be
  235. used to execute a script language program (see Appendix E for
  236. instructions on writing your own script language programs) or to cause a
  237. predefined series of characters to be sent to the remote system as if
  238. they had been typed at the keyboard.  See Section C.5 (Appendix C,
  239. Section 5) for a description of how to assign values to function keys.
  240.  
  241. During Minitel emulation the program function keys [SHIFT-F1] through
  242. [SHIFT-F4] are set by default to perform the following functions
  243.  
  244.    [SHIFT-F1]   - LOGON TO NETWORK
  245.  
  246.                   Automatically dial and log on to the Minitel kiosk.
  247.                   This is normally the first command that you will
  248.                   issue after starting Minitel/PC.
  249.  
  250.    [SHIFT-F2]   - CHANGE SERVICE
  251.  
  252.                   When connected to a Minitel service this command 
  253.                   can be used to return you to the Minitel kisok so 
  254.                   that you can select a new service.
  255.  
  256.    [SHIFT-F3]   - LOGOFF NETWORK then QUIT
  257.  
  258.                   This command disconnects you from the current
  259.                   service, drops the line and returns you to DOS.
  260.  
  261.    [SHIFT-F4]   - NETWORK LOGON
  262.  
  263.                   If you have an auto-dial modem that does not
  264.                   work with [SHIFT-F1], you can manually instruct
  265.                   your modem to dial and then issue this command to
  266.                   logon to the Minitel kiosk.
  267.  
  268. It is possible for these commands to fail for a number of reasons,
  269. including a bad communication line, a service not available, or network
  270. failure.  See Appendix H (Error Messages) for a list of possible errors
  271. and instructions on how to recover in case of an error.
  272.  
  273. The remaining program function keys [SHIFT-F5] through [SHIFT-F10] can be
  274. used to add your own commands to Minitel/PC.  The command [ALT-m] can be
  275. used to display the current settings of the program function keys.
  276. During VT100 emulation all ten program function keys are available to add
  277. new commands.
  278.  
  279. 4.5     Display Help Menu [F10] or [ALT-h]
  280.  
  281. This command displays a menu containing the Minitel function keys and the
  282. most often used Minitel/PC commands.  To leave the menu you can either
  283. press the [ESC] key or execute one of the commands on the menu.
  284.  
  285. 4.6     Program Function Key Menu [ALT-m]
  286.  
  287. This command displays a menu containing all of the program function key
  288. settings.  To leave the menu you can either press one of the program
  289. function keys (to run the key) or press [ESC] to leave the menu without
  290. running a program function key.
  291.  
  292. 4.7     Save screen to disk [ALT-s]
  293.  
  294. This command causes the contents of the screen to be saved to a disk
  295. file. After entering this command you will be prompted with:
  296.  
  297.         Enter file name:
  298.  
  299. In response to this prompt enter the name of the DOS file in which you
  300. would like the screen to be saved.  If the file that you enter already
  301. exists, you will be prompted with:
  302.  
  303.         File xxxx
  304.         already exists. Overwrite ? (y/n)
  305.  
  306. Answering 'y' to this prompt will cause the original file to be
  307. overwritten.
  308.  
  309. 4.8     Load screen from disk [ALT-l]
  310.  
  311. This command is used to display screens that were saved with the [ALT-s]
  312. command.  After entering this command you will be prompted with:
  313.  
  314.         Enter file name:
  315.  
  316. In response to this prompt, enter the name of the DOS file that contains
  317. the screen you would like displayed.
  318.  
  319. 4.9     Switch to VT100/Minitel mode [ALT-o]
  320.  
  321. This command is used to toggle Minitel/PC between Minitel emulation
  322. mode and VT100 emulation mode.  The default mode of operation is
  323. Minitel emulation mode.
  324.  
  325. 4.10    Print Text [Shift-PrtSc]
  326.  
  327. This command causes the current screen (text only) to be sent to the
  328. printer.  This command does not print graphics.
  329.  
  330. 4.11    Dial [ALT-d]
  331.  
  332. This command causes Minitel/PC to run the logon script (logon.mto).
  333. The command [ALT-d] is the same as the default setting of [SHIFT-F1].
  334.  
  335. 4.12    XMODEM File Transfer [ALT-f]
  336.  
  337. Use this command to send or receive a file using XMODEM protocol.
  338. This command only works during VT100 emulation mode.  After entering
  339. this command you will be prompted with:
  340.  
  341.         PRESS [R] to receive File using XMODEM
  342.         PRESS [S] to send File using XMODEM
  343.         PRESS [ESC] to exit
  344.  
  345. At this point you can press the 'R' key to receive a file, the 'S'
  346. key to send a file, or press the ESC key if you decide not to
  347. transfer a file.
  348.  
  349. If you press the 'R' or 'S' keys you will be prompted with:
  350.  
  351.         ENTER FILE NAME (Leave blank to exit):
  352.  
  353. If you are receiving a file, enter the name that you want the file to
  354. be called on your local PC. If you are sending a file enter the name
  355. of the file that you want to send. If you decide that you do not want
  356. to transfer a file after all, hit ENTER without typing in a file
  357. name.
  358.  
  359.  
  360. If you have read sections 1 through 4, you now know all you need to know
  361. to use Minitel/PC.  The appendices describe advanced information and
  362. features that are not required during normal use.
  363.  
  364.  
  365. APPENDIX A      Command Line Parameters
  366.                 -----------------------
  367.  
  368. During startup, Minitel/PC reads the contents of the file MT.CFG to
  369. determine hardware-specific information and obtain function key and
  370. terminal settings (See Appendix C for a complete description of the
  371. configuration file).
  372.  
  373. It is possible to have more than one configuration file.  This is useful
  374. if you routinely access more than one service and you need to have
  375. different configuration parameters for each.  To create a new
  376. configuration file, use the DOS copy command to create a copy of the
  377. default configuration file (MT.CFG), then use a text editor such as EDLIN
  378. to change the parameters to the values required by the new system.
  379.  
  380. Example:
  381.  
  382.         C>copy mt.cfg newconf.cfg       <- make a copy of mt.cfg
  383.         C>edlin newconf.cfg             <- change parameter values
  384.                 .
  385.                 .
  386.         C>mt newconf                    <- invoke Minitel/PC using
  387.                                            the new configuration file
  388.  
  389. In this example we created a new configuration file called 'NEWCONF.CFG' 
  390. and invoked Minitel/PC with the new configuration.  Note that on the 
  391. command line we typed 'mt newconf' rather than 'mt newconf.cfg'.  If you 
  392. do not specify an extension on the configuration file name, Minitel/PC 
  393. automatically appends a '.CFG'. 
  394.  
  395. Some configuration parameters can be temporarily changed using command
  396. line options. For example suppose that our configuration file
  397. 'MT.CFG' specifies that COM1: is to be used for communications and
  398. we want to use COM2: for this session. This can be done with the
  399. following command.
  400.  
  401.         mt /c2
  402.  
  403. The above command will start Minitel/PC using COM2: for
  404. communications.  This change only affects the one session. The next
  405. time you invoke Minitel/PC it will use COM1: for communications
  406. (unless of course you use the /c2 option again).
  407.  
  408. The backslash in parameter tells Minitel/PC that you are specifying a
  409. command line option and not a configuration file name.  The 'c' specifies
  410. that we want to change the communications port, and the '2' says that we
  411. want to change the communications port to COM2:.  Command line parameters
  412. can also be used in combination with a configuration file name.  In the
  413. following example, the configuration file 'NEWCONF.CFG' is used instead
  414. of 'MT.CFG'.
  415.  
  416.         mt newconf /c2
  417.  
  418. The general form of all command line options is:
  419.  
  420.         backslash single_character_option option_parameter
  421.  
  422. No spaces are allowed between the single_character_option and the
  423. option_parameter.  Not all options have an option parameter.  Either
  424. upper or lower case can be specified for both the option name and
  425. parameter.  The following table lists all the available command line
  426. options and the valid parameter values for each.
  427.  
  428.         Equivalent
  429.         Config file
  430. Option  Parameter        Description
  431. ------  -----------      -----------
  432. c       COMMPORT         Set communications port
  433.                          Valid parameter values are 1 and 2
  434. b       SPEED            Set line speed in bits per second
  435.                          Valid parameter values are:
  436.                              300,1200,2400,4800,9600,19200
  437. p       PARITY           Set the character parity type.
  438.                          Valid param values are o,e,n,m,s,
  439.                          where o=ODD,e=EVEN,n=NONE,m=MARK,s=SPACE
  440. d       DATABITS         Set the number of data bits per character.
  441.                          Valid parameter values are 7 and 8.
  442. s       STOPBITS         Set the number of stop bits per character.
  443.                          Valid parameter values are 1 and 2.
  444. a       DISPLAY_ADAPTOR  Specify display adaptor type.
  445.                          Valid parameter values are H,C,E,M,
  446.                          where H=Hercules,C=CGA,E=EGA,M=MDA.
  447. e       EMULATION        Specifies the type of terminal to be
  448.                          emulated.  Valid parameter values are
  449.                          V and M, where V=VT100 and M=Minitel.
  450. m       <none>           Specifies the name of a script (macro)
  451.                          language program to run after startup.
  452. n       PHONE            Specifies a telephone number to use
  453.                          when dialing.
  454. x       X3_MODE          Specifies whether X.3 PAD compatibility
  455.                          is to be used.  0=NO and 1=YES.
  456. l       LOCAL_ECHO       Specifies whether or not data typed at
  457.                          the keyboard is to be echoed to the screen
  458.                          (0=don't echo, 1=echo).
  459. ?                        Causes this table to be printed at the
  460.                          terminal.  This option has no parameters.
  461.  
  462. More than one command line parameter can be specified when starting
  463. Minitel/PC. The syntax of the Minitel/PC command line is:
  464.  
  465.   mt config_file_name /c* /b* /p* /d* /s* /a* /e* /m* /x* /n* /l* /?
  466.  
  467. Notes:
  468.  
  469. The '*' denotes the position of the option parameter.  Command line
  470. options can be specified in any order.  The configuration file
  471. name(s) can also appear after or between command line options.  If
  472. more than one configuration file is named on the command line, they
  473. are read in the order specified.  Having more than one configuration
  474. file allows you to separate the different types of parameters into
  475. separate configuration files.  For example, you may wish to put the
  476. communications parameters in one file and the program function key
  477. settings in another.
  478.  
  479. Examples:
  480.  
  481. In this example, we start Minitel/PC using the configuration file
  482. 'XXX.CFG' and specify that the line speed is to be changed to 2400 bps
  483. (bits per second) and the display adaptor is to be changed to EGA.
  484.  
  485.         mt xxx /b2400 /ae
  486.  
  487. The following example is the same as the first except that we specify two
  488. configuration file names.
  489.  
  490.         mt origconf newconf /b2400 /ae
  491.  
  492.  
  493. APPENDIX B      Files distributed with Minitel/PC
  494.                 ---------------------------------
  495.  
  496. The following files are distributed with Minitel/PC:
  497.  
  498. MT.EXE       - The Minitel/PC program
  499. CGA.FNT      - Data file containing character font descriptions
  500.                for the CGA display adaptor (only necessary
  501.                when using a CGA display adaptor)
  502. EGA.FNT      - Data file containing character font descriptions
  503.                for the EGA display adaptor (only necessary
  504.                when using a EGA display adaptor)
  505. HERCULES.FNT - Data file containing character font descriptions
  506.                for the HERCULES display adaptor (only necessary
  507.                when using a HERCULES display adaptor)
  508. MT.DOC       - The file you are now reading.
  509. INSTALL.EXE  - Minitel/PC installation program.
  510. PHONE.DAT    - Minitel Services Company telephone access listing
  511.                (used by INSTALL)
  512. MTINST.FIL   - Emulator file list (used by INSTALL)
  513. MTC.EXE      - Script Language Compiler
  514. LOGON.MTO    - Script language program to dial and logon to the
  515.                Minitel kiosk (needed by the [SHIFT-F1] command and
  516.                the [Alt-d] command)
  517. LOGON.MT     - Source code for the above program
  518. CHANGESE.MTO - Script language program which causes a disconnect
  519.                from the current service and returns you to the kiosk
  520.                so you can select a new service (needed by the
  521.                [SHIFT-F2] command)
  522. CHANGESE.MT  - Source code for the above program
  523. NETLOGON.MTO - Script language program to that logs on to the Minitel
  524.                service kiosk (needed by the [SHIFT-F1], [SHIFT-F2],
  525.                and [SHIFT-F4] and [Alt-d] commands)
  526. NETLOGON.MT  - Source code for the above program
  527.  
  528.  
  529. APPENDIX C      Configuration parameters
  530.                 ------------------------
  531.  
  532. This section describes the parameters in the Minitel/PC configuration
  533. file (MT.CFG).  The configuration file contains one parameter per line.
  534. Lines are separated by CR/LF pairs.  All lines have the following format:
  535.  
  536.         parameter_name=parameter_value
  537.  
  538. The equal sign (ASCII 3D) separates the parameter name from its value.
  539. Control characters can be specified in the parameter value by using a
  540. circumflex (^) followed by another character.  For example ^M (control M)
  541. can be used to specify a carriage return.  Two circumflexes in a row can
  542. be used to specify a circumflex.  See Appendix F for a detailed
  543. discussion on entering control characters in a string.
  544.  
  545. The following table describes all of the configuration parameters that
  546. are implemented in this version of Minitel/PC:
  547.  
  548. C.1)    Modem Paramters
  549.  
  550. Parameter Name      Type    Description
  551. --------------      ----    -----------
  552. MODEM               int     Describes the type of modem. Valid
  553.                             values are:
  554.                                 0 = HAYES300
  555.                                 2 = HAYES1200
  556.                                 3 = HAYES1200B
  557.                                 4 = HAYES2400
  558.                                 5 = HAYES2400B
  559.                                 6 = MANUAL
  560.                                 7 = DIRECT
  561.                                 8 = OTHER
  562.  
  563. MODEM_INIT          char    String that must be sent to initialize
  564.                             the modem (if any)
  565.  
  566. MODEM_RESPONSE      char    String that the modem sends in response
  567.                             to an initialization command.
  568.  
  569. MODEM_DIAL_PREFIX   char    String that must prefix the telephone
  570.                             number in a dial command
  571.  
  572. MODEM_DIAL_SUFFIX   char    String that must follow the telephone
  573.                             number in a dial command
  574.  
  575. MODEM_SUCCESS       char    Specifies a successful response to a
  576.                             modem dial request. There can be more
  577.                             than one of these parameters present if
  578.                             there are multiple success responses
  579.                             (maximum of ten).
  580.  
  581. MODEM_FAILURE       char    Specifies a failure response to a modem
  582.                             dial request. There can be more than one
  583.                             of these parameters present if there
  584.                             are multiple failure responses
  585.                             (maximum of ten).
  586.  
  587.  
  588. C.2)    User Information
  589.  
  590. Parameter Name      Type    Description
  591. --------------      ----    -----------
  592. PHONE               char    Telephone number of nearest Minitel
  593.                             Services Company access point
  594. USERID              char    Minitel User ID
  595. PASSWORD            char    Minitel Password
  596. SERVICE             char    A standard Minitel Service Code.
  597.                             If this parameter is present, the
  598.                             [Shift-F1] and [Alt-d] auto-logon
  599.                             procedure will automatically connect to
  600.                             the specified service, as if the Service
  601.                             Code had been entered at the Minitel 
  602.                             Main Menu.
  603.  
  604.  
  605. C.3)    Communication Parameters
  606.  
  607. Parameter Name      Type    Description
  608. --------------      ----    -----------
  609. COMMPORT            int     Number of the port to use for
  610.                             communications (1=COM1, 2=COM2, etc)
  611.  
  612. SPEED               int     Communications speed in bits per second
  613.                             (one of 300, 1200, 2400, 4800, 9600,
  614.                             19200)
  615.  
  616. PARITY              char    Parity (one of O,E,N,M,S = ODD, EVEN,
  617.                             NONE, MARK, SPACE respectively)
  618.  
  619. DATABITS            int     Data Bits (either 7 or 8)
  620.  
  621. STOPBITS            int     Stop Bits (either 1 or 2)
  622.  
  623. BREAK_LEN           int     Duration of BREAK signal in milliseconds
  624.                             (a break signal can be sent with the
  625.                             [ALT-b] command)
  626.  
  627. CARRIER_DETECTABLE  int     This parameter informs the emulator
  628.                             if the presence of carrier is
  629.                             detectable by looking at the state of
  630.                             the RS232 CD pin. In some cases the
  631.                             carrier is not detectable because the
  632.                             modem keeps this signal high or the
  633.                             pin is missing from the cable that
  634.                             connects the modem to the PC.  This
  635.                             parameter can have the following values: 
  636.                                 0 = carrier not detectable
  637.                                 1 = carrier detectable
  638.  
  639. FLOWCONTROL         int     This parameter can have one of the
  640.                             following values.
  641.                                 0 = NONE
  642.                                 1 = XON/XOFF (VT100 emulation only)
  643.                                 2 = CTS/RTS hardware protocol
  644.                             (XON/XOFF protocol should not be used
  645.                              during Minitel emulation)
  646.  
  647. X3_MODE             int     Specifies whether the access network
  648.                             uses X.3 PADs.
  649.                                 0 = NO
  650.                                 1 = YES
  651.                             Default value is "0" as X.3 PAD
  652.                             compatibility is not required for
  653.                             access via the normal Minitel network.
  654.  
  655. If the port is other than COM1 or COM2, the following parameters must
  656. also be specified (values must be specified in a decimal radix).
  657.  
  658. ADDR8250            int     I/O address of 8250 UART
  659. INTVECTOR           int     Interupt vector number
  660. ADDR8259            int     Absolute I/O address of 8259 Interupt
  661.                             Controller
  662. IRQ                 int     IRQ number for 8259
  663.  
  664.  
  665. C.4)    Display Parameters
  666.  
  667. Parameter Name      Type    Description
  668. --------------      ----    -----------
  669. DISPLAY_ADAPTOR     int     Type of display adaptor in the PC.
  670.                             Valid values are:
  671.                                 0 = HGC    (Hercules)
  672.                                 1 = CGA
  673.                                 2 = EGA
  674.                                 3 = MDA    (Monochrome)
  675.  
  676.  
  677. C.5)    Program Function Keys
  678.  
  679. Parameter Name      Type    Description
  680. --------------      ----    -----------
  681. PF1                 char    Setting of program function key 1
  682. PF2                 char    Setting of program function key 2
  683. PF3                 char    Setting of program function key 3
  684. PF4                 char    Setting of program function key 4
  685. PF5                 char    Setting of program function key 5
  686. PF6                 char    Setting of program function key 6
  687. PF7                 char    Setting of program function key 7
  688. PF8                 char    Setting of program function key 8
  689. PF9                 char    Setting of program function key 9
  690. PF10                char    Setting of program function key 10
  691.  
  692. Each program function key value is either NULL or has the following
  693. format:
  694.  
  695. Positions    Meaning
  696. ---------    -------
  697.     1        Type of value stored in the key.  Must be one of the
  698.              following:
  699.  
  700.                  M   - A MACRO (script language program) to be run
  701.                  S   - A string to be sent
  702.  
  703.     2        A single dash character (ASCII 2DH). This is just a
  704.              separator to make the line readable.
  705.  
  706.     3-       Value to be stored in the function key:
  707.  
  708.                 Pos 1     Contents of pos 3-
  709.                 -----     ------------------
  710.                   M       Name of file containing the script language
  711.                           program to be run when this key is pressed.
  712.  
  713.                   S       String to be sent to the remote system when
  714.                           this key is pressed. Control characters can
  715.                           be specified in this string by using a
  716.                           circumflex (^) followed by another
  717.                           character (See Appendix F).
  718.  
  719. Example:
  720. --------
  721. To assign a HAYES dial command to program function key five, the
  722. following line could be added to the configuration file.
  723.  
  724.         PF5=S-ATDT4388304^M
  725.         ^   ^ ^           ^
  726.         |   | |           |
  727.         |   | |           The ^M specifies a carriage return
  728.         |   | Program function key value
  729.         |   Program function key type
  730.         Names the program function key to be set
  731.  
  732. The following special values can also be assigned to program
  733. function keys.
  734.  
  735.     M-<DROPLINE/QUIT>       This is the default value of PF3. This
  736.                             value causes the emulator to drop the
  737.                             line then exit to DOS.
  738.  
  739.     M-<DROPLINE>            This value causes the emulator to drop
  740.                             the line. Same as the above value except
  741.                             the emulator does not exit to DOS.
  742.  
  743.     M-<QUIT>                This value causes the emulator to exit
  744.                             to DOS without dropping the line.
  745.  
  746.  
  747. C.6)    Terminal Parameters
  748.  
  749. Parameter Name      Type    Description
  750. --------------      ----    -----------
  751. EMULATION           int     Type of emulation to perform.
  752.                             Value must be one of:
  753.                                 0 = VT100
  754.                                 1 = MINITEL
  755.  
  756. LOCAL_ECHO          int     Local echo on or off (0=OFF, 1=ON).
  757.                             During MINITEL emulation this flag works
  758.                             with the CARRIER_DETECTABLE flag. If
  759.                             the carrier is detectable and local echo
  760.                             is on then keystrokes will be echoed to
  761.                             the screen when there is no carrier
  762.                             (i.e. when 'L' appears on status row).
  763.                             During VT100 emulation keystrokes are
  764.                             always echoed when this parameter is on.
  765.  
  766. PAGE_MODE           int     Page or scroll mode flag (0=SCROLL MODE,
  767.                             1=PAGE MODE)
  768.  
  769. X3_MODE             int     X.3 pad compatibility mode enabled flag
  770.                             (0=OFF, 1=ON).
  771.  
  772. VTANSWERBACK        char    During VT100 emulation this value forms
  773.                             the text part of the string that will be
  774.                             sent to the remote system when an
  775.                             answerback is requested. The default
  776.                             value is "HI_THERE".
  777.  
  778. VTLINEWRAP          int     VT100 line wrap mode flag (0=no line
  779.                             wrap, non-zero=line wrap).
  780.  
  781. VTMARGINBELL        int     VT100 margin bell flag (0=disable bell,
  782.                             non-zero=enable bell). The margin bell
  783.                             will only work if LOCAL_ECHO is enabled.
  784.  
  785. VTUKSET             int     VT100 UK character set flag (0=use North
  786.                             American character set, non-zero=use UK
  787.                             character set).
  788.  
  789. VTWIDESCREEN        int     VT100 screen width flag (0=80 column
  790.                             mode, non-zero=132 column mode).
  791.  
  792. VT_LF_NL            int     This paramater only has effect during
  793.                             VT100 emulation. If the parameter has a
  794.                             non-zero value a CR/LF will be displayed
  795.                             on the screen whenever a LF is received
  796.                             from the remote system and a LF will be
  797.                             sent to the screen whenever a CR is typed
  798.                             at the local keyboard.
  799.  
  800.  
  801. APPENDIX D      Keyboard Mapping
  802.                 ----------------
  803.  
  804. The following describes the mapping of the Minitel keyboard to the PC
  805. keyboard.
  806.  
  807. Single Codes
  808.  
  809. Code Sent                             Key or Combination
  810. (in hex)       Character                   of Keys
  811.                                     Minitel         PC
  812. ---------      ---------            -------         -------
  813.   00              NUL               Ctrl'           Ctrl @
  814.   01              SOH               Ctrl A
  815.   02              STX               Ctrl B
  816.   03              ETX               Ctrl C
  817.   04              EOT               Ctrl D
  818.   05              ENQ               Ctrl E
  819.   06              ACK               Ctrl F
  820.   07              BEL               Ctrl G
  821.   08              BS                Ctrl H
  822.   09              HT                Ctrl I
  823.   0A              LF                Ctrl J or Ctrl: Ctrl J
  824.   0B              VT                Ctrl K or Ctrl; Ctrl K
  825.   0C              FF                Ctrl L
  826.   0D              CR                Ctrl M or Enter Ctrl M
  827.   0E              SO                Ctrl N
  828.   0F              SI                Ctrl O
  829.   10              DLE               Ctrl P
  830.   11              Cursor ON         Ctrl Q
  831.   12              REP               Ctrl R
  832.   13              SEP               Ctrl S
  833.   14              Cursor OFF        Ctrl T
  834.   15              NACK              Ctrl U
  835.   16              SYN               Ctrl V
  836.   17              ETB               Ctrl W
  837.   18              CAN               Ctrl X
  838.   19              SS2               Ctrl Y
  839.   1A              SUB               Ctrl Z
  840.   1B              ESC               Esc
  841.   1C              FS                Ctrl ,          Ctrl | or Ctrl \
  842.   1D              SS3               Ctrl -          Ctrl } or Ctrl ]
  843.   1E              RS                Ctrl .          Ctrl ^
  844.   1F              US                Ctrl ?          Ctrl _
  845.   20              Space             Spacebar        Spacebar
  846.   21              !                 SK 1            **
  847.   22              "                 SK 2            **
  848.   23              #                 # or SK 3       **
  849.   24              $                 SK 4            **
  850.   25              %                 SK 5            **
  851.   26              &                 SK 6            **
  852.   27              '                 'or SK 7        **
  853.   28              (                 SK 8            **
  854.   29              )                 SK 9            **
  855.   2A              *                 * or SK :       **
  856.   2B              +                 SK ;            **
  857.   2C              ,                 ,               **
  858.   2D              -                 -               **
  859.   2E              .                 .               **
  860.   2F    Box with diagonal line      SK ?            /
  861.   30              0                 0
  862.   31              1                 1
  863.   32              2                 2
  864.   33              3                 3
  865.   34              4                 4
  866.   35              5                 5
  867.   36              6                 6
  868.   37              7                 7
  869.   38              8                 8
  870.   39              9                 9
  871.   3A              :                 :
  872.   3B              ;                 ;
  873.   3C              <                 SK ,            **
  874.   3D              =                 SK -            **
  875.   3E              >                 SK .            **
  876.   3F              ?                 ?               **
  877.   40              @                 SK '            **
  878.   41              A                 A               Shift A
  879.   42              B                 B               Shift B
  880.   43              C                 C               Shift C
  881.   44              D                 D               Shift D
  882.   45              E                 E               Shift E
  883.   46              F                 F               Shift F
  884.   47              G                 G               Shift G
  885.   48              H                 H               Shift H
  886.   49              I                 I               Shift I
  887.   4A              J                 J               Shift J
  888.   4B              K                 K               Shift K
  889.   4C              L                 L               Shift L
  890.   4D              M                 M               Shift M
  891.   4E              N                 N               Shift N
  892.   4F              O                 O               Shift O
  893.   50              P                 P               Shift P
  894.   51              Q                 Q               Shift Q
  895.   52              R                 R               Shift R
  896.   53              S                 S               Shift S
  897.   54              T                 T               Shift T
  898.   55              U                 U               Shift U
  899.   56              V                 V               Shift V
  900.   57              W                 W               Shift W
  901.   58              X                 X               Shift X
  902.   59              Y                 Y               Shift Y
  903.   5A              Z                 Z               Shift Z
  904.   5B              [                 SK *            **
  905.   5C    10 o'clock diagonal line    SK Cancel       \
  906.   5D              ]                 SK #            **
  907.   5E          Up Arrow              SK 0            ^
  908.   5F    Low horizontal line         Ctrl 6          _
  909.   60    Middle horizontal line      Ctrl 5          `
  910.   61              a                 SK A            A
  911.   62              b                 SK B            B
  912.   63              c                 SK C            C
  913.   64              d                 SK D            D
  914.   65              e                 SK E            E
  915.   66              f                 SK F            F
  916.   67              g                 SK G            G
  917.   68              h                 SK H            H
  918.   69              i                 SK I            I
  919.   6A              j                 SK J            J
  920.   6B              k                 SK K            K
  921.   6C              l                 SK L            L
  922.   6D              m                 SK M            M
  923.   6E              n                 SK N            N
  924.   6F              o                 SK O            O
  925.   70              p                 SK P            P
  926.   71              q                 SK Q            Q
  927.   72              r                 SK R            R
  928.   73              s                 SK S            S
  929.   74              t                 SK T            T
  930.   75              u                 SK U            U
  931.   76              v                 SK V            V
  932.   77              w                 SK W            W
  933.   78              x                 SK X            X
  934.   79              y                 SK Y            Y
  935.   7A              z                 SK Z            Z
  936.   7B    Left vertical line          Ctrl 1 or       {
  937.                                     SK repeat
  938.   7C    Middle vertical line        Ctrl 2          |
  939.   7D    Right vertical line         Ctrl 3 or       }
  940.                                     SK send
  941.   7E    Upper horizontal line       Ctrl 4          ~
  942.   7F    Filled in Box               Ctrl <--        Ctrl BS
  943.  
  944.  
  945. Sequences of two or three codes:
  946.  
  947. Code sent                          Key or combination
  948. (in hex)   Character                    of keys
  949.                                  Minitel             PC
  950. ---------  ---------             -------             -------
  951.  19,41     ` (grave accent)      SK Next             (not impl)
  952.  19,43     ^ (circumflex)        SK Index            (not impl)
  953.  
  954.  
  955. Hex sequences sent by function keys:
  956.  
  957. Key or Combination
  958.    of keys               PC Key                     Codes Sent
  959. ------------------       ------                     ----------
  960. Send                     F8 or Enter                13,41
  961. Previous                 F3 or Shift-Tab or PgUp    13,42
  962. Repeat                   F4                         13,43
  963. Guide                    F5                         13,44
  964. Cancel                   F2 or End                  13,45
  965. Index                    F1 or Home                 13,46
  966. Correction               F6 or Backspace            13,47
  967. Next                     F7 or Tab or PgDn          13,48
  968. Line/Local               F9                         13,49-Modem
  969. SK Line/Local            (not supported on PC)      13,49-Socket
  970. Ctrl Line/Local          Alt b                      Break to modem
  971.  
  972.  
  973. Notes:
  974. 1) SK = Special key on Minitel
  975.       = Shift key on PC
  976. 2) Where there is no PC key specified, the PC key is the same as the
  977. Minitel key.
  978. 3) '**' Means to use the Key marked for this purpose on your particular
  979. keyboard.
  980.  
  981.  
  982. APPENDIX E      Minitel/PC Script Language
  983.                 --------------------------
  984.  
  985. E.1     Script Language Compiler (MTC.EXE)
  986.  
  987. The Minitel/PC script language is a semi-compiled language.  To create a
  988. script language program, any text editor which creates an ASCII format
  989. file can be used.  Once a script program has been created, it must be
  990. compiled by the program 'MTC.EXE' (Minitel/PC Compiler) before it can be
  991. executed.  MTC checks the source for syntax errors and produces a
  992. compiled program as its result.  Script source files are expected to have
  993. an extension of 'MT'.  MTC gives compiled scripts an extension of 'MTO'
  994. (Minitel/PC Object).
  995.  
  996. To compile a program with MTC, type the command:
  997.  
  998.         mtc source_file_name
  999.  
  1000. in response to the DOS prompt.  It is not necessary to specify the '.MT'
  1001. extension of the source file name.  If you do not specify the source file
  1002. name on the command line, MTC will prompt you with the line:
  1003.  
  1004.         'Source file name ?'.
  1005.  
  1006. If you enter only a carriage return in response to the source file
  1007. prompt, MTC will prompt you to enter the program source at the terminal.
  1008.  
  1009. The following diagram illustrates the script creation process:
  1010.  
  1011.                         Create Script Source
  1012.                         file with text editor
  1013.                         (create myscript.mt)
  1014.                                 |
  1015.                                 |
  1016.                                 V
  1017.                             mtc myscript
  1018.                                 |
  1019.                                 |
  1020.                                 V
  1021.                             myscript.mto
  1022.  
  1023.  
  1024. E.2     Running a Script Language Program
  1025.  
  1026. Scripts can be started by assigning them to a program function key, then
  1027. pressing the program function key at run time, or by using the /m command
  1028. line parameter.  For example typing 'mt /mlogon' starts Minitel/PC, then
  1029. invokes the script program named 'logon'.  Only one script language
  1030. program can be specified on the command line.  If more than one is
  1031. specified, only the one that was last named is run.  While a script
  1032. language program is running, a reverse-video 'M' will appear in column 40
  1033. of the status row.  A running script language program can be aborted at
  1034. any time by pressing the [ESC] key.
  1035.  
  1036.  
  1037. E.3     Script Language Description
  1038.  
  1039. A Minitel/PC script language program consists of a series of statements.
  1040. Each statement can be preceded by a label.  A label consists of up to 15
  1041. alphanumeric characters (and underscores) followed by a colon.  The first
  1042. character of a label must be alphabetic.  Comments can be placed anywhere
  1043. in a program by enclosing the comment within curly brackets ({}).  The
  1044. END directive must follow the last statement of a script language program
  1045. (the END directive is a message to the script language compiler (MTC)
  1046. telling it that it has reached the end of the program).
  1047.  
  1048. Following is a description of all script language statements:
  1049.  
  1050. E.3.1)  DIAL statement
  1051.  
  1052. The dial statement causes the modem to dial the Minitel Services Company
  1053. node using the phone number and modem information from the Minitel/PC
  1054. configuration file.  If the dial attempt fails, the script language
  1055. program is aborted, and a failure message is displayed on the screen.
  1056. The DIAL command supports all required modems for the HOST machine.  For
  1057. example, on the PC the DIAL command supports the HAYES modem, MANUAL dial
  1058. modems, DIRECT modems, and any command-driven auto-dial modem.
  1059.  
  1060. The following algorithm details the logic used by the DIAL command:
  1061.  
  1062. a) If the modem type is direct, terminate successfully, otherwise proceed
  1063. with step b).
  1064.  
  1065. b) If the modem type is manual, proceed with step c), otherwise go to
  1066. step e)
  1067.  
  1068. c) Prompt user to dial the number
  1069.  
  1070. d) Prompt user for a key;
  1071.    If the user enters an ESC, terminate with failure
  1072.    If the user enters a key other than ESC, terminate successfully
  1073.    If the carrier signal goes from low to high while waiting for
  1074.         a key, terminate successfully.
  1075.  
  1076. e) If there is a MODEM_INIT parameter in the configuration file, send it
  1077. and proceed to step f), otherwise proceed to step h).
  1078.  
  1079. f) If there is a MODEM_RESPONSE parameter in the configuration file,
  1080. proceed to step g), otherwise wait till two seconds elapses with no data
  1081. received from the remote system, then proceed to step h).
  1082.  
  1083. g) If the modem response is not received within 10 seconds, terminate
  1084. with failure, otherwise proceed to step h).
  1085.  
  1086. h) Build a dial command from the MODEM_DIAL_PREFIX, PHONE and the
  1087. MODEM_DIAL_SUFFIX configuration parameters and send the dial command to
  1088. the modem.
  1089.  
  1090. i) If there are no MODEM_SUCCESS configuration parameters, inform the
  1091. user that a dial command has been sent and proceed to step d).
  1092.  
  1093. j) Wait for any of the MODEM_SUCCESS or MODEM_FAILURE responses to be
  1094. received.
  1095.    If 90 seconds go by with none of the success or failure responses
  1096.         received, terminate with failure.
  1097.    If a success response is received, terminate successfully.
  1098.    If a failure response is received, proceed to step k).
  1099.  
  1100. k) Prompt the user to see if he wants to try another dial attempt.  If
  1101. 'YES' proceed to step e), otherwise terminate with failure.
  1102.  
  1103.  
  1104. E.3.2)  BRANCH statement
  1105.  
  1106. SYNTAX:
  1107.         BRANCH label
  1108.  
  1109. The BRANCH statement causes program execution continue with the statement
  1110. following the given label, rather than the next statement.
  1111.  
  1112.         statement 1
  1113.         statement 2
  1114.         BRANCH skip
  1115.         statement 3
  1116.         statement 4
  1117. skip:   statement 5
  1118.  
  1119. In the above example, the statements will be executed in the this order:
  1120.  
  1121.         statement 1
  1122.         statement 2
  1123.         statement 5
  1124.  
  1125.  
  1126. E.3.3)  PAUSE statement
  1127.  
  1128. SYNTAX:
  1129.         PAUSE tenths_of_second
  1130.  
  1131. The PAUSE statement causes the program to halt for the given number of
  1132. tenths of a second before proceeding with the next statement.
  1133.  
  1134. e.g.
  1135.         PAUSE 10                <- pause for 1 second
  1136.  
  1137.  
  1138. E.3.4)  TYPE statement
  1139.  
  1140. SYNTAX:
  1141.         TYPE string
  1142.  
  1143. The TYPE statement causes the characters in the given string to be sent
  1144. to the remote system as though they had been typed at the terminal.
  1145.  
  1146. The string can consist of any combination of the following.
  1147.  
  1148.         - a quoted string. The quoted string can contain diagraphs
  1149.           of the form '^letter' to include control characters in the
  1150.           string. For example the digraph ^M is a carriage return.
  1151.           See Appendix F for a complete description of digraphs. See
  1152.           notes at the end of section E.5 for more details on quoted
  1153.           strings.
  1154.         - a Minitel function key (one of LOCAL_LINE, INDEX,
  1155.           CANCEL, PREVIOUS, REPEAT, GUIDE, CORRECTION, NEXT,
  1156.           SEND)
  1157.         - a character constant (CR, LF, BS, BELL)
  1158.         - any of the following configuration parameter names
  1159.                 PASSWORD
  1160.                 PHONE
  1161.                 USERID
  1162.  
  1163. e.g.
  1164.         TYPE 'AT?' CR     <- send string AT? followed by a CR
  1165.         TYPE 'AT^M'       <- same as above
  1166.         TYPE 'CHAT' SEND  <- send the string CHAT followed by
  1167.                              the Minitel send key
  1168.         TYPE USERID CR    <- send the value of the configuration
  1169.                              file USERID parameter followed by
  1170.                              a CR (carriage return)
  1171.  
  1172.  
  1173. E.3.5)  QUIT statement
  1174.  
  1175. Terminates execution of the current script program.
  1176.  
  1177.  
  1178. E.3.6)  DOPF statement
  1179.  
  1180. SYNTAX:
  1181.         DOPF number
  1182.  
  1183. Causes the named program function key to be executed.  This causes the
  1184. same effect as the user pressing the given function key at the keyboard.
  1185. Script language programs can invoke other script language programs using
  1186. function keys.
  1187.  
  1188. e.g.
  1189.         DOPF 2          <- execute PF2
  1190.  
  1191.  
  1192. E.3.7)  MESSAGE statement
  1193.  
  1194. SYNTAX:
  1195.         MESSAGE string
  1196.  
  1197. This command causes the given string to appear in a pop-up window on the
  1198. screen, along with the message 'PRESS ANY KEY TO CONTINUE'.  After the
  1199. user presses a key, the pop-up window disappears, and the underlying
  1200. screen is restored.  The string containing the message to be printed must
  1201. have the same format as a string in a TYPE statement.
  1202.  
  1203. e.g.
  1204.         MESSAGE 'Logon Procedure has failed'
  1205.  
  1206.  
  1207. E.3.8)  LOOP statement
  1208.  
  1209. SYNTAX:
  1210.         LOOP number
  1211.             statements
  1212.             AT_END_DO
  1213.                 statements
  1214.         ENDLOOP
  1215.  
  1216. The LOOP statement causes the statements between the LOOP keyword and the
  1217. AT_END_DO clause to be executed 'number' times.  After the last time, the
  1218. statements following the optional AT_END_DO clause are executed.  The
  1219. loop can be terminated prematurely by using the BREAK statement or the
  1220. BRANCH statement.  The BREAK statement causes program execution to
  1221. continue following the ENDLOOP clause.  If the loop is terminated
  1222. prematurely for any reason, the statements following the AT_END_DO clause
  1223. are not executed.  The BREAK statement is ignored if it is encountered
  1224. anywhere other than within a LOOP.
  1225.  
  1226. Example:
  1227.         LOOP 3
  1228.             type 'hello' CR
  1229.             AT_END_DO
  1230.                 type 'this is the last hello'
  1231.         ENDLOOP
  1232.  
  1233. The above example causes the following data to be sent to the remote
  1234. system:
  1235.  
  1236.         hello
  1237.         hello
  1238.         hello
  1239.         this is the last hello
  1240.  
  1241. Example 2:
  1242.         LOOP 2
  1243.             TYPE 'I am about to pause for 5 seconds'
  1244.             PAUSE 50
  1245.         ENDLOOP
  1246.  
  1247. The above example demonstrates a loop statement with no AT_END_DO clause.
  1248.  
  1249.  
  1250.  
  1251. E.3.9)  WAIT statement
  1252.  
  1253. SYNTAX:
  1254.         WAIT tenths
  1255.             CASE string 1
  1256.                 statements
  1257.             CASE string 2
  1258.                 statements
  1259.                 .
  1260.                 .
  1261.             CASE string N
  1262.                 statements
  1263.             FAILURE
  1264.                 statements
  1265.         ENDWAIT
  1266.  
  1267. The WAIT statement causes the script program to WAIT for data from the
  1268. remote computer system.  If any of the strings named by one of the CASE
  1269. clauses are received from the remote system, the statements following
  1270. that CASE clause are executed.  If 'tenths' tenths of a second go by with
  1271. no data received from the remote system, or if the line drops, the
  1272. statements following the optional FAILURE clause are executed.  After the
  1273. statements following a CASE or FAILURE clause are executed, execution
  1274. continues after the ENDWAIT clause.
  1275.  
  1276. The string parameter of the CASE clause must have the same format as a
  1277. string in a TYPE statement.  Multiple strings can be specified by
  1278. separating them with a comma (,).  If there are multiple strings
  1279. separated by a comma, the statements following the CASE clause are
  1280. executed if any one of the named strings are received from the remote
  1281. system.
  1282.  
  1283. Example:
  1284.         TYPE 'ATDP 438-8304' CR
  1285.         WAIT 600        { wait up to 60 seconds (600 tenths) }
  1286.             CASE 'CONNECT', 'CONNECT 1200', 'CONNECT 600', 'CONNECT 2400'
  1287.  
  1288.                 { the dial attempt has succeeded so just continue }
  1289.                 { with the statement following the ENDWAIT }
  1290.             CASE 'NO CARRIER', 'BUSY', 'NO ANSWER'
  1291.                 MESSAGE 'Dial attempt has failed, try again later'
  1292.                 QUIT
  1293.             CASE 'ERROR', 'NO DIALTONE'
  1294.                 MESSAGE 'Fatal error during dial attempt'
  1295.                 QUIT
  1296.             FAILURE
  1297.                 MESSAGE
  1298.                   'Timeout, line lost or user ESC during Dial Attempt'
  1299.                 QUIT
  1300.         ENDWAIT
  1301.         WAIT 5
  1302.             CASE CR LF          { wait for rest of modem response }
  1303.         ENDWAIT
  1304.  
  1305. In the above example, we send a dial request to a HAYES modem and use the
  1306. WAIT statement to check the result (note that you would normally not have
  1307. to do this since the above and more can be performed automatically by the
  1308. DIAL command).
  1309.  
  1310. Example 2:
  1311.         LOOP 10
  1312.             TYPE CR
  1313.             WAIT 3 CASE '#' BREAK ENDWAIT
  1314.  
  1315.             AT_END_DO
  1316.                 MESSAGE 'PAD not responding with a # prompt.'
  1317.                 QUIT
  1318.         ENDLOOP
  1319.  
  1320. In the above example, we send up to 10 carriage returns (one every three
  1321. tenths of a second) in an attempt to get a '#' prompt from a Minitel
  1322. Services Company PAD.  The WAIT statement waits up to three tenths of a
  1323. second for a '#'.  If it fails, there is no effect (since there is no
  1324. FAILURE clause).  If the WAIT statement succeeds, the BREAK statement is
  1325. executed, and the LOOP terminates prematurely.  If the loop terminates
  1326. prematurely, the statements following the AT_END_DO clause are not
  1327. executed.  Note that statements can be split over multiple lines.  The
  1328. above WAIT statement would be more clearly written as:
  1329.  
  1330.         WAIT 3
  1331.             CASE '#'
  1332.                 BREAK
  1333.         ENDWAIT
  1334.  
  1335.  
  1336. E.3.10)  IF statement
  1337.  
  1338. SYNTAX:
  1339.         IF string THEN
  1340.             statements                  IF string THEN
  1341.         ELSE                   OR           statements
  1342.             statements                  ENDIF
  1343.         ENDIF
  1344.  
  1345. The IF statment tests the value of 'string' for a non-null value.  If
  1346. 'string' has a non-null value, the statements between the THEN and ELSE
  1347. clauses are executed, otherwise the statements between the ELSE and ENDIF
  1348. clauses are executed.  The ELSE clause is optional.  If there is no ELSE
  1349. clause, and 'string' has a non-null value, the statments between the ELSE
  1350. and ENDIF clauses are executed, otherwise execution continues after the
  1351. ENDIF clauses.
  1352.  
  1353. Example:
  1354.  
  1355.         { if there is a phone # in the config file then dial }
  1356.         if phone then
  1357.             message 'Your local access # is ' phone
  1358.             dial
  1359.         else
  1360.             message 'No PHONE parameter specified in config file'
  1361.         endif
  1362.  
  1363. Example 2:
  1364.  
  1365.         { if there is a password in the config file then send it }
  1366.         if password then
  1367.             type password SEND
  1368.         endif
  1369.  
  1370.  
  1371. E.4     Script Program Example
  1372.  
  1373. The following example is a complete script language program that dials
  1374. the Minitel Services Company kiosk and requests a service.
  1375.  
  1376.     { logon.mt - script program to dial the Minitel services company
  1377.                  network and request a service }
  1378.  
  1379.     dial            { dial Minitel Services Company network
  1380.                       - uses config modem type & number }
  1381.  
  1382.     { try up to six times to get a pound sign }
  1383.     loop 6
  1384.         type CR
  1385.         wait 3 case '#' break endwait
  1386.  
  1387.         at_end_do
  1388.             message 'PAD not responding with #'
  1389.             quit
  1390.     endloop
  1391.  
  1392.     { perform network logon }
  1393.     type 'x' CR
  1394.     wait 50
  1395.         case '*'            { success }
  1396.         failure
  1397.             message 'PAD not responding with *'
  1398.             quit
  1399.     endwait
  1400.  
  1401.     type '.vmt' CR          { request network service }
  1402.     end
  1403.  
  1404.  
  1405. E.5     Detailed Script Language Syntax Definition
  1406.  
  1407. The following defines the syntax of all legal script language programs.
  1408.  
  1409. Program     -> Lines END
  1410. Lines       -> Lines Line
  1411.             -> Line
  1412.             -> <empty>
  1413. Line        -> Label Statement
  1414. Label       -> <identifier> :
  1415.             -> <empty>
  1416. Statement   -> WAIT <integer> Waitcases Failcase ENDWAIT
  1417.             -> LOOP <integer> Lines Endstmnts ENDLOOP
  1418.             -> IF Charexp THEN Lines ElseIf ENDIF
  1419.             -> MESSAGE Charexp
  1420.             -> DOPF <integer>
  1421.             -> DIAL
  1422.             -> BRANCH <identifier>
  1423.             -> PAUSE <integer>
  1424.             -> QUIT
  1425.             -> TYPE Charexp
  1426.             -> BREAK
  1427. Waitcases   -> Waitcases Waitcase
  1428.             -> Waitcase
  1429. Waitcase    -> CASE Charexplist Lines
  1430. Charexplist -> Charexplist , Charexp
  1431.             -> Charexp
  1432. Failcase    -> FAILURE Lines
  1433.             -> <empty>
  1434. Endstmnts   -> AT_END_DO Lines
  1435.             -> <empty>
  1436. ElseIf      -> ELSE Lines
  1437.             -> <empty>
  1438. Charexp     -> Charexp Charterm
  1439.             -> Charterm
  1440. Charterm    -> Envcharvar
  1441.             -> Charconst
  1442.             -> Functionkey
  1443.             -> <string>
  1444. Charconst   -> CR
  1445.             -> LF
  1446.             -> BS
  1447.             -> BELL
  1448. Envcharvar  -> PF1
  1449.             -> PF2
  1450.             -> PF3
  1451.             -> PF4
  1452.             -> PF5
  1453.             -> PF6
  1454.             -> PF7
  1455.             -> PF8
  1456.             -> PF9
  1457.             -> PF10
  1458.             -> PASSWORD
  1459.             -> PHONE
  1460.             -> USERID
  1461.             -> SERVICE
  1462. Functionkey -> LOCAL_LINE
  1463.             -> INDEX
  1464.             -> CANCEL
  1465.             -> PREVIOUS
  1466.             -> REPEAT
  1467.             -> GUIDE
  1468.             -> CORRECTION
  1469.             -> NEXT
  1470.             -> SEND
  1471.  
  1472. Notes:
  1473.  
  1474. i) <empty> means that the construct is optional.
  1475.  
  1476. ii) <identifier> is an identifier of up to 15 alphanumeric characters
  1477. (and underscore) in length.  The first character of an identifier must be
  1478. alphabetic.
  1479.  
  1480. iii) <string> is a character string enclosed in single quotes.  Single
  1481. quotes can be included within the string by putting two of them together.
  1482. For example, to specify the string;
  1483.  
  1484.         that's all folks
  1485.  
  1486. you would enter
  1487.  
  1488.         'that''s all folks'
  1489.  
  1490. iv) <integer> is an integer value in the range -32768 to 32767.  Values
  1491. outside this range will cause undefined results.
  1492.  
  1493. v) Comments can appear anywhere in the program except within a token.
  1494.  
  1495. Examples:
  1496.  
  1497.         WAIT { this is a legal comment } 10
  1498.             CASE 'hello'
  1499.         ENDWAIT
  1500.  
  1501.         WAI{ this comment causes an error }T 10
  1502.             CASE 'hello'
  1503.         ENDWAIT
  1504.  
  1505. vi) Values entirely in upper case are keywords and can appear in a
  1506. script language program in either upper, lower or mixed case.
  1507.  
  1508.  
  1509. APPENDIX F      Entering Control Characters
  1510.                 ---------------------------
  1511.  
  1512. Control characters can be entered into configuration file parameters,
  1513. literal strings in a script language program, and in the answers to
  1514. prompts in the installation program by using a two character digraph of
  1515. the form ^x, where '^' is the circumflex character (ascii 94) and 'x' is
  1516. any other character. The sequence ^x causes the control character whose
  1517. value is the ascii value of the upper case version of the character minus
  1518. 64 to be entered into the string.  For example ^m causes a carriage
  1519. return to be entered into the string (the ascii value of an upper case
  1520. 'm' is 77.  Seventy-seven minus 64 is equal to 13 which is the ascii
  1521. value of a carriage return).
  1522.  
  1523. The following table lists a number of useful digraphs:
  1524.  
  1525.         Digraph         Control Character       Ascii Value
  1526.         -------         -----------------       -----------
  1527.           ^M                   CR                   13
  1528.           ^J                   LF                   10
  1529.           ^H                   BS                    8
  1530.           ^G                   BELL                  7
  1531.           ^L                   FF                   12
  1532.           ^I                   TAB                   9
  1533.           ^[                   ESC                  27
  1534.  
  1535. The following digraph/character combinations can be used to encode
  1536. Minitel functions keys within a string:
  1537.  
  1538.         Code            Function Key            Ascii Values
  1539.         ----            ------------            ------------
  1540.         ^SA               SEND                    19 65
  1541.         ^SB               PREVIOUS                19 66
  1542.         ^SC               REPEAT                  19 67
  1543.         ^SD               GUIDE                   19 68
  1544.         ^SE               CANCEL                  19 69
  1545.         ^SF               INDEX                   19 70
  1546.         ^SG               CORRECTION              19 71
  1547.         ^SH               NEXT                    19 72
  1548.         ^SI               LOCAL/LINE              19 73
  1549.  
  1550. Note that the above function key coding represents the non-X.3
  1551. compatible version of the function keys. Within script language
  1552. programs you should always use the function key names rather than the
  1553. digraphs, because the function key names will cause the correct
  1554. sequence to be sent depending on whether or not you are in X.3
  1555. compatible mode.
  1556.  
  1557. If you wish to enter a circumflex (^) in a string as itself, you must put
  1558. two of them in a row.  If you enter a sequence in a string of the form
  1559. ^x, and the ascii value of the character x is less than 64, the
  1560. circumflex (^) is ignored.
  1561.  
  1562.  
  1563. APPENDIX G      Use of the Minitel Function Keys
  1564.                 --------------------------------
  1565.  
  1566. The following tables describe the most common meaning of each of the
  1567. Minitel function keys.  Pressing the asterisk key (*) prior to a function
  1568. key modifies the meaning of a number of the keys.
  1569.  
  1570. FUNCTION KEY    MEANING
  1571. ------------    -------
  1572. LOCAL LINE      Causes a disconnection from the current service.
  1573.  
  1574. SEND            Validation of character strings or completion of a form.
  1575.  
  1576. REPEAT          Causes service to retransmit the previous screen.
  1577.                 Used to clear transmission errors.
  1578.  
  1579. *REPEAT         Refresh the current display with updates made since
  1580.                 the previous request.
  1581.  
  1582. INDEX           Return to the index of the service in use.
  1583.  
  1584. *INDEX          Access to the index at the highest level in the
  1585.                 case of a hierarchical index.
  1586.  
  1587. GUIDE           Request HELP from the service.
  1588.  
  1589. CORRECTION      Used to erase the last character typed.
  1590.  
  1591. The following function keys have slightly different meanings depending on
  1592. whether you are in a data entry screen or are giving a command to an
  1593. application.
  1594.  
  1595.                 MEANING IN DATA             MEANING AS COMMAND
  1596. FUNCTION KEY    ENTRY SCREEN                TO APPLICATION
  1597. ------------    ---------------             ------------------
  1598. CANCEL          Deletes the contents of     Abort current enquiry.
  1599.                 the current field.
  1600.  
  1601. *CANCEL         Delete all fields on the    No Meaning
  1602.                 current form and move to
  1603.                 the first field.
  1604.  
  1605. NEXT            Move to following field.    Move to following page.
  1606.  
  1607. PREVIOUS        Move to previous field.     Move to previous page.
  1608.  
  1609. *NEXT           Move to following page.     Move to following document.
  1610.  
  1611. *PREVIOUS       If there is a previous      Return to the last menu
  1612.                 page, return to the first   page or message.
  1613.                 field of the previous page,
  1614.                 otherwise move to the first
  1615.                 field of the current page.
  1616.  
  1617.  
  1618. The above tables were adapted from tables in the Intelmatique document
  1619. titled 'USE OF THE MINITEL FUNCTION KEYS'.
  1620.  
  1621.  
  1622. APPENDIX H      Error Messages
  1623.                 --------------
  1624.  
  1625. This appendix lists the most common error messages that can occur and
  1626. recommends corrective action that can be taken for each.
  1627.  
  1628. If the suggested corrective action fails for the following group of
  1629. commands, try exiting the emulator (with the [SHIFT-F3] command) and
  1630. restarting the emulator (with the MT command).
  1631.  
  1632. Command(s)      Error and Corrective Action
  1633. ----------      ---------------------------
  1634. [ALT-d],
  1635. [SHIFT-F1]      "Timeout or Line Lost while Dialing"
  1636.  
  1637.                 Retry the [SHIFT-F1] command.
  1638.  
  1639. [ALT-d],
  1640. [SHIFT-F1]      "Modem not responding to init string"
  1641.  
  1642.                 Make sure that your modem is connected and powered on,
  1643.                 that the correct com port has been chosen,
  1644.                 then retry the [SHIFT-F1] command.
  1645.  
  1646. [ALT-d],
  1647. [SHIFT-F1]      "DIAL Attempt has Failed."
  1648.                 "Try Again ? (Y=Yes, N=No)"
  1649.  
  1650.                 Enter 'Y' if you want Minitel/PC to try again.  If
  1651.                 you want to quit, enter 'N', then issue the [SHIFT-F3]
  1652.                 command.  If you want to try dialing manually, enter
  1653.                 'N', then enter the dial command.  If you get a
  1654.                 connection by dialing manually, you can use the
  1655.                 [SHIFT-F4] command to logon to the kiosk.
  1656.  
  1657. [ALT-d],
  1658. [SHIFT-F1],     "Unable to connect to network service"
  1659. [SHIFT-F2],     "PAD not responding with #"
  1660. [SHIFT-F4]      "PAD not responding with *"
  1661.  
  1662.                 If any of the above errors occur, issue the
  1663.                 [SHIFT-F4] command (even if the error occured in a
  1664.                 [SHIFT-F1] or [SHIFT-F2] command).
  1665.  
  1666.  
  1667. If any of the following errors occur then you must exit the emulator
  1668. to take corrective action.
  1669.  
  1670. Command(s)      Error and Corrective Action
  1671. ----------      ---------------------------
  1672. [ALT-d],
  1673. [SHIFT-F1],
  1674. [SHIFT-F2],     "User ID prompt not received"
  1675. [SHIFT-F4]
  1676.                 If this error occurs, exit the emulator with the
  1677.                 [SHIFT-F3] command and start again.
  1678.  
  1679. [ALT-d],
  1680. [SHIFT-F1]      "Error: No PHONE param in config file"
  1681.  
  1682.                 To use the auto dial feature of Minitel/PC, you must
  1683.                 enter a value in response to the access number
  1684.                 prompt in INSTALL. If this error occurs, re-run
  1685.                 INSTALL and enter an access number.
  1686.  
  1687. [ALT-d],
  1688. [SHIFT-Fx]      "Script <xxx> not found."
  1689.  
  1690.                 Make sure that the file 'xxx' is in the default drive
  1691.                 and directory before starting the emulator.
  1692.  
  1693. [ALT-d],
  1694. [SHIFT-Fx]      "Error reading <xxx>"
  1695.                 "Aborting Script - Bad Instruction"
  1696.                 "Aborting Script - Bad env var"
  1697.                 "Aborting Script - Bad function key"
  1698.                 "Aborting Script - Bad char item"
  1699.  
  1700.                 If any of the above errors occur, the script
  1701.                 program that was running when the error occurred
  1702.                 has become corrupted. Try recompiling the script
  1703.                 program with MTC.
  1704.  
  1705. [SHIFT-Fx]      "Illegal value in key PFx"
  1706.  
  1707.                 This error occurs if there is a bad definition for
  1708.                 the program function key PFx in the configuration
  1709.                 file. Possible errors are:
  1710.  
  1711.                 - A character other than an upper case 'M' or 'S'
  1712.                   was specified as the first character of the key
  1713.                   definition
  1714.  
  1715.                 - A character other than '-' was specified as the
  1716.                   second character of the key definition
  1717.  
  1718.                 To correct this problem, fix the program function key
  1719.                 definition in the configuration file.
  1720.  
  1721.  
  1722. APPENDIX I      Printing the screen
  1723.                 -------------------
  1724.  
  1725. From within the emulator you can send the text on your screen to the
  1726. printer using the [Shift-PrtSc] key combination (i.e. hold down the
  1727. Shift key then press the PrtSc key). This command will work no matter
  1728. what type of display adaptor or printer you have in your system.
  1729. Currently it is not possible to print graphics.
  1730.  
  1731.  
  1732. APPENDIX J      Modem Switch Settings
  1733.                 ---------------------
  1734.  
  1735. This section specifies the switch settings that are recommended for each
  1736. of the modems that are supported by the emulator.
  1737.  
  1738. 1) Hayes 300 and Hayes 1200 external modems
  1739.  
  1740. switch:     1  2  3  4  5  6  7  8
  1741. setting:    -  -  -  -  -  U  -  D
  1742.  
  1743.             D = down, U = up, - = don't care
  1744.  
  1745. 2) Hayes 1200B internal modem
  1746.  
  1747. switch:     1  2  3
  1748. setting:    -  -  D
  1749.  
  1750.             D = down, U = up, - = don't care
  1751.  
  1752. 3) Hayes 2400 external modem, Hayes 2400B internal modem and direct
  1753.    connection:
  1754.  
  1755.           nothing needs to be set with these modems.
  1756.  
  1757. 4) Manual Dial modems and Other (non-Hayes compatible) command-driven
  1758.    modems:
  1759.  
  1760. For best results these modems should be configured so that:
  1761.  
  1762. -> DCD tracks the state of the data carrier from the remote modem.
  1763. -> An ON to OFF transition of DTR causes the modem to drop the line.
  1764.  
  1765. If the modem is command-driven, it is recommended that during
  1766. installation (while running INSTALL), you put the commands that configure
  1767. the modem as above in the modem init string.
  1768.  
  1769.  
  1770. APPENDIX K      Version Differences
  1771.                 -------------------
  1772.  
  1773. This section provides a list of the changes that were made to
  1774. Minitel/PC version 2.3 to produce version 2.4.
  1775.  
  1776. 1) The TTY emulation mode was replaced with a VT100 emulation mode.
  1777.  
  1778. 2) Valid options for the command line paramter /e are now 'v' (for
  1779.    VT100) and 'm' (for Minitel).
  1780.  
  1781. 3) Auto-logon can be requested from the VT100 copyright screen.
  1782.  
  1783. 4) A new command line parameter /l has been added. This parameter
  1784.    allows you to turn local echo on or off.
  1785.  
  1786. 6) NULL characters in the screen are no longer stored in the file
  1787.    when you save a screen to disk.
  1788.  
  1789. 5) The following bugs were corrected:
  1790.  
  1791.     - NULLs were not always filtered correctly during Minitel
  1792.       emulation.
  1793.     - Data to the screen was lost when a command to switch from
  1794.       Minitel to VT100 mode or VT100 to Minitel mode was received
  1795.       while a script language program was running.
  1796.     - The wrong error message was sometimes reported when an
  1797.       XMODEM file transfer failed.
  1798.  
  1799. ---------------------------------------------------------------------
  1800.  
  1801. This section provides a list of the changes that were made to
  1802. Minitel/PC version 2.2 to produce version 2.3.
  1803.  
  1804. 1) The keys used for many of the commands have been changed to bring
  1805.    the emulator into conformance with TOG standards.
  1806.  
  1807. 2) An XMODEM file transfer command has been added (ALT-f). The XMODEM
  1808.    command only works during TTY terminal emulation.
  1809.  
  1810. 3) The [Shift-PrtSc] command can now be used to send the text of any
  1811.    screen to the printer no matter what type of display adaptor you
  1812.    are using.
  1813.  
  1814. 4) The [ALT-d] command now dials and performs an auto-logon.
  1815.    Previously it just dialed. The [ALT-d] command uses the provided
  1816.    script 'LOGON.MTO' for this purpose.
  1817.  
  1818. 5) The following VT100 escape sequences and control codes have been
  1819.    implemented in the TTY portion of the emulator (some of these
  1820.    sequences were partially implemented in the previous version of
  1821.    Minitel/PC).
  1822.  
  1823.         ESC [ x J               - clear screen
  1824.         ESC [ x K               - clear line
  1825.         ESC [ x1 ; x2 ; ... m   - set video attributes (bold, blink,
  1826.                                   inverse and underline have been
  1827.                                   implemented)
  1828.         HT                      - standard tabs every eight columns
  1829.         VT, FF                  - same as LF
  1830.  
  1831. ---------------------------------------------------------------------
  1832.  
  1833. This section provides a list of the changes that were made to
  1834. Minitel/PC version 2.1 to produce version 2.2.
  1835.  
  1836. 1) The keypad plus and minus keys can no longer be used to send a
  1837.    real CR and LF. These keys now send plus or minus.
  1838.  
  1839. 2) The following commands have been added.
  1840.  
  1841.         ALT d           - auto dial
  1842.         ALT t           - switch to TTY emulation mode
  1843.         ALT m           - switch to Minitel emulation mode
  1844.         ALT p           - send text of screen to the printer
  1845.  
  1846. 3) The [ALT][q] command now works in Minitel mode (same as SHIFT F3).
  1847.  
  1848. 4) The program function keys PF1 to PF4 can now be reassigned by
  1849.    the user.
  1850.  
  1851. 5) The special program function key values '<DROPLINE/QUIT>',
  1852.    '<DROPLINE>' and <QUIT> have been added to the emulator (see
  1853.    Appendix C, section 5).
  1854.  
  1855. 6) Some changes have been made to the Hercules screen driver to make
  1856.    dithered text easier to read.
  1857.  
  1858. 7) The TTY emulation mode now implements the ANSI escape sequences
  1859.    to clear the screen (ESC [ 2 J) and position the cursor
  1860.    ('ESC [ Pr ; Pc f' and 'ESC [ Pr ; Pc H').
  1861.  
  1862. 8) The special script language symbols for the function keys (NEXT,
  1863.    SEND, PREVIOUS, etc) were not returning X.3 versions of the
  1864.    function keys when in X.3 pad compatibility mode. This bug has
  1865.    been corrected.
  1866.  
  1867. 9) When returning the terminal id request the emulator now ORs the
  1868.    version byte with hex 40 if X.3 pad compatibility mode is active.
  1869.  
  1870. 10) The emulator now filters the function keys if they are echoed
  1871.     back. Also all other special filtering that is performed by the
  1872.     Minitel has now been implemented.
  1873.  
  1874. ---------------------------------------------------------------------
  1875.  
  1876. This section provides a list of the changes that were made to Minitel/PC
  1877. version 2.01 to produce version 2.1.
  1878.  
  1879. 1) The save screen to disk [ALT-s] and load screen from disk [ALT-l]
  1880. commands were added to the emulator.
  1881.  
  1882. 2) Some changes were made to the color shadow combinations that are used
  1883. with the CGA adaptor.
  1884.  
  1885. 3) The following videotex decoder bug was corrected:
  1886.  
  1887.    - Writing past column 40 when on row 23 in double height mode was
  1888.      not being handled correctly.
  1889.  
  1890. ---------------------------------------------------------------------
  1891.  
  1892. This section provides a list of the changes that were made to
  1893. Minitel/PC version 2.0 to produce version 2.01.
  1894.  
  1895. 1) For "hard to read" foreground/background color combinations the CGA
  1896. screen driver now puts a shadow to the right of characters to make them
  1897. easier to read.
  1898.  
  1899. 2) Some speed improvements were made to the CGA screen driver.
  1900.  
  1901. ---------------------------------------------------------------------
  1902.  
  1903. This section provides a list of the changes that were made to Minitel/PC
  1904. version 1.6 to produce version 2.0.
  1905.  
  1906. In this release the videotex decoding software and screen drivers were
  1907. completely re-written.  The new decoding software and screen drivers
  1908. provide the following improvments and new features:
  1909.  
  1910. 1)  The emulator now uses the Minitel M1B font (VPG5).
  1911.  
  1912. 2)  The blink/steady and conceal/reveal attributes are now implemented
  1913. for all supported display adaptors.  Reverse polarity blinking characters
  1914. blink out of phase with normal polarity blinking characters, as on the
  1915. Minitel.
  1916.  
  1917. 3)  "Scan forward" is now implemented.  Writing a delimeter now updates
  1918. the conceal attribute of all following characters and the background
  1919. color and underline of all following text characters.  Writing a graphic
  1920. character now updates the background color of all following text
  1921. characters.
  1922.  
  1923. 4)  Various bugs in the videotex decoding were corrected.
  1924.  
  1925.     This includes the following:
  1926.  
  1927.     - Receiving characters past the right margin caused the latent
  1928.       serial attributes to be lost.
  1929.  
  1930.     - The control characters 0B (ctrl k) and 0A (ctrl j) reset the
  1931.       background color in graphics mode.
  1932.  
  1933.     - The CAN control code (ctrl x) caused the latent background
  1934.       attribute to be validated.
  1935.  
  1936.           For example:
  1937.  
  1938.           ctrl l (FF), ESC T, ctrl x (CAN)
  1939.  
  1940.           Caused the first row to change to a blue background.
  1941.  
  1942.     - Occasionally when using an EGA adaptor random horizontal
  1943.       lines would appear through the characters.
  1944.  
  1945. 5)  The EGA driver now uses the 320x200 16 color mode instead of the
  1946. 640x200 mode. This increases the speed of the EGA driver with no loss of
  1947. display quality.
  1948.  
  1949. 6)  The CGA driver now uses the 320x200 four color mode (with the
  1950. MAGENTA/CYAN/WHITE palette) instead of the 640x200 two color mode.  The
  1951. remaining 4 colors are simulated by combining the existing colors in a
  1952. checkerboard pattern.  The following table shows the color combinations
  1953. that are used for the 8 Minitel colors:
  1954.  
  1955.         Minitel color           Color on CGA
  1956.         -------------           ------------
  1957.           BLACK                   BLACK
  1958.           BLUE                    BLACK/CYAN
  1959.           RED                     BLACK/MAGENTA
  1960.           MAGENTA                 MAGENTA
  1961.           GREEN                   MAGENTA/CYAN
  1962.           CYAN                    CYAN
  1963.           YELLOW                  CYAN/WHITE
  1964.           WHITE                   WHITE
  1965.  
  1966. 7)  The CGA driver now uses normal thin characters instead of the old
  1967. thick ones.
  1968.  
  1969. 8)  The Hercules screen driver now simulates eight grey scales for text
  1970. as well as graphics.
  1971.  
  1972. 9)  The MDA screen driver now works with the CGA and EGA adaptors as well
  1973. as with the MDA and hercules adaptors.  This is more of an advantage for
  1974. the CGA adaptor, as it provides eight colors and high resolution text for
  1975. services that are mostly text based (i.e. where graphics are not that
  1976. important).
  1977.  
  1978. 10) The MDA screen driver now simulates the graphics characters by using
  1979. the closest available characters from the ROM font.
  1980.  
  1981. 11) Cursor handling was enhanced for for the EGA, CGA and hercules
  1982. adaptors so the cell under the cursor is displayed in reverse polarity
  1983. when the cursor is on.  This makes the character under the cursor visible
  1984. at all times.
  1985.  
  1986. ---------------------------------------------------------------------
  1987.  
  1988. This section provides a list of the changes that were made to version 1.5
  1989. to produce Minitel/PC version 1.6:
  1990.  
  1991. 1) The name of the emulator was changed from MiniTerm to Minitel/PC.
  1992.  
  1993. 2) Various minor bugs in the videotex decoding were corrected in the
  1994. emulator.  These include the following:
  1995.  
  1996.     - The emulator would switch from scroll to page mode when a
  1997.       FF was received.
  1998.     - The original graphic state was not restored when moving from
  1999.       the status row with a LF.
  2000.     - Scroll down did not work on the monochrome display adaptor
  2001.     - A CAN received in row 24 while in scroll mode would cause
  2002.       the screen to scroll up
  2003.     - CAN was causing some video attributes to be reset
  2004.     - Receiving an SI when already in alpha mode was not resetting
  2005.       double width, double high and inverse attributes
  2006.     - Receiving a double width or size attribute when in row zero or
  2007.       one was not being handled correctly
  2008.       i.e. - double size was not resetting double width in fact it
  2009.              was forcing double width
  2010.            - double high was not resetting double width
  2011.     - A CR was causing the latent serial attributes to be reset
  2012.  
  2013. 3) A command line parameter (/n) to specify a new telephone number was
  2014. added to the emulator.  This allows a temporary alternate telephone
  2015. number to be easily specified in cases where the normal number is not
  2016. available due to network problems or if you are out of town.  Numbers
  2017. specified with the '/n' parameter are not stored in the configuration
  2018. file on program termination.
  2019.  
  2020. 4) The installation program now has a default value for most prompts that
  2021. you can accept by just pressing the [ENTER] key.
  2022.  
  2023. 5) The installation program now allows you to exit at any point with the
  2024. [ESC] key.
  2025.  
  2026. 6) The [SHIFT-TAB] key combination (hold down the [SHIFT] key and press
  2027. the [TAB] key) now causes the installation program to return to the
  2028. previous data entry screen.
  2029.  
  2030. 7) The list of suggested modem switch settings has been moved from the
  2031. installation program to the user manual (i.e. Appendix J of this
  2032. document).
  2033.  
  2034. 8) An option for tone dialing has been added to the installation program.
  2035.  
  2036. 9) A new THIN font has been created for the EGA adaptor.  This font is in
  2037. the file EGA.FNT.
  2038.  
  2039. 10) An IF/THEN/ELSE/ENDIF statememt has been added to the SCRIPT language
  2040. (see Appendix E).
  2041.  
  2042. 11) A optional SERVICE parameter has been added to the configuration file
  2043. (see Appendix C).
  2044.  
  2045.  
  2046. APPENDIX L      Differences from a real Minitel
  2047.                 -------------------------------
  2048.  
  2049. Minitel/PC emulates the Videotex mode of the Minitel M1B terminal except
  2050. for the following differences (ascii and mixed modes are not
  2051. implemented).
  2052.  
  2053. 1) The M1B is capable of displaying double-high and double-size
  2054. characters with different colors on the top and bottom rows. 
  2055. Minitel/PC always displays double-high/size characters with the same
  2056. color on both rows, using the color of the lower row.
  2057.  
  2058. 2) None of the CSI formatting functions are implemented.  CSI sequences
  2059. are filtered but are not acted upon.
  2060.  
  2061. 3) The only software protocol commands and features of the software
  2062. protocol that have been implemented are:
  2063.  
  2064.         - scroll mode on/off (no acknoledgement returned)
  2065.         - reset to power on state (acknowledgement returned)
  2066.         - ID request (The seqence SOH (01 hex) Cu7 EOT (04 hex)
  2067.           is returned in response to the ID request. The sequence
  2068.           SOH Cuw EOT CR is returned when the emulator is in X.3 pad
  2069.           compatibility mode. These are the same as the sequences
  2070.           that are returned by the Telic Alcatel M1B terminal)
  2071.  
  2072. Protocol commands that have not been implemented are filtered out by
  2073. Minitel/PC so that they do not appear on the screen.
  2074.  
  2075. 5) When overwriting a double-width character with a single-width
  2076. character, a real Minitel shifts the double-width character to the
  2077. right one space.  This is not implemented in Minitel/PC.
  2078.  
  2079. 6) When overwriting the right half of a double-width character, the
  2080. Minitel displays the character one space to the right.  This is not
  2081. implemented in Minitel/PC.
  2082.  
  2083. 7) Minitel/PC implements a VT100 terminal emulation mode as a
  2084. replacement for Ascii data mode. The sequences that switch a real
  2085. Minitel between between Videotex mode and Ascii data mode cause
  2086. Minitel/PC to switch between Videotex mode and VT100 mode.
  2087.  
  2088. 8) Keyboard differences are noted in Appendix D.  The extended keyboard
  2089. mode is not implemented.
  2090.  
  2091. 9) The error correction protocol is not implemented.
  2092.  
  2093. 10) The screen transparency commands have not been implemented.
  2094.  
  2095.  
  2096. APPENDIX M      VT100 emulation
  2097.                 ---------------
  2098.  
  2099. 1) VT100 Keyboard Mapping
  2100.  
  2101. VT100 Key               PC Keyboard
  2102. ---------               -----------
  2103. SETUP                   "Settings done with config file paramters"
  2104. ESC                     ESC
  2105. TAB                     TAB
  2106. CTRL                    Ctrl
  2107. CAPS LOCK               Caps Lock
  2108. SHIFT                   Shift
  2109. NO SCROLL               [Ctrl-s] to stop [Ctrl-q] to start
  2110. CURSOR KEYS             CURSOR KEYS
  2111. RETURN                  Enter 
  2112. BACKSPACE               Backspace
  2113. DELETE                  Del
  2114. LINEFEED                [Ctrl-Enter] or [Ctrl-j]
  2115. PF1-PF4                 F1-F4
  2116. ALPHA KEYS              ALPHA KEYS
  2117. KEYPAD 0-9              KEYPAD 0-9
  2118. KEYPAD ENTER            KEYPAD +
  2119. KEYPAD ,                [Alt-k]
  2120. KEYPAD -                KEYPAD -
  2121. KEYPAD .                KEYPAD .
  2122. BELL                    [Ctrl-g]
  2123. [Ctrl-BREAK]            "not supported"
  2124. [Shift-BREAK]           "not supported"
  2125. BREAK                   [Alt-b]
  2126.  
  2127.  
  2128. 2) SET-UP features
  2129.  
  2130. The following shows the extent of the support for the VT100 "SET-UP
  2131. A" and "SET-UP B" features.
  2132.  
  2133. FEATURE         DESCRIPTION                     COMMENT
  2134. -------         -----------                     -------
  2135. ANSI/VT52       Use as VT100 or VT52            ANSI mode only
  2136.  
  2137. Answerback      Enable terminal to identify     ANSWERBACK config
  2138.                 itself to the host computer.    param
  2139.  
  2140. Autorepeat      Allows certain keys to          Always enabled
  2141.                 automatically repeat if held
  2142.                 down.
  2143.  
  2144. Auto XON/XOFF   Prevents loss of received       FLOWCONTROL config
  2145.                 characters if ON.               param
  2146.  
  2147. Bits per        7-bits or 8-bits                DATABITS config
  2148. character                                       param
  2149.  
  2150. Characters      Either 80 or 132                VTWIDESCREEN config
  2151. per line                                        param
  2152.  
  2153. Character Set   US or UK character sets         VTUKSET config param
  2154.  
  2155. Cursor          Choice of underline or          Always underline
  2156.                 block characters.
  2157.  
  2158. Interlace       For high resolution options     Not Used
  2159.  
  2160. Key Click       A tone is generated when a      Permanently off
  2161.                 key is pressed.
  2162.  
  2163. Line/Local      To select online or offline     Not implemented
  2164.                 operation.
  2165.  
  2166. Margin Bell     If ON, a bell sounds when 8     VTMARGINBELL config
  2167.                 columns from line end.          param (only works
  2168.                                                 when LOCAL_ECHO
  2169.                                                 config param is ON)
  2170.  
  2171. New line        If ON, convert CR into CR/LF    VT_LF_NL config
  2172.                 for Tx and LF into CR/LF for    param
  2173.                 Rx.
  2174.  
  2175. Parity          Parity checking ON or OFF.      PARITY config
  2176.                                                 param
  2177.  
  2178. Parity sense    Set ODD, EVEN, MARK or SPACE.   PARITY config
  2179.                                                 param
  2180.  
  2181. Power           Set main power frequency.       Not implemented
  2182.  
  2183. Receive speed   Set the rates in bits per       SPEED config param.
  2184. and Transmit    second for Receive and          Separate Rx and Tx
  2185. speed           Transmit.                       speeds are not
  2186.                                                 supported. Available
  2187.                                                 speeds are: 50, 75,
  2188.                                                 110, 150, 300, 600,
  2189.                                                 1200, 1800, 2400,
  2190.                                                 3600, 4800, 7200,
  2191.                                                 9600, 19200 bps.
  2192.  
  2193. Screen          Set light characters on         No parameter setting.
  2194. background      dark background (normal),       Uses whatever color
  2195.                 or the reverse.                 combination is on
  2196.                                                 the screen at the
  2197.                                                 cursor position at
  2198.                                                 the time MT.EXE is
  2199.                                                 started.
  2200.  
  2201. Screen                                          Use control on
  2202. brightness                                      monitor.
  2203.  
  2204. Scrolling       Select Jump or Smooth.          Only Jump scroll
  2205.                                                 supported.
  2206.  
  2207. Tab stops       Select tab stop postions.       Initially every 8
  2208.                                                 positions. Can be
  2209.                                                 set by host
  2210.                                                 application.
  2211.  
  2212. Wraparound      If ON, the 81st character       VTLINEWRAP config
  2213.                 or 133rd is automatically       param
  2214.                 placed on the next line.
  2215.  
  2216.  
  2217. 3) VT100 Keyboard Indicators
  2218.  
  2219. None of the VT100 keyboard indicators (ONLINE, LOCAL, KBD LOCKED, or
  2220. L1 to L4 are implemented).
  2221.  
  2222.  
  2223. 4) Differences between Minitel/PC and a real VT100
  2224.  
  2225. The following notes describe various characteristics of the
  2226. Minitel/PC VT100 implementation that differ from those of the actual
  2227. terminal.
  2228.  
  2229. i)    The special graphics differ from the VT100 as follows:
  2230.  
  2231. SELECTING CHARACTER     MEANING           CHARACTER USED(HEX)
  2232.  
  2233.         b               Horizontal Tab          10
  2234.         c               Form Feed               0C
  2235.         d               Carriage Return         1B
  2236.         e               Line Feed               19
  2237.         h               New Line                11
  2238.         i               Vertical Tab            1F
  2239.         o               Scan Line 1             C4
  2240.         p               Scan Line 3             C4
  2241.         r               Scan Line 7             5F
  2242.         s               Scan Line 9             5F
  2243.  
  2244. ii)   The keyboard may not be locked. Sequences to lock or unlock the
  2245. keyboard are ignored.
  2246.  
  2247. iii)  Double height characters are displayed as:
  2248.  
  2249.         Top half    - normal character is displayed
  2250.         Bottom half - normal character is displayed
  2251.  
  2252. iv)   Double width characters are displayed as a normal character
  2253. followed by a blank.
  2254.  
  2255. v)    Double height/Double width characters are displayed as:
  2256.  
  2257.         Top half    - normal character followed by a blank
  2258.         Bottom half - normal character followed by a blank
  2259.  
  2260. vi)   In 132 characters per line mode only 80 characters are displayed
  2261. on the screen at a time. Keying [Ctrl-left_arrow] causes columns 1-80
  2262. to be displayed. Keying [Ctrl-right_arrow] causes columns 53-132 to
  2263. be displayed.
  2264.  
  2265. vii)  Request for status (ESC [ 5n) generates an OK answer only.
  2266.  
  2267. viii) Request for terminal parameters (DECREQTPARM) only replies when
  2268. <sol> is 1. The reply is always of the form 'ESC [ 3....X'.
  2269.  
  2270. ix)   All confidence tests are ignored except 'ESC [ 2 ; 0 y' which
  2271. is a reset.
  2272.  
  2273. x)    The VT100 attributes are displayed as follows:
  2274.  
  2275. ATTRIBUTE       DISPLAYED
  2276.  
  2277. bold            makes foreground (text) color intense
  2278. blink           makes foreground (text) blink
  2279. reverse         switches foreground and background colors
  2280. underline       underlines foreground (text) on a monochrome display,
  2281.                 displays in an alternate foreground color on a color
  2282.                 display
  2283.  
  2284.  
  2285. 4) Control Sequences
  2286.  
  2287. The following control sequences are not supported:
  2288.  
  2289. DECINLM         ESC [ ? 9 h     set interlace mode
  2290.                 ESC [ ? 9 l     reset interlace mode
  2291.  
  2292. DECREQTPARM     ESC [ <sol> x   request terminal parameters
  2293.                                 <sol> may be 0 or 1. Minitel/PC
  2294.                                 ignores 0. 1 causes the following
  2295.                                 reply to be generated.
  2296.  
  2297.         Reply: ESC [ 3 ; <par> ; <nbits> ; <xspeed> ; <rspeed> ; 1 x
  2298.             Where:
  2299.                 <par>   = 1  (no parity)
  2300.                           2  (space)
  2301.                           3  (mark)
  2302.                           4  (odd parity)
  2303.                           5  (even parity)
  2304.  
  2305.                 <nbits> = 1  (8 bit character)
  2306.                           2  (7 bit character)
  2307.  
  2308.                 <speed> = 0   (50 bps)
  2309.                           16  (110 bps)
  2310.                           48  (300 bps)
  2311.                           56  (600 bps)
  2312.                           64  (1200 bps)
  2313.                           72  (1800 bps)
  2314.                           88  (2400 bps)
  2315.                           104 (4800 bps)
  2316.                           112 (9600 bps)
  2317.                           999 (other speeds)
  2318.  
  2319. DECSCLM         ESC [ ? 4 h     set smooth scroll mode
  2320.                 ESC [ ? 4 l     set jump scroll mode
  2321.  
  2322. DECSCNM                         set screen background
  2323.  
  2324.  
  2325. The following mode control sequences are not supported:
  2326.  
  2327. PARAMETER       MNEMONIC        FUNCTION
  2328.  
  2329.     0                           error
  2330.    ?0                           error
  2331.    ?2           DECANM          ANSI/VT52
  2332.    ?8           DECARM          Auto Repeat
  2333.