Dec 232017
This is an excellent programmers TSR. ASCII codes, box codes, print eject, keyboard scan codes, port swap, printer setup, plus much more.
File SUPER3.ZIP from The Programmer’s Corner in
Category Miscellaneous Language Source Code
This is an excellent programmers TSR. ASCII codes, box codes, print eject, keyboard scan codes, port swap, printer setup, plus much more.
File Name File Size Zip Size Zip Type
$UPER.COM 13813 9191 deflated
$UPER300.TXT 34054 10246 deflated
WHATSNEW.300 1125 617 deflated

Download File SUPER3.ZIP Here

Contents of the $UPER300.TXT file

$UPER - A Programmer's Popup

Version 3.00

$UPER (pronounced SUPER) is a terminate and stay resident (TSR) program
that provides the functions most needed by programmers while using less than
12 Kb of RAM. Although written for experienced programmers, $UPER should prove
quite valuable to beginners as well.

$UPER functions:

* Ascii table and color chart
* Box drawing character code display
* Interactive keyboard scan code and ascii value display
* Memory peek and poke capability
* Screen ruler
* User selectable printer port
* Printer setup capability for Epson FX & compatible printers
* Printer page eject hot-key for most printers

$UPER features:

* Low memory consumption
* Un-installable
* Consolidation of many functions into one popup
* Uses familiar "spreadsheet style" menu system
* Menus and windows return to where you left them
* Hot-keys are user selectable
* Auto-Klone feature lets YOU set $UPER's defaults

$UPER's defaults:

* The Ctrl-Alt-: (colon) hot-key pops up $UPER's main menu
* The Ctrl-Alt-F hot-key sends a form feed character to the printer
* The printer port is assumed to be LPT1:
* The ruler starts with 0,0 as the upper left corner of the screen
* A color display is assumed
* Video updates are made during retrace to avoid "snow"

$UPER Quick Start:

If the above defaults are satisfactory for your system, return to DOS and
put $UPER.COM where DOS can find it, either in the current directory or in your
path. Type $UPER at the DOS prompt and press . This will cause $UPER
to be loaded into memory where it will remain resident. Then use $UPER's popup
hot-key to bring up the main menu. For continued use, you may wish to add
$UPER to your autoexec.bat.

$UPER Customization:

If the above defaults are not suitable, or if they have been changed on the
copy of $UPER that you received, you will need to use $UPER's Auto-klone
feature (described below) to customize $UPER to your system.

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 1

$UPER's Menu System:

The main menu, shown below, is reached by pressing the popup "hot-key".
The default hot-key is Ctrl-Alt-: (colon) but may be changed via the Auto-klone
function to the combination of your choice.

$UPER will only pop up when it is safe to do so. For instance, if you try
to pop up while a file is being output using the DOS "type" command, $UPER
will wait until the command has finished. NOTE: You only need to press the
popup hot-key once. $UPER will remember that you have pressed it and will pop
up as soon as DOS indicates that it is no longer busy.

Oct 15 1988 $UPER Version 3.00 - A Programmer's Popup 10:38:57 am

<- path
Ascii Box Eject Keybd Memory pOrt Printer Ruler remoVe <- choices
Ascii table with corresponding characters & colors <- description

Menus of the type shown above are used throughout $UPER. The menu system
is described here using $UPER's main menu as an example but the information
applies to all other menus as well.

Looking at the menu you will see that there is a date / title / time line
at the top and three "working" lines below. $UPER gets it's date and time
information from DOS so what you see is what you've got.

The "choices" line uses a single word to describe each selection that can
be made from the menu. Although it can not be seen here, one of the choices
appears in a different color than the rest. This color block is refered to as
the cursor and the cursored choice is refered to as the "current" choice.

Beneath the choices is the "description" line. This line contains a
more detailed description of the current choice.

Above the choice line is the "path" line. Since this is the top level
menu, the path line is blank. On lower level menus, however, it shows the
selections made from previous menus (the path taken) in arriving at that lower
level. Presently only the pOrt and Printer selections lead to lower levels.

There are two ways to make a selection from a menu. One method is to move
the cursor until it is on the desired selection and then press . The
and keys move the cursor to the first or last choice respectively.
The <- and -> keys move the cursor one choice to the left or right respectively.
The cursor will "wrap" from last choice to first choice or vice versa.

The other method is the hot-key method. Although it can't be seen here,
the fisrt occurance of a capital letter or of a numeral in each choice is
displayed in high intensity. This is the hot-key for that choice. To select
a choice, you can simply press it's hot-key. You do NOT press after
pressing the hot-key.

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 2

Auto-Klone Feature:

The Auto-klone menu can only be accessed from the DOS prompt (eg C>). To
reach the Auto-klone menu, (1) get to the DOS prompt, (2) remoVe any copies
of $UPER which may already be memory resident, (3) *** GO TO THE DIRECTORY
WHERE $UPER.COM RESIDES ***, (4) invoke $UPER with "$UPER /k" (no quotes).

Oct 15 1988 $UPER Version 3.00 - AutoKlone Menu 10:42:48 am

Color Mono Wait NoWait 0,0 1,1 pOrt Popup Eject Klone Go Quit
Enables color video display

Color monitor | This table lists the current
Slow screen updates to prevent "snow" | settings of $UPER's clone -
Ruler upper left corner at 0,0 | able defaults.
Popup hot-key is ---> Ctrl - Alt - : |
Eject hot-key is ---> Ctrl - Alt - F |
See pOrt menu for current printer port | pOrt menu shows current port

The selections function as follows:

Color - Causes all video output to be in color
Mono - Causes all video output to be in monochrome. Note, if this menu
happens to be un-readable on your monitor due to the colors in
use, press "M" (in the blind) to switch to mono.
Wait - Causes $UPER to wait for retraces before updating the display.
This is required on monitors which exhibit "snow".
NoWait - Allows $UPER to use direct video output. This is much quicker but
will result in snow on those monitors that are prone to "snow".
If your not sure, try it this way first.
0,0 - Makes $UPER's ruler use 0,0 as the DEFAULT co-ordinates of the
upper left corner of the screen.
1,1 - Makes $UPER's ruler use 1,1 as the DEFAULT co-ordinates of the
upper left corner of the screen.
pOrt - Calls the port selection menu which allows you to tell $UPER where
to send your printer output.
Popup - Allows you to select a new hot-key to pop up $UPER's main menu.
Eject - Allows you to select a new hot-key send form feeds to your printer.
Klone - SAVES ALL CHANGES you have made into $UPER.COM. You MUST make
this selction if you want any of the chages made above to become
permanent. Conversely, DON'T make this selection if you want to
abandon the changes (mistakes) made above.
Go - Causes $UPER to go on to become memory resident with the current
settings. Remember, the changes are only made permanent by Klone.
Quit - Exits back to DOS. Any changes that hve not been Kloned are LOST.

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 3

Auto-Klone (cont'd):

A hot-key consists of two parts, a "SHIFT KEY COMBINATION" and a "NORMAL" key.

The SHIFT KEY COMBINATION is one or more of the Ctrl, Alt, Left Shift and Right
Shift keys HELD DOWN in unison. On an enhanced keyboard, the two Ctrl keys and
the two Alt keys are treated as if there were only one of each.

The NORMAL key can be any ONE of the standard typewriter keys (A-Z, 0-9, {~= ),
the F1 - F10 function keys, the numeric keypad keys or certain special keys
such as tab, backspace or Escape. NOTE: The "K" key has a special role in this
cloning procedure and, therefore, CAN NOT be used as a normal key!

Not all hot-keys are workable. If your first choice does not work, try another.
You will be returned to the menu when a new (vaild) hot-key has been detected.
Select "Klone" from the menu to permanently store your new hot-key or select
"Quit" from the menu to abandon your new hot-key.

To select your POPUP hot-key now, follow these instructions EXACTLY ....
(1) - hold down ONLY your SHIFT KEY COMBINATION.
(2) - with your shift keys HELD DOWN, press and release the key.

(3) - release ALL keys.
(4) - with ALL other keys released, press and release ONLY your NORMAL key.

(5) - Tap to return to menu.


When you select "Popup" or "Eject" the above screen of instructions is
displayed. At this point, there is no turning back! You must complete the
sequence of sequence of steps to get back to the Auto-klone menu. If you made
a mistake along the way you can "Quit" from the menu and start over. Note,
there is no limit to the number of times you can change hot-keys. A new hot-key
simply overwrites the old one.

$UPER's only requirement when changing hot-keys is that it must have sole
possession of the key. If, for instance, another TSR uses Alt-K as it's
hot-key, you would NOT be able to define a new hot-key for $UPER that uses the
Alt key. You should remove any other TSR's that use the key as part of
their hot-key while channging $UPER's hot-keys. Once you have selected your
new hot-key(s), the other TSR's can again be loaded.

In selecting a new hot-key for $UPER , avoid using key combinations which
are used by other TSR's or by other programs you run. For example, if holding
down the left and right shift keys pops up your communications software you
will not want to use those two keys as part of $UPER's hot-key. Likewise,
avoid using Ctrl-F2 if that combination causes your word processor to
repaginate a document.

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 4

{ Ascii } from the main menu leads to the Ascii Table and Color Chart:

Dec Hex C-A Dec Hex C-A C-A = Character-Attribute
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 * returns to the 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 _ *

{ Box } from the main menu leads to this Box Character diagram:

Hex -----> D5 D1 B8 Shows the character codes
Decimal ->213 209 184 required to build line boxes.

C6 D8 B5 returns to the main menu.
198 216 181
Any other key cycles between
Exits the 4 combinations of single
Cycles B3 and double, horizontal and
179 vertical lines.
212 207 205 190

{ Eject } from the main menu returns to main menu:

Eject sends a form feed character to the printer. It is sent using BIOS
so it should work through most spoolers. If, after a few moments, your printer
does not respond, you will here a beep - check your printer. Also be sure that
you have set or cloned the proper printer port into $UPER using the "pOrt" menu.

The eject feature is also available directly from the keyboard without
having to pop up $UPER's menu. The default form-feed hot-key, Ctrl-Alt-F, may
be changed using Auto-klone.

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 5

{ Keybd } from the main menu leads to the Scan Codes window:

[ 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 <- The 1st shows codes
for the Escape key, the
2nd returns you to
The results above are for Alt-F1. BIOS the main menu.
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).

{ Memory } from the main menu leads to the Peek-Poke window:

The peek-poke window is a very powerful tool. With it you can view the
entire 1 Mb address space of your machine 16 bytes at a time. Memory is
addressed using segment:offset notation. Segments range from 0000h - ffffh and
offsets range from 0h - fh. Thus 0000:0 is the first byte of your memory while
ffff:f is the last.

In addition to peeking (viewing) memory you can also poke (change) memory
locations that correspond to RAM. Some memory ADDRESSES do not have any actual
memory installed and and therefore are meaningless when peeked or poked.
Other addresses have ROM installed which can be peeked but not poked. As a
"general rule", the first 640k of memory plus your video display buffer will be
RAM. The remaining addresses will either be unoccupied or will be used by the
ROM BIOS's of the system, hard disk controller and display or network adapter.

The peek-poke window is shown below along with notes as to how to change
the segment value and as to how to select an offset for poking. NOTE: this is
a HEX based window, do NOT use decimal numbers for peeking or poking. Also
note, POKE WITH CARE !!! Well, you can't say you weren't warned. The
key will return you to the main menu.

__ CURRENT segment value is shown here (1F79:)
| |<- hex contents of offsets +0 - +F shown below ->|< Ascii equivalent >|
^^^^ | [1F79:7] = FEh | |
SEG: +0 +1 +2 +3 +4 +5 +6 +7 | +8 +9 +A +B +C +D +E +F 01234567 89ABCDEF
1F79: CD 20 3C 22 00 9A F0 FE -| 1D F0 2F 01 42 10 3C 01 . <".... ../.B.<.

** to ENTER Segment **** F1 - F8 to Scroll **** <0-F> to POKE offset **

| ^^^^ | | ^
| | | F1-F8 increment or | A digit 0 - F lets |
| F9 allows typing in | | decrement SEG: | you enter a HEX BYTE |
| a new HEX segment | | Digit Dec Inc | to POKE at offset |
| value - here ------>^ | Xnnn: F1 F2 | 0 - F - here ------->^
| | nXnn: F3 F4 |
| C/R completes it or | | nnXn: F5 F6 | C/R completes it or |
| Esc key aborts. | | nnnX: F7 F8 | Esc key aborts. |

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 6

{ pOrt } from the main menu leads to the port selection menu:

Oct 15 1988 Current Setting is [ LPT1: ] 10:40:34 am

Parallel port 1

This menu allows you to select which of five ports $UPER should use when
sending bytes to your printer. The title area in this menu shows the current
port. After making your selection, press to return to the main menu.

If you come to this menu from the main menu, the selection you make here is
valid only for the current session. Once $UPER is removed from memory or the
computer is powered down it will be lost. To effect a permanent port change
use Auto-klone to get to this menu. Then, after selecting the new port, you
can return to the Auto-klone menu and Klone it permanently into $UPER.COM.

{ Printer } from the main menu leads to the Printer Selection menu

This selection provides ready access to the printer codes used by the
Epson FX series of printers. Many other printers on the market will also
accept most or all of these codes (IBM, STAR and clones). If you are unsure,
try it and see.

On all of the printer menus shown below, the cursor (which you can't see
here) is on the first choice. Therefore, the description line in each menu
pertains to the first choice on the menu.

Note that as the various menus are presented not all choices will be
described. Only those that are unusual will be mentioned. This is intended to
be quick reference to $UPER's printer setup abilities not a printer tutorial.
Check your owner's manual for in depth information.

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 7

{ Printer } cont'd

Oct 15 1988 Epson FX series Printer Selection Menu 10:40:45 am

Quick Hardware Spacing Pitch Features Graphics
Collection of most used functions

This is the second of three levels in the printer menu system. Here, the
major printer function GROUPS are presented. Each of these selections lead to
third level menus where all of the choices for that group are presented.

Most of the functions available under "Quick" are also available on other
menus. They are the functions I use most often, grouped for convenience.

Some items such as "set left margin" require you to enter a value. When
you select such an item, the menu choices and descriptions are temporarily
removed and you are prompted to enter the number. NOTHING is sent to the
printer until you do enter the number and press . If you change your
mind, press to return to the menu with no codes sent. Note that $UPER
does NOT check to see that values you enter are "legal".

{ Printer } { Quick }

Oct 15 1988 Epson FX series Printer Selection Menu 10:40:47 am

Printer Quick
Text NLQ Left Skip Pica Elite 17 20 tinY Reset
12 cpi, 1" left margin, 6 line skip, draft qual

The "Text" selection is a combination of settings used for a quick dump of
an ascii file. It sets 12 pitch, a 1 inch left margin, a 6 line skip over perf
and then sets draft quality mode. The "NLQ" selection is identical except that
it sets near letter quality mode instead of draft mode. The "tinY" selection
is a combination of 17 pitch, superscript and half line spacing (good luck
reading it). The remaining selections are self explanatory.

Note that pitch changes cause the printer to be reset, THEREFORE, change
pitch BEFORE you change other settings OR ELSE your other settings will be
wiped out by the reset!

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 8

{ Printer } { Hardware }

Oct 15 1988 Epson FX series Printer Selection Menu 10:40:52 am

Printer Hardware
Reset Eject Feed Select Deselect
Reset printer to defaults

{ Printer } { Spacing }

Oct 15 1988 Epson FX series Printer Selection Menu 10:40:55 am

Printer Spacing
6 8 12 N/216 Feed Perf perf-Off Auto-LF
Set to 6 lines per inch

{ Printer } { Pitch }

Oct 15 1988 Epson FX series Printer Selection Menu 10:41:00 am

Printer Pitch
5 6 8.5 Pica Elite 17 20 tinY
Set 5 cpi

{ Printer } { Features }

Oct 15 1988 Epson FX series Printer Selection Menu 10:41:07 am

Printer Features
Uni suPer suB Cancel undLine Italic upRight NLQ Draft 1 2
Toggle between uni- and bi- directional printing

{ Printer } { Graphics }

Oct 15 1988 Epson FX series Printer Selection Menu 10:41:12 am

Printer Graphics
1 2 3 4
Single density

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 9

{ Ruler } from the main menu leads to the Ruler window (line):

The ruler line below appears on the screen in reverse video. A one
character wide "see through 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 ruler also shows the decimal values of the
attribute (color) and character at the current cursor position (A/C xxx/yyy).

The upper left corner (origin) can be toggled between 0,0 and 1,1 using the
typewriter (NOT the numeric keypad) '0' and '1' keys respectively. The DEFAULT
origin may be permanently changed using Auto-klone. Cloning only affects the
default origin that $UPER uses at startup - you can still use '1' and '0' to
toggle the origin "on the fly".

Note that changing the origin changes the row and column values of the
cursor but does NOT change the video offset. The upper left corner of the
screen is always at video offset 0. On an 80 x 25 display, in 0,0 mode, the
lower right hand corner of the screen is row 24, column 79 and the video offset
is 3998 (both character and attribute bytes are counted). In 1,1 mode, the
numbers would be 25, 80 and 3998 repectively.

[R,C 5,19]{Offset 676}<1>(A/C 31/ 32)[R,C 5,19]{Offset 676}<1>(A/C 31/ 32)
| | | | | |
| | | | |Exact duplicate of left half of ruler |
| | | | +--------------------------------------+
| | | | Character under cursor = 32, it's attribute = 31 |
| | | +---------------------------------------------------+
| | | 1 if current origin is 1,1 or 0 if origin is 0,0 |
| | +------------------------------------------------------+
| | Offset of cursor into video ram is 676, 0 = upper left corner |
| +-------------------------------------------------------------------+
| The cursor (which you can't see here) is at row 5, column 19 |

Note that the right and left sides of the ruler are duplicates. This was
done because the cursor, which acts like a window into the underlying screen,
will often fall on top of one of the numbers of interest. If a number of
interest is hidden by the cursor, it can be read at the corresponding position
on the "clean" side.

The ruler 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
1 (above the Q key) - Makes the upper left corner of the screen 1,1
0 (above the P key) - Makes the upper left corner of the screen 0,0

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 10

{ remoVe } from the main menu leads to this confirmation menu:

Oct 15 1988 $UPER Version 3.00 - A Programmer's Popup 10:42:46 am

No Yes
Cancel this operation

Answering "yes" here causes $UPER to remove itself from memory and return
the memory it was using to DOS. $UPER will only remove itself if it is the
last resident item in memory. If you decide not to remove $UPER, answer "no" or
press to return to the main menu.

If any other TSR's were loaded after $UPER or if you are currently inside
an application (123, QuickBasic etc) $UPER will not remove itself. You must
first return to the DOS prompt and remove any other resident programs that
became resident AFTER $UPER.

If $UPER beeps when you try to remove it then removal was NOT SUCCESSFUL!
If you did remove other tsr's immediately prior to trying to remove $UPER, and,
if those tsr's relied on DOS to uninstall them, $UPER may beep and remain
resident. If this happens, try running some small program (anything) to force
DOS to tidy up a bit and then try removing $UPER again. The need for this is
due to DOS's sloppiness. It is caused neither by the previous tsr nor by $UPER.

10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 11


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 much time was spent and
great care was taken in the preparation of this software,
programming is NOT the author's primary occupation.


This software is provided on a user supported basis and is
protected by a federal copyright. Subject to the restrictions
below, it may be copied and distributed by any means and 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. A single user liscense,
to use this and any subsequent versions of this software, will
be automatically granted upon receipt of the registration form
below accompanied by the indicated registration fee.

Contact author for site liscenses or other special arrangements.

This software specifically MAY NOT be distributed:
1. Along with another product or service, even if "free".
2. Without this documentation and notice.
3. For any consideration - monetary or otherwise.
4. In any manner that would deprive the author of payment
for his considerable work.

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



City, ST Zip

--- Registration Fee ---
No. Copies Item Per Copy Total Amt
------------ ------------------------- ---------- ----------

$UPER VER. 3.00 @ $20 ea.
------------ ---------


10-25-88 Copyright Duane A. Bowen - 1987,1988 - All Rights Reserved Page 12

 December 23, 2017  Add comments

Leave a Reply