===========================================================================
        SYSTEM MACRO FILE<->TEXT FILE CONVERTING PROGRAM
                        TXT2MAC.EXE
                        MAC2TXT.EXE
                        written by PFB02312@niftyserve.or.jp OGASA, OCT13,1996
===========================================================================

This package consists of utilities to convert system macro files to text 
files, and text files to system macro files.

When using a system macro, you can save the macro to a macro file (*.MAC), 
but it cannot be edited except in the System Macro application. It would 
be very convenient if you could save your macro as a text file, edit it with 
a text editor and then re-convert it to a system macro.

MAC2TXT.EXE can convert a system macro file to a formatted text file which
can then be edited with your normal text editor. TXT2MAC.EXE can convert 
the text file to a system macro file again. You can add comments to the 
text file and can indent it with TAB codes or CR/LF, so you can easily 
refer to it in the future.

111)the format of text file
  The format of text file is as follows:
  
        {assign key}="title",command
  
  For example, you can write this,
  
        assign     title               command
          |          |                    |
        {Fn+F1}="HP CALC CONVERSION",{Calc}{Menu}ac{Enter}
        {Fn+F2}="LOTUS 1-2-3 MACRO",{123}/FRdata.wk1{Enter}{Alt+A}
        {Fn+F4}="It is System Macro Sample"
        {Fn+F3}={Phone}{F5}F{F10}
        {Fn+F5}=        "open the memo",        ;title memo open
                {Memo}{F9}test.txt{F10}         ;open a file
                {<c:\_dat\test.mac>Fn+F1}       ;link to other macro

  (a)assign key
    {Fn+F1-10}= is the description for the assign key.
    '}' and '=' must not be separated.
    A space between '{' and '}' is ignored.
    If there is no assign key found, TXT2MAC.EXE is terminated with an error
    message.
    You don't have to consider the sequence.( you can put {Fn+F4}= before
    {Fn+F5}= )
    
  (b) title
    "xxxxx", is the title. If the length is over 55 characters, TXT2MAC.EXE is
    terminated with an error comment.
    Functional key is described as {Phone}, character key is described as A,B,
    C... like that.
    Space is not ignored in the command, but space between '{' and '}' is
    ignored.
    
    Tab and CR/LF are ignored. If you want to use Tab or CR/LF, use
    {Tab} or {Enter}.
    ';' immediately following Tab or CR/LF means that the following characters
    are comments. They will be ignored until the next CR/LF appears. This is
    useful to format the text. The length of comment is to be 80 characters
    or less. An independent ; is character ';', not a comment. Please be
    careful.

    Characters '{' and '}' cannot be used independently. They are used for 
    describing the function key. If '{' and '}' are not recognized
    correctly, TXT2MAC.EXE is terminated with error message.

    
    TXT2MAC.EXE supports 2-bytes character. But if the character includes
    '{'=7Bh or '}'=7Dh, F0h, F1h, F2h, the character is not converted. These 
    characters are not recognized in the System Macro application.
    
    If a functional key that system macro does not support appears, 
    TXT2MAC.EXE skips it with a message. For example, {Alt+Space}.
    If TXT2MAC.EXE skips a functional key description which system macro
    can accept, it is a bug so please contact me. Please refer to the
    reference at the end of this documents. 

    TXT2MAC.EXE supports macro chains. 
    If you enter {Fn+F?} at the end of a command, macro is chained with
    another macro key.
    If you enter {<file name>Fn+F?} at the end of command, macro is chained
    with another macro key in a different macro file.

222)usage
  (a)TXT2MAC
    On the command line, please execute as follows:
    
        txt2mac infile [outfile]
    
    infile is the text file, outfile is the macro file to be created.
    If you do not list the outfile, a default file is created with the
    same name as infile with the extension '.mac'.
    If you do not list an infile extension, the default extension 
    '.txt' is added.
    
  (2)MAC2TXT
    On the command line, please execute as follows:
    
        mac2txt infile [outfile]
    
    infile is the macro file, outfile is the text file to be created.
    If you do not list the outfile, a default file is created with the
    same name as infile with the extension '.txt'.
    If you do not list an infile extension, the default extension 
    '.mac.' is added.
    
333)200LX and 100LX
    The blue key order is different on the keyboards of the 200LX and 100LX.
    Specifically, 100LX cc:Mail is 200LX Quicken. Some of the description
    of functional keys are different because of this.
    
    The utility in this archive is for the 200LX, but you can find a
    conversion tool in the same archive. Please put T2M100.com and M2T100.com
    in the same directry of TXT2MAC.EXE and MAC2TXT.EXE.
    For making conversion tool, Mr.Wakichi's wsp is used.
    
    If you execute TXT2MAC.EXE or MAC2TXT.EXE with no parameter, you can
    see whether the program is for 200LX or 100LX from the message.
    
444)for further usage
  (a)storage of system macro file
    You can convert system macro file to text file by MAC2TXT.EXE, add
    comments and store in your file archive. You can easily refer to your
    macro. If you want to edit it, you only have to edit on your text file
    editor

  (b)distributing system macro file
    If you make an install batch file as follows and distribute to other
    users, they can obtain the customized system macro by editing the batch
    file themselves and executing it.

        --------- INSTALL.BAT -------------
        SET ENV = customized item
        ECHO {key}%ENV%{key}...>foo.txt
        TXT2MAC FOO.TXT
        -----------------------------------

555)notes
  This Program is freeware. The auther is not responsible for any trouble, 
  or losses that come from the use of this program. This program can be 
  transfered to other BBS's, if notice is given to the auther beforehand.
  
  This program is coded from the result of an analysis that the auther has
  made himself, and he has not confirmed and will not confirm the analysis
  with Hewlett Packard. Please note, if there is any mistake in the analysis,
  there is no responsibility by Hewlett Packard.

The auther of this program: OGASA pfb02312@niftyserve.or.jp



appendix: Key Definition List

                Shift+          Ctrl+           Alt+
{F?}            {Shift+F?}      {Ctrl+F?}       {Alt+F?}        ;function key
?                               {Ctrl+?}        {Alt+?}         ;ascii
                                                {Alt}           ;Alt Key
{On}            {Shift+On}      {Ctrl+On}       {Alt+On}
{End}           {Shift+End}     {Ctrl+End}
{Home}          {Shift+Home}    {Ctrl+Home}
{PgUp}          {Shift+PgUp}    {Ctrl+PgUp}
{PgDn}          {Shift+PgDn}    {Ctrl+Pgdn}
{Up}            {Shift+Up}      {Ctrl+Up}
{Left}          {Shift+Left}    {Ctrl+Left}
{Right}         {Shift+Right}   {Ctrl+Right}
{Down}          {Shift+Down}    {Ctrl+Down}
{Ins}           {Shift+Ins}     {Ctrl+Ins}
{Del}           {Shift+Del}     {Ctrl+Del}
{BackSp}        {Ctrl+BackSp}
                {Shift+Space}                                   ;space
{Tab}           {Shift+Tab}     {Ctrl+Tab}      {Alt+Tab}
{Enter}                         {Ctrl+Enter}    {Alt+Enter}
{Filer}                         {Setup}         {LapLink RA}  ({Alt+Filer})
{Appt}                          {Stopwatch}     {Alt+Appt}
{Phone}                         {Database}      {Alt+Phone}
{Memo}                          {NoteTaker}     {Alt+Memo}
{Quicken} ({cc:Mail})           {Comm}          {Alt+Quicken} ({Alt+cc:Mail})
{123}                           {DOS}           {cc:Mail}     ({Alt+123})
{Calc}                          {WorldTime}     {Alt+Calc}
{More}                          {Macros}        {Alt+More}
{Menu}                          {Ctrl+Menu}     {Alt+Menu}
{Esc}
{Zoom}
{Date}
{Time}
{Cut}
{Copy}
{Paste}

        *(), 100LX key is described
