"A closed mouth gathers no feet."
YOUR SECOND GFA BASIC 3.XX MANUAL
- or -
HOW I LEARNED TO STOP WORRYING AND LOVE GFA-BASIC
CHAPTER TEN - THE PRINTER
by Han Kempen
If you send data to your printer (HARDCOPY, LPRINT, etc.), your
ST will wait 30 looooooong seconds if the printer happens to be
not ready. Always check if the printer is ready before sending
data to the printer, e.g. by using GEMDOS 17 (Cprnos):
EXIT IF GEMDOS(17)
ALERT 3," Printer| | not ready !!",1," OK ",k
You can send a screendump to the printer by using the command
HARDCOPY or by pressing <Alternate> <Help>. In both cases you can
abort the screendump by pressing <Alternate> <Help>.
You can use CONTROL.ACC to change the printer-parameters. Don't
forget to save the desktop, otherwise these parameters will not
be stored in the file DESKTOP.INF. Look for '#b' in DESKTOP.INF
if you're curious. The parameters will only be read from
DESKTOP.INF if CONTROL.ACC is installed after a reset! I suggest
the use of XBIOS 33 (Setprt) in a program instead of using
CONTROL.ACC. For a screendump from the High resolution screen to
an Epson-compatible printer, clear bit 1 and set bit 2:
~XBIOS(33,&X100) ! screendump to Epson(-compatible)
If you set bit 2, TOS assumes you connected an Epson-printer
(which prints 960 dots/line). Clear bit 2 and TOS assumes you
have an Atari-printer (1280 dots/line). The following table
should look familiar:
bit 0 1
0 matrix-printer daisy wheel
1 monochrome colour
2 1280 dots/line 960 dots/line
3 draft NLQ
4 parallel serial
5 fanfold paper single sheets
If you use HARDCOPY, the width/height ratio of the printout does
not correspond with that of the screen.
It should be possible to send only a (GET-)rectangle to your
printer with XBIOS 36 (Prtblk) or V_OUTPUT_WINDOW (VDI 5,Escape
21). Anybody out there who knows how?
Never, I repeat, never swap disks during a screendump, as this
could be fatal for the new disk. TOS ignores the write-protect
state during a screendump, so it will miss the disk-swap
completely. TOS will use the old FAT for the new disk, and that
usually is fatal (no pun intended).
If you have installed a GFA-Basic printer-driver (e.g.
PTEPSON.PRG), a screendump seems to be impossible. The bit-image
mode of the printer can't be used after the driver has been
This Procedures initializes global variables and Functions that
can be used as commands for a Star LC24-10 (24-dot matrix-
printer). You'll probably need just a few variables/Functions, so
you could delete everything you don't need in your program.
Compare the definitions with your own manual if you have another
printer. Please stick to the proposed names. One of the strong
points of Public Domain GFA-programs is that it's easy to adapt a
program. Or rather, it should be easy. Using the names in this
Procedure is one step in the right direction. To send a command
to your printer you have to LPRINT it (use a semicolon to prevent
an unwanted linefeed):
LPRINT "This is printed in Prestige style"
LPRINT "This is ";subscript.on$;"a subscript";subscript.off$
LPRINT @lf$(5); ! 5 linefeeds
LPRINT "Quadruple size";normal.size$
LPRINT @epson.special$(5) ! prints a clubs-symbol in
LPRINT ff$; ! form feed
Ordinary screendump to an Epson-compatible matrix-printer:
Because HARDCOPY is used, the height/width ratio is not correct.
Screendump to Atari laser-printer:
Screendump to a HP Deskjet:
Screendump to an Epson FX-80 (or compatible 9-needle printer):
Reasonably fast and correct height/width ratio.
Screendump to HP Laserjet or to HP Deskjet (500/Plus):
Screendump to a Star LC24-10 (or compatible 24-needle printer):
I don't think a faster screendump is possible. The height/width
ratio is correct and it looks good if the ribbon contains enough
Slow but flexible screendump to a Star LC24-10:
The Procedure uses two Degas assembly-routines. You can choose
one of the following formats (in cm): 27x16 18x11 13.5x8.5
Test if printer is ready:
(...) ! send data to the printer
(...) ! user doesn't want to print
The text of the articles is identical to the originals like they appeared in old ST NEWS issues. Please take into consideration that the author(s) was (were) a lot younger and less responsible back then. So bad jokes, bad English, youthful arrogance, insults, bravura, over-crediting and tastelessness should be taken with at least a grain of salt. Any contact and/or payment information, as well as deadlines/release dates of any kind should be regarded as outdated. Due to the fact that these pages are not actually contained in an Atari executable here, references to scroll texts, featured demo screens and hidden articles may also be irrelevant.