home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
DEMON
/
AMSTRAD
/
SETFONT.ARC
/
SETFONT.DOC
< prev
Wrap
Text File
|
1994-03-22
|
31KB
|
690 lines
SETFONT v1.02 21 March 1994, J. Elliott
================================================================================
SETFONT.COM is a CP/M program which will run on an Amstrad PCW or CPCº series
computer or on a Sinclair Spectrum +3, under the CP/M operating system in each
case. It is a Character Set Manager and it has been designed to handle many
types of PCW/CPC/Spectrum screen character sets. It will convert between
different types, allowing you to print the characters on the printer, make them
self-loading and even use them in LocoScript. Or you can use it to combine
characters from as many different fonts as you want.
º: CPC operation untested.
The command line is:
A>SETFONT filename.ext {/option /option ...}
or
A>SETFONT /H
or
A>SETFONT
The first command will load or save a character set according to the options
(listed below). The second will print a Help screen explaining the options.
The third variant will enter a multiple command mode (like PIP does).
You can use the syntax -option instead of /option if you want to.
There are seven main file types:
1. Amstrad CP/M - holds all PCW/CPC characters, or one of the two
Spectrum +3 character sets.
2. Spectrum +3 CP/M - holds all Spectrum characters.
3. Spectrum +3 +3DOS - holds only those characters which can be redefined under
+3DOS, nos. 32-127. The file has a +3DOS header record
so that it can be loaded without using the COPY...TO
SPECTRUM FORMAT command. On the Spectrum, characters
are taken from one of the two character sets.
4. PRINTIT - holds characters 32-224. See below for a full explanation
of the PRINTIT format.
5. EMS (or EMT) - the file you boot your computer from contains a
character set. This set will either be in format 1 or 2,
depending on which computer you have. SETFONT can extract
or change this "hidden" character set.
6. Stop Press - But only those Stop Press fonts with the right lettering
size (eg HITEC-70).
7. MasterPaint - But only those MasterPaint fonts with the right lettering
size (eg STANDARD, ORLEANS).
Amstrad computers cannot save the Spectrum +3 CP/M format; otherwise, all
formats are usable on all computers.
There now follows a detailed guide to the available options.
The /B and /E options:
----------------------
These options specify a range of characters to be changed. The entire file
will still be loaded but only the specified characters will be used.
/B specifies the first character to change. /E specifies the last. Both these
options are inclusive. If a /B or /E option is omitted, the start or the end,
respectively, of the font will be used.
The options are formed /B:n or /B=n (and the same for /E). If a colon is used
in the option, the character chosen is from the "large" set on a Spectrum +3.
If an = sign is used, the "small" character set is the one used. On a PCW, both
of these affect the same character set. The number n after the colon or = sign
is from 0-255 (see your manual for a list of character numbers).
The /B and /E options can only be used when loading. They are ignored when
saving.
Note that while the other options (/F, /Z etc.) control how the font file is
loaded from disc, these options have nothing to do with the type of disc file
loaded; it just specifies how much to use. If you tell it to change characters
outside the range of a particular file, SETFONT will do the best it can. For
example, if you are loading with /F:+ (see below) and you use /B:0 /E:64, only
the characters 32-64 will be changed, since only these were in the disc file.
You cannot load short files like this; /B:32 /E:127 is not a substitute for
/F:+. It may have a similar effect, but the disc file loaded from would have to
be a full 2k/4k one, not a +3DOS one.
If a /B or /E option is used twice, the second option is used. If the number
in a /E option is lower than that in a /B option, the second option is ignored.
Examples:
1. /B:32 -Loads from (large) character 32 to end.
2. /E=64 -Loads from start to (small) character 64.
3. /B:65 /E:90 -Loads (large) characters 65-90 (A-Z)
4. /B:65 /E=90 -PCW/CPC: As (3) above. Spectrum: Loads all large characters
from 65 and all small characters before 90.
5. /E:64 /B:65 -Second option is invalid. (Large) characters 0-64 loaded.
6. /B:65 /E:64 -Second option is invalid. (Large) character 65-end loaded.
The /F option:
--------------
The /F option selects a different file format. The syntax is /F:x or /F=x
The /F:x is the standard version while /F=x gives extra options on the Spectrum.
Option File format on PCW/CPC File format on Spectrum
___________________________________________________________________________
none All characters in 2048 byte All characters in 4096 byte
PCW file. Spectrum file.
/F:+ Characters 32-127 in a 768 Large characters 32-127 in a
byte +3DOS type file with 768 byte +3DOS type file with
a +3DOS header. a +3DOS header.
/F=+ As /F:+ above Small characters 32-127 in a
768 byte +3DOS type file with
a +3DOS header.
/F:A All characters in 2048 byte All large characters in 2048
PCW/CPC file. byte PCW/CPC file.
/F=A As /F:A above All small characters in 2048
byte PCW/CPC file.
/F:C Characters 32-126 in a Large characters 32-126 in a
MasterPaint font file. MasterPaint font file.
/F=C As /F:C above Small characters 32-126 in a
MasterPaint font file.
/F:E All characters in a start- All characters in a start-of-day
of-day type file. type file.
/F=E As /F:E above *Large characters only in a start-
of-day type file.
/F:P Characters 32-224 in PRINTIT Large characters 32-224 in
font file. PRINTIT font file.
/F=P As /F:P above Small characters 32-224 in
PRINTIT font file.
/F:S Characters 33-125 in a Stop Large characters 33-125 in
Press font file. The letters a Stop Press format file.
have to be the size of those
in HITEC-70.
/F=S As /F:S above Small characters 33-125 in
a Stop Press format file.
/F:? This option is different. It is only useful when loading, since
/F=? what it does is to guess the font format from the disc file. It
is useful if you have a file with a name like MYFONT.BIN and you
don't know which format you saved it in. It cannot recognise
EMS type files because they don't have a fixed format.
* Note that /F=E above restricts the font to LARGE characters, not small ones.
The references to start-of-day files need some explaining. When you first turn
on, CP/M is booted from a file called ???CPM3.EMS or ???CPM3.EMT. This file
contains a font, the location of which is different for each EMS/EMT file. The
/F:E option is used to discover where this font is, and then load it or save it.
When you are saving in this format, it is ESSENTIAL that the EMS/EMT file:
a) Exists. Unlike all other options except /F:C, this one modifies rather
than replaces the destination file when saving.
b) Contains a recognisable font. Essentially, this means that character no. 0
must not have been changed if this file has been modified before.
The /F=E option is so that the Spectrum +3 can use Amstrad PCW/CPC .EMS type
files, which only contain the "large" font. A good rule of thumb is to use /F:E
if you are working with files from your sort of computer and /F=E when you are
dealing with files from different computers.
When you are using MasterPaint (/F:C) fonts, you should be aware that:
a) When saving, the file being saved to must exist. Like /F:E, this modifies
the destination file rather than writing a new one.
b) The supplied MasterPaint fonts are saved in language 1 (French). To
compensate for this, use the /L=1 option (see /L below).
The /H option:
--------------
/H overrides all other options and prints a helpscreen.
The /I option:
--------------
This inverts the font you're loading or saving (if /B or /E is being used
while loading, only the bit being loaded is inverted). Syntax is /I.
The /L option:
--------------
The /L option is formed in two ways:
/L:n tells SETFONT which language the computer is currently using.
/L=n tells SETFONT which language the font file should be in.
In both cases n is a number from 0-7. If only one of these options is present,
the other is assumed to be 0. If neither is present, no language changes are
made.
Examples:
/L:4 - File in language 0 (USA; assumed); Computer in language 4 (Danish)
/L=6 - File in language 6 (Italian); Computer in language 0 (USA; assumed)
/L:1 /L=3 - File in language 3 (UK); Computer in language 1 (French).
This option can only be used when the computer is using the device CRT as its
output (the main screen). If console output is being diverted (eg ECHO OFF) the
language will not change.
The /M option:
--------------
/M provides Multiple command mode options. They are only valid in multiple
command mode and are ignored otherwise. See the multiple command mode section
for a detailed description.
The /S option:
--------------
If this option is present, the computer will save the font to a disc file
instead of loading from one. The following options behave differently:
/B and /E: No effect.
/Z: See /Z below.
The /U option:
--------------
This option tells the computer to use a different user area (PCW users may
know these as "groups") from the current one. The syntax is /U:n - for example,
to use area 12, add /U:12 to the command line.
The /Z option:
--------------
The /Z option is concerned with the "header record" - an extra 128 bytes at
the beginning of the file.
When loading, /Z informs the computer that such a record is present. This is
used with character set files saved under operating systems which automatically
add a header record, such as +3DOS. If you are using the /F:+ or /F=+ options,
this option is selected automatically. This can also sometimes be used on
self-installing character sets (eg CHARSET.COM) if they were made using the /Z
option above, the obsolete program SELFLOAD (supplied with SETFONT v1.0), and
some other helpful font editors. If they weren't you'll soon find out - you'll
either see a mess or the wrong characters, perhaps with different top and
bottom halves!
When saving, /Z causes the font to be saved with self-load code at the
beginning. The file specified should be a .COM file; then when you type its
name, it will load by itself. You should only set this option with standard or
Amstrad (/F:A) fonts - none of the other special formats.
- * -
The Multiple Command Mode:
==========================
The multiple command mode is entered by typing SETFONT. You will see:
SETFONT v1.02 Multiple Command Mode
Type /H for help
SETFONT>
Type your command just as you would from the A> prompt, except that there is
no need to have SETFONT in front of it.
If the command begins with a : (eg :NEWFONT.FNT /F:S /S) then it is a
"conditional command" and will not be executed if the last SETFONT command
has failed. Eg:
SETFONT>NEWFILE.BIN /F:?
Font file not found: NEWFILE.BIN
SETFONT>:NEWFILE.UDG /F:S (Nothing happens)
SETFONT>
but
SETFONT>NEWFILE.BIN /F:?
Guess: +3DOS format.
Character set loaded.
SETFONT>:NEWFILE.UDG /F:S (Loads font)
Character set loaded.
SETFONT>
The /M options operate as follows:
/M:E has an "Else" action. It reverses the status of the conditional command;
so if "success" was reported it becomes "failure" and vice versa.
/M:+ tests whether the computer is a PCW/CPC or a Spectrum +3. "Success" is
reported if the computer is a +3; otherwise "failure".
Similarly, /M:C reports success if the computer is a CPC and /M:P reports
success if a PCW is being used.
A /M option should be treated as a command all by itself:
SETFONT>FILE1.UDG
File not found: FILE1 .UDG (Failure)
SETFONT>/M:E (ELSE changes to success)
SETFONT>:M:FILE2.FNT /S /F:P (Saves font)
SETFONT>
SETFONT>/M:+
SETFONT>:PLUS3.BIN /F:+ (If +3)
SETFONT>/M:C
SETFONT>:CPC.UDG (If CPC)
SETFONT>/M:P
SETFONT>:PCW.FNT /F:S (If PCW)
SETFONT>
If the command begins with a ; it will be ignored. So:
SETFONT>;Hello!
will do nothing.
- * -
Explanation of PRINTIT (/F:P /F=P)
==================================
PRINTIT is a PD program which prints text files on Epson-compatible printers
in different fonts. PCW-World supply it in volume U/102. To print a file using
a font saved with SETFONT, use:
A>SETFONT myfont.fnt -S -F:P
A>PRINTIT -Fmyfont.fnt textfile.asc
"True" PRINTIT fonts have characters designed on a 16x8 grid. When SETFONT
converts them to an 8x8 grid for screen display, detail is lost. This does not
happen with fonts saved in PRINTIT format by SETFONT, because they never had
the extra detail anyway.
To print LocoScript files with PRINTIT, set them up for 15 pitch and save
them as Page Image ASCII.
PRINTIT will only work on the Spectrum if (i) you use the RS232 printer socket
or (ii) you cut a wire in the printer lead (see CP/M manual, p64)
- * -
Possible errors/problems are:
=============================
1. "File ????????.??? exists, delete (Y/N)?"
-The file you are trying to save to is already on disc. Press Y to delete
or N to abort.
2. "Read error : ????????.???"
-There are several reasons for this:
1. The file is too short. You may need to use the /F:? option.
2. There is no diskette in the drive.
3. The diskette is corrupted (e. g. a bad sector)
3. Characters are unrecognisable; they all look like random dots.
-Either:
1. You are trying to load something that is not a character set. If you have
saved a RESET.UDG file then type SETFONT RESET.UDG; otherwise reboot or
try SETFONT xxxCPM3.EMx /F:E to read the font in your boot file (you
won't be able to see what you're typing, so be careful).
2. Perhaps you have loaded a Stop Press file without the proper /F:S option,
or a MasterPaint font withwout /F:C. Try reloading with /F:?.
4. Characters appear, but they are wrong - eg Prompt reads 1. or QN
-You are loading a file without the correct /F:+ or /Z options set. Try
reloading with /F:? to discover what type it is.
5. "Requires Amstrad PCW/CPC or Spectrum +3."
-You are trying to use the program on the wrong computer (e. g. an Osborne).
6. "Write error on file ????????.??? - Disc may be full"
-There are several reasons for this problem:
1. The diskette really is full.
2. The directory is full.
3. There is no diskette in the drive.
4. The diskette is corrupted (e.g. a bad sector)
7. "This file is password protected."
-You are trying to load, erase or otherwise access a password-protected
file. Type in the password and press RETURN.
8. "Cannot erase file:????????.??? - File may be protected."
-There are two possible reasons for this error:
1. The diskette is read-only.
2. The file is read-only.
9. You get two "squashed" characters in the one space, one above the other.
-You have loaded a normal font with the /F:P or /F=P option set.
10. You get the top or bottom halves of double-height characters.
-You have loaded a PRINTIT font without the /F:P or /F=P option set. You
will also get this if you have tried to use a self-loading font saved with
the /F=P or /F:P options; self-loading fonts can't compensate for this the
way that SETFONT does. See also (13) below.
11. The characters look faint and/or have lines missing.
-You have either:
1. Loaded a "true" PRINTIT printer font (as opposed to those saved by
SETFONT). These have to be compressed for screen viewing, and detail
will be lost.
2. Loaded a font with narrow outlines. Turn the brightness up or go into
inverse video with PALETTE 63 0.
12. "Out of memory."
-You need to have free memory up to D100H in the TPA for this program to
run. If there is not enough memory (e.g. you are using SID and some
large RSXs) then you will have to clear some.
13. You get just the top left-hand corner of a character.
-You have loaded a Stop Press font which is bigger than 8x8 in size.
The only Stop Press font which will load with /F:S is HITEC-70 or one you
saved yourself.
Examples:
=========
1) A>SETFONT RESET.UDG /S
- will preserve the standard character set, so that you can restore it without
resetting your computer. You are strongly recommended to do this.
2) A>SETFONT
SETFONT>M:CHARS.BIN /F:+ /S - Save intermediate +3 font to M:CHARS.BIN
SETFONT>B:OTHER.UDG - Load full font B:OTHER.UDG
SETFONT>M:CHARS.BIN /F:+ - Load M:CHARS.BIN over this.
SETFONT>B:MYFONT.UDG /S - Save combined font to B:MYFONT.UDG
SETFONT>
Result: a new file MYFONT.UDG containing the characters SPACE to ~ from those
already in the computer and all others from the file B:OTHER.UDG. Do not
confuse this with (6) below. This one will create an intermediate file on drive
M: containing characters from SPACE to ~ (plus ú and ñ)
3) A>SETFONT C:USA.HED -U:6 -L:1 -Z
- will load USA.HED from group 6 of drive C:, remove the +3DOS or self-loader
header record and select the French language.
4) G>SETFONT D:RUNME.COM /S -Z /F:A
- will save a .COM file to drive D: containing only the characters used on the
PCWs and CPCs. If you then type D:RUNME that character set will load itself.
5) K>SETFONT H:PRINTER.FNT /F=P /S
- will save a font suitable for PRINTIT to drive H:. On the Spectrum +3, the
characters saved will be from the small font.
6) SETFONT
<M:GRAPHICS.BIN /S - save current font as M:GRAPHICS.BIN
<L:SERIF.UDG - load L:SERIF.UDG
<M:GRAPHICS.BIN /B:128 /E:159 - load (large) graphic characters from
<;Next bit only on +3 - Comment M:GRAPHICS.BIN
</M:+ - IF the computer is a +3...
<:M:GRAPHICS.BIN /B=128 /E=159 - THEN load small graphics chars as above.
<L:SERIF2.UDG /S - Save the whole lot to L:SERIF2.UDG
<
This example is part of a .SUB file. It combines fonts as in (2) above,
creating a new file L:SERIF2.UDG containing the graphic characters which were
in the computer at the start and other characters from L:SERIF.UDG. Unlike (2),
the intermediate file on drive M: (GRAPHICS.UDG) contains ALL the characters
formerly in the computer.
7) A>SETFONT B:TINY.FNT /S /F:S
- will save the character set between ! and } to disc in a form that can be
read by Stop Press.
8) O>SETFONT F:UNKNOWN.BIN -F:?
- will try to load the file F:UNKNOWN.BIN, guessing which format it is in from
the size of the disc file.
9) P>SETFONT
SETFONT>A:J20LOCO.EMS /F=E - load the LocoScript v1.20 boot file.
SETFONT>:B:SCRIPT.BIN /F:+ - IF it was OK, load B:SCRIPT.BIN over it.
SETFONT>:A:J20LOCO.EMS /F=E /S - IF that was OK, save back to the
SETFONT> LocoScript file.
Result: This will superimpose the +3 font B:SCRIPT.BIN on the LocoScript 1
start-of-day file A:J20LOCO.EMS. Because character 0 has not been altered, it
will be possible to use the /F=E option on this file again. /F=E is being used
because JnnLOCO.EMS files do not contain the small characters.
10) H>SETFONT
SETFONT>BOLDFONT.COM -Z -F:A - Loads selfloading (large) BOLDFONT.COM
SETFONT>-M:+ - IF using a +3...
SETFONT>:MINIBOLD.COM -Z -F=A - THEN load selfloading (small) MINIBOLD.COM
SETFONT>A:S10CPM3.EMS -F:E -S - Save it all to the +3 CP/M v1.0 boot file.
SETFONT>
Result: Similar to (9) above, but please note:
1. BOLDFONT.COM and MINIBOLD.COM are self-loading character sets. MINIBOLD.COM
is designed for the Spectrum +3 "small" characters and only loads on the
Spectrum.
2. -F:E is used rather than -F=E. This only makes a difference on a Spectrum
and is being used here because the Spectrum SxxCPM3.EMS files do contain
small character sets.
11) J>PIP JOINDUP.CAR=STANDARD.CAR[O] - Make a spare .CAR type file ready to
J>SETFONT accept a new font.
SETFONT>JOINDUP.UDG - Load a normal file JOINDUP.UDG.
SETFONT>JOINDUP.CAR /F:C /S - Save this font into the spare .CAR file.
SETFONT>
Result: A new MasterPaint file is created, containing the characters from
JOINDUP.UDG. Note that it was actually created by the PIP command, and
the font was then placed in the existing .CAR file.
12) G>SETFONT
SETFONT>ORLEANS.CAR -L:3 -L=1 -F:C - Load a (French) MasterPaint font.
SETFONT>ORLEANS.FNT -L:3 -L=0 -F:S -S - Save as a (USA) Stop Press font.
SETFONT>
- This example takes place on a PCW configured to use language 3 (UK),
hence the -L:3 on every line. The example converts the MasterPaint "Orleans"
font to Stop Press form.
13) C>SETFONT
SETFONT>HITEC-70.FNT /F:S -U:2 - Loads a Stop Press font in group 2.
SETFONT>HITEC70.FNT /F:P /S -U:1 - Saves as a PRINTIT font in group 1.
SETFONT>
Result: Converts the Stop Press "HITEC-70" font to a PRINTIT font.
________________________________________________________________________________
Other programs supplied with SETFONT:
=====================================
(ALTER.COM and SCRCHED.COM documented separately)
CONVERT.PL3
-----------
A Spectrum +3 program. Run by typing LOAD "CONVERT.PL3" from +3BASIC. It is
menu driven; the menu is like those in ALTER. Its purpose is to convert between
fonts and screen files, in case you prefer using a screen designer to edit your
font rather than ALTER.
The three main options are:
1) Screen to headed CP/M.
Will convert a font printed out on the screen to a CP/M type file which should
be loaded using the /Z option.
2) Any CP/M to screen.
Will convert a PCW or Spectrum type character set to a screen file. If you
loaded a PCW type set, the "small" character set will be either blank, or the
one you used last time. The option takes some time to get going but this is
entirely the fault of +3DOS and nothing to do with me.
3) +3DOS to screen.
Will convert a +3DOS font file to a screen file. For compatibility, this uses
the screen printout of the default character set. It asks for RESET.SCR but you
can use any character set as the base for this conversion. If you haven't got a
suitable screen to superimpose the +3DOS character set on, then you are given
the option of converting a CP/M character set to a background screen.
CONVERT.PL3 will only work on the Spectrum +3. To edit a character set as a
screen on a PCW, see note 9 below.
FONTSBR.BAS
-----------
A subroutine that runs under MALLARD BASIC. It should be MERGED with your
program - it occupies lines 40000-40200. The POKES that must be made before use
are listed in REM statements inside. It is useful if you only wish to redefine
one or two characters, or convert programs from other computers which use UDGs.
________________________________________________________________________________
Compatibility with other character set programs, and miscellaneous information:
===============================================================================
1. In general, programs (including ALTER.COM and SCRCHED.COM) don't like files
with headers, +3DOS type character sets, EMS files, or other unusual formats.
Load these with SETFONT first, if they are SETFONT formats, or with their own
program if they aren't, and save them as standard files using SETFONT. Fonts
in the PRINTIT (/F:P), STOP PRESS (/F:S) and MASTERPAINT (/F:C) formats should
only be used with their own programs or SETFONT.
2. As far as I know, the SETFONT suite are the only CP/M character set programs
that run on the Spectrum.
3. If you use character designers which don't save a 'plain' binary file, and
you want to use a SETFONT option on them (eg convert them to a PRINTIT font)
load the character set their way and save it with SETFONT.
4. SETFONT v1.0 had two support programs SELFLOAD.COM and PRINTFNT.COM. These
are now included as part of SETFONT.COM.
5. Some other programs only like fonts with a .UDG filetype.
6. The LocoScript 1 screen characters can be loaded or saved with the /F:E
option.
7. The LocoScript 2 and 3 screen characters are stored in the file SCRCHAR.JOY.
Its main character set can be loaded with SETFONT and the /F:+ option, but to
edit it you should use SCRCHED.COM (supplied with SETFONT v1.01). The
LocoScript 2/3 start-of-day files (JnnnLOCO.EMS) cannot be used with /F:E.
8. Editing a font as a screen on the PCW:
a. PCWDRAW (PCW-World G/103) picture files can be loaded by SETFONT.
b. Newsdesk International format files can be loaded by SETFONT.
c. .PCP (MasterPaint) or .SPC (Stop Press/MicroDesign) files can be loaded by
SETFONT but are inverted; load with /I.
d. .G (Fleet Street Editor) files should be loaded with the /I and /Z options
set.
In all of the above cases, the file saved by the program will be longer
than is required. Load it with SETFONT and resave to save memory.
Loading fonts into the programs:
a. PCWDRAW will load a font happily.
b. Stop Press will load the font as a canvas, but unless you save it from
SETFONT with /I it will appear in inverse video. The rest of the screen
will be filled with copies of bits of the font.
c. I don't know what the other programs mentioned above will do about loading
PCW fonts. You may have to use "Graphics Transfer" to change the fonts to
a recognisable format.
- * -
Spectrum +3 users:
I have said already that the +3DOS format file contains only those characters
which can be redefined under +3DOS. The Spectrum +3 manual at no point mentions
that it is possible to redefine characters other than the UDGs, although a hint
may be obtained from the description of the CHARS system variable (p195 of the
+3 manual). Some programs (like +3 PAW) come with a selection of fonts in this
format.
To load a +3DOS font, go to +3BASIC and type:
CLEAR 48383
LOAD "font.bin" CODE 48384
POKE 23606,0:POKE 23607,188
This unfortunately puts the top 16k of the computer off limits. This is
necessary since if the font is stored in banked memory, you cannot use the
+3BASIC editor. If you are confident that your program will never need the
attentions of the editor, begin it with:
1 CLEAR 64599
2 LOAD "font.bin" code 64600
3 POKE 23606,88
4 POKE 23607,252
To go back to using the standard font, use
POKE 23606,0:POKE 23607,60
________________________________________________________________________________
Technical information:
======================
Standard characters are bitmapped in the following format:
Byte 0 = top line.
Byte 1 = second line.
.
.
.
Byte 7 = last line.
The Spectrum +3 "small" characters use bits 7..3 only. Set bits 2..0 to 0.
PRINTIT characters have 16 lines, 0..15. When saving, SETFONT converts by
mapping the top line of the screen character onto the top two lines of the
PRINTIT character, the second line of the screen character onto lines 3 and 4
of the PRINTIT character, etc. When loading, SETFONT uses the odd-numbered
lines of the PRINTIT character to make up a screen character.
STOP PRESS characters are designed on a larger grid; the font is sent to the
top left-hand corner of this grid to create a small font similar in size to the
AMSTRAD or HITEC-70 typefaces.
MASTERPAINT characters are saved in a strange format. When saving, SETFONT
requires a file to modify (rather than generating a new one). This file should
usually be a copy of STANDARD.CAR.
SETFONT uses the USERF function in the BIOS jumpblock to determine which
computer it is resident in. It conforms to the CP/M 3 conditional batch system;
if there is an error (with 2 exceptions, listed below) it sends the "Failure"
code to the BDOS. If the next CCP line is preceded by a colon (:) it will not
be executed if SETFONT has failed.
The exceptions are:
1. "Requires Amstrad PCW/CPC or Spectrum +3." Since this could be called under
lower versions of CP/M, it is best not to use a CP/M 3 only call.
2. If the "delete (Y/N)?" question has been answered "No." The CCP prompt is
returned to but no failure code is sent.
GETERL users: SETFONT sends the following codes:
0000: OK.
FF01: Can't erase file.
FF02: File not found.
FF03: File too short.
FF04: General read error.
0005: The "Erase Y/N" question was answered "no."
FF06: General write error.
FF07: Wrong password entered.
FF08: Out of memory.
FF09: Couldn't find a font using the /F:E option.
FF0A: MasterPaint font was the wrong size.
Assembly of SETFONT.Z80:
------------------------
The program has been written to assemble with the Microsoft M80 assembler
(PCW World supply it on disc L/107). The .REL file produced needs no additional
modules to be linked with it.
- * -
Documentation by John Elliott, 21 March 1994. All trademarks acknowledged.