home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Archive Magazine 1995
/
ARCHIVE95.iso
/
text
/
magazine
/
volume_04
/
issue_06
< prev
next >
Wrap
Text File
|
1995-06-25
|
179KB
|
4,361 lines
Printing problems?
4.6
Sorry about the slightly duff printing of the last edition of Archive.
The boxes around the headings were all rather faded. The reason was that
I was using a 600 d.p.i. Laser Direct HiRes rather than the 300 d.p.i.
Mac Laserwriter. So why should a better printer produce a worse output?
Basically, the Laser Direct produced the shading using such tiny dots
that the offset litho printing process could not cope with it. What I
have done this time is to alter the type of shading used so that the
dots are a bit bigger and (hopefully) more easily printable.
4.6
Not quite so late this time?
4.6
Thanks to Impression (which I am more and more impressed with every day)
I have managed to shorten the time taken to produce the magazine quite
considerably. So, over the next few months, I hope to get Archive back
on schedule.
4.6
A gauntlet for Risc User!
4.6
Now that Acorn User, Archimedes World and Archive all use Impression for
production of their magazines, donæt you think itæs about time that Risc
User followed suit? Well, I wouldnæt expect them to use Impression, but
have they got enough faith in their own product, Ovation, to ditch their
Apple Macs?!?!
4.6
More competitions, please.
4.6
Weære very grateful to Colin Singleton for his consistent work in
producing the monthly Competition Corner, but I think itæs time he had a
bit of help from others. Itæs very difficult to keep producing new ideas
every month, so if you could help, either write to me or direct to
Colin.
4.6
More Wimp stuff, please.
4.6
Weæve had quite a number of folk asking us for more articles about
programming in the Wimp environment. People were pleased with the start
that Alexander Goh made but were sad that it stopped rather abruptly. So
were we and, if Sandie is reading this, I hope he will consider carrying
on where he left off.
4.6
Once again, many thanks to readers and contributors alike for making
Archive a joy to produce.
4.6
With best wishes,
4.6
4.6
Products Available
4.6
Å Data cartridges for tapestreamers Ö We have found a better source of
data cartridges for tape-streamers and can do the 60M cartridges for ú23
and the 150M cartridges for ú26. The tapes for the 1 Gbyte tapestreamer
which we advertise at ú45 each are, apparently, just ordinary 2 hours
DAT tapes that you could buy from W.H.Smithsæ or such-like for ú8 or 9
and then formatted. It takes about 4 hours to format which is why Oak
charge so much for them.
4.6
Å DataStore Utility Disc 2 Ö A second disc of utilities is now available
for ú14.95 inc VAT or ú14 through Archive. It contains: A desktop
backdrop with a difference, a desktop toolbox window, a disc indexing
program, a file activity monitor showing exactly which files are
currently open, a list of BT phone code and areas, a utility which
collects sprite name, system variables etc and enables you to set up
your computer quickly at switch-on, a viewdata frame display utility, a
utility that will replace your desktop A icon with an animation(!), an
on-line manual utility and a fun demo.
4.6
Å Disc magazine Ö A.S.T.E. Syracuse is an Archimedes disc magazine
produced on an amateur basis. With the first issue, costing ú4.99, you
get a total of three discs; one containing the magazine itself and then
two discs of PD software. The organisers, B Browne and A Kells, insist
that it is not, as some magazine reports have said, a PD library.
4.6
Å DTP (and other) utilities Ö A newly formed company, Design Concept,
has 11 utilities mainly intended for DTP users at various prices from ú1
to ú2 each. We havenæt got space to detail them all here but it includes
things like a shading facility for !Draw, a way of printing out all the
fonts you have got, a converter from X-window bitmap fonts and a
converter which stipples a colour image to two colours. Write to Design
Concept for a full list. We hope to get review copies soon.
4.6
Å Educational management software Ö Cogent Software have produced two
packages for educational establishments. The first, Monitoring and
Reporting, provides facilities for recording, analysing and reporting on
studentsæ performance. The basic price of the package is ú400 for a
secondary school, ú200 for a middle school or ú150 for primary or
special schools. There are additional text files for different subject
areas at ú50 or ú65 each. The second package, Curriculum Auditing,
allows you to cross-reference the experiences the pupils are given with
the skills, knowledge and concepts outlined in the schoolæs curriculum.
The pricing for this is similar to the first package. Also available
from Cogent Software are optical mark readers which tie in with the
management packages.
4.6
Å Educational software Ö Chalksoft, well known for its educational
software on various computers including the BBC Micro has now turned its
attention to the Archimedes. Titles available include: Puncman, programs
1 to 7, (ages 7 to 15+) cover various aspects of english; Spelling Ö
week by week (ages 6 to 14+); Reversals (ages 8 to 14+) help with the
problems of d/b, p/q etc; House of Numbers (ages 6 to 13) covers maths
for key stage 2; First Words & Pictures and Words & Pictures (ages 3 to
7+) concentrate on early words, matching them with pictures; Letters &
Pictures (ages 6 to 8+) introduces word building skills; Numbers &
Pictures (ages 4 to 6+); Maps & Landscapes (ages 9 to 14); Keyboard
player, music for ages 8 to adult; Note Invaders, a musical game for
ages 7 to adult and Mark Master for secondary or tertiary
administration.
4.6
Å Flight Path Ö a simulation from Storm Software aimed at 9 year olds +
sets you up as the pilot of an airliner (and owner of the company) and
gets you to fly the plane and run the company. It brings in aspects of
maths, geography, english, science and history. Available now in
Archimedes format for ú36.95 inc VAT or ú32 through Archive.
4.6
Å Fonts galore Ö A newly formed company, Design Concept, has 8 innova
tive new fonts for sale at Ésillyæ prices (my word, not theirs); ú1.50
per font plus ú2 carriage. If you want to see the sort of things they
are offering, have a look at the advert on page 17. We havenæt actually
got the fonts for review yet but weæll let you know what we think when
weæve seen them. Apparently, they are designed from scratch using FontEd
and include öproper hinting of the charactersò.
4.6
Å Genesis I to II upgrade Ö If you want to upgrade from Genesis I to II,
all you need to do is to send your Editor disc to Oak Solutions with a
suitable cheque or official order and they will send you a complete new
pack. The cost of the upgrade is ú34.95 + VAT for education users or
ú59.95 for non-education folk. Please do not send it to Norwich Computer
Services.
4.6
Å High speed SCSI drives Ö One of the advantages of SCSI is that, at the
moment, öeverybody is doing itò Ö and that means all the more commonly
used computers whose names I will refrain from using. High volume
production, of course, means lower prices such as we have achieved by
using removable drives that were being sold into the Apple Mac market.
In the same way, we have managed to find some extremely cheap and
extremely fast fixed 48M drives produced by ZCL who are also selling
them into the Atari and Commodore markets and for PCæs Ö there, Iæve
said it!
4.6
They are actually 52M drives that format to about 48.6M; they have an
average access time of 17ms and run at up to 1,000 Kbytes/sec (yes,
1Mbyte/sec) using an Oak SCSI interface. The öalternative testò that we
use (copying a large directory with many files) takes under 7 secs.
These compare with about 600 Kbytes/sec and 9.3 secs for a standard Oak
45M drive but I havenæt got any of the new HS or Worrawinnie Oak drives
in stock to test for comparison. (They will be coming into stock
tomorrow, but the magazine has to be at the printers tomorrow(!) so I
will put the results on the Price List.) The prices are ú520 for an
internal 48M drive with podule and ú590 for an external.
4.6
The internal drives look identical to Oakæs drives but the external
drives come in a strange-looking, yukkie brown colour, extremely compact
metal case with no cooling fan. The drive is mounted on its side and
sits in a metal cradle made of white plastic coated metal rods (a bit
like a plate rack!) to stop it falling over. Still, when you look at the
price, it has to be worth considering, and if you are worried about
quality (which I have to confess, I am slightly) they are guaranteed for
years. This Archive price comparison my help you see if it is worth
considering these drives as compared with the özero-defectò policy and
known good customer relations policy of Oak Solutions. The prices
include Oak podule, VAT and carriage and the figures in brackets are the
price per Mbyte.
4.6
Internal drives
4.6
Worrawinnie 45M ú440 (ú9.78)
4.6
High Speed 40M ú520 (ú13.00)
4.6
ZCL 48M ú520 (ú10.83)
4.6
External drives A300/400
4.6
Worrawinnie 45M ú490 (ú10.89)
4.6
High Speed 40M ú720 (ú18.00)
4.6
ZCL 48M ú590 (ú12.29)
4.6
External drives A3000
4.6
Worrawinnie 45M ú490 (ú10.89)
4.6
High Speed 40M N/A
4.6
ZCL 48M ú590 (ú12.29)
4.6
Å Midnight Graphicsæ Tracer Ö Now you can turn your sprites into !Draw
files with this impressive utility from Dabhand Computing. The potential
for DTP and improving scanned pictures is tremendous. We hope to have a
review very soon. The price is ú59.95 from Dabhand or ú56 through
Archive.
4.6
Å MultiStore II Ö Minerva have released a new version of MultiStore
(still ú250 through Arc-hive) which features improved packaging and a
new style ring binder and box öwhich give the package a much more
professional imageò. Exist-ing users can get an upgrade to the new
software (but not the new packaging!) at a cost of ú11.75 for the two
new discs. MultiStore II has a new file format but, to overcome this
problem, Minerva provide a transfer utility so that you can convert your
old files to the new format. Minerva say, öThe changes to MultiStore
will not be immed-iately apparent to end users but some will notice an
increase in speedò.
4.6
Å NStore II Ö HS Software have released a new version of NStore2, their
National curriculum record keeping package, still ú29.95 inc VAT.
Existing users can get an upgrade to the new software by returning their
original disc to H.S. with a cheque for ú5.00. NStore II has had many
new facilities added in the light of ideas and suggestions made by
teachers and advisors using the original package. These include improved
ranking and alpha sorting, improved printing options, transfer of class
data between discs and block data entry for groups of Statements of
Attainments. Subject specific versions for secondary schools can be
obtained containing levels 1 to 10 in a particular core subject. Science
is available now and Maths and English are due in April.
4.6
Å PD library Ö Westbourne Services have just started a PD library for
the Archimedes. The discs are ú1.50 each. Westbourne Services will
supply a sample disc and catalogue for ú1.
4.6
Å Structural analysis of 2D frames Ö Civil engineers will be pleased to
see that the power of the Archimedes has been harnessed to provide
structural analysis of 2D frames and grids. Vision Six have two programs
for each Ö an entry level (ú150 +VAT each) allowing up to 32 items and a
full version (ú450 +VAT for frames and ú300 +VAT for grids) where the
number of items is only limited by the available memory. There is a
discount if you buy both a frames and a grids program at the same time.
öNever knowingly undersoldò Ö Vision Six say that if you can find a
better or even equivalent piece of software sold commercially for ANY
micro at a lower price, they will refund the difference!
4.6
Å ÉTwoæ productivity tools Ö Ian Copestake Software has produced TWO Ö
Task and Window Organiser which consists of various utilities to help
you keep your desktop tidy and to set up various tasks more quickly and
easily plus a number of other bits and pieces of applications. This is
especially aimed at schools. ú19 + VAT or ú60 +VAT for a site licence.
4.6
Review software received...
4.6
We have received review copies of the following software: Carewares 4
and 6, !Voice-Builder from MJD Software, ASTE Syracuse disc mag-azine.
A
4.6
4.6
Å Archimedes vs BBC variable formats Ö There are some differences
between the way that string and real variables are held on the BBC
computer under BASIC 1 and 2, and on the Archimedes under BASIC 5.
4.6
String Variables Ö On the BBC using BASIC 1 or 2, string variables are
pointed to by a Éstring information blockæ which consists of :
4.6
+0 for 4 bytes : address of start of string
4.6
+4 for 1 byte : space allocated
4.6
+5 for 1 byte : current length of string
4.6
When a string is allocated, if the length is under 8 bytes, then the
space allocated is the same as the length of the string. If over 8
bytes, then an extra 8 bytes is allocated to allow the string to grow by
that amount before it has to be moved. When the string changes length to
more than its allocation, it has to be moved to the end of the HEAP.
Unfortunately, BBC BASIC has no Égarbage collectionæ routines, so the
previous space is unusable. This was why it was recommended that, when
allocating strings which would grow in length, it is better to allocate
them first with the largest length needed.
4.6
On the Archimedes using BASIC 5, the string information block consists
of just:
4.6
+0 for 4 bytes : address of start of string
4.6
+4 for 1 byte : current length of string
4.6
without the space allocated. The space allocated seems to be up to the
next 4-byte boundary. When strings grow over a 4-byte boundary, they are
liable to be moved to the top of the HEAP Ö indeed they seem to move
sometimes when they shrink as well! I have not seen any Égarbage
collectionæ in BASIC 5, but I have seen instances where a string has
been moved to a free area within the existing HEAP, so there is some re-
use of storage.
4.6
Real Variables Ö On the BBC using BASIC 1 or 2, a real number is held in
a 5 byte field as follows:
4.6
+0 for 1 byte : Exponent plus &80 Ö i.e. &79 = Ö1, &80 = 0, &81 = +1
4.6
+1 for 4 bytes : Mantissa with MSB first, LSB last (opposite to
Integers). The first bit of the first byte is the mantissa sign bit.
Normalised, with an assumed 0.1 (binary) before mantissa. Positive
number with sign (ie NOT 2æs complement).
4.6
On the Archimedes using BASIC 5, a real number is held in a 5 byte field
as follows:
4.6
+0 for 4 bytes : Mantissa with LSB first, MSB last (same as Integers).
The first bit of the fourth byte is the mantissa sign bit. Normalised,
with an assumed 0.1 (binary) before mantissa. Positive number with sign
(ie NOT 2æs complement).
4.6
+4 for 1 byte : Exponent plus &80 Ö i.e. &79 = Ö1, &80 = 0, &81 = +1
4.6
Zero is a special case, and is stored as 5 zero bytes in both cases.
4.6
Thus the 5 bytes are stored in the opposite order on the BBC and
Archimedes, but the values of exponent and mantissa are the same.
4.6
These are minor changes, but are vital when either dumping storage, or
writing machine code routines to access variables.
4.6
Martin Avison
4.6
Å ARM speed tests surprise Ö I have, from long experience, found that,
in general, the more instructions a program executes, the longer it
takes. The corollary of this is that the fewer instructions, the less
time it should take. However, while timing some very processor-intensive
ARM code I was puzzled when on occasion I removed one instruction, and
the program took longer! Also, using the program from Archive 2.6 p55 in
March 1989 by Gerald Fitton for testing the ARM speed, I had run tests
which, when repeated, gave different times! After much trial and error,
I eventually modified Geraldæs speed test program to illustrate the
strange effect I had found.
4.6
The program ArmLoop is a simple piece of code which loops a set number
of times. First, care is taken to ensure that the alignment of the code
is to a 256-byte boundary. Then it repeatedly assembles and calls a
piece of machine code which does 16 no-operation instructions (i.e.
MOVNV), loops one million times, then does 16 more no-ops. It also has a
variable number of 4-byte offsets before the start of the code and a
variable number of no-operation instructions in the loop. The times are
displayed for each test for up to 10 4-byte offsets and up to 10 no-ops
in the loop. When complete, a summary of the times is displayed.
4.6
The times show an expected increase in the time taken as the loop gets
larger, but not always the expected increment for one extra instruction
in the loop. As the offsets change of the start of the executed code, it
would be expected that the times for the same loop size would remain
constant. However, this is NOT true! There is a pattern which repeats
itself every 16 bytes, or 4 word offsets, and the summary highlights
with a red background the unusually long times.
4.6
Thus it can be seen that in some cases, removing an instruction from
before such a loop can increase the time taken for the loop!
4.6
The conclusions reached after these tests were that for a branch
instruction, every 16-byte boundary crossed by the Program Counter
(which is 8 bytes ahead of the branch instruction) to its target, adds
an extra 0.15 microseconds to the time taken Ö about the same time as a
no-op instruction.
4.6
Making use of this to optimise program speed is difficult in a program
with many branches, but the demonstration program includes at line 110
speed = FALSE : if this is changed to speed = TRUE, code is invoked in
FNspeedup to ADD no-operations in before the loop to reduce the number
of 16-byte boundaries crossed if possible. The execution times are
reduced in 37% of the cases!
4.6
This is one little mystery demonstrated, but can anyone explain it? It
surely makes the effects of relocating programs slightly unpredictable.
Are there similar effects at any other memory boundaries? Has anyone got
a comprehensive understanding of how long the ARM takes for various
instructions Ö although it is supposed to execute one instruction per
clock cycle, there are other effects on speed, like the size of operands
for the MULtiply instruction, conditional execution etc.
4.6
10 REM > ArmLoop
4.6
20 MODE 12
4.6
30 PRINT öArmLoop : Arm Loop Speed Testing Program v5 Martin
Avisonò
4.6
50 DIM code% 2000
4.6
60 REM align to page (256) boundary
4.6
70 code% = (code% OR &FF) +1
4.6
80 @% = &90A
4.6
90 PRINT öBase for code is at &ò ~code%
4.6
110 speed = FALSE :REM <<<< change to TRUE to see speedup <<<<
4.6
120 loops% = 1000000 : REM number of loops
4.6
130 maxoff% = 10 :REM maximum offset applied
4.6
140 maxnop% = 10 :REM maximum no-ops in the loop
4.6
150 DIM time%(maxoff%,maxnop%)
4.6
160 PRINT öNumber of loops = òloops%
4.6
170 PRINTÉöDetailed timings Ö Summary will follow at endò
4.6
180 PRINTÉö Offset Loop Extra Start Loop Branch Total ò
4.6
190 PRINT ö noops noops addr addr addr time ò
4.6
200 FOR noops% = 0 TO maxnop%
4.6
210 FOR off% = 0 TO maxoff%
4.6
220 PROCcall(code%+off%*4)
4.6
230 NEXT
4.6
240 PRINT
4.6
250 NEXT
4.6
270 PRINTÉöSummary of Total Times in Seconds ò;
4.6
280 IF speed PRINT öwith speedupò ELSE PRINT öwithout speedupò
4.6
290 PRINT öNoopsò;
4.6
300 @% = 5
4.6
310 FOR noops% = 0 TO maxnop%
4.6
320 PRINT noops%;
4.6
330 NEXT
4.6
350 PRINTÉöOffsetò
4.6
360 FOR off% = 0 TO maxoff%
4.6
370 @% = &00005
4.6
380 COLOUR 128
4.6
390 PRINT off%;
4.6
400 @% = &20205
4.6
410 FOR noops% = 0 TO maxnop%
4.6
420 IF off% > 0 AND time%(off%, noops%) > time%(0,noops%)+2
4.6
COLOUR 129 ELSE COLOUR 128
4.6
430 PRINT time%(off%,noops%)/100;
4.6
440 NEXT
4.6
450 COLOUR 128
4.6
460 PRINT
4.6
470 NEXT
4.6
480 END
4.6
490 ================================
4.6
500 DEF PROCcall(code%)
4.6
510 PROCassemble(code%)
4.6
520 A% = loops%
4.6
530 TIME=0
4.6
540 CALL code%
4.6
550 time%=TIME
4.6
560 @% = &00008
4.6
570 PRINT off%,noops%,extra%,~code% ,~loop , ~branch;
4.6
580 @% = &20208
4.6
590 PRINT time% /100
4.6
600 time%(off%,noops%) = time%
4.6
610 ENDPROC
4.6
630 DEF PROCassemble(code%)
4.6
640 extra% = 0
4.6
650 FOR opt=0 TO 2 STEP 2
4.6
660 P%=code%
4.6
670 [OPT opt
4.6
680 FNnop(16)
4.6
690 FNnop(extra%)
4.6
700 .loop
4.6
710 FNnop(noops%)
4.6
720 SUBS R0,R0,#1
4.6
730 FNspeedup(öloopò)
4.6
740 BGT loop
4.6
750 FNnop(16)
4.6
760 MOV PC,R14
4.6
770 ]
4.6
780 NEXT
4.6
790 ENDPROC
4.6
810 DEF FNnop(n%)
4.6
820 IF n% > 0 THEN
4.6
830 LOCAL I%
4.6
840 FOR I% = 1 TO n%
4.6
850 [OPT opt:MOVNV R0,R0:]
4.6
860 NEXT
4.6
870 ENDIF
4.6
880 =0
4.6
900 DEF FNspeedup(label$)
4.6
910 LOCAL label,l%,b%
4.6
920 branch = P%
4.6
930 label = EVAL(label$)
4.6
940 IF speed AND (opt AND 2) = 0 AND label < branch THEN
4.6
950 l% = (label) MOD 16/4
4.6
960 b% = (branch+8) MOD 16/4
4.6
970 IF l% > b% THEN extra%=4 ATNl%
4.6
980 ENDIF
4.6
990 =0
4.6
Martin Avison
4.6
Å Cheat (revised) for Man-At-Arms Ö Gets rid of the bug in the last
cheat! This one gives you infinite lives and punches!
4.6
10 *LOAD $.!MANATARMS.CASTLE2 10000
4.6
20 *LOAD $.!MANATARMS.CASTLE3 52000
4.6
30 ?&19198=0:?&521F4=0
4.6
40 *SAVE $.!MANATARMS.CASTLE2 10000 +10000 10000 10000
4.6
50 *SAVE $.!MANATARMS.CASTLE3 52000 +1000 52000 52000
4.6
If you want to turn the game back into its original form change the two
variables in line 30 to the value of 1. Mark Faulkner
4.6
Å Cheat for Pysanki Ö This cheat gives you Infinite lives and missiles.
4.6
10 *LOAD $.!PYSANKI.PYSANKI2 10000
4.6
20 *LOAD $.!PYSANKI.PYSANKI3 52000
4.6
30 ?&19178=0:?&52278=0
4.6
40 *SAVE $.!PYSANKI.PYSANKI2 10000 +10000 10000 10000
4.6
50 *SAVE $.!PYSANKI.PYSANKI3 52000 +1000 52000 52000
4.6
If you want to turn the game back into its original form, change the two
variables in line 30 to the value of 1. Mark Faulkner
4.6
Å Cheat for Kaptain Konflikt Ö This cheat gives you 160 grenades and
infinite power!
4.6
*DIR !KONFLIKT
4.6
LOADöNEWVERTò
4.6
LIST 1120
4.6
1120.Var_grenades:EQUD 160 (160 Number of grenades!)
4.6
LIST 6940
4.6
6940 REPEAT:!Var_man_shot=0:
4.6
UNTIL !Var_lift_off=3
4.6
SAVE öNEWVERTò
4.6
Also, here are all the passwords (backwards Ed.) Ö ELBRAM, REKAEPS,
CITATS, TCAPMI, ELIBOM. Mark Faulkner
4.6
Å Cheat for Alerion Ö This cheat gives you infinite lives!
4.6
10 *LOAD $.!ALERION.G 1E06C
4.6
20 ?&2749C=0
4.6
30 *SAVE $.!ALERION.G 1E06C +226A4 26ABC
4.6
To convert the game to its original form change the value of the
variable in line 20 the 1. Mark Faulkner
4.6
Å Cheat for Mad Professor Mariarti Ö This cheat gives you infinite lives
and energy. Edit the !RUN file in the !MadProf Directory with !EDIT.
Then when you have it Edited look to see where it loads in the program
ÉProfprogæ. Then just delete the code after it and add this code below
:-
4.6
Load Profprog
4.6
Echo <21>
4.6
| Infinite energy
4.6
MemoryA 18F48 F0000000
4.6
MemoryA 1919C F0000000
4.6
MemoryA 1920C F0000000
4.6
MemoryA 19F00 F0000000
4.6
MemoryA 19F70 F0000000
4.6
MemoryA 186B4 F0000000
4.6
MemoryA 19B08 F0000000
4.6
MemoryA 1D260 F0000000
4.6
MemoryA 18D84 F0000000
4.6
| Infinite lives
4.6
MemoryA 196B4 F0000000
4.6
Echo <6>
4.6
Go
4.6
RMKILL Musicmodule
4.6
RMKill Joystick
4.6
RMKill Teqmodule
4.6
TequeRmMin
4.6
RMKill TequeMemory
4.6
FX 15 0
4.6
DIR ^
4.6
Echo Bye Bye professor!
4.6
Remember to keep a copy of the original !RUN file so you can return the
game to its original form again.
4.6
Å Disc free space snag Ö The RISC-OS desktop filer COUNT menu option
provides a very useful way of checking the size of individual files,
applications and whole directories (and any nested sub directories).
However, it is somewhat economical with the truth.
4.6
You may well find that the *COUNT of a particular application or
directory structure indicates that it will fit comfortably onto a floppy
or RAM disc that you have already checked for *FREE space. However, when
you try and copy the files across you may get a ÉDisc fullæ error.
4.6
The reason is that *COUNT takes no account of the space occupied by the
catalogues of directories themselves; this is 2k per directory on an
ADFS or RAM disc. So a directory containing several applications, some
perhaps with further sub directories, will take up a lot more space than
the *COUNT option would have you believe.
4.6
Rick Sterry, Wakefield BBC Micro User Group
4.6
Å Fortran bug Ö There is a bug in the DACOS (double precision arc-
cosine) function on Fortran release 2. The function does not work if it
is given a numeric, rather than algebraic, argument. Thus
PI=DACOS(Ö1.0D0) does not give a value of p as it should. To get p, you
have to use ANG=Ö1.0D0 followed by PI=DACOS(ANG) where ANG is any
variable name you like. Raymond Wright, Guildford.
4.6
Å Keyboard cleaning Ö I recently tried this after reading about it in
Archive 3.9 p10. It was even easier than the magazine article suggested.
Whilst I had the keyboard apart, I pulled off the key tops and gave them
a gentle scrub with soap, warm water and a nail brush as they were
getting grubby. I now have a gleaming keyboard that anyone could be
proud of. David Livsey, Exeter.
4.6
Å PrinterDM with the LC24-10 Ö Here is some thing any one using an LC24-
10 with new !PrinterDM (Ver 2.46) If you are getting banded graphics
dumps and squashed text then make a copy of the Text file PrDataScr file
found inside the application directory.
4.6
Load the copy in to !Edit and look at all the Epson LQ definitions for
the line below.
4.6
line_epilogue: ö<27>$<0><0><27>J <24>ò
4.6
Change all LQ definitions except the 60 by 60dpi to:-
4.6
line_epilogue: ö<27>$<0><0><27>J <28>ò
4.6
this having been done, save the file.
4.6
Delete the data file PrData. You can either rename the changed text file
to PrData and check all is OK before using the supplied compacting
program (PrSquasher) or, if you are confident there are no mistakes,
compact it first before trying it out.
4.6
If you still get banding or gaps appearing then adjust the value between
the < > symbols of the last parameter. This may possibly work for the
other drivers.
4.6
N.B. Remember to keep a copy of the original files.
4.6
Michael Overthrow
4.6
Å Rhapsody Ö Before entering complex music, fill a dummy line with your
shortest notes. Now everything just lines up, even across five staves,
so you never have to Énudgeæ notes to and fro. But why does the Rhapsody
manual lack a tutorial? I had typed in many pages of sheet music before
guessing how to set the key and the automatic sharps! Nik Kelly,
Liverpool.
4.6
Å System modules versions Ö I have heard of a number of applications
refusing to work because one of the modules contained in the !System
application folder was out of date. A quick way to check the version
numbers, even if the modules are not already loaded, is to open up the
É!System.Modulesæ directory (by double clicking on the É!Systemæ folder
icon while holding the <shift> key down), and then to load each module
into !Edit. Ignore all the [00][00], etc you should look for the text
below:
4.6
CLib Ö Shared C Library 3.50 (19 Jul 1989)
4.6
Colour Ö Colour Selector 0.52 (26 Apr 1989)
4.6
FPEmulator Ö FPEmulator 2.80 (22 Feb 1989)
4.6
These are the latest official version numbers. Acorn have stressed that
any other other releases are illegal copies and cannot be relied on.
4.6
Rick Sterry, Wakefield BBC Micro User Group
4.6
Å Virus warning Ö In a recent message on the international UNIX-based
networks, in the eunet. micros.acorn section, a Liverpool-based
Archimedes owner announced the discovery of a virus. The virus resides
in the !Boot file of applications and consists of an extra line:
4.6
RMEnsure Extend 0 RMRun <Obey$Dir>.ModName
4.6
and is followed by a commented-out hex <FF> character.
4.6
The module name ModName varies between MonitorRM, CheckMod, ExtendRM,
OSextend, ColourRM, Fastmod, CodeRM, MemRM. The name of the module in
the *MODULES list is always ÉExtendæ and is thus referred to as ÉThe
Extend Virusæ. The module doesnæt do anything destructive but it is
always possible that someone will modify it. The only present problem is
that it takes 1k of RMA every time you double click on an application,
eventually filling it up and crashing the machine. Of course, it also
consumes sections of disc space, as it puts copies of the module and
extended !Boot files on your discs, but this is pretty subtle and is
likely to go unnoticed, (at first).
4.6
If an application doesnæt have a !Boot file to start with, the virus
creates one. If all this makes hard disc owners a little nervous then
they should get hold of a copy of !Watchdog, which is on Risc Useræs
program disc Vol 3 no 7.
4.6
Wakefield BBC Micro User Group
4.6
Å Wiping SCSI discs Ö Itæs not often that you want to remove all the
files from a hard disc but with the advent of removable hard drives, it
is becoming a more common requirement. To select all the files and
delete them can take a huge amount of time if there are a lot of small
files so it would probably be quicker to re-format the drive. If you are
using an Oak Solutionsæ SCSI interface then there is an even quicker way
of doing it. Use their SCSIForm program and choose the <M> option to
initialise the map and root of the disc. This simply re-writes the
catalogue of the root directory to say that there are no files left on
the disc. This is obviously very quick Ö but deadly Ö beware, thereæs no
way back.
4.6
Impression Hints and Tips
4.6
Here are a few more hints and tips mostly from the editoræs dabblings in
preparing the magazine...
4.6
Å Dashes Ö If you, like me, donæt like to see hyphens used where dashes
should be used Ö i.e. in places like this Ö you will probably be sick
and fed up of typing <alt-153>. (Note that the character in öalt-153ò is
a hyphen, just in case you werenæt aware of the difference.) If you are
importing text into Impression, occurrences of Éhyphen hyphenæ will be
converted automatically by Impression into a long dash ÿ see what I
mean. Personally, I prefer the shorter one so what I have done is set up
the abbreviation dictionary with Éexpand as you typeæ and used an
underline character to be turned into a dash. The only drawback is that
itæs OK for things like the dashes earlier in this paragraph, but if,
for example, you use dashes in phone numbers, as 0603Ö766592, the
abbreviation technique does not work and you are back to <alt-153>.
Anyone any other ideas?
4.6
Å Find styles Ö If you want to find a style, get up the find/replace box
with <ctrl-f4> and then click in the menu box to the right of the Find
box and select the style you are looking for. This will come up as, say,
öò. Type an ö@ò after this Ö which stands for öany textò Ö and then
press <return>. This will highlight the whole of the first piece of text
with that style or effect. Unfortunately, the facility to replace that
style with another style is not yet working. If you do want to do any
search and replace on the style names, export the text, with styles, and
then use another WP such as !Edit to do the searching and replacing
before returning it to Impression.
4.6
Å Rogue effects Ö Someone sent me a file in which they had used a
particular font which I did not have so when I loaded the file,
Impression told me it was changing it to Trinity.medium. I did an edit-
style and looked at all the style definitions to no avail. Eventually, I
realised that it must have been used as an effect, so how was I to find
it and eliminate it or change it to some font I did possess? Because the
font had been changed to Trinity.medium (i.e. the BaseStyle font) I
could not pick it out with a visual scan so the first idea was to change
the BaseStyle to, say, Zapf.Dingbats so that anything which was in a
different font was obviously an effect or a style. Unfortunately, this
didnæt reveal the offending effect. At this point, I became convinced
that I had a non-existent, un-removable effect, i.e. a bug in Impres
sion. So I sent the offending file to CC who informed me that the
particular effect WAS in the text and they also showed me how to locate
it... as follows...
4.6
(Actually, the reason that I couldnæt find the effect was that I had
already gone through the document adding extra styles and had covered
this rogue font-change effect with a font-change style of my own. In
other words, the style, because it was applied later than the effect,
took precedence.)
4.6
Å Finding effects Ö In the same way that you can find styles (see above)
you can also find effects as long as you tell Impression that you want
effects to be shown on the style menu. To do this, locate the file öUKò
in the Impression öResourcesò directory. Load it into !Edit and find
öCnf1:ò and change it to öCnf1:Eò Ö thatæs a one, not a letter ölò. Save
the file and shut down and re-start Impression. You then will have
effects on your style menus and search on {öeffectnameò }@, as explained
above.
4.6
Å Fast search and replace Ö There are a couple of very useful keyboard
short-cuts not documented in the manual which speed up the search and
replace. When the ötext foundò box is on screen, <ctrl-R> does a
öReplaceò and <ctrl-N> moves to the öNextò.
4.6
Å Keyboard short-cuts Ö Apart from the ones listed on pages 119ff of the
Impression manual, here are a few more: (some are mentioned on the menu,
but not in manual)
4.6
<ctrl-shift-D> go to chapter
4.6
<ctrl-shift-H> produces a bullet i.e. a öÅò.
4.6
<ctrl-shift-I> also produces a bullet i.e. a öÅò!
4.6
<ctrl-shift-J> produces superscript
4.6
<ctrl-shift-K> produces subscript
4.6
<ctrl-shift-T> save text story
4.6
Å Page number justification problems Ö Some of you may have had
difficulty getting correct centring or right justification of page
numbers on footers. This is corrected in version 2.09 Ö well, almost!
The footers on right hand pages were wrong last month, when I was using
version 2.05, (in fact I didnæt even notice!) and the footers on the
left hand pages would have been wrong this month (with 2.09) if I had
not found a way round it. If you try to have left aligned page number
with a right tabbed piece of text, the text suffers a left shift. Iæve
solved it for now by splitting the footer text into two separate frames,
one left aligned and the other right aligned. Itæs messy, but it works.
A
4.6
4.6
4.6
Hints and Tips
4.6
4.6
4.6
Oak
4.6
New
4.6
4.6
Colton
4.6
From 4.5 page 14
4.6
4.6
Comment Column
4.6
Å öBuyer bewareò Ö Here is a salutary tale with a (relatively) happy
ending. Graham Collins, one of our subscribers, bought a 1M memory
upgrade for his A3000 from Norwich Computer Services. Some time later
(but less than a year) the computer started going wrong so he took it to
Beebug Ltd from whom he had bought the computer. They took it in, fixed
it for him and charged him ú45. The trouble was that when Graham looked
at the service report, he found they had öre-soldered loose connections
on the ram boardò. He felt that this was unfair because the ram board
was still under warranty. However, from Beebugæs point of view, they had
taken in a computer and repaired it in good faith and, indeed, had only
charged ú45 which is their minimum charge for repairing a computer. In
one sense, because it was a fault on the ram board, it was Morleyæs
responsibility, but why should they pay ú45 since they could have
repaired the board at very little cost to themselves. Should N.C.S. be
responsible for the ú45? Hardly, because all we did was supply a product
from a third party. We do not feel that it is our responsibility to test
the items that go through our hands.
4.6
So, who paid the ú45? Well, no one, but Morley are going to upgrade the
1M to 3M and not charge Graham the full upgrade charge Ö well done,
Morley.
4.6
What is the moral of this story? Should Beebug have informed Graham as
soon as they found it was the memory upgrade that was at fault? Even if
they had, they would presumably still have had to charge him their ú45
minimum charge. I donæt really think anyone is to blame but it does
suggest that you need to be careful when combining hardware bought from
different sources. The problem could have been avoided if Graham had
taken the memory board out when the computer went wrong so he could see
where the problem lay. Mind you, having said that, we have had memory
boards returned to us apparently not working and then found that they
worked OK on other computers. The problem lay with a timing fault such
that the tolerance of the customeræs computer and the tolerance of the
memory board meant that the two were incompatible. Buyer beware!
4.6
Å Canon BJ10e Ö Iæve recently bought a Canon BJ10e from EFF who gave me
very prompt service. The printer itself is quite petite, about the same
size as an A4 pad, but thicker, weighing in at a paltry 1.8 kg. I
ordered mine in the beige, there is also the option of having it in
black, I suppose to co-ordinate it with the black lap tops around. As a
result of the lightweight construction, the lid and some of the fixtures
appear to be flimsy and I doubt whether they would stand up to the
rigours of a commercial or educational environment.
4.6
The print quality is very good, the BJ10e uses a 36 x 48 dot matrix for
text and up to 360 dpi for bit-mapped graphics. I have yet to use any
proper Éinkjetæ paper, which gives much better results. The most
noticeable aspect of this printer, is that it is virtually silent! I
also bought the sheet feeder, which takes about 30 sheets of A4, with a
flap near the bottom for envelopes and thin card. The construction of it
is also very plasticky and the only problem that I have had with it, is
that it is has a thickness adjustment which needs to be set properly or
else it ejects an extra sheet of blank paper after every printed sheet.
4.6
The printer manual does not give the full details of the control and
escape codes, which are useful if you need to customise the First Word
Plus driver for instance. It took me a long time to get it to work
properly with the printer driver and First Word Plus. In my opinion the
documentation sent out with the printer driver is inadequate. I have
detailed my findings in the hope that it may help others.
4.6
BJ10e d.i.p. switch setup
4.6
1 2 3 4 5 6 7 8
9 10
4.6
on* off off off off on
off off on on
4.6
*only with an sheet feeder
4.6
*ignore is set to 0 on the Archimedes
4.6
This set up works equally well with First Word Plus and the printer
driver. The RISC-OS printer driver should be installed for all printing,
including First Word Plus. Iæve also found that the margins need to be
set, to show the correct printable area, for programs such as !Draw and
these are: Top: 0.2 mm Bottom:
12.6 mm
4.6
Left: 0.0 mm Right: 6.9
mm
4.6
Note that these values (should) hold true for all paper sizes, as they
define the margin.
4.6
Even with the correct adjustment of the thickness control, I found the
printer ejected an extra (blank) sheet after a graphics dump from !Draw
and !Paint. It is more annoying than serious, however.
4.6
The running cost of the printer is dependent mainly on the type of paper
you intend to use and the frequency of screendumps and the like. I am
using standard 80 g/m photocopier paper, which costs about ú7.00 for 500
sheets (ream). The ink cartridge/ head costs ú20; I have printed about
600 sheets of mixed DTP and standard printer font outputs, where I have
found the results beginning to Ébandæ, noticeable with large expanses of
black, although this hasnæt seemed to affect normal or outline font
print-outs. I estimate the cost per page to be about 4.5p, not too bad,
if you canæt afford or justify a laser printer.
4.6
Newsflash Ö Canon have decided to drop the price and include the
sheetfeeder for free. I have seen prices as low as ú320 inclusive; check
out the computer magazines for up-to-date prices. I paid ú420 for mine,
so at ú320, itæs very good value in my opinion. Chun Wong, Sheffield.
4.6
Å Dealer Problems Ö I was interested to read David Hazelæs letter, in
the November issue, regarding dealer problems and Acorn computers. Now
that Acorn have ösold onò the development of their RISC technology to
the newly formed ARM company, their dependence on the sales and
marketing of high quality products is even more significant for all
users.
4.6
As a representative of one of Acornæs biggest single group of customers,
I can suggest several issues which they might like to consider.
4.6
Generally, we are satisfied with the service that our dealers offer.
Equally, we are delighted with the performance of the machines them
selves and we are confident that we have made the right decision in
encouraging our schools to buy RISC technology. However, there are
difficulties with the öperipheralsò supplied with the machine which
create a lot of extra work for dealers and other support agencies, such
as our Microtechnology Centre, which are often unnecessary and reflect
Acornæs inability to perceive the problems of ordinary end users no
matter how trivial they may be to more technically proficient users.
4.6
For example, the Applications Discs do not contain the latest printer
drivers (which makes programs such as Draw or Folio much slower to print
and therefore much less attractive) and contain no copies of the
Integrex or Laserjet drivers. In addition, they are structured in a such
a way that it is impossible to just öswitch on and goò. Problems arise
with incomprehensible messages about !System and modules (whatever they
may be), an apparent lack of memory (e.g. copies of First Word Plus with
no maximum wimpslot size), a small or non existent font cache, an
obsolete font system, apparently endless disc swops when saving or
copying files (even from a RAM disc) or loading programs from a new disc
which has not had the necessary extras, such as !System and !Fonts added
to it (and sometimes even when they have been) and printers which print
gobbledegook because the drivers are not configured correctly. Whilst
answers to some of these problems may be found in the guides, there is
no starter booklet which provides immediate help with these sort of
problems. They are the ones which arise as soon as the user is familiar
with the environment itself. In addition, having run an educational
hotline, Acorn now refuse to answer (as in öwe know but we wonæt tell
youò) schoolsæ questions when contacted. You can imagine the reaction to
that from schools which have bought anything up to 120 Archimedes!
4.6
Whilst we offer a very full support service for our schools which will
help them solve these and, hopefully, all the other problems which may
arise, Acorn themselves could make life a lot easier for us and our
dealers and give greater customer satisfaction for all users if thought
more carefully about these potential user difficulties. For example,
they could provide much more carefully structured Applications discs and
produced a Beginnersæ Guide with the machine, dealing with just these
sort of issues. I suspect the source material exists in many LEAs
already. Another useful addition might be fact sheets with answers to
the other more commonly asked questions, from the days when they did run
an educational hotline for schools, which could be supplied on request
and made available to support agencies for duplication and distribution.
4.6
With regard to the outline font manager, it should be made available
with the machine or, at least, Acorn should supply more information with
the machine about this most essential upgrade. At present, end users are
paying for it over and over again within the cost of each program they
buy which provides it; something that is also unfair on the software
houses themselves.
4.6
Acorn may claim that they are now listening to customers but the fact is
that we and many others have been saying these sort of things for what
seems a very long time.
4.6
I suspect that a major new market which is opening up, consists of those
potential customers (usually computer illiterate from a non games
playing background) who have never bothered with computers before but
are now encouraged to the view that, maybe, they are worth considering
after all. The critical factor for the users is not the the speed of the
machine, the quality of the graphics, the relative merits of different
items of software or even small price differences. It is the simplicity
with which they can get started on useful tasks such as word processing
and drawing. At present, on Acorn computers, it is not as simple as it
could be for reasons that are nothing to do with the machine itself but
everything to do with a lack of consideration for the requirements of
this sort of end user.
4.6
Finally, if Acorn want a suggestion for a technical development, useful
for the (majority of) users who do not have a hard-disc, they should
look at ways of increasing the storage capacity of their floppy drives
to 1.2mb.
4.6
Martyn Wilson, Inspector for Technology, Hampshire LEA
4.6
Å Joystick interfaces Ö RTFM kindly rang from Jersey to say that
although their Joystick interface voids the A3000æs warranty, it does
not void the warranty on the A400/1 series. I dislike internal
Édonglesæ, so I admitted Iæd already bought one from for their rival.
4.6
The Serial Portæs gadget is packed into a neat breakout box with
Archimedes and printer sockets at the ends, two joystick 9-pin D-types
and a printer / games switch on top. My stiff printer cable pulled it
off the Archimedes, so I made a half-metre ribbon cable to bring it to
my desk at front-left.
4.6
Their Tutor program prompted for stick actions and each matching
keystroke and made a command file for the joystick Rmodule. Their
compiler took text-files with simple keywords for stick actions, flags
and logic. Examples ranged from Alerion to Zarch.
4.6
The Rmodule stayed active through games, BASIC and Rhapsody. My early
version lacks <shift-Fn>, <ctrl-Fn> and <shift-ctrl-Fn>, as used in
View, Edit or Rhapsody, but took all the regular keys.
4.6
Itæs fun. Itæs also given me 10 switches without fuss or I/O podule. Iæm
building a low-tech ÉKnob-boxæ for it, with <x>, <y>, <z> look_> _shift
and 3 bits to select Eye or 1-6 objects. (I reproduce this last sentence
in the hope that it means something to someone! Ed.) Nik Kelly,
Liverpool.
4.6
Å Schema Ö Just a brief note on this acclaimed spreadsheet. A friend,
who has just bought Schema, invited me to try it on his A440. My first
reaction to its speed, presentation and the facilities, such as
functions and macros, was that it was an excellent program. However, I
very quickly found a glaring bug:
4.6
Inserting extra rows and/or columns in the middle of an existing sheet
results in replicated formulae having Éholesæ in the new parts and
incorrect references after the insertions.
4.6
I then found that changing a column of figures on a Éwhat ifæ basis
resulted in formulae being changed into text and hence failing to
recalculate. My trial run was done on a very simple sheet so changing
the text back was very easy but it should not be necessary. The person
whose machine and program I was using has to work with real and
sometimes very large spreadsheets Ö correcting formulae is not on for
him!
4.6
I have used PC packages such as Lotus 1-2-3 and Symphony, to name but
half a dozen, so I have a fair idea what these things should do. I know
that the above named products cost about three times as much as Schema
but there are some which cost only half, such as Quattro, which can at
least give a guide to the standards expected.
4.6
Having said all that, I did like Schema and will consider buying it when
the above mentioned faults have been corrected. I would also ask the
writer(s) of the program if they can arrange for only the marked block
to be printed without the column letters and row numbers. One thing I
would like to see in a spreadsheet is the ability to select only a few,
non adjacent, rows for printing (or perhaps I missed how to do that in
the short time I had for play!). Dave Livsey, Exeter.
4.6
I passed these comments on to Dave Clare who told us they were aware of
the problems and that they will be cured in the next release of Schema
which will be supplied to all registered users free of charge (Minerva,
are you listening?). Also, they only occur after inserting new rows or
columns and copying into that area, not if you copy or move a block of
data or formulae. The point about printing labels is already catered for
Ö <shift-f7> turns off labels and <shift-f6> turns off the grid as
explained in the manual and shown on the Default menu of the main Schema
Sheet menu. Dave Livseyæs last point is being taken into account for
future releases of Schema. For the moment, the only way is to copy the
relevant areas to a blank part of the sheet and print the marked block.
Ed.
4.6
Å Musical Macs Ö I would like to pick up on a point raised by Brian
Cowan in his Hardware Column (Issue 4.5 p22) where he states that, in
his view, since the advent of Impression 2, there is no need for
Archimedes owners to feel envious of Mac owners. This may be true of DTP
but, unlike the Archimedes, the Mac has excellent support for musical
applications, particularly professional Midi sequencing and direct to
hard disc audio recording.
4.6
With the release (at last) of Inspiration, Pandoraæs excellent Midi
sequencer, (I disagreed with the poor review it got in Risc User Ö and
with the fact that they thought Studio 24 Plus was good.) we now have a
sequencer which competes with the best on the Mac. There are still a few
features missing, though those it has are well implemented. It has very
powerful editing facilities, though it has no scorewriting abilities.
However, because it saves its files in the Midi Files Standard, as does
Rhapsody, it should, in theory, be possible to use Rhapsody and
Inspiration together.
4.6
However, it is the hardware support that puts the Mac far ahead of the
current Archimedes situation. For example, Digidesignæs ÉSoundToolsæ
expansion card for the Mac provides CD quality sampling and playback
(much like Armadilloæs A616). However, SoundTools has on-board memory
and intelligence enabling it to get on with the business of sampling/
playback whilst the host Mac can be running a Midi Sequencer, which in
turn can instruct SoundTools as to which samples to play, and when. The
multi-tasking Archimedes cannot do this Ö the A616 takes over the
Archimedes as a single task, preoccupying the processor and using the
main memory.
4.6
Then there are DSP cards. A Digital Signal Processing chip is a very
fast number cruncher (some are rated as high as 80 MIPs) dedicated to...
processing signals. They can do all sorts of things to digitised sound
(time delays, pitch changing, dynamic control, digital filtering, etc),
all in real time.
4.6
For people who still think that 4 MIPs is fast, Symetrix claim that
their recently launched DPR44 4-track digital recording and editing
system uses a processor running at 400 MIPs! It wonæt be cheap, though.
4.6
(Incidentally, for those of you still wary of dongles, I have two
dongles dangling off the back of my 410 Ö Impression and Inspiration Ö
and have not experienced any problems so far.)
4.6
The prospect of a Mac emulator sounds interesting, though youæd need a
pretty hefty ARM to emulate a 25MHz 68030 Mac 2. However, if you could
also hook up Mac Nubus expansion cards...
4.6
I am not particularly impressed with emulators in general. You get
accustomed to the native speed of any machine and emulation of other
environments will always be slower than native mode operation.
4.6
Iæve had an Archimedes now for three years and, as a programmeræs
machine, I still think itæs the beeæs knees but Iæd like to see the
Archimedes take on the Mac market in the music field the way that it has
in the DTP field. David Lenthal.
4.6
Å Starfleet encounter Ö Alan Highet gave a very unfavourable impression
of the program which was, I think, a bit unfair. (The author of the
program writes.)
4.6
Alan criticises the lack of a Éone player versus the computeræ option.
It results from the complexity of the gameplay which makes it quite
difficult (impossible?) to implement a good computer opponent. In any
case, isnæt it nicer to play with a fellow human being? Starfleet
Encounter has been designed to administrate the gameplay; you can regard
it as a kind of board game with a computerized referee and thatæs how
you have to judge it Ö even if there is an arcade action part.
4.6
Alanæs next point of criticism is that the players canæt hide their
plans from the opponent. This is not really true. The facility to
execute pre-programmed command macros is one mechanism to do so (these
sequences can be written before the players meet and can then be loaded
in). Secondly, who can deny that chess-players, for example, can hide
their plans from each other?
4.6
That Alan doesnæt like the method of programming the ships, is no
surprise to me. It really is somewhat difficult! This may be true if you
make use of all the programming features (functions, if-else-endif,
variables) but restrict yourself to the basic facilities and itæs
absolutely simple.
4.6
Finally, it is obvious that the simultaneous use of the keyboard by two
persons is not ideal, but how can Alan say it doesnæt work? I play
Starfleet Encounter quite often and I can assure you: it works!
4.6
Starfleet Encounter is available for ú10, sent in by cheque to Daniel
Tamberg Software, Landgrafenstr. 9, 1000 Berlin 30, Germany. This
includes a 28K on-disc manual and several example sequ-ences. Daniel
Tamberg, Berlin. A
4.6
4.6
Design Concept
4.6
New
4.6
4.6
Atomwide
4.6
From 4.5 page 26
4.6
But please can you strip in a change? The ú275 at the end of the first
paragraph should be changed to ú199. OK?
4.6
4.6
Computer Concepts
4.6
New
4.6
4.6
Computer Concepts
4.6
New
4.6
4.6
PipeLine
4.6
Gerald Fitton
4.6
Thanks once again to all who have written to me. As I write, I have half
a dozen discs which I have not yet returned; they will be returned as
soon as possible. You are getting more ambitious in your uses of
PipeDream and the quality of the applications which you send me are
excellent. This increased complexity means that it takes me a bit longer
to understand exactly what you have done and, consequently, there is a
delay in returning your disc to you Ö especially since I give priority
to letters asking for help.
4.6
Schema vs PipeDream
4.6
I have been sent spreadsheet benchmark comparisons between V 3.14 of
PipeDream and V 1.03 of Schema. I donæt have Schema myself so I am
unable to test out the claims but they come from a source I believe to
be honest. Possibly a new version of Schema has been issued since the
tests were done so these figures may be out of date, however, here are
some of the results.
4.6
Pipedream is about five time faster at manual recalculation. PipeDream
loads its own format files in about two thirds of the time Schema takes
for its internal format files. Both will load the universal CSV files
but Schema takes about 20 to 30 times longer to do so. PipeDream is
about four times faster than Schema when scrolling around the spread
sheet. Printing from PipeDream is 2 to 3 times faster than Schema.
PipeDream uses about half the memory that Schema does and PipeDream uses
memory dynamically (it gives up what it doesnæt need). Schema sorts in
about the same time as PipeDream but PipeDream updates cell references
whilst sorting. The version of Schema tested has a bug in the ÉInsert
rowæ; this bug causes cell references to be upgraded incorrectly.
4.6
Of course, Iæm sure that Schema will be upgraded and will improve its
performance. It does have some facilities such as built in charts that
PipeDream handles another way (e.g. by exporting data as CSV files to,
say, Presenter or GraphBox). Against that, PipeDream is more than just a
spreadsheet and has many facilities that Schema doesnæt. I think it
unlikely that anyone with PipeDream will want to add Schema to their
range of packages. If you have a different opinion or if you have
benchmarks which contradict the figures I have quoted then please write
to me so that I can present the other side of the story.
4.6
PipeDream on the Z88
4.6
Since I mentioned that I have a Z88, I have received half a dozen
letters specifically about linking the Archimedes to the Z88. Perhaps
the forum for such comment is through the PipeDream User Group. The
Pipedream User Group has a Newsletter and provides some technical
support. Write to me (at Abacus Training Ö address on the back inside
cover) if youære interested in joining.
4.6
Transferring files
4.6
PipeDream 1 was View Professional on the BBC Micro and was called
PipeDream on the Z88. View Professional came first and was written by
Mark Colton in 6502 code (the CPU of the BBC Micro). Mark translated
this program into Z80 code for the Cambridge Z88. Robert Macmillan (with
others) re-wrote the code in the high level C language and compiled it
for use under MS-DOS (for the PC range) and Arthur; this version became
known as PipeDream 2. PipeDream 3 is the multitasking, RISC-OS version
and was released at the Acorn User show on 21st August 1989; I am told
that the master disc was Émintedæ at 6 am that day! All versions of
PipeDream are upgrade compatible, so you can safely create a PipeDream
file on a Z88 or in View Professional knowing that it will run on a PC
under MS-DOS or on the Archimedes. PipeDream files created on a PC under
MS-DOS will run on the Archimedes under RISC-OS.
4.6
You have to be a bit more careful working backwards from the Archimedes
to the Z88 or to a PC because there are some features available in
PipeDream 3 on the Archimedes that are absent from PipeDream 1 or 2 but,
so long as you are careful, your formulae will work. Of course, text
files in the system font have no downward compatibility problems.
4.6
Manual recalculation
4.6
Some sheets or databases with many functions littering the document are
of the type where you need a lot of data entry before you need the
result of a recalculation. As an example, I add about a dozen names and
addresses to the PipeLine database at a time before printing labels etc.
If you use <ctrl-FO> and change the recalculation from auto to manual,
you will find that this speeds up data entry. Of course, you can change
it back or use <ctrl-A> to force a recalculation when youæve finished.
4.6
Mode 0
4.6
If you drop into mode 0 before doing a massive sort operation then you
will save about 20% of the sort time.
4.6
Default colours
4.6
The bug, ÉIncorrect number of output bits Ö printing cancelledæ will
materialise if you use a different colour scheme from the PipeDream
default. I have now been asked what the default colours are by some of
you who have lost the original somewhere! Use <ctrl-FR> and then, from
the top, the colours are 7, 0, 2, 11, 14, 11, 4. It seems that it is the
background colour which causes the problem rather than the other colours
(but you might know better!) so make sure you use the default.
4.6
Printing sprites
4.6
An earlier bug was that PipeDream would not print sprites correctly from
non square pixel modes (see Maurice Edmundsonæs article in the May 1990
Archive). This has been fixed sometime around version 3.1. I am still
getting letters from people with this problem who have not yet upgraded.
If you have a version earlier than 3.10, you should upgrade. If you have
3.10 or later then there is no urgency about upgrading; the latest
version is 3.14.
4.6
StartUp
4.6
PipeDream is a wonderfully integrated package which can be used as a
wordprocessor, spreadsheet and database all within the same document.
Because it can do all these things at once, its versatility makes
setting up a document seem more complicated than it really is.
4.6
If what you want to do in one document is mainly word-processing with a
few of the spreadsheet facilities included, it is better to set the
file-options differently from one which is to be used mainly as a
spreadsheet. In particular, unnecessary difficulties about such things
as whether cells expect their first entry to be left aligned text or
right aligned numerical values arise because the file-options have been
inappropriately set.
4.6
Almost any set of options can be preset by using a macro Ö but it is
unfortunate for the beginner that macros are a PipeDream facility best
tackled later rather than earlier in the learning process. Robert
Macmillan has provided a couple of macros for the Archive monthly disc
(also on the April 1991 PipeLine disc), one where the options are more
suited to a Spreadsheet (called new_ sheet) and one more suited to a
wordprocessor (called new_word). To run a macro, all you need to do is
double click <select> on the macro and it will run, carrying out all its
functions. Try the new_word macro and you will have a Édefaultæ word
processor document. Double click on new_ sheet and you will have a
default spreadsheet. You may then change the options further if you wish
but you will not be able to save your new option set as a changed
new_word or new_sheet macro. To change the macro you need to learn a
range of ÉEditing macroæ skills.
4.6
You may have a particular requirement for a Éstartup macroæ which uses a
set of file-options that you like but, as yet, you havenæt the skill to
write it. If so, send me a formatted disc (plus return postage and a
self addressed sticky label) with an example file, set up as you want
it, and Iæll send you back the disc with a macro that will do the job
for you.
4.6
Iteration
4.6
Malcolm Brown has sent me an interesting example of iteration which he
has used to solve a financial problem. The problem is to calculate the
size of loan repayments (e.g. hire purchase payments) knowing the size
of the loan, the interest rate and the repayment period. It is on the
Archive monthly disc and will be on the April 1991 PipeLine disc.
PipeDream does have financial functions (have a look at pages 157 to 160
of the User Guide) which could have been used to solve Malcolmæs problem
more elegantly. However, I like his solution because I believe it to be
an example of the use of PipeDreamæs iteration facility which is neither
too simple to be useful nor too difficult to understand what is
happening.
4.6
Generally, mathematicians use iteration only if a formula contains the
wanted variable Éimplicitlyæ in such a way that the formula can not be
Éinvertedæ (solved) to obtain an Éexplicitæ solution for the wanted
variable. Quadratic equations can be solved Éexplicitlyæ but quintics
(fifth power equations) and many Éreal lifeæ mathematical problems can
not. If you send me a solution to Malcolmæs ÉAmortisation Annuityæ
problem using PipeDreamæs built in financial functions, I will include
it on one of the quarterly PipeLine discs (and you will get a free
PipeLine disc or a refund if youæve paid already). The financial
functions of PipeDream will allow you to create a Érepayment scheduleæ
(showing just how much is still owed at any time).
4.6
Overseas PipeLine charges
4.6
Many of you have an annual subscription to the quarterly PipeLine series
which Éruns outæ with the April 1991 disc. The UK renewal is ú18 and, to
make it easy to calculate, Iæve decided that all overseas renewals will
be ú20. The extra ú2 covers postage to the EC and, since I enjoy
communicating with distant lands, I think Iæll subsidise subscribers
that are further away.
4.6
April 1991 PipeLine disc
4.6
Many of you have written in approving of the review on the January 1991
PipeLine disc which demonstrated how !FontFX could be used with !Draw to
illustrate a PipeDream document. Recently, I have been having trouble
using Acornæs !Draw to create my illustrations because I added a lot
more fonts to my !Fonts directory. Now I have an answer to the problem Ö
!Draw1╜. This is available on Shareware 34 and on the April 1991
PipeLine disc. !Draw1╜ has all the features of !Draw and many more. An
explanation of how it works, illustrations of some of its features and
how well it integrates with PipeDream will be included. !Draw1╜, unlike
Acornæs !Draw and the current version of Poster, will accept more than
100 fonts.
4.6
Puzzles
4.6
Another item on the January 1991 PipeLine disc which has been well
received is the Puzzles. If you have one which you would like to
contribute then, if it is suitable, I shall be most pleased to include
it on a PipeLine disc.
4.6
Interword files
4.6
Help! Does anyone know the best way or have any advise about importing
Interword files into PipeDream?
4.6
Amstrad CPC and PCW
4.6
Help! Has anyone any advice on serial port transfer of ASCII text from
Locoscript on an Amstrad to PipeDream?
4.6
In conclusion
4.6
Thank you for all your contributions. Please be patient if you donæt get
an instant reply. Abacus Training is not my full-time job (even though
my wife might say differently!); I teach a whole range of different
subjects at the local College of Further Education. So you see, I have
to fit PipeLine enquiries into the cracks between my College duties! A
4.6
4.6
Contact Box
4.6
Å Austrian Archimedes User Group will they hold their next meeting in
Vienna on March 22nd. For details, contact Mr T Halbritter, Laa 1, A-
3040 Neulengbach. Phone 02772Ö4654 (home) or 0222Ö80125Ö232 (office).
4.6
Å Glossop Computer Club meets every Monday at Oddfellows Hall, 69 High
Street West and has a very strong Archimedes contingent. For details,
contact John Dearn on 0457Ö862743 or Alan Crofton on 061Ö436Ö4658.
4.6
Å Wakefield BBC User Group has meetings which are relevant to Archimedes
on 3rd April, 1st May and 3rd July at Holmfield House, Thornes Park,
Wakefield. Details from Chris Hughes on 0924Ö379778 or Rick Sterry on
0924Ö255515.
4.6
Å Warrington Ö Any Archimedes users or user groups, please contact Robin
Melling, 80 Severn Road, Culcheth, Warrington WA3 5EB. A
4.6
4.6
Apricote
4.6
From 4.5 page 6
4.6
4.6
Coroutines in C
4.6
David McQuillan
4.6
Coroutines can be a powerful programming technique and I shall show how
to implement them in Acorn ANSI C.
4.6
öHmm, yes it seems like itæll be OK. It would be much better if it had
nested include files and macros in the input. Could you put a header
with a page number on each page output?ò
4.6
If you have done any amount of programming you know the problem. It
would be easy to write the input if it called the main program passing
each new line. The output would be easy if it called the main program to
get each line. However, they both have to be subroutines of the main
program Ö it seems like it is time for a whole raft of extra static
variables or structures containing state variables to be held between
calls. As more facilities go in, it all becomes more and more rickety,
unintelligible and error prone.
4.6
Coroutines to the rescue
4.6
Coroutines enable you to write a subroutine as if it were the main
routine. The implementation here works only with Acorn ANSI C release 3,
not release 2. I donæt know what changes Beebug ISO C would need. I do
know of one machine on which coroutines are quite impossible without
rewriting the operating system but, normally, the concept can be
implemented fairly easily using assembler.
4.6
Another major use for coroutines is to implement simulations. There is a
famous example by Knuth in his book ÉFundamental Algorithmsæ, in which
he simulates the elevator system in the California Institute of
Technology.
4.6
Coroutines are built into Simula and BCPL and, implicitly, into
Smalltalk and Lisp Ö especially the Scheme dialect.
4.6
Program description
4.6
The program has two coroutines, input and output, which call each other.
The main line does nothing except set it all in motion. The input
coroutine generates the fibonacci numbers and the output coroutine
prints each number and how much more it is than the last number. It is
all fairly simple to do otherwise, coroutines only prove themselves when
the going gets rough.
4.6
A coroutine is called by calling co_resume passing a pointer to a
coroutine structure and a value. The coroutine called will return from a
co_resume call it has made previously and the value will be the return
value. Each coroutine executes on it own stack. The implementation here
has void * type values so structures can be passed from coroutine to
coroutine.
4.6
There is a little question as to which coroutine it is best to start
first. I prefer a demand driven approach starting the output and then
requesting data with NULL indicating the end of data. However, it is
just as reasonable to follow a data driven approach, starting the input
and pushing the data to the output. This is just an example of how
democratic coroutines can be.
4.6
The main program does all the setup. co_initialise must be called once
at the beginning so the main program can be thought of as a coroutine.
co_ create must be called for every other coroutine. The stack size
should be set to some reasonable figure that I canæt advise on easily,
560 bytes are added by co_create for a chunk at the base of each stack.
4.6
The first call to co_resume for a coroutine passes the parameter as a
straightforward parameter to the associated procedure. Every subsequent
call returns from a co_resume call within the coroutine. An error is
generated if any coroutine tries to do a straightforward return.
4.6
So there you are, E=mc2 and donæt blame me if it all blows up.
4.6
/* > coroutine
4.6
*
4.6
* An example of coroutines.
4.6
*
4.6
* Works on Acorn ANSI C version 3.
4.6
* Does not work with ANSI C version 2 Ö tried and
4.6
* it looks hard without using assembler.
4.6
* Donæt know whatæs needed for Beebug ISO C.
4.6
*
4.6
* Code is very non-portable.
4.6
*
4.6
* No responsibility accepted if you come a cropper using
4.6
* the code. In particular I have not tried stack extension
4.6
* and interrupts with it.
4.6
*
4.6
* (c) put in Public Domain by David McQuillan Jan 1991
4.6
*/
4.6
4.6
#include <setjmp.h>
4.6
#include <stdio.h>
4.6
#include <stdlib.h>
4.6
#include <string.h>
4.6
4.6
/* coroutine header */
4.6
4.6
typedef struct {env ;
4.6
int *stack;
4.6
} coroutine_t;
4.6
4.6
typedef void co_procedure_t(void *parameter);
4.6
4.6
void co_initialise(coroutine_t *coroutine);
4.6
void co_create(coroutine_t *coroutine, size_t stack_size,co_procedure_t
*proc);
4.6
void *co_resume(coroutine_t *coroutine, void *parameter);
4.6
4.6
/******************************/
4.6
/* start of example program */
4.6
4.6
static coroutine_t main_coroutine,input_coroutine,output_coroutine;
4.6
static co_procedure_t input, output;
4.6
4.6
/* main routine creating + controlling */
4.6
int main(void)
4.6
{printf(ömain\nò) ;
4.6
co_initialise(&main_coroutine);
4.6
co_create(&input_coroutine, 2000, &input);
4.6
co_create(&output_coroutine, 2000, &output);
4.6
co_resume(&output_coroutine, NULL);
4.6
printf(öend main\nò);
4.6
4.6
return 0;
4.6
}
4.6
4.6
/* input coroutine */
4.6
static void input(void *parameter)
4.6
{i0 , i1, i2;
4.6
4.6
printf(öinput generates fibonacci < 100\nò);
4.6
4.6
i1 = 0;
4.6
printf(öinput initial %d\nò,i1);
4.6
co_resume(&output_coroutine, &i1);
4.6
for (i2 = 1; i2 < 100; i0=i1, i1=i2, i2=i0+i1)
4.6
{%d\nö , i2);
4.6
co_resume(&output_coroutine, &i2);
4.6
}
4.6
4.6
co_resume(&output_coroutine, NULL);
4.6
}
4.6
4.6
/* output coroutine */
4.6
4.6
static void output(void *parameter)
4.6
{*value ;
4.6
4.6
printf(öoutput number, difference from last\nò);
4.6
4.6
if ((value = co_resume(&input_ coroutine, NULL)) != NULL)
4.6
{*value ;
4.6
int this;
4.6
4.6
printf(öoutput initial %d\nò, last);
4.6
4.6
while ((value = co_resume (&input_coroutine,NULL)) != NULL)
4.6
{*value ;
4.6
4.6
printf(öoutput %d %d\nò, this, this-last);
4.6
last = this;
4.6
}
4.6
}
4.6
co_resume(&main_coroutine, NULL);
4.6
}
4.6
4.6
/* end of example program */
4.6
/****************************/
4.6
4.6
/*
4.6
* Library routines for coroutine_t objects.
4.6
*/
4.6
4.6
/* _kernel stuff */
4.6
4.6
#define STACK_DISP 0x230
4.6
#define JMP_SL 8
4.6
#define JMP_FP 6
4.6
#define JMP_SP 7
4.6
#define JMP_LR 9
4.6
4.6
#define V3_FP_MASK 0x80000000
4.6
#define SC_NEXT 1
4.6
#define SC_PREV 2
4.6
#define SC_SIZE 3
4.6
4.6
/* Resume a coroutine. */
4.6
/* coroutine may be current coroutine */
4.6
4.6
static coroutine_t *co_current = NULL;
4.6
static void *co_parameter = NULL;
4.6
4.6
void *co_resume(coroutine_t *coroutine, void *parameter)
4.6
{0 )
4.6
{coroutine ;
4.6
co_parameter = parameter;
4.6
longjmp(coroutine->env, 1);
4.6
}
4.6
return co_parameter;
4.6
}
4.6
4.6
/* Initialise coroutine handling */
4.6
/* Establish the Émainlineæ coroutine */
4.6
4.6
void co_initialise(coroutine_t *coroutine)
4.6
{setjmp(coroutine->env) ;
4.6
coroutine->stack = (int *) (coroutine->env[JMP_SL]-STACK_DISP);
4.6
co_current = coroutine;
4.6
}
4.6
4.6
/* coroutine starter for co_create */
4.6
static coroutine_t *co_starter;
4.6
static co_procedure_t *co_start _proc;
4.6
4.6
static void co_start(void)
4.6
{co_start_proc ;
4.6
(*proc)(co_resume(co_starter, NULL));
4.6
fprintf(stderr, öExit from coroutine\nò);
4.6
exit(1);
4.6
}
4.6
4.6
/* Create coroutine and start executing. */
4.6
void co_create(
4.6
coroutine_t *coroutine,
4.6
size_t stack_size,
4.6
co_procedure_t *proc )
4.6
{*stack ;
4.6
4.6
/* Put STACK_DISP space at beginning of stack */
4.6
/* Do some trial+error initialisation! */
4.6
4.6
if ((stack = (int *)malloc(STACK_DISP+stack_size)) == NULL)
4.6
{fails\nö) ;
4.6
exit(1);
4.6
}
4.6
4.6
memcpy(stack, co_current->stack, STACK_DISP);
4.6
4.6
stack[SC_NEXT] = NULL;
4.6
stack[SC_PREV] = NULL;
4.6
stack[SC_SIZE] = (int)(STACK_ DISP+stack_size);
4.6
4.6
setjmp(coroutine->env);
4.6
coroutine->env[JMP_SL] = (int) stack+STACK_DISP;
4.6
coroutine->env[JMP_SP] = (int) stack+STACK_DISP+stack_size;
4.6
coroutine->env[JMP_LR] = (int)co_ start;
4.6
coroutine->stack = stack;
4.6
4.6
co_start_proc = proc;
4.6
4.6
co_starter = co_current;
4.6
co_resume(coroutine, NULL);
4.6
} A
4.6
4.6
Language Column
4.6
David Wild
4.6
I was very interested to see the reports of new languages in the
February issue of Archive but rather disappointed to see that Acorn have
removed several from their list. While arguing about which language is
best is unlikely to be profitable, there can be no doubt that the
availability of a variety of languages helps to retain the interest of
the computer users and, eventually, lead to progress.
4.6
It isnæt always easy to see why anyone should want to use any particular
language against another. The drive to invent Forth, for instance, came
from the need to write programs to control the movements of a telescope.
The particular technology meant that concise programs were needed, but
most people didnæt want to learn machine code. It may be that the
decline in interest in Forth over the past few years has come because of
the easy availability of compilers on micro-computers.
4.6
Faced with a choice of BASIC, ÉCæ, Pascal and Fortran as a minimum, we
tend to forget just how recent this situation is. Five years ago, I was
working with a project planning program, on a PC, which turned out to
have been written in compiled BASIC. When I asked the people responsible
why they had chosen BASIC they said that, at the time the programs were
written, it was the only reliable compiler that was available. So far as
I know, the programs have now been rewritten using one of the more
modern compilers but it did emphasise that a language like BASIC, for
all its limitations in the Microsoft form (no procedures or multi-line
functions) could be used for programs which would sell, and sell
repeatedly, at prices in excess of ú1000 per copy.
4.6
I recently received, for review, a copy of a new language called
öCharmò. I shall have more to say about this in the next issue of this
column. The author has put a lot of work into it and it certainly seems
to have useful qualities but I did feel that, in the material he sent to
me, he didnæt put enough emphasis on telling me why I ought to be
interested in in another language. One thing I need to know is öwhatæs
in it for me?ò as a programmer. Now that so many programs and appli
cations are clamouring for attention, you need to show why a new one is
worth considering.
4.6
Before starting work on developing something that will involve you in a
great deal of work, you need to assess the size of the potential market.
Often, unfortunately, that will be much smaller than you would like Ö
and there may be nothing that you can do about it. The number of
Archimedes machines in existence gives an upper bound on the number of
copies that you can sell but you will also need to remember that some of
the users wonæt buy anything else anyway, some will not have any
interest in your part of the forest and quite a lot of them will already
have some software that they will use in preference to yours.
4.6
I, for instance, am unlikely to buy Schema Ö not because there is
anything wrong with it, but because I donæt have much need for a
spreadsheet and Pipedream will do all that is necessary. The problem
isnæt just money; with many of the programs I use regularly, I donæt
need to think about the technicalities while I am working and can save
my energy for the work I am doing. A new piece of software needs a lot
more thought at first and for some applications itæs just not worth the
effort.
4.6
To get your message to the maximum number of potential buyers you need
to set out the benefits of your program, and this applies to all
programs, showing why it would be worth having. Set them out in a way
that would help a potential user explain to his boss why the purchase
price would be worth spending. At the same time you must not oversell it
in the way of the advertisements for Microsoftæs latest spreadsheet
which claimed more time savings in a week for the öaverage spreadsheet
userò than the real average user spent using his or her spreadsheet.
4.6
At one time APL was sold in this way, with claims that you could write
an APL program in half an hour while a COBOL programmer would take four
weeks to achieve the same result. I donæt doubt that this was true for
some carefully selected programs, but I wouldnæt have tried to write
them in COBOL anyway.
4.6
If you are trying to sell the idea of a new language it is probably best
to start off, at least to yourself, by explaining in what way it is
better than BASIC. This is not because of the superiority of that
language, but because it is the one which is certainly available to
every Archimedes owner. From then you can go on to explain how it
improves on the other standard languages. In some cases, of course, this
will be by restricting the features while making them easier to use. The
dBase language is a lot less powerful than Pascal or ÉCæ, but you need
much less programming skill to achieve significant results in a limited
field.
4.6
Pascal compilation
4.6
Iæm sorry, but there was a mistake in my article last month. The program
from David Pilling does not multi-task while compiling. However, it is
still well worth buying as it makes the work of developing programs very
much easier. You can do multi-tasking compilations by creating an obey
file with all the necessary instructions in it and then executing it
from within an !Edit task window.
4.6
A decision which affects Pascal programmers is when to use É$includeæ
and when to use Éimportæ to bring in pre-written sections of program. If
the particular routine is only used once in the whole program, there is
probably nothing to choose between them, except that the import method
will lead to a slight reduction in compilation time.
4.6
The big argument for using Éimportæ in your own programs, is when you
need to include similar routines in various parts of your program. I
have a number of string handling routines which have their own routines
on which they call. If you use a simple É$includeæ method you may end up
with including the same routines several times in the same program. To
avoid this, you may need to include all these Épre-routinesæ at the
start of the main program, which then means that one simple include
statement wonæt do the job. This is one place where the Éimportæ method
really scores as, no matter how many times a routine is imported by your
program, only one copy of the Éaofæ file will be appended when the final
program is linked. A
4.6
4.6
EFF
4.6
New
4.6
4.6
Multi-media Column
4.6
Ian Lynch
4.6
Last month, I finished by saying that I would go through the authoring
of a simple Genesis 2 application, but first a couple of points about
distribution. The application can be made available to other people by
supplying it with a copy of the Genesis Browser Ö as long as it is not
for gain. (The Browser allows other users to look through your appli
cation, but not to alter it.) In other words, Oak Solutions will allow
the Browser to be distributed as long as you are not selling the
application commercially. If you do want to sell commercial applications
authored in Genesis, it will be necessary to pay Oak Solutions a small
royalty for the Browser.
4.6
Authoring a Genesis 2 application
4.6
The application I am going to produce will provide some support for AT
14 (Sound and music) of the Science National Curriculum at level 5. If
this doesnæt mean anything to non-education readers, donæt worry, it
confuses most people in education too! The point is just that I need a
focus and this gives me an excuse to put text, graphics and sound into
the application.
4.6
Planning
4.6
To author any application, it is necessary to have a topic, and an idea
of what you are aiming at. This can be planned out in great detail with
story boards, flow charts etc or it can be done on the hoof, so to
speak. Your preferred method will depend on several factors, not least
the complexity of the task, but it is easy to modify your work, so a
flexible approach is always possible. This rather reminds me of the
conventional wisdom of producing flow charts before writing a program.
Some do, but many donæt and many do their planning in a different way.
The only time I tried to use a flow chart for a piece of assembler I was
writing on the BBC B, before writing it, I got in such a tangle I
started again. My only useful flowcharts have been the ones I did to
pass computational Mathematics examinations at University Ö well at
least I got a certificate for them! I do intend to encourage planning
but not with very rigid rules or giving the idea that there is one
universal öright answerò to planning methods.
4.6
Our application needs to address the following information supplied by
the National Curriculum.
4.6
Å understand that the frequency of a vibrating source affects the pitch
of the sound it produces.
4.6
Å understand the relationship between the loudness of a sound and the
amplitude of vibration of the source.
4.6
Å understand the importance of noise control in the environment.
4.6
öPupils should explore sound in terms of wave motion and its frequency.
They should have opportunities to develop their understanding of the
properties and behaviour of sound by developing a wave model, for
example, through observation... This should be related to pupilsæ
experience of sounds and musical instruments, acoustic and electronic
instruments and recording and synthesis.ò
4.6
The first thing we must decide is how comprehensive the application is
to be, what resources are available and so on. One good point to note is
that, if you own the Genesis 2 editor, you can take someone elseæs work
and add refinements quite easily. In fact, a teaching application about
sound could well employ other RISC-OS applications such as Armadeus but
we will keep things simple since it canæt be guaranteed that you all
have any particular application.
4.6
What we will set out to do is to reinforce the main physical parameters
of waves, (wavelength, amplitude and frequency) and also how wavelength
and frequency are related to speed. Our application needs a title page
and then some linked pages which interactively explain the words and
concepts involved. We should try to make the presentation of the
information attractive and outline fonts make a big difference here, as
does a multi-sync monitor in a 256 colour mode! However, before I get
too carried away, for this exercise I will only use the system font,
Trinity and Homerton and try to make the application suitable for a
basic set up. I would like to know whether or not this approach should
be general.
4.6
Finally, interaction is known to hold the attention better than simple
presentation, so it helps if we force the user to answer questions and
make decisions when using the application.
4.6
Getting started
4.6
Starting the Genesis Editor is done by double-clicking on it in the
usual way. When it is installed on the icon bar, <menu> produces the
option NEW, from which you give the application a name, in this case
Sound and then drag the icon into a suitable viewer directory. A blank
page appears which just looks like an empty RISC-OS window. The size and
shape of the window can be altered in the usual RISC-OS way. In order to
get information to display in the window, frames are used in a similar
way to a desktop publisher. A frame is created by simply dragging the
mouse holding down <select>. Once a frame exists, you can put a variety
of things into it. First you can type text, which can be edited etc like
in a DTP. Next, you can drop Draw files or sprites into the frame which
can be scaled and dragged about. Then there are Euclid films and 3-D
pictures, Maestro files and Armadeus sound samples. Finally, you can
drop applications into frames and these can then be launched from
Genesis and run as if part of it.
4.6
The title page
4.6
First drag out a box (simply drag the mouse with <select> held down) the
width of the window and type in the text öAn example of an approach to
Science AT14ò. Then MENU Ö INFO Ö FONT Ö Trinity.Bold and Size 20. This
gives us a title. Now to centre the title MENU Ö FORMAT Ö CENTRE. Note
that you must click in the frame you want to apply something to before
you request the style or format from the menu, otherwise, if you had
several frames, Genesis would not know which you wanted to alter. Next,
we make a larger box underneath in order to type in the text. The text
is entered at 13 point in Trinity.Medium font. In order to make the page
look attractive I have used a grey background for the whole page and a
white background for the frame.
4.6
The picture below shows what it should look like. Note there are no
scroll bars on this window. This is to prevent adjustment since it is
not required in this application. To alter the window settings, you need
to go PAGE Ö INFO Ö WINDOW and call up a dialogue which allows you to
specify which of the window adjustments is available.
4.6
Buttons
4.6
The last thing to do is to make a way of moving from this page to the
next. Buttons are small objects which cause something to happen when the
user double clicks on them. Several of the ones more commonly needed are
provided in GenLib, a genesis resources library, but you can also design
ones of your own quite easily. I have used a öNextò button on my page so
that the next page I design will be displayed automatically when the
user double clicks on this button.
4.6
Well, perhaps a little long winded, but we have our first page. Next
time, I will build on from here some more pages describing how they can
be linked. I will pass on the application and the Browser to Paul so
that, if you get the Archive monthly program disc, you will be able to
see how the application is built up during the next few issues. A
4.6
4.6
4.6
4.6
Lindis International
4.6
From 4.4 page 26
4.6
4.6
The Serial Port
4.6
New
4.6
4.6
Using the PC emulator Ö Part 8
4.6
Richard Forster
4.6
If you have followed the series thus far, you should be able to write
powerful and graceful batch files with ease, aided only with a humble
copy of edlin. This month it should become even easier, as we take a
look at a few of the more advanced features of edlin. Of course, the
information is applicable to any file created by edlin, from batch files
to simple text files.
4.6
The first command of interest is öcò which allows you to copy a block of
text from a to b. To demonstrate the various abilities of this command
first create a text file of ten lines. There are no restrictions on the
contents but if you keep each line less than one screen line in length
and with different text on each line, you should find what follows
easier to understand.
4.6
The copy command is one of the more informative commands which edlin
offers. If you forget to mention where you want to place the text it
will actually tell you this, as opposed to giving a cryptic response,
more typical of other commands. This is useful, not least because there
are a lot of available options for the command. The basic command syntax
is:
4.6
<range-start>,<range-end>,<line> ,<number>c
4.6
The most important parts of the command are the commas. If you exclude
one of the other details (as we shall do below), it is still vital to
include the comma or the computer will be unable to work out which bit
of data has been left out. The only exception to this is the comma after
<line>. The most likely copy you will want to do, is to copy a block of
lines a single time. To demonstrate, we shall copy lines 3-5 into the
gap between lines 8 and 9. Type in:
4.6
3,5,9c
4.6
If you now do a listing of your file, you will see that there are now
thirteen lines, with line 3-5 identical to lines 9-11. From this, you
can see that the third item in the command shows the line just after
which you want your text to be inserted. You will notice that we have
not used the final comma or number. We could use these if we wanted more
than one copy of the line. So, to have four copies of line 1 placed
after line 4 type:
4.6
1,1,5,4c
4.6
A listing of the file will now reveal four copies of line 1, starting
from line 4 as required. You should also notice that the asterisk which
marks the current line has moved to line 4. Whenever we do any copy
command, you will find that it moves to the beginning of the new version
of the copied text. This asterisk is actually very useful, as it allows
us a couple of short cuts with the copy command.
4.6
If you omit the starting number for the range, the copied lines with
start from the current line and continue to the ending range. If you
omit the second number, the block copied will end with the current line.
You can also omit both numbers which will cause only the current line to
be copied. To copy lines 2-4 with our present situation we could
therefore type:
4.6
2,,8c
4.6
and if we then wanted line 8 to be copied twice so it occupied lines 14
and 15
4.6
,,14,2c
4.6
If you want to copy something to the end of your text, you do not need
to specify the exact number. If you had a 50 line long document and you
required a line of text to be copied to line 51 (the next free line),
then the third number can be set to anything above 50. The only
difference between the copies is that the current line is set to the
value given. Putting a 75 would therefore append the required text and
then place the asterisk on line 75. When you list text, the listing is
centred around the asterisk line and so you may find the text apparently
has övanishedò after trying such a command.
4.6
It may happen that you wish to move a block of text. You could of course
do this by using the copy command and then using the delete command on
the original block of text but edlin supplies an extra command with all
of this rolled into one, ömò, which, not surprisingly, stands for move.
The syntax of the command is very similar to that of copy, except that
there is no provision for making more than one copy.
4.6
As with the copy command, move allows you to miss out the starting
number, ending number or both, and will take the missing digits to be
the current line. You can also specify the number of lines you want to
move by putting a + followed by the requisite number of line instead of
the ending number. Create a new text file of ten lines and then type in:
4.6
3,+2,10m
4.6
If you list the text you will see that lines 3-5 have been moved to
before line 10. This may be hard to see at first, because lines 3-5 have
now been deleted and so everything from 6 onwards has been moved back 3
places. The lines we have just moved should now be occupying the space
from 7-10, as you would expect. Move has the same restrictions as copy,
namely that the commas must always be included in the command and also
that the range being copied, and the place being copied too, must not
overlap.
4.6
There are two other facilities available to us which you would expect to
find in any editing program - namely a search command and a replace
command. The first part of both commands is the range, and it is the
same for the two of them. As with the copy and move range, it consists
of two numbers separated by a comma, although there is no comma after
the second number.
4.6
Omitting the first number will start the search from the line after the
current line and omitting the second number of the range will continue
the search to the end of the file. You can of course omit both but
whatever you do, you must still include the comma in your command line.
4.6
Directly after the range, you also have the option of placing a question
mark. If you place one in the search command, you will be prompted for
confirmation after each occurrence of the string and pressing <N> will
get edlin to continue with the search. A question mark with the replace
command will get the computer to ask you for confirmation at each change
that occurs.
4.6
The syntax for the two commands is as follows
4.6
<range-start>,<range-end>[?]r <string1><CTRL-Z><string2>
4.6
<range-start>,<range-end>[?]s <string1>
4.6
The name of the command (either r or s) occurs after the range and
before the text. String1 is the text that the computer searches for and
it begins directly after the command letter. If, for example, you type a
space after the s, then that will be considered to be part of the
command. If you are using search, this is where the command ends and
edlin will name the line containing string the current line.
4.6
Replace obviously requires a second string parameter so that the program
knows what to change the old string to. You can omit this second string
by simply pressing <return> after the first string and any occurrences
of the first string will be deleted. If you want a replacement string,
you have to indicate the separation between the two strings to the
program. Spaces and commas are allowed as part of the strings and so is
the end of file marker, if used. You should therefore press <f6> or
<ctrl-<ctrl-Z> in between the two strings.
4.6
If I wanted to go through my 500 line program, selectively changing the
occurrences of öthe pc emulatorò to öthe emulatorò between lines 300 and
500 I would type in:
4.6
300,?rthe pc emulator^Zthe emulator
4.6
Whenever the string öthe pc emulatorò turned up, edlin would print to
the screen what the line would look like with it replaced with öthe
emulatorò ask the awe inspiring question öOK?ò. A response of anything
except a öyò would have edlin continuing its search for another
occurrence of the string without changing anything. When the task
finally comes to an end I would find that the current line was the one
containing the last replaced string. If, in the above example, I had
wanted all the changes to happen automatically without prompting, I
would have left out the ?, and if I had only wanted it from the current
line onwards, I would have left out the 300.
4.6
There is one last edlin command for us to look at: ötò for transfer Ö
this allows us to merge another file with the file we are editing. The
syntax of t is:
4.6
<line>t<filename>
4.6
Line is simply the number of the line before which you want to place the
other text. Not surprisingly, it you omit a number in this place, edlin
will take line to be the current line. After the t, you simply put your
filename, including path if necessary, and it will be loaded in and
placed inside your program. So, if I was writing my letters on edlin and
I had a file called ömiddle.txtò which contained a paragraph I always
placed in the middle of my letters, to place it in the middle of the 150
line letter I had in memory, I would type:
4.6
150tmiddle.txt
4.6
Why I would be writing my letters on edlin is left as an exercise for
the reader. Next time, we shall head back to the boot disc and dissect
some of the programs on it so far unscathed. A
4.6
4.6
Matters Arising
4.6
Å ARM3 Software Ö CJE Micros have admitted that a number of their ARM3
boards have been supplied with control software written by Aleph One.
CJE Micros have apologised to Aleph One and agreed to make a payment in
compensation. CJE Micros now have a new version of their ARM3 control
software which includes a number of new facilities. Updates are
available free for all CJE ARM3 users.
4.6
Aleph One have received payment from CJE Micros and have immediately
(and very generously) donated 30% of the compensation money to interna
tional relief through Archiveæs charity appeal. Many thanks to Aleph
One. Ed.
4.6
Å Removable Drive problems Ö By now, we have had enough experience of
the MR45 drives to spot a couple of weaknesses.
4.6
First of all, it looks as if, because the unit is so compact, there can
be problems caused by overheating. (Actually, we were given this tip-off
by someone using them with Macs Ö MR45æs are usually placed underneath a
Mac Plus or SE.) The cooling fan is underneath the case so, firstly, you
must never put the drives on a soft surface where the feet might sink in
and allow the openings around the fan to become obscured. Secondly,
given that the drive is on a hard surface, donæt pack other things too
closely around it, especially at the rear left which is where the fan
is, because this again could inhibit the air flow. (This does not apply
to the original metal-cased MR45æs because they have fans facing out of
the back of the box.) Putting things on top of the drive seems to be
less critical unless it is something that itself generates heat. I
discovered this the hard way Ö I had my WS3000 modem on top of it which
itself runs quite hot, especially when you also put a pile of papers on
top of it as I did. When I suffered a disc error and lost a couple of
articles, I moved the drive to a position where I wouldnæt be tempted to
cover it with paperwork.
4.6
The second weakness is that it looks as if the auto-parking of the heads
is not infallible. In other words, if you regularly switch the power off
without pressing the release button or dismounting the drive, it is
possible that you may get a head crash eventually. So, you have been
warned Ö always remove the disc before switching off the power. The
problem is, of course, that you cannot allow for power failures. What we
are therefore saying is that the drives are not 100% reliable. In fact,
Oak Computers have now decided not to supply these 45M removable drives
because they donæt feel that the drives fit in with their özero defectò
policy.
4.6
Never-the-less, I am using MR45æs all day, every day and I am prepared
to take the risk because they are just SO convenient for me. All the
material for the magazine is held on one of these discs and I can take
it backwards and forwards between home and the office. Before I had the
MR45æs, I had to use floppies to carry the text back and forth, copying
it to and from the hard drives at each end which was a real pain. If I
wanted to do some work at home, I had to remember to copy the files to
floppy and then remember to copy them back onto the hard drive in the
office. As it is, I know that I will always have access to the most up-
to-date information and all I have to remember to do is bring the MR45
cartridge home with me. I am aware that there is always the possibility
of data corruption, so I back up all the current files onto the fixed
hard discs fairly regularly. A
4.6
4.6
Small Ads
4.6
Å 18-pin heavy-duty Hermes printer, 100 cps, hardly used ú950 offers?
PipeDream 3 ú55, Terramex ú5. Phone 0483Ö62586
4.6
Å 30 colour pallettes Ö send ú4 or ú3, S.A.E. and formatted disc to R C
Melling, 80 Severn Road, Culcheth, Warrington, Cheshire, WA3 5EB.
4.6
Å A310æs for sale Ö several of different configurations. For details,
phone 0272Ö342180.
4.6
Å A310M colour + backplane, 40M hard drive ú950. (Will split.) A440/1
with 8M ram ú1700, Geniscan A5 scanner ú95, Panasonic KXP1124 ú140,
Cumana 40/80 drive ú70, Acorn DTP ú40, Rhapsody ú35, Knowledge Organiser
ú30, Interdictor 1 ú10, ArcDFS ú20. Phone Geoff on 0487Ö80632.
4.6
Å A3000 1 M ram board upgradable to 4M ú50. Phone 0332Ö701969.
4.6
Å A3000 colour ú700, Chromalock 235 ú175, Atelier ú70, Splice ú15, Tween
ú15, Render Bender ú45, five graphics discs ú15. All ono, ú950 the lot.
Phone 081Ö670Ö8055.
4.6
Å Acorn Colour Monitor reasonable condition úoffers Ö buyer collects
(Sheffield). Phone 0742Ö750619 evenings or mbox on Archive (#419) or
Arcade BBS (#274).
4.6
Å Acorn DTP ú60, Genesis ú40, FWPlus 2 ú40, BBC Elite ú12. Wanted:
Poster, Atelier, Pipedream 3, ROM board, 5╝ö 800k disc drive, Scanlight
Plus. Phone 0752Ö783663.
4.6
Å Acorn Prolog X,áas new, ú70. Phone Donald Prest on 031Ö336Ö4491.
4.6
Å Miniscribe 20Mb 3╜ö hard disc, Acorn podule and Computerware 4 slot, 2
layer backplane and fan, ú150. Phone 0742Ö750619 evenings or mbox
Archive BBS (#419) or Arcade BBS (#274).
4.6
Å Nightingale modem ú20, Commstar II (BBC) rom ú5, Hearsay ú28,
Knowledge Organiser ú26, Artisan II ú26, French Correspondence ú12, Fads
ú15. Des Woon 0255Ö880257.
4.6
Å Ovation ú65, Apocalypse ú10. Colin Thompson on 069Ö76530.
4.6
Å Risc BASIC Compiler ú50, also many games including Interdictor 1 ú14
and E-Type ú8. Phone 0843Ö603177.
4.6
Å Risc User magazines first 31 copies plus binders ú15. Voltmace
joystick ú12.50. Phone 021Ö705Ö1309.
4.6
Å System Delta Plus (1.09) ú30, SigmaSheet (2.01) ú30. ú50 both. All
o.n.o. Phone Stuart Bell on 0273Ö304825.
4.6
Å Wanted Ö RISC-OS / ANSI C Programmer with spare time to translate
exciting educational program. Phone 0203Ö616Ö325.
4.6
Charity Sales
4.6
The following items are available for sale in aid of charity. PLEASE do
not just send money Ö ring us on 0603Ö766592 to check if the items are
still available. Thank you.
4.6
(If you have unwanted software or hardware for Archimedes computers,
please send it in to the Archive office. If you have larger items where
post would be expensive, just send us details of the item(s) and how the
purchaser can get hold of them.)
4.6
User Guides ú2 + ú3 postage, Used discs 50p each, 10 for ú4, 50 for
ú15, Acorn ROM/RAM podule ú18, Family History ú9, Global View ú4,
Personal Investor ú9, I/O podule ú50, StarTrader ú5, Twin ú10,
Quazer ú3, Integrex colour dump ú10, Interdictor 1 ú6, Holed Out
ú8, Superior Golf ú9, Trivial Pursuit ú9, Artisan Support Disc ú2.
A
4.6
4.6
4.6
4.6
Competition Corner
4.6
Colin Singleton
4.6
Two players in a game of Snap each have the thirteen cards of one suit,
shuffled and stacked face down in front of them. They turn up their
cards one at a time, simultaneously, and shout Snap! whenever the two
cards presented at one turn have the same value. We are not concerned
with who is quicker, but with the number of snaps there might be in the
course of the game.
4.6
Considering one hand as a standard sequence, there are 13! (thirteen
factorial = 6227020800) different possible sequences for the other.
4.6
How many of these will produce no snaps in the course of 13 turns? How
many will produce exactly one snap (not more)? Two snaps? Three
snaps?... Thirteen snaps?
4.6
If you find that too easy, then consider the game played with a full
pack of 52 cards each. In this case cards must match exactly i.e. value
and suit. You will, of course, need multi-length arithmetic for this
one.
4.6
Entries and comments either to Paul at N.C.S. or to me at 41 St Quentin
Drive, Sheffield S17 4PN.
4.6
The solution to the November (Seven Dwarfs) Competition is that there
are 42 groups of possible seating positions. 14 groups contain just one
position each, 14 contain 57 each and 14 contain 302 each.
4.6
The prize is shared between Graham Jones of Durness and Dr W O Riha of
Leeds. Graham found that the numbers are the Eulerian Numbers, for which
there is a published algorithm. Dr Riha discovered a recurrence relation
which enables you to calculate the numbers for N dwarfs from those you
have already calculated for N-1 dwarfs. The calculation then becomes
trivial.
4.6
The winner for December, Cyclic Numbers, will be given next month. Any
more entries for January, Calculation of e, or February, Mastermind? A
4.6
4.6
IFEL
4.6
new
4.6
4.6
BASIC Plots Converted to Draw Files
4.6
Steve Kirkby & Dr G Toulmin
4.6
The clever part (the program) was devised by Dr George Toulmin while
Steve Kirkby wrote this article.
4.6
What the program does
4.6
This program will convert the coordinates of a set of points produced by
a BASIC procedure into a Draw file. When this file is loaded into !Draw
or !Draw1╜ (Shareware 34) or Poster or a DTP package, it will behave
exactly as a normal Draw file consisting of a single object. The Draw
object produced consists entirely of straight line segments, i.e. no
Bezier curves, and since the x and y coordinates of all points must be
individually specified, circles, squares etc. must be so specified in
the program rather than by the use of PLOT, CIRCLE, RECTANGLE etc.
4.6
The technique would be useful to anyone in science, mathematics, arts or
craft/design (e.g. textile design or a Greek Key border or the curve of
a table top?) wanting to create Draw designs based on mathematical
expressions or geometrical procedures. These could be lines or trigonom
etrical or exponential curves and spirals which are impracticable to
draw accurately by hand, and polygons and circles etc. whose position,
size, distortion or orientation must follow a mathematical expression.
Also, a Draw image has a number advantages over a sprite: it is printed
to the higher resolution of the printer rather than of the screen, it
can be manipulated in a host of ways and often it uses less memory than
a sprite.
4.6
How it works
4.6
The demonstration program, which is sprinkled with REMs, essentially
does three things. Firstly, it assigns values to the x and y coordinates
of a set of points and stores them in an array with PROC_CreatePoints.
(To create your own set of points, alter this procedure accordingly,
including the value assigned to the variable NoOfPoints% if necessary.)
Secondly, it converts them into Draw format using PROC_CreateDrawFormat.
Thirdly, it saves the pairs of coordinates to disc in the form of a Draw
file under your chosen name, as a single object Ö PROC_Save.
4.6
You may also be interested to refer to Risc Useræs article in Vol. 3.5
and 3.6 on displaying Draw files from within a BASIC program (i.e. the
opposite to the program in this article).
4.6
10 REM>BAS_Draw
4.6
20 REM By Dr G H Toulmin.
4.6
30 REM PROCsetup initializes.
4.6
40 REM Coords should be >0 and in mm.
4.6
50 REM PROC_CreateDrawFile(array,n) adds the n+1 points (array(0,0),
array(0,1)) to the file called outfile$.
4.6
60 REM PROCsave writes data to file outfile$ and sets filetype
4.6
to DrawFile.
4.6
70
4.6
80 PROCsetup
4.6
90 PROC_CreatePoints
4.6
100 PROC_CreateDrawFormat(coord(), NoOfPoints%)
4.6
110 PROCsave
4.6
120 END
4.6
130
4.6
140 DEF PROCsetup
4.6
150 REM Inserts 10 words of preamble into block plot%, eventually
4.6
to be copied to outfile$.
4.6
160 DIM plot% 1023:plotc%=plot%:REM Initial allowance for output
4.6
file: plot% remains unchanged
4.6
but plotc% is redefined as required, by PROCadd.
4.6
170 DIM preamble%(10)
4.6
180 preamble%()=&77617244,&C9,0, &5F534142,&77617244,&20202020,
&7FFFFFFF,&7FFFFFFF,&80000000 ,&80000000 : REM 4th & 5th
4.6
words are the name of the
4.6
prog. producing the file
4.6
(ie., BAS_Draw)
4.6
190 minx%=&7FFFFFFF:miny%=&7FFFFFFF :maxx%=&80000000:maxy%=&80000000
4.6
200 FOR ptr%=0 TO 36 STEP 4: plot%!ptr%=preamble%(ptr%/4)
4.6
:NEXT ptr%
4.6
210 ptr%=40
4.6
220 INPUT ÉöType the name for the DrawFile to be created (with pathname
if necessary)ò
4.6
æÉöEg., :Floppy.$.DrawFiles. Spiral1 ò,outfile$
4.6
230 scale=180*256*.039375:REM One mm in internal Draw units (PRM
4.6
p.1489). The unconventional conversion is implied by
4.6
Draw Edit box.
4.6
240 ENDPROC
4.6
250
4.6
260 DEF PROC_CreatePoints
4.6
270 REM Arithmetic spiral.
4.6
280 NoOfPoints%=500
4.6
290 DIM coord(NoOfPoints%,1)
4.6
300 FOR N%=0 TO NoOfPoints%
4.6
310 th=.1*N%:r=12.7*th/(2*PI)
4.6
320 coord(N%,0)=105+r*COS(th) :coord(N%,1)=150+r*SIN(th)
4.6
330 NEXT N%
4.6
340 ENDPROC
4.6
350
4.6
360 DEF PROC_CreateDrawFormat (array(),npts%)
4.6
370 REM Inserts points from array as one Draw öpathò.
4.6
380 LOCAL n%
4.6
390 bytes%=12*npts%+56
4.6
400 PROCpreamble
4.6
410 PROCadd(-1):REM No fill.
4.6
420 PROCadd(0):REM Line colour=black
4.6
430 PROCadd(0):REM Line width is minimum.
4.6
440 PROCadd(&20100042):REM Bevelled joins, butt caps, even/odd
4.6
winding, triangle cap width
4.6
=line width, cap length double
4.6
line width. (PRM pp1794-1795)
4.6
450 FOR n%=0 TO npts%
4.6
460 IF n%>0 THEN PROCadd(8) ELSE PROCadd(2)
4.6
470 PROCstep(array(n%,0),
4.6
array(n%,1))
4.6
480 NEXT n%
4.6
490 PROCpostamble
4.6
500 ENDPROC
4.6
510
4.6
520 DEF PROCpreamble
4.6
530 REM Writes heading for path.
4.6
540 pminx%=&7FFFFFFF:REM Min. values for box coords. initially set to
4.6
550 pminy%=&7FFFFFFF:REM largest possible pos. integer, and
4.6
max. values
4.6
560 pmaxx%=&80000000:REM to largest neg. integer, to ENSURE they
4.6
are reset
4.6
570 pmaxy%=&80000000:REM at lines 680 and 720 when first path
4.6
point written.
4.6
580 PROCadd(2):PROCadd(bytes%)
4.6
590 keep1%=plotc%+ptr%:PROCadd(0)
4.6
600 keep2%=plotc%+ptr%:PROCadd(0)
4.6
610 keep3%=plotc%+ptr%:PROCadd(0)
4.6
620 keep4%=plotc%+ptr%:PROCadd(0)
4.6
630 ENDPROC
4.6
640
4.6
650 DEF PROCstep(xx,yy)
4.6
660 REM Writes one pair of co-ords. and updates bounds.
4.6
670 v%=scale*xx:PROCadd(v%)
4.6
680 IF pminx%>v% THEN pminx%=v%
4.6
690 IF pmaxx%<v% THEN pmaxx%=v%
4.6
700 v%=scale*yy:PROCadd(v%)
4.6
710 IF pminy%>v% THEN pminy%=v%
4.6
720 IF pmaxy%<v% THEN pmaxy%=v%
4.6
730 ENDPROC
4.6
740
4.6
750 DEF PROCpostamble
4.6
760 REM Closes path and writes bounds in preamble.
4.6
770 !keep1%=pminx%:!keep2%=pminy% :!keep3%=pmaxx%:!keep4%=pmaxy%
4.6
780 IF minx%>pminx% THEN minx%= pminx%
4.6
790 IF maxx%<pmaxx% THEN maxx%= pmaxx%
4.6
800 IF miny%>pminy% THEN miny%= pminy%
4.6
810 IF maxy%<pmaxy% THEN maxy%= pmaxy%
4.6
820 PROCadd(0)
4.6
830 ENDPROC
4.6
840
4.6
850 DEF PROCadd(v%)
4.6
860 REM Adds the value v% to the output buffer.
4.6
870 plotc%!ptr%=v%
4.6
880 ptr%+=4
4.6
890 IF ptr%>1016 THEN
4.6
900 DIM new% 1023
4.6
910 plotc%!1020=new%
4.6
920 plotc%=new%
4.6
930 ptr%=0
4.6
940 ENDIF
4.6
950 ENDPROC
4.6
960
4.6
970 DEF PROCsave
4.6
980 REM Insert overall min and max values first.
4.6
990 plot%!24=minx%:plot%!28=miny% :plot%!32=maxx%:plot%!36=maxy%
4.6
1000 handle%=OPENOUT outfile$
4.6
1010 WHILE plotc%>plot%
4.6
1020 SYS öOS_GBPBò,2,handle%,plot% ,1020
4.6
1030 REM Unlike *Save, can continue (update) open file.
4.6
PRM p.872.
4.6
1040 new%=plot%!1020:plot%=new%
4.6
1050 ENDWHILE
4.6
1060 SYS öOS_GBPBò,2,handle%,plot%, ptr%
4.6
1070 *CLOSE
4.6
1080 OSCLI öSetType ò+outfile$+
4.6
ö DrawFileò
4.6
1090 ENDPROC A
4.6
4.6
Shareware Disks N║s 25 & 30
4.6
John Brooks
4.6
Shareware N║ 25 is a compilation of mathematics programs/functions and
procedures. Most are written in BASIC though there are some which use
assembler. There are far too many items to mention individually as it
would take up far too much space. However, here is a list of the type of
programs included:
4.6
Numerical integration: Simpsonæs rule
4.6
Solution of polynomial equations
4.6
Solution of simultaneous linear equations
4.6
Generation of equations from roots
4.6
Cubic splines and interpolation
4.6
Primes
4.6
Series
4.6
Puzzles
4.6
Fourier transformations
4.6
Function plotter
4.6
Extended precision calculator
4.6
Recurring decimals
4.6
3-d surface plotter
4.6
Frequency and time response of linear circuits
4.6
Pole zero plots
4.6
Also included are various functions and procedures in these areas:
4.6
Beta function
4.6
Binomial coefficients
4.6
Permutations
4.6
Elliptic integrals
4.6
Error functions
4.6
Factorials
4.6
Gamma functions
4.6
Polynomial interpolation
4.6
Integration
4.6
Write# in ASCII form
4.6
Hyperbolic functions and inverses
4.6
Complex arithmetic and functions
4.6
Polar to rectangular conversion
4.6
Various matrix operations
4.6
Now some of this may seem very esoteric (Iæm not a complete dummy at
maths but some of this stuff I have never heard of) and the question is,
öIs this disc worth ú3ò?
4.6
Well, that depends on what you want. To my mind, this disk is essen
tially a library of code for performing various mathematical tasks. If
you ever need any of these procedures then you have these tried-and-
tested versions to get you going. It saves a lot of work that way.
4.6
I also find that this type of disk is useful for looking at other
peopleæs code to see how they tackle things, I might pick up a tip or
two to improve my own code (or indeed see some things to avoid), and
there are plenty of examples to look up in here.
4.6
Shareware N║30 is a ösound/musicò collection consisting essentially of
one application (!STracker) and a directory (Modules) containing some
sample data for the application.
4.6
For anyone who has not yet heard of !STracker, more commonly called
soundtracker, it is a utility that plays ömusicò in the background
whilst other work can carry on in the foreground. Four pieces are
included in the modules directory:-
4.6
AxelF Ö theme music from Beverley Hillæs cop
4.6
Dream Ö short, but nice
4.6
ProgFunk Ö err??
4.6
VivBeat Ö with some very convincing thunder
4.6
If you have access to any bulletin boards or public domain software,
there are loads of soundtracker modules around that you can acquire.
4.6
For those who have ever only heard !Maestro tunes, the quality and range
of voices in soundtracker modules is quite remarkable, especially if you
have an external amplifier and speakers. Also included on the disk is a
utility called !RunThis which plays yet another soundtracker module
called TESTMOD (Iæm not sure that this would be called music though) and
displays which voice is being used and which particular pattern is being
played at the time. Finally, there is an !Edit file with some of the
history and background information about soundtracker.
4.6
As one who likes messing around with computer music, I quite like this
piece of software. It is not actually very useful by itself but is an
impressive demonstration of the Archimedesæ abilities. It could also be
useful if you are writing some software which requires background music.
A
4.6
4.6
Econet Column
4.6
Neil Berry
4.6
I have received a number of letters this month from network managers who
are worried about the possible consequences of this series of articles,
with regard to the security of their own networks. It would be nice to
think that all network users were responsible people and that there was
no such thing as hacking but, of course, this is a nieve view. There are
people who are not content with using the network as a normal user, but
seem to want to just have a general fiddle. Whether the intention is
destructive or not, this can cause real problems for network managers
and so, in an attempt to keep the sanity of managers who read this
column, I will restrict my comments and reviews to those of a rather non
technical nature. I know this will disappoint those of you who have
written to me asking for technical details but, to keep the peace, I
will not be able to print system-privileged information.
4.6
Over the next few months, I will be writing about various types of
connectivity from Econet brands and hard disc sharing systems, to
external connectivity with IBM / DEC machines over Ethernet and Unix. To
begin with, I will be starting with shared hard disc systems, in
particular Nexus and the Software Solutions server.
4.6
A new concept from S.J.Research
4.6
The Nexus system consists of a hard disc shared between a number of
Archimedes machines and allows the formation of a common resource area
where applications may be stored and as a temporary store for private
files and data. The Nexus system uses a stared network topology, unlike
Econet which uses a BUS system and, for this reason, is not dependent
upon all of the machines functioning correctly. It comes in a large box,
about the size of a 400 series Archimedes, containing a hard disc, and
is intelligent enough to communicate with up to 8 RISC-OS machines
simultaneously. The system uses twisted pair cabling and each system arm
may be up to 100m in length, even without using line drivers, although
these are available.
4.6
One of the main problems with older Econet systems is their slow data
transfer rates, around 200 to 300 kilobits per second. S.J. with their
new system have made a point of trying to maintain Nexus speeds close to
that of a local Acorn hard disc, approximately 10 to 20 megabits per
second. S.J. say that the systemæs response time, even with full
capacity use from eight machines, should not drop below that of a floppy
disc, which is obviously a great speed increase over Econet systems.
Each Archimedes needs to be fitted with its own communication card,
which would require a backplane to be fitted on an A310 but, other than
this, no networking hardware is required.
4.6
The Disc Sharer
4.6
The Disc Sharer from Software Solutions, is a multitasking utility that
allows Archimedes computers (and BBC micros) to access the local hard
disc of another Archimedes machine, by using the Econet. Unfortunately,
running the system down the Econet cables causes the same sorts of
problems encountered with using the ordinary Econet system. Relative to
the Nexus system, it is a lot slower and requires the presence of a hard
disc and Econet hardware, to be installed on at least two machines.
4.6
Using the systems
4.6
Both of the systems are multi-tasking utilities which install themselves
on the icon bar. The Nexus system installs itself as a dual icon on the
icon bar, one for a personal Éscratch-padæ area and the other for read-
only access to the shared application areas. The Nexus system is
primarily aimed at the sharing of common resources, with only a small
area for general read/write applications.
4.6
The Software Solutionsæ server, on the other hand, is more akin to an
actual fileserver and, as it may be used on a mixed network of Archi
medes and BBCæs, speeds have to be such that the BBCæs are able to cope
with sending and receiving files to the main server computer. The size
of work area of the Solutions server depends on the size of the hard
disc available on the machine that is being used. However, the Nexus
server is currently supplied as a standard 40Mb drive although S.J. are
willing to discuss units with higher capacity for anyone who thinks that
they really need more Mega-Bytes!
4.6
This limited capacity of 40Mb may seem to be a black mark against the
S.J. server but, when you think about exactly how much space your
frequently used applications actually take up, you might be quite
surprised at how little space they do take. Suppose that a system was
used by the full eight users and the server had a shared resource area
of 20Mb, which is a lot of space for a read-only sector, you would have
about 2Mb of Éuser areaæ for each of the users.
4.6
The Solutionsæ server, on the other hand, is only restricted in space
by the size of the hard drive and will allow up to 32 users to be logged
on. When a user is logged on, he would usually be presented with a
normal view of the Archimedes hard disc. However, there are so-called
Éfixed usersæ who are not allowed to see the root directory or other
directories of the hard disc or to set the password or boot options etc.
In this way, some basic forms of access can be implemented. In compari
son to standard S.J. and Acorn file servers there is little or no user
protection, by way of specific user areas and different levels of
access, although the S.J. server does, in my mind, win through by having
separately accessible storage areas rather than one single user i.d., as
the Software Solutionsæ server has.
4.6
Setting up the systems
4.6
To use the Nexus system, you will require the S.J. hard disc unit of
40Mb which, for four stations, costs ú1240. Each machine that uses the
disc will require an interface card which comes as a standard podule for
A300 and A400 machines and as an internal podule for A3000 machines.
Either of these is easily installed by the user. Standard or custom
length cables may be purchased to connect the machines in a star
arrangement. Each of the standard cables has a D-Type connector at the
disc end and a din plug at the podule end and can be between 1.5m and
30m, costing from ú10.75 to ú25.00, and ranging in speed from 20MHz to
10MHz for the longer cables. Therefore, to run a system of eight
Archimedes inside one room will cost in the region of ú2300 +VAT.
4.6
The Solutionsæ server, on the other hand, uses only the Econet system to
communicate with its hard disc and so, for those establishments that
already have Econet, no further hardware needs to be purchased. This
must clearly be seen as an advantage over the Nexus system. The
educational price for a network licence for the Disc sharing system is
ú126.50 inc VAT Ö much cheaper than Nexus. Of course, if you do not
already have an Econet system, minimally consisting of at least a clock
and connecting wires, then this of course would have to be added to the
costing.
4.6
To sum up, I would personally opt for the Nexus system, despite its
relatively high cost, mainly for its ease and speed of use. However, the
much, much cheaper Software Solutions Disc Sharer cannot be overlooked
mainly because of its price.
4.6
What next?
4.6
In the near future, I hope to be dedicating a series of articles to the
new Level IV fileserver from Acorn Ö when Iæve amassed enough
information.
4.6
As always I can be contacted at: 21 Pargeter Street, Stourbridge, West
Midlands, DY8 1AU (no phone calls please). If you have any comments
about this column or would like to offer up some ideas, please feel free
to write to me. If you have developed any new network software, no
matter how trivial it may seem, I would like to see it and give it a
review. A
4.6
4.6
Writing Maths: Equasor
4.6
Brian Cowan
4.6
How do you decide which computer to buy? This may seem a strange
question with which to start a review of a software product but,
hopefully, the reason will become clear as you read on. The sensible
person would probably choose the computer which runs the software
packages which he/she requires. By this definition, the early Archimedes
owners would seem to have been somewhat lacking in sense! They purchased
a machine with virtually no software base, a turbo-charged BBC micro
with a desktop environment which was, thankfully, optional.
4.6
Foresight
4.6
What these ösenselessò people appreciated was the phenomenal power of
this new computer and its ARM chip set. Buying an Archimedes in those
early days was an investment, or a gamble, depending on how you viewed
it. With that sort of raw power available for the first time in a
microcomputer, and at a reasonable price, the software should follow.
When it did, there was the potential for some really earth-shattering
products Ö and so it has transpired.
4.6
Good impression
4.6
Computer Concepts seem to have adopted precisely this philosophy.
Readers will know of Impression, if not by experience, then by repute.
This is the DTP package by which others are judged. I have been using
Impression for the last few months and now I think I would be lost
without it. At work, I have arranged for the purchase of a site licence
so that my colleagues can also have the benefit, such is my regard for
this product.
4.6
More goodies
4.6
In other areas also, Archimedes owners are finding new software which is
the equal of, or better than, that available for the more ötraditionalò
machines. For example Schema for spreadsheets, Pipedream for övirtually
everythingò, Reduce for computer algebra, WorraCad for drafting, and new
products on the horizon. Soon, we should have the last word in database
programs, and new PC emulation which will eclipse even an IBM. There are
certainly exciting times ahead.
4.6
Writing maths
4.6
But back to the subject of this review. I have mentioned in the past my
particular need for producing mathematical equations within documents,
as most of my writing is of a scientific or mathematical nature. In the
past, I have been using First Word Plus together with a special maths
font which I designed years ago, and which is sold by Ian Copestake
Software as a öFirst Fontò. This has served me well and I have been
reluctant to change until something much better came along. Perhaps it
finally has.
4.6
First Fonts
4.6
I must, however, first extol the virtues of the First Font option. The
advantage of this is that it is an integrated system. Text and the
equations are all written together and the production of documents is a
beautifully simple process. However, simplicity comes at the expense of
flexibility. One has only the standard First Font font, and slightly
different font sets are used with different printer drivers. For
increased versatility in the production of scientific (and other)
documents one must graduate to a more sophisticated system.
4.6
Next steps
4.6
There are two types of solution to this problem. There is a remarkable
software package called TEX. The Pascal program for this is in the
public domain and there are implementations of this available for the
Archimedes, both a PD version and also a commercial product. TEX is
essentially a type-setting language. To produce a document, one writes a
file of text and strange codes. This file is then processed by the TEX
program, to drive a printer or possibly a screen previewer. So to write
a document one actually types in what seems to be a load of gobblede
gook. I think you have to have a certain kind of brain to do this sort
of thing well. I have used TEX both on mainframe computers and on the
Archimedes and I find it rather tough going. This is no criticism of
TEX; it is my problem. The Archimedes PD version I used is quite superb,
with a really good screen previewer. Notwithstanding the excellence of
the product, I prefer the other approach. I find it much easier to use a
öwhat you see is what you getò system. So, I prefer to produce documents
using a DTP type of program; I really need to see what is going on. The
disadvantage (with existing systems) is that the production of text and
the creation of equations are no longer entirely integrated.
4.6
Equasor
4.6
Equasor is an equation generator. It is not a scientific DTP program; it
would usually be used in conjunction with a separate DTP package.
Equasor is produced by Computer Concepts and so, in style, many aspects
are similar to Impression. The two products, not surprisingly go
together very well but Equasor can be used in conjunction with any DTP
product, or it can be used alone, simply to produce equations. Part of
the versatility of Equasor is due to the fact that it produces its
equations in Draw format. Thus, an equation may be imported into any
document which supports Draw objects or it may be sent to a printer
driver. Using Impressionæs embedded frame facility, an equation may be
incorporated into a line of text. In fact, embedded frames almost
completely integrate the equation and text creation processes; this is a
powerful feature of Impression.
4.6
Intelligent behaviour
4.6
In conception, Equasor is rather like the utilities FontDraw and FontFX
in that it facilitates the creation of öfancy effectsò from the
available font sets but here, the fancy creations are mathematical
equations. As a matter of course, all the usual mathematical features
are provided, such as superscripts and subscripts, a variety of
brackets, integrals, sums and products, roots and fractions, etc.
However, the remarkable feature of Equasor is that it appears to be
intelligent. Thus subscripts, superscripts and limits are automatically
scaled to 75% of the preceding text. This applies recursively although
any of these things can be overridden if required. The other aspect of
intelligence in the program is that the cursor always seems to go to the
right place at the right time while creating a complex expression. Thus,
for instance, in producing a character which has subscripts and
superscripts, having selected the character, the cursor moves to the
subscript position. When these have been entered, on pressing the öarrow
rightò key, the cursor moves to the superscript position and when these
have been entered, a further öarrow rightò press moves the cursor to the
normal position for the next full character.
4.6
EFF MathGreek font
4.6
It is an unfortunate fact of life (or so the mathematicians would have
us believe) that our alphabet contains only twenty six letters.
Mathematics thus makes frequent use of Greek characters. It also uses a
variety of special symbols as well as the odd Hebrew character. Equasor
is supplied with the MathGreek font set from the Electronic Font
Foundry. In use, these symbol fonts are available from a symbol window
rather like the !Chars application; öclickingò on a character in the
window enters it into the equation at the cursor position. In general,
the EFF font set is a good compilation of symbols and characters needed
by the mathematician. There are a few extras that I would like to see,
such as the second Planckæs constant h_ and the mathematical symbols >~
(of the order of or greater than), <~ (of the order of or less than) and
[__] , (as well as I can produce them using existing characters together
with Impressionæs kerning facility). I have one serious criticism
concerning the existing MathGreek font set, however. At present, EFF
provide an upright and an italic set. However there is a serious need
for bold versions of these, particularly for the Greek characters.
Vectors are conventionally denoted by bold characters and one does use
Greek vectors. I hope EFF will rectify this omission.
4.6
Proof of the pudding
4.6
The best way to understand Equasor is to use it. In fact, I extensively
used beta test versions of the product for some time before I even had a
manual. The fact that I was able to produce some quite complex equations
is an indication of how intuitive the program is to use. Here are some
examples:
4.6
4.6
4.6
This sort of expression is called a continued fraction. It does not look
too complicated, but the important point to note is the ease with which
this was produced using Equasor. The lines all adjusted themselves to
just the required length and everything aligned automatically. It would
have been quite a nightmare (for me) to produce such an expression using
TEX, calculating where to put the lines and characters. Now for an
equation involving solid angles.
4.6
4.6
This equation was quite straightforward to produce. I had a little
difficulty in creating the vertical line of the right size; that was not
done automatically. The next three equations were trivial to produce
using Equasor. They really demonstrate the power of the program. Here is
an expression concerning the refraction of the electric part of an
electromagnetic wave.
4.6
4.6
Next we have the azimuthal component of an electric field expressed in
terms of spherical harmonics. This involves subscripts and superscripts:
4.6
4.6
Now, in a different area of physics, comes a formula from what is called
Fermi Liquid theory (one of my current projects). This involves all
manner of subscripts, superscripts, primes, arrows and goodness knows
what.
4.6
Looking at these equations, you see that the Latin symbols are all
printed in italic form, This is the conventional way and it occurs
automatically (although this can be overridden). Greek symbols can be
configured to appear italic if desired; convention is a little hazy
here. Operators such as cos and sin are printed upright and these may be
selected from a menu. Also, the menu allows one to create new forms,
which can be stored for future usage.
4.6
Limitations and bugs
4.6
There is a class of mathematical objects which the present version of
Equasor can not produce. These are things like matrices, that is, tables
of symbols separated horizontally or vertically with no operator between
them. Thus, as well as matrices, one can not create binomial coeffi
cients, nor the Christoffel symbols of general relativity. In this last
case, however, we can have a jolly good try. Here is the definition of a
Christoffel symbol:
4.6
4.6
The symbol is correct except that there should not be the horizontal bar
under the i and j. I was surprised to discover a very strange bug in my
version of Equasor: if you place two summation signs or two integral
symbols adjacent to each other, then one of them blows up! I am sure
this will be fixed on the release version. Finally, letæs finish with a
simple one: another equation from electromagnetism.
4.6
4.6
As you can see, this is perfect.
4.6
Unfair?
4.6
You might think that I have been unfair in my review of this product as
I have tended to concentrate on its limitations. Of course, the points
about the MathGreek font relate to EFF and not to Equasor itself. Many
of the examples I have given here demonstrate some of the very minor
limitations in the program. This should be taken as an indication that I
have performed an intensive test of Equasor and that most things I tried
were a complete success. Also, as you will realise, Computer Concepts
take the feedback from their customers very seriously: witness the
evolution of Impression. So I am convinced that future versions of
Equasor will address the few points I have made, to produce an even
better product.
4.6
Some technical details
4.6
I mentioned above that Equasor produces its output in Draw format. This
point must be clarified a little. Having produced an equation using
Equasor, the next step is to save it. One has the choice of saving the
object either in öEquasorò format or in Draw format. Both types of file
may be dropped into Impression frames. In fact, the Equasor format file
contains the same Draw code and it is this which produces the image in
the frame but the Equasor format file contains more. It incorporates the
specification of the equation. Thus this file may be loaded back into
Equasor to be edited; this can not be done with the Draw file. The
Equasor file can not, however, be loaded into the current version of
Draw. The extraneous information confuses the program. For this reason
both file formats are required.
4.6
In conformity with Computer Concepts policy, the Equasor program is all
written in ARM code. This leads to increased speed and efficiency and so
must be rated as a plus point; it also discourages hackers!
4.6
In use
4.6
For those tricky parts of equations, you can zoom in to a magnification
of up to 999% and you can pan out to 1%. Fine control over parts of
equations is facilitated by effects, as in Impression. Also, there is
full implementation of leading, spacing and kerning. So, equations can
be laid out precisely as required. For those difficult times, there is
an eighty page manual containing most information that should be
required. In fact, as I said above, I have made very little use of the
manual Ö the program is remarkably intuitive. However, whenever I needed
to find something out, I generally managed to do so.
4.6
Included on the Equasor disc is a directory of sample equations. These
are quite impressive and they really show off the programæs extensive
range of features. Funnily enough, I found errors in some of these
equations but I think these should have been corrected in the release
version.
4.6
Conclusion
4.6
It is always a joy to review a really good product. This is one such
occasion. I have been wanting a program which would do this sort of
thing, as I have mentioned in Archive from time to time, and here it is.
The only serious limitation of Equasor is that you canæt produce
matrices (or at least I canæt!). Apart from that, I am happy to say that
I unhesitatingly recommend Equasor to all those who need to produce
equations and/or incorporate them into DTP documents. It is certainly as
good as anything I have seen on any other computer.
4.6
Equasor comes from Computer Concepts and the complete package costs ú49
plus VAT. This includes the EFF MathGreek font. The Archive price is
ú52. A
4.6
4.6
The Serial Port
4.6
New
4.6
4.6
BASE 5
4.6
New
4.6
4.6
Ten Tips for those with Bigger Memories
4.6
Stuart Bell
4.6
The old clichΘ about most human beings being creatures of habit is
probably as true in the world of personal computing as in most other
spheres of human activity. In other words, once weæve developed a way of
working, we tend to stick to that way, whatever happens.
4.6
In this case, the Éwhatever happensæ is the upgrade from 1Mb memory to
4Mb and an awareness, after a few weeks with the upgrade, that I wasnæt
really taking full advantage of it. An Archimedes with 4Mb is really
quite a different machine from its smaller brother and it opens up new
practices that simply arenæt possible before the memory growth. So here
are ten tips for those who have also been bitten by the upgrade bug.
(Apologies to those lucky people who started with 4Mb, to whom all this
is probably so boringly obvious!)
4.6
Multi-task your applications
4.6
This is surely the main reason for upgrading in the first place. BU
(before upgrading), the power of RISC-OS simply canæt be realised
because you canæt multi-task significant applications. However, AU
(after upgrading) you can run, for example, both !Draw and Impression
and this makes things much easier. Another good idea is to have !FontFX,
a scientific calculator (PD versions widely available) and the RISC-OS
printer driver all loaded on the icon bar. !Patience can be there ready
for a quiet moment!
4.6
Auto-load your applications
4.6
Manually loading all the applications that you regularly use can be a
little tiresome. Assuming that you have a hard disc, they can all be
loaded onto the icon bar every time you reset or boot up the machine.
(The only thing that stops floppy users doing this is disc capacity).
You need a file called É!bootæ in the root directory and can use
*Configure Boot if you want to cause that file to be obeyed when the
power is switched on, at a reset or <ctrl-break>. (Use *Configure Noboot
to run a boot file on <shift-power on>, <shift-reset> or <shift-break>.)
You also need to do a *OPT 4 3 to tell the system to öexecò the boot
file.)
4.6
You can put all the commands to be obeyed in the !boot file, but itæs
simpler to put all commands to be obeyed once the desktop has been
entered in a separate file. The !boot file contains the line:
4.6
Desktop ÖFile scsi::winny.$ .StartList
4.6
when Startlist is the name of the file with the commands to be obeyed.
My Startlist looks like this:
4.6
Filer_Opendir scsi::winny.$
4.6
.Documents
4.6
Filer_Opendir scsi::winny.$
4.6
scsi::winny.$.!Fonts
4.6
scsi::winny.$.!System
4.6
scsi::winny.$.!Edit
4.6
scsi::winny.$.!Draw1╜
4.6
scsi::winny.$.!Impress
4.6
scsi::winny.$.!1stWord+
4.6
scsi::winny.$.!FontFX
4.6
scsi::winny.$.!PrinterLJ
4.6
scsi::winny.$.IconClock
4.6
The Filer_Opendir commands open directories on the desktop, ready for me
to select the file to be accessed. Strangely, it seems that those opened
second are displayed behind those opened first so, in my case,
$.Documents appears in front of the root directory.
4.6
!Fonts and !System are opened so that they have been seen before the
applications that require them. Adding the command DeskTop to the end of
the !Fonts.!Run file removes the need to press the space bar after the
Font Catalogue has been displayed. Finally, the seven applications that
I regularly use are loaded and will be shown on the icon-bar at the end
of the boot process.
4.6
Re-configure your machine
4.6
You can save and restore the configuration details held in CMOS RAM
during the upgrade process but itæs not very useful. Most of the memory
allocation values are set automatically, but others need revision. In
particular, if you are using outline fonts, do re-set FontSize. Whilst
you could keep a low FontSize and a higher FontMax, Iæve found that
Impression sometimes reduces the FontSize, with the consequence that
fonts that used to be in memory then have to be reloaded from disc.
Keeping FontSize high (I use 512K) prevents this from happening.
4.6
Consider new screen modes
4.6
With 1Mb, memory-hungry modes werenæt really viable with some appli
cations. I used mode 16 (132 columns) for DTP but then had to change
down when I wanted to load a printer driver. Now, any mode can be used.
In particular, for those with ordinary (not multi-sync) monitors, modes
like 66, which Computer Concepts supply with the !NewModes module,
giving 104 x 36 text resolution, are worth using. Multi-sync owners can
have a field-day! To make the machine auto-boot into your required mode,
the first line of my !Boot file is !NewModes. I then set the mode to 66
using the !Configure utility off the Applications disc.
4.6
Donæt kill modules
4.6
A common problem discussed in Archive has been the fact that many
applications load modules into memory when loaded, but donæt remove them
when the application is quit. This soon clutters up memory on smaller
machines, and the solution identified was to add RmKill commands at the
end of application !Boot files. However, if you are multi-tasking
applications, such a procedure could delete modules that other appli
cations are still using. Hence, delete all RmKill commands that you may
have added ÉBUæ. Also, if youæve added a -Max entry to the WimpSlot
command in the !Boot file for, for example, !1stWord+, you may wish to
remove the entry, or at least increase the value.
4.6
Gain (a little) speed with RMfaster
4.6
In all Archimedes (and A3000s), the ROM runs slower than the RAM. Hence,
modules built into RISC-OS run slower than those loaded off disc. One
possible solution discussed in the past in Archive is to make the MEMC
run the ROM at RAM speed. This may or may not work, depending on the
particular ROM chips. The *RMFaster command (see page 351 in the A400
user manual) copies modules in ROM into RAM to gain a speed increase of,
in theory, 33%. BU, there probably wasnæt enough memory to make this an
attractive option. A problem is that as you canæt *RMFaster modules that
are active Ö you canæt, for example, speed up the DeskTop once itæs been
loaded.
4.6
The way to get round this is to *RMFaster appropriate modules in the
boot-up process, in the same way that applications can be loaded
automatically. On power-up, all the required modules will be ready in
ROM. However, on a Reset or <ctrl-break>, they will be in RAM, with the
ROM versions unplugged, and hence not able to be *RMFasteræed.
4.6
Therefore, if the same automatic process is to be followed both on
power-on and on a Reset, all modules to be copied into RAM must first be
*RmKilled (to delete existing RAM versions) and then *RMReInited (to
Éde-unplugæ the ROM versions).
4.6
It is a matter of conjecture Ö or very difficult measurement Ö about
which modules will most improve the performance of your machine. Iæm
experimenting with three, but would be glad to hear of other ideas. So,
my complete !Boot file looks like this:
4.6
| Stuartæs !boot file, Feb 1991.
4.6
!NewModes
4.6
rmkill draw
4.6
rmreinit draw
4.6
rmfaster draw
4.6
rmkill desktop
4.6
rmreinit desktop
4.6
rmfaster desktop
4.6
rmkill windowmanager
4.6
rmreinit windowmanager
4.6
rmfaster windowmanager
4.6
Desktop -File scsi::winny.$ .StartList
4.6
Use a RamDisc
4.6
BU, RamDisc was a joke. With a hard disc, even AU, Iæm not convinced
that a RamDisc is of great value but some people may want to try it. For
floppy users, it will definitely be worthwhile, especially for holding
the !Fonts directory and giving very quick access. Be very careful if
you use RamDisc to hold files on which youære working. Set the size of
RamDisc using the *Configure RAMFsSize command. (In my experience,
Impression can still crash and therefore you can lose your document if
it is totally in RAM. Ed.)
4.6
Consider your application set-up
4.6
Both word-processors and DTP packages often include a spelling checker
and a dictionary. However, BU there may not have been sufficient memory
to run them sensibly. Itæs well worth checking the manual for each
package to check for facilities that you never used BU, and may have
forgotten exist. For example, Iæve now set up Impression II to load the
dictionary on start-up and check each word as I type. No excuses for
typographical errors any more!
4.6
Think about spooling your printing
4.6
RISC-OS lets you send the output from your application (assuming that it
uses the printer drivers) to a file for later printing. The theoretical
advantage is that when a file is being printed, you can continue to use
the application, whereas printing directly from, for example, Impres
sion, stops you doing anything else. A detailed explanation is in the
Nov-Dec issue of ÉArchimedeanæ sent out by Computer Concepts and in the
February Archimedes World. BU, it was more memory-efficient to load the
printer driver and then quit it, leaving the actual printing module
loaded. AU, background printing is possible. However, I find that, with
complex printing tasks using the !PrinterLJ, it takes almost as long to
write to disc (which hogs the whole machine) as it does to write
straight to the printer!
4.6
Think about a ÉSticky Backdropæ
4.6
An idea borrowed from the world of the Apple Mac, a sticky backdrop,
allows you to make directories or applications Éstickæ onto the desktop
surface and be accessed simply by clicking on them. If such items are
normally kept well down your directory structure, access can be much
quicker. Also, the dull plain desktop can be replaced by a customised
pretty picture, and a whole background drop, and automatically loaded on
boot-up. BU, the 80K that my !StickyBD application (available on
Careware 6) demanded made it non-viable. AU, I tried it for a while, but
decided in the end that I preferred to load my applications and open the
main document directory automatically in the ways described earlier in
the article. Itæs a matter of preference but itæs worth trying !StickyBD
if you can get a copy.
4.6
Well, thatæs it! A 4mb (or even 2mb) Archimedes is quite a different
machine. I hope that these tips will help you make the best use of your
expanded memory. A
4.6
4.6
4.6
Pen Down Update
4.6
Dave Morrell (& Doug Weller)
4.6
Some time ago, I (Dave) did a review on the pre-release version of
PenDown (Archive 3.12 p48 + 4.1 p42). This is intended to update some of
the comments in that review after I have seen the final release version.
4.6
Most of the basics remain the same. Along the top of the page is an icon
menu from which various selections can be made. There are two new icons
along this menu. At the extreme left there is an icon to swap between
text and graphics. With the pen nib selected, text in the chosen font,
size and colour can be typed in from the keyboard. Sprite graphics, but
not draw files, can be dragged onto the page. With the pencil selected,
the sprite can be positioned, sized or deleted using the mouse.
4.6
The select button is used to position the sprite and the adjust button
is used to size it. If the wrong sprite is dragged onto the page double
clicking on it with select will give a query box asking if you wish to
delete it. Pictures can also be deleted by dragging them off the PenDown
page. Text can still be entered in this mode but the text caret will not
respond to the mouse.
4.6
Next to this icon there is another new icon which swaps between insert
and overwrite mode whilst typing. The icons for leading and justifi
cation have also been changed.
4.6
The main menu is still brought up by clicking <menu> over the document.
This has one addition to the pre-release menu. PenDown now has a
spelling checker. It does not have a check-as-you-type mode but will
check single words, parts of the document or the whole document. The
spell check window contains five öpush buttonò panels. ÉCancelæ is
obvious. ÉLearnæ gives the option of adding an unknown word to the
dictionary. ÉTry againæ allows the user to have another go at spelling
an incorrect word. ÉSuggestæ gives a list of words that may be the one
required. If the correct word is in the list, clicking on it will
automatically replace it in the text. ÉNextæ will move you along to the
next unrecognised word.
4.6
Also on the spell menu there is a ÉTo fileæ option. If this is clicked,
PenDown will search the document for any unrecognised words and produce
a list to be saved to disc. This could be used as a record of spelling
difficulties or as a basis for further work. With this option, the spell
check window does not appear on screen.
4.6
Clicking <menu> over the PenDown icon on the icon bar produces another
short menu. This has four entries. ÉInfoæ leads to a window giving
information about the program, name, purpose, author and version number.
Clicking on ÉFresh startæ will clear the document from memory for
somebody else to use the program. If the document has been altered since
the previous save, a check window appears before clearing the document.
ÉConfigureæ sets up a rather complicated looking window for changing the
start-up settings of PenDown. This is very comprehensive and governs
what will work on the icon menu and on the main menu. Non-working
options are blanked out. This is very useful for younger children as
they can be introduced to the various options gradually as they become
more familiar with the program.
4.6
The manual has also been changed. I found it a model of clarity. It is
easy to follow, explains all the functions of the program and is packed
with many ideas for use. As a basic guide to wordprocessor use in
education I can recommend the manual alone!
4.6
The two problem Éfeaturesæ I found in the pre-release version have not,
so far, materialised in this version, so screen refreshing seems to have
been improved.
4.6
Three new outline fonts came with the new release but one from the pre-
release version, Lineout, was missing. The new fonts are Futura, Gothic
and Script. Futura is a Éstencilæ type font, Script is a Écursiveæ type
font and Gothic is gothic. Unlike some other Égothicæ and Éolde englishæ
fonts I have seen, this one is readable for lengthy passages.
4.6
The program is now heavily protected against copying. A copy can be made
but the original key-disc must be used to get it running. Having worked
in schools for many years, I know how easily accidents can happen and if
something happens to the key-disc I hope Logotron would replace it
without charge. Nothing about this is mentioned in the manual although
an extra sheet of information states that protected discs can be bought
without documentation for ú20 by registered users.
4.6
The only minor niggle that I have so far found with the program is the
lack of borders as found on the old BBC version.
4.6
There are two other programs on the disc. !Cloze will produce cloze
procedure worksheets by dragging a text file to it. The frequency of the
missing words can be set by the user. I would like it to have saved the
missing words as a separate text file as well, but you cannot have
everything. The other program !WordList will decode the main dictionary
so that changes can be made to it.
4.6
I am still happy with the program and am confident that it will have a
future in schools.
4.6
Doug Weller adds...
4.6
Iæve been able to use this program with my class of 8-9 year olds, and
my 12 year old son has written a 6,000 word story on it. Its ability to
print on various sizes of paper Ö A3 to A6, portrait or landscape, as
well as fanfold (including fanfold rotated), is very useful. Pendown has
a very powerful Search and Replace facility, although a simplified menu
can be selected for younger children. It also allows a word count on
single words, which could be very useful in showing children how many
Éandsæ and Éthensæ they have used! Or, of course, one could use it to
make frequency counts of letters. Another feature it has that I wish my
Impression II had is a copy/delete to bin. This moves marked text to a
scratchpad. But, unlike most other Archimedes word processors, you can
view the scratchpad (the Pendown Ébinæ). Even more useful, the bin will
hold more than one block of text. As far as I can see, the binæs
capacity is only governed by the amount of memory in your computer. Once
it is open, you can choose which block of text you wish to copy back to
the original document. !Wordlist is a very nice freebie. Besides
allowing you to add words to the dictionary, it also does anagrams and
subgrams, searches through a list of words or your dictionary, does
frequency counts of all the words in a text and sorts them either
alphabetically or by frequency. A
4.6
4.6
BookBinder
4.6
David Hart
4.6
To quote from the introduction to the User Guide: öBookBinder is an
application for the Acorn Archimedes computer that enables you to create
books which are multitasking interactive texts/graphics. They can be
used as multiple choice quizzes, programmed learning sessions, interac
tive fiction, interactive graphical display databases or presentation
software. This is achieved simply by dragging icons; there is no need
for any code. Despite this simplicity, BookBinder is a powerful
specialised programming language capable of producing a wide variety of
books. Once finished, the book may be copied to any disc and sold, or
freely distributed. In the true spirit of the desktop many books may be
opened at the same time.ò
4.6
How well does it meet these aims?
4.6
I certainly found it easy to create my first book. The tutorial section
of the User Guide is easy to follow and allows the first time user to
quickly get the hang of creating a book. One point I would make is that,
although the explanation of creating a book was clear, there were no
notes on how to edit a previously written book, so when I returned to a
book I had started previously, it took some time and thought as to how
to add extra pages.
4.6
What is a Book made up of?
4.6
BookBinder takes öpagesò that have been made up by using !Draw. Thus,
you need to be able to use !Draw before you can use BookBinder. As !Draw
files can be made up from sprites and text, you can use other packages
to help you create the !Draw files. BookBinder is supplied on a single
disc but, as it requires the a !Systems folder and as it is also useful
to have the !Draw and !Paint applications and the !Fonts directory
handy, you are asked to create two working discs Ö öDrawingò containing
!Binder, !System, !Paint, !Draw and !Edit and öBinderò containing your
!Fonts and !BookRead, Converter and the Examples folder from the master
disc. Musbury Consultants include two disc labels for these discs. (One
minor niggle Ö the User Guide asks you to name one of the discs öBinderò
but the label for that disc says öBindingò.)
4.6
Creating a book involves copying an application called !BookRead, and
giving it a new name and opening up the Pages folder within this
applicationæs directory. You then drag your pages into this folder and
create the links between the pages. This is done in two stages. First
you open up the plan of the book and drag the pages into the plan. The
plan then consists of a set of rectangular boxes with the page names and
a START and END box. By pressing <menu>, you can then establish links
between the pages. Once a link has been established between two pages
you can then decide which öbuttonò on the first page will call the
second page. A öbuttonò, as far as BookBinder is concerned, is an object
in the !Draw file. When you go to make a button a window is opened
showing the !Draw file and you can select the !Draw object to be made
into the button. Once you have finished creating the links, you then
bind your book together.
4.6
The User Guide also gives details as to how to change the !Sprites file
within your new application to give the application its own unique icon
on the icon bar and disc window.
4.6
How do I rate BookBinder?
4.6
Obviously, it does not have as many features as Genesis or Magpie. You
cannot have music from Maestro files or animation from Euclid and Film
Maker. It also lacks the page creation facilities of Genesis. Each page
of a BookBinder book has to be created in !Draw. However, I certainly
found it easier to use than Genesis and its books took up less room. I
would suggest therefore that if you wished to create books (hyperbooks?)
that do not use animation or sound, BookBinder (at ú50 through Archive)
represents good value for money. On the other hand if you require the
extra features offered by Genesis (at ú85 through Archive) or Magpie (at
ú57 through Archive) then, obviously, you would have to choose one of
those.
4.6
One last thought
4.6
As with all HyperMedia packages, the ease of use is only the first step.
It is the designing and planning of the öbookò that is the important
part. Remember that, with these packages, itæs a case of: öGarbage in
HyperGarbage out!ò A
4.6
4.6
Help!!!!
4.6
Å Exabyte tape streamers Ö I want to be able to run an Exabyte tape
streamer from an Oak SCSI interface. Does anyone have any software I can
use? These tapestreamers use small 8mm video tapes and are relatively
cheap. John Gibson, Grantham.
4.6
Å Hardware project Ö After Alan Bryantæs comments in the Help Column
last month, weæve had one offer of a suitable project Ö a combined PAL
coder / VIDC enhancer / genlock. Iæve put the two of them in contact,
but if anyone else is interested, drop us a line. Ed.
4.6
Å Keyboard compatibility Ö Is the A400/1 keyboard compatible with any PC
Clone format? Some use the same plug, and there are add-ons such as bar-
code readers, key-pads etc. Nik Kelly, Liverpool.
4.6
Help offered
4.6
Å Epson MX80 driver Ö Many thanks are due to the wizard at Clares who
wrote a driver for my old Epson MX80 F/T III, circa 1982. Yes, folks, it
can be done! Nik Kelly, Liverpool. A
4.6
4.6
Orrery Version 1.3
4.6
Maurice Dixon & Ruth del Tufo
4.6
Orrery is a computer model of the solar system. It shows the motion of
the planets from space-time co-ordinates which can be user-defined. The
planets are set against a background of stars which may be joined to
show the constellation figures.
4.6
The original Orrery was a clockwork model of the solar system made to
demonstrate planetary motion. It was made in the eighteenth century for
the 4th Earl of Orrery. Spacetech have implemented and generalised this
to include all the currently known planets. It is important to recognise
the scope that Spacetech set themselves; the Orrery is not concerned
with the wider astronomical issues of the formation of galaxies, stars
or the solar system. They are to be congratulated on providing such an
interesting scientific model as the Orrery for us to explore the solar
system.
4.6
The review testing was carried out by a team of three people; one an ARM
enthusiast, one an experienced many body modeller and one a seven year
old school girl. None of us was either a professional astronomer or a
science teacher. The testing was carried out using an ARM-2, a single
floppy drive, a standard Acorn RGB colour monitor and a Panasonic KX-
P1124 printer; this would fairly replicate the A3000 environment.
4.6
Planets
4.6
The main Orrery allows the user to select a date and time for which the
position of the planets are derived. The user can select the rate at
which the model will then progress into the future. Each planet is
represented by a distinct icon; Spacetech have taken a practical
approach to allowing the user to Étuneæ the screen to the current
requirements. You can choose to allow the orbits to be displayed with
full or partial orbital arcs available. For clarity, you can choose to
display the initial letter of the planet or to omit a planet icon
altogether. Basic planet and orbital information such as size, eccentri
city, angle to plane, planet radius, distance from earth, mean and
actual distance from the sun and perihelion is given by selecting the
planet in its orbit. For the geocentric viewpoint, the angle with
respect to the celestial equator and azimuth are given. It is often
necessary to freeze the motion before selecting the planet. The model
makes heavy demands on the ARM-2 so response to selection or menu
choices can appear sluggish. The motion in the orbits can be jumpy and
the orbits themselves are shown as a series of straight lines which
looks a little untidy.
4.6
The power of Spacetechæs Orrery is seen in the way that different frames
of reference may be defined. A view may be chosen which is centred on
the sun and a selected planet locked onto. A user can consider themself
to be looking in any direction at the sky from anywhere on the earth at
any time. It is a delight to watch the sun rising with a group of
planets moving close to the ecliptic. Spacetech have provided a lighting
background to show the black of night, the dark blue of twilight, and
the brighter blue of daylight. The user can choose to have the direc
tions displayed on the horizon and change direction as the planets move.
The configuration may be printed as a sprite picture using !Paint;
surprisingly, the new moon which was not visible on the screen can be
clearly identified in the picture and then confirmed using the mouse
pointer. It is this earth based view of the sky which desktop astron
omers will find so attractive.
4.6
There is a very simple line graph of the planets with a distance scale
normalised to the size of the earthæs orbit. Not all the planets can be
seen together but the search out along the axis emphasises the enormous
distances to the further planets compared to the inner ones. Surpris
ingly, the planet data is not available off the line graph.
4.6
The model does not appear to incorporate the Asteroid belt or Comets.
4.6
The Orrery also includes the facility to display as a graph the angular
displacement of the planets from the sun for a user-chosen year. The
colour screen display was not easy to read and the black and white !Draw
printout effectively lacked the contrast to make all the planets
visible.
4.6
Stars
4.6
It is possible to display a large number of stars as a background to the
planetary display. The stars are grouped in constellations and it is
possible to use the mouse pointer to select a star for identification.
The star identity and constellation are displayed as a superimposed
window while the actual star is marked with a cross on the Orrery
window. The user can select to have the stars joined to give the
familiar constellation figures and this immediately attracts interest.
The shape of the sectoring of the sky into the 88 constellation sectors
is not displayed.
4.6
Using the earth as a reference frame, the motion of the stars can be
tracked. When a heliocentric view is chosen, the sun is treated as
another star, is barely detectable and has surprisingly little data
associated with it. The star data is displayed even when the model has
star displays suppressed. Using the geocentric viewpoint, it is possible
to display the track of the sun when the grid is chosen.
4.6
Moon
4.6
The earthæs Moon is included in the model but not the moons of other
planets. Detailed positional information and a phase description for the
Moon is available via the mouse pointer.
4.6
Glossary
4.6
There is a set of demonstration configurations which can be used to
illustrate some of the astronomical terms. Some of these work very well
for illustrative purposes but others, Conjunction and Opposition, sent
us scurrying away to the encyclopaedia to check both the meaning of the
term and what would be expected. The difficulty arose because the terms
apply to an earth-based reference frame for which the user can alter the
control panel. A glossary should explain and illustrate in an
immediately accessible way the chosen item. In contrast, the illustra
tion of circum-polar stars and planetary retrograde motion was
immediately understandable. The display of twilight, sun rise, noon and
sunset were all OK.
4.6
Dates
4.6
The date range for the Orrery was from the year Ö9999 to at least 9999;
the only significant bug in the system that we found related to putting
in too big a year number and not being able to back out of the warning;
a similar error occurred with the control panel for accelerated time
increments. We do not consider these to be serious difficulties. For the
Ephemirides the date range was 0 to 99999.
4.6
Data access
4.6
The primary access to the data is via the mouse pointer with display on
the screen. It would be nice to be able to extract the fixed data and
dynamic data for the planets into a printable text file. It would also
be attractive to be able to invert the presentation so that having given
a planet and a date it would be possible to use the Ephemirides data to
display the planet.
4.6
Many body problem
4.6
The calculation and display of the positions of the planets and stars by
Spacetechæs Orrery makes heavy demands on the processing power of the
ARM-2 but they are met in an acceptable way. No indication is given of
the calculation method used or the accuracy of the data. Questions about
Planet ÉXæ or É10æ are currently being discussed and users should be
aware of how orbital irregularities are incorporated.
4.6
Perspective issues
4.6
There are enormous variations in distances, light intensities and
relative sizes in the solar system so any representation has to reflect
a compromise based upon the primary area of interest.
4.6
The control panel window allows the user to select a time granularity
from 1 minute to one of many years; the screen can also be frozen for
detailed inspection. This enables the detailed study of such different
phenomena as sunrise and the out of plane orbital motion of Pluto. This
is an excellent facility and can be run forwards and backwards in time.
A small quibble is that it would be nice to be able to freeze/unfreeze a
screen on a toggle key without having the control panel window
displayed.
4.6
The control panel can also be used to display the orbital motions of all
the planets or gradually to focus on the inner planets. A similar
magnification facility would benefit the simple linear graph.
4.6
Documentation
4.6
The manual was helpful as far as the introduction and installation were
concerned. The layout of the section on menu selections should be
improved and made more systematic but it was adequate for an introduc
tion. There is a useful glossary provided of astronomical terms although
we feel that the explanations could have been fuller and easier. Also,
it would have been useful to know the basis of selection for the set of
stars displayed and whether they are fixed or moving.
4.6
Installation
4.6
The installation instructions were straight forward and worked. The
installation procedure assumes the user is familiar with the desktop
environment. It is good that the product is capable of simple backup.
The disks are magnetically version marked but not in text on the outside
of the disk. The files supplied are different from those given in the
text; Glossary is omitted from the text while Or_Setup is used in the
text whereas Now and Intro are on the disk. These in no way affected the
installation but perhaps could be misleading to someone not familiar
with the desktop environment and seeking to proceed systematically. The
manual claims that Orrery is RISC-OS compliant and certainly we have
been able to run it at the same time as Impression Junior.
4.6
Summary
4.6
In Orrery, Spacetech have produced an excellent model of the solar
system which will be used by many would-be astronomers with great
pleasure and interest. The underlying scientific model should be made
available. The software is robust and covers the scope stated in the
documentation. It can be installed quickly and easily. Orrery makes
heavy demands on the ARM-2 and can appear sluggish. A
4.6
4.6
Honeypot Lane
4.6
Peter Thomson
4.6
This is a well presented package of story books and computer programs
aimed at the primary school. Resource, who produce the package, suggest
that it should form the basis of an approach to primary technology.
4.6
The elements of the package are linked by an imaginary village. One
large format book is well illustrated, perhaps suitable for the class
teacher to read to a class of infants. The other three stories seem to
be aimed at an older age group, with each page of text facing a picture.
4.6
The first program displays a very long sprite, a picture of the village
and its surroundings. The user can scroll this picture horizontally.
Clicking the mouse pointer on the screen displays the name of the object
or a line of story about that scene. Clicking on the front door of the
castle lets you in to explore the castle. On certain house doors you can
also move inside but the number of rooms is very limited.
4.6
A group of young girls who worked with the program found this great fun
until they had explored the whole area, but then complained that there
was nothing more to do. A picture of Albert the mouse can be hidden in
the various rooms for others to find and this provided more stimulus for
a short time. The girls would have liked to add their own story and more
details to the picture, but the program does not allow this.
4.6
I looked at the programming to see what could be done. The long sprite
of the village can be loaded into !Paint so that changes can easy be
made to that, but the messages in the program are all in the form of
data statements and changes would require a lot of programming experi
ence. This is a pity, because the idea for this program is a good one,
and the messages could easily have been included as a file so that new
stories could have been written.
4.6
When I looked at the second program, I hoped to find that this would let
the children produce their own story in the same format as the first but
this is not the case. It is designed to produce a story made of single
pages of text and graphics, displayed one page at a time. The picture
can be built up from a library of simple shapes or from a large number
of well drawn sprites. I found the procedure to select sprites from a
file on one disc, transfer them to a second disc and then place them on
the screen to be very messy ÿ too complex for young children. The text
editing facilities are also very limited. When a story is being
displayed on the screen, much time is wasted as whole files of sprites
are read from disc for each page.
4.6
The sprites themselves are excellent. The children already know how to
use !Draw and !Paint. They were very excited by being able to add these
to their own drawings. (You need to rename the main program from BASIC
in order to display the files).
4.6
Neither program is RISC-OS compliant or compatible and I couldnæt use
them with my Taxan monitor because they deleted VIDC utilities and then
adopted a non-compatible mode.
4.6
Also included with this package is a very expensively produced file
entitled öA teachers guide to Primary Technologyò. It is a comprehensive
list of possible ideas for using honey-pot as a stimulus for technology,
but with little practical guidance for those new to this area. Also,
some of the links to the package are a bit tenuous.
4.6
Conclusion
4.6
If the first program with its long village sprite and captions was
available separately, I would recommend it. Overall, this package has
limited value as a stimulus for primary school technology. There are
much better practical guides for teachers available elsewhere. A
4.6
4.6
4.6
Norwich Computer Services 96a Vauxhall Street, Norwich, NR2 2SD.
0603Ö766592 (Ö764011)
4.6
4.6
Aleph One Ltd The Old Courthouse, Bottisham, Cambridge, CB5 9BA.
(0223Ö811679) (Ö812713)
4.6
Apricote Studios (p22) 2 Purls
Bridge Farm, Manea, Cambridgeshire, PE15 0ND. (035Ö478Ö432)
4.6
A.S.T.E. Syracuse 10 Alastair Crescent, Prenton, Wirral, L43 0UR.
(051Ö608Ö5469)
4.6
Atomwide Ltd (p18) 23 The
Greenway, Orpington, Kent, BR5 2AY. (0689Ö838852) (Ö896088)
4.6
Base5 (p51) PO Box 378, Woking, Surrey GU21 4DF.
4.6
Beebug Ltd 117 Hatfield Road, St Albans, Herts, AL1 4JS. (0727Ö40303)
(Ö60263)
4.6
CJE Micros 78 Brighton Road, Worthing, W Sussex, BN11 2EN.
(0903Ö213361) (Ö213901)
4.6
Clares Micro Supplies 98 Mid
dlewich Road, Rudheath, Northwich, Cheshire, CW9 7DA. (0606Ö48511)
(Ö48512)
4.6
Chalksoft P.O. Box 49, Spalding, Lincs, PE11 1NZ. (0775Ö769518)
4.6
Cogent Software 30 Norton Way North, Letchworth, Herts, SG6 1BX.
(0462Ö673017)
4.6
Colton Software (p12) 149Ö151 St
Neots Road, Hardwick, Cambridge, CB3 7QJ. (0954Ö211472) (Ö211607)
4.6
Computer Concepts (p30/31) Gaddesden
Place, Hemel Hempstead, Herts, HP2 6EX. (0442Ö63933) (Ö231632)
4.6
Dabhand Computing 5 Victoria Lane, Whitefield, Manchester, M25 6AL.
(061Ö766Ö8423) (Ö8425)
4.6
Data Store 6 Chatterton Road, Bromley, Kent. (081Ö460Ö8991)
(Ö313Ö0400)
4.6
Design Concept (p 17) 30 South
Oswald Road, Edinburgh, EH9 2HG.
4.6
Electronic Font Foundry (p32) Bridge
House, 18 Brockenhurst Road, Ascot, SL5 9DL. (0344Ö28698)
4.6
HS Software 56, Hendrefolian Avenue, Sketty, Swansea, SA2 7NB.
(0792Ö204519)
4.6
Ian Copestake Software 10 Frost
Drive, Wirral, L61 4XL. (051Ö648Ö6287)
4.6
IFEL (p41) 36 Upland Drive, Plymouth, Devon, PL6 6BD. (0752Ö847286)
4.6
Lingenuity (Lindis) (p36) P.O.Box 10,
Halesworth, Suffolk, IP19 0DX. (0986Ö85Ö476) (Ö460)
4.6
LongmanÖLogotron Dales Brewery, Gwydir Street, Cambridge, CB1 2LJ.
(0223Ö323656) (Ö460208)
4.6
Minerva Systems Minerva House, Baring Crescent, Exeter, EX1 1TL.
(0392Ö437756) (Ö421762)
4.6
Musbury Consultants 8 Fairhill,
Helmshore, Rossendale, Lancs, BB4 4JX. (0706Ö216701)
4.6
Oak Solutions (p11) Cross Park
House, Low Green, Rawdon, Leeds, LS19 6HA. (0532Ö502615) (Ö506868)
4.6
Pandora Technology Ltd 9 St Marks
Place, London, W11 1NS. (071Ö221Ö9653) (Ö9654)
4.6
Ray Maidstone (p4) 421
Sprowston Road, Norwich, NR3 4EH. (0603Ö407060) (Ö417447)
4.6
RESOURCE Exeter Road, Doncaster, DN2 4PY. (0302Ö340331)
4.6
RTFM Software 43 Hill Street, St Hellier, Jersey JE2 4UA. (0534Ö67870)
(Ö68996)
4.6
Silicon Vision Ltd Signal
House, Lyon Road, Harrow, Middlesex, HA1 2AG. (081Ö422Ö2274) (Ö427Ö5169)
4.6
Simtron Ltd (insert) 4 Clarence
Drive, East Grinstead, W. Sussex, RH19 4RZ. (0342Ö328188)
4.6
Storm Software$$ Beth House, Poyntington, Sherbourne, Dorset.
(0963Ö22469)
4.6
The Serial Port (pp27 & 35) Burcott
Manor, Wells, Somerset, BA5 1NH. (0243Ö531194) (Ö531196)
4.6
VisionSix Ltd (p29) 13 Paddock
Wood, Prudhoe, Northumberland, NE42 5BJ. (0661Ö33017) (Ö36163)7
4.6
4.6
Government Health Warning Ö Reading this could seriously affect your
spiritual health.
4.6
We have continued to pray for all who have been caught up in the Gulf
conflict and are grateful to God that the fighting is now over. Even so,
we must continue to pray for the leaders of the nations involved, that
they might bring about a just and lasting peace in the region.
4.6
The ending of the Gulf War is also particularly important for the people
of sub-Saharan Africa. This is because the Gulf War has diverted the
worldæs attention away from the terrible plight of those suffering from,
or heading rapidly towards, famine in Africa. So, letæs hope and pray
that some of the suffering in Africa can now be averted. We will shortly
be sending a donation to TEAR Fund to help with African famine relief
and we would urge you to join with us, either by sending money direct to
a relief agency, or by sending it to us and we will direct it through
TEAR Fund. Thank you.
4.6
4.6