home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: DFÜ und Kommunikation / SOS-DFUE.ISO / programm / dos / terminal / mufus45m / mufusion.doc < prev    next >
Encoding:
Text File  |  1993-10-20  |  15.3 KB  |  367 lines

  1.  
  2. Documentation for MUFUSION.
  3.  
  4. This is _FREE_ software.
  5.  
  6. If you are happy with this software, please give a copy to anyone you 
  7. think might find it useful.  If you find any problems, please contact me 
  8. (details below).
  9.  
  10. This project is funded entirely from the Cardiology's Departmental 
  11. funds.  Donations to support further work will be well received (see 
  12. also the note below on our INT14 version).
  13.  
  14.  
  15. Description:
  16.  
  17.   Mufusion is a terminal program which emulates a Microfusion MF30 
  18.   terminal, as used with McDonnell Douglas hospital information systems 
  19.   software.  It provides 20 odd screens of backpaging, and extensive
  20.   facilities for data capture.  It should work with any text video mode
  21.   supported by your hardware.
  22.  
  23.   It is compiled in Borland Pascal v7.0, and was adapted from a videotext
  24.   terminal program by Jim Nutt, which is in the public domain.  It will 
  25.   also compile in Microsoft QuickPascal 1.0 and Turbo Pascal v5.0.
  26.  
  27.   Most of the code in MUFUSION.PAS is copyright (C) Cardiology 
  28.   Department, Royal Melbourne Hospital.  The source code for MUFUSION is 
  29.   available by special arrangement.
  30.  
  31.   We also have an int14 interface version of this package which will 
  32.   work with an asychronous comms server across a network.  This version
  33.   is available from us, currently for $1000 for a site licence.  (We'd 
  34.   like to try an recover some of our development costs.)  This package 
  35.   works with Fresh Technologies Asynchronous Communications server, and 
  36.   with NSCA's TCP/IP interface (on UNIX machines, or to reverse telnet 
  37.   servers).  I'm hoping to write an SLAN version at some time, and I'll 
  38.   look at support for NACS if there's enough interest.
  39.  
  40.  
  41. Startup:
  42.  
  43.   Mufusion by default uses COM1: at 9600 baud.  The complete syntax for 
  44.   mufusion is
  45.  
  46.   MUFUSION [<port>[/irq] [<speed>[ <fgcol>[ <bgcol>[ <prcol>[ printer [macro]]]]]]]
  47.  
  48.   All parameters are optional.
  49.  
  50.   The port can be a number from 1 to 4 (defaults to COM1:).  If the port 
  51.   can not be found, the program will give an error message and set the 
  52.   DOS errorlevel to 1.  A non-standard interrupt can be specified.  This 
  53.   may hang your machine if incorrectly used.  If you don't know what 
  54.   you're doing, leave it alone!
  55.  
  56.   The speed can be one of 110, 150, 300, 600, 1200, 2400, 4800, 9600, 
  57.   19200, 38400 or 57600 (defaults to 9600).
  58.  
  59.   The foreground color is a number from 0 to 7 (where 0=black, 1=blue,
  60.   2=green, 3=cyan, 4=red, 5=magenta, 6=brown, 7=white).  The default is
  61.   green.
  62.  
  63.   The background color is likewise a number between 0 and 7, the default
  64.   is black.
  65.  
  66.   A different color can be specified for protected mode text.  This 
  67.   defaults to cyan.
  68.  
  69.   With a monochrome graphics adaptor, the color settings have no effect.
  70.  
  71.   The printer can be any DOS device (LPT1, LPT2, LPT3, COM1, COM2, NUL) 
  72.   or a file name.  If not specified, it defaults to LPT1.  If the
  73.   device/file name is invalid, a warning will be given.  Do not send 
  74.   printer output to the port you are using for communications.
  75.  
  76.   A .PIF file is provided for running mufusion under windows.
  77.  
  78.   To use 132 column mode, MUFUSION needs to know what screen mode to 
  79.   select for your video BIOS.  To this find out, look in the manual that 
  80.   came with your video card for a list of modes, or use the accompanying 
  81.   program TESTVID.  The command SET WVM=<number> at the DOS prompt 
  82.   stores this information for MUFUSION.  Beware, this number must be
  83.   specified in decimal, while your manual may give it in Hex.  Values of 
  84.   35, 83, 85 and 96 may be worth trying.  When you've found the correct
  85.   mode, put the SET command in your AUTOEXEC.BAT file.
  86.  
  87.  
  88. Commands:
  89.  
  90.   The current command list is as follows:
  91.  
  92.     <ALT>-<C>           Open/close a capture file.  With a capture file 
  93.                         on, all incoming characters are saved in the 
  94.                         file.  The bottom right corner of the display 
  95.                         flashes to indicate capture is on.
  96.  
  97.     <ALT>-<D>           Dial with a Hayes compatible modem.  Precede the 
  98.                         number with "P" or "T" to force pulse or tone 
  99.                         dialing.
  100.  
  101.     <ALT>-<E>           Select emulation (debugger, microfusion, wordmate
  102.                         or prism).
  103.  
  104.     <ALT>-<F>           Send a formfeed to the printer and flush the 
  105.                         printer buffer.
  106.  
  107.     <ALT>-<H>           Hang up the modem.
  108.  
  109.     <ALT>-<I>           Dump the screen to an image file, useful for
  110.                         preparing documentation.
  111.  
  112.     <ALT>-<M>           Play, record or do various things in macro files.
  113.  
  114.     <ALT>-<O>           Shell to DOS, allowing DOS operations while
  115.                         preserving the terminal screen.
  116.  
  117.     <ALT>-<P>           Toggle the printer on/off.  The bottom right 
  118.                         corner of the screen is brightened to indicate 
  119.                         when the printer is on.
  120.  
  121.     <ALT>-<R>           Run a DOS command (for running file transfer 
  122.                         programs, other emulators, editors, etc.)
  123.  
  124.     <ALT>-<S>           Set printer.  Allows selection of a different 
  125.                         printer or for printing to be directed to a 
  126.                         file.  This is useful for downloading reports to 
  127.                         the DOS disk, for later editing with a word 
  128.                         processor or further manipulation with a
  129.                         spreadsheet.
  130.  
  131.     <ALT>-<V>           Select a video mode.  The screen modes used for 
  132.                         wide, high and big settings are defined by the 
  133.                         environmental variables WVM, HVM and BVM.  You 
  134.                         need to tell the host the new screen size to use 
  135.                         this with reports (see MUFUSION.SIZ).
  136.  
  137.     <ALT>-<X>           Exit the terminal emulator (without hanging up 
  138.                         the modem).
  139.  
  140.     PgUp or <ALT>-<F7>  Page back.
  141.     PgDn or <ALT>-<F8>  Page forward (when paged back).
  142.     Home                Line back.
  143.     End                 Line forward (when paged back).
  144.  
  145.     <CTRL-BREAK>        Send a break signal.
  146.  
  147.     Print Screen        Print the screen to the specified output device.
  148.  
  149.  
  150. Other keys (apart from the obvious ones):
  151.  
  152.     <ALT>-<F1>          Send ^[.
  153.     <ALT>-<F2>          Send ^\.
  154.     <ALT>-<F3>          Send ^^.
  155.     <ALT>-<F4>          Send ^].
  156.     <ALT>-<F5>          Send ^@.
  157.     <ALT>-<F6>          Send ^@.
  158.     <ALT>-<F9>          Clear the screen.
  159.  
  160.     <CTRL>-<F1..F10>    Play macro file called F1.MFM .. F10.MFM
  161.  
  162.     <Left arrow> or     Send chr(20)
  163.     <CTRL>-<left arrow>
  164.  
  165.     <Right arrow> or    Send chr(22)
  166.     <CTRL>-<right arrow>
  167.  
  168.     <Up arrow>          Send chr(24)
  169.     <Down arrow>        Send chr(18)
  170.  
  171.     <CTRL>-<Home>       Send chr(23)
  172.     <CTRL>-<PgUp>       Send chr(25)
  173.     <CTRL>-<PgDn>       Send chr(19)
  174.     <CTRL>-<End>        Send chr(17)
  175.     <Ins>               Send chr(16)
  176.     <Del>               Send chr(14)
  177.  
  178.     <CTRL>-<backspace>  Send chr(127)
  179.  
  180.  
  181. Implementation:
  182.  
  183.   Mufusion sends characters with parity set to none.  Received 
  184.   characters have the parity bit stripped before display, but no parity 
  185.   is the prefered line setting.  If the host does not support XON/XOFF 
  186.   flow control, mufusion may drop characters, particulary when printing 
  187.   to a slow printer or capturing data onto a floppy disk.  Not all of 
  188.   the microfusion terminal control codes are implemented, those that are 
  189.   are listed below.  All these functions should behave as for an MF30 
  190.   terminal.  If they don't, please let me know.
  191.  
  192. Control Codes
  193.  
  194.     EOT   ( 3)          Printing off
  195.     BELL  ( 7)          Bell
  196.     BS    ( 8)          Back space destructive
  197.     LF    (10)          Line feed
  198.     VT    (11)          Vertical Address lead-in
  199.     FF    (12)          Master clear
  200.     CR    (13)          Carriage return
  201.     DLE   (16)          Horizontal Address lead-in
  202.     SUB   (26)          Clear screen
  203.  
  204.     Escape Sequences
  205.  
  206.     SP                  Destructive backspace
  207.     !                   Continuous bell
  208.     &                   Protect off
  209.     '                   Protect on
  210.     (                   Full intensity
  211.     )                   Half intensity
  212.     *                   New line
  213.     +                   Master clear
  214.     ,                   Clear to end of page
  215.     -                   Clear to end of line
  216.     1                   Non-reverse video
  217.     2                   Reverse video
  218.     5                   Bell
  219.     <                   Cursor left
  220.     =<y><x>             Position cursor row Y col X
  221.     >                   Cursor right
  222.     @                   Send a carriage return
  223.     E                   Insert line
  224.     F                   Expanded facilities - some implemented, see below
  225.     J                   Clear to end of page
  226.     K                   Clear to end of line
  227.     L                   Cursor down
  228.     M                   Cursor up
  229.     N                   Flashing on
  230.     O                   Flashing off
  231.     P                   Print the screen
  232.     R                   Delete line (printer on if prism kludge on)
  233.     T                   Clear to end of line (printer off if prism kludge on)
  234.     Y                   Clear to end of page
  235.     Z                   Cursor home
  236.     [c                  Turn prism kludge on.
  237.     [<14h               Go to 80 column mode and clear screen.
  238.     [<14l               Go to 132 column mode and clear screen.
  239.     b            goto start of next line
  240.     e<x><c>             Repeat character x for count c
  241.     k                   Clear to end of page
  242.     o                   Clear block
  243.     p                   Clear field
  244.     x                   MUFUSION special extensions.
  245.  
  246. Expanded Facilities
  247.  
  248.     :                   Flush printer buffer.
  249.     ;                   Print n copies.
  250.     A                   ASCII printer ON
  251.     B                   Printer OFF
  252.     C                   Binary printer ON
  253.     E                   Half-duplex
  254.     F                   Full-duplex
  255.     M                   Reposition cursor
  256.     W                   Define function keys.
  257.  
  258. Extensions to MUFUSION (<esc> x ..)
  259.  
  260.     8                   Use 8 data bits (until next screen clear).
  261.     ? C                 Respond with 'Y' or 'N' to indicate color 
  262.                         availability.
  263.     ? H                 Respond with number of rows on screen.
  264.     ? V                 Respond with version number.
  265.     ? W                 Respond with number of coumns on screen.
  266.     C                   Select text color (foreground color + 16 * 
  267.                         background color)
  268.     H                   Turn 42/49 row mode on.
  269.     W                   Turn 132 column mode on.
  270.     c                   Turn manual coloring off.
  271.     h                   Turn 42/49 row mode off.
  272.     w                   Turn 132 row mode off.
  273.  
  274. Keyboard Macros
  275.  
  276.   Keyboard macro files are files of Turbo Pascal keyboard codes, except 
  277.   that a linefeed is inserted after each carriage return character when
  278.   writing a macro, and the character after a carriage return is ignored 
  279.   when reading a macro.  Text files can be used as macros, and any macro 
  280.   file conataining only printable characters (no commands, backspaces 
  281.   etc) is a text file and can be edited with any text editor.  The macro 
  282.   terminates at the first end-of-file (^Z) character.
  283.  
  284.   After a printable character (ascii space to tilda) is sent, the macro 
  285.   pauses until that character is echoed.  If the character fails to echo,
  286.   Alt-M C can be used to continue the macro, or Alt-M S to stop it.  
  287.   Because they're not echoed, passwords can not simply be embeded in 
  288.   macro files.  The Alt-M I function can, however, be used to prompt the
  289.   user for a password which is then sent to the host.  If you need to 
  290.   send a printable string which won't be echoed, the Alt-M T function 
  291.   can be used, which transmits characters at 10ms intervals without 
  292.   waiting for them to echo.
  293.  
  294.   Because most reports will contain the character which triggered them, 
  295.   macros have a tendency to get ahead of the host while a report is
  296.   generated.  A good way to avoid this is to send an unusual sequence 
  297.   followed by an equal number of backspaces (eg ~^~ BS BS BS).  Choose 
  298.   characters not likely to be found in the report.
  299.  
  300.   The macro can be paused for user input using Alt-M I, or can branch 
  301.   to another macro under user control using Alt-M A.
  302.  
  303. Acknowledgments:
  304.  
  305. Thanks is due to the following people;
  306.  
  307. Jim Nutt, who wrote the original teletext terminal emulator on which this
  308. is loosely based.
  309.  
  310. Philip R. Burns, Alan Bishop, C. J. Dunford, Michael Quinlan, Gene 
  311. Harris and Michael Quinlan who wrote various parts of the asynchronous 
  312. communication port handling library used by this program.
  313.  
  314. Robert Murton, Peter Coventry, Andrew McKenzie, Ron Nash, Louis 
  315. Eilermann, Neil McQuinn, Danny O'Callaghan, Paul Oppy, Joe Bainbridge
  316. Tim Naylor, Stuart Pendrich and Phil Hepner who have helped with testing 
  317. the code and tracking down problems.
  318.  
  319. The Intensive Care Unit at RMH, who supplied a copy of Turbo Pascal.
  320.  
  321. Health Computing Sevices, who have provided a copy of Fresh Technology's 
  322. Modem Assist for the development of the INT14 version of MUFUSION, and 
  323. Irene Pearey, Rhonda Whitfield and Barry Rogers, who helped arrange 
  324. this.
  325.  
  326. Tim McLean who supplied the vital clue for making 132 character video
  327. mode work with Turbo Pascal, and for suggestions for extra features.
  328.  
  329. Warren Dickins for his help in writing a POSH terminal driver for 
  330. MUFUSION.  Support for the POSH driver has now been taken over by 
  331. Dickins software, and it should be obtained from them.
  332.  
  333. David Morley for his assistance in writing a TERMCAP.
  334.  
  335.  
  336. Comments, distribution:
  337.  
  338. Please send any comments to me, Peter Summers, c/- Cardiology Department,
  339. Royal Melbourne Hospital, 3050, phone (+613/03) 342 8727, fax (+613/03) 
  340. 347 2808 or email u5533129@ucsvc.ucs.unimelb.edu.au.  Suggestions for 
  341. enhancements are welcomed, though I don't promise to implement them.
  342.  
  343. I have ideas about adding mouse support and graphics capabilities, but 
  344. they'll probably be rainy-Sunday-afternoon-at-home type projects unless
  345. we really need them (or someone else really needs them and is willing to 
  346. pay for the work).  If I ever get a copy of MDIS' programmer's toolkit, 
  347. I'd like to write an interface for SLAN (anyone interested in buying us 
  348. one?).  If there's enough interest (that is, enough pledges to finance 
  349. the project) I may write a Windows version.
  350.  
  351. Updates of this code are regularly posted to the SIMTEL archives, and 
  352. can be obtained from there (wsmr-simtel20.army.mil), or a mirror site
  353. (I usually use oak.oakland.edu) by FTP.  Updates are also posted to the PC
  354. Connection BBS ((+613/03) 388 0909).  If all else fails, send me a disk 
  355. and return postage to the above address.
  356.  
  357.  
  358. Blatant Advertising:
  359.  
  360. Cardiology at RMH also has cardiology patient record keeping systems for 
  361. echocardiographs, ambulatory monitor, exercise test, catheterisation and 
  362. ECG reports, a stock control program, an equipment database program and 
  363. an electronic mail program, all written in Clipper, which we would like 
  364. to make available to others (for a price).  We are willing to sell 
  365. source code licenses for these packages.  Please call me if you are 
  366. interested.
  367.