Dec 292017
 
TSR Pop-Up Programmers utility. ASCII chart, etc.
File LAST200.ZIP from The Programmer’s Corner in
Category Miscellaneous Language Source Code
TSR Pop-Up Programmers utility. ASCII chart, etc.
File Name File Size Zip Size Zip Type
@LAST.COM 6270 4362 deflated
@LAST.DOC 13102 4922 deflated

Download File LAST200.ZIP Here

Contents of the @LAST.DOC file




@LAST - A Programmer's Pop-up Utility

by Duane A. Bowen


Ever notice how commercially available pop-ups seem to be designed for
users with 640 Mb of RAM while most of us have only 640 Kb of it. @LAST is a
terminate and stay resident (TSR) program that provides most of the functions
needed by programmers while using less than 6 Kb of available RAM. Highlights
of @LAST include:

* Low memory consumption
* Consolidation of many functions into one pop up menu
* Windows return to where you left them
* Un-installable
* Command line customizable
* User selectable hot-key
* Has 'Auto-Klone' feature


Main Menu Selections:

@LAST Ctrl-Insert (default) pops up
{ A } - Ascii Table
{ B } - Box Characters Entering letter in braces { }
{ E } - Eject Page selects that item.
{ N } - Normal Screen
{ P } - Peek-Poke Hex Esc key returns to underlying
{ Q } - Quick Screen application.
{ R } - Ruler
{ S } - Scan Codes
{ U } - Un-Install
{Esc} - Exit


**** { A } - Ascii Table (and color chart)


Dec Hex Chr Dec Hex Chr
64 40 @ * 80 50 P * <-- *'s appear in the color that
65 41 A * 81 51 Q * they would if the ascii value
66 42 B * 82 52 R * were used as an "attribute".
67 43 C * 83 53 S *
68 44 D * 84 54 T * Up and Down arrows, PgUp, PgDn
69 45 E * 85 55 U * Home and End keys move through
70 46 F * 86 56 V * Ascii values 0 - 255.
71 47 G * 87 57 W *
72 48 H * 88 58 X * Esc key returns to main menu.
73 49 I * 89 59 Y *
74 4A J * 90 5A Z *
75 4B K * 91 5B [ *
76 4C L * 92 5C \ *
77 4D M * 93 5D ] *
78 4E N * 94 5E ^ *
79 4F O * 95 5F _ *





**** { B } - Box Characters


218 194 191 Shows the character codes
required to build line boxes.
179
Esc key returns to main menu.
196 197
195 180 Any other key cycles between
the 4 combinations of single
and double horizontal and
to cycle 4 types vertical lines.

192 193 217


**** { P } - Peek-Poke Hex

__ CURRENT segment (16 byte window) shown here ( FFFE hex )
|
|
| |<- hex contents of offsets +0 - +F shown below ->|< Ascii equivalent >|
^^^^ | | |

SEG: +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 01234567 89ABCDEF
FFFE: EE 59 E2 EB C3 FF 47 20 20 20 43 4F 4D 50 41 51 .Y....G COMPAQ

** to enter Segment **** <+|-|> to Scroll **** <0-F> to POKE offset **

| ^ | | ^
| | | Up/Down arrows | A digit 0 - F lets |
| F1 to type in a | | increment/decrement | you enter a HEX BYTE |
| new HEX segment | | segment by 1. | to POKE at offset |
| value - here ------>^ | | 0 - F - here ------->^
| | + / - increment / |
| C/R completes it or | | decrement segment | C/R completes it or |
| Esc key aborts. | | by 100 HEX. | Esc key aborts. |

Notes: RAM or ROM can be peeked but only RAM can be poked.
POKE WITH CARE
Esc key returns to main menu.

**** { S } - Scan Codes


[ Press a Key ] Press the key of interest.
Register AH AL
Decimal 104 0 Results are shown here as
Hex 68 00 returned by BIOS in AX reg.
Ascii h
Press TWICE to exit <- First Esc shows codes.


The results above are for Alt-F1. BIOS returns al=0 indicating an
extended key has been pressed and ah = 104 which is the extended code for
Alt-F1. BASIC's INKEY$ function would report chr$(104);chr$(0).



***** { R } - Ruler

The following ruler line appears on the screen in reverse video. A one
character wide "cursor" appears at some position along the line. By moving the
cursor horizontally and the ruler vertically you can measure the position of
any charater on the screen both in terms of row and column and in terms of
offset into video RAM. The upper left corner of the screen is row 0, column 0
and video offset 0. The lower right hand corner of the screen is row 24,
column 79 and video offset 3998 (both character and attribute bytes are
counted).

Row = 12, Col = 1 , Video offset = 1954, Row = 12, Col = 17, Video offset = 1954

In the above sample, the ruler is at row 12 and the cursor (which you
can't see here) is at column 1 which translates to a video offset of 1954.
Note that the right and left sides of the ruler are duplicates of each other.
This is because the cursor, which acts like a window into the underlying
screen, will often fall on one of the numbers of interest. The movement keys
are as follows:

Up / Down arrows - Ruler up / down one line
PgUp / PgDn - Ruler to top / bottom of screen
Left / Right arrows - Cursor left / right one column
Home / End - Cursor to start / end of line
Esc - Returns to main menu


**** { E } - Eject Page

Nothin special. Just sends a form feed character to the printer using
BIOS so it should work through most spoolers.


**** { N } - Normal Screen **** { Q } - Quick Screen

These selections toggle between normal DOS screen updating and enhanced
updating. The default is "Normal". Selecting "Quick" invokes function 44h of
the DOS function dispatcher to set bit 5 (the so-called "raw" bit) in the
standard output device (the screen). Selecting "Normal" reverses the process.

The quick mode is great MOST OF THE TIME. DOS screen updating is
significantly faster. There are a few (Microsoft) programs which gag in
quick mode (e.g. DOS's LABEL.COM). Such programs lock up when run while quick
mode is in effect and require reboot. Depending on how often you use programs
which conflict, it may not be worth the effort to use quick mode at all. If,
like me, you don't use them very often then it's merely a matter of remembering
to return to normal mode before you do.


**** { U } - Un-Install

This selection causes @LAST to remove itself from memory and return the
memory it was using to DOS. @LAST will only remove itself if it is the last
resident item in memory. Thus, if any other TSR's were loaded after @LAST,
they must be removed prior to un-installing @LAST. If you hear a beep after
selecting un-install then un-installation was NOT SUCCESSFUL, otherwise it was.



Command Line Customization:

@LAST [m|c] [0|1|2|3|4] [h] [k]

All switches are optional, "|" means select only one

m - Specifies monochrome operation
c - Specifies color operation { default }
0 - Printer is attached to com1
1 - Printer is attached to com2
2 - Printer is attached to lpt1 { default }
3 - Printer is attached to lpt2
4 - Printer is attached to lpt3
h - Pause for user specified hot key { default is Ctrl-Insert }
k - Pause for Auto-Klone selections (see below)

Auto-Klone Feature:

You can avoid having to specify the above switches every time the program
is run by *** going to the directory where @LAST resides *** and invoking @LAST
with @LAST k . The following choices presented:

<1> - Change monitor type
<2> - Change printer port
<3> - Change hot key
<4> - Save changes & Continue
<5> - Continue without saving
<0> - Abort program

**** <1> - Change monitor type - leads to either ...

Now MONO, change to COLOR? <1>=Yes
OR
Now MONO, change to COLOR? <1>=Yes

**** <2> - Change printer port - leads to ...

<0>=COM1
<1>=COM2
<2>=LPT1 <= Current setting
<3>=LPT2
<4>=LPT3

Make new selection or press to cancel.



**** <3> - Change hot key - leads to ...

Selecting a hot key is a TWO STEP PROCESS:

First . . .

Press YOUR combination of Ctrl, Alt, Left-Shift, and Right-Shift keys and,
WITH THESE KEYS HELD DOWN, press any normal key. to cancel.

Second . . .

With the above keys RELEASED, press the normal key to be used with them.
e.g. Ctrl-Alt from above plus now would make Ctrl-Alt-A the hot key.
to cancel.

**** <4> - Save changes & Continue

The changes you made are written back to @LAST.COM to be used each
time @LAST is loaded. After writing the chages, @LAST continues on
to become resident using your newly specified changes.

**** <5> - Continue without saving

@LAST continues on to become resident using the changes you have
just specified but DOES NOT clone these changes back into
@LAST.COM.

**** <0> - Abort program

This abandons any changes - they are NOT cloned back into @LAST.COM
and @LAST does NOT become resident.


DISCLAIMER:

This software is provided "as is" without any warranty either express or
implied. The user assumes all responsibility in determining its usefulness and
or fitness for any purpose, and assumes all risks associated therewith.

It should be noted that although great care was taken in the preparation
of this software, the author's primary occupation is NOT as a programmer.


COPYRIGHT NOTICE:

This software is provided on a user supported basis and is protected by a
federal copyright. This software may be used for evaluation purposes for a
period of up to two (2) weeks. Continued use beyond two weeks requires
permanent liscensing (registration) of the user and payment of a fifteen dollar
($15) registration fee.

This software specifically MAY NOT be distributed:

1. In connection with another product or service whether "free" or not.
2. Without this documentation and notice.
3. For any consideration (other than a disk fee not exceeding $5).

================================================================================

S O F T W A R E R E G I S T R A T I O N F O R M

No. Copies Item Fee/Copy Registration Fee
------------ ------------------------- ---------- ----------------

____________ @LAST ver. 2.00 $15 ea. _______________

Send registration to: Duane A. Bowen
9444 Parkway Drive
Highland, IN 46322

Contact author for site liscensing of quantities of 50 or more.

================================================================================

PS:

If sufficient interest is shown in @LAST, I will make a serious effort at
adding a good calculator and clipboard. With those two additions, some of the
old standby memory hogs should be gone forever. I am also interested in
hearing your recommendations for future enhancements.

Duane



Leave a Reply