[comp.sys.zenith] Why differences between PRINT and COPY?

djo7613@blake.acs.washington.edu (Dick O'Connor) (03/09/90)

I use a Zenith Z248 AT-compatible running Zenith's MSDOS 3.3Plus to do
a variety of things, including newsletters with First Publisher.  Finally,
with FP Version 2.0, you can make a print file out of your publication in
order to "sneaker-net" it over to the LaserJet in the corner!

I've noticed one odd thing that I can't explain.  The resulting HUGE print
file (if a .PUB file is 30K, the print file can be 300K, but it's probably
basically a bitmap) can be printed using COPY fname >PRN but not by
using PRINT fname.  I understand that this print file is binary;  what do
PRINT and COPY do so differently that one works in this case and one doesn't?
(PRINT starts off OK, but hangs the printer within 4-5 lines; this tested
on an Epson dot matrix printer as well).

"Moby" Dick O'Connor                            ** The only difference between
Washington Department of Fisheries              ** a lazy man on a riverbank
Olympia, Washington  98504                      ** and a fisherman is a pole
Internet Mail: djo7613@blake.u.washington.edu   ** and a length of string.

limonce@pilot.njin.net (Tom Limoncelli) (03/10/90)

PRINT doesn't handle binary files.  I don't know if it adds or filters
chars, but you don't get good results from using PRINT.

COPY handles binary files, but it ends when it sees a CTRL-Z (to help
out with CP/M compatibilities).  I don't know how it knows that .EXE
files that contain CTRL-Zs should be processed differently.

COPY/B file.bin prn -- This command will do a binary copy and not stop
when it sees a CTRL-Z.

"Ours is not to reason why"  (Of course, everyone forgets that the
beginning of that quote is "Someone erred")

-Tom
-- 
Tom Limoncelli       The computer industry should spend more time in front of
tlimonce@drew.uucp              their computers.  Remember when "Look & Feel"
tlimonce@drew.Bitnet                      was what you tried to do on a date?
limonce@pilot.njin.net

v126gfl3@ubvms.cc.buffalo.edu (03/10/90)

In article <6182@blake.acs.washington.edu>, djo7613@blake.acs.washington.edu (Dick O'Connor) writes:
> I use a Zenith Z248 AT-compatible running Zenith's MSDOS 3.3Plus to do
> a variety of things, including newsletters with First Publisher.  Finally,
> with FP Version 2.0, you can make a print file out of your publication in
> order to "sneaker-net" it over to the LaserJet in the corner!
> 
> I've noticed one odd thing that I can't explain.  The resulting HUGE print
> file (if a .PUB file is 30K, the print file can be 300K, but it's probably
> basically a bitmap) can be printed using COPY fname >PRN but not by
> using PRINT fname.  I understand that this print file is binary;  what do
> PRINT and COPY do so differently that one works in this case and one doesn't?
> (PRINT starts off OK, but hangs the printer within 4-5 lines; this tested
> on an Epson dot matrix printer as well).
> 
> "Moby" Dick O'Connor                            ** The only difference between
> Washington Department of Fisheries              ** a lazy man on a riverbank
> Olympia, Washington  98504                      ** and a fisherman is a pole
> Internet Mail: djo7613@blake.u.washington.edu   ** and a length of string.

When you PRINT a file, the print program looks for an EOF marker to designate
the end of the file, logically.  Unfortunately, this is not wanted when you are
sending bitmap files to the printer, because invariably you will encounter the
EOF code that is not meant to designate the end of the file, but rather a
particular bitmapped dot.  When you use COPY /B (the /B meaning Binary), it
ignores the EOF marker code, thereby allowing your file to transfer completely,
and without any type of ASCII translation.

Alex Cutrone
v126gfl3@ubvms.cc.buffalo.edu

kdq@demott.COM (Kevin D. Quitt) (03/11/90)

    The real reason is that DOS is basically hosed.  All systems have
some EOF character for input from keyboards and/or serial lines.  DOS
thinks this is such a good idea, it uses the EOF on output too! (not to
disk).

    It's not that PRINT or COPY explicity check for EOF - when they send
the EOF, DOS closes the channel for them.  If you specify /B to COPY, it
uses IOCTL to make the channel a raw output channel. 

kdq
-- 

Kevin D. Quitt                          Manager, Software Development
DeMott Electronics Co.                  VOICE (818) 988-4975
14707 Keswick St.                       FAX   (818) 997-1190
Van Nuys, CA  91405-1266                MODEM (818) 997-4496 Telebit PEP last
34 12 N  118 27 W                       srhqla!demott!kdq   kdq@demott.com

        "Next time, Jack, write a God-damned memo!" - Jack Ryan