home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Archive Magazine 1997
/
ARCHIVE_97.iso
/
text
/
hints
/
vol_02
/
issue_08
< prev
next >
Wrap
Text File
|
1995-02-16
|
27KB
|
816 lines
Å Floppy programs on hard discs Ö Hereæs the best method Iæve come
across of getting floppy programs to run on a HD machine. You need two
FFF type files (or Obey if you want) One called ÉFloppyæ should contain:
2.8
*CON. Drive 0
2.8
*CON. NoBoot
2.8
The other called Hard should be:
2.8
*CON. Drive 4
2.8
*CON. Boot
2.8
If you put these in the library you can then
2.8
*Floppy
2.8
<ctrl-break>
2.8
<shift-break>
2.8
do whatever else
2.8
<ctrl-break>
2.8
*DIR :4
2.8
*hard
2.8
<ctrl-break>
2.8
(This assumes you have a !Boot on your hard disc.) Martyn Lovell
2.8
Å Head alignment problems? Ö If you are getting disc errors and
suspect that the problem might be head alignment, one way of confirming
this is to use the disc copier program that you will find on Share-ware
N╝2. The program does a check of the whole disc to find bad sectors. If
one of the heads is misal-igned, you will probably find that all the bad
sectors reported are on one or other of the heads. Then itæs time to
take it off to your local dealer for repair.
2.8
Å Hearsay Ö If you need to change modem baud rates with ATB3 or ATB0
after calling one remote system and before calling another, you can do
so by using a dial prefix in the modem driver edit screen by putting
öATB3Dò or öATB0Dò as appropriate.
2.8
Å Matrix Procedures and Functions Ö This was prompted by Steve Drainæs
article in Archive 2.1 p.17 where he stated that a numerical method for
the inverse of a square matrix needs a good guess of the inverse and
uses the transposed matrix as a starting point. His excellent program
has been timed to invert a 20 x 20 matrix to 1 part in 10^9 in approx-
imately 10 seconds.
2.8
A good guess or even a desirable result can be ob-tained by a procedure
described below. It calculates an inverse of 20x20 matrix in about 280
centisec-onds giving an error in the non-diagonal elements of the
identity matrix of less than 1 part in 10^6.
2.8
The method used is based on the following. The matrix M to be inverted
is premultiplied by its transposed MÉ, giving MæM. The result is
decomposed in a lower triangular matrix L satisfying the identity
LLæ=MæM. Then I, which is the inverse of L, can be determined in a
straight forward way. Matrix IæI thus equals the inverse of MæM, and
finally IæIMÉ gives the result wanted. This is correct as can be seen
when premultiplying a vector x by M giving a vector v, and solving for
x.
2.8
Mx=v ==> MæMx=Mæv==> LLæx=Mæv ==> IæILLæx=IæIMæv ==> x=IæIMæv
2.8
In fact, this is the least square solution for vector x, i.e. r
equations with c unknown variables ( r>=c ) are solved using the
criterium that the sum of the squares of the deviations to a solution of
vector x obtains a minimal value.
2.8
The program presented below uses PROC lst_sq_inv to determine the
Éinverseæ Mi of any matrix M. If M is a square matrix then MiM = E and
also MMi = E, E being the identity matrix. As an Éextraæ, the determi
nant of the square matrix M can easily be calculated. To my knowledge
the method is numerically very stable.
2.8
10 REM >Matrix_Inv
2.8
20 :
2.8
30 *********************************
2.8
40 REM Inverting an arbitrary matrix
2.8
50 REM E.D. Engelhardt, March 1989
2.8
60 *********************************
2.8
70 :
2.8
80 REM *** Generate random matrix M,
2.8
col% columns and row% rows
2.8
90 CLS
2.8
100 PRINTÉö Inverting an arbitrary
2.8
matrixöÉ
2.8
110 REPEAT:INPUTö Rows :
2.8
örow%:UNTIL row%>0
2.8
120 REPEAT:INPUTö Columns <= rows :
2.8
öcol%:UNTIL col%<=row% AND col%>0
2.8
130 CLS:PRINTÉö Rows : òSTR$row%
2.8
Éö Columns : òSTR$col%
2.8
140 row%-=1:col%-=1
2.8
150 DIM M(row%,col%)
2.8
160 FOR r%=0TOrow%:FOR c%=0TOcol%:
2.8
M(r%,c%)=RND(1)*SGN(0.5-RND(1)) :NEXT:NEXT
2.8
170 :
2.8
180 start%=TIME
2.8
190 :
2.8
200 REM Determine the Éleast squareæ
2.8
inverse Mi of M. Result : Mi.M is equal to the identity matrix E.
2.8
If rows = cols also M.Mi = E.
2.8
210 :
2.8
220 DIM Mi(col%,row%):PROClst_sq_inv
2.8
(M(),Mi())
2.8
230 end%=TIME
2.8
240 :
2.8
250 PRINTÉö Time(centisecs) : ò;
2.8
STR$(end%-start%)Éæ
2.8
260 :
2.8
270 PROCprint
2.8
280 END
2.8
290 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-300 DEFPROClst_sq_inv(R(),Ri())
2.8
310 REM Ri is Éleast squareæ inverse
2.8
of R, i.e. Ri.R = E (identity matrix). If rows = cols
also
2.8
R.Ri = E.
2.8
320 REM Dimensions R(v%,h%),Ri(h%,v%)
2.8
==> v% : rows , h% : columns
2.8
330 REM E.D. Engelhardt, March 1989
2.8
340 :
2.8
350 LOCAL RtR(),L(),I(),v%,h%,c%,r%,t%
2.8
360 v%=DIM(R(),1):h%=DIM(R(),2)
2.8
370 DIM RtR(h%,h%),L(h%,h%),I(h%,h%)
2.8
380 :
2.8
390 REM Determine transpose of R
2.8
400 FOR r%=0 TO v%:FOR c%=0 TO h%:
2.8
Ri(c%,r%)=R(r%,c%):NEXT:NEXT
2.8
410 :
2.8
420 REM Calculate square matrix to be
2.8
inverted
2.8
430 RtR()=Ri().R()
2.8
440 :
2.8
450 REM Calc lower triangle L of RtR
2.8
460 FOR c%=0 TO h%:FOR r%=c% TO h%
2.8
470 L(r%,c%)=RtR(r%,c%):t%=c%-1
2.8
480 IF t%>=0 FOR t%=t%TO0STEP-1:
2.8
L(r%,c%)=L(r%,c%)-L(r%,t%)*
2.8
L(c%,t%):NEXT
2.8
490 IF r%>c% THEN L(r%,c%)=L(r%,c%)
2.8
/L(c%,c%) ELSE L(r%,c%)=SQR L(r%,c%)
2.8
500 NEXT:NEXT
2.8
510 :
2.8
520 REM If R is square (rows = cols)
2.8
its determinant equals the product of the diagonal elements of L. The
determinant of RtR equals the
2.8
square of the determinant of L.
2.8
530 :
2.8
540 REM Invert triang matrix L to I
2.8
550 FOR c%=0 TO h%:FOR r%=c% TO h%
2.8
560 FOR t%=c% TO r%-1:I(r%,c%)=
2.8
I(r%,c%)-L(r%,t%)*I(t%,c%):NEXT
2.8
570 IF r%>c% THEN I(r%,c%)=I(r%,c%)
2.8
/L(r%,r%) ELSE I(r%,c%)=1/L(r%,r%)
2.8
580 NEXT:NEXT
2.8
590 :
2.8
600 REM Determine transpose L of
2.8
inverse triangle I
2.8
610 FOR r%=0 TO h%:FOR c%=0 TO
2.8
h%:L(c%,r%)=I(r%,c%):NEXT:NEXT
2.8
620 :
2.8
630 REM Inverse matrix of R is Ri
2.8
640 RtR()=L().I():Ri()=RtR().Ri()
2.8
650 :
2.8
660 ENDPROC
2.8
670 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-680 DEFPROCprint
2.8
690 VDU 14
2.8
700 PRINTö ******** Elements MatrixòÉ
2.8
710 FOR r%=0 TO row%:FOR c%=0 TO
2.8
col%:PRINT M(r%,c%):NEXT:PRINT:NEXT
2.8
720 PRINTö ******** Elements inverse
2.8
MatrixöÉ
2.8
730 FOR r%=0 TO col%:FOR c%=0 TO row%
2.8
:PRINT Mi(r%,c%):NEXT:PRINT:NEXT
2.8
740 DIM E(col%,col%)
2.8
750 E()=Mi().M()
2.8
760 PRINTö ******** Elements of
2.8
Inverse_Matrix.MatrixöÉ
2.8
770 FOR r%=0 TO col%:FOR c%=0 TO col%
2.8
:PRINT E(r%,c%):NEXT:PRINT :NEXT
2.8
780 VDU 15
2.8
790 ENDPROC
2.8
Å Repton 3 Ö There is a bug in screen E of WORK, so to get past it,
you will need to know the next password which is COUNTER.
2.8
Å Three floppies under Arthur Ö Here is a solution to the problem of
three floppies on the desktop (Archive 2.7.12). Enter the following in a
file called ÉDesktopæ in the library directory, use *BUILD or a text
editor such as Twin to enter it.
2.8
*BASIC
2.8
LOAD öDESKFS:DeskTopMgr2ò
2.8
11 OSCLI öDESKFSò
2.8
12291 IFfloppies%>2 THEN PROCsys_
2.8
addtoiconbar_left(öfloppy2ò,
2.8
ödisc3.5ò,&301A,icon_fgcol,
2.8
icon_bgcol, icon_width%)
2.8
28600 DEFFNselect_floppy2
2.8
28610 =0
2.8
28620 DEFFNmenu_floppy2
2.8
28630 PROCsys_definetextmenu
2.8
(öfloppy2ò,öfloppy :2ò,öFormatò)
2.8
28640 =0
2.8
28650 DEFFNaction_floppy2
2.8
28660 =FNfilehandler_open_dir
2.8
(ö-adfs-:2ò,öFloppy :2ò,0)
2.8
28670 DEFFNmenuselect_floppy2
2.8
28680 CASEitem0% OF
2.8
28690 WHEN0: PROCfilehandler_
2.8
formatfloppy(ö2ò)
2.8
28700 ENDCASE
2.8
28710 =0
2.8
RUN
2.8
When you wish to use the three floppy version of the desktop, instead of
typing *DeskTop, enter */DeskTop, this will ensure that the upgrade
program in the library directory is run instead of activating the
desktop in the normal way.
2.8
Unfortunately, there is no way of permanently updating the desktop so
that you can power up into the desktop with three floppies since it is
held in ROM which obviously cannot be changed.
2.8
If you wish to power up in the desktop with three floppies then you
could do the following:
2.8
*Configure Boot
2.8
*Configure Language 0
2.8
and setup a !Boot file as follows:
2.8
*/Desktop
2.8
ensure that when you switch the computer on, your boot disc is in drive
0 (or your default drive as configured with *Configure Drive) and the
desk top will appear after a short delay.
2.8
N.B. No damage will be caused to the disc in powering up with the disc
in the drive since the latch will be across the disc surface and the
disc heads not in contact with the disc surface.
2.8
The other solution is to upgrade to RISC-OS which can support up to four
floppies! Darren Jackson
2.8
Å Zarch Ö To put Zarch onto a hard disk, use....
2.8
*UNPLUG SoundChannels
2.8
*ZARCH
2.8
When error occurs type the following,
2.8
*RMREINIT SoundChannels
2.8
*SAVE :4.ZARCHcopy 8000+20800
2.8
*BUILD :4.ZARCHgo
2.8
LOAD ZARCHcopy
2.8
MEMORYA E1AC E1A0F00E
2.8
CHANNELVOICE 1 6
2.8
CHANNELVOICE 2 7
2.8
CHANNELVOICE 3 8
2.8
CHANNELVOICE 4 9
2.8
GO 1FF30
2.8
Then press <escape>. Type ZARCHgo to run the copy from hard disk. Tony
Porter
2.8
2.8
First Word Plus Extended Dictionary
2.8
I was asked to review the First Word Plus Extended Dictionary which is
available from Science Frontiers. It seems unfair to review it in only
one paragraph, but Paulæs maxim is, öSpace in Archive is at a premium,
so say what is worth saying as briefly as possible, then shut up!ò
(Well, thatæs the jist of what I say! Ed.)
2.8
First Word Plus Extended Dictionary comprises an 80,000 word dictionary
which replaces that in the Acorn package, and three specialized
supplementary dictionaries covering computer terms, geographical
locations and Christian names. It is an entirely competent package,
though necessarily not the most fascinating in content. If you need more
words in your dictionary, buy it, but if you need to work with large
documents, do not load it, as bigger dictionaries do take up more space.
2.8
FWP Extended Dictionary costs ú6.95 (ú6.50 from Archive) and is produced
by Science Frontiers.
2.8
From FWP to DTP?
2.8
Although it is not strictly the business of the First Word Plus column,
I took a good look at the Desktop Publishing program when visiting the
Acorn stand at the Which Computer? Show. It should be available a few
weeks after RISC-OS and is reported to be öfinishedò and about to go
into production. However, it was apparently not the öfinishedò version
at the show. My informant assures me that the production version will be
even better, which should certainly be good indeed. Even the present
version has a Ésecretæ feature which is quite impressive and even Apple
cannot match it.
2.8
<ctrlÖA> Solution?
2.8
I have discovered why my ö<ctrl-a> makes a bleepò modules reported in
Archive 2.5 p. 18 absolutely refused to work: the answer is on the top
of page 34 of the Programmeræs Reference Manual: never use OS_WriteC
routines when you have intercepted an interrupt. The solution (but donæt
hold your breath) is to insert a <ctrl-g> into the input buffer. This
works absolutely perfectly Ö except in FWP, where it is interpreted as a
call to read the ruler!!
2.8
No-one else has produced a solution which actually works, so the small
prize is still unclaimed.
2.8
Shareware disk N╝6
2.8
We get a lot of enquiries about printer drivers. The problem is that we
do not have that many different kinds of printer, so cannot help much.
Besides, printer drivers are (however necessary and satisfactory a
solution they may be) a pain and a bore, except when they are to drive
the printer you use. I am trying to compile a disk of all the contrib
uted ögoodiesò, especially printer drivers and related information and
ideas. If you have a contribution, please let me have it in the next
couple of weeks. We have printer drivers for: Taxan-Kaga KP810 = Canon
PW 1080; Citizen 120; Epson LX800 and LQ500; Star LC10 and NL10;
Panasonic KXP1080; H-P DeskJet. Quite a few of these have interesting
variants and associated ideas which may be useful for doing the special
things you want to do with your printer.
2.8
Once the shareware disk is available, printer driver enquiries will be
at the bottom of the pile!
2.8
(Mike sent me a pre-release version of this which I published as
Shareware N╝6, thinking it was the finished article. Ooops! We will
continue to supply N╝6 as it is and then offer free up-grades when the
final version is ready. Sorry about that! Ed.)
2.8
Two related matters
2.8
Å If you get the monthly disk, you will probably have installed the
IntModule from Steve Hoare (Archive 2.6, p. 44), and you will agree with
me that it is quite the best thing that has happened to First Word Plus
since its launch! I am sure that my life-expectancy has been increased
by being able to access the ö*ò commands we all love (and hate). If you
have not installed it, copy the IntModule to your 1st Word startup disk,
then modify !boot by adding lines 23 and 26 as follows:
2.8
23 *rmrun IntModule
2.8
26 *Interrupt 15
2.8
Now if you press <ctrl-o>, the screen goes bright blue and gives you a *
prompt. Create your directories, mount disks or whatever, then just *
<return> and you are back. Wonderful. If you do not get the disks, more
fool you, this one was worth a yearæs subscription, but it will be on
the proposed ösharewareò disk.
2.8
Å Just who do you think we are? Not very different from you is the
answer, I guess. I suspect that most of the contributors to Archive are
either people who enjoy computers as a hobby which can be useful, people
who use computers as part of their work, but are not professionals in
computing, or students or teachers of computing. I am actually a vet.
who does human genetics and immunology research, approaching fifty, bald
and paunchy! The point is, please do not expect too much from us/me. I
actually took this column on when a broken collar-bone got in the way of
decorating! Sadly, bones heal╔
2.8
Two quickies
2.8
Å If you have more than one sprite in a file, FWP only loads the first
sprite.
2.8
Å There is a funny bug in the spelling list : FABRICATION is flagged
as wrong, but it appears when you browse. To add confusion, when you ask
to guess, it comes up with faArication, which is unbrowsable!! Thanks to
Colin Garlick. A review of letters received earlier reveals that the
problem is more widespread than this: Kenneth Gardner rep-orts that the
same (?) bug affects fable, fabric, -ate, -ated, -ation, fabulous, -ly,
fab, haar, maar, nascelle, oaf, zag. Kenneth provides more data on
making merged supplementary dictionaries, but the problem is obviously a
bug. Over to you Acorn!
2.8
FWP and RISC-OS╔
2.8
The support disk which comes with RISC-OS has the necessary instructions
for conversion and the files. It is in the Acorn directory.
2.8
It may be easier to have Edit installed and the mode set to 0 before you
start. Then you can have a decent RAMfs space for the copied files
(assuming you do not have two drives). You can keep the instructions in
sight this way.
2.8
╔and the IntModule
2.8
It is all quite smooth, but if you want the splendid IntModule facility
to give you access to the OS, it is a bit more complicated. Edit has no
öloadò command. You load things by grabbing their icons and dropping
them on the installed Edit icon. But it is not obvious how to get at the
öObeyò files in the !1stWord+ directory from the desktop. The secret is
to hold down shift while clicking on the !1stWord+ directory. You should
be a bit careful about what you do, so make a backup before mucking
about. Now edit it as follows:
2.8
a) (This is most important.) Rename the !Run file you got from the
Support Disc as, e.g. !RunAcorn.
2.8
b) Insert tthree lines before that beginning örunò (next to last) (the
third line is optional Ö it turns the caps lock off)
2.8
rmload $.intmodule
2.8
interrupt 15
2.8
fx202,48 REM
2.8
c) Save as !Run
2.8
d) Check that the file type is obey. If not, get an OS prompt by
pressing f12 on the desktop and öSetfiletype !run obeyò.
2.8
e) Remember to copy IntModule onto the disk in directory $.
2.8
It should work, accessing the OS when <ctrl-O> is pressed, though I get
a white border around the top and right after going to the OS but it
seems to go away, though.
2.8
I suspect there are a few missing twiddly bits about ensuring that the
correct directory names are used, so I still have some reading to do.
More next month!
2.8
It also happens that you can edit obey files in FWP, and further, FWP is
not squeemish about loading the öObeyò files from an application
directory. If you do this you will certainly have to set the filetype.
2.8
First Mail
2.8
Here are a couple more tips on 1st Mail from Glyn Emery:
2.8
Mail merging normally means sending the same, or very slightly differ
ent, letters to a number of recipients. I recently had occasion to turn
this process on its head and send several different letters to the same
recipient; but I found 1st Mail up to the task. The occasion was that I
had to write reports on a batch of candidates, which, for the conveni
ence of his filing system, I prepared in the form of a batch of separate
letters all addressed to the administrator involved. To print them I
prepared a ömerge fromò file as follows:
2.8
read text
2.8
display ötext letter startedò
2.8
includefile letterhead
2.8
includefile dat.administrator
2.8
Dear Mr Administrator
2.8
includefile doc.text
2.8
Yours sincerely
2.8
display öletter finishedò
2.8
repeat
2.8
ötextò here is used as a 1st Mail keyword. The file öletterheadò
incorporates the date. I put a hard page break just before the repeat
command to make the sheet-feeder on my printer pick up the next piece of
A4. The ödisplayò commands were put in during development and proved to
be too confidence-giving to be deleted. The file dat.administrator is
the administratoræs address.
2.8
The reports, together with a covering letter were prepared as separate
files; and a datafile was prepared listing the file names. This was
saved in the dat. directory, not forgetting to switch off WP mode before
saving it. If you donæt switch off WP mode the merge tends to öhangò. I
donæt know why.
2.8
The second point is that I have incorporated Steve Hoareæs IntModule
(Archive 2,6 p44) into the libraries of my letter-writing discs.
Unfortunately Steveæs suggestion to use <ctrl-@> does not quite work for
me, because the ú key seems to return ASCII 0 in the First Word Plus
context, presumably in order that different codes for ú can be included
to satisfy different printers. Steve, being in America, probably had no
occasion to notice this. What I did in the end was to include
2.8
*RMLoad %.IntModule
2.8
*Interrupt 205 1stMail
2.8
into the startup program for First Word Plus, and
2.8
*RMLoad %.IntModule
2.8
*Interrupt 205 1stWord+
2.8
into the startup program for 1stMail. I can then use the öinsertò key to
toggle between the two, and save quite a lot of keystrokes in doing so.
Notice that I had to use % in the RMLoad command but not in the
Interrupt command because % appears in my Run$Path but not in my
File$Path.
2.8
An interesting application for FWP
2.8
Dave Livsey
2.8
Those of you who, like me, have to report on the progress of large
numbers of individuals of various levels of ability (i.e. teachers!) and
are the proud possessors of an Archimedes and First Word Plus now have
the means to reduce the increasingly onerous task of reporting, imposed
by the introduction of Érecords of achievementæ (ROA). (If you do not
have First Word Plus, or something better, you deserve all the hard work
you have to do!) Using First Word Plus, it is fairly easy to set up a
ÉMail mergeæ which will print out the documents required for the ROA.
2.8
The clue to doing this lies in the example mail-merge letter on the
First Word Plus disk. As with most problems, there are probably many
(or, at least, a few) different solutions Ö this is one. I hope it will
help reduce your load as much as it has mine!
2.8
In all that follows, the underlined words below are supposed to be in
light type which I am unable to print in Elite type. The page numbers
refer to the First Word Plus handbook.
2.8
In outline, you will need to set up four files: a command file, a data
file, a file containing the com-ment bank and the Émainæ file (which
corresponds to the letter in the mail-merge example).
2.8
The command file (called Écommandæ): This needs to contain the informa
tion which indicates the location of the data file (see below), any
individual input to the ROA document (Éinputæ typed in Élightæ type
p.165 Ö 169 ) and a reference to the basic form as an Éincludefileæ
statement. The WP mode can be left switched on when creating this file
and saving it.
2.8
The data file (Éformdataæ) must be created in the dat. directory and
contains only the data you wish to be inserted into the final document
as it is printed and is simply a list of names (firstname, secondname),
sex (He/She), tutor group (or Form, or whatever cockeyed system your
educational establishment has decided to inflict on you), date and any
other required information. As pointed out in the handbook, each item of
data must be separated from the next by a comma. There is also a problem
of commas in an item of data but this is catered for by enclosing them,
as explained on p.165. A specimen layout could be as shown :
Fred,Bloggs,He,4Z,Nov 1988,Swahili
2.8
Note that the data fields are comma separated fields and may include
spaces (p.165). This file must be created in non-WP mode and the mode
left switched off when saving; ignore the pop-up reminder which appears
when you try to save the file.
2.8
The comment bank file (ÉROAæ), obviously, contains all the comments
which you may wish to make about any group of students. Each comment is
prefixed by a suitable identifier e.g. K1. In order to be able to use
these comments, each identifier must be set up as a keyword (p.163) by
preceding it with Ésetvalæ in light type e.g.
2.8
setval K1, öname1 is a complete idiot when it comes to practical work.
sex is a complete liability as sex has 11 thumbs on two left hands.ò
2.8
Note the <,> and the <ö>. I found that it was easier to type the comment
with the WP mode switched on and then to switch the WP mode off and move
all the text onto one line. The WP mode was then switched on again as
the document does not print out correctly otherwise.
2.8
The setval definition seems to need all the text on one line but as this
can be 160 characters long, that is not too much of a problem. These
definitions can also contain key words, in light type, for insertions
from the data file into the final document. This is useful as it means
that you can specify he or she along with the name in the data file.
N.B. Changing the ruler turns off the Élightæ type causing the defini
tions and insertions to be ignored in the final print-out.
2.8
The final file (called Éformæ); the document you are going to print,
contains very little other than keywords spaced out as is appropriate
for your ROA. The first line must be a read statement which, being a
keyword is in light type. Following this is a list of fields in ordinary
type and in the same order as in the data file. The rest of the file is
mainly spaces preceded by a keyword placed where you want your printing
to be done. Eg.
2.8
read name1,name2,sex,date,tutor, subject (reads from Éformdataæ)
2.8
name1, name2 tutor subject date
2.8
includefile ROA (this reads in the comment bank)
2.8
name1 K1 (prints öFred is an idiot .....ò)
2.8
sex C3 (prints in the comment on comprehension)
2.8
sex I1 (prints in the comment on intelligence) etc.
2.8
This file will, of course, need the WP mode swit-ched on in order to
retain all the formatting infor-mation which is necessary for the
automatic form-atter to work when insertions are made in the text.
2.8
The ROA is printed out by clicking on Éformæ and Éformdataæ (from the
doc. directory) using the mail-merge facility on the First Word Plus
disc. Full details of this are given in the Handbook.
2.8
Font Fiddling on First Word Plus
2.8
Reg Dalton (& Steve Bass)
2.8
Reg tells us the saga of creating character sets for First Word Plus and
his NEC P2200. A sample printout is shown opposite, and the programs and
printer drivers are on the program disc and downloadable from Eureka II.
2.8
In an earlier edition of Archive (1.12 p 7) was printed a short routine
to convert the extra fonts, supplied on the Master Welcome disc, from
BBC to Archimedes format. On the face of it, this looked as if it would
be a useful little routine but there was a problem; only half of the
character set was defined. i.e. characters 32 to 126. My friend Steve,
in his wisdom, decided that one of the fonts (7by8) looked very good
with First Word Plus and decided to redefine the rest of the characters
to match the ones already done.
2.8
The next step in the story was when I foolishly mentioned that it would
be quite simple to set up First Word Plus to utilise the IBM graphics
available in one of the alternative character sets within the printer we
both had (NEC P2200). We then decided that redesigning the fonts using
the Master was not the way to do this, mainly because the fonts would
then have to be converted to Archimedes, so we converted the CHARDES
program, which was mainly in BASIC, to a form that would save fonts in
the correct format and also run with the Archimedes mouse.
2.8
The problem of modifying the program to work on the Archimedes was not
too difficult by even an amateur programmeræs standards but to make it
save the font in its correct form for the Archimedes proved more
problematical. A number of abortive attempts were made to rewrite the
save font routine but each time nothing was achieved except making the
computeræs character set look like hieroglyphics. Eventually, it all
fell into place and we had a working program.
2.8
We then decided that a program for transposing characters within the
character set itself might not be a bad idea. This was written fairly
speedily, but then the next task was to create the printer driver for
First Word Plus. This marathon is usually achieved by modifying an
existing wordprocessor/printer driver file, which involves changing the
relevant values for the various functions listed within the file, e.g.
superscript, subscript, nlq etc. After this fairly simple part comes the
task of entering all the codes to achieve the extra characters which
cannot enter from the keyboard. For characters 32 to 127 this was
obviously quite simple as all that was needed in this instance was each
characteræs number, but it was soon noticed by both of us that the
characters between &80 and &9F (decimal 128 to 159) were not defined by
the existing list. After an abortive attempt to define these characters,
and failing to get them to install, it was decided that we would have to
discard 32 (yes a whole 32) of the characters so lovingly designed by
Steve.
2.8
Notes on the font fiddling programs
2.8
(These refer to programs on the monthly disc.)
2.8
1 !BOOT is the program for interchanging the position of the
characters.
2.8
2 After running the above program, the Acorn Character Designer
Program (modified for use on the Archimedes), Chardes_C, can be entered
and 1 above repeated as many times as necessary.
2.8
3 The modified Printer driver for 1WP is in the CFG directory.
2.8
4 The modified Printer driver hex file for 1wp is in the HEX
directory.
2.8
5 Before booting the disc, the font style to be modified must first be
loaded e.g. by using *NEC_Afont.
2.8