Home » CEEFAX disks » telesoftware11.adl » 02-12-88/FONTINF

02-12-88/FONTINF

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » CEEFAX disks » telesoftware11.adl
Filename: 02-12-88/FONTINF
Read OK:
File size: 18A9 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents






                                  (c) Roxeysoft / M.J.Rawlings 14-2-88



                             FONT MASTER


Font  Master  is  a  program  that  writes programs, you can use it to
define fonts or sprites and then  when  you  are  satisfied  with  the
result  it will write the nescesary VDU definitions in a basic program
and save it to disk.

Very little explanation is needed to use the program, as  instructions
are displayed on screen where nescessary. The same is not true for the
VDU  definitions  produced  by  the  program. Different BBC type Acorn
machines store the character definition codes in  different  areas  of
memory.   The  original  BBC  B  had  memory  allocated  for  only  32
characters, whereas the Master, Compact and Archimedes have space  for
all  224  redefinable characters. The problem is that on the old BBC B
this memory and the registers which control it are readily accessable,
whereas on the latest machines it is not. For  this  reason  the  Font
Master  program  does  not actually redefine any characters but merely
stores the codes needed to redefine,  and  displays  the  results.  On
running  the  program  will  display  the  current  state of character
definitions and on exit will leave the definitions as it  found  them,
unless you exit by pressing break or control + break.

If you have a Master or Compact or Archimedes little extra explanation
is  needed  as you can change fonts by simply using the VDU23 commands
produced by Font Master. The easiest way to incorporate them  in  your
own  program  is  to renumber them to line numbers higher than used by
your own program, *SPOOL the result then *EXEC them into place:-

                    RENUMBER 5000
                    *SPOOL MYFONT
                    LIST
                    *SPOOL
                    LOAD"MYPROG"
                    *EXEC MYFONT
                    SAVE"MYPROG2"

On the old BBC B if you define more than the  characters  224  to  255
then  you  will  have to get involved in allocating memory for storing
the codes. The reccomended Acorn method is to use *FX20 but this means
raising page  to  create  room,  if  you  wish  to  redefine  all  the
characters from 32 to 255 then you would have to raise page from &1900
to &1F00 unless, of course, you have a second processor.



















There  is  an  alternative  method  which  involves accessing the font
registers directly. These are stored at addresses &368 to &36E and are
used to point to the page in memory  where  the  character  codes  are
stored,  the  default  values for all these registers is &C. This does
not mean that all 224 codes are stored at &C00 because there is also a
register at &367 and bits 1 to 7 are used as flags to indicate whether
a block of characters has its font in ROM (bit=0) or RAM (bit=1) :-
     
                          Flag &367           Location Byte
     
     Character 32 to 63     bit 7                 &368 
     Character 64 to 95     bit 6                 &369
     Character 96 to 127    bit 5                 &36A
     Character 128 to 159   bit 4                 &36B
     Character 160 to 191   bit 3                 &36C
     Character 192 to 223   bit 2                 &36D
     Character 224 to 255   bit 1                 &36E

The flag byte has a default value of 15 meaning that characters 32  to
127  are  derived  from ROM and the rest from RAM. As only one page of
memory is allocated by Acorn the remaining 4 blocks of characters  all
obtain   their  definitons  from  the  same  font  and  are  therefore
identical. Redefining any character in a  block  automatically  resets
the  appropriate  bit  to  point  to  RAM, without allocating any more
memory, thereby overwriting any other codes  already  stored  in  page
&C00.

If  all this seems far too technical and hopelessly wasteful in memory
then dont worry there is a simple solution. It is possible to use  the
memory  allocated  for the disk operating system, providing you do not
intend to open more than one disk file at a time in your own  program.
Set  the  location  flags  for  characters 32 to 223 to point to pages
&1300 to &1800 :-

                    FOR X=0 TO 5:?(&368+X)=&13+X:NEXT

Then you are free to redefine all the characters from 32 to  255.  You
can  have  two  complete  new  fonts  of 96 characters plus 32 sprites
simultaneously stored in memory. By juggling  the  registers  you  can
switch instantly between your own two fonts and Acorn's original.

Redefine  characters 32 to 127 for font number one, use characters 128
to 223 for the second font leaving  224  to  255  for  any  additional
sprites.  Having  done  this you will find that your first font is the
current version,  switch  back  to  Acorn's  original  font  with  the
command:-

                    ?&367=15

Convert back to your own first font with the command:-

                    ?&367=127













Then you can change to font number two with the command:-

                    FOR X=0 TO 2:?(&368)=&16+X:NEXT

And back to the first font:-

                    FOR X=0 TO 2:?(&368)=&13+X:NEXT

Broadcast with the main FONT program is EXAMPLE, this is an example of
a  program  written  by the FONT program which is a long list of VDU23
statements all of which add up to two new  fonts  plus  a  few  useful
graphics  characters.  In  addition  I  have  added  a  few  lines  to
illustrate the technique of swopping fonts on a BBC B. If you  have  a
Master,  Compact  or  Archimedes  strip off lines 10 and 2270 to 2350.
Note that you cannot swop fonts in the same way on the newer  machines
as  the  font  data is not stored in main memory and the registers are
not applicable. On a Master, Compact or Archimedes you  will  have  to
use  VDU23  commands  to alter all the codes from 32 to 127 every time
you wish to change fonts. The old BEEB still has some advantages!

You can examine the complete fonts by running the EXAMPLE program  and
then immediately running the FONT program.

Font  Master  contains  no  non  Acorn  approved  techniques and so is
compatible with all BBC type machines.  The  only  customising  needed
will  be  to  change  line 400 to allow 10 character filenames for use
with the ADFS, this is clearly shown in the REM  statements  on  lines
410 and 420.
00000000  0d 0d 0d 0d 0d 0d 0d 20  20 20 20 20 20 20 20 20  |.......         |
00000010  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000020  20 20 20 20 20 20 20 20  20 28 63 29 20 52 6f 78  |         (c) Rox|
00000030  65 79 73 6f 66 74 20 2f  20 4d 2e 4a 2e 52 61 77  |eysoft / M.J.Raw|
00000040  6c 69 6e 67 73 20 31 34  2d 32 2d 38 38 0d 0d 0d  |lings 14-2-88...|
00000050  0d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000060  20 20 20 20 20 20 20 20  20 20 20 20 20 20 46 4f  |              FO|
00000070  4e 54 20 4d 41 53 54 45  52 0d 0d 0d 46 6f 6e 74  |NT MASTER...Font|
00000080  20 20 4d 61 73 74 65 72  20 20 69 73 20 20 61 20  |  Master  is  a |
00000090  20 70 72 6f 67 72 61 6d  20 20 74 68 61 74 20 20  | program  that  |
000000a0  77 72 69 74 65 73 20 70  72 6f 67 72 61 6d 73 2c  |writes programs,|
000000b0  20 79 6f 75 20 63 61 6e  20 75 73 65 20 69 74 20  | you can use it |
000000c0  74 6f 0d 64 65 66 69 6e  65 20 66 6f 6e 74 73 20  |to.define fonts |
000000d0  6f 72 20 73 70 72 69 74  65 73 20 61 6e 64 20 74  |or sprites and t|
000000e0  68 65 6e 20 20 77 68 65  6e 20 20 79 6f 75 20 20  |hen  when  you  |
000000f0  61 72 65 20 20 73 61 74  69 73 66 69 65 64 20 20  |are  satisfied  |
00000100  77 69 74 68 20 20 74 68  65 0d 72 65 73 75 6c 74  |with  the.result|
00000110  20 20 69 74 20 77 69 6c  6c 20 77 72 69 74 65 20  |  it will write |
00000120  74 68 65 20 6e 65 73 63  65 73 61 72 79 20 56 44  |the nescesary VD|
00000130  55 20 64 65 66 69 6e 69  74 69 6f 6e 73 20 69 6e  |U definitions in|
00000140  20 61 20 62 61 73 69 63  20 70 72 6f 67 72 61 6d  | a basic program|
00000150  0d 61 6e 64 20 73 61 76  65 20 69 74 20 74 6f 20  |.and save it to |
00000160  64 69 73 6b 2e 0d 0d 56  65 72 79 20 6c 69 74 74  |disk...Very litt|
00000170  6c 65 20 65 78 70 6c 61  6e 61 74 69 6f 6e 20 69  |le explanation i|
00000180  73 20 6e 65 65 64 65 64  20 74 6f 20 75 73 65 20  |s needed to use |
00000190  74 68 65 20 70 72 6f 67  72 61 6d 2c 20 61 73 20  |the program, as |
000001a0  20 69 6e 73 74 72 75 63  74 69 6f 6e 73 0d 61 72  | instructions.ar|
000001b0  65 20 64 69 73 70 6c 61  79 65 64 20 6f 6e 20 73  |e displayed on s|
000001c0  63 72 65 65 6e 20 77 68  65 72 65 20 6e 65 73 63  |creen where nesc|
000001d0  65 73 73 61 72 79 2e 20  54 68 65 20 73 61 6d 65  |essary. The same|
000001e0  20 69 73 20 6e 6f 74 20  74 72 75 65 20 66 6f 72  | is not true for|
000001f0  20 74 68 65 0d 56 44 55  20 20 64 65 66 69 6e 69  | the.VDU  defini|
00000200  74 69 6f 6e 73 20 20 70  72 6f 64 75 63 65 64 20  |tions  produced |
00000210  20 62 79 20 20 74 68 65  20 20 70 72 6f 67 72 61  | by  the  progra|
00000220  6d 2e 20 44 69 66 66 65  72 65 6e 74 20 42 42 43  |m. Different BBC|
00000230  20 74 79 70 65 20 41 63  6f 72 6e 0d 6d 61 63 68  | type Acorn.mach|
00000240  69 6e 65 73 20 73 74 6f  72 65 20 74 68 65 20 63  |ines store the c|
00000250  68 61 72 61 63 74 65 72  20 64 65 66 69 6e 69 74  |haracter definit|
00000260  69 6f 6e 20 63 6f 64 65  73 20 69 6e 20 20 64 69  |ion codes in  di|
00000270  66 66 65 72 65 6e 74 20  20 61 72 65 61 73 20 20  |fferent  areas  |
00000280  6f 66 0d 6d 65 6d 6f 72  79 2e 20 20 20 54 68 65  |of.memory.   The|
00000290  20 20 6f 72 69 67 69 6e  61 6c 20 20 42 42 43 20  |  original  BBC |
000002a0  20 42 20 20 68 61 64 20  20 6d 65 6d 6f 72 79 20  | B  had  memory |
000002b0  20 61 6c 6c 6f 63 61 74  65 64 20 20 66 6f 72 20  | allocated  for |
000002c0  20 6f 6e 6c 79 20 20 33  32 0d 63 68 61 72 61 63  | only  32.charac|
000002d0  74 65 72 73 2c 20 77 68  65 72 65 61 73 20 74 68  |ters, whereas th|
000002e0  65 20 4d 61 73 74 65 72  2c 20 43 6f 6d 70 61 63  |e Master, Compac|
000002f0  74 20 61 6e 64 20 41 72  63 68 69 6d 65 64 65 73  |t and Archimedes|
00000300  20 68 61 76 65 20 73 70  61 63 65 20 20 66 6f 72  | have space  for|
00000310  0d 61 6c 6c 20 20 32 32  34 20 20 72 65 64 65 66  |.all  224  redef|
00000320  69 6e 61 62 6c 65 20 63  68 61 72 61 63 74 65 72  |inable character|
00000330  73 2e 20 54 68 65 20 70  72 6f 62 6c 65 6d 20 69  |s. The problem i|
00000340  73 20 74 68 61 74 20 6f  6e 20 74 68 65 20 6f 6c  |s that on the ol|
00000350  64 20 42 42 43 20 42 0d  74 68 69 73 20 6d 65 6d  |d BBC B.this mem|
00000360  6f 72 79 20 61 6e 64 20  74 68 65 20 72 65 67 69  |ory and the regi|
00000370  73 74 65 72 73 20 77 68  69 63 68 20 63 6f 6e 74  |sters which cont|
00000380  72 6f 6c 20 69 74 20 61  72 65 20 72 65 61 64 69  |rol it are readi|
00000390  6c 79 20 61 63 63 65 73  73 61 62 6c 65 2c 0d 77  |ly accessable,.w|
000003a0  68 65 72 65 61 73 20 6f  6e 20 74 68 65 20 6c 61  |hereas on the la|
000003b0  74 65 73 74 20 6d 61 63  68 69 6e 65 73 20 69 74  |test machines it|
000003c0  20 69 73 20 6e 6f 74 2e  20 46 6f 72 20 20 74 68  | is not. For  th|
000003d0  69 73 20 20 72 65 61 73  6f 6e 20 20 74 68 65 20  |is  reason  the |
000003e0  20 46 6f 6e 74 0d 4d 61  73 74 65 72 20 20 70 72  | Font.Master  pr|
000003f0  6f 67 72 61 6d 20 20 64  6f 65 73 20 20 6e 6f 74  |ogram  does  not|
00000400  20 61 63 74 75 61 6c 6c  79 20 72 65 64 65 66 69  | actually redefi|
00000410  6e 65 20 61 6e 79 20 63  68 61 72 61 63 74 65 72  |ne any character|
00000420  73 20 62 75 74 20 6d 65  72 65 6c 79 0d 73 74 6f  |s but merely.sto|
00000430  72 65 73 20 74 68 65 20  63 6f 64 65 73 20 6e 65  |res the codes ne|
00000440  65 64 65 64 20 74 6f 20  72 65 64 65 66 69 6e 65  |eded to redefine|
00000450  2c 20 20 61 6e 64 20 20  64 69 73 70 6c 61 79 73  |,  and  displays|
00000460  20 20 74 68 65 20 20 72  65 73 75 6c 74 73 2e 20  |  the  results. |
00000470  20 4f 6e 0d 72 75 6e 6e  69 6e 67 20 20 74 68 65  | On.running  the|
00000480  20 20 70 72 6f 67 72 61  6d 20 20 77 69 6c 6c 20  |  program  will |
00000490  20 64 69 73 70 6c 61 79  20 20 74 68 65 20 20 63  | display  the  c|
000004a0  75 72 72 65 6e 74 20 20  73 74 61 74 65 20 6f 66  |urrent  state of|
000004b0  20 63 68 61 72 61 63 74  65 72 0d 64 65 66 69 6e  | character.defin|
000004c0  69 74 69 6f 6e 73 20 61  6e 64 20 6f 6e 20 65 78  |itions and on ex|
000004d0  69 74 20 77 69 6c 6c 20  6c 65 61 76 65 20 74 68  |it will leave th|
000004e0  65 20 64 65 66 69 6e 69  74 69 6f 6e 73 20 61 73  |e definitions as|
000004f0  20 69 74 20 20 66 6f 75  6e 64 20 20 74 68 65 6d  | it  found  them|
00000500  2c 0d 75 6e 6c 65 73 73  20 79 6f 75 20 65 78 69  |,.unless you exi|
00000510  74 20 62 79 20 70 72 65  73 73 69 6e 67 20 62 72  |t by pressing br|
00000520  65 61 6b 20 6f 72 20 63  6f 6e 74 72 6f 6c 20 2b  |eak or control +|
00000530  20 62 72 65 61 6b 2e 0d  0d 49 66 20 79 6f 75 20  | break...If you |
00000540  68 61 76 65 20 61 20 4d  61 73 74 65 72 20 6f 72  |have a Master or|
00000550  20 43 6f 6d 70 61 63 74  20 6f 72 20 41 72 63 68  | Compact or Arch|
00000560  69 6d 65 64 65 73 20 6c  69 74 74 6c 65 20 65 78  |imedes little ex|
00000570  74 72 61 20 65 78 70 6c  61 6e 61 74 69 6f 6e 0d  |tra explanation.|
00000580  69 73 20 20 6e 65 65 64  65 64 20 20 61 73 20 79  |is  needed  as y|
00000590  6f 75 20 63 61 6e 20 63  68 61 6e 67 65 20 66 6f  |ou can change fo|
000005a0  6e 74 73 20 62 79 20 73  69 6d 70 6c 79 20 75 73  |nts by simply us|
000005b0  69 6e 67 20 74 68 65 20  56 44 55 32 33 20 63 6f  |ing the VDU23 co|
000005c0  6d 6d 61 6e 64 73 0d 70  72 6f 64 75 63 65 64 20  |mmands.produced |
000005d0  62 79 20 46 6f 6e 74 20  4d 61 73 74 65 72 2e 20  |by Font Master. |
000005e0  54 68 65 20 65 61 73 69  65 73 74 20 77 61 79 20  |The easiest way |
000005f0  74 6f 20 69 6e 63 6f 72  70 6f 72 61 74 65 20 74  |to incorporate t|
00000600  68 65 6d 20 20 69 6e 20  20 79 6f 75 72 0d 6f 77  |hem  in  your.ow|
00000610  6e 20 20 70 72 6f 67 72  61 6d 20 20 69 73 20 20  |n  program  is  |
00000620  74 6f 20 72 65 6e 75 6d  62 65 72 20 74 68 65 6d  |to renumber them|
00000630  20 74 6f 20 6c 69 6e 65  20 6e 75 6d 62 65 72 73  | to line numbers|
00000640  20 68 69 67 68 65 72 20  74 68 61 6e 20 75 73 65  | higher than use|
00000650  64 20 62 79 0d 79 6f 75  72 20 6f 77 6e 20 70 72  |d by.your own pr|
00000660  6f 67 72 61 6d 2c 20 2a  53 50 4f 4f 4c 20 74 68  |ogram, *SPOOL th|
00000670  65 20 72 65 73 75 6c 74  20 74 68 65 6e 20 2a 45  |e result then *E|
00000680  58 45 43 20 74 68 65 6d  20 69 6e 74 6f 20 70 6c  |XEC them into pl|
00000690  61 63 65 3a 2d 0d 0d 20  20 20 20 20 20 20 20 20  |ace:-..         |
000006a0  20 20 20 20 20 20 20 20  20 20 20 52 45 4e 55 4d  |           RENUM|
000006b0  42 45 52 20 35 30 30 30  0d 20 20 20 20 20 20 20  |BER 5000.       |
000006c0  20 20 20 20 20 20 20 20  20 20 20 20 20 2a 53 50  |             *SP|
000006d0  4f 4f 4c 20 4d 59 46 4f  4e 54 0d 20 20 20 20 20  |OOL MYFONT.     |
000006e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4c  |               L|
000006f0  49 53 54 0d 20 20 20 20  20 20 20 20 20 20 20 20  |IST.            |
00000700  20 20 20 20 20 20 20 20  2a 53 50 4f 4f 4c 0d 20  |        *SPOOL. |
00000710  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000720  20 20 20 4c 4f 41 44 22  4d 59 50 52 4f 47 22 0d  |   LOAD"MYPROG".|
00000730  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000740  20 20 20 20 2a 45 58 45  43 20 4d 59 46 4f 4e 54  |    *EXEC MYFONT|
00000750  0d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000760  20 20 20 20 20 53 41 56  45 22 4d 59 50 52 4f 47  |     SAVE"MYPROG|
00000770  32 22 0d 0d 4f 6e 20 74  68 65 20 6f 6c 64 20 42  |2"..On the old B|
00000780  42 43 20 42 20 69 66 20  79 6f 75 20 64 65 66 69  |BC B if you defi|
00000790  6e 65 20 6d 6f 72 65 20  74 68 61 6e 20 74 68 65  |ne more than the|
000007a0  20 20 63 68 61 72 61 63  74 65 72 73 20 20 32 32  |  characters  22|
000007b0  34 20 20 74 6f 20 20 32  35 35 0d 74 68 65 6e 20  |4  to  255.then |
000007c0  20 79 6f 75 20 20 77 69  6c 6c 20 20 68 61 76 65  | you  will  have|
000007d0  20 74 6f 20 67 65 74 20  69 6e 76 6f 6c 76 65 64  | to get involved|
000007e0  20 69 6e 20 61 6c 6c 6f  63 61 74 69 6e 67 20 6d  | in allocating m|
000007f0  65 6d 6f 72 79 20 66 6f  72 20 73 74 6f 72 69 6e  |emory for storin|
00000800  67 0d 74 68 65 20 63 6f  64 65 73 2e 20 54 68 65  |g.the codes. The|
00000810  20 72 65 63 63 6f 6d 65  6e 64 65 64 20 41 63 6f  | reccomended Aco|
00000820  72 6e 20 6d 65 74 68 6f  64 20 69 73 20 74 6f 20  |rn method is to |
00000830  75 73 65 20 2a 46 58 32  30 20 62 75 74 20 74 68  |use *FX20 but th|
00000840  69 73 20 6d 65 61 6e 73  0d 72 61 69 73 69 6e 67  |is means.raising|
00000850  20 70 61 67 65 20 20 74  6f 20 20 63 72 65 61 74  | page  to  creat|
00000860  65 20 20 72 6f 6f 6d 2c  20 20 69 66 20 20 79 6f  |e  room,  if  yo|
00000870  75 20 20 77 69 73 68 20  20 74 6f 20 20 72 65 64  |u  wish  to  red|
00000880  65 66 69 6e 65 20 20 61  6c 6c 20 20 74 68 65 0d  |efine  all  the.|
00000890  63 68 61 72 61 63 74 65  72 73 20 66 72 6f 6d 20  |characters from |
000008a0  33 32 20 74 6f 20 32 35  35 20 74 68 65 6e 20 79  |32 to 255 then y|
000008b0  6f 75 20 77 6f 75 6c 64  20 68 61 76 65 20 74 6f  |ou would have to|
000008c0  20 72 61 69 73 65 20 70  61 67 65 20 66 72 6f 6d  | raise page from|
000008d0  20 26 31 39 30 30 0d 74  6f 20 26 31 46 30 30 20  | &1900.to &1F00 |
000008e0  75 6e 6c 65 73 73 2c 20  6f 66 20 63 6f 75 72 73  |unless, of cours|
000008f0  65 2c 20 79 6f 75 20 68  61 76 65 20 61 20 73 65  |e, you have a se|
00000900  63 6f 6e 64 20 70 72 6f  63 65 73 73 6f 72 2e 0d  |cond processor..|
00000910  0d 0d 0d 0d 0d 0d 0d 0d  0d 0d 0d 0d 0d 0d 0d 0d  |................|
00000920  0d 0d 0d 54 68 65 72 65  20 20 69 73 20 20 61 6e  |...There  is  an|
00000930  20 20 61 6c 74 65 72 6e  61 74 69 76 65 20 20 6d  |  alternative  m|
00000940  65 74 68 6f 64 20 20 77  68 69 63 68 20 20 69 6e  |ethod  which  in|
00000950  76 6f 6c 76 65 73 20 61  63 63 65 73 73 69 6e 67  |volves accessing|
00000960  20 74 68 65 20 66 6f 6e  74 0d 72 65 67 69 73 74  | the font.regist|
00000970  65 72 73 20 64 69 72 65  63 74 6c 79 2e 20 54 68  |ers directly. Th|
00000980  65 73 65 20 61 72 65 20  73 74 6f 72 65 64 20 61  |ese are stored a|
00000990  74 20 61 64 64 72 65 73  73 65 73 20 26 33 36 38  |t addresses &368|
000009a0  20 74 6f 20 26 33 36 45  20 61 6e 64 20 61 72 65  | to &36E and are|
000009b0  0d 75 73 65 64 20 74 6f  20 70 6f 69 6e 74 20 74  |.used to point t|
000009c0  6f 20 74 68 65 20 70 61  67 65 20 69 6e 20 6d 65  |o the page in me|
000009d0  6d 6f 72 79 20 20 77 68  65 72 65 20 20 74 68 65  |mory  where  the|
000009e0  20 20 63 68 61 72 61 63  74 65 72 20 20 63 6f 64  |  character  cod|
000009f0  65 73 20 20 61 72 65 0d  73 74 6f 72 65 64 2c 20  |es  are.stored, |
00000a00  20 74 68 65 20 20 64 65  66 61 75 6c 74 20 20 76  | the  default  v|
00000a10  61 6c 75 65 73 20 66 6f  72 20 61 6c 6c 20 74 68  |alues for all th|
00000a20  65 73 65 20 72 65 67 69  73 74 65 72 73 20 69 73  |ese registers is|
00000a30  20 26 43 2e 20 54 68 69  73 20 64 6f 65 73 0d 6e  | &C. This does.n|
00000a40  6f 74 20 6d 65 61 6e 20  74 68 61 74 20 61 6c 6c  |ot mean that all|
00000a50  20 32 32 34 20 63 6f 64  65 73 20 61 72 65 20 73  | 224 codes are s|
00000a60  74 6f 72 65 64 20 61 74  20 26 43 30 30 20 62 65  |tored at &C00 be|
00000a70  63 61 75 73 65 20 74 68  65 72 65 20 69 73 20 61  |cause there is a|
00000a80  6c 73 6f 20 61 0d 72 65  67 69 73 74 65 72 20 61  |lso a.register a|
00000a90  74 20 26 33 36 37 20 61  6e 64 20 62 69 74 73 20  |t &367 and bits |
00000aa0  31 20 74 6f 20 37 20 61  72 65 20 75 73 65 64 20  |1 to 7 are used |
00000ab0  61 73 20 66 6c 61 67 73  20 74 6f 20 69 6e 64 69  |as flags to indi|
00000ac0  63 61 74 65 20 77 68 65  74 68 65 72 0d 61 20 62  |cate whether.a b|
00000ad0  6c 6f 63 6b 20 6f 66 20  63 68 61 72 61 63 74 65  |lock of characte|
00000ae0  72 73 20 68 61 73 20 69  74 73 20 66 6f 6e 74 20  |rs has its font |
00000af0  69 6e 20 52 4f 4d 20 28  62 69 74 3d 30 29 20 6f  |in ROM (bit=0) o|
00000b00  72 20 52 41 4d 20 28 62  69 74 3d 31 29 20 3a 2d  |r RAM (bit=1) :-|
00000b10  0d 20 20 20 20 20 0d 20  20 20 20 20 20 20 20 20  |.     .         |
00000b20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000b30  20 46 6c 61 67 20 26 33  36 37 20 20 20 20 20 20  | Flag &367      |
00000b40  20 20 20 20 20 4c 6f 63  61 74 69 6f 6e 20 42 79  |     Location By|
00000b50  74 65 0d 20 20 20 20 20  0d 20 20 20 20 20 43 68  |te.     .     Ch|
00000b60  61 72 61 63 74 65 72 20  33 32 20 74 6f 20 36 33  |aracter 32 to 63|
00000b70  20 20 20 20 20 62 69 74  20 37 20 20 20 20 20 20  |     bit 7      |
00000b80  20 20 20 20 20 20 20 20  20 20 20 26 33 36 38 20  |           &368 |
00000b90  0d 20 20 20 20 20 43 68  61 72 61 63 74 65 72 20  |.     Character |
00000ba0  36 34 20 74 6f 20 39 35  20 20 20 20 20 62 69 74  |64 to 95     bit|
00000bb0  20 36 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | 6              |
00000bc0  20 20 20 26 33 36 39 0d  20 20 20 20 20 43 68 61  |   &369.     Cha|
00000bd0  72 61 63 74 65 72 20 39  36 20 74 6f 20 31 32 37  |racter 96 to 127|
00000be0  20 20 20 20 62 69 74 20  35 20 20 20 20 20 20 20  |    bit 5       |
00000bf0  20 20 20 20 20 20 20 20  20 20 26 33 36 41 0d 20  |          &36A. |
00000c00  20 20 20 20 43 68 61 72  61 63 74 65 72 20 31 32  |    Character 12|
00000c10  38 20 74 6f 20 31 35 39  20 20 20 62 69 74 20 34  |8 to 159   bit 4|
00000c20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000c30  20 26 33 36 42 0d 20 20  20 20 20 43 68 61 72 61  | &36B.     Chara|
00000c40  63 74 65 72 20 31 36 30  20 74 6f 20 31 39 31 20  |cter 160 to 191 |
00000c50  20 20 62 69 74 20 33 20  20 20 20 20 20 20 20 20  |  bit 3         |
00000c60  20 20 20 20 20 20 20 20  26 33 36 43 0d 20 20 20  |        &36C.   |
00000c70  20 20 43 68 61 72 61 63  74 65 72 20 31 39 32 20  |  Character 192 |
00000c80  74 6f 20 32 32 33 20 20  20 62 69 74 20 32 20 20  |to 223   bit 2  |
00000c90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 26  |               &|
00000ca0  33 36 44 0d 20 20 20 20  20 43 68 61 72 61 63 74  |36D.     Charact|
00000cb0  65 72 20 32 32 34 20 74  6f 20 32 35 35 20 20 20  |er 224 to 255   |
00000cc0  62 69 74 20 31 20 20 20  20 20 20 20 20 20 20 20  |bit 1           |
00000cd0  20 20 20 20 20 20 26 33  36 45 0d 0d 54 68 65 20  |      &36E..The |
00000ce0  66 6c 61 67 20 62 79 74  65 20 68 61 73 20 61 20  |flag byte has a |
00000cf0  64 65 66 61 75 6c 74 20  76 61 6c 75 65 20 6f 66  |default value of|
00000d00  20 31 35 20 6d 65 61 6e  69 6e 67 20 74 68 61 74  | 15 meaning that|
00000d10  20 63 68 61 72 61 63 74  65 72 73 20 33 32 20 20  | characters 32  |
00000d20  74 6f 0d 31 32 37 20 20  61 72 65 20 20 64 65 72  |to.127  are  der|
00000d30  69 76 65 64 20 20 66 72  6f 6d 20 52 4f 4d 20 61  |ived  from ROM a|
00000d40  6e 64 20 74 68 65 20 72  65 73 74 20 66 72 6f 6d  |nd the rest from|
00000d50  20 52 41 4d 2e 20 41 73  20 6f 6e 6c 79 20 6f 6e  | RAM. As only on|
00000d60  65 20 70 61 67 65 20 6f  66 0d 6d 65 6d 6f 72 79  |e page of.memory|
00000d70  20 69 73 20 61 6c 6c 6f  63 61 74 65 64 20 62 79  | is allocated by|
00000d80  20 41 63 6f 72 6e 20 74  68 65 20 72 65 6d 61 69  | Acorn the remai|
00000d90  6e 69 6e 67 20 34 20 62  6c 6f 63 6b 73 20 6f 66  |ning 4 blocks of|
00000da0  20 63 68 61 72 61 63 74  65 72 73 20 20 61 6c 6c  | characters  all|
00000db0  0d 6f 62 74 61 69 6e 20  20 20 74 68 65 69 72 20  |.obtain   their |
00000dc0  20 64 65 66 69 6e 69 74  6f 6e 73 20 20 66 72 6f  | definitons  fro|
00000dd0  6d 20 20 74 68 65 20 20  73 61 6d 65 20 20 66 6f  |m  the  same  fo|
00000de0  6e 74 20 20 61 6e 64 20  20 61 72 65 20 20 74 68  |nt  and  are  th|
00000df0  65 72 65 66 6f 72 65 0d  69 64 65 6e 74 69 63 61  |erefore.identica|
00000e00  6c 2e 20 52 65 64 65 66  69 6e 69 6e 67 20 61 6e  |l. Redefining an|
00000e10  79 20 63 68 61 72 61 63  74 65 72 20 69 6e 20 61  |y character in a|
00000e20  20 20 62 6c 6f 63 6b 20  20 61 75 74 6f 6d 61 74  |  block  automat|
00000e30  69 63 61 6c 6c 79 20 20  72 65 73 65 74 73 0d 74  |ically  resets.t|
00000e40  68 65 20 20 61 70 70 72  6f 70 72 69 61 74 65 20  |he  appropriate |
00000e50  20 62 69 74 20 20 74 6f  20 20 70 6f 69 6e 74 20  | bit  to  point |
00000e60  20 74 6f 20 20 52 41 4d  2c 20 77 69 74 68 6f 75  | to  RAM, withou|
00000e70  74 20 61 6c 6c 6f 63 61  74 69 6e 67 20 61 6e 79  |t allocating any|
00000e80  20 6d 6f 72 65 0d 6d 65  6d 6f 72 79 2c 20 74 68  | more.memory, th|
00000e90  65 72 65 62 79 20 6f 76  65 72 77 72 69 74 69 6e  |ereby overwritin|
00000ea0  67 20 61 6e 79 20 6f 74  68 65 72 20 63 6f 64 65  |g any other code|
00000eb0  73 20 20 61 6c 72 65 61  64 79 20 20 73 74 6f 72  |s  already  stor|
00000ec0  65 64 20 20 69 6e 20 20  70 61 67 65 0d 26 43 30  |ed  in  page.&C0|
00000ed0  30 2e 0d 0d 49 66 20 20  61 6c 6c 20 74 68 69 73  |0...If  all this|
00000ee0  20 73 65 65 6d 73 20 66  61 72 20 74 6f 6f 20 74  | seems far too t|
00000ef0  65 63 68 6e 69 63 61 6c  20 61 6e 64 20 68 6f 70  |echnical and hop|
00000f00  65 6c 65 73 73 6c 79 20  77 61 73 74 65 66 75 6c  |elessly wasteful|
00000f10  20 69 6e 20 6d 65 6d 6f  72 79 0d 74 68 65 6e 20  | in memory.then |
00000f20  64 6f 6e 74 20 77 6f 72  72 79 20 74 68 65 72 65  |dont worry there|
00000f30  20 69 73 20 61 20 73 69  6d 70 6c 65 20 73 6f 6c  | is a simple sol|
00000f40  75 74 69 6f 6e 2e 20 49  74 20 69 73 20 70 6f 73  |ution. It is pos|
00000f50  73 69 62 6c 65 20 74 6f  20 75 73 65 20 20 74 68  |sible to use  th|
00000f60  65 0d 6d 65 6d 6f 72 79  20 20 61 6c 6c 6f 63 61  |e.memory  alloca|
00000f70  74 65 64 20 20 66 6f 72  20 74 68 65 20 64 69 73  |ted  for the dis|
00000f80  6b 20 6f 70 65 72 61 74  69 6e 67 20 73 79 73 74  |k operating syst|
00000f90  65 6d 2c 20 70 72 6f 76  69 64 69 6e 67 20 79 6f  |em, providing yo|
00000fa0  75 20 64 6f 20 6e 6f 74  0d 69 6e 74 65 6e 64 20  |u do not.intend |
00000fb0  74 6f 20 6f 70 65 6e 20  6d 6f 72 65 20 74 68 61  |to open more tha|
00000fc0  6e 20 6f 6e 65 20 64 69  73 6b 20 66 69 6c 65 20  |n one disk file |
00000fd0  61 74 20 61 20 74 69 6d  65 20 69 6e 20 79 6f 75  |at a time in you|
00000fe0  72 20 6f 77 6e 20 20 70  72 6f 67 72 61 6d 2e 0d  |r own  program..|
00000ff0  53 65 74 20 20 74 68 65  20 20 6c 6f 63 61 74 69  |Set  the  locati|
00001000  6f 6e 20 20 66 6c 61 67  73 20 20 66 6f 72 20 20  |on  flags  for  |
00001010  63 68 61 72 61 63 74 65  72 73 20 33 32 20 74 6f  |characters 32 to|
00001020  20 32 32 33 20 74 6f 20  70 6f 69 6e 74 20 74 6f  | 223 to point to|
00001030  20 70 61 67 65 73 0d 26  31 33 30 30 20 74 6f 20  | pages.&1300 to |
00001040  26 31 38 30 30 20 3a 2d  0d 0d 20 20 20 20 20 20  |&1800 :-..      |
00001050  20 20 20 20 20 20 20 20  20 20 20 20 20 20 46 4f  |              FO|
00001060  52 20 58 3d 30 20 54 4f  20 35 3a 3f 28 26 33 36  |R X=0 TO 5:?(&36|
00001070  38 2b 58 29 3d 26 31 33  2b 58 3a 4e 45 58 54 0d  |8+X)=&13+X:NEXT.|
00001080  0d 54 68 65 6e 20 79 6f  75 20 61 72 65 20 66 72  |.Then you are fr|
00001090  65 65 20 74 6f 20 72 65  64 65 66 69 6e 65 20 61  |ee to redefine a|
000010a0  6c 6c 20 74 68 65 20 63  68 61 72 61 63 74 65 72  |ll the character|
000010b0  73 20 66 72 6f 6d 20 33  32 20 74 6f 20 20 32 35  |s from 32 to  25|
000010c0  35 2e 20 20 59 6f 75 0d  63 61 6e 20 20 68 61 76  |5.  You.can  hav|
000010d0  65 20 20 74 77 6f 20 20  63 6f 6d 70 6c 65 74 65  |e  two  complete|
000010e0  20 20 6e 65 77 20 20 66  6f 6e 74 73 20 20 6f 66  |  new  fonts  of|
000010f0  20 39 36 20 63 68 61 72  61 63 74 65 72 73 20 70  | 96 characters p|
00001100  6c 75 73 20 33 32 20 73  70 72 69 74 65 73 0d 73  |lus 32 sprites.s|
00001110  69 6d 75 6c 74 61 6e 65  6f 75 73 6c 79 20 73 74  |imultaneously st|
00001120  6f 72 65 64 20 69 6e 20  6d 65 6d 6f 72 79 2e 20  |ored in memory. |
00001130  42 79 20 6a 75 67 67 6c  69 6e 67 20 20 74 68 65  |By juggling  the|
00001140  20 20 72 65 67 69 73 74  65 72 73 20 20 79 6f 75  |  registers  you|
00001150  20 20 63 61 6e 0d 73 77  69 74 63 68 20 69 6e 73  |  can.switch ins|
00001160  74 61 6e 74 6c 79 20 62  65 74 77 65 65 6e 20 79  |tantly between y|
00001170  6f 75 72 20 6f 77 6e 20  74 77 6f 20 66 6f 6e 74  |our own two font|
00001180  73 20 61 6e 64 20 41 63  6f 72 6e 27 73 20 6f 72  |s and Acorn's or|
00001190  69 67 69 6e 61 6c 2e 0d  0d 52 65 64 65 66 69 6e  |iginal...Redefin|
000011a0  65 20 20 63 68 61 72 61  63 74 65 72 73 20 33 32  |e  characters 32|
000011b0  20 74 6f 20 31 32 37 20  66 6f 72 20 66 6f 6e 74  | to 127 for font|
000011c0  20 6e 75 6d 62 65 72 20  6f 6e 65 2c 20 75 73 65  | number one, use|
000011d0  20 63 68 61 72 61 63 74  65 72 73 20 31 32 38 0d  | characters 128.|
000011e0  74 6f 20 32 32 33 20 66  6f 72 20 74 68 65 20 73  |to 223 for the s|
000011f0  65 63 6f 6e 64 20 66 6f  6e 74 20 6c 65 61 76 69  |econd font leavi|
00001200  6e 67 20 20 32 32 34 20  20 74 6f 20 20 32 35 35  |ng  224  to  255|
00001210  20 20 66 6f 72 20 20 61  6e 79 20 20 61 64 64 69  |  for  any  addi|
00001220  74 69 6f 6e 61 6c 0d 73  70 72 69 74 65 73 2e 20  |tional.sprites. |
00001230  20 48 61 76 69 6e 67 20  20 64 6f 6e 65 20 20 74  | Having  done  t|
00001240  68 69 73 20 79 6f 75 20  77 69 6c 6c 20 66 69 6e  |his you will fin|
00001250  64 20 74 68 61 74 20 79  6f 75 72 20 66 69 72 73  |d that your firs|
00001260  74 20 66 6f 6e 74 20 69  73 20 74 68 65 0d 63 75  |t font is the.cu|
00001270  72 72 65 6e 74 20 76 65  72 73 69 6f 6e 2c 20 20  |rrent version,  |
00001280  73 77 69 74 63 68 20 20  62 61 63 6b 20 20 74 6f  |switch  back  to|
00001290  20 20 41 63 6f 72 6e 27  73 20 20 6f 72 69 67 69  |  Acorn's  origi|
000012a0  6e 61 6c 20 20 66 6f 6e  74 20 20 77 69 74 68 20  |nal  font  with |
000012b0  20 74 68 65 0d 63 6f 6d  6d 61 6e 64 3a 2d 0d 0d  | the.command:-..|
000012c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000012d0  20 20 20 20 3f 26 33 36  37 3d 31 35 0d 0d 43 6f  |    ?&367=15..Co|
000012e0  6e 76 65 72 74 20 62 61  63 6b 20 74 6f 20 79 6f  |nvert back to yo|
000012f0  75 72 20 6f 77 6e 20 66  69 72 73 74 20 66 6f 6e  |ur own first fon|
00001300  74 20 77 69 74 68 20 74  68 65 20 63 6f 6d 6d 61  |t with the comma|
00001310  6e 64 3a 2d 0d 0d 20 20  20 20 20 20 20 20 20 20  |nd:-..          |
00001320  20 20 20 20 20 20 20 20  20 20 3f 26 33 36 37 3d  |          ?&367=|
00001330  31 32 37 0d 0d 0d 0d 0d  0d 0d 0d 0d 0d 0d 0d 0d  |127.............|
00001340  0d 54 68 65 6e 20 79 6f  75 20 63 61 6e 20 63 68  |.Then you can ch|
00001350  61 6e 67 65 20 74 6f 20  66 6f 6e 74 20 6e 75 6d  |ange to font num|
00001360  62 65 72 20 74 77 6f 20  77 69 74 68 20 74 68 65  |ber two with the|
00001370  20 63 6f 6d 6d 61 6e 64  3a 2d 0d 0d 20 20 20 20  | command:-..    |
00001380  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001390  46 4f 52 20 58 3d 30 20  54 4f 20 32 3a 3f 28 26  |FOR X=0 TO 2:?(&|
000013a0  33 36 38 29 3d 26 31 36  2b 58 3a 4e 45 58 54 0d  |368)=&16+X:NEXT.|
000013b0  0d 41 6e 64 20 62 61 63  6b 20 74 6f 20 74 68 65  |.And back to the|
000013c0  20 66 69 72 73 74 20 66  6f 6e 74 3a 2d 0d 0d 20  | first font:-.. |
000013d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000013e0  20 20 20 46 4f 52 20 58  3d 30 20 54 4f 20 32 3a  |   FOR X=0 TO 2:|
000013f0  3f 28 26 33 36 38 29 3d  26 31 33 2b 58 3a 4e 45  |?(&368)=&13+X:NE|
00001400  58 54 0d 0d 42 72 6f 61  64 63 61 73 74 20 77 69  |XT..Broadcast wi|
00001410  74 68 20 74 68 65 20 6d  61 69 6e 20 46 4f 4e 54  |th the main FONT|
00001420  20 70 72 6f 67 72 61 6d  20 69 73 20 45 58 41 4d  | program is EXAM|
00001430  50 4c 45 2c 20 74 68 69  73 20 69 73 20 61 6e 20  |PLE, this is an |
00001440  65 78 61 6d 70 6c 65 20  6f 66 0d 61 20 20 70 72  |example of.a  pr|
00001450  6f 67 72 61 6d 20 20 77  72 69 74 74 65 6e 20 20  |ogram  written  |
00001460  62 79 20 74 68 65 20 46  4f 4e 54 20 70 72 6f 67  |by the FONT prog|
00001470  72 61 6d 20 77 68 69 63  68 20 69 73 20 61 20 6c  |ram which is a l|
00001480  6f 6e 67 20 6c 69 73 74  20 6f 66 20 56 44 55 32  |ong list of VDU2|
00001490  33 0d 73 74 61 74 65 6d  65 6e 74 73 20 61 6c 6c  |3.statements all|
000014a0  20 6f 66 20 77 68 69 63  68 20 61 64 64 20 75 70  | of which add up|
000014b0  20 74 6f 20 74 77 6f 20  6e 65 77 20 20 66 6f 6e  | to two new  fon|
000014c0  74 73 20 20 70 6c 75 73  20 20 61 20 20 66 65 77  |ts  plus  a  few|
000014d0  20 20 75 73 65 66 75 6c  0d 67 72 61 70 68 69 63  |  useful.graphic|
000014e0  73 20 20 63 68 61 72 61  63 74 65 72 73 2e 20 20  |s  characters.  |
000014f0  49 6e 20 20 61 64 64 69  74 69 6f 6e 20 20 49 20  |In  addition  I |
00001500  20 68 61 76 65 20 20 61  64 64 65 64 20 20 61 20  | have  added  a |
00001510  20 66 65 77 20 20 6c 69  6e 65 73 20 20 74 6f 0d  | few  lines  to.|
00001520  69 6c 6c 75 73 74 72 61  74 65 20 74 68 65 20 74  |illustrate the t|
00001530  65 63 68 6e 69 71 75 65  20 6f 66 20 73 77 6f 70  |echnique of swop|
00001540  70 69 6e 67 20 66 6f 6e  74 73 20 6f 6e 20 61 20  |ping fonts on a |
00001550  42 42 43 20 42 2e 20 49  66 20 79 6f 75 20 20 68  |BBC B. If you  h|
00001560  61 76 65 20 20 61 0d 4d  61 73 74 65 72 2c 20 20  |ave  a.Master,  |
00001570  43 6f 6d 70 61 63 74 20  20 6f 72 20 20 41 72 63  |Compact  or  Arc|
00001580  68 69 6d 65 64 65 73 20  20 73 74 72 69 70 20 6f  |himedes  strip o|
00001590  66 66 20 6c 69 6e 65 73  20 31 30 20 61 6e 64 20  |ff lines 10 and |
000015a0  32 32 37 30 20 74 6f 20  32 33 35 30 2e 0d 4e 6f  |2270 to 2350..No|
000015b0  74 65 20 74 68 61 74 20  79 6f 75 20 63 61 6e 6e  |te that you cann|
000015c0  6f 74 20 73 77 6f 70 20  66 6f 6e 74 73 20 69 6e  |ot swop fonts in|
000015d0  20 74 68 65 20 73 61 6d  65 20 77 61 79 20 6f 6e  | the same way on|
000015e0  20 74 68 65 20 6e 65 77  65 72 20 20 6d 61 63 68  | the newer  mach|
000015f0  69 6e 65 73 0d 61 73 20  20 74 68 65 20 20 66 6f  |ines.as  the  fo|
00001600  6e 74 20 20 64 61 74 61  20 69 73 20 6e 6f 74 20  |nt  data is not |
00001610  73 74 6f 72 65 64 20 69  6e 20 6d 61 69 6e 20 6d  |stored in main m|
00001620  65 6d 6f 72 79 20 61 6e  64 20 74 68 65 20 72 65  |emory and the re|
00001630  67 69 73 74 65 72 73 20  61 72 65 0d 6e 6f 74 20  |gisters are.not |
00001640  61 70 70 6c 69 63 61 62  6c 65 2e 20 4f 6e 20 61  |applicable. On a|
00001650  20 4d 61 73 74 65 72 2c  20 43 6f 6d 70 61 63 74  | Master, Compact|
00001660  20 6f 72 20 41 72 63 68  69 6d 65 64 65 73 20 79  | or Archimedes y|
00001670  6f 75 20 20 77 69 6c 6c  20 20 68 61 76 65 20 20  |ou  will  have  |
00001680  74 6f 0d 75 73 65 20 20  56 44 55 32 33 20 20 63  |to.use  VDU23  c|
00001690  6f 6d 6d 61 6e 64 73 20  20 74 6f 20 61 6c 74 65  |ommands  to alte|
000016a0  72 20 61 6c 6c 20 74 68  65 20 63 6f 64 65 73 20  |r all the codes |
000016b0  66 72 6f 6d 20 33 32 20  74 6f 20 31 32 37 20 65  |from 32 to 127 e|
000016c0  76 65 72 79 20 74 69 6d  65 0d 79 6f 75 20 77 69  |very time.you wi|
000016d0  73 68 20 74 6f 20 63 68  61 6e 67 65 20 66 6f 6e  |sh to change fon|
000016e0  74 73 2e 20 54 68 65 20  6f 6c 64 20 42 45 45 42  |ts. The old BEEB|
000016f0  20 73 74 69 6c 6c 20 68  61 73 20 73 6f 6d 65 20  | still has some |
00001700  61 64 76 61 6e 74 61 67  65 73 21 0d 0d 59 6f 75  |advantages!..You|
00001710  20 63 61 6e 20 65 78 61  6d 69 6e 65 20 74 68 65  | can examine the|
00001720  20 63 6f 6d 70 6c 65 74  65 20 66 6f 6e 74 73 20  | complete fonts |
00001730  62 79 20 72 75 6e 6e 69  6e 67 20 74 68 65 20 45  |by running the E|
00001740  58 41 4d 50 4c 45 20 70  72 6f 67 72 61 6d 20 20  |XAMPLE program  |
00001750  61 6e 64 0d 74 68 65 6e  20 69 6d 6d 65 64 69 61  |and.then immedia|
00001760  74 65 6c 79 20 72 75 6e  6e 69 6e 67 20 74 68 65  |tely running the|
00001770  20 46 4f 4e 54 20 70 72  6f 67 72 61 6d 2e 0d 0d  | FONT program...|
00001780  46 6f 6e 74 20 20 4d 61  73 74 65 72 20 20 63 6f  |Font  Master  co|
00001790  6e 74 61 69 6e 73 20 20  6e 6f 20 20 6e 6f 6e 20  |ntains  no  non |
000017a0  20 41 63 6f 72 6e 20 20  61 70 70 72 6f 76 65 64  | Acorn  approved|
000017b0  20 20 74 65 63 68 6e 69  71 75 65 73 20 61 6e 64  |  techniques and|
000017c0  20 73 6f 20 69 73 0d 63  6f 6d 70 61 74 69 62 6c  | so is.compatibl|
000017d0  65 20 77 69 74 68 20 61  6c 6c 20 42 42 43 20 74  |e with all BBC t|
000017e0  79 70 65 20 6d 61 63 68  69 6e 65 73 2e 20 20 54  |ype machines.  T|
000017f0  68 65 20 20 6f 6e 6c 79  20 20 63 75 73 74 6f 6d  |he  only  custom|
00001800  69 73 69 6e 67 20 20 6e  65 65 64 65 64 0d 77 69  |ising  needed.wi|
00001810  6c 6c 20 20 62 65 20 20  74 6f 20 20 63 68 61 6e  |ll  be  to  chan|
00001820  67 65 20 20 6c 69 6e 65  20 34 30 30 20 74 6f 20  |ge  line 400 to |
00001830  61 6c 6c 6f 77 20 31 30  20 63 68 61 72 61 63 74  |allow 10 charact|
00001840  65 72 20 66 69 6c 65 6e  61 6d 65 73 20 66 6f 72  |er filenames for|
00001850  20 75 73 65 0d 77 69 74  68 20 74 68 65 20 41 44  | use.with the AD|
00001860  46 53 2c 20 74 68 69 73  20 69 73 20 63 6c 65 61  |FS, this is clea|
00001870  72 6c 79 20 73 68 6f 77  6e 20 69 6e 20 74 68 65  |rly shown in the|
00001880  20 52 45 4d 20 20 73 74  61 74 65 6d 65 6e 74 73  | REM  statements|
00001890  20 20 6f 6e 20 20 6c 69  6e 65 73 0d 34 31 30 20  |  on  lines.410 |
000018a0  61 6e 64 20 34 32 30 2e  0d                       |and 420..|
000018a9
02-12-88/FONTINF.m0
02-12-88/FONTINF.m1
02-12-88/FONTINF.m2
02-12-88/FONTINF.m4
02-12-88/FONTINF.m5