Print Power For Your 1029 Printer
10-PRINT ENHANCES YOUR 1029 PRINTER BY ENABLING ANY
MEMORY RESIDENT FONT TO BE PRINTED - check these features
* 100% machine code
* Works with BASIC or Assembler/Editor
* Prints any 8-bit font stored in the
computer, even your own designs
* Alter the spacing between characters
* Multiple fonts on the same line if required
* Ideal for program listings (but much more
too) - inverse, graphics and control characters instantly
* Includes Graphic 8 screen dump
ONCE INSTALLED 10-PRINT CAN BE FORGOTTEN -
WHEN YOU WANT TO USE IT JUST LIST TO YOUR PRINTER - IT'S THAT
THE UTILITY YOUR 1029 HAS BEEN WAITING FOR!
(c) 1988 G.McDonald and Page 6 Software
10 PRINT is a machine code program which
enables any character from the standard Atari character set, including
control, graphic and inverse characters, to be printed on the Atari 1029
printer. In addition any redefined character set which can be used with
your Atari computer may be printed on the 1029.
10 PRINT can handle program listings in
several formats, print text from within BASIC or other programs and
print out word processing or other text documents using several
different fonts. 10 PRINT also includes a Graphics 8 screen dump utility
that may be used with your own programs.
1. WHAT IS 10 PRINT?
The Atari 1029 uses a print head matrix of 7 x 5 which
means that characters are normally printed 7 dots high and 5 dots wide
as opposed to most other printers which use a 9 x 8 or 8 x 8 matrix. The
lack of that 8th or 9th "dot" is what makes the basic 1029 incapable of
printing "descenders" and restricts its use with many programs. 10 PRINT
will expand your 1029 by permitting many variations within the basic 7 x
5 matrix but will also, more importantly, allow the 1029 to print
characters a full 8 dots high by 8 wide. It will also allow very narrow
fonts of perhaps only 4 dots wide to be used thus increasing the
versatility of the printer. Whilst 10 PRINT will not let you use
commercial programs such as PRINT SHOP which require their own special
routines it will allow you to use your 1029 printer in many more ways
than you thought possible.
10 PRINT has several uses. You may print program
listings, print to your 1029 from within a program you have written,
format text that you have prepared with a word processor or use the
screen dump. Each of these will be explained later but for your
reference the programs that make up 10 PRINT are as follows. Certain
files marked are not included in the cassette version.
AUTORUN.SYS - the 10 PRINT utility itself
HANDLER.OBJ* - the 10 PRINT utility in a form which may be
customised as explained in the advanced section of the manual
TENPRINT.BAS - the 10 PRINT utilities package for printing
documents or customising your version of 10 PRINT
G8DUMP.LST - a Graphics 8 screen dump to use in your own
DUMPTEST.BAS* - a sample program to test the Screen Dump
LETTER.ASC* - a sample text document to print out
seven fonts to use with 10 PRINT:
- BOLD6.FNT - FOUR.FNT - BLOCK.FNT - SQUARE.FNT - CURSIVE1.FNT -
* not on
The filenames will appear on the disk version of 10
PRINT. The cassette version does not contain filenames but the programs
are recorded one after the other with 10 PRINT itself being followed by
TENPRINT.BAS and the fonts and finally the Graphics Dump. Once located
and ENTERed you may wish to save the TENPRINT.BAS and G8DUMP.LST
programs on another tape for ease of use.
2. LOADING INSTRUCTIONS
Make sure the computer is off, and that the disk drive
and printer are on. If you use an 850 interface or similar make sure
this is also switched on. Insert the 10 PRINT disk into drive 1 and
switch on the computer. DO NOT hold down OPTION when loading. 10 PRINT
will be resident in memory when the "READY" prompt appears. The
Assembler/Editor cartridge may be present if required in which case the
"EDIT" prompt will appear when loading is complete. The 10 PRINT disk is
no longer needed unless you wish to use the TENPRINT utility package to
print out text documents.
Make sure that the computer is switched off and the
printer is switched on. If you use an 850 interface or similar make sure
this is also switched on. Insert the tape in your cassette deck and
depress the PLAY button on the recorder. HOLD down the START key on the
computer and switch the computer on. When you here the buzz from the
computer press RETURN and 10 PRINT will load. Loading is completed when
the "READY" or "EDIT" prompts appear as explained in the Disk loading
instructions. If you have any problems in loading 10 PRINT, try
rewinding the tape and manually winding the tape past the clear leader
before placing the tape once more in the tape deck. A back up is
recorded on Side B if you still have problems.
The tape may now be removed from the cassette but if
you wish to use the 10 PRINT utility package or screen dump DO NOT
REWIND THE TAPE AT THIS POINT.
3. THE EASY GUIDE TO 10 PRINT
10 print has two major uses - printing program
listings and producing formatted output of text files. It is also
possible to use 10 PRINT to produce formatted print from within your own
i) PROGRAM LISTINGS
Your Atari computer has a built-in "device handler" to
communicate with the printer. This is normally addressed as "P:" and to
list a program to your printer you would normally type LIST "P:" to
print the whole program or LIST "P:",100 or LIST "P:",10,200 to list a
particular line or lines. From the Assembler/Editor you would use LIST
#P:. If you are not sure how this works please consult your manual or a
programming reference book.
10 PRINT installs its own special "device handler"
which is addressed as "Q:" but, unlike the resident printer handler has
four options. Each of these can be used in exactly the same way as the
standard "P:" command. The four options are:
prints an entire line of up 60 characters with each character 7
prints a line in 38 characters to match the standard Graphics 0
screen with each character 7 dots high.
the same as "Q:" or "Q1:" but each character is a full 8 dots
"Q2:" but with characters 8 dots high
"Q1:" and "Q2" may be considered "draft" mode with
"Q3:" and "Q4:" the equivalent of "letter quality". These latter two
modes will take longer to print as each line needs to be printed twice.
This feature of 10 PRINT couldn't be easier to use.
Try it now by booting up 10 PRINT and loading in a short BASIC program
(preferably with inverse or CONTROL characters in) and type each of the
four commands in turn. That is type LIST "Q1:" and press RETURN, type
LIST "Q2:" and press RETURN and so on.
You should now be familiar with the basic use of 10
PRINT and can use whichever "device" you feel is suitable for your
program listings. You can still use the "P:" device as before if you
want a "rough" draft of a listing but remember you will not get special
characters to print using "P:". It is possible to print program listings
in any character set and to close up or expand the spaces between
characters but these aspects will be dealt with later in the advanced
section of the manual.
ii) PRINTING FROM WITHIN PROGRAMS
Just as you can use the "P:" device within a program
so can you use any of the four "Q:" devices. Where you would normally
open a channel to the printer with a command such as OPEN #1,8,0,"P:"
just substitute the appropriate Q: command as stated above and then
PRINT or PUT to the channel in the normal way. You may if you wish have
different channels open to both Q: and P: to print in two different
styles on the same document, the first using whatever font is in shown
on screen and the second in the standard 1029 font. This manual is not
intended as a tutorial for programming and if you do not understand the
principles of using a "channel" to communicate to your printer it is
recommended that you refer to an appropriate programming book.
The "Q:" device works exactly like "P:" and will only
output to the printer when either a full line or a RETURN character
(ATASCII 155) has been sent. If you use PRINT #(channel) statements that
end in a semi-colon, or if you use PUT #(channel) commands, you must
finish with a RETURN character or a PRINT #(channel) without a
semi-colon to ensure that all characters are printed.
There is only one restriction to be aware of. If you
use Q3: or Q4: and then follow on with a Q1: or Q2: mode, there will not
be any space between the last line of Q3: or Q4: print and the first
line of Q1: or Q2: print. If this is not the effect required, issue a
PRINT #(channel) command first to generate a blank line.
iii) PRINTING TEXT FILES
10 PRINT may also be used to print text documents in a
variety of fonts provided you have a word processor that can PRINT a
document to disk or cassette. Most word processors have this feature
including Superscript, PaperClip, Speedscript, The First XLENT Word
Processor and TextPro but some, such as the original Atariwriter
cartridge do not. If you find that the word processor you normally use
does not have this feature we recommend that you get hold of a copy of
TextPro (disk only) which is an excellent public domain program as good
as most commercial word processors. Please note that the "PRINT TO DISK
(or cassette)" feature is NOT the same as SAVING a file and 10 PRINT
will not work correctly on a file that has been SAVED to disk. If you
have any doubts, consult the manual of your word processor.
10 PRINT has no word processing commands as such but
the TENPRINT.BAS program supplied will enable simple commands inserted
by you into your document with your word processor to be translated into
different fonts. Your word processor does all of the formatting of your
document and will print to disk or cassette a "carbon copy" of what
would normally go to the printer. TENPRINT.BAS can pick up this file and
print it to your 1029 translating any special codes you have inserted as
a) PREPARING A DOCUMENT
10 PRINT can print text in up to 11 different styles
using the fonts supplied and you may specify any of these styles within
your document. There are three special formatting codes used each of
which is followed by the number of the font or style you wish to use.
The formatting codes and default font styles are as follows.
[ for all
normal and left justified text
\ for centred text or centred headings
] for right
Default Fonts or Styles
||Print in SIX.FNT
||Print in BOLD6.FNT
||Print in FOUR.FNT
||Print in BLOCK.FNT
||Print in SQUARE.FNT
||Print in CURSIVE1.FNT
||Print in ATARI.FNT
||Print in 1029 standard
||Print in 1029 standard, underlined
||Print in 1029 double-width
||Print in 1029 double-width, underlined
Use your word processor to prepare a document for
printing using the standard margins and page layout that you would
normally use but wherever you wish to use a different font insert the
appropriate formatting code and font code immediately prior to the words
you wish to print in a different font. An example would be best to
illustrate the procedure.
Let's suppose your word processor uses the command :rj; to push text to
the right of a page, :cy; to centre text and that it automatically
justifies left (i.e. uses no code for text printed against the left
margin). Your document as you type it in might look something like this.
:rj;]5From: Brian Smith
:rj;]210th September 1988
:cy;\3USE OF PRINTERS
[0It has come to my attention that printers are
being used for
[1PRIVATE [0 purposes. This is not allowed.
All you need to remember is to use [ followed
immediately by the font number for all normal text, \ followed by the
font number whenever you centre any text and ] followed by the font
number for any right justified text such as addresses and dates. A more
detailed explanation of how these codes work will be given at the end of
Once you have composed your document PRINT it to disk
or cassette (don't forget to SAVE a copy also in the normal way) and get
ready to run TENPRINT.BAS to print it to your 1029.
There is a sample file called LETTER.ASC on the disk
version of 10 PRINT which contains a letter with various codes in
position. You may print this out for study by typing DOS and then using
option C (Copy) and specifying LETTER.ASC,P: in response to the prompt.
Providing your 1029 switched on you will get a print out of the document
for study exactly as it appears. Note that this is not how the final
document will appear when printed with 10 PRINT.
b) PRINTING THE DOCUMENT
Your document is printed out using TENPRINT.BAS which
is on the disk version of 10 PRINT under this filename and is on the
cassette version immediately following 10 PRINT at the point where the
boot program stopped loading. RUN the program from disk or CLOAD and RUN
from cassette. The cassette version will buzz once when the program is
RUN and you should then press RETURN so that the fonts may be loaded.
TENPRINT.BAS will load each of the seven available
fonts into memory and then present you with a menu. Choose Item 2 -
PRINT A FILE. You will be asked to enter a default print style, the
number of leading blank lines and finally the filename to be printed.
For the time being enter 0 for each of the first two options and type in
the filename of the document you wish to print. If you have 10 PRINT on
disk you might like to print out the LETTER.ASC file to see how the
formatting codes in that file have worked. Provided your 1029 is
switched on and 10 PRINT is installed you will have a nicely formatted
letter printed in different styles. If you wish to print a document from
cassette just enter C: as the filename and make sure the tape is at the
point where you PRINTED your document to tape.
c) OPTIONS WHEN PRINTING
Default Font Style: Your word processor will
print a number of spaces at the left of each line representing the width
of the left margin. If you mix fonts which have different character
widths within your document these spaces will be different sizes and the
left margin will be ragged. TENPRINT strips these spaces and replaces
them with spacing of whatever default style you choose. Some fonts will
produce a narrower margin than others so you will need to experiment
with the Default Font Style to find one that suits. The default styles
are the same as fonts mentioned earlier but print only blank spaces of
the appropriate width. Note however that if you use style 8 or 10 the
spaces will be underlined.
Once you have selected a Default Font the file will be
printed in this style until such time as a change of font is indicated
by a code you have embedded in the document.
Blank lines: This option is provided
specifically for the 1st XLENT Word Processor which prints the first
page of a document "short". TENPRINT.BAS is set up for default page size
of 66 lines but the 1st XLENT Word Processor assumes only 60 lines on
the first page. If you are using this word processor this option should
be set to 6 otherwise it should normally be set to 0. Other word
processors may have this feature and the option is therefore provided
for up to 20 blank lines.
iv) A CLOSER LOOK AT HOW 10 PRINT WORKS
The previous instructions explain fully how to use 10
PRINT but it may help you in formatting documents if you understand how
the TENPRINT utility interprets the codes you enter into your document.
TENPRINT reads in a file line by line and initially
strips any leading spaces on the line (which are normally the left
margin your word processor has calculated) and replaces these with
spaces in the default mode you have chosen. The left margin will
therefore always remain the same width even if you change from narrow to
expanded fonts throughout your document. The string is then scanned for
the codes you have entered to change fonts. If it finds a code it checks
the next character, which must be one of the code symbols for a new
font, and changes the character set to that font. It will continue
printing in that new font until a change is indicated by another symbol.
When the end of the line is reached the string will be sent to the
printer and the next line will be read from the file. The entire process
will then be repeated until the end of the file is reached.
The [,\ and ] symbols are treated in different ways.
When the [ symbol is found both the symbol and the following character
are ignored (after the font is changed) and the remaining text closed up
by two spaces. With the ] symbol the spaces are not closed up and two
blank spaces are printed. This is so that text which is right-justified,
such as an address, remains in its proper position against the right
margin. Finally, the \ symbol closes up one position only and is used to
keep centred text properly positioned.
v) SOME CONSIDERATIONS WHEN PREPARING DOCUMENTS
If you intend to use one of the narrower or wider
modes (2-6 or 9) as the default, remember to set appropriate margins in
your word processor before printing to disk. The usual right margin in
80-column text is about 70, which would be too wide for modes 3-6 and
9-10 since these characters would be too big for the page. On the other
hand, mode 2 text would finish just over halfway across the page and
should have a wider margin setting. You will need to experiment with
each font to find the right and left margins which give you the width of
text you require.
Your word processor will format the text assuming that
all characters are the same width, so don't expect the output to look
exactly correct if you have used non-default character widths in centred
or right-justified text. Again you may need to experiment with changing
margins to get the spacing right. Also, if your text has a non-zero left
margin don't specify modes 8 or 10 as default otherwise the blanks in
the margin will be underlined.
You can if you wish mix the normal "P:" mode with the
"Q:" modes in the same text, but if you do you should either set a zero
left margin or set the default mode to 0,1 or 7, since these are the
only modes which have a common character width in both devices. Any
other default mode will generally produce a ragged left margin. Note
that you cannot mix "P:" and "Q:" modes on the same line.
If you do not change widths, or only do so on
separate, partial lines (e.g. headings and titles), which will be the
majority of the time, you should find TENPRINT simple to use and will
not encounter any problems. If you want more complex output, the program
has the flexibility to produce it if the above guidelines are followed.
4. THE GRAPHICS DUMP
The 10 PRINT disk includes a BASIC subroutine to be
used with your own BASIC programs to produce printouts of your GRAPHICS
8 or 24 screens. It is assumed that you have some programming knowledge
if you wish to use this utility. On the disk version of 10 PRINT the
program has the filename G8DUMP.LST and on the cassette version it
immediately follows the TENPRINT.BAS file. We recommend that you locate
the cassette version and transfer it to another tape by typing NEW after
loading TENPRINT.BAS and then typing ENTER "C:" and saving the program
to another tape once loaded by using LIST "C:".
To use the Screen Dump, load your own program in
memory (it is not necessary to have 10 PRINT booted) and type ENTER
"G8DUMP.LST" or ENTER "C:" to merge the two. G8DUMP.LST uses lines 32000
upwards so if this clashes with your program renumber your program or
load the subroutine separately and renumber it. Your program should
create the appropriate GRAPHICS 8 or 24 screen and wherever you wish to
print the screen to your 1029 should include a GOSUB 32000. The
subroutine will dump the current screen image to the printer.
The picture will be 320 dots wide, and will allow a
margin of up to 160 dots width. You may set the variable MARGIN before
calling the subroutine, if MARGIN = 0 the picture will print at the left
side of the paper, MARGIN = 160 will print at the right hand side and
MARGIN = 80 in the centre. Also, you should set GMODE before calling the
subroutine as GMODE=8 or GMODE=24 for GRAPHICS 8 and 24 respectively.
The image colours may be reversed on the printout by setting INV =1 in
The disk version of 10 PRINT contains a file called
DUMPTEST.BAS which you may LOAD and RUN for a sample print. The Screen
Dump routine is already included in this file.
5. 10-PRINT FOR MORE ADVANCED USERS
It is possible to customise 10 PRINT in a number of
ways but before you attempt to do so we recommend that you make a back
up copy of your 10 PRINT disk and work only with the copy.
i) USING YOUR OWN FONTS
10 PRINT works by using the character set pointed to
by location 756 (CHBAS) as the font to send to the printer. Normally
this will be the Atari standard character set at ROM location 224 but if
you load your own character set and change the pointer in location 756
then 10 PRINT will print the new font to your 1029. It is beyond the
scope of this manual to explain how to redefine and load character sets
but several articles have been published in articles and books and there
are a number of public domain character set generators available.
You may wish to study the TENPRINT.BAS listing, which loads in several
character sets to discover how to load your own character sets.
ii) CHANGING CHARACTER SPACING
10 PRINT sets aside two memory locations which we have
called CHRWID and NUMCHS to control, respectively, the spacing of each
letter and, in devices Q1: and Q3:, the number of characters per line
(devices Q2: and Q4 are always set to 38 characters per line). These
locations are defined as follows:
CHRWID = 256* PEEK(13) + 641
NUMCHS = 256*PEEK(13) +
On power-up they contain 8 and 60 respectively.
If CHRWID is POKED with a 6, for example, then only
the 6 left hand columns of the character's dot grid will be printed
before the next character is started. A standard character printed in
this way will look strange, but if a special font is designed which
completely fits into these 6 columns, the result will be a narrower
character and more of these will fit on one line. To determine the
number of characters that will fit on a line divide the number POKEd
into CHRWID (6 in this case) into 480 (which gives 80) and POKE the
answer into NUMCHS to change from the normal 60 per line. A font which
fits into 4 columns will allow 120 characters per line. Make sure that
you do not try to put too many characters in one line and exceed the 480
dots width limit, especially when mixing spacing, otherwise you will get
You can also widen the normal spacing, for example a
spacing of 10 used with the standard computer font will insert 2 blank
dot columns which will make inverse graphics characters easier to
recognise. If you use 10 PRINT with your own programs the spacing and
font style can be changed at any time, even within a line of print,
simply by POKEing the new values into CHRWID and 756 before issuing the
PRINT # command for that section of print.
The 10 PRINT disk-includes examples of fonts with 6
and 4 dot widths. SIX.FNT is similar to the normal printer font,
BOLD6.FNT is heavier font and FOUR.FNT is a very narrow font useful
where more than 80 columns are essential or when squeezing text into a
small area such as labels. These fonts have the filenames shown on the
disk version of 10 PRINT and are recorded sequentially, as shown earlier
in the manual, on the cassette version.
iii) CHANGING TENPRINT.BAS
The TENPRINT.BAS program has deliberately been left as
a listable BASIC file so that you may change it if you wish.
The default symbols which control the formatting of printed text are [,\
and ] but if you find that you use these in your documents, you can
change them to any other character by changing all occurrences of these
characters in program lines 210 to 230, line 2520 and lines 2590 to
2610. Be sure to select new characters which will not appear in your
text otherwise you will encounter errors when trying to print the text.
On the disk version the fonts used by TENPRINT and
shown in the DATA statements in lines 5000 - 5060. You may use any other
fonts by changing the filenames and adding the width of the characters
in the font. Normally fonts obtained from the public domain or other
programs will be the standard 8 dots wide but other fonts can be defined
as stated previously. Make sure that all the fonts you wish to use are
on the disk and save the amended version of TENPRINT.BAS to the same
disk. Note that you must have seven fonts at all times, so if you wish
to add just one or two, simply leave the existing fonts on the disk and
add your own changing only one or two filenames.
With the cassette version it is more difficult to
change the fonts although with some programming knowledge it could be
done. All seven fonts are contained in one file and must be saved
accordingly. You will need to study the TENPRINT listing thoroughly to
understand how the fonts are loaded. Unless you are a competent
programmer it is best not to try and use alternative fonts with the
iv) CHANGING THE LOCATION OF 10 PRINT
On the disk version, 10 PRINT is loaded from the file
named AUTORUN.SYS. The program occupies memory starting at page 52 which
leaves plenty of room for multiple disk drives and file buffers and also
allows DOS to be used. If you have a single drive system and wish to
reclaim some of the unused memory, or instead wish to load in at a
higher location, you may customise AUTORUN.SYS by using Option 1 of the
Run TENPRINT.BAS and select Option 1. Enter the
desired starting page (in decimal) at the prompt and a new AUTORUN.SYS
file will be created, overwriting the existing one. Note that
HANDLER.OBJ must be on the same disk using this option of TENPRINT.BAS
so never delete, rename or otherwise tamper with this file. Switch off
the computer, then follow the 10 PRINT loading instructions at the start
of this manual to load your new version.
To determine a suitable starting page for a single
drive system, switch off the computer and power-up again with BASIC with
your normal DOS 2.0 or DOS 2.5 disk (i.e. without 10 PRINT). Type PRINT
PEEK(744) - usually 28 - and add 1 (one) to the result to determine a
suitable starting page number. You may also use a location lower in
memory to gain more program space but you may then lose the facility to
You may customise as many times as you wish with
different starting addresses - AUTORUN.SYS will reconfigure itself each
time to the last value entered.
The cassette version loads into low memory and it is
unlikely that you will need to relocate it, however the facility exists
if required and the procedure is similar. Note that if you write back to
your master tape you will lose your original 10 PRINT so this should be
used with great care, if at all!
6. TECHNICAL DETAILS
The Atari computer communicates with its peripheral
devices through a set of handlers. The standard devices are:
10 PRINT installs a new handler for a device named
"Q:". "Q:" will remain available, even after SYSTEM RESET, until the
computer is turned off.
"Q:" operates in very much the same way as "P:" except
that it prints in whatever character set the computer is using rather
than the printer's internal character set. Computer characters (letters,
numbers, graphics symbols, etc) are made up of small dots arranged in an
8 by 8 square grid but the 1029 normally prints in a grid 7 dots high by
6 wide. Each pass of the printer head across the paper normally prints 7
rows of up to 480 dots Therefore up to 80 printer characters are printed
on each line.
The 1029 normally omits one row of the character which
is why descenders are not normally available. 10 PRINT overcomes this in
modes Q3: and Q4: by printing in two passes to print all 8 rows of a
character with each character the full 8 dots wide if required thus
giving up to 60 characters within the limit of 480 dots across the page.
If you define a font leaving out the top row of each computer character
(most of those in the standard Atari set do not use this, or are quite
recognisable without it) then you may print in modes Q1: or Q2: and only
one pass is necessary.