%OP%JUY
%OP%DECharacter Editor - Instructions
%CO:A,4,64%
%C%@T@


%JL%screen that are not part of the standard character set supplied 
with the machine. 

%JL%a complicated VDU statement, and exist separately from the 
%JR%normal ASCII characters.  Up to 64 may be held simultaneously. 
%JL%Uses for these include objects in games, foreign language 
%JL%characters, decorative borders and simple graphics.  These are 
%JL%all available without requiring the `patch', so that text and 
%JR%graphics can be mixed together and the programme run on an 
unexpanded machine.  


%JR%programmers by automating the process of calculating the codes 
%JL%required to define characters and also displaying the character 
%JR%at actual size as it is built up, pixel by pixel.  The codes 
%JL%must then be copied manually, as I have not included any method 
of "saving" them. 



%JL%I - INVERT,  which produces a reflection of the character about 
             
%JL%M - MIRROR,  which produces a reflection of the character about 

%JR%S - SHIFT.  The standard alpha-numeric characters are designed 






%JL%R - REVERSE.   This replaces each black pixel with a white one, 




%JR%C - CLEAR.  This clears the 8 x 6 grid, and all the codes are 


%JR%Q - QUIT - does just that, after giving you the option of 



%JL%one formed by several units.  The easiest way of doing this 
%JR%is  to draw out the design on squared paper and enter it one 
%JL%unit at a time.  These can then be allocated to a string, using 
CHR$(8) to CHR$(11) (cursor left, right, down and up) also.
%JR%To save on repeating long sequences of VDU statements newly- 
designed characters can be allocated to strings.


%JR%some techniques for mixing text and graphics.  It is easier to 
%JL%do this than write pages of boring notes for you to read. One 
program is ready to run, but requires a machine with a 128k RAM
%JR%pack, as a 32k machine will apparently only support 8 user-
%JR%defined characters.  (If this is the case try re-writing lines 
%JL%100-120 to define M$, N$, and O$ as " ".   This will spoil the 
design a bit, but at least the program will run.) 


%JR%graphic character, line 30 defines B$ as that character, and 
%JR%lines 80 - 100 print it repeatedly.   [Save the following lines 
%JL%from #B to RUN as plain text under the name "B" or "WALL.EXE", 
%JR%and execute the file to enter it into BASIC %H4%via%H4% the CLI.  
%JL%(Ensure that no program already exists in BASIC because the 
adding this new programme will wreck it!)]
#B
.J
   10 *NAME wall
   20 VDU1,138,61,70,4,4,63,32,32,32,63,4
   30 B$=CHR$(1)+CHR$(130)+CHR$(63)+CHR$(70)
   40 C$=CHR$(80)+CHR$(79)+CHR$(83)+CHR$(84)
   50 D$=CHR$(32)+CHR$(78)+CHR$(79)
   60 E$=CHR$(66)+CHR$(73)+CHR$(76)+CHR$(76)+CHR$(83)
   70 PRINT CHR$(1)+"3+BC"
   80 FOR I%PC%= 1TO751
   90   PRINT B$;
  100 NEXT I%PC%
  110 FOR I%PC%=1TO5
  120   PRINT TAB(30,I%PC%);SPC(5)
  130 NEXT I%PC%
  140 PRINT TAB(30,2);C$ 
  150 PRINT TAB(30,3);D$
  160 PRINT TAB(30,4);E$
  170 G$=GET$: IF G$=""THEN 180 ELSE VDU1,66: END
RUN
%CO:B,12,60%


%JR%BBC BASIC on the Z88 allows one to print characters on the 


%JL%These characters are defined by the programmer by means of








%JL%The %H1%%H2%USER - DEFINED  CHARACTER  EDITOR%H2%%H1%  is designed to aid 






Features of the program are -


a horizontal axis.

a vertical axis.

%JL%with the left column of pixels left white.  This is to stop 
%JR%adjacent characters touching.  A mirror image produced as 
%JL%above will have this blank column on the right side.  The 
%JR%`shift' facility restores it to the left, by moving each 
%JL%column one to the right,  and sticking the column which 
"falls off" the end back on the left.

and vice versa.
%JR%The effect of each of these instructions can be reversed by 
%JL%pressing the same key again (once for I, M, R and five 
times for S).

%JL%lost. You are given the opportunity to reconsider.("Are you
sure?").  Press Y to confirm your decision.

changing your mind.  As with `C', all codes will be erased.

%JL%How can larger shapes be drawn? The method is to construct 







%JL%I have written a couple of short programs to illustrate 








%JL%The shorter program is listed below.  Line 20 defines the 

%CO:C,12,48%%CO:D,12,36%%CO:E,12,24%%CO:F,12,12%