DefChar is a simple character definition program. You can manipulate the
character definitions in various ways.
On the display, you see the character set at the top. On the left is the
editing grid with the value of each line down the side. In the middle is
a menu of operations performed on the whole set, and on the right,
operations performed on the editing grid. The options in the menu are
selected by pressing either the upper case letter (middle menu) or the
indicated letter or character (right menu).
The cursor keys move the cursor around the editing grid. Holding Shift
down will scroll the grid. Pressing TAB or COPY flips the current bit.
Pressing 0 or 1 will reset or set the bit.
You can save the character set in two ways. Straight data, or as an
Archimedes BBC font file. The former just saves the eight bytes of each
definition one after the other. Saving as a Arch BBC font file puts the
whole VDU sequences. You can load either type of file. If you load a
straight data file, you are asked for the character to start loading at.
If the file would extend past character 255, the loading stops after
loading character 255. The saved character set can be loaded with *CLoad
and *CSave, either as transient commands or in the CharRom. Archimedes
BBC font files can also be loaded by *EXECing them (or *TYPEing or
You can press Return instead of P to Enter a definition into the character
The check character set option goes through the whole character set to see
if any have been duplicated.
You can also press * to do *-commands.
You can also use a mouse to control the program. The Archimedes mouse and
the AMX mouse are recognised. The *Mouse command provides an AMX mouse
driver so you can use a mouse without an AMX rom plugged in. On the
editing grid, the left mouse button sets bits, the middle button flips
bits, and the right button clears bits. Clicking at the edge of the grid
scrolls the grid in that direction. Clicking the left button on a
character in the character set at the top of the screen Gets that
character onto the grid. Clicking with the right button Puts the grid
definition into the character set. Clicking the left button over the
menus selects that menu option.
To define the whole character set, it needs to be exploded. On the Master
computer and with a second processor the character set is permanently
exploded. On the Electron, B and B+ the character set is by default
imploded. *FX20,6 explodes the character set, or the *Explode command.
*Explode is provided in the CharRom and as a transient command. The
transient command re-enters the current language after exploding the
character set to take into account the change in the value of PAGE. You
can put the *Explode command in a *EXEC sequence or on a function key if
you want to automatically do something after, eg:
10 *KEY 0 CH."Prog2"
30 *EXPLODE ON
The *FX138,0,128 enters function key 0 into the keyboard buffer.
The syntax of the *EXPLODE transient command is:
*EXPLODE just explodes the character set with *FX20,6, and re-enters
the current language.
*EXPLODE ON explodes the character set and re-enters the language, but,
on a BBC with no second processor, also puts some code on
the Break intercept vector, so that the character set is
re-exploded when Break is pressed.
*EXPLODE OFF implodes the character set with *FX20,0, and disables any
Break intercept code.
History of DefChar and DefIcon
Version 2.05, May 1993
DefChar loads font file if enough memory, instead of using BGET. This
significantly speeds up network operation. Version 1.00 already did this
Version 2.04, January 1993
Selects shadow screen mode to give more memory.
Version 2.03, October 1992
Added ability to use mouse to scroll editing grid.
Version 2.02, July 1992
Added a *POINTER 1 command so that Archimedes uses it's own pointer - it
looks much nicer than the little cross-hairs. In fact, this was the only
modification I had to make to DefChar and DefIcon to have them fully
working on the Archimedes.
Version 2.00, September 1991
Major re-write implementing all the functions in the Spectrum and Amstrad
versions. DefIcon re-written as a pure modification of DefChar.
Version 1.??, 1987
Initial version of DefIcon written, to edit Jet Set Willy sprites. This
version of DefIcon actually had more features than the contemporary
DefChar. However, the author then went to University and lost access to
BBCs for quite some time, and so a lot of work got delayed.
Version 1.00, 1985
Initial version of DefChar, written to define the character sets in the
CharRom. Only very simple editing allowed. In fact, some of the
character sets were initially defined using the Spectrum and Amstrad
Spectrum version of DefChar was a successful 'O' level Computer Studies
project. Three versions exist. One purely menu-based, one command based,
and one command-based modified to manipulate MEGAbasic character sets.
Amstrad version of DefChar written by Greg Heslington
Spectrum version of DefChar written by J.G.Harston