home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / tools / last / @last.doc < prev   
Text File  |  1988-03-06  |  13KB  |  311 lines

  1.  
  2.  
  3.                     @LAST - A Programmer's Pop-up Utility
  4.  
  5.                                by Duane A. Bowen
  6.  
  7.  
  8.      Ever notice how commercially available pop-ups seem to be designed for
  9. users with 640 Mb of RAM while most of us have only 640 Kb of it.  @LAST is a
  10. terminate and stay resident (TSR) program that provides most of the functions
  11. needed by programmers while using less than 6 Kb of available RAM.  Highlights
  12. of @LAST include:
  13.  
  14.      *  Low memory consumption
  15.      *  Consolidation of many functions into one pop up menu
  16.      *  Windows return to where you left them
  17.      *  Un-installable
  18.      *  Command line customizable
  19.      *  User selectable hot-key
  20.      *  Has 'Auto-Klone' feature
  21.  
  22.  
  23. Main Menu Selections:
  24.  
  25.              ╔════════╡ @LAST ╞════════╗        Ctrl-Insert (default) pops up
  26.              ║ { A } - Ascii Table     ║
  27.              ║ { B } - Box Characters  ║        Entering letter in braces { }
  28.              ║ { E } - Eject Page      ║        selects that item.
  29.              ║ { N } - Normal Screen   ║
  30.              ║ { P } - Peek-Poke Hex   ║        Esc key returns to underlying
  31.              ║ { Q } - Quick Screen    ║        application.
  32.              ║ { R } - Ruler           ║
  33.              ║ { S } - Scan Codes      ║
  34.              ║ { U } - Un-Install      ║
  35.              ║ {Esc} - Exit            ║
  36.              ╚═════════════════════════╝
  37.  
  38. **** { A } - Ascii Table (and color chart)
  39.  
  40.              ┌────────────────────────────┐
  41.              │ Dec Hex Chr   Dec Hex Chr  │
  42.              │  64  40  @ *   80  50  P * │ <-- *'s appear in the color that
  43.              │  65  41  A *   81  51  Q * │     they would if the ascii value
  44.              │  66  42  B *   82  52  R * │     were used as an "attribute".
  45.              │  67  43  C *   83  53  S * │
  46.              │  68  44  D *   84  54  T * │     Up and Down arrows, PgUp, PgDn
  47.              │  69  45  E *   85  55  U * │     Home and End keys move through
  48.              │  70  46  F *   86  56  V * │     Ascii values 0 - 255.
  49.              │  71  47  G *   87  57  W * │
  50.              │  72  48  H *   88  58  X * │     Esc key returns to main menu.
  51.              │  73  49  I *   89  59  Y * │
  52.              │  74  4A  J *   90  5A  Z * │
  53.              │  75  4B  K *   91  5B  [ * │
  54.              │  76  4C  L *   92  5C  \ * │
  55.              │  77  4D  M *   93  5D  ] * │
  56.              │  78  4E  N *   94  5E  ^ * │
  57.              │  79  4F  O *   95  5F  _ * │
  58.              └────────────────────────────┘
  59.  
  60.  
  61.  
  62.  
  63. **** { B } - Box Characters
  64.  
  65.              ┌─────────────┬─────────────┐
  66.              │ 218        194        191 │      Shows the character codes
  67.              │                           │      required to build line boxes.
  68.              │             │ 179         │
  69.              │                           │      Esc key returns to main menu.
  70.              │     196    197            │
  71.              ├ 195  ─      ┼         180 ┤      Any other key cycles between
  72.              │                           │      the 4 combinations of single
  73.              │                           │      and double horizontal and
  74.              │  <Key> to cycle 4 types   │      vertical lines.
  75.              │                           │
  76.              │ 192        193        217 │
  77.              └─────────────┴─────────────┘
  78.  
  79. **** { P } - Peek-Poke Hex
  80.  
  81.   __ CURRENT segment (16 byte window) shown here ( FFFE hex )
  82.   |
  83.   |
  84.   |     |<- hex contents of offsets +0 - +F shown below ->|< Ascii equivalent >|
  85.   ^^^^  |                                                 |                    |
  86. ╒══════════════════════════════════════════════════════════════════════════════╕
  87. │  SEG:  +0 +1 +2 +3 +4 +5 +6 +7    +8 +9 +A +B +C +D +E +F  01234567 89ABCDEF │
  88. │ FFFE:  EE 59 E2 EB C3 FF 47 20    20 20 43 4F 4D 50 41 51  .Y....G    COMPAQ │
  89. ╞══════════════════════════════════════════════════════════════════════════════╡
  90. │ ** <F1> to enter Segment **** <+|-|> to Scroll ****  <0-F> to POKE offset ** │
  91. ╘══════════════════════════════════════════════════════════════════════════════╛
  92.       |                     ^   |                     |                      ^
  93.       |                     |   | Up/Down arrows      | A digit 0 - F lets   |
  94.       | F1 to type in a     |   | increment/decrement | you enter a HEX BYTE |
  95.       | new HEX segment     |   | segment by 1.       | to POKE at offset    |
  96.       | value - here ------>^   |                     | 0 - F - here ------->^
  97.       |                         |  + / - increment /  |
  98.       | C/R completes it or |   |  decrement segment  | C/R completes it or  |
  99.       | Esc key aborts.     |   |  by 100 HEX.        | Esc key aborts.      |
  100.  
  101.     Notes: RAM or ROM can be peeked but only RAM can be poked.
  102.            POKE WITH CARE
  103.            Esc key returns to main menu.
  104.  
  105. **** { S } - Scan Codes
  106.  
  107.              ╓──────────────────────────────────╖
  108.              ║                 [ Press a Key ]  ║   Press the key of interest.
  109.              ║ Register           AH     AL     ║
  110.              ║ Decimal           104      0     ║   Results are shown here as
  111.              ║ Hex                68     00     ║   returned by BIOS in AX reg.
  112.              ║ Ascii               h            ║
  113.              ║       Press <Esc> TWICE to exit  ║   <- First Esc shows codes.
  114.              ╙──────────────────────────────────╜
  115.  
  116.      The results above are for Alt-F1.  BIOS returns al=0 indicating an
  117. extended key has been pressed and ah = 104 which is the extended code for
  118. Alt-F1.  BASIC's INKEY$ function would report chr$(104);chr$(0).
  119.  
  120.  
  121.  
  122. ***** { R } - Ruler
  123.  
  124.      The following ruler line appears on the screen in reverse video.  A one
  125. character wide "cursor" appears at some position along the line.  By moving the
  126. cursor horizontally and the ruler vertically you can measure the position of
  127. any charater on the screen both in terms of row and column and in terms of
  128. offset into video RAM.  The upper left corner of the screen is row 0, column 0
  129. and video offset 0.  The lower right hand corner of the screen is row 24,
  130. column 79 and video offset 3998 (both character and attribute bytes are
  131. counted).
  132.  
  133. Row = 12, Col = 1 , Video offset = 1954, Row = 12, Col = 17, Video offset = 1954
  134.  
  135.      In the above sample, the ruler is at row 12 and the cursor (which you
  136. can't see here) is at column 1 which translates to a video offset of 1954.
  137. Note that the right and left sides of the ruler are duplicates of each other.
  138. This is because the cursor, which acts like a window into the underlying
  139. screen, will often fall on one of the numbers of interest.  The movement keys
  140. are as follows:
  141.  
  142.      Up / Down arrows    - Ruler up / down one line
  143.      PgUp / PgDn         - Ruler to top / bottom of screen
  144.      Left / Right arrows - Cursor left / right one column
  145.      Home / End          - Cursor to start / end of line
  146.      Esc                 - Returns to main menu
  147.  
  148.  
  149. **** { E } - Eject Page
  150.  
  151.      Nothin special.  Just sends a form feed character to the printer using
  152. BIOS so it should work through most spoolers.
  153.  
  154.  
  155. **** { N } - Normal Screen     **** { Q } - Quick Screen
  156.  
  157.      These selections toggle between normal DOS screen updating and enhanced
  158. updating.  The default is "Normal".  Selecting "Quick" invokes function 44h of
  159. the DOS function dispatcher to set bit 5 (the so-called "raw" bit) in the
  160. standard output device (the screen).  Selecting "Normal" reverses the process.
  161.  
  162.      The quick mode is great MOST OF THE TIME.  DOS screen updating is
  163. significantly faster.  There are a few (Microsoft) programs which gag in
  164. quick mode (e.g. DOS's LABEL.COM).  Such programs lock up when run while quick
  165. mode is in effect and require reboot.  Depending on how often you use programs
  166. which conflict, it may not be worth the effort to use quick mode at all.  If,
  167. like me, you don't use them very often then it's merely a matter of remembering
  168. to return to normal mode before you do.
  169.  
  170.  
  171. **** { U } - Un-Install
  172.  
  173.      This selection causes @LAST to remove itself from memory and return the
  174. memory it was using to DOS.  @LAST will only remove itself if it is the last
  175. resident item in memory.  Thus, if any other TSR's were loaded after @LAST,
  176. they must be removed prior to un-installing @LAST.  If you hear a beep after
  177. selecting un-install then un-installation was NOT SUCCESSFUL, otherwise it was.
  178.  
  179.  
  180.  
  181. Command Line Customization:
  182.  
  183. @LAST [m|c] [0|1|2|3|4] [h] [k]
  184.  
  185. All switches are optional, "|" means select only one
  186.  
  187.       m  -  Specifies monochrome operation
  188.       c  -  Specifies color operation { default }
  189.       0  -  Printer is attached to com1
  190.       1  -  Printer is attached to com2
  191.       2  -  Printer is attached to lpt1 { default }
  192.       3  -  Printer is attached to lpt2
  193.       4  -  Printer is attached to lpt3
  194.       h  -  Pause for user specified hot key { default is Ctrl-Insert }
  195.       k  -  Pause for Auto-Klone selections (see below)
  196.  
  197. Auto-Klone Feature:
  198.  
  199.     You can avoid having to specify the above switches every time the program
  200. is run by *** going to the directory where @LAST resides *** and invoking @LAST
  201. with  @LAST k .  The following choices presented:
  202.  
  203.       <1> - Change monitor type
  204.       <2> - Change printer port
  205.       <3> - Change hot key
  206.       <4> - Save changes & Continue
  207.       <5> - Continue without saving
  208.       <0> - Abort program
  209.  
  210. ****  <1> - Change monitor type - leads to either ...
  211.  
  212.       Now MONO, change to COLOR? <1>=Yes
  213.                       OR
  214.       Now MONO, change to COLOR? <1>=Yes
  215.  
  216. ****  <2> - Change printer port - leads to ...
  217.  
  218.       <0>=COM1
  219.       <1>=COM2
  220.       <2>=LPT1  <=  Current setting
  221.       <3>=LPT2
  222.       <4>=LPT3
  223.  
  224.       Make new selection or press <Esc> to cancel.
  225.  
  226.  
  227.  
  228. ****  <3> - Change hot key - leads to ...
  229.  
  230.       Selecting a hot key is a TWO STEP PROCESS:
  231.  
  232.       First . . .
  233.  
  234.       Press YOUR combination of Ctrl, Alt, Left-Shift, and Right-Shift keys and,
  235.        WITH THESE KEYS HELD DOWN, press any normal key.  <Esc> to cancel.
  236.  
  237.       Second . . .
  238.  
  239.       With the above keys RELEASED, press the normal key to be used with them.
  240.        e.g.  Ctrl-Alt from above plus <A> now would make Ctrl-Alt-A the hot key.
  241.       <Esc> to cancel.
  242.  
  243. ****  <4> - Save changes & Continue
  244.  
  245.             The changes you made are written back to @LAST.COM to be used each
  246.             time @LAST is loaded.  After writing the chages, @LAST continues on
  247.             to become resident using your newly specified changes.
  248.  
  249. ****  <5> - Continue without saving
  250.  
  251.             @LAST continues on to become resident using the changes you have
  252.             just specified but DOES NOT clone these changes back into
  253.             @LAST.COM.
  254.  
  255. ****  <0> - Abort program
  256.  
  257.             This abandons any changes - they are NOT cloned back into @LAST.COM
  258.             and @LAST does NOT become resident.
  259.  
  260.  
  261. DISCLAIMER:
  262.  
  263.      This software is provided "as is" without any warranty either express or
  264. implied.  The user assumes all responsibility in determining its usefulness and
  265. or fitness for any purpose, and assumes all risks associated therewith.
  266.  
  267.      It should be noted that although great care was taken in the preparation
  268. of this software, the author's primary occupation is NOT as a programmer.
  269.  
  270.  
  271. COPYRIGHT NOTICE:
  272.  
  273.      This software is provided on a user supported basis and is protected by a
  274. federal copyright.  This software may be used for evaluation purposes for a
  275. period of up to two (2) weeks.  Continued use beyond two weeks requires
  276. permanent liscensing (registration) of the user and payment of a fifteen dollar
  277. ($15) registration fee.
  278.  
  279.      This software specifically MAY NOT be distributed:
  280.  
  281.      1. In connection with another product or service whether "free" or not.
  282.      2. Without this documentation and notice.
  283.      3. For any consideration (other than a disk fee not exceeding $5).
  284.  
  285. ================================================================================
  286.  
  287.                  S O F T W A R E   R E G I S T R A T I O N   F O R M
  288.  
  289.          No. Copies  Item                        Fee/Copy     Registration Fee
  290.         ------------ -------------------------  ----------    ----------------
  291.  
  292.         ____________ @LAST ver. 2.00              $15 ea.      _______________
  293.  
  294.         Send registration to:     Duane A. Bowen
  295.                                   9444 Parkway Drive
  296.                                   Highland, IN 46322
  297.  
  298.         Contact author for site liscensing of quantities of 50 or more.
  299.  
  300. ================================================================================
  301.  
  302. PS:
  303.  
  304.     If sufficient interest is shown in @LAST, I will make a serious effort at
  305. adding a good calculator and clipboard.  With those two additions, some of the
  306. old standby memory hogs should be gone forever.  I am also interested in
  307. hearing your recommendations for future enhancements.
  308.  
  309.                                                       Duane
  310.  
  311.