home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine 1996 / ARCHIVE_96.iso / text / hints / volume_03 / issue_07 < prev    next >
Text File  |  1995-02-16  |  20KB  |  642 lines

  1. Å   !Draw Ö I used to find it difficult to get to grips with !Draw
  2. because I couldnæt visualise the final layout. However, if you use the
  3. Énew viewæ option together with Ézoomæ you can get a WYSIWYG view. Not
  4. only this, but it is possible to manipulate the major view from the
  5. minor view. L Kennedy.
  6. Å   Acorn DTP Ö This may seem obvious but I only just figured it out! 
  7. When printing documents from Acorn DTP, I found that footers (in
  8. particular) wouldnæt print.  I spent ages looking through the DTP manual
  9. trying to figure out why. I suddenly occurred to me that it might be the
  10. printer driver and sure enough, it was.  The page size for A4 paper has
  11. margins set all round, in particular a bottom margin of 20 mm is set,
  12. and it is this which is Éclippingæ out the footers.  Set this to 0 (say)
  13. and the problem is solved. Kevin Quinn
  14. 3.7
  15. Å   BASIC programs from !Edit Ö When in !Edit you can actually run BASIC
  16. programs etc from within the desktop without pressing <f12>. I happened
  17. to come across this accidentally. Press <menu> on the Edit icon and
  18. click on New Task Window. This will produce a task window on the screen
  19. and will allow you to execute the BASIC environment without leaving the
  20. desktop and allow you to format disks also allowing you to nearly multi-
  21. task formatting disks, you can suspend the task get on with something
  22. then resume the task and the formatter will continue where it left off!
  23. Press-ing <menu> from within the task window will give a list of
  24. commands (anyone know what link/unlink does??) Graham Bisset
  25. 3.7
  26. Å   Changing your batteries and keeping your CMOS RAM settings intact.
  27. If you connect a 100 microfarads capacitor in series with a 100 ohm
  28. resistor and clip them across the battery connec-tions, (+ve of the
  29. capacitor to +ve of the battery) you will have about 70-100 seconds to
  30. change your batteries without losing your CMOS settings. The computer
  31. should be kept switched off throughout the operation. J W E Jones
  32. 3.7
  33. Å   Current directory path Ö With reference to Richard Skempæs query in
  34. Archive 3.5 p43 about getting the full pathname of the current direc
  35. tory, the Éeasiest on your fingersæ method uses system variables. It was
  36. difficult to implement and required a fair amount of digging in the
  37. manuals but it does demonstrate the use of *Set, *SetMacro and *SetEval,
  38. so here it is:
  39. 3.7
  40. Place the following two lines into an Obey file, either via *Build or by
  41. using !Edit. Save it in the library directory of your current disc as
  42. öPathò and set the filetype to be an Obey file (*SetType %.Path Obey).
  43. Execute it with *Path. Subsequent use of *Path will have other effects Ö
  44. see later.
  45. 3.7
  46. Set Path$ $
  47. 3.7
  48. SetMacro Alias$Path Dir %%0||mIf ö%%0ò = öò Then Set Path$ $ Else If
  49. ö%%0òLEFT1 = ö$ò Then Set Path$ %%0 Else SetEval Path$ Path$ + ö.%%0ò
  50. 3.7
  51. How it works: öSet Path$ $ò sets up a system variable called öPath$ò and
  52. assigns to it the string value ö$ò, which you will recognise as being
  53. the name of the root directory.
  54. 3.7
  55. öSetMacro Alias$Path ╔ò creates a macro system variable called öPathò.
  56. 3.7
  57. When ö*Path [<directory path>]ò is executed, the macro first selects the
  58. directory specified in <dir-ectory path> by way of the old *Dir command.
  59. 3.7
  60. If no directory path is specified, the old *Dir selects the root
  61. directory. The macro examines <directory path> and, if it is a null
  62. string (öò), it sets Path$ to ö$ò.
  63. 3.7
  64. If the leftmost character of <directory path> is ö$ò, the macro replaces
  65. Path$ with <directory path>.
  66. 3.7
  67. If <directory path> is not null and does not have ö$ò as its leftmost
  68. character, the macro appends a full stop and the string specified in
  69. <directory path> to whatever Path$ contains.
  70. 3.7
  71. Path$ thus always contains the full pathname of the currently selected
  72. directory (CSD).
  73. 3.7
  74. You can actually redefine *Dir itself to do this, so that you donæt have
  75. to remember to use *Path ins-tead of *Dir. In other words, it becomes
  76. transparent.
  77. 3.7
  78. All you do is to change the first occurrence of Path (in öAlias$Pathò)
  79. to Dir (i.e. öAlias$Dirò) and change the öDir %%0ò to ö%Dir %%0ò. The
  80. extra % sign in front of Dir is to enable the original version of Dir to
  81. be used (FORTH programmers will recognise this as smudging). I have not
  82. actually tried this, but it should work!!
  83. 3.7
  84. How to use it:
  85. 3.7
  86. Use öPathò wherever you would use öDirò. In fact, do not use öDirò at
  87. all (more on this later). Also use full pathnames, as opposed to
  88. wildcarded path-names. This is not really necessary, but it looks
  89. neater.
  90. 3.7
  91. The command ö*Path Basic.Games.Adventureò, executed from the root
  92. directory, would set sub-directory öAdventureò as the CSD, exactly in
  93. the same way as ö*Dir Basic.Games.Adventureò would do.
  94. 3.7
  95. Notes:
  96. 3.7
  97. 1. No leading asterisks. You may enter them, but they are superfluous,
  98. as these lines are sent direct to the CLI.
  99. 3.7
  100. 2. The use of two double bar characters in ||m. This is so that Obey
  101. will insert it in the macro variable as |m, instead of as ASCII 13.
  102. 3.7
  103.    Alias$Path is a multi-line (well, a 2-line) com-mand. This is quite
  104. acceptable, provided each line is separated by a carriage return (ASCII
  105. 13, or |m).
  106. 3.7
  107.    Note that the (*)Dir command is at the start of the macro. Putting it
  108. at the end causes errors related to the (*)If╔Then╔Else construct.
  109. 3.7
  110. 3. Double percentage character in %%0. This is so that Obey will insert
  111. it in the macro variable as %0, instead of attempting to evaluate a
  112. (non-existent) parameter when the command *SetMacro is executed.
  113. 3.7
  114. 4. Double quote marks where the parameter is to be evaluated as a
  115. string. This is so that string evaluation will proceed correctly.
  116. 3.7
  117. 5. Use of upper and lower case. In general they are interchangeable at
  118. will.
  119. 3.7
  120. (*)Eval supports a number of operators (see p.394 in the Archimedes User
  121. Guide). Some are in the form of ordinary words, such as LEFT, MOD, AND,
  122. OR, etc, and others are symbols, such as *, +, >>, etc. The ordinary
  123. words must be in UPPER CASE, otherwise they are not recognised.
  124. 3.7
  125. Disc-related commands seem to be quite happy when offered system
  126. variables as pathnames. If an application sets up its own pathname as,
  127. say, öApplication$Dirò, you can make the first line of a BASIC program.
  128. 3.7
  129. 10 REM > <Application$Dir>.Program
  130. 3.7
  131. and be confident that the BASIC command SAVE will put it in the right
  132. place, as the Filer (I think) evaluates <Application$Dir> correctly.
  133. Also *Eval Application$Dir (without the <>) also returns the value of
  134. the variable.
  135. 3.7
  136. You can get the value of the system variable into a BASIC variable with
  137. the following FN:
  138. 3.7
  139. buffer_length%=255
  140. 3.7
  141. DIM buffer% buffer_length%
  142. 3.7
  143. PRINT FNevalOS(öApplication$Dirò) : REM NB!! no < >
  144. 3.7
  145. END
  146. 3.7
  147.  
  148. 3.7
  149. DEF FNevalOS(A$) LOCAL T%,L%
  150. 3.7
  151. SYS öOS_EvaluateExpressionò, A$,buffer%,buffer_length% TO ,T%,L%
  152. 3.7
  153. IF T%=0 THEN = L% : REM integer result
  154. 3.7
  155. buffer%?L%=13
  156. 3.7
  157. =$buffer%     : REM string result
  158. 3.7
  159. Anton Mans, Durban
  160. 3.7
  161. Å   Double height in Fortran Ö The following short FORTRAN routine can
  162. be used for the Archimedes to Étart upæ screen output. It is a routine
  163. for printing text in double height on the screen and uses OS_Word call
  164. 10 to read the system font bit pattern. A VDU23 call is used to define a
  165. pair of characters consisting of the upper and lower halves of the input
  166. character. These two characters are then printed, one above the other,
  167. giving a double-height character. Itæs very useful for printing headings
  168. in screen output and doesnæt require messing about with special fonts
  169. (Iæm going to go on to that next!).
  170. 3.7
  171. I claim no originality for the overall method. A routine in BBC BASIC to
  172. do this was published in Beebug some years ago (I forget who the author
  173. was), but I thought it was worth publicising a FORTRAN version of it in
  174. Archive because I donæt think the translation is immediately obvious and
  175. readers may not have been aware of the technique anyway. It should be
  176. easily extendible to double width, quadruple height, etc.
  177. 3.7
  178. Rather than just give the bare routine, I have produced a short program
  179. incorporating it, that writes out a couple of strings. Much use is made
  180. of the É$æ format to suppress CRLF when characters are being sent to the
  181. VDU driver. The routine is more complex than the BASIC equivalent for
  182. two reasons. Firstly, although there is a word ÉLENæ in FORTRAN, it only
  183. seems to give the maximum length of any given string, i.e. the length
  184. that it is originally declared to be (e.g. CHARACTER*78 TXT; LEN(TXT)
  185. gives 78). So in SUBROUTINE DOUBLE, there are a few lines to find the
  186. length of the string passed to it by counting backwards from the maximum
  187. length until a non-space character is reached. N.B. this will fail if
  188. the string is put into the argument list, e.g. CALL DOUBLE(10,20,ÉHi
  189. thereæ). Secondly, since individual bytes in memory are not accessible
  190. to FORTRAN, you have to get the result back as three (4-byte) integers,
  191. and use IAND with ISHFT to gain access to the bytes.
  192. 3.7
  193.      PROGRAM DHTEST
  194. 3.7
  195. C    *******************************
  196. 3.7
  197. C    A DEMONSTRATION PROGRAM FOR
  198. 3.7
  199.  PRINTING DOUBLE HEIGHT
  200. 3.7
  201. C    TEXT IN ANY MODE (NOT 7) ON THE
  202. 3.7
  203.  ACORN ARCHIMEDES,
  204. 3.7
  205. C    IN ACORNSOFT FORTRAN. USES ACORN
  206. 3.7
  207.  EXTENSIONS: OSWORD, ISHFT, IAND
  208. 3.7
  209. C    BY R.D.WRIGHT
  210. 3.7
  211. C    *******************************
  212. 3.7
  213.      CHARACTER*78 TXT
  214. 3.7
  215.      WRITE(6,æ($,2A)æ)CHAR(22)
  216. 3.7
  217. ,CHAR(12)
  218. 3.7
  219.      WRITE(6,*)æDOUBLE HEIGHT TESTæ
  220. 3.7
  221.      TXT=æTHIS IS A VERY LONG TEST
  222. 3.7
  223.  STRINGæ
  224. 3.7
  225.      CALL DOUBLE(10,20,TXT)
  226. 3.7
  227.      TXT=ÉAND MOREæ
  228. 3.7
  229.      CALL DOUBLE(10,23,TXT)
  230. 3.7
  231.      STOP ÉEND OF DEMOæ
  232. 3.7
  233.      END
  234. 3.7
  235.      SUBROUTINE DOUBLE(ICOL,IROW,TXT)
  236. 3.7
  237.      CHARACTER*78 TXT
  238. 3.7
  239.      INTEGER BLOCK(0:2)
  240. 3.7
  241.      INTEGER B(0:8)
  242. 3.7
  243.      N=79
  244. 3.7
  245.   10 N=N-1
  246. 3.7
  247.      IF (TXT(N:N).EQ.É æ) GO TO 10
  248. 3.7
  249.      DO 20 I=1,N
  250. 3.7
  251.      BLOCK(0)=ICHAR(TXT(I:I))
  252. 3.7
  253.      CALL OSWORD(10,BLOCK)
  254. 3.7
  255.      DO 2010 J=1,3
  256. 3.7
  257.      BLOCK(0)=ISHFT(BLOCK(0),-8)
  258. 3.7
  259.      B(J)=IAND(BLOCK(0),?IFF)
  260. 3.7
  261. 2010 CONTINUE
  262. 3.7
  263.      B(4)=IAND(BLOCK(1),?IFF)
  264. 3.7
  265.      DO 2020 J=5,7
  266. 3.7
  267.      BLOCK(1)=ISHFT(BLOCK(1),-8)
  268. 3.7
  269.      B(J)=IAND(BLOCK(1),?IFF)
  270. 3.7
  271. 2020 CONTINUE
  272. 3.7
  273.      B(8)=IAND(BLOCK(2),?IFF)    
  274. 3.7
  275.      WRITE(6,É($,10A)æ)CHAR(23),CHAR(
  276. 3.7
  277. 240),CHAR(B(1)),CHAR(B(1))
  278. 3.7
  279.      +,CHAR(B(2)),CHAR(B(2)),CHAR(B(3
  280. 3.7
  281. )),CHAR(B(3)),
  282. 3.7
  283.      +CHAR(B(4)),CHAR(B(4))
  284. 3.7
  285.      WRITE(6,É($,10A)æ)CHAR(23),CHAR(
  286. 3.7
  287. 241),CHAR(B(5)),CHAR(B(5))
  288. 3.7
  289.      +,CHAR(B(6)),CHAR(B(6)),CHAR(B(7
  290. 3.7
  291. )),CHAR(B(7))
  292. 3.7
  293.      +,CHAR(B(8)),CHAR(B(8))
  294. 3.7
  295.      IX=ICOL+I-1
  296. 3.7
  297.      IYU=IROW
  298. 3.7
  299.      IYL=IROW+1
  300. 3.7
  301.      WRITE(6,É($,8A)æ)CHAR(31),CHAR(
  302. 3.7
  303. IX),CHAR(IYU),CHAR(240)
  304. 3.7
  305.      +,CHAR(31),CHAR(IX),CHAR(IYL)
  306. 3.7
  307. ,CHAR(241)
  308. 3.7
  309.   20 CONTINUE
  310. 3.7
  311.      RETURN
  312. 3.7
  313.      END
  314. 3.7
  315. R.D.Wright
  316. 3.7
  317. Å   Easy ÉCæ Compilation I Ö While working on a C program it can become
  318. quite tedious to type in the same parameters every time you want to
  319. compile the latest version of your program. One way to get around this
  320. is to use something like öC-Frontò from Mitre which allows you to
  321. compile directly from the desktop. A simpler and cheaper way is to use
  322. an ÉObeyæ file which will do the job for you. Below is an example that
  323. has been written to make the compilation of C (Release 3) programs
  324. easier. Using this method, you can still work from the desktop editing
  325. your text in !Edit, saving it, then pressing <f12>. You can then use the
  326. following command:
  327. 3.7
  328. *c <inputname> [outputname]
  329. 3.7
  330. It will then automatically Compile and Link your new masterpiece!
  331. 3.7
  332. The program has been fully commented to aid understanding. It should be
  333. saved as an ÉObeyæ file in the ÉLibraryæ directory under the name öCò.
  334. Obviously it should be customised to suit your own directory layout and
  335. preferred compiler options.
  336. 3.7
  337. | ÉCæ Obey file, Compiler & Linker -
  338. 3.7
  339.  16/02/90 Mark Taylor
  340. 3.7
  341. | Syntax : ö*C <inputname> [output
  342. 3.7
  343. name]ö
  344. 3.7
  345. | Where Éinputnameæ is the name of
  346. 3.7
  347.  the file to be compiled
  348. 3.7
  349. | and Éoutputnameæ is the name of the
  350. 3.7
  351.  output file, e.g. !RunImage, etc.
  352. 3.7
  353. |
  354. 3.7
  355. | Check for parameters. If none
  356. 3.7
  357.  present then error and output
  358. 3.7
  359.  a message.
  360. 3.7
  361. if ö%0ò = öò then error 0 Error in
  362. 3.7
  363.  ÉCæ Compiler & Linker. Syntax : *C |<inputname|> [outputname]
  364. 3.7
  365. |
  366. 3.7
  367. | Set system variable Éipname$æ to
  368. 3.7
  369.  first parameter after the öcò.
  370. 3.7
  371. Set ipname$ %0
  372. 3.7
  373. |
  374. 3.7
  375. | Check for a second and if there is
  376. 3.7
  377.  one set Éopname$æ to that
  378. 3.7
  379.  variable,
  380. 3.7
  381. | else set Éopname$æ equal Éipname$æ.
  382. 3.7
  383. If ö%1ò > öò then Set opname$ %1 else
  384. 3.7
  385.  Set opname$ %0
  386. 3.7
  387. |
  388. 3.7
  389. | Compile with Éipname$æ, do NOT Link
  390. 3.7
  391.  (-c). ANSI 3 Standard method.
  392. 3.7
  393. cc -c <ipname$> -I$.RISC-OSLib
  394. 3.7
  395. |
  396. 3.7
  397. | Link Éipname$æ with standard lib-
  398. 3.7
  399. raries and output as Éopname$æ.
  400. 3.7
  401. link -o <opname$> o.<ipname$> $.RISC
  402. 3.7
  403. -OSLib.o.RISC-OSLib $.CLib.o.Stubs
  404. 3.7
  405. |
  406. 3.7
  407. | Echo finishing message.
  408. 3.7
  409. Echo File É<ipname$>æ successfully
  410. 3.7
  411.  compiled as É<opname$>æ.
  412. 3.7
  413. | Unset the temporary variables.
  414. 3.7
  415. Unset ipname$
  416. 3.7
  417. Unset opname$
  418. 3.7
  419. Below is a cut down version that is not quite as sophisticated but is
  420. easier to understand.
  421. 3.7
  422. | ÉCæ Obey file, Compiler & Linker -
  423. 3.7
  424.  16/02/90 Mark Taylor
  425. 3.7
  426. | Syntax : ö*C nameò Where Énameæ is
  427. 3.7
  428.  the name of the file to be
  429. 3.7
  430.  compiled.
  431. 3.7
  432. cc -c %0 -I$.RISC-OSLib
  433. 3.7
  434. link -o %0 o.%0 $.RISC-OSLib.o.RISC
  435. 3.7
  436. -OSLib $.CLib.o.Stubs
  437. 3.7
  438. Echo File É%0æ successfully compiled.
  439. 3.7
  440.  
  441. 3.7
  442. Å   Easy ÉCæ Compilation II Ö This is not a new idea but it is still
  443. worth mentioning. To speed up the compilation of ÉCæ programs it is a
  444. good idea to copy the necessary files to a RAM disc. I have written an
  445. Obey file to achieve this. It is best saved into the Library directory
  446. so that it may be called from the star (*) prompt any time. The way the
  447. file is set up at the moment means that it will copy files from the hard
  448. disc to a RAM disc of some 1.5M. The RAM disc is set up using the
  449. öMemAllocò module (this can be found in the !Lander directory on the
  450. Apps2 disc of RISC-OS). It should be copied in the mod-ules directory of
  451. the !System folder. The directory layout reflects a fairly standard
  452. system under release 3 of Acornæs ANSI C.
  453. 3.7
  454. Important!
  455. 3.7
  456. You must remember to copy the files you have changed during your session
  457. back to disc before switching off!
  458. 3.7
  459. | Obey file to set up RAM disc as the
  460. 3.7
  461.  working disc for ÉCæ 18/1/90
  462. 3.7
  463. |
  464. 3.7
  465. | First create large RAM disc: 1.5MB!
  466. 3.7
  467. RMensure MemAlloc 0.11 RMload :4.$.
  468. 3.7
  469. !System.modules.memalloc
  470. 3.7
  471. RAMFSSize 1500
  472. 3.7
  473. RMensure SharedClibrary 3.50 RMload
  474. 3.7
  475. :4.$.!System.modules.clib
  476. 3.7
  477. RMensure FPEmulator 2.80 RMload :4.$.
  478. 3.7
  479. !System.modules.FPE280
  480. 3.7
  481. |
  482. 3.7
  483. CDir RAM:$.RISC-OSlib
  484. 3.7
  485. CDir RAM:$.Clib
  486. 3.7
  487. CDir RAM:$.User
  488. 3.7
  489. Copy ADFS:$.RISC-OSlib.* RAM:$.RISC-
  490. 3.7
  491. OSlib.* ~cr~v
  492. 3.7
  493. Copy ADFS:$.CLib.* RAM:$.Clib.* ~cr~v
  494. 3.7
  495. Copy ADFS:$.User.* RAM:$.User.* ~cr~v
  496. 3.7
  497. CDir RAM:$.Library
  498. 3.7
  499. Copy ADFS:$.Library.link RAM:$.Library.* ~c~v
  500. 3.7
  501. Copy ADFS:$.Library.cc RAM:$.Library.* ~c~v
  502. 3.7
  503. Copy ADFS:$.Library.squeeze RAM:$.Library.* ~c~v
  504. 3.7
  505. | Copy my single letter Obey file ÉCæ.
  506. 3.7
  507. Copy ADFS:$.Library.c RAM:$.Library
  508. 3.7
  509. .* ~c~v
  510. 3.7
  511. |
  512. 3.7
  513. |Define function keys.
  514. 3.7
  515. k.1c
  516. 3.7
  517. k.2cc -c
  518. 3.7
  519. k.3-I$.RISC-OSLib
  520. 3.7
  521. k.4link -o
  522. 3.7
  523. k.5$.RISC-OSLib.o.RISC-OSLib
  524. 3.7
  525. k.6$.CLib.o.Stubs
  526. 3.7
  527. k.7Squeeze -v
  528. 3.7
  529. | Delete all unwanted object files!
  530. 3.7
  531. k.12wipe o.* ~c
  532. 3.7
  533. |Perform *RAM at the end!
  534. 3.7
  535. RAM
  536. 3.7
  537. |Select $.User directory!
  538. 3.7
  539. Dir $.User
  540. 3.7
  541. Echo RAM Disc now setup correctly
  542. 3.7
  543.  (DIR=$.User)
  544. 3.7
  545. Echo
  546. 3.7
  547. free
  548. 3.7
  549. Filer_OpenDir RAM:$.User.c
  550. 3.7
  551. Å   Music Maestro please! Ö The !Maestro applic-ation provided by Acorn
  552. is very powerful, if very complex. However, it still has a number of
  553. short-comings relative to the old Island Logicæs öMusic Systemò for the
  554. BBC micro. These include the inability to delete whole bars or several
  555. bars; the inability to handle triplets; the inability to change Tempo
  556. within a passage. Also, entering scores by dragging icons is extremely
  557. slow and laborious and finally, öMusic Systemò counted notes in a bar
  558. and, when the right time had been used, automatically entered a bar-
  559. line. This not only saved an operation, it also provided a cross-check
  560. on typing accuracy: the unexpected appearance of a bar-line indicated a
  561. mistake somewhere.
  562. 3.7
  563. !Maestroæs !RunImage file has been modified to permit changing of the
  564. Tempo during a passage. This required a new sprite, placed in the space
  565. in the top right corner, next to the hemi-demi-semi-quaver rest; ÉMæ for
  566. Metronome seemed to be a reasonable choice. This sprite can be picked
  567. up, just like the others, and placed above the appropriate bar-line.
  568. When it is Éclickedæ to fix it in position, it changes into the crotchet
  569. symbol followed by ö=<num>ò, where <num> is a number from 40 to 210,
  570. representing the Tempo as selected by the Tempo sub-menu from the main
  571. Maestro menu. The numbers (of beats per minute) are given on page 1810
  572. of the Programmeræs Reference Manual.
  573. 3.7
  574. During these investigations, a few small errors were noticed in the
  575. Programmeræs Reference Manual (RISC-OS Edition). In Vol.4, under Music
  576. Files:
  577. 3.7
  578. p.1809 öMaestroò is followed by öLine-feedò, &0A (not &0D)
  579. 3.7
  580. Music Data: Not ö4*8 length of queue of notes╔ò but ö5*8ò because the
  581. length is written to file as an integer variable, FINE%(C%) (as in DC al
  582. fine!), so it consists of one byte (&40:integer) followed by 4 bytes
  583. (value).
  584. 3.7
  585. p.1811 Attributes: Clef Bit 5 is unused Bits 6 & 7 are (StaveÖ1), range
  586. 0Ö3. The attributes as defined in !Maestro. !RunImage lines 28900Ö29020
  587. agree with those obtained by a *DUMP of a Music file. Alan Quayle
  588. 3.7
  589. Å   Shift Caps Lock will give you capitals normally but will enable
  590. lower case characters to be typed by holding down the shift key Ö very
  591. useful when writing BASIC programs. Fred Lee
  592. 3.7
  593. Å   SID Ö There is a mail-server on the SID database and so if you can
  594. use E-MAIL (e.g. if you are a student at University, like me) then you
  595. can mail it at SIDInfo@uk.co.acorn with a message contain-ing the word
  596. Éhelpæ and it will mail you a file telling you how to download stuff. 
  597. It only has the free PD stuff though (obviously). The advantages of this
  598. service work both ways Ö the SID machine can schedule the replies in
  599. non-peak times and you are not using lots of on-line time down-loading.
  600. Kevin F. Quinn
  601. 3.7
  602. Å   TinyDirs Ö it may be obvious to most of you but╔ The TinyDirs
  603. program not only allows directories to be installed on the icon bar but
  604. allows applications to be as well. After all they are only directories
  605. really. The application can then be run by clicking on the icon on the
  606. icon bar in just the same way as any other application. This means you
  607. can have your favourite programs on the icon bar without having to worry
  608. about how to install them there. The TinyDirs program will also cope
  609. with more than one directory. (A friend was running a new copy of
  610. TinyDirs each time he wanted a new directory installed.) If you just
  611. drag the icon for the directory you want installed onto one of those
  612. already there it will be added to the list. Andrew Ling.
  613. 3.7
  614. Å   Turkish Éiæ Ö There is a minute error in the char-acter set supplied
  615. as öLatin3ò on the Archimedes which, according to Acornæs manual,
  616. corresponds to ISO 8859/3 covering German, Spanish, Turkish etc.
  617. Character 185 is supposed to be the Turkish lower case Éiæ, i.e. like
  618. the English Éiæ but without the dot. (The Mac has let me down for once Ö
  619. no Turkish Éiæ! Ed.) Instead, it replicates the standard Latin Éiæ.
  620. 3.7
  621. To overcome this, insert the following in a boot file:
  622. 3.7
  623. *echo <23><185><0><0><56><24><24>
  624. 3.7
  625. <24><60><0>
  626. 3.7
  627. John Morgan
  628. 3.7
  629. Å   Working on a 1Mbyte machine Ö When loading applications within the
  630. desktop especially on a 1Mb machine, always call up the task display and
  631. reduce the size of the next slot to as low as the machine will allow,
  632. some applications will allow you to set it to 8k and they will just grab
  633. as much memory as they need, however some will report ÉApp need XXXk to
  634. startæ so change the slot to about XXX+20k for workspace. If you do this
  635. then the application can only grab as much memory as it needs. However,
  636. if you leave say 640k in the next and you click on an application then
  637. its likely that the application will grab about 600k or so leaving
  638. precious little for other programs, data etc Users of 2Mb+ machines
  639. donæt have the problem, but they still need to be careful of memory
  640. grabbing applications!  Graham Bisset
  641. 3.7
  642.