home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine 1995 / ARCHIVE95.iso / text / magazine / volume_04 / issue_06 < prev    next >
Text File  |  1995-06-25  |  179KB  |  4,361 lines

  1. Printing problems?
  2. 4.6
  3. Sorry about the slightly duff printing of the last edition of Archive. 
  4. The boxes around the headings were all rather faded. The reason was that 
  5. I was using a 600 d.p.i. Laser Direct HiRes rather than the 300 d.p.i. 
  6. Mac Laserwriter. So why should a better printer produce a worse output? 
  7. Basically, the Laser Direct produced the shading using such tiny dots 
  8. that the offset litho printing process could not cope with it. What I 
  9. have done this time is to alter the type of shading used so that the 
  10. dots are a bit bigger and (hopefully) more easily printable. 
  11. 4.6
  12. Not quite so late this time?
  13. 4.6
  14. Thanks to Impression (which I am more and more impressed with every day) 
  15. I have managed to shorten the time taken to produce the magazine quite 
  16. considerably. So, over the next few months, I hope to get Archive back 
  17. on schedule.
  18. 4.6
  19. A gauntlet for Risc User!
  20. 4.6
  21. Now that Acorn User, Archimedes World and Archive all use Impression for 
  22. production of their magazines, donæt you think itæs about time that Risc 
  23. User followed suit? Well, I wouldnæt expect them to use Impression, but 
  24. have they got enough faith in their own product, Ovation, to ditch their 
  25. Apple Macs?!?!
  26. 4.6
  27. More competitions, please.
  28. 4.6
  29. Weære very grateful to Colin Singleton for his consistent work in 
  30. producing the monthly Competition Corner, but I think itæs time he had a 
  31. bit of help from others. Itæs very difficult to keep producing new ideas 
  32. every month, so if you could help, either write to me or direct to 
  33. Colin. 
  34. 4.6
  35. More Wimp stuff, please.
  36. 4.6
  37. Weæve had quite a number of folk asking us for more articles about 
  38. programming in the Wimp environment. People were pleased with the start 
  39. that Alexander Goh made but were sad that it stopped rather abruptly. So 
  40. were we and, if Sandie is reading this, I hope he will consider carrying 
  41. on where he left off.
  42. 4.6
  43. Once again, many thanks to readers and contributors alike for making 
  44. Archive a joy to produce.
  45. 4.6
  46. With best wishes,
  47. 4.6
  48.  
  49. 4.6
  50. Products Available
  51. 4.6
  52. Å    Data cartridges for tapestreamers Ö We have found a better source of 
  53. data cartridges for tape-streamers and can do the 60M cartridges for ú23 
  54. and the 150M cartridges for ú26. The tapes for the 1 Gbyte tapestreamer 
  55. which we advertise at ú45 each are, apparently, just ordinary 2 hours 
  56. DAT tapes that you could buy from W.H.Smithsæ or such-like for ú8 or 9 
  57. and then formatted. It takes about 4 hours to format which is why Oak 
  58. charge so much for them.
  59. 4.6
  60. Å    DataStore Utility Disc 2 Ö A second disc of utilities is now available 
  61. for ú14.95 inc VAT or ú14 through Archive. It contains: A desktop 
  62. backdrop with a difference, a desktop toolbox window, a disc indexing 
  63. program, a file activity monitor showing exactly which files are 
  64. currently open, a list of BT phone code and areas, a utility which 
  65. collects sprite name, system variables etc and enables you to set up 
  66. your computer quickly at switch-on, a viewdata frame display utility, a 
  67. utility that will replace your desktop A icon with an animation(!), an 
  68. on-line manual utility and a fun demo.
  69. 4.6
  70. Å    Disc magazine Ö A.S.T.E. Syracuse is an Archimedes disc magazine 
  71. produced on an amateur basis. With the first issue, costing ú4.99, you 
  72. get a total of three discs; one containing the magazine itself and then 
  73. two discs of PD software. The organisers, B Browne and A Kells, insist 
  74. that it is not, as some magazine reports have said, a PD library.
  75. 4.6
  76. Å    DTP (and other) utilities Ö A newly formed company, Design Concept, 
  77. has 11 utilities mainly intended for DTP users at various prices from ú1 
  78. to ú2 each. We havenæt got space to detail them all here but it includes 
  79. things like a shading facility for !Draw, a way of printing out all the 
  80. fonts you have got, a converter from X-window bitmap fonts and a 
  81. converter which stipples a colour image to two colours. Write to Design 
  82. Concept for a full list. We hope to get review copies soon.
  83. 4.6
  84. Å    Educational management software Ö Cogent Software have produced two 
  85. packages for educational establishments. The first, Monitoring and 
  86. Reporting, provides facilities for recording, analysing and reporting on 
  87. studentsæ performance. The basic price of the package is ú400 for a 
  88. secondary school, ú200 for a middle school or ú150 for primary or 
  89. special schools. There are additional text files for different subject 
  90. areas at ú50 or ú65 each. The second package, Curriculum Auditing, 
  91. allows you to cross-reference the experiences the pupils are given with 
  92. the skills, knowledge and concepts outlined in the schoolæs curriculum. 
  93. The pricing for this is similar to the first package. Also available 
  94. from Cogent Software are optical mark readers which tie in with the 
  95. management packages.
  96. 4.6
  97. Å    Educational software Ö Chalksoft, well known for its educational 
  98. software on various computers including the BBC Micro has now turned its 
  99. attention to the Archimedes. Titles available include: Puncman, programs 
  100. 1 to 7, (ages 7 to 15+) cover various aspects of english; Spelling Ö 
  101. week by week (ages 6 to 14+); Reversals (ages 8 to 14+) help with the 
  102. problems of d/b, p/q etc; House of Numbers (ages 6 to 13) covers maths 
  103. for key stage 2; First Words & Pictures and Words & Pictures (ages 3 to 
  104. 7+) concentrate on early words, matching them with pictures; Letters & 
  105. Pictures (ages 6 to 8+) introduces word building skills; Numbers & 
  106. Pictures (ages 4 to 6+); Maps & Landscapes (ages 9 to 14); Keyboard 
  107. player, music for ages 8 to adult; Note Invaders, a musical game for 
  108. ages 7 to adult and Mark Master for secondary or tertiary 
  109. administration.
  110. 4.6
  111. Å    Flight Path Ö a simulation from Storm Software aimed at 9 year olds + 
  112. sets you up as the pilot of an airliner (and owner of the company) and 
  113. gets you to fly the plane and run the company. It brings in aspects of 
  114. maths, geography, english, science and history. Available now in 
  115. Archimedes format for ú36.95 inc VAT or ú32 through Archive.
  116. 4.6
  117. Å    Fonts galore Ö A newly formed company, Design Concept, has 8 innova
  118. tive new fonts for sale at Ésillyæ prices (my word, not theirs); ú1.50 
  119. per font plus ú2 carriage. If you want to see the sort of things they 
  120. are offering, have a look at the advert on page 17. We havenæt actually 
  121. got the fonts for review yet but weæll let you know what we think when 
  122. weæve seen them. Apparently, they are designed from scratch using FontEd 
  123. and include öproper hinting of the charactersò.
  124. 4.6
  125. Å    Genesis I to II upgrade Ö If you want to upgrade from Genesis I to II, 
  126. all you need to do is to send your Editor disc to Oak Solutions with a 
  127. suitable cheque or official order and they will send you a complete new 
  128. pack. The cost of the upgrade is ú34.95 + VAT for education users or 
  129. ú59.95 for non-education folk. Please do not send it to Norwich Computer 
  130. Services.
  131. 4.6
  132. Å    High speed SCSI drives Ö One of the advantages of SCSI is that, at the 
  133. moment, öeverybody is doing itò Ö and that means all the more commonly 
  134. used computers whose names I will refrain from using. High volume 
  135. production, of course, means lower prices such as we have achieved by 
  136. using removable drives that were being sold into the Apple Mac market. 
  137. In the same way, we have managed to find some extremely cheap and 
  138. extremely fast fixed 48M drives produced by ZCL who are also selling 
  139. them into the Atari and Commodore markets and for PCæs Ö there, Iæve 
  140. said it!
  141. 4.6
  142. They are actually 52M drives that format to about 48.6M; they have an 
  143. average access time of 17ms and run at up to 1,000 Kbytes/sec (yes, 
  144. 1Mbyte/sec) using an Oak SCSI interface. The öalternative testò that we 
  145. use (copying a large directory with many files) takes under 7 secs. 
  146. These compare with about 600 Kbytes/sec and 9.3 secs for a standard Oak 
  147. 45M drive but I havenæt got any of the new HS or Worrawinnie Oak drives 
  148. in stock to test for comparison. (They will be coming into stock 
  149. tomorrow, but the magazine has to be at the printers tomorrow(!) so I 
  150. will put the results on the Price List.) The prices are ú520 for an 
  151. internal 48M drive with podule and ú590 for an external.
  152. 4.6
  153. The internal drives look identical to Oakæs drives but the external 
  154. drives come in a strange-looking, yukkie brown colour, extremely compact 
  155. metal case with no cooling fan. The drive is mounted on its side and 
  156. sits in a metal cradle made of white plastic coated metal rods (a bit 
  157. like a plate rack!) to stop it falling over. Still, when you look at the 
  158. price, it has to be worth considering, and if you are worried about 
  159. quality (which I have to confess, I am slightly) they are guaranteed for 
  160. years. This Archive price comparison my help you see if it is worth 
  161. considering these drives as compared with the özero-defectò policy and 
  162. known good customer relations policy of Oak Solutions. The prices 
  163. include Oak podule, VAT and carriage and the figures in brackets are the 
  164. price per Mbyte.
  165. 4.6
  166. Internal drives
  167. 4.6
  168. Worrawinnie 45M    ú440    (ú9.78)
  169. 4.6
  170. High Speed 40M    ú520    (ú13.00)
  171. 4.6
  172. ZCL 48M    ú520    (ú10.83)
  173. 4.6
  174. External drives A300/400
  175. 4.6
  176. Worrawinnie 45M    ú490    (ú10.89)
  177. 4.6
  178. High Speed 40M    ú720    (ú18.00)
  179. 4.6
  180. ZCL 48M    ú590    (ú12.29)
  181. 4.6
  182. External drives A3000
  183. 4.6
  184. Worrawinnie 45M    ú490    (ú10.89)
  185. 4.6
  186. High Speed 40M    N/A
  187. 4.6
  188. ZCL 48M    ú590    (ú12.29)
  189. 4.6
  190. Å    Midnight Graphicsæ Tracer Ö Now you can turn your sprites into !Draw 
  191. files with this impressive utility from Dabhand Computing. The potential 
  192. for DTP and improving scanned pictures is tremendous. We hope to have a 
  193. review very soon. The price is ú59.95 from Dabhand or ú56 through 
  194. Archive.
  195. 4.6
  196. Å    MultiStore II Ö Minerva have released a new version of MultiStore 
  197. (still ú250 through Arc-hive) which features improved packaging and a 
  198. new style ring binder and box öwhich give the package a much more 
  199. professional imageò. Exist-ing users can get an upgrade to the new 
  200. software (but not the new packaging!) at a cost of ú11.75 for the two 
  201. new discs. MultiStore II has a new file format but, to overcome this 
  202. problem, Minerva provide a transfer utility so that you can convert your 
  203. old files to the new format. Minerva say, öThe changes to MultiStore 
  204. will not be immed-iately apparent to end users but some will notice an 
  205. increase in speedò.
  206. 4.6
  207. Å    NStore II Ö HS Software have released a new version of NStore2, their 
  208. National curriculum record keeping package, still ú29.95 inc VAT. 
  209. Existing users can get an upgrade to the new software by returning their 
  210. original disc to H.S. with a cheque for ú5.00. NStore II has had many 
  211. new facilities added in the light of ideas and suggestions made by 
  212. teachers and advisors using the original package. These include improved 
  213. ranking and alpha sorting, improved printing options, transfer of class 
  214. data between discs and block data entry for groups of Statements of 
  215. Attainments. Subject specific versions for secondary schools can be 
  216. obtained containing levels 1 to 10 in a particular core subject. Science 
  217. is available now and Maths and English are due in April.
  218. 4.6
  219. Å    PD library Ö Westbourne Services have just started a PD library for 
  220. the Archimedes. The discs are ú1.50 each. Westbourne Services will 
  221. supply a sample disc and catalogue for ú1.
  222. 4.6
  223. Å    Structural analysis of 2D frames Ö Civil engineers will be pleased to 
  224. see that the power of the Archimedes has been harnessed to provide 
  225. structural analysis of 2D frames and grids. Vision Six have two programs 
  226. for each Ö an entry level (ú150 +VAT each) allowing up to 32 items and a 
  227. full version (ú450 +VAT for frames and ú300 +VAT for grids) where the 
  228. number of items is only limited by the available memory. There is a 
  229. discount if you buy both a frames and a grids program at the same time. 
  230. öNever knowingly undersoldò Ö Vision Six say that if you can find a 
  231. better or even equivalent piece of software sold commercially for ANY 
  232. micro at a lower price, they will refund the difference!
  233. 4.6
  234. Å    ÉTwoæ productivity tools Ö Ian Copestake Software has produced TWO Ö 
  235. Task and Window Organiser which consists of various utilities to help 
  236. you keep your desktop tidy and to set up various tasks more quickly and 
  237. easily plus a number of other bits and pieces of applications. This is 
  238. especially aimed at schools. ú19 + VAT or ú60 +VAT for a site licence.
  239. 4.6
  240. Review software received...
  241. 4.6
  242. We have received review copies of the following software: Carewares 4 
  243. and 6, !Voice-Builder from MJD Software, ASTE Syracuse disc mag-azine.  
  244. 4.6
  245.  
  246. 4.6
  247. Å    Archimedes vs BBC variable formats Ö There are some differences 
  248. between the way that string and real variables are held on the BBC 
  249. computer under BASIC 1 and 2, and on the Archimedes under BASIC 5.
  250. 4.6
  251. String Variables Ö On the BBC using BASIC 1 or 2, string variables are 
  252. pointed to by a Éstring information blockæ which consists of :
  253. 4.6
  254. +0 for 4 bytes : address of start of string
  255. 4.6
  256. +4 for 1 byte : space allocated
  257. 4.6
  258. +5 for 1 byte : current length of string
  259. 4.6
  260. When a string is allocated, if the length is under 8 bytes, then the 
  261. space allocated is the same as the length of the string. If over 8 
  262. bytes, then an extra 8 bytes is allocated to allow the string to grow by 
  263. that amount before it has to be moved. When the string changes length to 
  264. more than its allocation, it has to be moved to the end of the HEAP. 
  265. Unfortunately, BBC BASIC has no Égarbage collectionæ routines, so the 
  266. previous space is unusable. This was why it was recommended that, when 
  267. allocating strings which would grow in length, it is better to allocate 
  268. them first with the largest length needed.
  269. 4.6
  270. On the Archimedes using BASIC 5, the string information block consists 
  271. of just:
  272. 4.6
  273. +0 for 4 bytes : address of start of string
  274. 4.6
  275. +4 for 1 byte : current length of string
  276. 4.6
  277. without the space allocated. The space allocated seems to be up to the 
  278. next 4-byte boundary. When strings grow over a 4-byte boundary, they are 
  279. liable to be moved to the top of the HEAP Ö indeed they seem to move 
  280. sometimes when they shrink as well! I have not seen any Égarbage 
  281. collectionæ in BASIC 5, but I have seen instances where a string has 
  282. been moved to a free area within the existing HEAP, so there is some re-
  283. use of storage.
  284. 4.6
  285. Real Variables Ö On the BBC using BASIC 1 or 2, a real number is held in 
  286. a 5 byte field as follows:
  287. 4.6
  288. +0 for 1 byte : Exponent plus &80 Ö i.e. &79 = Ö1, &80 = 0, &81 = +1
  289. 4.6
  290. +1 for 4 bytes : Mantissa with MSB first, LSB last (opposite to 
  291. Integers). The first bit of the first byte is the mantissa sign bit. 
  292. Normalised, with an assumed 0.1 (binary) before mantissa. Positive 
  293. number with sign (ie NOT 2æs complement).
  294. 4.6
  295. On the Archimedes using BASIC 5, a real number is held in a 5 byte field 
  296. as follows:
  297. 4.6
  298. +0 for 4 bytes : Mantissa with LSB first, MSB last (same as Integers). 
  299. The first bit of the fourth byte is the mantissa sign bit. Normalised, 
  300. with an assumed 0.1 (binary) before mantissa. Positive number with sign 
  301. (ie NOT 2æs complement).
  302. 4.6
  303. +4 for 1 byte : Exponent plus &80 Ö i.e. &79 = Ö1, &80 = 0, &81 = +1 
  304. 4.6
  305. Zero is a special case, and is stored as 5 zero bytes in both cases.
  306. 4.6
  307. Thus the 5 bytes are stored in the opposite order on the BBC and 
  308. Archimedes, but the values of exponent and mantissa are the same.
  309. 4.6
  310. These are minor changes, but are vital when either dumping storage, or 
  311. writing machine code routines to access variables.
  312. 4.6
  313. Martin Avison 
  314. 4.6
  315. Å    ARM speed tests surprise Ö I have, from long experience, found that, 
  316. in general, the more instructions a program executes, the longer it 
  317. takes. The corollary of this is that the fewer instructions, the less 
  318. time it should take. However, while timing some very processor-intensive 
  319. ARM code I was puzzled when on occasion I removed one instruction, and 
  320. the program took longer! Also, using the program from Archive 2.6 p55 in 
  321. March 1989 by Gerald Fitton for testing the ARM speed, I had run tests 
  322. which, when repeated, gave different times! After much trial and error, 
  323. I eventually modified Geraldæs speed test program to illustrate the 
  324. strange effect I had found.
  325. 4.6
  326. The program ArmLoop is a simple piece of code which loops a set number 
  327. of times. First, care is taken to ensure that the alignment of the code 
  328. is to a 256-byte boundary. Then it repeatedly assembles and calls a 
  329. piece of machine code which does 16 no-operation instructions (i.e. 
  330. MOVNV), loops one million times, then does 16 more no-ops. It also has a 
  331. variable number of 4-byte offsets before the start of the code and a 
  332. variable number of no-operation instructions in the loop. The times are 
  333. displayed for each test for up to 10 4-byte offsets and up to 10 no-ops 
  334. in the loop. When complete, a summary of the times is displayed.
  335. 4.6
  336. The times show an expected increase in the time taken as the loop gets 
  337. larger, but not always the expected increment for one extra instruction 
  338. in the loop. As the offsets change of the start of the executed code, it 
  339. would be expected that the times for the same loop size would remain 
  340. constant. However, this is NOT true! There is a pattern which repeats 
  341. itself every 16 bytes, or 4 word offsets, and the summary highlights 
  342. with a red background the unusually long times.
  343. 4.6
  344. Thus it can be seen that in some cases, removing an instruction from 
  345. before such a loop can increase the time taken for the loop!
  346. 4.6
  347. The conclusions reached after these tests were that for a branch 
  348. instruction, every 16-byte boundary crossed by the Program Counter 
  349. (which is 8 bytes ahead of the branch instruction) to its target, adds 
  350. an extra 0.15 microseconds to the time taken Ö about the same time as a 
  351. no-op instruction.
  352. 4.6
  353. Making use of this to optimise program speed is difficult in a program 
  354. with many branches, but the demonstration program includes at line 110 
  355. speed = FALSE : if this is changed to speed = TRUE, code is invoked in 
  356. FNspeedup to ADD no-operations in before the loop to reduce the number 
  357. of 16-byte boundaries crossed if possible. The execution times are 
  358. reduced in 37% of the cases!
  359. 4.6
  360. This is one little mystery demonstrated, but can anyone explain it? It 
  361. surely makes the effects of relocating programs slightly unpredictable. 
  362. Are there similar effects at any other memory boundaries? Has anyone got 
  363. a comprehensive understanding of how long the ARM takes for various 
  364. instructions Ö although it is supposed to execute one instruction per 
  365. clock cycle, there are other effects on speed, like the size of operands 
  366. for the MULtiply instruction, conditional execution etc.
  367. 4.6
  368.  10 REM > ArmLoop
  369. 4.6
  370.  20 MODE 12
  371. 4.6
  372.  30 PRINT öArmLoop : Arm Loop Speed Testing Program      v5    Martin 
  373. Avisonò
  374. 4.6
  375.  50 DIM code% 2000
  376. 4.6
  377.  60 REM align to page (256) boundary
  378. 4.6
  379.  70 code% = (code% OR &FF) +1
  380. 4.6
  381.  80 @% = &90A
  382. 4.6
  383.  90 PRINT öBase for code is at &ò ~code%
  384. 4.6
  385. 110 speed = FALSE :REM <<<< change to TRUE to see speedup <<<<
  386. 4.6
  387. 120 loops% = 1000000 : REM number of loops
  388. 4.6
  389. 130 maxoff% = 10 :REM maximum offset applied
  390. 4.6
  391. 140 maxnop% = 10 :REM maximum no-ops in the loop
  392. 4.6
  393. 150 DIM time%(maxoff%,maxnop%)
  394. 4.6
  395. 160 PRINT öNumber of loops = òloops%
  396. 4.6
  397. 170 PRINTÉöDetailed timings Ö Summary will follow at endò
  398. 4.6
  399. 180 PRINTÉö  Offset   Loop    Extra   Start    Loop   Branch  Total ò
  400. 4.6
  401. 190 PRINT ö           noops   noops    addr    addr    addr    time ò
  402. 4.6
  403. 200 FOR noops% = 0 TO maxnop%
  404. 4.6
  405. 210   FOR off%   = 0 TO maxoff%
  406. 4.6
  407. 220     PROCcall(code%+off%*4)
  408. 4.6
  409. 230   NEXT
  410. 4.6
  411. 240   PRINT
  412. 4.6
  413. 250 NEXT
  414. 4.6
  415. 270 PRINTÉöSummary of Total Times in Seconds ò;
  416. 4.6
  417. 280 IF speed PRINT öwith speedupò ELSE PRINT öwithout speedupò
  418. 4.6
  419. 290 PRINT öNoopsò;
  420. 4.6
  421. 300 @% = 5
  422. 4.6
  423. 310 FOR noops% = 0 TO maxnop%
  424. 4.6
  425. 320   PRINT noops%;
  426. 4.6
  427. 330 NEXT
  428. 4.6
  429. 350 PRINTÉöOffsetò
  430. 4.6
  431. 360 FOR off%   = 0 TO maxoff%
  432. 4.6
  433. 370   @% = &00005
  434. 4.6
  435. 380   COLOUR 128
  436. 4.6
  437. 390   PRINT off%;
  438. 4.6
  439. 400   @% = &20205
  440. 4.6
  441. 410   FOR noops% = 0 TO maxnop%
  442. 4.6
  443. 420     IF off% > 0 AND time%(off%, noops%) > time%(0,noops%)+2
  444. 4.6
  445.  COLOUR 129 ELSE COLOUR 128
  446. 4.6
  447. 430    PRINT time%(off%,noops%)/100;
  448. 4.6
  449. 440   NEXT
  450. 4.6
  451. 450   COLOUR 128
  452. 4.6
  453. 460   PRINT
  454. 4.6
  455. 470 NEXT
  456. 4.6
  457. 480 END
  458. 4.6
  459. 490 ================================
  460. 4.6
  461. 500 DEF PROCcall(code%)
  462. 4.6
  463. 510 PROCassemble(code%)
  464. 4.6
  465. 520 A% = loops%
  466. 4.6
  467. 530 TIME=0
  468. 4.6
  469. 540 CALL code%
  470. 4.6
  471. 550 time%=TIME
  472. 4.6
  473. 560 @% = &00008
  474. 4.6
  475. 570 PRINT off%,noops%,extra%,~code% ,~loop , ~branch;
  476. 4.6
  477. 580 @% = &20208
  478. 4.6
  479. 590 PRINT time% /100
  480. 4.6
  481. 600 time%(off%,noops%) = time%
  482. 4.6
  483. 610 ENDPROC
  484. 4.6
  485. 630 DEF PROCassemble(code%)
  486. 4.6
  487. 640 extra% = 0
  488. 4.6
  489. 650 FOR opt=0 TO 2 STEP 2
  490. 4.6
  491. 660 P%=code%
  492. 4.6
  493. 670 [OPT opt
  494. 4.6
  495. 680 FNnop(16)
  496. 4.6
  497. 690 FNnop(extra%)
  498. 4.6
  499. 700 .loop
  500. 4.6
  501. 710   FNnop(noops%)
  502. 4.6
  503. 720   SUBS  R0,R0,#1
  504. 4.6
  505. 730   FNspeedup(öloopò)
  506. 4.6
  507. 740 BGT  loop
  508. 4.6
  509. 750 FNnop(16)
  510. 4.6
  511. 760 MOV PC,R14
  512. 4.6
  513. 770 ]
  514. 4.6
  515. 780 NEXT
  516. 4.6
  517. 790 ENDPROC
  518. 4.6
  519. 810 DEF FNnop(n%)
  520. 4.6
  521. 820 IF n% > 0 THEN
  522. 4.6
  523. 830   LOCAL I%
  524. 4.6
  525. 840   FOR I% = 1 TO n%
  526. 4.6
  527. 850   [OPT opt:MOVNV  R0,R0:]
  528. 4.6
  529. 860   NEXT
  530. 4.6
  531. 870 ENDIF
  532. 4.6
  533. 880 =0
  534. 4.6
  535. 900 DEF FNspeedup(label$)
  536. 4.6
  537. 910 LOCAL label,l%,b%
  538. 4.6
  539. 920 branch = P%
  540. 4.6
  541. 930 label  = EVAL(label$)
  542. 4.6
  543. 940 IF speed AND (opt AND 2) = 0 AND label < branch THEN
  544. 4.6
  545. 950   l% = (label)    MOD 16/4
  546. 4.6
  547. 960   b% = (branch+8) MOD 16/4
  548. 4.6
  549. 970   IF l% > b% THEN extra%=4 ATNl%
  550. 4.6
  551. 980 ENDIF
  552. 4.6
  553. 990 =0
  554. 4.6
  555. Martin Avison
  556. 4.6
  557. Å    Cheat (revised) for Man-At-Arms Ö Gets rid of the bug in the last 
  558. cheat! This one gives you infinite lives and punches!
  559. 4.6
  560. 10 *LOAD $.!MANATARMS.CASTLE2 10000
  561. 4.6
  562. 20 *LOAD $.!MANATARMS.CASTLE3 52000
  563. 4.6
  564. 30 ?&19198=0:?&521F4=0
  565. 4.6
  566. 40 *SAVE $.!MANATARMS.CASTLE2 10000 +10000 10000 10000
  567. 4.6
  568. 50 *SAVE $.!MANATARMS.CASTLE3 52000 +1000 52000 52000
  569. 4.6
  570. If you want to turn the game back into its original form change the two 
  571. variables in line 30 to the value of 1. Mark Faulkner
  572. 4.6
  573. Å    Cheat for Pysanki Ö This cheat gives you Infinite lives and missiles.
  574. 4.6
  575. 10 *LOAD $.!PYSANKI.PYSANKI2 10000
  576. 4.6
  577. 20 *LOAD $.!PYSANKI.PYSANKI3 52000
  578. 4.6
  579. 30 ?&19178=0:?&52278=0
  580. 4.6
  581. 40 *SAVE $.!PYSANKI.PYSANKI2 10000 +10000 10000 10000
  582. 4.6
  583. 50 *SAVE $.!PYSANKI.PYSANKI3 52000 +1000 52000 52000
  584. 4.6
  585. If you want to turn the game back into its original form, change the two 
  586. variables in line 30 to the value of 1. Mark Faulkner
  587. 4.6
  588. Å    Cheat for Kaptain Konflikt Ö This cheat gives you 160 grenades and 
  589. infinite power!
  590. 4.6
  591. *DIR !KONFLIKT
  592. 4.6
  593. LOADöNEWVERTò
  594. 4.6
  595. LIST 1120
  596. 4.6
  597. 1120.Var_grenades:EQUD 160 (160 Number of grenades!)
  598. 4.6
  599. LIST 6940
  600. 4.6
  601. 6940 REPEAT:!Var_man_shot=0:
  602. 4.6
  603. UNTIL !Var_lift_off=3
  604. 4.6
  605. SAVE öNEWVERTò
  606. 4.6
  607. Also, here are all the passwords (backwards Ed.) Ö ELBRAM, REKAEPS, 
  608. CITATS, TCAPMI, ELIBOM. Mark Faulkner
  609. 4.6
  610. Å    Cheat for Alerion Ö This cheat gives you infinite lives!
  611. 4.6
  612. 10 *LOAD $.!ALERION.G 1E06C
  613. 4.6
  614. 20 ?&2749C=0
  615. 4.6
  616. 30 *SAVE $.!ALERION.G 1E06C +226A4 26ABC
  617. 4.6
  618. To convert the game to its original form change the value of the 
  619. variable in line 20 the 1. Mark Faulkner
  620. 4.6
  621. Å    Cheat for Mad Professor Mariarti Ö This cheat gives you infinite lives 
  622. and energy. Edit the !RUN file in the !MadProf Directory with !EDIT. 
  623. Then when you have it Edited look to see where it loads in the program 
  624. ÉProfprogæ. Then just delete the code after it and add this code below 
  625. :-
  626. 4.6
  627. Load Profprog
  628. 4.6
  629. Echo <21>
  630. 4.6
  631. | Infinite energy
  632. 4.6
  633. MemoryA 18F48 F0000000
  634. 4.6
  635. MemoryA 1919C F0000000
  636. 4.6
  637. MemoryA 1920C F0000000
  638. 4.6
  639. MemoryA 19F00 F0000000
  640. 4.6
  641. MemoryA 19F70 F0000000
  642. 4.6
  643. MemoryA 186B4 F0000000
  644. 4.6
  645. MemoryA 19B08 F0000000
  646. 4.6
  647. MemoryA 1D260 F0000000
  648. 4.6
  649. MemoryA 18D84 F0000000
  650. 4.6
  651. | Infinite lives
  652. 4.6
  653. MemoryA 196B4 F0000000
  654. 4.6
  655. Echo <6>
  656. 4.6
  657. Go
  658. 4.6
  659. RMKILL Musicmodule
  660. 4.6
  661. RMKill Joystick
  662. 4.6
  663. RMKill Teqmodule
  664. 4.6
  665. TequeRmMin
  666. 4.6
  667. RMKill TequeMemory
  668. 4.6
  669. FX 15 0
  670. 4.6
  671. DIR ^
  672. 4.6
  673. Echo Bye Bye professor!
  674. 4.6
  675. Remember to keep a copy of the original !RUN file so you can return the 
  676. game to its original form again. 
  677. 4.6
  678. Å    Disc free space snag Ö The RISC-OS desktop filer COUNT menu option 
  679. provides a very useful way of checking the size of individual files, 
  680. applications and whole directories (and any nested sub directories). 
  681. However, it is somewhat economical with the truth.
  682. 4.6
  683. You may well find that the *COUNT of a particular application or 
  684. directory structure indicates that it will fit comfortably onto a floppy 
  685. or RAM disc that you have already checked for *FREE space. However, when 
  686. you try and copy the files across you may get a ÉDisc fullæ error.
  687. 4.6
  688. The reason is that *COUNT takes no account of the space occupied by the 
  689. catalogues of directories themselves; this is 2k per directory on an 
  690. ADFS or RAM disc. So a directory containing several applications, some 
  691. perhaps with further sub directories, will take up a lot more space than 
  692. the *COUNT option would have you believe.
  693. 4.6
  694. Rick Sterry, Wakefield BBC Micro User Group
  695. 4.6
  696. Å    Fortran bug Ö There is a bug in the DACOS (double precision arc-
  697. cosine) function on Fortran release 2. The function does not work if it 
  698. is given a numeric, rather than algebraic, argument. Thus 
  699. PI=DACOS(Ö1.0D0) does not give a value of p as it should. To get p, you 
  700. have to use ANG=Ö1.0D0 followed by PI=DACOS(ANG) where ANG is any 
  701. variable name you like. Raymond Wright, Guildford.
  702. 4.6
  703. Å    Keyboard cleaning Ö I recently tried this after reading about it in 
  704. Archive 3.9 p10. It was even easier than the magazine article suggested. 
  705. Whilst I had the keyboard apart, I pulled off the key tops and gave them 
  706. a gentle scrub with soap, warm water and a nail brush as they were 
  707. getting grubby. I now have a gleaming keyboard that anyone could be 
  708. proud of. David Livsey, Exeter.
  709. 4.6
  710. Å    PrinterDM with the LC24-10 Ö Here is some thing any one using an LC24-
  711. 10 with new !PrinterDM (Ver 2.46) If you are getting banded graphics 
  712. dumps and squashed text then make a copy of the Text file PrDataScr file 
  713. found inside the application directory.
  714. 4.6
  715. Load the copy in to !Edit and look at all the Epson LQ definitions for 
  716. the line below.
  717. 4.6
  718. line_epilogue: ö<27>$<0><0><27>J <24>ò 
  719. 4.6
  720. Change all LQ definitions except the 60 by 60dpi to:- 
  721. 4.6
  722. line_epilogue: ö<27>$<0><0><27>J <28>ò
  723. 4.6
  724. this having been done, save the file.
  725. 4.6
  726. Delete the data file PrData. You can either rename the changed text file 
  727. to PrData and check all is OK before using the supplied compacting 
  728. program (PrSquasher) or, if you are confident there are no mistakes, 
  729. compact it first before trying it out. 
  730. 4.6
  731. If you still get banding or gaps appearing then adjust the value between 
  732. the < > symbols of the last parameter. This may possibly work for the 
  733. other drivers.
  734. 4.6
  735. N.B. Remember to keep a copy of the original files.
  736. 4.6
  737. Michael Overthrow
  738. 4.6
  739. Å    Rhapsody Ö Before entering complex music, fill a dummy line with your 
  740. shortest notes. Now everything just lines up, even across five staves, 
  741. so you never have to Énudgeæ notes to and fro. But why does the Rhapsody 
  742. manual lack a tutorial? I had typed in many pages of sheet music before 
  743. guessing how to set the key and the automatic sharps! Nik Kelly, 
  744. Liverpool.
  745. 4.6
  746. Å    System modules versions Ö I have heard of a number of applications 
  747. refusing to work because one of the modules contained in the !System 
  748. application folder was out of date. A quick way to check the version 
  749. numbers, even if the modules are not already loaded, is to open up the 
  750. É!System.Modulesæ directory (by double clicking on the É!Systemæ folder 
  751. icon while holding the <shift> key down), and then to load each module 
  752. into !Edit. Ignore all the [00][00], etc you should look for the text 
  753. below:
  754. 4.6
  755. CLib Ö Shared C Library 3.50 (19 Jul 1989)
  756. 4.6
  757. Colour Ö Colour Selector 0.52 (26 Apr 1989)
  758. 4.6
  759. FPEmulator Ö FPEmulator 2.80 (22 Feb 1989)
  760. 4.6
  761. These are the latest official version numbers. Acorn have stressed that 
  762. any other other releases are illegal copies and cannot be relied on.
  763. 4.6
  764. Rick Sterry, Wakefield BBC Micro User Group
  765. 4.6
  766. Å    Virus warning Ö In a recent message on the international UNIX-based 
  767. networks, in the eunet. micros.acorn section, a Liverpool-based 
  768. Archimedes owner announced the discovery of a virus. The virus resides 
  769. in the !Boot file of applications and consists of an extra line:
  770. 4.6
  771. RMEnsure Extend 0 RMRun <Obey$Dir>.ModName
  772. 4.6
  773. and is followed by a commented-out hex <FF> character.
  774. 4.6
  775. The module name ModName varies between MonitorRM, CheckMod, ExtendRM, 
  776. OSextend, ColourRM, Fastmod, CodeRM, MemRM. The name of the module in 
  777. the *MODULES list is always ÉExtendæ and is thus referred to as ÉThe 
  778. Extend Virusæ. The module doesnæt do anything destructive but it is 
  779. always possible that someone will modify it. The only present problem is 
  780. that it takes 1k of RMA every time you double click on an application, 
  781. eventually filling it up and crashing the machine. Of course, it also 
  782. consumes sections of disc space, as it puts copies of the module and 
  783. extended !Boot files on your discs, but this is pretty subtle and is 
  784. likely to go unnoticed, (at first).
  785. 4.6
  786. If an application doesnæt have a !Boot file to start with, the virus 
  787. creates one. If all this makes hard disc owners a little nervous then 
  788. they should get hold of a copy of !Watchdog, which is on Risc Useræs 
  789. program disc Vol 3 no 7.
  790. 4.6
  791. Wakefield BBC Micro User Group
  792. 4.6
  793. Å    Wiping SCSI discs Ö Itæs not often that you want to remove all the 
  794. files from a hard disc but with the advent of removable hard drives, it 
  795. is becoming a more common requirement. To select all the files and 
  796. delete them can take a huge amount of time if there are a lot of small 
  797. files so it would probably be quicker to re-format the drive. If you are 
  798. using an Oak Solutionsæ SCSI interface then there is an even quicker way 
  799. of doing it. Use their SCSIForm program and choose the <M> option to 
  800. initialise the map and root of the disc. This simply re-writes the 
  801. catalogue of the root directory to say that there are no files left on 
  802. the disc. This is obviously very quick Ö but deadly Ö beware, thereæs no 
  803. way back.
  804. 4.6
  805. Impression Hints and Tips
  806. 4.6
  807. Here are a few more hints and tips mostly from the editoræs dabblings in 
  808. preparing the magazine...
  809. 4.6
  810. Å    Dashes Ö If you, like me, donæt like to see hyphens used where dashes 
  811. should be used Ö i.e. in places like this Ö you will probably be sick 
  812. and fed up of typing <alt-153>. (Note that the character in öalt-153ò is 
  813. a hyphen, just in case you werenæt aware of the difference.) If you are 
  814. importing text into Impression, occurrences of Éhyphen hyphenæ will be 
  815. converted automatically by Impression into a long dash ÿ see what I 
  816. mean. Personally, I prefer the shorter one so what I have done is set up 
  817. the abbreviation dictionary with Éexpand as you typeæ and used an 
  818. underline character to be turned into a dash. The only drawback is that 
  819. itæs OK for things like the dashes earlier in this paragraph, but if, 
  820. for example, you use dashes in phone numbers, as 0603Ö766592, the 
  821. abbreviation technique does not work and you are back to  <alt-153>. 
  822. Anyone any other ideas?
  823. 4.6
  824. Å    Find styles Ö If you want to find a style, get up the find/replace box 
  825. with <ctrl-f4> and then click in the menu box to the right of the Find 
  826. box and select the style you are looking for. This will come up as, say, 
  827. öò. Type an ö@ò after this Ö which stands for öany textò Ö and then 
  828. press <return>. This will highlight the whole of the first piece of text 
  829. with that style or effect. Unfortunately, the facility to replace that 
  830. style with another style is not yet working. If you do want to do any 
  831. search and replace on the style names, export the text, with styles, and 
  832. then use another WP such as !Edit to do the searching and replacing 
  833. before returning it to Impression.
  834. 4.6
  835. Å    Rogue effects Ö Someone sent me a file in which they had used a 
  836. particular font which I did not have so when I loaded the file, 
  837. Impression told me it was changing it to Trinity.medium. I did an edit-
  838. style and looked at all the style definitions to no avail. Eventually, I 
  839. realised that it must have been used as an effect, so how was I to find 
  840. it and eliminate it or change it to some font I did possess? Because the 
  841. font had been changed to Trinity.medium (i.e. the BaseStyle font) I 
  842. could not pick it out with a visual scan so the first idea was to change 
  843. the BaseStyle to, say, Zapf.Dingbats so that anything which was in a 
  844. different font was obviously an effect or a style. Unfortunately, this 
  845. didnæt reveal the offending effect. At this point, I became convinced 
  846. that I had a non-existent, un-removable effect, i.e. a bug in Impres
  847. sion. So I sent the offending file to CC who informed me that the 
  848. particular effect WAS in the text and they also showed me how to locate 
  849. it... as follows...
  850. 4.6
  851. (Actually, the reason that I couldnæt find the effect was that I had 
  852. already gone through the document adding extra styles and had covered 
  853. this rogue font-change effect with a font-change style of my own. In 
  854. other words, the style, because it was applied later than the effect, 
  855. took precedence.) 
  856. 4.6
  857. Å    Finding effects Ö In the same way that you can find styles (see above) 
  858. you can also find effects as long as you tell Impression that you want 
  859. effects to be shown on the style menu. To do this, locate the file öUKò 
  860. in the Impression öResourcesò directory. Load it into !Edit and find 
  861. öCnf1:ò and change it to öCnf1:Eò Ö thatæs a one, not a letter ölò. Save 
  862. the file and shut down and re-start Impression. You then will have 
  863. effects on your style menus and search on {öeffectnameò }@, as explained 
  864. above.
  865. 4.6
  866. Å    Fast search and replace Ö There are a couple of very useful keyboard 
  867. short-cuts not documented in the manual which speed up the search and 
  868. replace. When the ötext foundò box is on screen, <ctrl-R> does a 
  869. öReplaceò and <ctrl-N> moves to the öNextò.
  870. 4.6
  871. Å    Keyboard short-cuts Ö Apart from the ones listed on pages 119ff of the 
  872. Impression manual, here are a few more: (some are mentioned on the menu, 
  873. but not in manual)
  874. 4.6
  875. <ctrl-shift-D> go to chapter
  876. 4.6
  877. <ctrl-shift-H> produces a bullet i.e. a öÅò.
  878. 4.6
  879. <ctrl-shift-I> also produces a bullet i.e. a öÅò!
  880. 4.6
  881. <ctrl-shift-J> produces superscript
  882. 4.6
  883. <ctrl-shift-K> produces subscript
  884. 4.6
  885. <ctrl-shift-T> save text story
  886. 4.6
  887. Å    Page number justification problems Ö Some of you may have had 
  888. difficulty getting correct centring or right justification of page 
  889. numbers on footers. This is corrected in version 2.09 Ö well, almost! 
  890. The footers on right hand pages were wrong last month, when I was using 
  891. version 2.05, (in fact I didnæt even notice!) and the footers on the 
  892. left hand pages would have been wrong this month (with 2.09) if I had 
  893. not found a way round it. If you try to have left aligned page number 
  894. with a right tabbed piece of text, the text suffers a left shift. Iæve 
  895. solved it for now by splitting the footer text into two separate frames, 
  896. one left aligned and the other right aligned. Itæs messy, but it works.  
  897. 4.6
  898.  
  899. 4.6
  900.  
  901. 4.6
  902. Hints and Tips
  903. 4.6
  904.  
  905. 4.6
  906.  
  907. 4.6
  908. Oak
  909. 4.6
  910. New 
  911. 4.6
  912.  
  913. 4.6
  914. Colton
  915. 4.6
  916. From 4.5 page 14 
  917. 4.6
  918.  
  919. 4.6
  920. Comment Column
  921. 4.6
  922. Å    öBuyer bewareò Ö Here is a salutary tale with a (relatively) happy 
  923. ending. Graham Collins, one of our subscribers, bought a 1M memory 
  924. upgrade for his A3000 from Norwich Computer Services. Some time later 
  925. (but less than a year) the computer started going wrong so he took it to 
  926. Beebug Ltd from whom he had bought the computer. They took it in, fixed 
  927. it for him and charged him ú45. The trouble was that when Graham looked 
  928. at the service report, he found they had öre-soldered loose connections 
  929. on the ram boardò. He felt that this was unfair because the ram board 
  930. was still under warranty. However, from Beebugæs point of view, they had 
  931. taken in a computer and repaired it in good faith and, indeed, had only 
  932. charged ú45 which is their minimum charge for repairing a computer. In 
  933. one sense, because it was a fault on the ram board, it was Morleyæs 
  934. responsibility, but why should they pay ú45 since they could have 
  935. repaired the board at very little cost to themselves. Should N.C.S. be 
  936. responsible for the ú45? Hardly, because all we did was supply a product 
  937. from a third party. We do not feel that it is our responsibility to test 
  938. the items that go through our hands.
  939. 4.6
  940. So, who paid the ú45? Well, no one, but Morley are going to upgrade the 
  941. 1M to 3M and not charge Graham the full upgrade charge Ö well done, 
  942. Morley.
  943. 4.6
  944. What is the moral of this story? Should Beebug have informed Graham as 
  945. soon as they found it was the memory upgrade that was at fault? Even if 
  946. they had, they would presumably still have had to charge him their ú45 
  947. minimum charge. I donæt really think anyone is to blame but it does 
  948. suggest that you need to be careful when combining hardware bought from 
  949. different sources. The problem could have been avoided if Graham had 
  950. taken the memory board out when the computer went wrong so he could see 
  951. where the problem lay. Mind you, having said that, we have had memory 
  952. boards returned to us apparently not working and then found that they 
  953. worked OK on other computers. The problem lay with a timing fault such 
  954. that the tolerance of the customeræs computer and the tolerance of the 
  955. memory board meant that the two were incompatible. Buyer beware!
  956. 4.6
  957. Å    Canon BJ10e Ö Iæve recently bought a Canon BJ10e from EFF who gave me 
  958. very prompt service. The printer itself is quite petite, about the same 
  959. size as an A4 pad, but thicker, weighing in at a paltry 1.8 kg. I 
  960. ordered mine in the beige, there is also the option of having it in 
  961. black, I suppose to co-ordinate it with the black lap tops around. As a 
  962. result of the lightweight construction, the lid and some of the fixtures 
  963. appear to be flimsy and I doubt whether they would stand up to the 
  964. rigours of a commercial or educational environment. 
  965. 4.6
  966. The print quality is very good, the BJ10e uses a 36 x 48 dot matrix for 
  967. text and up to 360 dpi for bit-mapped graphics. I have yet to use any 
  968. proper Éinkjetæ paper, which gives much better results. The most 
  969. noticeable aspect of this printer, is that it is virtually silent! I 
  970. also bought the sheet feeder, which takes about 30 sheets of A4, with a 
  971. flap near the bottom for envelopes and thin card. The construction of it 
  972. is also very plasticky and the only problem that I have had with it, is 
  973. that it is has a thickness adjustment which needs to be set properly or 
  974. else it ejects an extra sheet of blank paper after every printed sheet. 
  975. 4.6
  976. The printer manual does not give the full details of the control and 
  977. escape codes, which are useful if you need to customise the First Word 
  978. Plus driver for instance. It took me a long time to get it to work 
  979. properly with the printer driver and First Word Plus. In my opinion the 
  980. documentation sent out with the printer driver is inadequate. I have 
  981. detailed my findings in the hope that it may help others.
  982. 4.6
  983. BJ10e d.i.p. switch setup
  984. 4.6
  985.     1    2    3    4    5    6    7    8    
  986. 9    10
  987. 4.6
  988.     on*    off    off    off    off    on     
  989. off    off    on     on 
  990. 4.6
  991. *only with an sheet feeder
  992. 4.6
  993. *ignore is set to 0 on the Archimedes
  994. 4.6
  995. This set up works equally well with First Word Plus and the printer 
  996. driver. The RISC-OS printer driver should be installed for all printing, 
  997. including First Word Plus. Iæve also found that the margins need to be 
  998. set, to show the correct printable area, for programs such as !Draw and 
  999. these are:     Top: 0.2 mm     Bottom: 
  1000. 12.6 mm 
  1001. 4.6
  1002.         Left: 0.0 mm     Right: 6.9 
  1003. mm 
  1004. 4.6
  1005. Note that these values (should) hold true for all paper sizes, as they 
  1006. define the margin. 
  1007. 4.6
  1008. Even with the correct adjustment of the thickness control, I found the 
  1009. printer ejected an extra (blank) sheet after a graphics dump from !Draw 
  1010. and !Paint. It is more annoying than serious, however. 
  1011. 4.6
  1012. The running cost of the printer is dependent mainly on the type of paper 
  1013. you intend to use and the frequency of screendumps and the like. I am 
  1014. using standard 80 g/m photocopier paper, which costs about ú7.00 for 500 
  1015. sheets (ream). The ink cartridge/ head costs ú20; I have printed about 
  1016. 600 sheets of mixed DTP and standard printer font outputs, where I have 
  1017. found the results beginning to Ébandæ, noticeable with large expanses of 
  1018. black, although this hasnæt seemed to affect normal or outline font 
  1019. print-outs. I estimate the cost per page to be about 4.5p, not too bad, 
  1020. if you canæt afford or justify a laser printer. 
  1021. 4.6
  1022. Newsflash Ö Canon have decided to drop the price and include the 
  1023. sheetfeeder for free. I have seen prices as low as ú320 inclusive; check 
  1024. out the computer magazines for up-to-date prices. I paid ú420 for mine, 
  1025. so at ú320, itæs very good value in my opinion. Chun Wong, Sheffield.
  1026. 4.6
  1027. Å    Dealer Problems Ö I was interested to read David Hazelæs letter, in 
  1028. the November issue, regarding dealer problems and Acorn computers. Now 
  1029. that Acorn have ösold onò the development of their RISC technology to 
  1030. the newly formed ARM company, their dependence on the sales and 
  1031. marketing of high quality products is even more significant for all 
  1032. users.
  1033. 4.6
  1034. As a representative of one of Acornæs biggest single group of customers, 
  1035. I can suggest several issues which they might like to consider. 
  1036. 4.6
  1037. Generally, we are satisfied with the service that our dealers offer. 
  1038. Equally, we are delighted with the performance of the machines them
  1039. selves and we are confident that we have made the right decision in 
  1040. encouraging our schools to buy RISC technology. However, there are 
  1041. difficulties with the öperipheralsò supplied with the machine which 
  1042. create a lot of extra work for dealers and other support agencies, such 
  1043. as our Microtechnology Centre, which are often unnecessary and reflect 
  1044. Acornæs inability to perceive the problems of ordinary end users no 
  1045. matter how trivial they may be to more technically proficient users. 
  1046. 4.6
  1047. For example, the Applications Discs do not contain the latest printer 
  1048. drivers (which makes programs such as Draw or Folio much slower to print 
  1049. and therefore much less attractive) and contain no copies of the 
  1050. Integrex or Laserjet drivers. In addition, they are structured in a such 
  1051. a way that it is impossible to just öswitch on and goò. Problems arise 
  1052. with incomprehensible messages about !System and modules (whatever they 
  1053. may be), an apparent lack of memory (e.g. copies of First Word Plus with 
  1054. no maximum wimpslot size), a small or non existent font cache, an 
  1055. obsolete font system, apparently endless disc swops when saving or 
  1056. copying files (even from a RAM disc) or loading programs from a new disc 
  1057. which has not had the necessary extras, such as !System and !Fonts added 
  1058. to it (and sometimes even when they have been) and printers which print 
  1059. gobbledegook because the drivers are not configured correctly. Whilst 
  1060. answers to some of these problems may be found in the guides, there is 
  1061. no starter booklet which provides immediate help with these sort of 
  1062. problems. They are the ones which arise as soon as the user is familiar 
  1063. with the environment itself. In addition, having run an educational 
  1064. hotline, Acorn now refuse to answer (as in öwe know but we wonæt tell 
  1065. youò) schoolsæ questions when contacted. You can imagine the reaction to 
  1066. that from schools which have bought anything up to 120 Archimedes!
  1067. 4.6
  1068. Whilst we offer a very full support service for our schools which will 
  1069. help them solve these and, hopefully, all the other problems which may 
  1070. arise, Acorn themselves could make life a lot easier for us and our 
  1071. dealers and give greater customer satisfaction for all users if thought 
  1072. more carefully about these potential user difficulties. For example, 
  1073. they could provide much more carefully structured Applications discs and 
  1074. produced a Beginnersæ Guide with the machine, dealing with just these 
  1075. sort of issues. I suspect the source material exists in many LEAs 
  1076. already. Another useful addition might be fact sheets with answers to 
  1077. the other more commonly asked questions, from the days when they did run 
  1078. an educational hotline for schools, which could be supplied on request 
  1079. and made available to support agencies for duplication and distribution. 
  1080. 4.6
  1081. With regard to the outline font manager, it should be made available 
  1082. with the machine or, at least, Acorn should supply more information with 
  1083. the machine about this most essential upgrade. At present, end users are 
  1084. paying for it over and over again within the cost of each program they 
  1085. buy which provides it; something that is also unfair on the software 
  1086. houses themselves.
  1087. 4.6
  1088. Acorn may claim that they are now listening to customers but the fact is 
  1089. that we and many others have been saying these sort of things for what 
  1090. seems a very long time.
  1091. 4.6
  1092. I suspect that a major new market which is opening up, consists of those 
  1093. potential customers (usually computer illiterate from a non games 
  1094. playing background) who have never bothered with computers before but 
  1095. are now encouraged to the view that, maybe, they are worth considering 
  1096. after all. The critical factor for the users is not the the speed of the 
  1097. machine, the quality of the graphics, the relative merits of different 
  1098. items of software or even small price differences. It is the simplicity 
  1099. with which they can get started on useful tasks such as word processing 
  1100. and drawing. At present, on Acorn computers, it is not as simple as it 
  1101. could be for reasons that are nothing to do with the machine itself but 
  1102. everything to do with a lack of consideration for the requirements of 
  1103. this sort of end user.
  1104. 4.6
  1105. Finally, if Acorn want a suggestion for a technical development, useful 
  1106. for the (majority of) users who do not have a hard-disc, they should 
  1107. look at ways of increasing the storage capacity of their floppy drives 
  1108. to 1.2mb.
  1109. 4.6
  1110. Martyn Wilson, Inspector for Technology, Hampshire LEA
  1111. 4.6
  1112. Å    Joystick interfaces Ö RTFM kindly rang from Jersey to say that 
  1113. although their Joystick interface voids the A3000æs warranty, it does 
  1114. not void the warranty on the A400/1 series. I dislike internal 
  1115. Édonglesæ, so I admitted Iæd already bought one from for their rival. 
  1116. 4.6
  1117. The Serial Portæs gadget is packed into a neat breakout box with 
  1118. Archimedes and printer sockets at the ends, two joystick 9-pin D-types 
  1119. and a printer / games switch on top. My stiff printer cable pulled it 
  1120. off the Archimedes, so I made a half-metre ribbon cable to bring it to 
  1121. my desk at front-left. 
  1122. 4.6
  1123. Their Tutor program prompted for stick actions and each matching 
  1124. keystroke and made a command file for the joystick Rmodule. Their 
  1125. compiler took text-files with simple keywords for stick actions, flags 
  1126. and logic. Examples ranged from Alerion to Zarch. 
  1127. 4.6
  1128. The Rmodule stayed active through games, BASIC and Rhapsody. My early 
  1129. version lacks <shift-Fn>, <ctrl-Fn> and <shift-ctrl-Fn>, as used in 
  1130. View, Edit or Rhapsody, but took all the regular keys. 
  1131. 4.6
  1132. Itæs fun. Itæs also given me 10 switches without fuss or I/O podule. Iæm 
  1133. building a low-tech ÉKnob-boxæ for it, with <x>, <y>, <z> look_> _shift 
  1134. and 3 bits to select Eye or 1-6 objects. (I reproduce this last sentence 
  1135. in the hope that it means something to someone! Ed.) Nik Kelly, 
  1136. Liverpool.
  1137. 4.6
  1138. Å    Schema Ö Just a brief note on this acclaimed spreadsheet. A friend, 
  1139. who has just bought Schema, invited me to try it on his A440. My first 
  1140. reaction to its speed, presentation and the facilities, such as 
  1141. functions and macros, was that it was an excellent program. However, I 
  1142. very quickly found a glaring bug:
  1143. 4.6
  1144. Inserting extra rows and/or columns in the middle of an existing sheet 
  1145. results in replicated formulae having Éholesæ in the new parts and 
  1146. incorrect references after the insertions.
  1147. 4.6
  1148. I then found that changing a column of figures on a Éwhat ifæ basis 
  1149. resulted in formulae being changed into text and hence failing to 
  1150. recalculate. My trial run was done on a very simple sheet so changing 
  1151. the text back was very easy but it should not be necessary. The person 
  1152. whose machine and program I was using has to work with real and 
  1153. sometimes very large spreadsheets Ö correcting formulae is not on for 
  1154. him! 
  1155. 4.6
  1156. I have used PC packages such as Lotus 1-2-3 and Symphony, to name but 
  1157. half a dozen, so I have a fair idea what these things should do. I know 
  1158. that the above named products cost about three times as much as Schema 
  1159. but there are some which cost only half, such as Quattro, which can at 
  1160. least give a guide to the standards expected.
  1161. 4.6
  1162. Having said all that, I did like Schema and will consider buying it when 
  1163. the above mentioned faults have been corrected. I would also ask the 
  1164. writer(s) of the program if they can arrange for only the marked block 
  1165. to be printed without the column letters and row numbers. One thing I 
  1166. would like to see in a spreadsheet is the ability to select only a few, 
  1167. non adjacent, rows for printing (or perhaps I missed how to do that in 
  1168. the short time I had for play!). Dave Livsey, Exeter.
  1169. 4.6
  1170. I passed these comments on to Dave Clare who told us they were aware of 
  1171. the problems and that they will be cured in the next release of Schema 
  1172. which will be supplied to all registered users free of charge (Minerva, 
  1173. are you listening?). Also, they only occur after inserting new rows or 
  1174. columns and copying into that area, not if you copy or move a block of 
  1175. data or formulae. The point about printing labels is already catered for 
  1176. Ö <shift-f7> turns off labels and <shift-f6> turns off the grid as 
  1177. explained in the manual and shown on the Default menu of the main Schema 
  1178. Sheet menu. Dave Livseyæs last point is being taken into account for 
  1179. future releases of Schema. For the moment, the only way is to copy the 
  1180. relevant areas to a blank part of the sheet and print the marked block. 
  1181. Ed.
  1182. 4.6
  1183. Å    Musical Macs Ö I would like to pick up on a point raised by Brian 
  1184. Cowan in his Hardware Column (Issue 4.5 p22) where he states that, in 
  1185. his view, since the advent of Impression 2, there is no need for 
  1186. Archimedes owners to feel envious of Mac owners. This may be true of DTP 
  1187. but, unlike the Archimedes, the Mac has excellent support for musical 
  1188. applications, particularly professional Midi sequencing and direct to 
  1189. hard disc audio recording.
  1190. 4.6
  1191. With the release (at last) of Inspiration, Pandoraæs excellent Midi 
  1192. sequencer, (I disagreed with the poor review it got in Risc User Ö and 
  1193. with the fact that they thought Studio 24 Plus was good.) we now have a 
  1194. sequencer which competes with the best on the Mac. There are still a few 
  1195. features missing, though those it has are well implemented. It has very 
  1196. powerful editing facilities, though it has no scorewriting abilities. 
  1197. However, because it saves its files in the Midi Files Standard, as does 
  1198. Rhapsody, it should, in theory, be possible to use Rhapsody and 
  1199. Inspiration together.
  1200. 4.6
  1201. However, it is the hardware support that puts the Mac far ahead of the 
  1202. current Archimedes situation. For example, Digidesignæs ÉSoundToolsæ 
  1203. expansion card for the Mac provides CD quality sampling and playback 
  1204. (much like Armadilloæs A616). However, SoundTools has on-board memory 
  1205. and intelligence enabling it to get on with the business of sampling/
  1206. playback whilst the host Mac can be running a Midi Sequencer, which in 
  1207. turn can instruct SoundTools as to which samples to play, and when. The 
  1208. multi-tasking Archimedes cannot do this Ö the A616 takes over the 
  1209. Archimedes as a single task, preoccupying the processor and using the 
  1210. main memory.
  1211. 4.6
  1212. Then there are DSP cards. A Digital Signal Processing chip is a very 
  1213. fast number cruncher (some are rated as high as 80 MIPs) dedicated to... 
  1214. processing signals. They can do all sorts of things to digitised sound 
  1215. (time delays, pitch changing, dynamic control, digital filtering, etc), 
  1216. all in real time.
  1217. 4.6
  1218. For people who still think that 4 MIPs is fast, Symetrix claim that 
  1219. their recently launched DPR44 4-track digital recording and editing 
  1220. system uses a processor running at 400 MIPs! It wonæt be cheap, though.
  1221. 4.6
  1222. (Incidentally, for those of you still wary of dongles, I have two 
  1223. dongles dangling off the back of my 410 Ö Impression and Inspiration Ö 
  1224. and have not experienced any problems so far.)
  1225. 4.6
  1226. The prospect of a Mac emulator sounds interesting, though youæd need a 
  1227. pretty hefty ARM to emulate a 25MHz 68030 Mac 2. However, if you could 
  1228. also hook up Mac Nubus expansion cards...
  1229. 4.6
  1230. I am not particularly impressed with emulators in general. You get 
  1231. accustomed to the native speed of any machine and emulation of other 
  1232. environments will always be slower than native mode operation.
  1233. 4.6
  1234. Iæve had an Archimedes now for three years and, as a programmeræs 
  1235. machine, I still think itæs the beeæs knees but Iæd like to see the 
  1236. Archimedes take on the Mac market in the music field the way that it has 
  1237. in the DTP field.  David Lenthal.
  1238. 4.6
  1239. Å    Starfleet encounter Ö Alan Highet gave a very unfavourable impression 
  1240. of the program which was, I think, a bit unfair. (The author of the 
  1241. program writes.) 
  1242. 4.6
  1243. Alan criticises the lack of a Éone player versus the computeræ option. 
  1244. It results from the complexity of the gameplay which makes it quite 
  1245. difficult (impossible?) to implement a good computer opponent. In any 
  1246. case, isnæt it nicer to play with a fellow human being? Starfleet 
  1247. Encounter has been designed to administrate the gameplay; you can regard 
  1248. it as a kind of board game with a computerized referee and thatæs how 
  1249. you have to judge it Ö even if there is an arcade action part.
  1250. 4.6
  1251. Alanæs next point of criticism is that the players canæt hide their 
  1252. plans from the opponent. This is not really true. The facility to 
  1253. execute pre-programmed command macros is one mechanism to do so (these 
  1254. sequences can be written before the players meet and can then be loaded 
  1255. in). Secondly, who can deny that chess-players, for example, can hide 
  1256. their plans from each other?
  1257. 4.6
  1258. That Alan doesnæt like the method of programming the ships, is no 
  1259. surprise to me. It really is somewhat difficult! This may be true if you 
  1260. make use of all the programming features (functions, if-else-endif, 
  1261. variables) but restrict yourself to the basic facilities and itæs 
  1262. absolutely simple.
  1263. 4.6
  1264. Finally, it is obvious that the simultaneous use of the keyboard by two 
  1265. persons is not ideal, but how can Alan say it doesnæt work? I play 
  1266. Starfleet Encounter quite often and I can assure you: it works!
  1267. 4.6
  1268. Starfleet Encounter is available for ú10, sent in by cheque to Daniel 
  1269. Tamberg Software, Landgrafenstr. 9, 1000 Berlin 30, Germany. This 
  1270. includes a 28K on-disc manual and several example sequ-ences.  Daniel 
  1271. Tamberg, Berlin.  A 
  1272. 4.6
  1273.  
  1274. 4.6
  1275. Design Concept
  1276. 4.6
  1277. New
  1278. 4.6
  1279.  
  1280. 4.6
  1281. Atomwide
  1282. 4.6
  1283. From 4.5 page 26
  1284. 4.6
  1285. But please can you strip in a change? The ú275 at the end of the first 
  1286. paragraph should be changed to ú199. OK?
  1287. 4.6
  1288.  
  1289. 4.6
  1290. Computer Concepts
  1291. 4.6
  1292. New
  1293. 4.6
  1294.  
  1295. 4.6
  1296. Computer Concepts
  1297. 4.6
  1298. New
  1299. 4.6
  1300.  
  1301. 4.6
  1302. PipeLine 
  1303. 4.6
  1304. Gerald Fitton 
  1305. 4.6
  1306. Thanks once again to all who have written to me. As I write, I have half 
  1307. a dozen discs which I have not yet returned; they will be returned as 
  1308. soon as possible. You are getting more ambitious in your uses of 
  1309. PipeDream and the quality of the applications which you send me are 
  1310. excellent. This increased complexity means that it takes me a bit longer 
  1311. to understand exactly what you have done and, consequently, there is a 
  1312. delay in returning your disc to you Ö especially since I give priority 
  1313. to letters asking for help. 
  1314. 4.6
  1315. Schema vs PipeDream
  1316. 4.6
  1317. I have been sent spreadsheet benchmark comparisons between V 3.14 of 
  1318. PipeDream and V 1.03 of Schema. I donæt have Schema myself so I am 
  1319. unable to test out the claims but they come from a source I believe to 
  1320. be honest. Possibly a new version of Schema has been issued since the 
  1321. tests were done so these figures may be out of date, however, here are 
  1322. some of the results.
  1323. 4.6
  1324. Pipedream is about five time faster at manual recalculation. PipeDream 
  1325. loads its own format files in about two thirds of the time Schema takes 
  1326. for its internal format files. Both will load the universal CSV files 
  1327. but Schema takes about 20 to 30 times longer to do so. PipeDream is 
  1328. about four times faster than Schema when scrolling around the spread
  1329. sheet. Printing from PipeDream is 2 to 3 times faster than Schema. 
  1330. PipeDream uses about half the memory that Schema does and PipeDream uses 
  1331. memory dynamically (it gives up what it doesnæt need). Schema sorts in 
  1332. about the same time as PipeDream but PipeDream updates cell references 
  1333. whilst sorting. The version of Schema tested has a bug in the ÉInsert 
  1334. rowæ; this bug causes cell references to be upgraded incorrectly. 
  1335. 4.6
  1336. Of course, Iæm sure that Schema will be upgraded and will improve its 
  1337. performance. It does have some facilities such as built in charts that 
  1338. PipeDream handles another way (e.g. by exporting data as CSV files to, 
  1339. say, Presenter or GraphBox). Against that, PipeDream is more than just a 
  1340. spreadsheet and has many facilities that Schema doesnæt. I think it 
  1341. unlikely that anyone with PipeDream will want to add Schema to their 
  1342. range of packages. If you have a different opinion or if you have 
  1343. benchmarks which contradict the figures I have quoted then please write 
  1344. to me so that I can present the other side of the story. 
  1345. 4.6
  1346. PipeDream on the Z88 
  1347. 4.6
  1348. Since I mentioned that I have a Z88, I have received half a dozen 
  1349. letters specifically about linking the Archimedes to the Z88. Perhaps 
  1350. the forum for such comment is through the PipeDream User Group. The 
  1351. Pipedream User Group has a Newsletter and provides some technical 
  1352. support. Write to me (at Abacus Training Ö address on the back inside 
  1353. cover) if youære interested in joining. 
  1354. 4.6
  1355. Transferring files 
  1356. 4.6
  1357. PipeDream 1 was View Professional on the BBC Micro and was called 
  1358. PipeDream on the Z88. View Professional came first and was written by 
  1359. Mark Colton in 6502 code (the CPU of the BBC Micro). Mark translated 
  1360. this program into Z80 code for the Cambridge Z88. Robert Macmillan (with 
  1361. others) re-wrote the code in the high level C language and compiled it 
  1362. for use under MS-DOS (for the PC range) and Arthur; this version became 
  1363. known as PipeDream 2. PipeDream 3 is the multitasking, RISC-OS version 
  1364. and was released at the Acorn User show on 21st August 1989; I am told 
  1365. that the master disc was Émintedæ at 6 am that day! All versions of 
  1366. PipeDream are upgrade compatible, so you can safely create a PipeDream 
  1367. file on a Z88 or in View Professional knowing that it will run on a PC 
  1368. under MS-DOS or on the Archimedes. PipeDream files created on a PC under 
  1369. MS-DOS will run on the Archimedes under RISC-OS. 
  1370. 4.6
  1371. You have to be a bit more careful working backwards from the Archimedes 
  1372. to the Z88 or to a PC because there are some features available in 
  1373. PipeDream 3 on the Archimedes that are absent from PipeDream 1 or 2 but, 
  1374. so long as you are careful, your formulae will work. Of course, text 
  1375. files in the system font have no downward compatibility problems. 
  1376. 4.6
  1377. Manual recalculation 
  1378. 4.6
  1379. Some sheets or databases with many functions littering the document are 
  1380. of the type where you need a lot of data entry before you need the 
  1381. result of a recalculation. As an example, I add about a dozen names and 
  1382. addresses to the PipeLine database at a time before printing labels etc. 
  1383. If you use <ctrl-FO> and change the recalculation from auto to manual, 
  1384. you will find that this speeds up data entry. Of course, you can change 
  1385. it back or use <ctrl-A> to force a recalculation when youæve finished. 
  1386. 4.6
  1387. Mode 0 
  1388. 4.6
  1389. If you drop into mode 0 before doing a massive sort operation then you 
  1390. will save about 20% of the sort time. 
  1391. 4.6
  1392. Default colours 
  1393. 4.6
  1394. The bug, ÉIncorrect number of output bits Ö printing cancelledæ will 
  1395. materialise if you use a different colour scheme from the PipeDream 
  1396. default. I have now been asked what the default colours are by some of 
  1397. you who have lost the original somewhere! Use <ctrl-FR> and then, from 
  1398. the top, the colours are 7, 0, 2, 11, 14, 11, 4. It seems that it is the 
  1399. background colour which causes the problem rather than the other colours 
  1400. (but you might know better!) so make sure you use the default. 
  1401. 4.6
  1402. Printing sprites 
  1403. 4.6
  1404. An earlier bug was that PipeDream would not print sprites correctly from 
  1405. non square pixel modes (see Maurice Edmundsonæs article in the May 1990 
  1406. Archive). This has been fixed sometime around version 3.1. I am still 
  1407. getting letters from people with this problem who have not yet upgraded. 
  1408. If you have a version earlier than 3.10, you should upgrade. If you have 
  1409. 3.10 or later then there is no urgency about upgrading; the latest 
  1410. version is 3.14. 
  1411. 4.6
  1412. StartUp 
  1413. 4.6
  1414. PipeDream is a wonderfully integrated package which can be used as a 
  1415. wordprocessor, spreadsheet and database all within the same document. 
  1416. Because it can do all these things at once, its versatility makes 
  1417. setting up a document seem more complicated than it really is. 
  1418. 4.6
  1419. If what you want to do in one document is mainly word-processing with a 
  1420. few of the spreadsheet facilities included, it is better to set the 
  1421. file-options differently from one which is to be used mainly as a 
  1422. spreadsheet. In particular, unnecessary difficulties about such things 
  1423. as whether cells expect their first entry to be left aligned text or 
  1424. right aligned numerical values arise because the file-options have been 
  1425. inappropriately set. 
  1426. 4.6
  1427. Almost any set of options can be preset by using a macro Ö but it is 
  1428. unfortunate for the beginner that macros are a PipeDream facility best 
  1429. tackled later rather than earlier in the learning process. Robert 
  1430. Macmillan has provided a couple of macros for the Archive monthly disc 
  1431. (also on the April 1991 PipeLine disc), one where the options are more 
  1432. suited to a Spreadsheet (called new_ sheet) and one more suited to a 
  1433. wordprocessor (called new_word). To run a macro, all you need to do is 
  1434. double click <select> on the macro and it will run, carrying out all its 
  1435. functions. Try the new_word macro and you will have a Édefaultæ word 
  1436. processor document. Double click on new_ sheet and you will have a 
  1437. default spreadsheet. You may then change the options further if you wish 
  1438. but you will not be able to save your new option set as a changed 
  1439. new_word or new_sheet macro. To change the macro you need to learn a 
  1440. range of ÉEditing macroæ skills. 
  1441. 4.6
  1442. You may have a particular requirement for a Éstartup macroæ which uses a 
  1443. set of file-options that you like but, as yet, you havenæt the skill to 
  1444. write it. If so, send me a formatted disc (plus return postage and a 
  1445. self addressed sticky label) with an example file, set up as you want 
  1446. it, and Iæll send you back the disc with a macro that will do the job 
  1447. for you. 
  1448. 4.6
  1449. Iteration 
  1450. 4.6
  1451. Malcolm Brown has sent me an interesting example of iteration which he 
  1452. has used to solve a financial problem. The problem is to calculate the 
  1453. size of loan repayments (e.g. hire purchase payments) knowing the size 
  1454. of the loan, the interest rate and the repayment period. It is on the 
  1455. Archive monthly disc and will be on the April 1991 PipeLine disc. 
  1456. PipeDream does have financial functions (have a look at pages 157 to 160 
  1457. of the User Guide) which could have been used to solve Malcolmæs problem 
  1458. more elegantly. However, I like his solution because I believe it to be 
  1459. an example of the use of PipeDreamæs iteration facility which is neither 
  1460. too simple to be useful nor too difficult to understand what is 
  1461. happening. 
  1462. 4.6
  1463. Generally, mathematicians use iteration only if a formula contains the 
  1464. wanted variable Éimplicitlyæ in such a way that the formula can not be 
  1465. Éinvertedæ (solved) to obtain an Éexplicitæ solution for the wanted 
  1466. variable. Quadratic equations can be solved Éexplicitlyæ but quintics 
  1467. (fifth power equations) and many Éreal lifeæ mathematical problems can 
  1468. not. If you send me a solution to Malcolmæs ÉAmortisation Annuityæ 
  1469. problem using PipeDreamæs built in financial functions, I will include 
  1470. it on one of the quarterly PipeLine discs (and you will get a free 
  1471. PipeLine disc or a refund if youæve paid already). The financial 
  1472. functions of PipeDream will allow you to create a Érepayment scheduleæ 
  1473. (showing just how much is still owed at any time).
  1474. 4.6
  1475. Overseas PipeLine charges 
  1476. 4.6
  1477. Many of you have an annual subscription to the quarterly PipeLine series 
  1478. which Éruns outæ with the April 1991 disc. The UK renewal is ú18 and, to 
  1479. make it easy to calculate, Iæve decided that all overseas renewals will 
  1480. be ú20. The extra ú2 covers postage to the EC and, since I enjoy 
  1481. communicating with distant lands, I think Iæll subsidise subscribers 
  1482. that are further away. 
  1483. 4.6
  1484. April 1991 PipeLine disc 
  1485. 4.6
  1486. Many of you have written in approving of the review on the January 1991 
  1487. PipeLine disc which demonstrated how !FontFX could be used with !Draw to 
  1488. illustrate a PipeDream document. Recently, I have been having trouble 
  1489. using Acornæs !Draw to create my illustrations because I added a lot 
  1490. more fonts to my !Fonts directory. Now I have an answer to the problem Ö 
  1491. !Draw1╜. This is available on Shareware 34 and on the April 1991 
  1492. PipeLine disc. !Draw1╜ has all the features of !Draw and many more. An 
  1493. explanation of how it works, illustrations of some of its features and 
  1494. how well it integrates with PipeDream will be included. !Draw1╜, unlike 
  1495. Acornæs !Draw and the current version of Poster, will accept more than 
  1496. 100 fonts. 
  1497. 4.6
  1498. Puzzles 
  1499. 4.6
  1500. Another item on the January 1991 PipeLine disc which has been well 
  1501. received is the Puzzles. If you have one which you would like to 
  1502. contribute then, if it is suitable, I shall be most pleased to include 
  1503. it on a PipeLine disc. 
  1504. 4.6
  1505. Interword files 
  1506. 4.6
  1507. Help! Does anyone know the best way or have any advise about importing 
  1508. Interword files into PipeDream? 
  1509. 4.6
  1510. Amstrad CPC and PCW 
  1511. 4.6
  1512. Help! Has anyone any advice on serial port transfer of ASCII text from 
  1513. Locoscript on an Amstrad to PipeDream? 
  1514. 4.6
  1515. In conclusion 
  1516. 4.6
  1517. Thank you for all your contributions. Please be patient if you donæt get 
  1518. an instant reply. Abacus Training is not my full-time job (even though 
  1519. my wife might say differently!); I teach a whole range of different 
  1520. subjects at the local College of Further Education. So you see, I have 
  1521. to fit PipeLine enquiries into the cracks between my College duties!   A 
  1522. 4.6
  1523.  
  1524. 4.6
  1525. Contact Box
  1526. 4.6
  1527. Å    Austrian Archimedes User Group will they hold their next meeting in 
  1528. Vienna on March 22nd. For details, contact Mr T Halbritter, Laa 1, A-
  1529. 3040 Neulengbach. Phone 02772Ö4654 (home) or 0222Ö80125Ö232 (office).
  1530. 4.6
  1531. Å    Glossop Computer Club meets every Monday at Oddfellows Hall, 69 High 
  1532. Street West and has a very strong Archimedes contingent. For details, 
  1533. contact John Dearn on 0457Ö862743 or Alan Crofton on 061Ö436Ö4658.
  1534. 4.6
  1535. Å    Wakefield BBC User Group has meetings which are relevant to Archimedes 
  1536. on 3rd April, 1st May and 3rd July at Holmfield House, Thornes Park, 
  1537. Wakefield. Details from Chris Hughes on 0924Ö379778 or Rick Sterry on 
  1538. 0924Ö255515.
  1539. 4.6
  1540. Å    Warrington Ö Any Archimedes users or user groups, please contact Robin 
  1541. Melling, 80 Severn Road, Culcheth, Warrington WA3 5EB.  A 
  1542. 4.6
  1543.  
  1544. 4.6
  1545. Apricote
  1546. 4.6
  1547. From 4.5 page 6
  1548. 4.6
  1549.  
  1550. 4.6
  1551. Coroutines in C 
  1552. 4.6
  1553. David McQuillan 
  1554. 4.6
  1555. Coroutines can be a powerful programming technique and I shall show how 
  1556. to implement them in Acorn ANSI C. 
  1557. 4.6
  1558. öHmm, yes it seems like itæll be OK. It would be much better if it had 
  1559. nested include files and macros in the input. Could you put a header 
  1560. with a page number on each page output?ò
  1561. 4.6
  1562. If you have done any amount of programming you know the problem. It 
  1563. would be easy to write the input if it called the main program passing 
  1564. each new line. The output would be easy if it called the main program to 
  1565. get each line. However, they both have to be subroutines of the main 
  1566. program Ö it seems like it is time for a whole raft of extra static 
  1567. variables or structures containing state variables to be held between 
  1568. calls. As more facilities go in, it all becomes more and more rickety, 
  1569. unintelligible and error prone. 
  1570. 4.6
  1571. Coroutines to the rescue
  1572. 4.6
  1573. Coroutines enable you to write a subroutine as if it were the main 
  1574. routine. The implementation here works only with Acorn ANSI C release 3, 
  1575. not release 2. I donæt know what changes Beebug ISO C would need. I do 
  1576. know of one machine on which coroutines are quite impossible without 
  1577. rewriting the operating system but, normally, the concept can be 
  1578. implemented fairly easily using assembler. 
  1579. 4.6
  1580. Another major use for coroutines is to implement simulations. There is a 
  1581. famous example by Knuth in his book ÉFundamental Algorithmsæ, in which 
  1582. he simulates the elevator system in the California Institute of 
  1583. Technology. 
  1584. 4.6
  1585. Coroutines are built into Simula and BCPL and, implicitly, into 
  1586. Smalltalk and Lisp Ö especially the Scheme dialect. 
  1587. 4.6
  1588. Program description 
  1589. 4.6
  1590. The program has two coroutines, input and output, which call each other. 
  1591. The main line does nothing except set it all in motion. The input 
  1592. coroutine generates the fibonacci numbers and the output coroutine 
  1593. prints each number and how much more it is than the last number. It is 
  1594. all fairly simple to do otherwise, coroutines only prove themselves when 
  1595. the going gets rough. 
  1596. 4.6
  1597. A coroutine is called by calling co_resume passing a pointer to a 
  1598. coroutine structure and a value. The coroutine called will return from a 
  1599. co_resume call it has made previously and the value will be the return 
  1600. value. Each coroutine executes on it own stack. The implementation here 
  1601. has void * type values so structures can be passed from coroutine to 
  1602. coroutine. 
  1603. 4.6
  1604. There is a little question as to which coroutine it is best to start 
  1605. first. I prefer a demand driven approach starting the output and then 
  1606. requesting data with NULL indicating the end of data. However, it is 
  1607. just as reasonable to follow a data driven approach, starting the input 
  1608. and pushing the data to the output. This is just an example of how 
  1609. democratic coroutines can be. 
  1610. 4.6
  1611. The main program does all the setup. co_initialise must be called once 
  1612. at the beginning so the main program can be thought of as a coroutine. 
  1613. co_ create must be called for every other coroutine. The stack size 
  1614. should be set to some reasonable figure that I canæt advise on easily, 
  1615. 560 bytes are added by co_create for a chunk at the base of each stack. 
  1616. 4.6
  1617. The first call to co_resume for a coroutine passes the parameter as a 
  1618. straightforward parameter to the associated procedure. Every subsequent 
  1619. call returns from a co_resume call within the coroutine. An error is 
  1620. generated if any coroutine tries to do a straightforward return. 
  1621. 4.6
  1622. So there you are, E=mc2 and donæt blame me if it all blows up.      
  1623. 4.6
  1624. /*  > coroutine
  1625. 4.6
  1626.  *
  1627. 4.6
  1628.  *  An example of coroutines.
  1629. 4.6
  1630.  *
  1631. 4.6
  1632.  *  Works on Acorn ANSI C version 3.
  1633. 4.6
  1634.  *  Does not work with ANSI C version 2 Ö tried and
  1635. 4.6
  1636.  *  it looks hard without using assembler.
  1637. 4.6
  1638.  *  Donæt know whatæs needed for Beebug ISO C.
  1639. 4.6
  1640.  *
  1641. 4.6
  1642.  *  Code is very non-portable.
  1643. 4.6
  1644.  *
  1645. 4.6
  1646.  *  No responsibility accepted if you come a cropper using
  1647. 4.6
  1648.  *  the code. In particular I have not tried stack extension
  1649. 4.6
  1650.  *  and interrupts with it.
  1651. 4.6
  1652.  *
  1653. 4.6
  1654.  *  (c) put in Public Domain by David McQuillan Jan 1991
  1655. 4.6
  1656.  */
  1657. 4.6
  1658.  
  1659. 4.6
  1660. #include <setjmp.h>
  1661. 4.6
  1662. #include <stdio.h>
  1663. 4.6
  1664. #include <stdlib.h>
  1665. 4.6
  1666. #include <string.h>
  1667. 4.6
  1668.  
  1669. 4.6
  1670. /*  coroutine header  */
  1671. 4.6
  1672.  
  1673. 4.6
  1674. typedef struct {env ;
  1675. 4.6
  1676.    int      *stack;
  1677. 4.6
  1678.    }  coroutine_t;
  1679. 4.6
  1680.  
  1681. 4.6
  1682. typedef void co_procedure_t(void *parameter);
  1683. 4.6
  1684.  
  1685. 4.6
  1686. void co_initialise(coroutine_t *coroutine);
  1687. 4.6
  1688. void co_create(coroutine_t *coroutine, size_t stack_size,co_procedure_t 
  1689. *proc);
  1690. 4.6
  1691. void *co_resume(coroutine_t *coroutine, void *parameter);
  1692. 4.6
  1693.  
  1694. 4.6
  1695. /******************************/
  1696. 4.6
  1697. /*  start of example program  */
  1698. 4.6
  1699.  
  1700. 4.6
  1701. static coroutine_t main_coroutine,input_coroutine,output_coroutine;
  1702. 4.6
  1703. static co_procedure_t input, output;
  1704. 4.6
  1705.  
  1706. 4.6
  1707. /*  main routine creating + controlling */
  1708. 4.6
  1709. int main(void)
  1710. 4.6
  1711. {printf(ömain\nò) ;
  1712. 4.6
  1713.    co_initialise(&main_coroutine);
  1714. 4.6
  1715.    co_create(&input_coroutine, 2000, &input);
  1716. 4.6
  1717.    co_create(&output_coroutine, 2000, &output);
  1718. 4.6
  1719.    co_resume(&output_coroutine, NULL);
  1720. 4.6
  1721.    printf(öend main\nò);
  1722. 4.6
  1723.  
  1724. 4.6
  1725.    return 0;
  1726. 4.6
  1727. }
  1728. 4.6
  1729.  
  1730. 4.6
  1731. /*  input coroutine  */
  1732. 4.6
  1733. static void input(void *parameter)
  1734. 4.6
  1735. {i0 , i1, i2;
  1736. 4.6
  1737.  
  1738. 4.6
  1739.    printf(öinput generates fibonacci < 100\nò);
  1740. 4.6
  1741.  
  1742. 4.6
  1743.    i1 = 0;
  1744. 4.6
  1745.    printf(öinput initial %d\nò,i1);
  1746. 4.6
  1747.    co_resume(&output_coroutine, &i1);
  1748. 4.6
  1749.    for (i2 = 1; i2 < 100; i0=i1, i1=i2, i2=i0+i1)
  1750. 4.6
  1751.    {%d\nö , i2);
  1752. 4.6
  1753.       co_resume(&output_coroutine, &i2);
  1754. 4.6
  1755.    }
  1756. 4.6
  1757.  
  1758. 4.6
  1759.    co_resume(&output_coroutine, NULL);
  1760. 4.6
  1761. }
  1762. 4.6
  1763.  
  1764. 4.6
  1765. /*  output coroutine  */
  1766. 4.6
  1767.  
  1768. 4.6
  1769. static void output(void *parameter)
  1770. 4.6
  1771. {*value ;
  1772. 4.6
  1773.  
  1774. 4.6
  1775.    printf(öoutput number, difference from last\nò);
  1776. 4.6
  1777.  
  1778. 4.6
  1779.    if ((value = co_resume(&input_ coroutine, NULL)) != NULL)
  1780. 4.6
  1781.    {*value ;
  1782. 4.6
  1783.       int this;
  1784. 4.6
  1785.  
  1786. 4.6
  1787.       printf(öoutput initial %d\nò, last);
  1788. 4.6
  1789.  
  1790. 4.6
  1791.       while ((value = co_resume (&input_coroutine,NULL)) != NULL)
  1792. 4.6
  1793.       {*value ;
  1794. 4.6
  1795.  
  1796. 4.6
  1797.           printf(öoutput %d %d\nò, this, this-last);
  1798. 4.6
  1799.           last = this;
  1800. 4.6
  1801.       }
  1802. 4.6
  1803.    }
  1804. 4.6
  1805.    co_resume(&main_coroutine, NULL);
  1806. 4.6
  1807. }
  1808. 4.6
  1809.  
  1810. 4.6
  1811. /*  end of example program  */
  1812. 4.6
  1813. /****************************/
  1814. 4.6
  1815.  
  1816. 4.6
  1817. /*
  1818. 4.6
  1819.  *  Library routines for coroutine_t objects.
  1820. 4.6
  1821.  */
  1822. 4.6
  1823.  
  1824. 4.6
  1825. /*  _kernel stuff  */
  1826. 4.6
  1827.  
  1828. 4.6
  1829. #define STACK_DISP 0x230
  1830. 4.6
  1831. #define JMP_SL  8
  1832. 4.6
  1833. #define JMP_FP  6
  1834. 4.6
  1835. #define JMP_SP  7
  1836. 4.6
  1837. #define JMP_LR  9
  1838. 4.6
  1839.  
  1840. 4.6
  1841. #define V3_FP_MASK 0x80000000
  1842. 4.6
  1843. #define SC_NEXT 1
  1844. 4.6
  1845. #define SC_PREV 2
  1846. 4.6
  1847. #define SC_SIZE 3
  1848. 4.6
  1849.  
  1850. 4.6
  1851. /*  Resume a coroutine.  */
  1852. 4.6
  1853. /* coroutine may be current coroutine */
  1854. 4.6
  1855.  
  1856. 4.6
  1857. static coroutine_t *co_current = NULL;
  1858. 4.6
  1859. static void *co_parameter = NULL;
  1860. 4.6
  1861.  
  1862. 4.6
  1863. void *co_resume(coroutine_t *coroutine, void *parameter)
  1864. 4.6
  1865. {0 )
  1866. 4.6
  1867.    {coroutine ;
  1868. 4.6
  1869.       co_parameter = parameter;
  1870. 4.6
  1871.       longjmp(coroutine->env, 1);
  1872. 4.6
  1873.    }
  1874. 4.6
  1875.    return co_parameter;
  1876. 4.6
  1877. }
  1878. 4.6
  1879.  
  1880. 4.6
  1881. /* Initialise coroutine handling  */
  1882. 4.6
  1883. /*  Establish the Émainlineæ coroutine  */
  1884. 4.6
  1885.  
  1886. 4.6
  1887. void co_initialise(coroutine_t *coroutine)
  1888. 4.6
  1889. {setjmp(coroutine->env) ;
  1890. 4.6
  1891.    coroutine->stack = (int *) (coroutine->env[JMP_SL]-STACK_DISP);
  1892. 4.6
  1893.    co_current = coroutine;
  1894. 4.6
  1895. }
  1896. 4.6
  1897.  
  1898. 4.6
  1899. /*  coroutine starter for co_create  */
  1900. 4.6
  1901. static coroutine_t *co_starter;
  1902. 4.6
  1903. static co_procedure_t *co_start _proc;
  1904. 4.6
  1905.  
  1906. 4.6
  1907. static void co_start(void)
  1908. 4.6
  1909. {co_start_proc ;
  1910. 4.6
  1911.    (*proc)(co_resume(co_starter, NULL));
  1912. 4.6
  1913.    fprintf(stderr, öExit from coroutine\nò);
  1914. 4.6
  1915.    exit(1);
  1916. 4.6
  1917. }
  1918. 4.6
  1919.  
  1920. 4.6
  1921. /*  Create coroutine and start executing.  */
  1922. 4.6
  1923. void co_create(
  1924. 4.6
  1925.    coroutine_t *coroutine,
  1926. 4.6
  1927.    size_t stack_size,
  1928. 4.6
  1929.    co_procedure_t *proc )
  1930. 4.6
  1931. {*stack ;
  1932. 4.6
  1933.  
  1934. 4.6
  1935.    /*  Put STACK_DISP space at beginning of stack  */
  1936. 4.6
  1937.    /*  Do some trial+error initialisation!  */
  1938. 4.6
  1939.  
  1940. 4.6
  1941.    if ((stack = (int *)malloc(STACK_DISP+stack_size)) == NULL)
  1942. 4.6
  1943.    {fails\nö) ;
  1944. 4.6
  1945.       exit(1);
  1946. 4.6
  1947.    }
  1948. 4.6
  1949.  
  1950. 4.6
  1951.    memcpy(stack, co_current->stack, STACK_DISP);
  1952. 4.6
  1953.  
  1954. 4.6
  1955.    stack[SC_NEXT] = NULL;
  1956. 4.6
  1957.    stack[SC_PREV] = NULL;
  1958. 4.6
  1959.    stack[SC_SIZE] = (int)(STACK_ DISP+stack_size);
  1960. 4.6
  1961.  
  1962. 4.6
  1963.    setjmp(coroutine->env);
  1964. 4.6
  1965.    coroutine->env[JMP_SL] = (int) stack+STACK_DISP;
  1966. 4.6
  1967.    coroutine->env[JMP_SP] = (int) stack+STACK_DISP+stack_size;
  1968. 4.6
  1969.    coroutine->env[JMP_LR] = (int)co_ start;
  1970. 4.6
  1971.    coroutine->stack = stack;
  1972. 4.6
  1973.  
  1974. 4.6
  1975.    co_start_proc = proc;
  1976. 4.6
  1977.  
  1978. 4.6
  1979.    co_starter = co_current;
  1980. 4.6
  1981.    co_resume(coroutine, NULL);
  1982. 4.6
  1983. }  A 
  1984. 4.6
  1985.  
  1986. 4.6
  1987. Language Column
  1988. 4.6
  1989. David Wild
  1990. 4.6
  1991. I was very interested to see the reports of new languages in the 
  1992. February issue of Archive but rather disappointed to see that Acorn have 
  1993. removed several from their list. While arguing about which language is 
  1994. best is unlikely to be profitable, there can be no doubt that the 
  1995. availability of a variety of languages helps to retain the interest of 
  1996. the computer users and, eventually, lead to progress.
  1997. 4.6
  1998. It isnæt always easy to see why anyone should want to use any particular 
  1999. language against another. The drive to invent Forth, for instance, came 
  2000. from the need to write programs to control the movements of a telescope. 
  2001. The particular technology meant that concise programs were needed, but 
  2002. most people didnæt want to learn machine code. It may be that the 
  2003. decline in interest in Forth over the past few years has come because of 
  2004. the easy availability of compilers on micro-computers.
  2005. 4.6
  2006. Faced with a choice of BASIC, ÉCæ, Pascal and Fortran as a minimum, we 
  2007. tend to forget just how recent this situation is. Five years ago, I was 
  2008. working with a project planning program, on a PC, which turned out to 
  2009. have been written in compiled BASIC. When I asked the people responsible 
  2010. why they had chosen BASIC they said that, at the time the programs were 
  2011. written, it was the only reliable compiler that was available. So far as 
  2012. I know, the programs have now been rewritten using one of the more 
  2013. modern compilers but it did emphasise that a language like BASIC, for 
  2014. all its limitations in the Microsoft form (no procedures or multi-line 
  2015. functions) could be used for programs which would sell, and sell 
  2016. repeatedly, at prices in excess of ú1000 per copy.
  2017. 4.6
  2018. I recently received, for review, a copy of a new language called 
  2019. öCharmò. I shall have more to say about this in the next issue of this 
  2020. column. The author has put a lot of work into it and it certainly seems 
  2021. to have useful qualities but I did feel that, in the material he sent to 
  2022. me, he didnæt put enough emphasis on telling me why I ought to be 
  2023. interested in in another language. One thing I need to know is öwhatæs 
  2024. in it for me?ò as a programmer. Now that so many programs and appli
  2025. cations are clamouring for attention, you need to show why a new one is 
  2026. worth considering.
  2027. 4.6
  2028. Before starting work on developing something that will involve you in a 
  2029. great deal of work, you need to assess the size of the potential market. 
  2030. Often, unfortunately, that will be much smaller than you would like Ö 
  2031. and there may be nothing that you can do about it. The number of 
  2032. Archimedes machines in existence gives an upper bound on the number of 
  2033. copies that you can sell but you will also need to remember that some of 
  2034. the users wonæt buy anything else anyway, some will not have any 
  2035. interest in your part of the forest and quite a lot of them will already 
  2036. have some software that they will use in preference to yours.
  2037. 4.6
  2038. I, for instance, am unlikely to buy Schema Ö not because there is 
  2039. anything wrong with it, but because I donæt have much need for a 
  2040. spreadsheet and Pipedream will do all that is necessary. The problem 
  2041. isnæt just money; with many of the programs I use regularly, I donæt 
  2042. need to think about the technicalities while I am working and can save 
  2043. my energy for the work I am doing. A new piece of software needs a lot 
  2044. more thought at first and for some applications itæs just not worth the 
  2045. effort.
  2046. 4.6
  2047. To get your message to the maximum number of potential buyers you need 
  2048. to set out the benefits of your program, and this applies to all 
  2049. programs, showing why it would be worth having. Set them out in a way 
  2050. that would help a potential user explain to his boss why the purchase 
  2051. price would be worth spending. At the same time you must not oversell it 
  2052. in the way of the advertisements for Microsoftæs latest spreadsheet 
  2053. which claimed more time savings in a week for the öaverage spreadsheet 
  2054. userò than the real average user spent using his or her spreadsheet.
  2055. 4.6
  2056. At one time APL was sold in this way, with claims that you could write 
  2057. an APL program in half an hour while a COBOL programmer would take four 
  2058. weeks to achieve the same result. I donæt doubt that this was true for 
  2059. some carefully selected programs, but I wouldnæt have tried to write 
  2060. them in COBOL anyway.
  2061. 4.6
  2062. If you are trying to sell the idea of a new language it is probably best 
  2063. to start off, at least to yourself, by explaining in what way it is 
  2064. better than BASIC. This is not because of the superiority of that 
  2065. language, but because it is the one which is certainly available to 
  2066. every Archimedes owner. From then you can go on to explain how it 
  2067. improves on the other standard languages. In some cases, of course, this 
  2068. will be by restricting the features while making them easier to use. The 
  2069. dBase language is a lot less powerful than Pascal or ÉCæ, but you need 
  2070. much less programming skill to achieve significant results in a limited 
  2071. field.
  2072. 4.6
  2073. Pascal compilation
  2074. 4.6
  2075. Iæm sorry, but there was a mistake in my article last month. The program 
  2076. from David Pilling does not multi-task while compiling. However, it is 
  2077. still well worth buying as it makes the work of developing programs very 
  2078. much easier. You can do multi-tasking compilations by creating an obey 
  2079. file with all the necessary instructions in it and then executing it 
  2080. from within an !Edit task window.
  2081. 4.6
  2082. A decision which affects Pascal programmers is when to use É$includeæ 
  2083. and when to use Éimportæ to bring in pre-written sections of program. If 
  2084. the particular routine is only used once in the whole program, there is 
  2085. probably nothing to choose between them, except that the import method 
  2086. will lead to a slight reduction in compilation time.
  2087. 4.6
  2088. The big argument for using Éimportæ in your own programs, is when you 
  2089. need to include similar routines in various parts of your program. I 
  2090. have a number of string handling routines which have their own routines 
  2091. on which they call. If you use a simple É$includeæ method you may end up 
  2092. with including the same routines several times in the same program. To 
  2093. avoid this, you may need to include all these Épre-routinesæ at the 
  2094. start of the main program, which then means that one simple include 
  2095. statement wonæt do the job. This is one place where the Éimportæ method 
  2096. really scores as, no matter how many times a routine is imported by your 
  2097. program, only one copy of the Éaofæ file will be appended when the final 
  2098. program is linked.  A 
  2099. 4.6
  2100.  
  2101. 4.6
  2102. EFF
  2103. 4.6
  2104. New
  2105. 4.6
  2106.  
  2107. 4.6
  2108. Multi-media Column
  2109. 4.6
  2110. Ian Lynch
  2111. 4.6
  2112. Last month, I finished by saying that I would go through the authoring 
  2113. of a simple Genesis 2 application, but first a couple of points about 
  2114. distribution. The application can be made available to other people by 
  2115. supplying it with a copy of the Genesis Browser Ö as long as it is not 
  2116. for gain. (The Browser allows other users to look through your appli
  2117. cation, but not to alter it.) In other words, Oak Solutions will allow 
  2118. the Browser to be distributed as long as you are not selling the 
  2119. application commercially. If you do want to sell commercial applications 
  2120. authored in Genesis, it will be necessary to pay Oak Solutions a small 
  2121. royalty for the Browser. 
  2122. 4.6
  2123. Authoring a Genesis 2 application
  2124. 4.6
  2125. The application I am going to produce will provide some support for AT 
  2126. 14 (Sound and music) of the Science National Curriculum at level 5. If 
  2127. this doesnæt mean anything to non-education readers, donæt worry, it 
  2128. confuses most people in education too! The point is just that I need a 
  2129. focus and this gives me an excuse to put text, graphics and sound into 
  2130. the application. 
  2131. 4.6
  2132. Planning
  2133. 4.6
  2134. To author any application, it is necessary to have a topic, and an idea 
  2135. of what you are aiming at. This can be planned out in great detail with 
  2136. story boards, flow charts etc or it can be done on the hoof, so to 
  2137. speak. Your preferred method will depend on several factors, not least 
  2138. the complexity of the task, but it is easy to modify your work, so a 
  2139. flexible approach is always possible. This rather reminds me of the 
  2140. conventional wisdom of producing flow charts before writing a program. 
  2141. Some do, but many donæt and many do their planning in a different way. 
  2142. The only time I tried to use a flow chart for a piece of assembler I was 
  2143. writing on the BBC B, before writing it, I got in such a tangle I 
  2144. started again. My only useful flowcharts have been the ones I did to 
  2145. pass computational Mathematics examinations at University Ö well at 
  2146. least I got a certificate for them! I do intend to encourage planning 
  2147. but not with very rigid rules or giving the idea that there is one 
  2148. universal öright answerò to planning methods.
  2149. 4.6
  2150. Our application needs to address the following information supplied by 
  2151. the National Curriculum.
  2152. 4.6
  2153. Å    understand that the frequency of a vibrating source affects the pitch 
  2154. of the sound it produces.
  2155. 4.6
  2156. Å    understand the relationship between the loudness of a sound and the 
  2157. amplitude of vibration of the source.
  2158. 4.6
  2159. Å    understand the importance of noise control in the environment.
  2160. 4.6
  2161. öPupils should explore sound in terms of wave motion and its frequency. 
  2162. They should have opportunities to develop their understanding of the 
  2163. properties and behaviour of sound by developing a wave model, for 
  2164. example, through observation... This should be related to pupilsæ 
  2165. experience of sounds and musical instruments, acoustic and electronic 
  2166. instruments and recording and synthesis.ò
  2167. 4.6
  2168. The first thing we must decide is how comprehensive the application is 
  2169. to be, what resources are available and so on. One good point to note is 
  2170. that, if you own the Genesis 2 editor, you can take someone elseæs work 
  2171. and add refinements quite easily. In fact, a teaching application about 
  2172. sound could well employ other RISC-OS applications such as Armadeus but 
  2173. we will keep things simple since it canæt be guaranteed that you all 
  2174. have any particular application.
  2175. 4.6
  2176. What we will set out to do is to reinforce the main physical parameters 
  2177. of waves, (wavelength, amplitude and frequency) and also how wavelength 
  2178. and frequency are related to speed. Our application needs a title page 
  2179. and then some linked pages which interactively explain the words and 
  2180. concepts involved. We should try to make the presentation of the 
  2181. information attractive and outline fonts make a big difference here, as 
  2182. does a multi-sync monitor in a 256 colour mode! However, before I get 
  2183. too carried away, for this exercise I will only use the system font, 
  2184. Trinity and Homerton and try to make the application suitable for a 
  2185. basic set up. I would like to know whether or not this approach should 
  2186. be general. 
  2187. 4.6
  2188. Finally, interaction is known to hold the attention better than simple 
  2189. presentation, so it helps if we force the user to answer questions and 
  2190. make decisions when using the application.
  2191. 4.6
  2192. Getting started
  2193. 4.6
  2194. Starting the Genesis Editor is done by double-clicking on it in the 
  2195. usual way. When it is installed on the icon bar, <menu> produces the 
  2196. option NEW, from which you give the application a name, in this case 
  2197. Sound and then drag the icon into a suitable viewer directory. A blank 
  2198. page appears which just looks like an empty RISC-OS window. The size and 
  2199. shape of the window can be altered in the usual RISC-OS way. In order to 
  2200. get information to display in the window, frames are used in a similar 
  2201. way to a desktop publisher. A frame is created by simply dragging the 
  2202. mouse holding down <select>. Once a frame exists, you can put a variety 
  2203. of things into it. First you can type text, which can be edited etc like 
  2204. in a DTP. Next, you can drop Draw files or sprites into the frame which 
  2205. can be scaled and dragged about. Then there are Euclid films and 3-D 
  2206. pictures, Maestro files and Armadeus sound samples. Finally, you can 
  2207. drop applications into frames and these can then be launched from 
  2208. Genesis and run as if part of it.
  2209. 4.6
  2210. The title page
  2211. 4.6
  2212. First drag out a box (simply drag the mouse with <select> held down) the 
  2213. width of the window and type in the text öAn example of an approach to 
  2214. Science AT14ò. Then MENU Ö INFO Ö FONT Ö Trinity.Bold and Size 20. This 
  2215. gives us a title. Now to centre the title MENU Ö FORMAT Ö CENTRE. Note 
  2216. that you must click in the frame you want to apply something to before 
  2217. you request the style or format from the menu, otherwise, if you had 
  2218. several frames, Genesis would not know which you wanted to alter. Next, 
  2219. we make a larger box underneath in order to type in the text. The text 
  2220. is entered at 13 point in Trinity.Medium font. In order to make the page 
  2221. look attractive I have used a grey background for the whole page and a 
  2222. white background for the frame.
  2223. 4.6
  2224. The picture below shows what it should look like. Note there are no 
  2225. scroll bars on this window. This is to prevent adjustment since it is 
  2226. not required in this application. To alter the window settings, you need 
  2227. to go PAGE Ö INFO Ö WINDOW and call up a dialogue which allows you to 
  2228. specify which of the window adjustments is available. 
  2229. 4.6
  2230. Buttons
  2231. 4.6
  2232. The last thing to do is to make a way of moving from this page to the 
  2233. next. Buttons are small objects which cause something to happen when the 
  2234. user double clicks on them. Several of the ones more commonly needed are 
  2235. provided in GenLib, a genesis resources library, but you can also design 
  2236. ones of your own quite easily. I have used a öNextò button on my page so 
  2237. that the next page I design will be displayed automatically when the 
  2238. user double clicks on this button. 
  2239. 4.6
  2240. Well, perhaps a little long winded, but we have our first page. Next 
  2241. time, I will build on from here some more pages describing how they can 
  2242. be linked. I will pass on the application and the Browser to Paul so 
  2243. that, if you get the Archive monthly program disc, you will be able to 
  2244. see how the application is built up during the next few issues.  A 
  2245. 4.6
  2246.  
  2247. 4.6
  2248.  
  2249. 4.6
  2250.  
  2251. 4.6
  2252. Lindis International
  2253. 4.6
  2254. From 4.4 page 26
  2255. 4.6
  2256.  
  2257. 4.6
  2258. The Serial Port
  2259. 4.6
  2260. New
  2261. 4.6
  2262.  
  2263. 4.6
  2264. Using the PC emulator Ö Part 8
  2265. 4.6
  2266. Richard Forster
  2267. 4.6
  2268. If you have followed the series thus far, you should be able to write 
  2269. powerful and graceful batch files with ease, aided only with a humble 
  2270. copy of edlin. This month it should become even easier, as we take a 
  2271. look at a few of the more advanced features of edlin. Of course, the 
  2272. information is applicable to any file created by edlin, from batch files 
  2273. to simple text files.
  2274. 4.6
  2275. The first command of interest is öcò which allows you to copy a block of 
  2276. text from a to b. To demonstrate the various abilities of this command 
  2277. first create a text file of ten lines. There are no restrictions on the 
  2278. contents but if you keep each line less than one screen line in length 
  2279. and with different text on each line, you should find what follows 
  2280. easier to understand.
  2281. 4.6
  2282. The copy command is one of the more informative commands which edlin 
  2283. offers. If you forget to mention where you want to place the text it 
  2284. will actually tell you this, as opposed to giving a cryptic response, 
  2285. more typical of other commands. This is useful, not least because there 
  2286. are a lot of available options for the command. The basic command syntax 
  2287. is:
  2288. 4.6
  2289. <range-start>,<range-end>,<line> ,<number>c
  2290. 4.6
  2291. The most important parts of the command are the commas. If you exclude 
  2292. one of the other details (as we shall do below), it is still vital to 
  2293. include the comma or the computer will be unable to work out which bit 
  2294. of data has been left out. The only exception to this is the comma after 
  2295. <line>. The most likely copy you will want to do, is to copy a block of 
  2296. lines a single time. To demonstrate, we shall copy lines 3-5 into the 
  2297. gap between lines 8 and 9. Type in:
  2298. 4.6
  2299. 3,5,9c
  2300. 4.6
  2301. If you now do a listing of your file, you will see that there are now 
  2302. thirteen lines, with line 3-5 identical to lines 9-11. From this, you 
  2303. can see that the third item in the command shows the line just after 
  2304. which you want your text to be inserted. You will notice that we have 
  2305. not used the final comma or number. We could use these if we wanted more 
  2306. than one copy of the line. So, to have four copies of line 1 placed 
  2307. after line 4 type:
  2308. 4.6
  2309. 1,1,5,4c
  2310. 4.6
  2311. A listing of the file will now reveal four copies of line 1, starting 
  2312. from line 4 as required. You should also notice that the asterisk which 
  2313. marks the current line has moved to line 4. Whenever we do any copy 
  2314. command, you will find that it moves to the beginning of the new version 
  2315. of the copied text. This asterisk is actually very useful, as it allows 
  2316. us a couple of short cuts with the copy command.
  2317. 4.6
  2318. If you omit the starting number for the range, the copied lines with 
  2319. start from the current line and continue to the ending range. If you 
  2320. omit the second number, the block copied will end with the current line. 
  2321. You can also omit both numbers which will cause only the current line to 
  2322. be copied. To copy lines 2-4 with our present situation we could 
  2323. therefore type:
  2324. 4.6
  2325. 2,,8c
  2326. 4.6
  2327. and if we then wanted line 8 to be copied twice so it occupied lines 14 
  2328. and 15
  2329. 4.6
  2330. ,,14,2c
  2331. 4.6
  2332. If you want to copy something to the end of your text, you do not need 
  2333. to specify the exact number. If you had a 50 line long document and you 
  2334. required a line of text to be copied to line 51 (the next free line), 
  2335. then the third number can be set to anything above 50. The only 
  2336. difference between the copies is that the current line is set to the 
  2337. value given. Putting a 75 would therefore append the required text and 
  2338. then place the asterisk on line 75. When you list text, the listing is 
  2339. centred around the asterisk line and so you may find the text apparently 
  2340. has övanishedò after trying such a command.
  2341. 4.6
  2342. It may happen that you wish to move a block of text. You could of course 
  2343. do this by using the copy command and then using the delete command on 
  2344. the original block of text but edlin supplies an extra command with all 
  2345. of this rolled into one, ömò, which, not surprisingly, stands for move. 
  2346. The syntax of the command is very similar to that of copy, except that 
  2347. there is no provision for making more than one copy.
  2348. 4.6
  2349. As with the copy command, move allows you to miss out the starting 
  2350. number, ending number or both, and will take the missing digits to be 
  2351. the current line. You can also specify the number of lines you want to 
  2352. move by putting a + followed by the requisite number of line instead of 
  2353. the ending number. Create a new text file of ten lines and then type in:
  2354. 4.6
  2355. 3,+2,10m
  2356. 4.6
  2357. If you list the text you will see that lines 3-5 have been moved to 
  2358. before line 10. This may be hard to see at first, because lines 3-5 have 
  2359. now been deleted and so everything from 6 onwards has been moved back 3 
  2360. places. The lines we have just moved should now be occupying the space 
  2361. from 7-10, as you would expect. Move has the same restrictions as copy, 
  2362. namely that the commas must always be included in the command and also 
  2363. that the range being copied, and the place being copied too, must not 
  2364. overlap.
  2365. 4.6
  2366. There are two other facilities available to us which you would expect to 
  2367. find in any editing program - namely a search command and a replace 
  2368. command. The first part of both commands is the range, and it is the 
  2369. same for the two of them. As with the copy and move range, it consists 
  2370. of two numbers separated by a comma, although there is no comma after 
  2371. the second number.
  2372. 4.6
  2373. Omitting the first number will start the search from the line after the 
  2374. current line and omitting the second number of the range will continue 
  2375. the search to the end of the file. You can of course omit both but 
  2376. whatever you do, you must still include the comma in your command line. 
  2377. 4.6
  2378. Directly after the range, you also have the option of placing a question 
  2379. mark. If you place one in the search command, you will be prompted for 
  2380. confirmation after each occurrence of the string and pressing <N> will 
  2381. get edlin to continue with the search. A question mark with the replace 
  2382. command will get the computer to ask you for confirmation at each change 
  2383. that occurs.
  2384. 4.6
  2385. The syntax for the two commands is as follows
  2386. 4.6
  2387. <range-start>,<range-end>[?]r <string1><CTRL-Z><string2>
  2388. 4.6
  2389. <range-start>,<range-end>[?]s <string1>
  2390. 4.6
  2391. The name of the command (either r or s) occurs after the range and 
  2392. before the text. String1 is the text that the computer searches for and 
  2393. it begins directly after the command letter. If, for example, you type a 
  2394. space after the s, then that will be considered to be part of the 
  2395. command. If you are using search, this is where the command ends and 
  2396. edlin will name the line containing string the current line.
  2397. 4.6
  2398. Replace obviously requires a second string parameter so that the program 
  2399. knows what to change the old string to. You can omit this second string 
  2400. by simply pressing <return> after the first string and any occurrences 
  2401. of the first string will be deleted. If you want a replacement string, 
  2402. you have to indicate the separation between the two strings to the 
  2403. program. Spaces and commas are allowed as part of the strings and so is 
  2404. the end of file marker, if used. You should therefore press <f6> or 
  2405. <ctrl-<ctrl-Z> in between the two strings.
  2406. 4.6
  2407. If I wanted to go through my 500 line program, selectively changing the 
  2408. occurrences of öthe pc emulatorò to öthe emulatorò between lines 300 and 
  2409. 500 I would type in:
  2410. 4.6
  2411. 300,?rthe pc emulator^Zthe emulator
  2412. 4.6
  2413. Whenever the string öthe pc emulatorò turned up, edlin would print to 
  2414. the screen what the line would look like with it replaced with öthe 
  2415. emulatorò ask the awe inspiring question öOK?ò. A response of anything 
  2416. except a öyò would have edlin continuing its search for another 
  2417. occurrence of the string without changing anything. When the task 
  2418. finally comes to an end I would find that the current line was the one 
  2419. containing the last replaced string. If, in the above example, I had 
  2420. wanted all the changes to happen automatically without prompting, I 
  2421. would have left out the ?, and if I had only wanted it from the current 
  2422. line onwards, I would have left out the 300.
  2423. 4.6
  2424. There is one last edlin command for us to look at: ötò for transfer Ö 
  2425. this allows us to merge another file with the file we are editing. The 
  2426. syntax of t is:
  2427. 4.6
  2428. <line>t<filename>
  2429. 4.6
  2430. Line is simply the number of the line before which you want to place the 
  2431. other text. Not surprisingly, it you omit a number in this place, edlin 
  2432. will take line to be the current line. After the t, you simply put your 
  2433. filename, including path if necessary, and it will be loaded in and 
  2434. placed inside your program. So, if I was writing my letters on edlin and 
  2435. I had a file called ömiddle.txtò which contained a paragraph I always 
  2436. placed in the middle of my letters, to place it in the middle of the 150 
  2437. line letter I had in memory, I would type:
  2438. 4.6
  2439. 150tmiddle.txt
  2440. 4.6
  2441. Why I would be writing my letters on edlin is left as an exercise for 
  2442. the reader. Next time, we shall head back to the boot disc and dissect 
  2443. some of the programs on it so far unscathed.  A 
  2444. 4.6
  2445.  
  2446. 4.6
  2447. Matters Arising
  2448. 4.6
  2449. Å    ARM3 Software Ö CJE Micros have admitted that a number of their ARM3 
  2450. boards have been supplied with control software written by Aleph One. 
  2451. CJE Micros have apologised to Aleph One and agreed to make a payment in 
  2452. compensation. CJE Micros now have a new version of their ARM3 control 
  2453. software which includes a number of new facilities. Updates are 
  2454. available free for all CJE ARM3 users.
  2455. 4.6
  2456. Aleph One have received payment from CJE Micros and have immediately 
  2457. (and very generously) donated 30% of the compensation money to interna
  2458. tional relief through Archiveæs charity appeal. Many thanks to Aleph 
  2459. One. Ed.
  2460. 4.6
  2461. Å     Removable Drive problems Ö By now, we have had enough experience of 
  2462. the MR45 drives to spot a couple of weaknesses.
  2463. 4.6
  2464. First of all, it looks as if, because the unit is so compact, there can 
  2465. be problems caused by overheating. (Actually, we were given this tip-off 
  2466. by someone using them with Macs Ö MR45æs are usually placed underneath a 
  2467. Mac Plus or SE.) The cooling fan is underneath the case so, firstly, you 
  2468. must never put the drives on a soft surface where the feet might sink in 
  2469. and allow the openings around the fan to become obscured. Secondly, 
  2470. given that the drive is on a hard surface, donæt pack other things too 
  2471. closely around it, especially at the rear left which is where the fan 
  2472. is, because this again could inhibit the air flow. (This does not apply 
  2473. to the original metal-cased MR45æs because they have fans facing out of 
  2474. the back of the box.) Putting things on top of the drive seems to be 
  2475. less critical unless it is something that itself generates heat. I 
  2476. discovered this the hard way Ö I had my WS3000 modem on top of it which 
  2477. itself runs quite hot, especially when you also put a pile of papers on 
  2478. top of it as I did. When I suffered a disc error and lost a couple of 
  2479. articles, I moved the drive to a position where I wouldnæt be tempted to 
  2480. cover it with paperwork.
  2481. 4.6
  2482. The second weakness is that it looks as if the auto-parking of the heads 
  2483. is not infallible. In other words, if you regularly switch the power off 
  2484. without pressing the release button or dismounting the drive, it is 
  2485. possible that you may get a head crash eventually. So, you have been 
  2486. warned Ö always remove the disc before switching off the power. The 
  2487. problem is, of course, that you cannot allow for power failures. What we 
  2488. are therefore saying is that the drives are not 100% reliable. In fact, 
  2489. Oak Computers have now decided not to supply these 45M removable drives 
  2490. because they donæt feel that the drives fit in with their özero defectò 
  2491. policy.
  2492. 4.6
  2493. Never-the-less, I am using MR45æs all day, every day and I am prepared 
  2494. to take the risk because they are just SO convenient for me. All the 
  2495. material for the magazine is held on one of these discs and I can take 
  2496. it backwards and forwards between home and the office. Before I had the 
  2497. MR45æs, I had to use floppies to carry the text back and forth, copying 
  2498. it to and from the hard drives at each end which was a real pain. If I 
  2499. wanted to do some work at home, I had to remember to copy the files to 
  2500. floppy and then remember to copy them back onto the hard drive in the 
  2501. office. As it is, I know that I will always have access to the most up-
  2502. to-date information and all I have to remember to do is bring the MR45 
  2503. cartridge home with me. I am aware that there is always the possibility 
  2504. of data corruption, so I back up all the current files onto the fixed 
  2505. hard discs fairly regularly.  A 
  2506. 4.6
  2507.  
  2508. 4.6
  2509. Small Ads
  2510. 4.6
  2511. Å    18-pin heavy-duty Hermes printer, 100 cps, hardly used ú950 offers? 
  2512. PipeDream 3 ú55, Terramex ú5. Phone 0483Ö62586
  2513. 4.6
  2514. Å    30 colour pallettes Ö send ú4 or ú3, S.A.E. and formatted disc to R C 
  2515. Melling, 80 Severn Road, Culcheth, Warrington, Cheshire, WA3 5EB.
  2516. 4.6
  2517. Å    A310æs for sale Ö several of different configurations. For details, 
  2518. phone 0272Ö342180.
  2519. 4.6
  2520. Å    A310M colour + backplane, 40M hard drive ú950. (Will split.) A440/1 
  2521. with 8M ram ú1700, Geniscan A5 scanner ú95, Panasonic KXP1124 ú140, 
  2522. Cumana 40/80 drive ú70, Acorn DTP ú40, Rhapsody ú35, Knowledge Organiser 
  2523. ú30, Interdictor 1 ú10, ArcDFS ú20. Phone Geoff on 0487Ö80632.
  2524. 4.6
  2525. Å    A3000 1 M ram board upgradable to 4M ú50. Phone 0332Ö701969.
  2526. 4.6
  2527. Å    A3000 colour ú700, Chromalock 235 ú175, Atelier ú70, Splice ú15, Tween 
  2528. ú15, Render Bender ú45, five graphics discs ú15. All ono, ú950 the lot. 
  2529. Phone 081Ö670Ö8055.
  2530. 4.6
  2531. Å    Acorn Colour Monitor reasonable condition úoffers Ö buyer collects 
  2532. (Sheffield). Phone 0742Ö750619 evenings or mbox on Archive (#419) or 
  2533. Arcade BBS (#274).
  2534. 4.6
  2535. Å    Acorn DTP ú60, Genesis ú40, FWPlus 2 ú40, BBC Elite ú12. Wanted: 
  2536. Poster, Atelier, Pipedream 3, ROM board, 5╝ö 800k disc drive, Scanlight 
  2537. Plus. Phone 0752Ö783663.
  2538. 4.6
  2539. Å    Acorn Prolog X,áas new, ú70. Phone Donald Prest on 031Ö336Ö4491.
  2540. 4.6
  2541. Å    Miniscribe 20Mb 3╜ö hard disc, Acorn podule and Computerware 4 slot, 2 
  2542. layer backplane and fan, ú150. Phone 0742Ö750619 evenings or mbox 
  2543. Archive BBS (#419) or Arcade BBS (#274).
  2544. 4.6
  2545. Å    Nightingale modem ú20, Commstar II (BBC) rom ú5, Hearsay ú28, 
  2546. Knowledge Organiser ú26, Artisan II ú26, French Correspondence ú12, Fads 
  2547. ú15. Des Woon 0255Ö880257.
  2548. 4.6
  2549. Å    Ovation ú65, Apocalypse ú10. Colin Thompson on 069Ö76530.
  2550. 4.6
  2551. Å    Risc BASIC Compiler ú50, also many games including Interdictor 1 ú14 
  2552. and E-Type ú8. Phone 0843Ö603177.
  2553. 4.6
  2554. Å    Risc User magazines first 31 copies plus binders ú15. Voltmace 
  2555. joystick ú12.50. Phone 021Ö705Ö1309.
  2556. 4.6
  2557. Å    System Delta Plus (1.09) ú30, SigmaSheet (2.01) ú30. ú50 both. All 
  2558. o.n.o. Phone Stuart Bell on 0273Ö304825.
  2559. 4.6
  2560. Å    Wanted Ö RISC-OS / ANSI C Programmer with spare time to translate 
  2561. exciting educational program. Phone 0203Ö616Ö325.
  2562. 4.6
  2563. Charity Sales
  2564. 4.6
  2565. The following items are available for sale in aid of charity. PLEASE do 
  2566. not just send money Ö ring us on 0603Ö766592 to check if the items are 
  2567. still available. Thank you.
  2568. 4.6
  2569. (If you have unwanted software or hardware for Archimedes computers, 
  2570. please send it in to the Archive office. If you have larger items where 
  2571. post would be expensive, just send us details of the item(s) and how the 
  2572. purchaser can get hold of them.)
  2573. 4.6
  2574. User Guides ú2 + ú3 postage,   Used discs 50p each, 10 for ú4, 50 for 
  2575. ú15,   Acorn ROM/RAM podule ú18,   Family History ú9,   Global View ú4,   
  2576. Personal Investor ú9,   I/O podule ú50, StarTrader ú5,   Twin ú10,   
  2577. Quazer ú3,   Integrex colour dump ú10,   Interdictor 1 ú6,   Holed Out 
  2578. ú8,   Superior Golf ú9,   Trivial Pursuit ú9, Artisan Support Disc ú2.  
  2579. 4.6
  2580.  
  2581. 4.6
  2582.  
  2583. 4.6
  2584.  
  2585. 4.6
  2586. Competition Corner
  2587. 4.6
  2588. Colin Singleton
  2589. 4.6
  2590. Two players in a game of Snap each have the thirteen cards of one suit, 
  2591. shuffled and stacked face down in front of them. They turn up their 
  2592. cards one at a time, simultaneously, and shout Snap! whenever the two 
  2593. cards presented at one turn have the same value. We are not concerned 
  2594. with who is quicker, but with the number of snaps there might be in the 
  2595. course of the game. 
  2596. 4.6
  2597. Considering one hand as a standard sequence, there are 13! (thirteen 
  2598. factorial = 6227020800) different possible sequences for the other. 
  2599. 4.6
  2600. How many of these will produce no snaps in the course of 13 turns? How 
  2601. many will produce exactly one snap (not more)? Two snaps? Three 
  2602. snaps?... Thirteen snaps? 
  2603. 4.6
  2604. If you find that too easy, then consider the game played with a full 
  2605. pack of 52 cards each. In this case cards must match exactly i.e. value 
  2606. and suit. You will, of course, need multi-length arithmetic for this 
  2607. one. 
  2608. 4.6
  2609. Entries and comments either to Paul at N.C.S. or to me at 41 St Quentin 
  2610. Drive, Sheffield S17 4PN. 
  2611. 4.6
  2612. The solution to the November (Seven Dwarfs) Competition is that there 
  2613. are 42 groups of possible seating positions. 14 groups contain just one 
  2614. position each, 14 contain 57 each and 14 contain 302 each. 
  2615. 4.6
  2616. The prize is shared between Graham Jones of Durness and Dr W O Riha of 
  2617. Leeds. Graham found that the numbers are the Eulerian Numbers, for which 
  2618. there is a published algorithm. Dr Riha discovered a recurrence relation 
  2619. which enables you to calculate the numbers for N dwarfs from those you 
  2620. have already calculated for N-1 dwarfs. The calculation then becomes 
  2621. trivial. 
  2622. 4.6
  2623. The winner for December, Cyclic Numbers, will be given next month. Any 
  2624. more entries for January, Calculation of e, or February, Mastermind?  A 
  2625. 4.6
  2626.  
  2627. 4.6
  2628. IFEL
  2629. 4.6
  2630. new
  2631. 4.6
  2632.  
  2633. 4.6
  2634. BASIC Plots Converted to Draw Files
  2635. 4.6
  2636. Steve Kirkby & Dr G Toulmin
  2637. 4.6
  2638. The clever part (the program) was devised by Dr George Toulmin while 
  2639. Steve Kirkby wrote this article.
  2640. 4.6
  2641. What the program does
  2642. 4.6
  2643. This program will convert the coordinates of a set of points produced by 
  2644. a BASIC procedure into a Draw file. When this file is loaded into !Draw 
  2645. or !Draw1╜ (Shareware 34) or Poster or a DTP package, it will behave 
  2646. exactly as a normal Draw file consisting of a single object. The Draw 
  2647. object produced consists entirely of straight line segments, i.e. no 
  2648. Bezier curves, and since the x and y coordinates of all points must be 
  2649. individually specified, circles, squares etc. must be so specified in 
  2650. the program rather than by the use of PLOT, CIRCLE, RECTANGLE etc.
  2651. 4.6
  2652. The technique would be useful to anyone in science, mathematics, arts or 
  2653. craft/design (e.g. textile design or a Greek Key border or the curve of 
  2654. a table top?) wanting to create Draw designs based on mathematical 
  2655. expressions or geometrical procedures. These could be lines or trigonom
  2656. etrical or exponential curves and spirals which are impracticable to 
  2657. draw accurately by hand, and polygons and circles etc. whose position, 
  2658. size, distortion or orientation must follow a mathematical expression. 
  2659. Also, a Draw image has a number advantages over a sprite: it is printed 
  2660. to the higher resolution of the printer rather than of the screen, it 
  2661. can be manipulated in a host of ways and often it uses less memory than 
  2662. a sprite.
  2663. 4.6
  2664. How it works
  2665. 4.6
  2666. The demonstration program, which is sprinkled with REMs, essentially 
  2667. does three things. Firstly, it assigns values to the x and y coordinates 
  2668. of a set of points and stores them in an array with PROC_CreatePoints. 
  2669. (To create your own set of points, alter this procedure accordingly, 
  2670. including the value assigned to the variable NoOfPoints% if necessary.) 
  2671. Secondly, it converts them into Draw format using PROC_CreateDrawFormat. 
  2672. Thirdly, it saves the pairs of coordinates to disc in the form of a Draw 
  2673. file under your chosen name, as a single object Ö PROC_Save.
  2674. 4.6
  2675. You may also be interested to refer to Risc Useræs article in Vol. 3.5 
  2676. and 3.6 on displaying Draw files from within a BASIC program (i.e. the 
  2677. opposite to the program in this article).
  2678. 4.6
  2679.  10 REM>BAS_Draw
  2680. 4.6
  2681.  20 REM By Dr G H Toulmin.
  2682. 4.6
  2683.  30 REM PROCsetup initializes.
  2684. 4.6
  2685.  40 REM Coords should be >0 and in mm.
  2686. 4.6
  2687.  50 REM PROC_CreateDrawFile(array,n) adds the n+1 points (array(0,0), 
  2688. array(0,1)) to the file called outfile$.
  2689. 4.6
  2690.  60 REM PROCsave writes data to file outfile$ and sets filetype
  2691. 4.6
  2692.  to DrawFile.
  2693. 4.6
  2694.  70 
  2695. 4.6
  2696.  80 PROCsetup
  2697. 4.6
  2698.  90 PROC_CreatePoints
  2699. 4.6
  2700. 100 PROC_CreateDrawFormat(coord(), NoOfPoints%)
  2701. 4.6
  2702. 110 PROCsave
  2703. 4.6
  2704. 120 END
  2705. 4.6
  2706. 130 
  2707. 4.6
  2708. 140 DEF PROCsetup
  2709. 4.6
  2710. 150 REM Inserts 10 words of preamble into block plot%, eventually
  2711. 4.6
  2712.  to be copied to outfile$.
  2713. 4.6
  2714. 160 DIM plot% 1023:plotc%=plot%:REM Initial allowance for output
  2715. 4.6
  2716.  file: plot% remains unchanged
  2717. 4.6
  2718.  but plotc% is redefined as required, by PROCadd.
  2719. 4.6
  2720. 170 DIM preamble%(10)
  2721. 4.6
  2722. 180 preamble%()=&77617244,&C9,0, &5F534142,&77617244,&20202020, 
  2723. &7FFFFFFF,&7FFFFFFF,&80000000 ,&80000000 : REM 4th & 5th
  2724. 4.6
  2725.  words are the name of the
  2726. 4.6
  2727.  prog. producing the file
  2728. 4.6
  2729.  (ie., BAS_Draw)
  2730. 4.6
  2731. 190 minx%=&7FFFFFFF:miny%=&7FFFFFFF :maxx%=&80000000:maxy%=&80000000
  2732. 4.6
  2733. 200 FOR ptr%=0 TO 36 STEP 4: plot%!ptr%=preamble%(ptr%/4)
  2734. 4.6
  2735. :NEXT ptr%
  2736. 4.6
  2737. 210 ptr%=40
  2738. 4.6
  2739. 220 INPUT ÉöType the name for the DrawFile to be created (with pathname 
  2740. if necessary)ò
  2741. 4.6
  2742. æÉöEg.,   :Floppy.$.DrawFiles. Spiral1 ò,outfile$
  2743. 4.6
  2744. 230 scale=180*256*.039375:REM One mm in internal Draw units (PRM
  2745. 4.6
  2746.  p.1489). The unconventional conversion is implied by
  2747. 4.6
  2748.  Draw Edit box.
  2749. 4.6
  2750. 240 ENDPROC
  2751. 4.6
  2752. 250 
  2753. 4.6
  2754. 260 DEF PROC_CreatePoints
  2755. 4.6
  2756. 270 REM Arithmetic spiral.
  2757. 4.6
  2758. 280 NoOfPoints%=500
  2759. 4.6
  2760. 290 DIM coord(NoOfPoints%,1)
  2761. 4.6
  2762. 300 FOR N%=0 TO NoOfPoints%
  2763. 4.6
  2764. 310   th=.1*N%:r=12.7*th/(2*PI)
  2765. 4.6
  2766. 320   coord(N%,0)=105+r*COS(th) :coord(N%,1)=150+r*SIN(th)
  2767. 4.6
  2768. 330 NEXT N%
  2769. 4.6
  2770. 340 ENDPROC
  2771. 4.6
  2772. 350 
  2773. 4.6
  2774. 360 DEF PROC_CreateDrawFormat (array(),npts%)
  2775. 4.6
  2776. 370 REM Inserts points from array as one Draw öpathò.
  2777. 4.6
  2778. 380 LOCAL n%
  2779. 4.6
  2780. 390 bytes%=12*npts%+56
  2781. 4.6
  2782. 400 PROCpreamble
  2783. 4.6
  2784. 410 PROCadd(-1):REM No fill.
  2785. 4.6
  2786. 420 PROCadd(0):REM Line colour=black
  2787. 4.6
  2788. 430 PROCadd(0):REM Line width is minimum.
  2789. 4.6
  2790. 440 PROCadd(&20100042):REM Bevelled joins, butt caps, even/odd
  2791. 4.6
  2792.  winding, triangle cap width
  2793. 4.6
  2794.  =line width, cap length double
  2795. 4.6
  2796.  line width. (PRM pp1794-1795)
  2797. 4.6
  2798. 450 FOR n%=0 TO npts%
  2799. 4.6
  2800. 460   IF n%>0 THEN PROCadd(8) ELSE PROCadd(2)
  2801. 4.6
  2802. 470   PROCstep(array(n%,0),
  2803. 4.6
  2804. array(n%,1))
  2805. 4.6
  2806. 480 NEXT n%
  2807. 4.6
  2808. 490 PROCpostamble
  2809. 4.6
  2810. 500 ENDPROC
  2811. 4.6
  2812. 510 
  2813. 4.6
  2814. 520 DEF PROCpreamble
  2815. 4.6
  2816. 530 REM Writes heading for path.
  2817. 4.6
  2818. 540 pminx%=&7FFFFFFF:REM Min. values for box coords. initially set to
  2819. 4.6
  2820. 550 pminy%=&7FFFFFFF:REM largest possible pos. integer, and
  2821. 4.6
  2822.  max. values
  2823. 4.6
  2824. 560 pmaxx%=&80000000:REM to largest neg. integer, to ENSURE they
  2825. 4.6
  2826.  are reset
  2827. 4.6
  2828. 570 pmaxy%=&80000000:REM at lines 680 and 720 when first path
  2829. 4.6
  2830.  point written.
  2831. 4.6
  2832. 580 PROCadd(2):PROCadd(bytes%)
  2833. 4.6
  2834. 590 keep1%=plotc%+ptr%:PROCadd(0)
  2835. 4.6
  2836. 600 keep2%=plotc%+ptr%:PROCadd(0)
  2837. 4.6
  2838. 610 keep3%=plotc%+ptr%:PROCadd(0)
  2839. 4.6
  2840. 620 keep4%=plotc%+ptr%:PROCadd(0)
  2841. 4.6
  2842. 630 ENDPROC
  2843. 4.6
  2844. 640 
  2845. 4.6
  2846. 650 DEF PROCstep(xx,yy)
  2847. 4.6
  2848. 660 REM Writes one pair of co-ords. and updates bounds.
  2849. 4.6
  2850. 670 v%=scale*xx:PROCadd(v%)
  2851. 4.6
  2852. 680 IF pminx%>v% THEN pminx%=v%
  2853. 4.6
  2854. 690 IF pmaxx%<v% THEN pmaxx%=v%
  2855. 4.6
  2856. 700 v%=scale*yy:PROCadd(v%)
  2857. 4.6
  2858. 710 IF pminy%>v% THEN pminy%=v%
  2859. 4.6
  2860. 720 IF pmaxy%<v% THEN pmaxy%=v%
  2861. 4.6
  2862. 730 ENDPROC
  2863. 4.6
  2864. 740 
  2865. 4.6
  2866. 750 DEF PROCpostamble
  2867. 4.6
  2868. 760 REM Closes path and writes bounds in preamble.
  2869. 4.6
  2870. 770 !keep1%=pminx%:!keep2%=pminy% :!keep3%=pmaxx%:!keep4%=pmaxy%
  2871. 4.6
  2872. 780 IF minx%>pminx% THEN minx%= pminx%
  2873. 4.6
  2874. 790 IF maxx%<pmaxx% THEN maxx%= pmaxx%
  2875. 4.6
  2876. 800 IF miny%>pminy% THEN miny%= pminy%
  2877. 4.6
  2878. 810 IF maxy%<pmaxy% THEN maxy%= pmaxy%
  2879. 4.6
  2880. 820 PROCadd(0)
  2881. 4.6
  2882. 830 ENDPROC
  2883. 4.6
  2884. 840 
  2885. 4.6
  2886. 850 DEF PROCadd(v%)
  2887. 4.6
  2888. 860 REM Adds the value v% to the output buffer.
  2889. 4.6
  2890. 870 plotc%!ptr%=v%
  2891. 4.6
  2892. 880 ptr%+=4
  2893. 4.6
  2894. 890 IF ptr%>1016 THEN
  2895. 4.6
  2896.  900   DIM new% 1023
  2897. 4.6
  2898.  910   plotc%!1020=new%
  2899. 4.6
  2900.  920   plotc%=new%
  2901. 4.6
  2902.  930   ptr%=0
  2903. 4.6
  2904.  940 ENDIF
  2905. 4.6
  2906.  950 ENDPROC
  2907. 4.6
  2908.  960 
  2909. 4.6
  2910.  970 DEF PROCsave
  2911. 4.6
  2912.  980 REM Insert overall min and max values first.
  2913. 4.6
  2914.  990 plot%!24=minx%:plot%!28=miny% :plot%!32=maxx%:plot%!36=maxy%
  2915. 4.6
  2916. 1000 handle%=OPENOUT outfile$
  2917. 4.6
  2918. 1010 WHILE plotc%>plot%
  2919. 4.6
  2920. 1020   SYS öOS_GBPBò,2,handle%,plot% ,1020
  2921. 4.6
  2922. 1030   REM Unlike *Save, can continue (update) open file.
  2923. 4.6
  2924.  PRM p.872.
  2925. 4.6
  2926. 1040   new%=plot%!1020:plot%=new%
  2927. 4.6
  2928. 1050 ENDWHILE
  2929. 4.6
  2930. 1060 SYS öOS_GBPBò,2,handle%,plot%, ptr%
  2931. 4.6
  2932. 1070 *CLOSE
  2933. 4.6
  2934. 1080 OSCLI öSetType ò+outfile$+ 
  2935. 4.6
  2936. ö DrawFileò
  2937. 4.6
  2938. 1090 ENDPROC  A 
  2939. 4.6
  2940.  
  2941. 4.6
  2942. Shareware Disks N║s 25 & 30
  2943. 4.6
  2944. John Brooks 
  2945. 4.6
  2946. Shareware N║ 25 is a compilation of mathematics programs/functions and 
  2947. procedures. Most are written in BASIC though there are some which use 
  2948. assembler. There are far too many items to mention individually as it 
  2949. would take up far too much space. However, here is a list of the type of 
  2950. programs included: 
  2951. 4.6
  2952. Numerical integration: Simpsonæs rule 
  2953. 4.6
  2954. Solution of polynomial equations 
  2955. 4.6
  2956. Solution of simultaneous linear equations 
  2957. 4.6
  2958. Generation of equations from roots 
  2959. 4.6
  2960. Cubic splines and interpolation 
  2961. 4.6
  2962. Primes 
  2963. 4.6
  2964. Series 
  2965. 4.6
  2966. Puzzles 
  2967. 4.6
  2968. Fourier transformations 
  2969. 4.6
  2970. Function plotter 
  2971. 4.6
  2972. Extended precision calculator 
  2973. 4.6
  2974. Recurring decimals 
  2975. 4.6
  2976. 3-d surface plotter
  2977. 4.6
  2978. Frequency and time response of linear circuits 
  2979. 4.6
  2980. Pole zero plots 
  2981. 4.6
  2982. Also included are various functions and procedures in these areas: 
  2983. 4.6
  2984. Beta function 
  2985. 4.6
  2986. Binomial coefficients 
  2987. 4.6
  2988. Permutations 
  2989. 4.6
  2990. Elliptic integrals 
  2991. 4.6
  2992. Error functions
  2993. 4.6
  2994. Factorials
  2995. 4.6
  2996. Gamma functions
  2997. 4.6
  2998. Polynomial interpolation 
  2999. 4.6
  3000. Integration 
  3001. 4.6
  3002. Write# in ASCII form 
  3003. 4.6
  3004. Hyperbolic functions and inverses 
  3005. 4.6
  3006. Complex arithmetic and functions 
  3007. 4.6
  3008. Polar to rectangular conversion 
  3009. 4.6
  3010. Various matrix operations
  3011. 4.6
  3012. Now some of this may seem very esoteric (Iæm not a complete dummy at 
  3013. maths but some of this stuff I have never heard of) and the question is, 
  3014. öIs this disc worth ú3ò? 
  3015. 4.6
  3016. Well, that depends on what you want. To my mind, this disk is essen
  3017. tially a library of code for performing various mathematical tasks. If 
  3018. you ever need any of these procedures then you have these tried-and-
  3019. tested versions to get you going. It saves a lot of work that way. 
  3020. 4.6
  3021. I also find that this type of disk is useful for looking at other 
  3022. peopleæs code to see how they tackle things, I might pick up a tip or 
  3023. two to improve my own code (or indeed see some things to avoid), and 
  3024. there are plenty of examples to look up in here.
  3025. 4.6
  3026. Shareware N║30 is a ösound/musicò collection consisting essentially of 
  3027. one application (!STracker) and a directory (Modules) containing some 
  3028. sample data for the application. 
  3029. 4.6
  3030. For anyone who has not yet heard of !STracker, more commonly called 
  3031. soundtracker, it is a utility that plays ömusicò in the background 
  3032. whilst other work can carry on in the foreground. Four pieces are 
  3033. included in the modules directory:- 
  3034. 4.6
  3035. AxelF Ö theme music from Beverley Hillæs cop 
  3036. 4.6
  3037. Dream Ö short, but nice 
  3038. 4.6
  3039. ProgFunk Ö err??
  3040. 4.6
  3041. VivBeat Ö with some very convincing thunder 
  3042. 4.6
  3043. If you have access to any bulletin boards or public domain software, 
  3044. there are loads of soundtracker modules around that you can acquire. 
  3045. 4.6
  3046. For those who have ever only heard !Maestro tunes, the quality and range 
  3047. of voices in soundtracker modules is quite remarkable, especially if you 
  3048. have an external amplifier and speakers. Also included on the disk is a 
  3049. utility called !RunThis which plays yet another soundtracker module 
  3050. called TESTMOD (Iæm not sure that this would be called music though) and 
  3051. displays which voice is being used and which particular pattern is being 
  3052. played at the time. Finally, there is an !Edit file with some of the 
  3053. history and background information about soundtracker. 
  3054. 4.6
  3055. As one who likes messing around with computer music, I quite like this 
  3056. piece of software. It is not actually very useful by itself but is an 
  3057. impressive demonstration of the Archimedesæ abilities. It could also be 
  3058. useful if you are writing some software which requires background music.  
  3059.  A 
  3060. 4.6
  3061.  
  3062. 4.6
  3063. Econet Column
  3064. 4.6
  3065. Neil Berry
  3066. 4.6
  3067. I have received a number of letters this month from network managers who 
  3068. are worried about the possible consequences of this series of articles, 
  3069. with regard to the security of their own networks. It would be nice to 
  3070. think that all network users were responsible people and that there was 
  3071. no such thing as hacking but, of course, this is a nieve view. There are 
  3072. people who are not content with using the network as a normal user, but 
  3073. seem to want to just have a general fiddle. Whether the intention is 
  3074. destructive or not, this can cause real problems for network managers 
  3075. and so, in an attempt to keep the sanity of managers who read this 
  3076. column, I will restrict my comments and reviews to those of a rather non 
  3077. technical nature. I know this will disappoint those of you who have 
  3078. written to me asking for technical details but, to keep the peace, I 
  3079. will not be able to print system-privileged information.
  3080. 4.6
  3081. Over the next few months, I will be writing about various types of 
  3082. connectivity from Econet brands and hard disc sharing systems, to 
  3083. external connectivity with IBM / DEC machines over Ethernet and Unix. To 
  3084. begin with, I will be starting with shared hard disc systems, in 
  3085. particular Nexus and the Software Solutions server.
  3086. 4.6
  3087. A new concept from S.J.Research
  3088. 4.6
  3089. The Nexus system consists of a hard disc shared between a number of 
  3090. Archimedes machines and allows the formation of a common resource area 
  3091. where applications may be stored and as a temporary store for private 
  3092. files and data. The Nexus system uses a stared network topology, unlike 
  3093. Econet which uses a BUS system and, for this reason, is not dependent 
  3094. upon all of the machines functioning correctly. It comes in a large box, 
  3095. about the size of a 400 series Archimedes, containing a hard disc, and 
  3096. is intelligent enough to communicate with up to 8 RISC-OS machines 
  3097. simultaneously. The system uses twisted pair cabling and each system arm 
  3098. may be up to 100m in length, even without using line drivers, although 
  3099. these are available.
  3100. 4.6
  3101. One of the main problems with older Econet systems is their slow data 
  3102. transfer rates, around 200 to 300 kilobits per second. S.J. with their 
  3103. new system have made a point of trying to maintain Nexus speeds close to 
  3104. that of a local Acorn hard disc, approximately 10 to 20 megabits per 
  3105. second. S.J. say that the systemæs response time, even with full 
  3106. capacity use from eight machines, should not drop below that of a floppy 
  3107. disc, which is obviously a great speed increase over Econet systems. 
  3108. Each Archimedes needs to be fitted with its own communication card, 
  3109. which would require a backplane to be fitted on an A310 but, other than 
  3110. this, no networking hardware is required.
  3111. 4.6
  3112. The Disc Sharer
  3113. 4.6
  3114. The Disc Sharer from Software Solutions, is a multitasking utility that 
  3115. allows Archimedes computers (and BBC micros) to access the local hard 
  3116. disc of another Archimedes machine, by using the Econet. Unfortunately, 
  3117. running the system down the Econet cables causes the same sorts of 
  3118. problems encountered with using the ordinary Econet system. Relative to 
  3119. the Nexus system, it is a lot slower and requires the presence of a hard 
  3120. disc and Econet hardware, to be installed on at least two machines. 
  3121. 4.6
  3122. Using the systems
  3123. 4.6
  3124. Both of the systems are multi-tasking utilities which install themselves 
  3125. on the icon bar. The Nexus system installs itself as a dual icon on the 
  3126. icon bar, one for a personal Éscratch-padæ area and the other for read-
  3127. only access to the shared application areas. The Nexus system is 
  3128. primarily aimed at the sharing of common resources, with only a small 
  3129. area for general read/write applications.
  3130. 4.6
  3131. The Software Solutionsæ server, on the other hand, is more akin to an 
  3132. actual fileserver and, as it may be used on a mixed network of Archi
  3133. medes and BBCæs, speeds have to be such that the BBCæs are able to cope 
  3134. with sending and receiving files to the main server computer. The size 
  3135. of work area of the Solutions server depends on the size of the hard 
  3136. disc available on the machine that is being used. However, the Nexus 
  3137. server is currently supplied as a standard 40Mb drive although S.J. are 
  3138. willing to discuss units with higher capacity for anyone who thinks that 
  3139. they really need more Mega-Bytes!
  3140. 4.6
  3141. This limited capacity of 40Mb may seem to be a black mark against the 
  3142. S.J. server but, when you think about exactly how much space your 
  3143. frequently used applications actually take up, you might be quite 
  3144. surprised at how little space they do take. Suppose that a system was 
  3145. used by the full eight users and the server had a shared resource area 
  3146. of 20Mb, which is a lot of space for a read-only sector, you would have 
  3147. about 2Mb of Éuser areaæ for each of the users.
  3148. 4.6
  3149. The Solutionsæ  server, on the other hand, is only restricted in space 
  3150. by the size of the hard drive and will allow up to 32 users to be logged 
  3151. on. When a user is logged on, he would usually be presented with a 
  3152. normal view of the Archimedes hard disc. However, there are so-called 
  3153. Éfixed usersæ who are not allowed to see the root directory or other 
  3154. directories of the hard disc or to set the password or boot options etc. 
  3155. In this way, some basic forms of access can be implemented. In compari
  3156. son to standard S.J. and Acorn file servers there is little or no user 
  3157. protection, by way of specific user areas and different levels of 
  3158. access, although the S.J. server does, in my mind, win through by having 
  3159. separately accessible storage areas rather than one single user i.d., as 
  3160. the Software Solutionsæ  server has.
  3161. 4.6
  3162. Setting up the systems
  3163. 4.6
  3164. To use the Nexus system, you will require the S.J. hard disc unit of 
  3165. 40Mb which, for four stations, costs ú1240. Each machine that uses the 
  3166. disc will require an interface card which comes as a standard podule for 
  3167. A300 and A400 machines and as an internal podule for A3000 machines. 
  3168. Either of these is easily installed by the user. Standard or custom 
  3169. length cables may be purchased to connect the machines in a star 
  3170. arrangement. Each of the standard cables has a D-Type connector at the 
  3171. disc end and a din plug at the podule end and can be between 1.5m and 
  3172. 30m, costing from ú10.75 to ú25.00, and ranging in speed from 20MHz to 
  3173. 10MHz for the longer cables. Therefore, to run a system of eight 
  3174. Archimedes inside one room will cost in the region of ú2300 +VAT.
  3175. 4.6
  3176. The Solutionsæ server, on the other hand, uses only the Econet system to 
  3177. communicate with its hard disc and so, for those establishments that 
  3178. already have Econet, no further hardware needs to be purchased. This 
  3179. must clearly be seen as an advantage over the Nexus system. The 
  3180. educational price for a network licence for the Disc sharing system is 
  3181. ú126.50 inc VAT Ö much cheaper than Nexus. Of course, if you do not 
  3182. already have an Econet system, minimally consisting of at least a clock 
  3183. and connecting wires, then this of course would have to be added to the 
  3184. costing.
  3185. 4.6
  3186. To sum up, I would personally opt for the Nexus system, despite its 
  3187. relatively high cost, mainly for its ease and speed of use. However, the 
  3188. much, much cheaper Software Solutions Disc Sharer cannot be overlooked 
  3189. mainly because of its price.
  3190. 4.6
  3191. What next?
  3192. 4.6
  3193. In the near future, I hope to be dedicating a series of articles to the 
  3194. new Level IV fileserver from Acorn Ö when Iæve amassed enough 
  3195. information.
  3196. 4.6
  3197. As always I can be contacted at: 21 Pargeter Street, Stourbridge, West 
  3198. Midlands, DY8 1AU (no phone calls please). If you have any comments 
  3199. about this column or would like to offer up some ideas, please feel free 
  3200. to write to me. If you have developed any new network software, no 
  3201. matter how trivial it may seem, I would like to see it and give it a 
  3202. review.   A 
  3203. 4.6
  3204.  
  3205. 4.6
  3206. Writing Maths: Equasor
  3207. 4.6
  3208. Brian Cowan
  3209. 4.6
  3210. How do you decide which computer to buy? This may seem a strange 
  3211. question with which to start a review of a software product but, 
  3212. hopefully, the reason will become clear as you read on. The sensible 
  3213. person would probably choose the computer which runs the software 
  3214. packages which he/she requires. By this definition, the early Archimedes 
  3215. owners would seem to have been somewhat lacking in sense! They purchased 
  3216. a machine with virtually no software base, a turbo-charged BBC micro 
  3217. with a desktop environment which was, thankfully, optional.
  3218. 4.6
  3219. Foresight
  3220. 4.6
  3221. What these ösenselessò people appreciated was the phenomenal power of 
  3222. this new computer and its ARM chip set. Buying an Archimedes in those 
  3223. early days was an investment, or a gamble, depending on how you viewed 
  3224. it. With that sort of raw power available for the first time in a 
  3225. microcomputer, and at a reasonable price, the software should follow. 
  3226. When it did, there was the potential for some really earth-shattering 
  3227. products Ö and so it has transpired.
  3228. 4.6
  3229. Good impression
  3230. 4.6
  3231. Computer Concepts seem to have adopted precisely this philosophy. 
  3232. Readers will know of Impression, if not by experience, then by repute. 
  3233. This is the DTP package by which others are judged. I have been using 
  3234. Impression for the last few months and now I think I would be lost 
  3235. without it. At work, I have arranged for the purchase of a site licence 
  3236. so that my colleagues can also have the benefit, such is my regard for 
  3237. this product.
  3238. 4.6
  3239. More goodies
  3240. 4.6
  3241. In other areas also, Archimedes owners are finding new software which is 
  3242. the equal of, or better than, that available for the more ötraditionalò 
  3243. machines. For example Schema for spreadsheets, Pipedream for övirtually 
  3244. everythingò, Reduce for computer algebra, WorraCad for drafting, and new 
  3245. products on the horizon. Soon, we should have the last word in database 
  3246. programs, and new PC emulation which will eclipse even an IBM. There are 
  3247. certainly exciting times ahead.
  3248. 4.6
  3249. Writing maths
  3250. 4.6
  3251. But back to the subject of this review. I have mentioned in the past my 
  3252. particular need for producing mathematical equations within documents, 
  3253. as most of my writing is of a scientific or mathematical nature. In the 
  3254. past, I have been using First Word Plus together with a special maths 
  3255. font which I designed years ago, and which is sold by Ian Copestake 
  3256. Software as a öFirst Fontò. This has served me well and I have been 
  3257. reluctant to change until something much better came along. Perhaps it 
  3258. finally has.
  3259. 4.6
  3260. First Fonts
  3261. 4.6
  3262. I must, however, first extol the virtues of the First Font option. The 
  3263. advantage of this is that it is an integrated system. Text and the 
  3264. equations are all written together and the production of documents is a 
  3265. beautifully simple process. However, simplicity comes at the expense of 
  3266. flexibility. One has only the standard First Font font, and slightly 
  3267. different font sets are used with different printer drivers. For 
  3268. increased versatility in the production of scientific (and other) 
  3269. documents one must graduate to a more sophisticated system.
  3270. 4.6
  3271. Next steps
  3272. 4.6
  3273. There are two types of solution to this problem. There is a remarkable 
  3274. software package called TEX. The Pascal program for this is in the 
  3275. public domain and there are implementations of this available for the 
  3276. Archimedes, both a PD version and also a commercial product. TEX is 
  3277. essentially a type-setting language. To produce a document, one writes a 
  3278. file of text and strange codes. This file is then processed by the TEX 
  3279. program, to drive a printer or possibly a screen previewer. So to write 
  3280. a document one actually types in what seems to be a load of gobblede
  3281. gook. I think you have to have a certain kind of brain to do this sort 
  3282. of thing well. I have used TEX both on mainframe computers and on the 
  3283. Archimedes and I find it rather tough going. This is no criticism of 
  3284. TEX; it is my problem. The Archimedes PD version I used is quite superb, 
  3285. with a really good screen previewer. Notwithstanding the excellence of 
  3286. the product, I prefer the other approach. I find it much easier to use a 
  3287. öwhat you see is what you getò system. So, I prefer to produce documents 
  3288. using a DTP type of program; I really need to see what is going on. The 
  3289. disadvantage (with existing systems) is that the production of text and 
  3290. the creation of equations are no longer entirely integrated. 
  3291. 4.6
  3292. Equasor
  3293. 4.6
  3294. Equasor is an equation generator. It is not a scientific DTP program; it 
  3295. would usually be used in conjunction with a separate DTP package. 
  3296. Equasor is produced by Computer Concepts and so, in style, many aspects 
  3297. are similar to Impression. The two products, not surprisingly go 
  3298. together very well but Equasor can be used in conjunction with any DTP 
  3299. product, or it can be used alone, simply to produce equations. Part of 
  3300. the versatility of Equasor is due to the fact that it produces its 
  3301. equations in Draw format. Thus, an equation may be imported into any 
  3302. document which supports Draw objects or it may be sent to a printer 
  3303. driver. Using Impressionæs embedded frame facility, an equation may be 
  3304. incorporated into a line of text. In fact, embedded frames almost 
  3305. completely integrate the equation and text creation processes; this is a 
  3306. powerful feature of Impression.
  3307. 4.6
  3308. Intelligent behaviour
  3309. 4.6
  3310. In conception, Equasor is rather like the utilities FontDraw and FontFX 
  3311. in that it facilitates the creation of öfancy effectsò from the 
  3312. available font sets but here, the fancy creations are mathematical 
  3313. equations. As a matter of course, all the usual mathematical features 
  3314. are provided, such as superscripts and subscripts, a variety of 
  3315. brackets, integrals, sums and products, roots and fractions, etc. 
  3316. However, the remarkable feature of Equasor is that it appears to be 
  3317. intelligent. Thus subscripts, superscripts and limits are automatically 
  3318. scaled to 75% of the preceding text. This applies recursively although 
  3319. any of these things can be overridden if required. The other aspect of 
  3320. intelligence in the program is that the cursor always seems to go to the 
  3321. right place at the right time while creating a complex expression. Thus, 
  3322. for instance, in producing a character which has subscripts and 
  3323. superscripts, having selected the character, the cursor moves to the 
  3324. subscript position. When these have been entered, on pressing the öarrow 
  3325. rightò key, the cursor moves to the superscript position and when these 
  3326. have been entered, a further öarrow rightò press moves the cursor to the 
  3327. normal position for the next full character.
  3328. 4.6
  3329. EFF MathGreek font
  3330. 4.6
  3331. It is an unfortunate fact of life (or so the mathematicians would have 
  3332. us believe) that our alphabet contains only twenty six letters. 
  3333. Mathematics thus makes frequent use of Greek characters. It also uses a 
  3334. variety of special symbols as well as the odd Hebrew character. Equasor 
  3335. is supplied with the MathGreek font set from the Electronic Font 
  3336. Foundry. In use, these symbol fonts are available from a symbol window 
  3337. rather like the !Chars application; öclickingò on a character in the 
  3338. window enters it into the equation at the cursor position. In general, 
  3339. the EFF font set is a good compilation of symbols and characters needed 
  3340. by the mathematician. There are a few extras that I would like to see, 
  3341. such as the second Planckæs constant h_ and the mathematical symbols >~ 
  3342. (of the order of or greater than), <~ (of the order of or less than) and 
  3343. [__] , (as well as I can produce them using existing characters together 
  3344. with Impressionæs kerning facility). I have one serious criticism 
  3345. concerning the existing MathGreek font set, however. At present, EFF 
  3346. provide an upright and an italic set. However there is a serious need 
  3347. for bold versions of these, particularly for the Greek characters. 
  3348. Vectors are conventionally denoted by bold characters and one does use 
  3349. Greek vectors. I hope EFF will rectify this omission.
  3350. 4.6
  3351. Proof of the pudding
  3352. 4.6
  3353. The best way to understand Equasor is to use it. In fact, I extensively 
  3354. used beta test versions of the product for some time before I even had a 
  3355. manual. The fact that I was able to produce some quite complex equations 
  3356. is an indication of how intuitive the program is to use. Here are some 
  3357. examples:
  3358. 4.6
  3359.                     
  3360. 4.6
  3361.  
  3362. 4.6
  3363. This sort of expression is called a continued fraction. It does not look 
  3364. too complicated, but the important point to note is the ease with which 
  3365. this was produced using Equasor. The lines all adjusted themselves to 
  3366. just the required length and everything aligned automatically. It would 
  3367. have been quite a nightmare (for me) to produce such an expression using 
  3368. TEX, calculating where to put the lines and characters. Now for an 
  3369. equation involving solid angles.
  3370. 4.6
  3371.    
  3372. 4.6
  3373. This equation was quite straightforward to produce. I had a little 
  3374. difficulty in creating the vertical line of the right size; that was not 
  3375. done automatically. The next three equations were trivial to produce 
  3376. using Equasor. They really demonstrate the power of the program. Here is 
  3377. an expression concerning the refraction of the electric part of an 
  3378. electromagnetic wave.
  3379. 4.6
  3380.       
  3381. 4.6
  3382. Next we have the azimuthal component of an electric field expressed in 
  3383. terms of spherical harmonics. This involves subscripts and superscripts:
  3384. 4.6
  3385.          
  3386. 4.6
  3387. Now, in a different area of physics, comes a formula from what is called 
  3388. Fermi Liquid theory (one of my current projects). This involves all 
  3389. manner of subscripts, superscripts, primes, arrows and goodness knows 
  3390. what.
  3391. 4.6
  3392.    Looking at these equations, you see that the Latin symbols are all 
  3393. printed in italic form, This is the conventional way and it occurs 
  3394. automatically (although this can be overridden). Greek symbols can be 
  3395. configured to appear italic if desired; convention is a little hazy 
  3396. here. Operators such as cos and sin are printed upright and these may be 
  3397. selected from a menu. Also, the menu allows one to create new forms, 
  3398. which can be stored for future usage.
  3399. 4.6
  3400. Limitations and bugs
  3401. 4.6
  3402. There is a class of mathematical objects which the present version of 
  3403. Equasor can not produce. These are things like matrices, that is, tables 
  3404. of symbols separated horizontally or vertically with no operator between 
  3405. them. Thus, as well as matrices, one can not create binomial coeffi
  3406. cients, nor the Christoffel symbols of general relativity. In this last 
  3407. case, however, we can have a jolly good try. Here is the definition of a 
  3408. Christoffel symbol:
  3409. 4.6
  3410.   
  3411. 4.6
  3412. The symbol is correct except that there should not be the horizontal bar 
  3413. under the i and j. I was surprised to discover a very strange bug in my 
  3414. version of Equasor: if you place two summation signs or two integral 
  3415. symbols adjacent to each other, then one of them blows up! I am sure 
  3416. this will be fixed on the release version. Finally, letæs finish with a 
  3417. simple one: another equation from electromagnetism.
  3418. 4.6
  3419.   
  3420. 4.6
  3421. As you can see, this is perfect.
  3422. 4.6
  3423. Unfair?
  3424. 4.6
  3425. You might think that I have been unfair in my review of this product as 
  3426. I have tended to concentrate on its limitations. Of course, the points 
  3427. about the MathGreek font relate to EFF and not to Equasor itself. Many 
  3428. of the examples I have given here demonstrate some of the very minor 
  3429. limitations in the program. This should be taken as an indication that I 
  3430. have performed an intensive test of Equasor and that most things I tried 
  3431. were a complete success. Also, as you will realise, Computer Concepts 
  3432. take the feedback from their customers very seriously: witness the 
  3433. evolution of Impression. So I am convinced that future versions of 
  3434. Equasor will address the few points I have made, to produce an even 
  3435. better product.
  3436. 4.6
  3437. Some technical details
  3438. 4.6
  3439. I mentioned above that Equasor produces its output in Draw format. This 
  3440. point must be clarified a little. Having produced an equation using 
  3441. Equasor, the next step is to save it. One has the choice of saving the 
  3442. object either in öEquasorò format or in Draw format. Both types of file 
  3443. may be dropped into Impression frames. In fact, the Equasor format file 
  3444. contains the same Draw code and it is this which produces the image in 
  3445. the frame but the Equasor format file contains more. It incorporates the 
  3446. specification of the equation. Thus this file may be loaded back into 
  3447. Equasor to be edited; this can not be done with the Draw file. The 
  3448. Equasor file can not, however, be loaded into the current version of 
  3449. Draw. The extraneous information confuses the program. For this reason 
  3450. both file formats are required.
  3451. 4.6
  3452. In conformity with Computer Concepts policy, the Equasor program is all 
  3453. written in ARM code. This leads to increased speed and efficiency and so 
  3454. must be rated as a plus point; it also discourages hackers!
  3455. 4.6
  3456. In use
  3457. 4.6
  3458. For those tricky parts of equations, you can zoom in to a magnification 
  3459. of up to 999% and you can pan out to 1%. Fine control over parts of 
  3460. equations is facilitated by effects, as in Impression. Also, there is 
  3461. full implementation of leading, spacing and kerning. So, equations can 
  3462. be laid out precisely as required. For those difficult times, there is 
  3463. an eighty page manual containing most information that should be 
  3464. required. In fact, as I said above, I have made very little use of the 
  3465. manual Ö the program is remarkably intuitive. However, whenever I needed 
  3466. to find something out, I generally managed to do so.
  3467. 4.6
  3468. Included on the Equasor disc is a directory of sample equations. These 
  3469. are quite impressive and they really show off the programæs extensive 
  3470. range of features. Funnily enough, I found errors in some of these 
  3471. equations but I think these should have been corrected in the release 
  3472. version. 
  3473. 4.6
  3474. Conclusion
  3475. 4.6
  3476. It is always a joy to review a really good product. This is one such 
  3477. occasion. I have been wanting a program which would do this sort of 
  3478. thing, as I have mentioned in Archive from time to time, and here it is. 
  3479. The only serious limitation of Equasor is that you canæt produce 
  3480. matrices (or at least I canæt!). Apart from that, I am happy to say that 
  3481. I unhesitatingly recommend Equasor to all those who need to produce 
  3482. equations and/or incorporate them into DTP documents. It is certainly as 
  3483. good as anything I have seen on any other computer.
  3484. 4.6
  3485. Equasor comes from Computer Concepts and the complete package costs ú49 
  3486. plus VAT. This includes the EFF MathGreek font. The Archive price is 
  3487. ú52.  A 
  3488. 4.6
  3489.  
  3490. 4.6
  3491. The Serial Port
  3492. 4.6
  3493. New
  3494. 4.6
  3495.  
  3496. 4.6
  3497. BASE 5
  3498. 4.6
  3499. New
  3500. 4.6
  3501.  
  3502. 4.6
  3503. Ten Tips for those with Bigger Memories
  3504. 4.6
  3505. Stuart Bell
  3506. 4.6
  3507. The old clichΘ about most human beings being creatures of habit is 
  3508. probably as true in the world of personal computing as in most other 
  3509. spheres of human activity. In other words, once weæve developed a way of 
  3510. working, we tend to stick to that way, whatever happens.
  3511. 4.6
  3512. In this case, the Éwhatever happensæ is the upgrade from 1Mb memory to 
  3513. 4Mb and an awareness, after a few weeks with the upgrade, that I wasnæt 
  3514. really taking full advantage of it. An Archimedes with 4Mb is really 
  3515. quite a different machine from its smaller brother and it opens up new 
  3516. practices that simply arenæt possible before the memory growth. So here 
  3517. are ten tips for those who have also been bitten by the upgrade bug. 
  3518. (Apologies to those lucky people who started with 4Mb, to whom all this 
  3519. is probably so boringly obvious!)
  3520. 4.6
  3521. Multi-task your applications
  3522. 4.6
  3523. This is surely the main reason for upgrading in the first place. BU 
  3524. (before upgrading), the power of RISC-OS simply canæt be realised 
  3525. because you canæt multi-task significant applications. However, AU 
  3526. (after upgrading) you can run, for example, both !Draw and Impression 
  3527. and this makes things much easier. Another good idea is to have !FontFX, 
  3528. a scientific calculator (PD versions widely available) and the RISC-OS 
  3529. printer driver all loaded on the icon bar. !Patience can be there ready 
  3530. for a quiet moment!
  3531. 4.6
  3532. Auto-load your applications
  3533. 4.6
  3534. Manually loading all the applications that you regularly use can be a 
  3535. little tiresome. Assuming that you have a hard disc, they can all be 
  3536. loaded onto the icon bar every time you reset or boot up the machine. 
  3537. (The only thing that stops floppy users doing this is disc capacity). 
  3538. You need a file called É!bootæ in the root directory and can use 
  3539. *Configure Boot if you want to cause that file to be obeyed when the 
  3540. power is switched on, at a reset or <ctrl-break>. (Use *Configure Noboot 
  3541. to run a boot file on <shift-power on>, <shift-reset> or <shift-break>.) 
  3542. You also need to do a *OPT 4 3 to tell the system to öexecò the boot 
  3543. file.)
  3544. 4.6
  3545. You can put all the commands to be obeyed in the !boot file, but itæs 
  3546. simpler to put all commands to be obeyed once the desktop has been 
  3547. entered in a separate file. The !boot file contains the line:
  3548. 4.6
  3549. Desktop ÖFile scsi::winny.$ .StartList
  3550. 4.6
  3551. when Startlist is the name of the file with the commands to be obeyed. 
  3552. My Startlist looks like this:
  3553. 4.6
  3554. Filer_Opendir scsi::winny.$
  3555. 4.6
  3556. .Documents
  3557. 4.6
  3558. Filer_Opendir scsi::winny.$
  3559. 4.6
  3560. scsi::winny.$.!Fonts
  3561. 4.6
  3562. scsi::winny.$.!System
  3563. 4.6
  3564. scsi::winny.$.!Edit
  3565. 4.6
  3566. scsi::winny.$.!Draw1╜
  3567. 4.6
  3568. scsi::winny.$.!Impress
  3569. 4.6
  3570. scsi::winny.$.!1stWord+
  3571. 4.6
  3572. scsi::winny.$.!FontFX
  3573. 4.6
  3574. scsi::winny.$.!PrinterLJ
  3575. 4.6
  3576. scsi::winny.$.IconClock
  3577. 4.6
  3578. The Filer_Opendir commands open directories on the desktop, ready for me 
  3579. to select the file to be accessed. Strangely, it seems that those opened 
  3580. second are displayed behind those opened first so, in my case, 
  3581. $.Documents appears in front of the root directory. 
  3582. 4.6
  3583. !Fonts and !System are opened so that they have been seen before the 
  3584. applications that require them. Adding the command DeskTop to the end of 
  3585. the !Fonts.!Run file removes the need to press the space bar after the 
  3586. Font Catalogue has been displayed. Finally, the seven applications that 
  3587. I regularly use are loaded and will be shown on the icon-bar at the end 
  3588. of the boot process.
  3589. 4.6
  3590. Re-configure your machine
  3591. 4.6
  3592. You can save and restore the configuration details held in CMOS RAM 
  3593. during the upgrade process but itæs not very useful. Most of the memory 
  3594. allocation values are set automatically, but others need revision. In 
  3595. particular, if you are using outline fonts, do re-set FontSize. Whilst 
  3596. you could keep a low FontSize and a higher FontMax, Iæve found that 
  3597. Impression sometimes reduces the FontSize, with the consequence that 
  3598. fonts that used to be in memory then have to be reloaded from disc. 
  3599. Keeping FontSize high (I use 512K) prevents this from happening.
  3600. 4.6
  3601. Consider new screen modes
  3602. 4.6
  3603. With 1Mb, memory-hungry modes werenæt really viable with some appli
  3604. cations. I used mode 16 (132 columns) for DTP but then had to change 
  3605. down when I wanted to load a printer driver. Now, any mode can be used. 
  3606. In particular, for those with ordinary (not multi-sync) monitors, modes 
  3607. like 66, which Computer Concepts supply with the !NewModes module, 
  3608. giving 104 x 36 text resolution, are worth using. Multi-sync owners can 
  3609. have a field-day! To make the machine auto-boot into your required mode, 
  3610. the first line of my !Boot file is !NewModes. I then set the mode to 66 
  3611. using the !Configure utility off the Applications disc.
  3612. 4.6
  3613. Donæt kill modules
  3614. 4.6
  3615. A common problem discussed in Archive has been the fact that many 
  3616. applications load modules into memory when loaded, but donæt remove them 
  3617. when the application is quit. This soon clutters up memory on smaller 
  3618. machines, and the solution identified was to add RmKill commands at the 
  3619. end of application !Boot files. However, if you are multi-tasking 
  3620. applications, such a procedure could delete modules that other appli
  3621. cations are still using. Hence, delete all RmKill commands that you may 
  3622. have added ÉBUæ. Also, if youæve added a -Max entry to the WimpSlot 
  3623. command in the !Boot file for, for example, !1stWord+, you may wish to 
  3624. remove the entry, or at least increase the value.
  3625. 4.6
  3626. Gain (a little) speed with RMfaster
  3627. 4.6
  3628. In all Archimedes (and A3000s), the ROM runs slower than the RAM. Hence, 
  3629. modules built into RISC-OS run slower than those loaded off disc. One 
  3630. possible solution discussed in the past in Archive is to make the MEMC 
  3631. run the ROM at RAM speed. This may or may not work, depending on the 
  3632. particular ROM chips. The *RMFaster command (see page 351 in the A400 
  3633. user manual) copies modules in ROM into RAM to gain a speed increase of, 
  3634. in theory, 33%. BU, there probably wasnæt enough memory to make this an 
  3635. attractive option. A problem is that as you canæt *RMFaster modules that 
  3636. are active Ö you canæt, for example, speed up the DeskTop once itæs been 
  3637. loaded. 
  3638. 4.6
  3639. The way to get round this is to *RMFaster appropriate modules in the 
  3640. boot-up process, in the same way that applications can be loaded 
  3641. automatically. On power-up, all the required modules will be ready in 
  3642. ROM. However, on a Reset or <ctrl-break>, they will be in RAM, with the 
  3643. ROM versions unplugged, and hence not able to be *RMFasteræed. 
  3644. 4.6
  3645. Therefore, if the same automatic process is to be followed both on 
  3646. power-on and on a Reset, all modules to be copied into RAM must first be 
  3647. *RmKilled (to delete existing RAM versions) and then *RMReInited (to 
  3648. Éde-unplugæ the ROM versions). 
  3649. 4.6
  3650. It is a matter of conjecture Ö or very difficult measurement Ö about 
  3651. which modules will most improve the performance of your machine. Iæm 
  3652. experimenting with three, but would be glad to hear of other ideas. So, 
  3653. my complete !Boot file looks like this:
  3654. 4.6
  3655. | Stuartæs !boot file, Feb 1991.
  3656. 4.6
  3657. !NewModes
  3658. 4.6
  3659. rmkill draw
  3660. 4.6
  3661. rmreinit draw
  3662. 4.6
  3663. rmfaster draw
  3664. 4.6
  3665. rmkill desktop
  3666. 4.6
  3667. rmreinit desktop
  3668. 4.6
  3669. rmfaster desktop
  3670. 4.6
  3671. rmkill windowmanager
  3672. 4.6
  3673. rmreinit windowmanager
  3674. 4.6
  3675. rmfaster windowmanager
  3676. 4.6
  3677. Desktop -File scsi::winny.$ .StartList
  3678. 4.6
  3679. Use a RamDisc
  3680. 4.6
  3681. BU, RamDisc was a joke. With a hard disc, even AU, Iæm not convinced 
  3682. that a RamDisc is of great value but some people may want to try it. For 
  3683. floppy users, it will definitely be worthwhile, especially for holding 
  3684. the !Fonts directory and giving very quick access. Be very careful if 
  3685. you use RamDisc to hold files on which youære working. Set the size of 
  3686. RamDisc using the *Configure RAMFsSize command. (In my experience, 
  3687. Impression can still crash and therefore you can lose your document if 
  3688. it is totally in RAM. Ed.)
  3689. 4.6
  3690. Consider your application set-up
  3691. 4.6
  3692. Both word-processors and DTP packages often include a spelling checker 
  3693. and a dictionary. However, BU there may not have been sufficient memory 
  3694. to run them sensibly. Itæs well worth checking the manual for each 
  3695. package to check for facilities that you never used BU, and may have 
  3696. forgotten exist. For example, Iæve now set up Impression II to load the 
  3697. dictionary on start-up and check each word as I type. No excuses for 
  3698. typographical errors any more!
  3699. 4.6
  3700. Think about spooling your printing
  3701. 4.6
  3702. RISC-OS lets you send the output from your application (assuming that it 
  3703. uses the printer drivers) to a file for later printing. The theoretical 
  3704. advantage is that when a file is being printed, you can continue to use 
  3705. the application, whereas printing directly from, for example, Impres
  3706. sion, stops you doing anything else. A detailed explanation is in the 
  3707. Nov-Dec issue of ÉArchimedeanæ sent out by Computer Concepts and in the 
  3708. February Archimedes World. BU, it was more memory-efficient to load the 
  3709. printer driver and then quit it, leaving the actual printing module 
  3710. loaded. AU, background printing is possible. However, I find that, with 
  3711. complex printing tasks using the !PrinterLJ, it takes almost as long to 
  3712. write to disc (which hogs the whole machine) as it does to write 
  3713. straight to the printer!
  3714. 4.6
  3715. Think about a ÉSticky Backdropæ
  3716. 4.6
  3717. An idea borrowed from the world of the Apple Mac, a sticky backdrop, 
  3718. allows you to make directories or applications Éstickæ onto the desktop 
  3719. surface and be accessed simply by clicking on them. If such items are 
  3720. normally kept well down your directory structure, access can be much 
  3721. quicker. Also, the dull plain desktop can be replaced by a customised 
  3722. pretty picture, and a whole background drop, and automatically loaded on 
  3723. boot-up. BU, the 80K that my !StickyBD application (available on 
  3724. Careware 6) demanded made it non-viable. AU, I tried it for a while, but 
  3725. decided in the end that I preferred to load my applications and open the 
  3726. main document directory automatically in the ways described earlier in 
  3727. the article. Itæs a matter of preference but itæs worth trying !StickyBD 
  3728. if you can get a copy.
  3729. 4.6
  3730. Well, thatæs it! A 4mb (or even 2mb) Archimedes is quite a different 
  3731. machine. I hope that these tips will help you make the best use of your 
  3732. expanded memory.  A 
  3733. 4.6
  3734.  
  3735. 4.6
  3736.  
  3737. 4.6
  3738. Pen Down Update
  3739. 4.6
  3740. Dave Morrell (& Doug Weller)
  3741. 4.6
  3742. Some time ago, I (Dave) did a review on the pre-release version of 
  3743. PenDown (Archive 3.12 p48 + 4.1 p42). This is intended to update some of 
  3744. the comments in that review after I have seen the final release version.
  3745. 4.6
  3746. Most of the basics remain the same. Along the top of the page is an icon 
  3747. menu from which various selections can be made. There are two new icons 
  3748. along this menu. At the extreme left there is an icon to swap between 
  3749. text and graphics. With the pen nib selected, text in the chosen font, 
  3750. size and colour can be typed in from the keyboard. Sprite graphics, but 
  3751. not draw files, can be dragged onto the page. With the pencil selected, 
  3752. the sprite can be positioned, sized or deleted using the mouse. 
  3753. 4.6
  3754. The select button is used to position the sprite and the adjust button 
  3755. is used to size it. If the wrong sprite is dragged onto the page double 
  3756. clicking on it with select will give a query box asking if you wish to 
  3757. delete it. Pictures can also be deleted by dragging them off the PenDown 
  3758. page. Text can still be entered in this mode but the text caret will not 
  3759. respond to the mouse.
  3760. 4.6
  3761. Next to this icon there is another new icon which swaps between insert 
  3762. and overwrite mode whilst typing. The icons for leading and justifi
  3763. cation have also been changed. 
  3764. 4.6
  3765. The main menu is still brought up by clicking <menu> over the document. 
  3766. This has one addition to the pre-release menu. PenDown now has a 
  3767. spelling checker. It does not have a check-as-you-type mode but will 
  3768. check single words, parts of the document or the whole document. The 
  3769. spell check window contains five öpush buttonò panels. ÉCancelæ is 
  3770. obvious. ÉLearnæ gives the option of adding an unknown word to the 
  3771. dictionary. ÉTry againæ allows the user to have another go at spelling 
  3772. an incorrect word. ÉSuggestæ gives a list of words that may be the one 
  3773. required. If the correct word is in the list, clicking on it will 
  3774. automatically replace it in the text. ÉNextæ will move you along to the 
  3775. next unrecognised word.
  3776. 4.6
  3777. Also on the spell menu there is a ÉTo fileæ option. If this is clicked, 
  3778. PenDown will search the document for any unrecognised words and produce 
  3779. a list to be saved to disc. This could be used as a record of spelling 
  3780. difficulties or as a basis for further work. With this option, the spell 
  3781. check window does not appear on screen.
  3782. 4.6
  3783. Clicking <menu> over the PenDown icon on the icon bar produces another 
  3784. short menu. This has four entries. ÉInfoæ leads to a window giving 
  3785. information about the program, name, purpose, author and version number. 
  3786. Clicking on ÉFresh startæ will clear the document from memory for 
  3787. somebody else to use the program. If the document has been altered since 
  3788. the previous save, a check window appears before clearing the document. 
  3789. ÉConfigureæ sets up a rather complicated looking window for changing the 
  3790. start-up settings of PenDown. This is very comprehensive and governs 
  3791. what will work on the icon menu and on the main menu. Non-working 
  3792. options are blanked out. This is very useful for younger children as 
  3793. they can be introduced to the various options gradually as they become 
  3794. more familiar with the program.
  3795. 4.6
  3796. The manual has also been changed. I found it a model of clarity. It is 
  3797. easy to follow, explains all the functions of the program and is packed 
  3798. with many ideas for use. As a basic guide to wordprocessor use in 
  3799. education I can recommend the manual alone!
  3800. 4.6
  3801. The two problem Éfeaturesæ I found in the pre-release version have not, 
  3802. so far, materialised in this version, so screen refreshing seems to have 
  3803. been improved.
  3804. 4.6
  3805. Three new outline fonts came with the new release but one from the pre-
  3806. release version, Lineout, was missing. The new fonts are Futura, Gothic 
  3807. and Script. Futura is a Éstencilæ type font, Script is a Écursiveæ type 
  3808. font and Gothic is gothic. Unlike some other Égothicæ and Éolde englishæ 
  3809. fonts I have seen, this one is readable for lengthy passages.
  3810. 4.6
  3811. The program is now heavily protected against copying. A copy can be made 
  3812. but the original key-disc must be used to get it running. Having worked 
  3813. in schools for many years, I know how easily accidents can happen and if 
  3814. something happens to the key-disc I hope Logotron would replace it 
  3815. without charge. Nothing about this is mentioned in the manual although 
  3816. an extra sheet of information states that protected discs can be bought 
  3817. without documentation for ú20 by registered users.
  3818. 4.6
  3819. The only minor niggle that I have so far found with the program is the 
  3820. lack of borders as found on the old BBC version.
  3821. 4.6
  3822. There are two other programs on the disc. !Cloze will produce cloze 
  3823. procedure worksheets by dragging a text file to it. The frequency of the 
  3824. missing words can be set by the user. I would like it to have saved the 
  3825. missing words as a separate text file as well, but you cannot have 
  3826. everything. The other program !WordList will decode the main dictionary 
  3827. so that changes can be made to it.
  3828. 4.6
  3829. I am still happy with the program and am confident that it will have a 
  3830. future in schools.
  3831. 4.6
  3832. Doug Weller adds...
  3833. 4.6
  3834. Iæve been able to use this program with my class of 8-9 year olds, and 
  3835. my 12 year old son has written a 6,000 word story on it. Its ability to 
  3836. print on various sizes of paper Ö A3 to A6, portrait or landscape, as 
  3837. well as fanfold (including fanfold rotated), is very useful. Pendown has 
  3838. a very powerful Search and Replace facility, although a simplified menu 
  3839. can be selected for younger children. It also allows a word count on 
  3840. single words, which could be very useful in showing children how many 
  3841. Éandsæ and Éthensæ they have used! Or, of course, one could use it to 
  3842. make frequency counts of letters. Another feature it has that I wish my 
  3843. Impression II had is a copy/delete to bin. This moves marked text to a 
  3844. scratchpad. But, unlike most other Archimedes word processors, you can 
  3845. view the scratchpad (the Pendown Ébinæ). Even more useful, the bin will 
  3846. hold more than one block of text. As far as I can see, the binæs 
  3847. capacity is only governed by the amount of memory in your computer. Once 
  3848. it is open, you can choose which block of text you wish to copy back to 
  3849. the original document. !Wordlist is a very nice freebie. Besides 
  3850. allowing you to add words to the dictionary, it also does anagrams and 
  3851. subgrams, searches through a list of words or your dictionary, does 
  3852. frequency counts of all the words in a text and sorts them either 
  3853. alphabetically or by frequency.  A 
  3854. 4.6
  3855.  
  3856. 4.6
  3857. BookBinder
  3858. 4.6
  3859. David Hart
  3860. 4.6
  3861. To quote from the introduction to the User Guide: öBookBinder is an 
  3862. application for the Acorn Archimedes computer that enables you to create 
  3863. books which are multitasking interactive texts/graphics. They can be 
  3864. used as multiple choice quizzes, programmed learning sessions, interac
  3865. tive fiction, interactive graphical display databases or presentation 
  3866. software. This is achieved simply by dragging icons; there is no need 
  3867. for any code. Despite this simplicity, BookBinder is a powerful 
  3868. specialised programming language capable of producing a wide variety of 
  3869. books. Once finished, the book may be copied to any disc and sold, or 
  3870. freely distributed. In the true spirit of the desktop many books may be 
  3871. opened at the same time.ò
  3872. 4.6
  3873. How well does it meet these aims?
  3874. 4.6
  3875. I certainly found it easy to create my first book. The tutorial section 
  3876. of the User Guide is easy to follow and allows the first time user to 
  3877. quickly get the hang of creating a book. One point I would make is that, 
  3878. although the explanation of creating a book was clear, there were no 
  3879. notes on how to edit a previously written book, so when I returned to a 
  3880. book I had started previously, it took some time and thought as to how 
  3881. to add extra pages.
  3882. 4.6
  3883. What is a Book made up of?
  3884. 4.6
  3885. BookBinder takes öpagesò that have been made up by using !Draw. Thus, 
  3886. you need to be able to use !Draw before you can use BookBinder. As !Draw 
  3887. files can be made up from sprites and text, you can use other packages 
  3888. to help you create the !Draw files. BookBinder is supplied on a single 
  3889. disc but, as it requires the a !Systems folder and as it is also useful 
  3890. to have the !Draw and !Paint applications and the !Fonts directory 
  3891. handy, you are asked to create two working discs Ö öDrawingò containing 
  3892. !Binder, !System, !Paint, !Draw and !Edit and öBinderò containing your 
  3893. !Fonts and !BookRead, Converter and the Examples folder from the master 
  3894. disc. Musbury Consultants include two disc labels for these discs. (One 
  3895. minor niggle Ö the User Guide asks you to name one of the discs öBinderò 
  3896. but the label for that disc says öBindingò.)
  3897. 4.6
  3898. Creating a book involves copying an application called !BookRead, and 
  3899. giving it a new name and opening up the Pages folder within this 
  3900. applicationæs directory. You then drag your pages into this folder and 
  3901. create the links between the pages. This is done in two stages. First 
  3902. you open up the plan of the book and drag the pages into the plan. The 
  3903. plan then consists of a set of rectangular boxes with the page names and 
  3904. a START and END box. By pressing <menu>, you can then establish links 
  3905. between the pages. Once a link has been established between two pages 
  3906. you can then decide which öbuttonò on the first page will call the 
  3907. second page. A öbuttonò, as far as BookBinder is concerned, is an object 
  3908. in the !Draw file. When you go to make a button a window is opened 
  3909. showing the !Draw file and you can select the !Draw object to be made 
  3910. into the button. Once you have finished creating the links, you then 
  3911. bind your book together.
  3912. 4.6
  3913. The User Guide also gives details as to how to change the !Sprites file 
  3914. within your new application to give the application its own unique icon 
  3915. on the icon bar and disc window.
  3916. 4.6
  3917. How do I rate BookBinder?
  3918. 4.6
  3919. Obviously, it does not have as many features as Genesis or Magpie. You 
  3920. cannot have music from Maestro files or animation from Euclid and Film 
  3921. Maker. It also lacks the page creation facilities of Genesis. Each page 
  3922. of a BookBinder book has to be created in !Draw. However, I certainly 
  3923. found it easier to use than Genesis and its books took up less room. I 
  3924. would suggest therefore that if you wished to create books (hyperbooks?) 
  3925. that do not use animation or sound, BookBinder (at ú50 through Archive) 
  3926. represents good value for money. On the other hand if you require the 
  3927. extra features offered by Genesis (at ú85 through Archive) or Magpie (at 
  3928. ú57 through Archive) then, obviously, you would have to choose one of 
  3929. those.
  3930. 4.6
  3931. One last thought
  3932. 4.6
  3933. As with all HyperMedia packages, the ease of use is only the first step. 
  3934. It is the designing and planning of the öbookò that is the important 
  3935. part. Remember that, with these packages, itæs a case of: öGarbage in 
  3936. HyperGarbage out!ò  A 
  3937. 4.6
  3938.  
  3939. 4.6
  3940. Help!!!!
  3941. 4.6
  3942. Å    Exabyte tape streamers Ö I want to be able to run an Exabyte tape 
  3943. streamer from an Oak SCSI interface. Does anyone have any software I can 
  3944. use? These tapestreamers use small 8mm video tapes and are relatively 
  3945. cheap. John Gibson, Grantham.
  3946. 4.6
  3947. Å    Hardware project Ö After Alan Bryantæs comments in the Help Column 
  3948. last month, weæve had one offer of a suitable project Ö a combined PAL 
  3949. coder / VIDC enhancer / genlock. Iæve put the two of them in contact, 
  3950. but if anyone else is interested, drop us a line. Ed.
  3951. 4.6
  3952. Å    Keyboard compatibility Ö Is the A400/1 keyboard compatible with any PC 
  3953. Clone format? Some use the same plug, and there are add-ons such as bar-
  3954. code readers, key-pads etc. Nik Kelly, Liverpool.
  3955. 4.6
  3956. Help offered
  3957. 4.6
  3958. Å    Epson MX80 driver Ö Many thanks are due to the wizard at Clares who 
  3959. wrote a driver for my old Epson MX80 F/T III, circa 1982. Yes, folks, it 
  3960. can be done! Nik Kelly, Liverpool.      A 
  3961. 4.6
  3962.  
  3963. 4.6
  3964. Orrery Version 1.3
  3965. 4.6
  3966. Maurice Dixon & Ruth del Tufo
  3967. 4.6
  3968. Orrery is a computer model of the solar system. It shows the motion of 
  3969. the planets from space-time co-ordinates which can be user-defined. The 
  3970. planets are set against a background of stars which may be joined to 
  3971. show the constellation figures.
  3972. 4.6
  3973. The original Orrery was a clockwork model of the solar system made to 
  3974. demonstrate planetary motion. It was made in the eighteenth century for 
  3975. the 4th Earl of Orrery. Spacetech have implemented and generalised this 
  3976. to include all the currently known planets. It is important to recognise 
  3977. the scope that Spacetech set themselves; the Orrery is not concerned 
  3978. with the wider astronomical issues of the formation of galaxies, stars 
  3979. or the solar system. They are to be congratulated on providing such an 
  3980. interesting scientific model as the Orrery for us to explore the solar 
  3981. system.
  3982. 4.6
  3983. The review testing was carried out by a team of three people; one an ARM 
  3984. enthusiast, one an experienced many body modeller and one a seven year 
  3985. old school girl. None of us was either a professional astronomer or a 
  3986. science teacher. The testing was carried out using an ARM-2, a single 
  3987. floppy drive, a standard Acorn RGB colour monitor and a Panasonic KX-
  3988. P1124 printer; this would fairly replicate the A3000 environment.
  3989. 4.6
  3990. Planets
  3991. 4.6
  3992. The main Orrery allows the user to select a date and time for which the 
  3993. position of the planets are derived. The user can select the rate at 
  3994. which the model will then progress into the future. Each planet is 
  3995. represented by a distinct icon; Spacetech have taken a practical 
  3996. approach to allowing the user to Étuneæ the screen to the current 
  3997. requirements. You can choose to allow the orbits to be displayed with 
  3998. full or partial orbital arcs available. For clarity, you can choose to 
  3999. display the initial letter of the planet or to omit a planet icon 
  4000. altogether. Basic planet and orbital information such as size, eccentri
  4001. city, angle to plane, planet radius, distance from earth, mean and 
  4002. actual distance from the sun and perihelion is given by selecting the 
  4003. planet in its orbit. For the geocentric viewpoint, the angle with 
  4004. respect to the celestial equator and azimuth are given. It is often 
  4005. necessary to freeze the motion before selecting the planet. The model 
  4006. makes heavy demands on the ARM-2 so response to selection or menu 
  4007. choices can appear sluggish. The motion in the orbits can be jumpy and 
  4008. the orbits themselves are shown as a series of straight lines which 
  4009. looks a little untidy.
  4010. 4.6
  4011. The power of Spacetechæs Orrery is seen in the way that different frames 
  4012. of reference may be defined. A view may be chosen which is centred on 
  4013. the sun and a selected planet locked onto. A user can consider themself 
  4014. to be looking in any direction at the sky from anywhere on the earth at 
  4015. any time. It is a delight to watch the sun rising with a group of 
  4016. planets moving close to the ecliptic. Spacetech have provided a lighting 
  4017. background to show the black of night, the dark blue of twilight, and 
  4018. the brighter blue of daylight. The user can choose to have the direc
  4019. tions displayed on the horizon and change direction as the planets move. 
  4020. The configuration may be printed as a sprite picture using !Paint; 
  4021. surprisingly, the new moon which was not visible on the screen can be 
  4022. clearly identified in the picture and then confirmed using the mouse 
  4023. pointer. It is this earth based view of the sky which desktop astron
  4024. omers will find so attractive. 
  4025. 4.6
  4026. There is a very simple line graph of the planets with a distance scale 
  4027. normalised to the size of the earthæs orbit. Not all the planets can be 
  4028. seen together but the search out along the axis emphasises the enormous 
  4029. distances to the further planets compared to the inner ones. Surpris
  4030. ingly, the planet data is not available off the line graph. 
  4031. 4.6
  4032. The model does not appear to incorporate the Asteroid belt or Comets.
  4033. 4.6
  4034. The Orrery also includes the facility to display as a graph the angular 
  4035. displacement of the planets from the sun for a user-chosen year. The 
  4036. colour screen display was not easy to read and the black and white !Draw 
  4037. printout effectively lacked the contrast to make all the planets 
  4038. visible.
  4039. 4.6
  4040. Stars
  4041. 4.6
  4042. It is possible to display a large number of stars as a background to the 
  4043. planetary display. The stars are grouped in constellations and it is 
  4044. possible to use the mouse pointer to select a star for identification. 
  4045. The star identity and constellation are displayed as a superimposed 
  4046. window while the actual star is marked with a cross on the Orrery 
  4047. window. The user can select to have the stars joined to give the 
  4048. familiar constellation figures and this immediately attracts interest. 
  4049. The shape of the sectoring of the sky into the 88 constellation sectors 
  4050. is not displayed.
  4051. 4.6
  4052. Using the earth as a reference frame, the motion of the stars can be 
  4053. tracked. When a heliocentric view is chosen, the sun is treated as 
  4054. another star, is barely detectable and has surprisingly little data 
  4055. associated with it. The star data is displayed even when the model has 
  4056. star displays suppressed. Using the geocentric viewpoint, it is possible 
  4057. to display the track of the sun when the grid is chosen.
  4058. 4.6
  4059. Moon
  4060. 4.6
  4061. The earthæs Moon is included in the model but not the moons of other 
  4062. planets. Detailed positional information and a phase description for the 
  4063. Moon is available via the mouse pointer.
  4064. 4.6
  4065. Glossary
  4066. 4.6
  4067. There is a set of demonstration configurations which can be used to 
  4068. illustrate some of the astronomical terms. Some of these work very well 
  4069. for illustrative purposes but others, Conjunction and Opposition, sent 
  4070. us scurrying away to the encyclopaedia to check both the meaning of the 
  4071. term and what would be expected. The difficulty arose because the terms 
  4072. apply to an earth-based reference frame for which the user can alter the 
  4073. control panel. A glossary should explain and illustrate in an 
  4074. immediately accessible way the chosen item. In contrast, the illustra
  4075. tion of circum-polar stars and planetary retrograde motion was 
  4076. immediately understandable. The display of twilight, sun rise, noon and 
  4077. sunset were all OK.
  4078. 4.6
  4079. Dates
  4080. 4.6
  4081. The date range for the Orrery was from the year Ö9999 to at least 9999; 
  4082. the only significant bug in the system that we found related to putting 
  4083. in too big a year number and not being able to back out of the warning; 
  4084. a similar error occurred with the control panel for accelerated time 
  4085. increments. We do not consider these to be serious difficulties. For the 
  4086. Ephemirides the date range was 0 to 99999.
  4087. 4.6
  4088. Data access
  4089. 4.6
  4090. The primary access to the data is via the mouse pointer with display on 
  4091. the screen. It would be nice to be able to extract the fixed data and 
  4092. dynamic data for the planets into a printable text file. It would also 
  4093. be attractive to be able to invert the presentation so that having given 
  4094. a planet and a date it would be possible to use the Ephemirides data to 
  4095. display the planet. 
  4096. 4.6
  4097. Many body problem
  4098. 4.6
  4099. The calculation and display of the positions of the planets and stars by 
  4100. Spacetechæs Orrery makes heavy demands on the processing power of the 
  4101. ARM-2 but they are met in an acceptable way. No indication is given of 
  4102. the calculation method used or the accuracy of the data. Questions about 
  4103. Planet ÉXæ or É10æ are currently being discussed and users should be 
  4104. aware of how orbital irregularities are incorporated.
  4105. 4.6
  4106. Perspective issues
  4107. 4.6
  4108. There are enormous variations in distances, light intensities and 
  4109. relative sizes in the solar system so any representation has to reflect 
  4110. a compromise based upon the primary area of interest.
  4111. 4.6
  4112. The control panel window allows the user to select a time granularity 
  4113. from 1 minute to one of many years; the screen can also be frozen for 
  4114. detailed inspection. This enables the detailed study of such different 
  4115. phenomena as sunrise and the out of plane orbital motion of Pluto. This 
  4116. is an excellent facility and can be run forwards and backwards in time. 
  4117. A small quibble is that it would be nice to be able to freeze/unfreeze a 
  4118. screen on a toggle key without having the control panel window 
  4119. displayed.
  4120. 4.6
  4121. The control panel can also be used to display the orbital motions of all 
  4122. the planets or gradually to focus on the inner planets. A similar 
  4123. magnification facility would benefit the simple linear graph.
  4124. 4.6
  4125. Documentation
  4126. 4.6
  4127. The manual was helpful as far as the introduction and installation were 
  4128. concerned. The layout of the section on menu selections should be 
  4129. improved and made more systematic but it was adequate for an introduc
  4130. tion. There is a useful glossary provided of astronomical terms although 
  4131. we feel that the explanations could have been fuller and easier. Also, 
  4132. it would have been useful to know the basis of selection for the set of 
  4133. stars displayed and whether they are fixed or moving. 
  4134. 4.6
  4135. Installation
  4136. 4.6
  4137. The installation instructions were straight forward and worked. The 
  4138. installation procedure assumes the user is familiar with the desktop 
  4139. environment. It is good that the product is capable of simple backup. 
  4140. The disks are magnetically version marked but not in text on the outside 
  4141. of the disk. The files supplied are different from those given in the 
  4142. text; Glossary is omitted from the text while Or_Setup is used in the 
  4143. text whereas Now and Intro are on the disk. These in no way affected the 
  4144. installation but perhaps could be misleading to someone not familiar 
  4145. with the desktop environment and seeking to proceed systematically. The 
  4146. manual claims that Orrery is RISC-OS compliant and certainly we have 
  4147. been able to run it at the same time as Impression Junior.
  4148. 4.6
  4149. Summary
  4150. 4.6
  4151. In Orrery, Spacetech have produced an excellent model of the solar 
  4152. system which will be used by many would-be astronomers with great 
  4153. pleasure and interest. The underlying scientific model should be made 
  4154. available. The software is robust and covers the scope stated in the 
  4155. documentation. It can be installed quickly and easily. Orrery makes 
  4156. heavy demands on the ARM-2 and can appear sluggish.  A 
  4157. 4.6
  4158.  
  4159. 4.6
  4160. Honeypot Lane 
  4161. 4.6
  4162. Peter Thomson
  4163. 4.6
  4164. This is a well presented package of story books and computer programs 
  4165. aimed at the primary school. Resource, who produce the package, suggest 
  4166. that it should form the basis of an approach to primary technology.
  4167. 4.6
  4168. The elements of the package are linked by an imaginary village. One 
  4169. large format book is well illustrated, perhaps suitable for the class 
  4170. teacher to read to a class of infants. The other three stories seem to 
  4171. be aimed at an older age group, with each page of text facing a picture.
  4172. 4.6
  4173. The first program displays a very long sprite, a picture of the village 
  4174. and its surroundings. The user can scroll this picture horizontally. 
  4175. Clicking the mouse pointer on the screen displays the name of the object 
  4176. or a line of story about that scene. Clicking on the front door of the 
  4177. castle lets you in to explore the castle. On certain house doors you can 
  4178. also move inside but the number of rooms is very limited.
  4179. 4.6
  4180. A group of young girls who worked with the program found this great fun 
  4181. until they had explored the whole area, but then complained that there 
  4182. was nothing more to do. A picture of Albert the mouse can be hidden in 
  4183. the various rooms for others to find and this provided more stimulus for 
  4184. a short time. The girls would have liked to add their own story and more 
  4185. details to the picture, but the program does not allow this. 
  4186. 4.6
  4187. I looked at the programming to see what could be done. The long sprite 
  4188. of the village can be loaded into !Paint so that changes can easy be 
  4189. made to that, but the messages in the program are all in the form of 
  4190. data statements and changes would require a lot of programming experi
  4191. ence. This is a pity, because the idea for this program is a good one, 
  4192. and the messages could easily have been included as a file so that new 
  4193. stories could have been written.
  4194. 4.6
  4195. When I looked at the second program, I hoped to find that this would let 
  4196. the children produce their own story in the same format as the first but 
  4197. this is not the case. It is designed to produce a story made of single 
  4198. pages of text and graphics, displayed one page at a time. The picture 
  4199. can be built up from a library of simple shapes or from a large number 
  4200. of well drawn sprites. I found the procedure to select sprites from a 
  4201. file on one disc, transfer them to a second disc and then place them on 
  4202. the screen to be very messy ÿ too complex for young children. The text 
  4203. editing facilities are also very limited. When a story is being 
  4204. displayed on the screen, much time is wasted as whole files of sprites 
  4205. are read from disc for each page. 
  4206. 4.6
  4207. The sprites themselves are excellent. The children already know how to 
  4208. use !Draw and !Paint. They were very excited by being able to add these 
  4209. to their own drawings. (You need to rename the main program from BASIC 
  4210. in order to display the files).
  4211. 4.6
  4212. Neither program is RISC-OS compliant or compatible and I couldnæt use 
  4213. them with my Taxan monitor because they deleted VIDC utilities and then 
  4214. adopted a non-compatible mode.
  4215. 4.6
  4216. Also included with this package is a very expensively produced file 
  4217. entitled öA teachers guide to Primary Technologyò. It is a comprehensive 
  4218. list of possible ideas for using honey-pot as a stimulus for technology, 
  4219. but with little practical guidance for those new to this area. Also, 
  4220. some of the links to the package are a bit tenuous.
  4221. 4.6
  4222. Conclusion
  4223. 4.6
  4224. If the first program with its long village sprite and captions was 
  4225. available separately, I would recommend it. Overall, this package has 
  4226. limited value as a stimulus for primary school technology. There are 
  4227. much better practical guides for teachers available elsewhere.  A 
  4228. 4.6
  4229.  
  4230. 4.6
  4231.  
  4232. 4.6
  4233. Norwich Computer Services  96a Vauxhall Street, Norwich, NR2 2SD. 
  4234. 0603Ö766592 (Ö764011)
  4235. 4.6
  4236.  
  4237. 4.6
  4238. Aleph One Ltd    The Old Courthouse, Bottisham, Cambridge, CB5 9BA. 
  4239. (0223Ö811679) (Ö812713)
  4240. 4.6
  4241. Apricote Studios (p22)    2 Purls 
  4242. Bridge Farm, Manea, Cambridgeshire, PE15 0ND. (035Ö478Ö432)
  4243. 4.6
  4244. A.S.T.E. Syracuse    10 Alastair Crescent, Prenton, Wirral, L43 0UR. 
  4245. (051Ö608Ö5469)
  4246. 4.6
  4247. Atomwide Ltd (p18)    23 The 
  4248. Greenway, Orpington, Kent, BR5 2AY. (0689Ö838852) (Ö896088)
  4249. 4.6
  4250. Base5   (p51)    PO Box 378, Woking, Surrey GU21 4DF.
  4251. 4.6
  4252. Beebug Ltd    117 Hatfield Road, St Albans, Herts, AL1 4JS. (0727Ö40303) 
  4253. (Ö60263)
  4254. 4.6
  4255. CJE Micros    78 Brighton Road, Worthing, W Sussex, BN11 2EN. 
  4256. (0903Ö213361) (Ö213901)
  4257. 4.6
  4258. Clares Micro Supplies    98 Mid
  4259. dlewich Road, Rudheath, Northwich, Cheshire, CW9 7DA. (0606Ö48511) 
  4260. (Ö48512)
  4261. 4.6
  4262. Chalksoft    P.O. Box 49, Spalding, Lincs, PE11 1NZ. (0775Ö769518)
  4263. 4.6
  4264. Cogent Software    30 Norton Way North, Letchworth, Herts, SG6 1BX. 
  4265. (0462Ö673017)
  4266. 4.6
  4267. Colton Software (p12)    149Ö151 St 
  4268. Neots Road, Hardwick, Cambridge, CB3 7QJ. (0954Ö211472) (Ö211607)
  4269. 4.6
  4270. Computer Concepts (p30/31)    Gaddesden 
  4271. Place, Hemel Hempstead, Herts, HP2 6EX. (0442Ö63933) (Ö231632)
  4272. 4.6
  4273. Dabhand Computing    5 Victoria Lane, Whitefield, Manchester, M25 6AL. 
  4274. (061Ö766Ö8423) (Ö8425)
  4275. 4.6
  4276. Data Store    6 Chatterton Road, Bromley, Kent. (081Ö460Ö8991) 
  4277. (Ö313Ö0400)
  4278. 4.6
  4279. Design Concept (p 17)    30 South 
  4280. Oswald Road, Edinburgh, EH9 2HG.
  4281. 4.6
  4282. Electronic Font Foundry (p32)    Bridge 
  4283. House, 18 Brockenhurst Road, Ascot, SL5 9DL. (0344Ö28698)
  4284. 4.6
  4285. HS Software    56, Hendrefolian Avenue, Sketty, Swansea, SA2 7NB. 
  4286. (0792Ö204519)
  4287. 4.6
  4288. Ian Copestake Software    10 Frost 
  4289. Drive, Wirral, L61 4XL. (051Ö648Ö6287)
  4290. 4.6
  4291. IFEL (p41)    36 Upland Drive, Plymouth, Devon, PL6 6BD. (0752Ö847286)
  4292. 4.6
  4293. Lingenuity (Lindis) (p36)    P.O.Box 10, 
  4294. Halesworth, Suffolk, IP19 0DX. (0986Ö85Ö476) (Ö460)
  4295. 4.6
  4296. LongmanÖLogotron    Dales Brewery, Gwydir Street, Cambridge, CB1 2LJ. 
  4297. (0223Ö323656) (Ö460208)
  4298. 4.6
  4299. Minerva Systems    Minerva House, Baring Crescent, Exeter, EX1 1TL. 
  4300. (0392Ö437756) (Ö421762)
  4301. 4.6
  4302. Musbury Consultants    8 Fairhill, 
  4303. Helmshore, Rossendale, Lancs, BB4 4JX. (0706Ö216701)
  4304. 4.6
  4305. Oak Solutions (p11)    Cross Park 
  4306. House, Low Green, Rawdon, Leeds, LS19 6HA. (0532Ö502615) (Ö506868)
  4307. 4.6
  4308. Pandora Technology Ltd    9 St Marks 
  4309. Place, London, W11 1NS. (071Ö221Ö9653) (Ö9654)
  4310. 4.6
  4311. Ray Maidstone (p4)    421 
  4312. Sprowston Road, Norwich, NR3 4EH. (0603Ö407060) (Ö417447)
  4313. 4.6
  4314. RESOURCE    Exeter Road, Doncaster, DN2 4PY. (0302Ö340331)
  4315. 4.6
  4316. RTFM Software    43 Hill Street, St Hellier, Jersey JE2 4UA. (0534Ö67870) 
  4317. (Ö68996)
  4318. 4.6
  4319. Silicon Vision Ltd    Signal 
  4320. House, Lyon Road, Harrow, Middlesex, HA1 2AG. (081Ö422Ö2274) (Ö427Ö5169)
  4321. 4.6
  4322. Simtron Ltd (insert)    4 Clarence 
  4323. Drive, East Grinstead, W. Sussex, RH19 4RZ. (0342Ö328188)
  4324. 4.6
  4325. Storm Software$$    Beth House, Poyntington, Sherbourne, Dorset. 
  4326. (0963Ö22469)
  4327. 4.6
  4328. The Serial Port (pp27 & 35)    Burcott 
  4329. Manor, Wells, Somerset, BA5 1NH. (0243Ö531194) (Ö531196)
  4330. 4.6
  4331. VisionSix Ltd (p29)    13 Paddock 
  4332. Wood, Prudhoe, Northumberland, NE42 5BJ. (0661Ö33017) (Ö36163)7
  4333. 4.6
  4334.  
  4335. 4.6
  4336. Government Health Warning Ö Reading this could seriously affect your 
  4337. spiritual health.
  4338. 4.6
  4339. We have continued to pray for all who have been caught up in the Gulf 
  4340. conflict and are grateful to God that the fighting is now over. Even so, 
  4341. we must continue to pray for the leaders of the nations involved, that 
  4342. they might bring about a just and lasting peace in the region.
  4343. 4.6
  4344. The ending of the Gulf War is also particularly important for the people 
  4345. of sub-Saharan Africa. This is because the Gulf War has diverted the 
  4346. worldæs attention away from the terrible plight of those suffering from, 
  4347. or heading rapidly towards, famine in Africa. So, letæs hope and pray 
  4348. that some of the suffering in Africa can now be averted. We will shortly 
  4349. be sending a donation to TEAR Fund to help with African famine relief 
  4350. and we would urge you to join with us, either by sending money direct to 
  4351. a relief agency, or by sending it to us and we will direct it through 
  4352. TEAR Fund. Thank you.
  4353. 4.6
  4354.  
  4355. 4.6
  4356.  
  4357.  
  4358.