home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 September
/
Simtel20_Sept92.cdr
/
msdos
/
printer
/
mpmpr2.arc
/
MPMPRINT.DOC
< prev
next >
Wrap
Text File
|
1988-01-25
|
61KB
|
1,392 lines
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print V2.2
║
(C) 1985, 1986, 1987
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ enterprises, inc.
║
306 Park Avenue
Wilmette, Illinois 60091
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print is a memory-resident utility that lets
║ your Epson printer print virtually all of the
characters available on your PC's screen.
Supported Epson printers include the FX, MX, RX,
EX, JX, LX and LQ series models.
Some characters that show on the screen of an IBM
personal computer are actually printer control
characters. During screen prints, MPM-Print
properly prints ALL characters that can be shown
on the screen.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print also supports all of the pitch combinations
║ available for the Epson printers. If your
software sets your printer to use compressed
print, for example, then MPM-print will
automatically print all of its characters using
the compressed pitch.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print AUTOMATICALLY "connects" any of the PC's
║ line drawing characters (like those used for the
MPM logo) both horizontally and vertically, for
any pitch or line spacing you set for your printer.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print is distributed as USER SUPPORTED SOFTWARE.
║ If you find it useful, please register with
MPM Enterprises, Inc. Fees are:
Registration ......................... $10.00
Registration (including a diskette with
the latest version) ............ $15.00
Commercial use without registration is prohibited.
Multiple-copy prices and site licenses are
available.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print is provided on an "as-is" basis, and no
║ warranty is expressed or implied. In no event
shall MPM Enterprises, Inc., be liable for any
commercial or non-commercial damage arising from
the use of MPM-print.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print
║
TABLE OF CONTENTS
INTRODUCTION ......................................... 1
USING MPM-PRINT ...................................... 2
PRINT PITCHES ........................................ 4
SCREEN PRINTS ........................................ 5
CONNECTED CHARACTERS ................................. 6
HOW MPM-PRINT WORKS .................................. 7
SETTING MPM-PRINT .................................... 8
TESTING .............................................. 12
DISTRIBUTION ......................................... 13
TECHNICAL NOTES
SPEED ........................................... 14
LOSING SPECIAL CHARACTERS ....................... 14
SUPPORTED PRINTERS .............................. 15
LQ SERIES PRINTERS .............................. 16
EPSON CONTROL CODES ............................. 16
ADDING CONTROL CODES
(MODIFYING MPM-PRINT FOR COMPATIBLE PRINTERS) 16
SOFTWARE CHECKS FOR MPM-PRINT ................... 18
OTHER PRINT MODES ............................... 19
SETTING PITCHES AT THE PRINTER .................. 20
REINSTALLING MPM-PRINT .......................... 20
PRINT SPOOLERS .................................. 20
COMPATIBILITY ................................... 21
ASCII CODES .................................... APPENDIX
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 1
║
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print is a utility which allows an Epson printer
║ to print virtually ALL of the characters
available on your PC's screen. MPM-print
works in a way that is completely transparent to you and to
any program or operation on the computer (including screen
prints using the PrtSc key).
When it is run, MPM-Print becomes memory-resident, that is,
it stays active in a small portion of your computer's memory.
MPM-Print can be turned off or on, or removed from memory at
your command.
After it is run, MPM-Print allows an Epson printer to print
240 of the 255 graphics characters that IBM PC monitors can
display (which is more IBM characters than even the IBM
Graphics Printer can print). The only characters that MPM-
Print does NOT print are those that are used to control the
Epson printer.
When MPM-Print has been run, screen prints (using your
computer's PrtSc key) will print ALL the IBM characters.
┌────────────────────────────────────────┐
│ MPM-Print also "connects" the line- │
│ drawing characters (like those used to │
│ make this box) -- automatically -- for │
│ any line spacing or pitch you set your │
│ printer to use. │
└────────────────────────────────────────┘
MPM-Print is an ideal addition to your "AUTOEXEC.BAT" file;
if you include the line:
MPMPRINT
in your AUTOEXEC.BAT file, then MPM-Print will become
resident in memory whenever you restart your computer, and
will then always allow IBM's special characters to print on
your printer.
MPM-Print works with Epson FX, MX (with Graftrax Plus), RX,
EX, JX, LX and LQ series printers, AND with the IBM Graphics
Printer (which is a version of the Epson MX printer). MPM-
Print uses less than 12,000 bytes of system memory after it
is run, and works with PC-DOS versions 2.0 and above.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 2
║
USING MPM-PRINT
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
You can run MPM-Print simply by typing its name at the DOS
prompt, i.e.
DOS prompt
└───┬────┘
│
A>MPMPRINT <enter>
│ │
┌────┴─────┐ └─ carriage return or
program name enter key
MPM-Print will then "attach" itself to DOS, and will display
an initial message.
After you run MPM-Print, just run your software as you
normally do. Whenever you print something, MPM-Print will
automatically print any of the IBM's "special" characters
that you use. Whenever your software tells the printer to
change pitch (to go into compressed print, for example) or to
change line spacing, MPM-Print will ALSO automatically
switch.
If MPM-Print has already been run, and you run it again, the
program will give you the following message:
┌───────────────────────────────────────────────────────────────┐
│ │
│ ╔╦╗╔═╗╔╦╗ ╔╦╗╔═╗╔╦╗ │
│ ║║║╠═╝║║║ - print V2.2 ║║║╠═╝║║║ enterprises, inc. │
│ ║ ║ │
│ (C) 1985, 1986, 1987 306 Park Avenue │
│ Wilmette, Illinois 60091 │
│ │
│ Status is MEMORY RESIDENT and ON(OFF) │
│ │
└───────────────────────────────────────────────────────────────┘
where ON indicates that MPM-Print is active (converting
characters before sending them to the printer), and OFF
indicates that MPM-Print is inactive, and will simply pass
all characters straight to the printer.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 3
║
You can also include one of several commands for MPM-Print to
use. Those commands include:
ON -- Turns MPM-Print ON (if it is off);
OFF -- Turns MPM-Print OFF (if it is on);
REMOVE -- Removes MPM-Print from memory (if it is
already memory-resident);
SETUP -- Lets you set MPM-Print to use different
printers; and
HELP or ? -- Displays a help screen which lists the
allowable commands.
The commands are all mutually exclusive. If you enter more
than one command, MPM-Print will only act on the first one.
MPM-Print will ignore leading spaces or tab characters, and
will ignore the - and / characters if you type them before
one of the commands. You also do not need to type the full
command name; simply enter enough characters for MPM-Print
to distinguish between the commands. For example:
MPMPRINT SETUP
MPMPRINT SET
MPMPRINT S
MPMPRINT /S
MPMPRINT -S
will all tell MPM-Print to allow you to set it to use a
different printer.
If you type:
MPMPRINT OFF
at the DOS prompt, it will turn MPM-Print OFF (the program
will stay in memory, but will NOT convert any of the
characters sent to the printer). To turn MPM-Print ON again,
type:
MPMPRINT ON
To remove MPM-Print from memory, type:
MPMPRINT REMOVE or
MPMPRINT R
The program will remove itself from memory, and will thus
"free" the memory that it uses for other applications.
Please be careful when removing MPMPRINT to make sure that it
is the LAST memory-resident program that was run. If you try
to remove MPM-Print, and other programs were made memory
resident after it, then your computer may behave unpredictably.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 4
║
PRINT PITCHES
▀▀▀▀▀▀▀▀▀▀▀▀▀
MPM-Print supports all of the print pitches available on the
Epson printers:
Pitch Characters per inch Printers
═════ ═══════════════════ ════════
Pica (normal) 10 All
Elite 12 All except
MX series
15 CPI 15 LQ-800,
LQ-1000 &
LQ-2500 only
Compressed 17.16 All
Compressed Elite 20 LX, EX, &
LQ series only
Expanded Pica 5 All
Expanded Elite 6 All except
MX series
Expanded 15 CPI 7.5 LQ-800,
LQ-1000 &
LQ-2500 only
Expanded Compressed 8.58 All
When you set MPM-Print for your printer (see SETTING MPM-
PRINT, page 8), the program will automatically recognize
the pitches supported by your printer. It will also
automatically recognize the priorities between print pitches
(with FX series printers, for example, elite has priority
over emphasized pica which has priority over compressed
printing).
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 5
║
Whenever your software sends a command to change pitches to
the printer, MPM-Print AUTOMATICALLY switches to the proper
pitch. For example:
1 2 3 4
╟┬┬┬┬┼┬┬┬┬╫┬┬┬┬┼┬┬┬┬╫┬┬┬┬┼┬┬┬┬╫┬┬┬┬┼┬┬┬┬╢
Pica
░▒▓αßΓπΣσ╟┬┬┬┬┼┬┬┬┬╢
MEliteP
M░▒▓αßΓπΣσ╟┬┬┬┬┼┬┬┬┬╢P
Compressed
░▒▓αßΓπΣσ╟┬┬┬┬┼┬┬┬┬╢
Expanded Pica
░▒▓αßΓπΣσ╟┬┬┬┬┼┬┬┬┬╢
MExpanded EliteP
M░▒▓αßΓπΣσ╟┬┬┬┬┼┬┬┬┬╢P
Expanded Compressed
░▒▓αßΓπΣσ╟┬┬┬┬┼┬┬┬┬╢
Other print modes (such as underline, italics, superscript
and subscript) work only for the "normal" characters printed
by the Epson. The special characters that MPM-Print uses
will still print in the proper pitch, but will not be
underlined, or printed in italics, etc. (See TECHNICAL NOTES,
page 19).
SCREEN PRINTS
▀▀▀▀▀▀▀▀▀▀▀▀▀
MPM-Print will print ALL of the characters that can show on
your computer's screen when you print the screen. The only
characters that will not print are the ASCII 0 and the ASCII
255, neither of which are defined for the IBM's screen.
Some characters that can be shown on the screen are also
Epson control characters. Those characters should be printed
when printing the screen, but sent to the printer unchanged
at other times. MPM-Print must therefore know when a screen
print is in progress, and sets an internal "flag" whenever
you hit the PrtSc key.
MPM-Print uses your computer's original screen print logic to
actually get information from the screen.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 6
║
If you have problems getting screen prints to work properly
with MPM-Print, it means that your computer prints screens in
a way that is significantly different from that used by IBM
PC's and true compatible computers.
If this is the case, you can disable MPM-Print's screen-
printing logic (see SETTING MPM-PRINT, page 8). If you
disable the screen-printing logic, all special characters
EXCEPT those used as Epson control characters will print
during a screen print -- Epson control characters will be
sent directly to the printer.
The standard screen-printing logic sends only the characters
from the screen to the printer. No information about the
attribute (bold, or inverse, or colored) of the character is
sent. Because it works with your computer's existing screen-
printing logic, MPM-Print also does NOT show the attributes
of the characters from the screen.
CONNECTED CHARACTERS
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
MPM-Print automatically connects the IBM line-drawing
characters when they are adjacent, either horizontally (like
┌──┘) or vertically (like ⌠
⌡ ).
MPM-Print detects any changes that your software makes to the
line spacing and pitch of your printer, and automatically
adjusts to properly connect the characters -- even at line
spacings as large as one line per inch!
To connect the characters vertically, MPM-Print scans each
line of text as it is printed. If one of the characters
should connect to the character below (as with the integral
sign in the first paragraph on this section), then MPM-Print
"remembers" that character and its position in the line.
When the original line is done printing, MPM-Print prints a
second line that extends the tails of the appropriate
characters. MPM-Print automatically adjusts to whatever line
spacing you've set your printer to use.
You can even change print pitch within a line, and MPM-Print
will adjust. For example:
╒════════╤═W1════════W0═╤════════╕
│ normal │ W1EXPANDEDW0 │ normal │
╘════════╧═W1════════W0═╧════════╛
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 7
║
One warning -- if you switch to compressed mode within a
line, make sure that there are an even number of characters
in the compressed portion of text. Some Epson printers add
an extra dot's space when switching from compressed print to
Pica print IF an odd number of compressed characters have
been printed. This apparently happens ONLY when switching
from compressed print to Pica print, and occurs ONLY when an
odd number of compressed characters have been printed. This
anomaly can, however, make MPM-Print "miss" connecting
vertical lines properly.
Characters that MPM-Print "connects" include:
ASCII CODE 176 177 178 179 180 181 182 183 184 185
CHARACTER ░ ▒ ▓ │ ┤ ╡ ╢ ╖ ╕ ╣
ASCII CODE 186 187 188 189 190 191 192 193 194 195
CHARACTER ║ ╗ ╝ ╜ ╛ ┐ └ ┴ ┬ ├
ASCII CODE 196 197 198 199 200 201 202 203 204 205
CHARACTER ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═
ASCII CODE 206 207 208 209 210 211 212 213 214 215
CHARACTER ╬ ╧ ╨ ╤ ╥ ╙ ╘ ╒ ╓ ╫
ASCII CODE 216 217 218 219 220 221 222 244 245
CHARACTER ╪ ┘ ┌ █ ▄ ▌ ▐ ⌠ ⌡
HOW MPM-Print WORKS
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
After it has been run, MPM-Print is completely transparent
both to you and to programs running on your computer.
MPM-Print "reviews" each character that is sent to the
printer, and takes one of four actions:
1. If the character is "shared" by your printer and
IBM monitors, it will be printed normally. Normally,
only the "standard" ASCII characters, ranging from
the space (ASCII 32) to the ~ (ASCII 126) are shared.
Some printers are, however, able to emulate the IBM
character set -- for those printers, you can instruct
MPM-Print to "pass" all but the line drawing characters
to the printer, and therefore still make use of MPM-
Print's ability to properly connect the line drawing
characters. Please see SETTING MPM-PRINT, page 8.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 8
║
2. If you are printing normal text, and if the
character is an Epson control character, it will be
passed without change to the printer. If that
control character changes the pitch used for printing,
then MPM-Print will remember the new pitch.
If you are printing a screen (using the PrtSc key),
MPM-Print will print even control characters exactly as
they appear on the screen.
3. If the character is an Escape (ASCII 27), and you
are NOT printing the screen, MPM-Print will send the
Escape character AND the appropriate number of
following characters to the printer without change
(Epson printers use "Escape sequences" to control a
wide variety of printing functions). If the escape
sequence changes the pitch or line spacing used for
printing, then MPM-Print will remember the new
pitch/line spacing.
4. Finally, if the character is one of the 145
characters that is neither "shared" nor a printer
control character, then MPM-Print will "translate" the
character and print the IBM monitor's version of that
character using the Epson printer's graphics
capability.
If the character is a line-drawing character (see
CONNECTED CHARACTERS, page 6), then MPM-Print will
remember its location, and extend the tail of the
character so that it connects with the character below.
SETTING MPM-PRINT
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
MPM-Print is initially set up to run with an Epson FX-80
printer. If you've got another model of printer, then you
should use the SETUP command with MPM-Print to make sure that
the program will work correctly with your printer.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 9
║
To set up MPM-Print, at the DOS prompt type:
MPMPRINT SETUP or
MPMPRINT S
You'll see the message:
┌───────────────────────────────────────────────────────────────┐
│ │
│ ╔╦╗╔═╗╔╦╗ ╔╦╗╔═╗╔╦╗ │
│ ║║║╠═╝║║║ - print V2.2 ║║║╠═╝║║║ enterprises, inc. │
│ ║ ║ │
│ (C) 1985, 1986, 1987 306 Park Avenue │
│ Wilmette, Illinois 60091 │
│ │
│ │
│ Press the Escape key to stop now, or press any other key to │
│ continue setting up MPM-Print. │
│ │
└───────────────────────────────────────────────────────────────┘
If you press the Escape key (either now or at any other
prompt during the setup routine), then MPM-Print will simply
return you to the DOS prompt. If you press any other key,
then you'll see:
┌──────────────────────────────────────────────────────────────────────┐
│ │
│ MPM-Print Setup │
│ │
│ FX-80 LQ-800 │
│ FX-100 LQ-1000 │
│ FX-80 with Letter Quality ROM LQ-2500 │
│ FX-100 with Letter Quality ROM LX-80 │
│ FX-80+ LX-86 │
│ FX-100+ MX-80 with GRAFTRAX (old GRAFTRAX) │
│ FX-80+ with Letter Quality ROM MX-80 with GRAFTRAX+ (Type III) │
│ FX-100+ with Letter Quality ROM MX-100 Type II (original MX-100) │
│ FX-85 MX-100 with GRAFTRAX+ (Type III) │
│ FX-185 RX-80 │
│ FX-285 RX-80 F/T │
│ FX-86e RX-100 │
│ FX-286e RX-80+ │
│ JX-80 RX-80 F/T+ │
│ JX-80 with Letter Quality ROM RX-100+ │
│ EX-800 RX-80+ with Letter Quality ROM │
│ EX-1000 RX-80 F/T+ with Letter Quality ROM │
│ LQ-1500 version 1.8 RX-100+ with Letter Quality ROM │
│ LQ-1500 version 2.0 │
│ │
└──────────────────────────────────────────────────────────────────────┘
One of the printers will be "highlighted"; use the cursor
keys (on the right hand side of your keyboard) to move the
"highlight" to your printer.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 10
║
The list of printers is so extensive because even similar
printers will often have subtly different command sets.
If you're using an "Epson-compatible" printer, choose the
model that your printer emulates. You may need to experiment
a little to find the Epson model whose command set is closest
to that used by your printer.
When you've chosen the model of printer that you use, simply
hit the Return (or Enter) key.
NOTE: For the Epson MX-series printers, most of the models
available in this country used the GRAFTRAX+ module. Printers
produced by Epson with the GRAFTRAX+ chip should all be labelled
TYPE III somewhere on the back of the printer. Therefore, if your
MX printer is a TYPE III, then you can be reasonably confident
that it has the GRAFTRAX+ installed.
However, even if your MX printer is NOT a TYPE III, there is
also a good chance that it has the GRAFTRAX+ (rather than an
older GRAFTRAX chip) installed. Epson provided user upgrades
so that older GRAFTRAX chips were usually upgraded to the
GRAFTRAX+.
Therefore, if you are not sure whether you have the GRAFTRAX+
or an older version, first try configuring MPM-Print for
the MX-80 (or MX-100) with GRAFTRAX+. Run our TEST program
(see page 12); if the printer works without problems, then
your printer has the GRAFTRAX+ chip.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 11
║
The setup routine will ask next about screen prints:
┌───────────────────────────────────────────────────────────────┐
│ │
│ Some characters that show on the screen are printer control │
│ characters -- MPM-Print can translate those characters when │
│ you print the screen using the PrtSc key. This feature may │
│ not, however, work properly with some "IBM-compatible" │
│ computers. If you have problems with screen prints, then you │
│ can stop MPM-Print from trying the translation by answering │
│ No to the next question: │
│ │
│ Should MPM-Print "translate" all characters on the screen │
│ during a screen print? >> _ │
│ │
│ Press Y for Yes, anything else for No, Escape key to abort │
│ │
└───────────────────────────────────────────────────────────────┘
If you answer Yes, then MPM-Print will translate all
characters that appear on the screen when you do a screen
print. We suggest that you answer No ONLY if you try screen
prints with MPM-Print and have problems (and if you do have
problems, please notify us).
If you answer Yes, the MPM-Print will pause briefly while it
determines how the print screen function works on your
computer.
If MPM-Print is already memory-resident, the setup routine
will then ask you:
┌───────────────────────────────────────────────────────────────┐
│ │
│ MPM-Print has already been run. Should the copy in memory be │
│ updated with the new printer information? >> _ │
│ │
└───────────────────────────────────────────────────────────────┘
If you answer Yes, then the copy of MPM-Print that is in
memory will be updated for the new printer that you've
chosen.
The setup routine will next ask:
┌───────────────────────────────────────────────────────────────┐
│ │
│ Should an updated copy of MPMPRINT.COM be saved to disk? >> _│
│ │
└───────────────────────────────────────────────────────────────┘
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 12
║
If you answer Yes, then a new copy of MPMPRINT.COM will be
written to the current directory. If MPMPRINT.COM already
exists in the current directory, it will be replaced.
Finally, if MPM-Print is NOT already memory resident, then
the setup routine will ask:
┌───────────────────────────────────────────────────────────────┐
│ │
│ MPM-Print was not found in memory. Should a copy be made │
│ memory-resident now? >> _ │
│ │
└───────────────────────────────────────────────────────────────┘
If you answer yes, then MPM-Print will install itself in
memory, using all of the new information that you entered.
TESTING
▀▀▀▀▀▀▀
Included with MPM-Print is a testing program, TEST.PAS.
Written in TURBO Pascal, the testing program "exercises" most
of the print commands available for the Epson printers.
The program prints the full character set for each of the
print pitch combinations, and also tests combinations of
print modes and pitches. With some Epson printers, certain
print modes have "priority" over other modes. For example,
for FX series printers, Elite pitch has priority over
compressed print which has priority over Pica print.
For each control code and escape sequence, the program sets
the printer's mode, then (if appropriate) it prints the 240
non-control characters, and finally restores the printer to
its original mode.
The purpose of the test is to verify that MPM-Print properly
transmits the control codes/escape sequences to the printer,
and that it properly prints the full 240 MPM-print character
set after setting the printer's mode.
TEST.COM is a compiled version of TEST.PAS. It was compiled
using TURBO Pascal version 3.0, and requires DOS version 2.0
or later.
The compiled version of TEST takes about 10-15 minutes to run
(it is limited by the speed of the Epson printers), and
prints ten to fifteen pages.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 13
║
DISTRIBUTION
▀▀▀▀▀▀▀▀▀▀▀▀
MPM-Print is distributed as "user-supported software", with
the following conditions:
MPM-Print and its associated documentation are the
copyrighted property of MPM Enterprises, Inc.
We grant NON-COMMERCIAL users the right to use, copy
and share MPM-Print.
Any distribution of MPM-Print must contain unaltered
versions of the program itself and all associated
documentation:
MPMPRINT.COM
MPMPRINT.DOC
PRINTDOC.EXE
READ .ME
TEST .PAS
TEST .COM
MPM-Print may NOT be sold or distributed for profit
without the express, written consent of MPM Enterprises,
Inc.
We encourage you to register your copy with MPM
Enterprises, Inc. Fees are:
Registration ............... $10.00
Registration (including a
diskette with the latest
version) ................. $15.00
Registered users will be notified of updates,
enhancements, and new products from MPM Enterprises, Inc.
Registered users will also receive instructions to
disable most of the initial ("sign-on") screen shown
by MPM-Print.
Commercial use WITHOUT a $10 per copy registration fee is
prohibited. Multiple-copy prices and site licenses are
available. Dealer pricing is also available.
MPM-Print is provided on an "as-is" basis, and no warranty is
expressed or implied. In no event shall MPM Enterprises,
Inc., be liable for any commercial or non-commercial damage
arising from the use of MPM-Print.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 14
║
TECHNICAL NOTES
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
SPEED
═════
MPM-Print uses the graphics printing capabilities of the
Epson printers to produce the 145 IBM characters that the
Epson printers normally don't print.
Printing using graphics modes requires more information and
more effort on the part of the printer, so the 145 non-Epson
characters take longer to print than do the "normal"
characters. "Normal" text is printed at the normal speed.
To help speed up printing of the special characters, MPM-
Print uses a special internal buffer and is optimized for
speed.
Connecting special line-drawing characters vertically
requires MPM-Print to print additional "lines" between the
original line of characters and the next line -- this, too,
adds to the time required to print special characters. No
extra printing time is needed if there are no characters that
need to be "connected" to the line below.
There is one problem with using the graphics buffer to speed
printing: the Epson printers do NOT "wrap" graphics
characters at the right margin -- any characters remaining in
the graphics buffer can be lost. Please see LOSING SPECIAL
CHARACTERS below.
LOSING SPECIAL CHARACTERS
═════════════════════════
MPM-Print uses a "graphics buffer" to speed up printing
special characters. Characters stored in the buffer will be
held either until the buffer is full, or until a non-special
character is printed.
If something happens BEFORE the buffer is printed (such as a
"crash" or a reboot of your computer), then the characters
will be lost.
A second problem can occur with special characters -- Epson
printers DO NOT WRAP characters printed using graphics modes.
If special characters extend past the right margin, the
printer simply truncates the line at the right margin. In
contrast, Epson printers automatically "wrap" lines of normal
text that are too long (text that would extend past the right
margin is printed on the next line.)
This problem will occur ONLY when the information being
printing is improperly formatted, and is therefore easy
to avoid.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 15
║
SUPPORTED PRINTERS
══════════════════
Printer Number Printer Model
────────────── ────────────────────────────────────
0 FX-80
1 FX-100
2 FX-80 with Letter Quality ROM
3 FX-100 with Letter Quality ROM
4 FX-80+
5 FX-100+
6 FX-80+ with Letter Quality ROM
7 FX-100+ with Letter Quality ROM
8 FX-85
9 FX-185
10 FX-285
11 FX-86e
12 FX-286e
13 JX-80
14 JX-80 with Letter Quality ROM
15 EX-800
16 EX-1000
17 LQ-1500 version 1.8
18 LQ-1500 version 2.0
19 LQ-800
20 LQ-1000
21 LQ-2500
22 LX-80
23 LX-86
24 MX-80 with GRAFTRAX (old GRAFTRAX)
25 MX-80 with GRAFTRAX+ (Type III)
26 MX-100 Type II (original MX-100)
27 MX-100 with GRAFTRAX+ (Type III)
28 RX-80
29 RX-80 F/T
30 RX-100
31 RX-80+
32 RX-80 F/T+
33 RX-100+
34 RX-80+ with Letter Quality ROM
35 RX-80 F/T+ with Letter Quality ROM
36 RX-100+ with Letter Quality ROM
The list of printers is so extensive because there are
typically subtle differences in the command set supported by
printers even in the same family. For example, the FX-80+
printer supports certain commands that are not available for
the older FX-80 printer.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 16
║
LQ SERIES PRINTERS
══════════════════
MPM-Print completely supports all of the print pitches and
commands used by the LQ series printers. HOWEVER, MPM-Print
only uses 8-pin graphics when printing its special
characters. The standard version of MPM-Print does not
approach the print quality available from the 24-pin standard
LQ character set.
We have a version of MPM-Print (called MPM-LQ) devoted
exclusively to the LQ series printers. Please contact MPM
Enterprises, Inc. for information about MPM-LQ.
EPSON CONTROL CODES
═══════════════════
Epson printers use certain one-byte codes (ranging from ASCII
7 to 27) to control some of the printers' features. Each
feature can be activated by sending EITHER the code OR the
code+128 to the printer (for example, both ASCII 7 and ASCII
135 would "beep" the printer's speaker). We have chosen to
print IBM characters for all ASCII codes above 127, since
printer control codes are already provided by ASCII
characters 7-27.
We have also chosen to print the IBM character (ASCII 127)
instead of the "delete" code for the Epson printers. The
"delete" code deletes the last character in the Epson
printer's line buffer; since it is rarely used, we chose to
print the IBM character instead.
All other control codes and escape sequences are passed
directly to the printer.
ADDING CONTROL CODES (MODIFYING MPM-PRINT FOR COMPATIBLE PRINTERS)
══════════════════════════════════════════════════════════════════
Some printers are Epson-compatible, but extend the control
codes that can be sent to the printer. You can "patch" MPM-
Print to recognize (and pass) those new control codes.
A new control code must have three characteristics to allow it
to be added to MPM-Print:
1. The control code must begin with the Escape
character (ASCII 27);
2. The escape character must be followed by a code
character that is between ASCII 0 and ASCII 127;
3. Following the code character must be a constant
number of additional characters. That constant
number can be anything from 1 to 127.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 17
║
For example, the ADS 2000 printer emulates the FX-80 printer,
but extends the control codes. One of its additional control
codes is:
Esc 'a' chr$(n)
which turns ON high density printing if n=1, and turns it OFF
if n=0.
This "new" control code fits all of the characteristics
required for you to add it to MPM-Print: It begins with an
Escape character; the Escape is followed by the character 'a'
(ASCII 97); and the 'a' is followed by one additional
character.
The "patch" area for MPMPRINT.COM begins at an offset of 270
bytes (270 decimal, 10E hex) from the beginning of the file,
and is 256 bytes long.
To patch MPMPRINT.COM using DEBUG (the DOS utility), first
work ONLY on a copy of MPM-Print. Next, set up that copy for
the Epson model that your printer most closely emulates (see
SETTING MPM-PRINT, page 8). Finally, determine the offset
for the code character you want to add:
Offset = 100H + 10EH + 2 * character code in hex
(using DEBUG)
where H indicates a hexadecimal number.
For our example, the character code 'a' is 61H. Its offset
is 100H + 10EH + 2 * 61H = 20EH + C2H = 2D0H.
Make sure the DOS program DEBUG.COM is available, either in
the current directory or along the PATHs you've set for your
computer, and type:
DEBUG MPMPRINT.COM
At the DEBUG prompt, type:
e <offset> where <offset> is the
offset you've calculated,
in hexadecimal
In our example, you'd type:
e 2D0
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 18
║
DEBUG responds with:
xxxx:02D0 00.
where xxxx is the code segment value. The 00 is the value
currently stored at that offset.
Enter the number of characters that follow the code character
(remember, you've got to enter the number in hexadecimal).
In our example, the 'a' is followed by one character, so we'd
enter:
xxxx:02D0 00.01
then hit the space bar (which tells DEBUG to let you enter
the next byte), giving:
xxxx:02D0 00.01 00.
and enter 0 (if the next byte is not already 0), followed by
a carriage return. Please note that the second zero byte is
essential to having your modified code work properly.
When you've done this, type w at the DEBUG prompt to Write
the file to disk (skip this step if you want to quit WITHOUT
changing the disk's copy of MPMPRINT.COM).
To quit, type the letter q at the DEBUG prompt.
SOFTWARE CHECKS FOR MPM-Print
═════════════════════════════
Version 2.2 of MPM-Print gives your programs a way to check
to make sure that MPM-Print is resident in memory, and to
check whether MPM-Print is active or not. To check, your
software must be able to use the BIOS Printer I/O interrupt
(17H), and use the 8088/8086/80286 registers.
Contents
Register Hex Decimal
AX 0CAFE 51966
BX 0 0 to check status
1 1 to turn MPM-Print ON
0FFFF -1 to turn MPM-Print OFF
To test if MPM-Print is resident, put 0CAFEh in the AX
register, and either 0, 1, or -1 in the BX register (see the
table above), and execute an interrupt 17h.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 19
║
Upon return from the interrupt 17h:
Contents
Register Hex Decimal
AX 0FEED 65261
BX 0 0 MPM-Print is OFF
1 1 MPM-Print is ON
DX printer number, from the
table under SUPPORTED
PRINTERS, page 15
If AX equals anything other than 0FEEDh, then MPM-Print is
NOT installed. If AX does equal 0FEEDh, then the BX register
will indicate whether MPM-Print is active or not, according
to the table above.
The TEST program gives a TURBO Pascal example of testing to
make sure that MPM-Print is installed and active, and of
retrieving the number of the printer for which MPM-Print was
installed.
OTHER PRINT MODES
═════════════════
MPM-Print supports all of the pitches available for Epson
printers. Most of the other print modes available will not
affect the way MPM-Print prints the "special" characters:
Print Mode Action
────────── ──────
Graphics All graphics modes work properly.
Underline "Normal" characters are underlined;
MPM-Print's characters are not.
Italics Normal characters are printed in
italics; special characters are
not.
Emphasized With the Pica pitch, special
characters are emphasized; with
Expanded Pica, only normal
characters are emphasized.
Double Strike Only normal characters are "double-
struck".
Super- and Only normal characters print in
Subscript the script mode; special characters
print at their normal heights.
Proportional Only normal characters print
proportionately; special characters
print with the current pitch.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 20
║
SETTING PITCHES AT THE PRINTER
══════════════════════════════
If your software sends printer control characters to the
printer, then MPM-Print will always know the proper pitch to
use.
If, however, you change pitches for the printer WITHOUT MPM-
Print's knowledge, (for example, by using printer switches)
then MPM-Print will use the last known pitch when printing
special characters.
Suppose you were printing in compressed pitch, and turned the
printer OFF. When you turn the printer ON again, it will
print in the Pica pitch. MPM-Print, however, will continue
to print the special characters in compressed pitch.
To solve the problem of confused pitches, send the printer
reset code (Escape 64) to the printer. MPM-Print will
automatically reset its pitch.
REINSTALLING MPM-PRINT (or trying to)
═════════════════════════════════════
MPM-Print works by taking control of IBM's ROM BIOS interrupt
17h (Printer I/O). When you try to re-run MPM-Print, it
checks the ROM BIOS interrupt to see if it has already been
run. If it has, MPM-Print notifies you of that fact.
A problem can occur, however, if you run other memory-
resident software (such as a print spooler; please read the
PRINT SPOOLERS section below) that also takes control of
interrupt 17h AFTER MPM-print has been run. If this is the
case, and IF you try to re-run MPM-Print, it may not find a
copy of itself when it checks. If MPM-Print does NOT, then
it WILL proceed to install itself again.
PRINT SPOOLERS
══════════════
Print spoolers are memory-resident programs that "reserve" a
portion of memory to buffer information sent to the printer.
To achieve good performance, most print spoolers completely
replace the ROM BIOS printer interrupt logic. Therefore,
most print spoolers will completely ignore MPM-Print if they
are run AFTER MPM-Print. This problem occurs when the
spooler (or any other memory-resident program) replaces
rather than chains to the previous printer interrupt. If you
are using one of those spoolers, then please install MPM-
Print AFTER installing your print spooler.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 21
║
COMPATIBILITY
═════════════
We have not been able to test MPM-Print with every
available piece of software. We HAVE, however, tested
it with:
IBM PC-DOS versions 2.1,3.0,3.1,3.2
Lotus 1-2-3/Printgraph
Graphics screen dumps (as long as the
DOS utility GRAPHICS.COM is also
installed)
TimeLine project management system
from Breakthrough Software
MathCAD from MathSoft, Inc.
Sidekick (from Borland International)
Text files produced with a variety of
word processing programs.
If you have compatibility problems with other memory-
resident programs, try changing the order in which the
programs are loaded into memory. If you discover
compatibility problems that you are unable to solve,
please let us know about them.
Some word processing packages try to do the same job as
MPM-Print -- they convert the IBM graphics characters
into graphics commands before sending the information to
the printer. Because the characters have already been
converted BEFORE MPM-Print ever sees them, MPM-Print is
unable to do its job.
If MPM-Print works with some of your software, but you find
that the "line drawing" characters are not properly connected
when you print a document from your word processor, it is
most probably because your word processor is converting the
line drawing characters. Try "reinstalling" your word
processor for another printer (try the IBM Graphics printer
first) to find a printer driver that instructs your word
processor to send ALL characters WITHOUT CHANGE to the printer.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 22
║
▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
╔╦╗╔═╗╔╦╗
MPM-Print, ║║║╠═╝║║║ - print, and its associated documentation
║
are copyright (C), 1985, 1986, 1987, MPM Enterprises, Inc.
Please direct all comments and registrations to:
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ enterprises, inc.
║
306 Park Avenue
Wilmette, Illinois 60091
▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
Special thanks are due to Ms. Carole Anne Ogdin of Semiotics
Designers for her suggestions about command line parsing and
the logic for the REMOVE command for MPM-Print.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print APPENDIX 1
║
APPENDIX
▀▀▀▀▀▀▀▀
ASCII CODES
═══════════
Decimal
│ Hexadecimal
│
│ │ Character or function
│ │
│ │ │
│ │ │
0 00 32 20 64 40 @ 96 60 `
1 01 33 21 ! 65 41 A 97 61 a
2 02 34 22 " 66 42 B 98 62 b
3 03 35 23 # 67 43 C 99 63 c
4 04 36 24 $ 68 44 D 100 64 d
5 05 37 25 % 69 45 E 101 65 e
6 06 38 26 & 70 46 F 102 66 f
7 07 BEL 39 27 ' 71 47 G 103 67 g
8 08 BS 40 28 ( 72 48 H 104 68 h
9 09 HT 41 29 ) 73 49 I 105 69 i
10 0A LF 42 2A * 74 4A J 106 6A j
11 0B VT 43 2B + 75 4B K 107 6B k
12 0C FF 44 2C , 76 4C L 108 6C l
13 0D CR 45 2D - 77 4D M 109 6D m
14 0E SO 46 2E . 78 4E N 110 6E n
15 0F SI 47 2F / 79 4F O 111 6F o
16 10 48 30 0 80 50 P 112 70 p
17 11 DC1 49 31 1 81 51 Q 113 71 q
18 12 DC2 50 32 2 82 52 R 114 72 r
19 13 DC3 51 33 3 83 53 S 115 73 s
20 14 DC4 52 34 4 84 54 T 116 74 t
21 15 53 35 5 85 55 U 117 75 u
22 16 54 36 6 86 56 V 118 76 v
23 17 55 37 7 87 57 W 119 77 w
24 18 CAN 56 38 8 88 58 X 120 78 x
25 19 57 39 9 89 59 Y 121 79 y
26 1A 58 3A : 90 5A Z 122 7A z
27 1B ESC 59 3B ; 91 5B [ 123 7B {
28 1C 60 3C < 92 5C \ 124 7C |
29 1D 61 3D = 93 5D ] 125 7D }
30 1E 62 3E > 94 5E ^ 126 7E ~
31 1F 63 3F ? 95 5F _ 127 7F
NOTE: Character 26 is not shown here, although it is printed
by MPM-print. ASCII 26 is the end-of-file (EOF) marker used
by a number of programs; many programs will not read past the
character.
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print APPENDIX 2
║
APPENDIX (continued)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
ASCII CODES
═══════════
Decimal
│ Hexadecimal
│
│ │ Character or function
│ │
│ │ │
│ │ │
128 80 Ç 160 A0 á 192 C0 └ 224 E0 α
129 81 ü 161 A1 í 193 C1 ┴ 225 E1 ß
130 82 é 162 A2 ó 194 C2 ┬ 226 E2 Γ
131 83 â 163 A3 ú 195 C3 ├ 227 E3 π
132 84 ä 164 A4 ñ 196 C4 ─ 228 E4 Σ
133 85 à 165 A5 Ñ 197 C5 ┼ 229 E5 σ
134 86 å 166 A6 ª 198 C6 ╞ 230 E6 µ
135 87 ç 167 A7 º 199 C7 ╟ 231 E7 τ
136 88 ê 168 A8 ¿ 200 C8 ╚ 232 E8 Φ
137 89 ë 169 A9 ⌐ 201 C9 ╔ 233 E9 Θ
138 8A è 170 AA ¬ 202 CA ╩ 234 EA Ω
139 8B ï 171 AB ½ 203 CB ╦ 235 EB δ
140 8C î 172 AC ¼ 204 CC ╠ 236 EC ∞
141 8D ì 173 AD ¡ 205 CD ═ 237 ED φ
142 8E Ä 174 AE « 206 CE ╬ 238 EE ε
143 8F Å 175 AF » 207 CF ╧ 239 EF ∩
144 90 É 176 B0 ░ 208 D0 ╨ 240 F0 ≡
145 91 æ 177 B1 ▒ 209 D1 ╤ 241 F1 ±
146 92 Æ 178 B2 ▓ 210 D2 ╥ 242 F2 ≥
147 93 ô 179 B3 │ 211 D3 ╙ 243 F3 ≤
148 94 ö 180 B4 ┤ 212 D4 ╘ 244 F4 ⌠
149 95 ò 181 B5 ╡ 213 D5 ╒ 245 F5 ⌡
150 96 û 182 B6 ╢ 214 D6 ╓ 246 F6 ÷
151 97 ù 183 B7 ╖ 215 D7 ╫ 247 F7 ≈
152 98 ÿ 184 B8 ╕ 216 D8 ╪ 248 F8 °
153 99 Ö 185 B9 ╣ 217 D9 ┘ 249 F9 ∙
154 9A Ü 186 BA ║ 218 DA ┌ 250 FA ·
155 9B ¢ 187 BB ╗ 219 DB █ 251 FB √
156 9C £ 188 BC ╝ 220 DC ▄ 252 FC ⁿ
157 9D ¥ 189 BD ╜ 221 DD ▌ 253 FD ²
158 9E ₧ 190 BE ╛ 222 DE ▐ 254 FE ■
159 9F ƒ 191 BF ┐ 223 DF ▀ 255 FF