Section 5: Software Issues ---------------------------------------------------------------------------- Q5.1) Why does DOSFS corrupt my files occasionally? Under RISC OS 3 DOS, and indeed with any other ImageFS filing system, discs are treated as one large file and ADFS applies write-behind buffering to nearly everything it does. (See the question on ADFSBuffers for more details about this.) This means while working on a DOS disc the entire disc is treated as one large open file. However as long as a file is held open the cache is not flushed out fully till the machine is explicitly told to do so. This means when working with non-ADFS format discs always dismount them before removing them from the drive. With ADFS format discs this is not so critical, as files aren't held open during most operations on them, but it is good to get into the habit of dismounting floppy discs. ---------------------------------------------------------------------------- Q5.2) Where can I obtain the latest version of module X? All patch modules, official RISC OS extensions and the like can be sourced from the RISC OS ftp sites. Ideally your dealer will also have copies of them too and you should be able to obtain them from them. (If they don't you may like to pass on the ones from the ftp site, if you request them, so that they are up to-date.) Failing that you should probably contact RISCOS Ltd who now manage all aspects of RISC OS development. I am also in the process of compiling a complete list of up-to-date module version numbers, together with links to where you can download them from. This database is online at http://www.riscos.com/support/modules.html ---------------------------------------------------------------------------- Q5.3) What are the current File-type allocation ranges? Acorn originally reallocated the File-type ranges for applications. The new ranges are: Non-user area &E00-&FFF Acorn/RISCOS Ltd &B00-&DFF Commercial software &A00-&AFF Acornsoft, and other commercial software &400-&9FF Commercial Software User area &100-&3FF Non-commercial distributed software (ie PD) &000-&0FF User's personal usage (ie non-distributed) 75% of the user area is for PD/Shareware, with allocations co-ordinated by RISCOS Ltd. If your software is going to be distributed, you should have an allocated filetype to avoid clashes. RISCOS Ltd cannot publish its master list of filetypes because, at any given time, it will contain allocations made for products which have not yet been announced. Therefore, they would be in breach of confidence by doing so - and the editing overhead for producing a sanitised list is too great. However, all is not lost. Denis Howe maintains an unofficial list of filetype allocations. This can be found at http://foldoc.org/acorn/doc/filetypes and includes details about whether the allocation is an official one, a de facto one and what the file contains. If you would like an official 'Acorn' filetype issued to you, you should contact alloc...@riscos.com, who are responsible for allocating filetypes. ---------------------------------------------------------------------------- Q5.4) Is there a Modula 2 compiler for RISC OS? Currently, no. Acorn did have, in the early days of the experimental ARM work, an in house compiler. However this compiler was sufficiently unstable and buggy to be un-releasable as a commercial product and was only used because in house support was available immediately to the users of the compiler. When Olivetti invested in Acorn this technology went to them so that Acorn no longer have even an in house Modula 2 compiler. However some companies have stated intentions to produce Modula 2 compilers for RISC OS. Whether these intentions become reality has yet to be seen. ---------------------------------------------------------------------------- Q5.5) What Public Domain Languages are available for Acorn machines? The answer to this is a list that is maintained by Gavin Wraith (g...@wraith.u-net.com). Accordingly updates, corrections and other comments should all be sent to him. April 2000 This is a (necessarily partial) list of freely available programming languages and programming tools for Acorn Risc OS computers. Some of the items are in the public domain, some are not. I am well aware that many of the items are also available in many other places. I will be grateful to receive emendations and further items. Remember that hensa is mirrored at ftp://ftp.doc.ic.ac.uk/computing/systems/archimedes/collections/hensa... g...@wraith.u-net.com Further information ------------------- * Imperative Languages * Object Oriented Languages * Declarative Languages * Forths * Lisps * ARM Object Code Assemblers * AOF Tools * Miscellaneous Further information ------------------- * Higher Education National Software Archive (Hensa). * List of free compilers and interpreters maintained by D.Sharnoff and A.Robenalt, and regularly posted to comp.compilers. Do not expect to find anything specifically for ARM machines. * Acorn FAQ. * Compiler tools. Imperative Languages -------------------- - ADA bytecode interpreter from http://www.mirror.ac.uk/micros/arch/riscos/c/c052 - ADA GNAT 3.03 compiler from http://www.mirror.ac.uk/mirror/ftp.uni-stuttgart.de/pub/systems/acorn... - ALGOL 68S from ftp://ftp.cs.man.ac.uk/pub/chl/A68S - AWK - Aho, Weinberger and Kernighan's text-processing language from http://awk.riscos.org.uk - CHARM from David Pilling - ICON 8 By ftp from ftp://ftp.cs.arizona.edu/icon/ or http://www.mirror.ac.uk/mirror/ftp.uni-stuttgart.de/pub/systems/acorn... - G77 0.5.19 GNU FORTRAN from ftp://ftp.sp.ph.ic.ac.uk/pub/tsh/fortran.zip or from http://www.mirror.ac.uk/micros/arch/riscos/e/e167 - GCC GCC 2.7.2 GNU C, C++, Objective C Compiler, release 1.0.7 from http://www.mirror.ac.uk/micros/arch/riscos/b/b013 - LUA - prize-winning extension language from http://lua.riscos.org.uk/ - OBERON POT 1.33 (Portable Oberon Translator) from http://www.mirror.ac.uk/micros/arch/riscos/d/d132 - PASCAL PC 4.09 Norcroft DDE Compiler from http://www.mirror.ac.uk/micros/arch/riscos/a/a122 - PASCAL GPC 1.0.2 - Gnu Pascal Compiler from http://www.mirror.ac.uk/micros/arch/riscos/e/e168 - PERL 5.01 from http://www.mirror.ac.uk/micros/arch/riscos/a/a049 - PYTHON 2.2 from http://www.schwertberger.de/python.html - RLAB 1.25 from http://www.mirror.ac.uk/micros/arch/riscos/e/e022 - TCL 7.4 from http://www.mirror.ac.uk/micros/arch/riscos/e/e057 Object Oriented Languages ------------------------- - ARMBOB 2.1 from http://www.mirror.ac.uk/micros/arch/riscos/b/b178 - GC++ GNU C++ 2.7.2 from http://www.mirror.ac.uk/micros/arch/riscos/b/b013 - GNUST 1.1.1 Smalltalk-80 from http://www.mirror.ac.uk/micros/arch/riscos/c/c045 - GRS from http://www.mirror.ac.uk/micros/arch/riscos/b/b062 - INFORM 6.30 from http://www.ifarchive.org/indexes/if-archiveXinfocomXcompilersXinform6... - LITTLEST 0.0 Little Smalltalk from http://www.mirror.ac.uk/micros/arch/riscos/a/a102 - OBJECTIVE C GNU 2.7.2 from http://www.mirror.ac.uk/micros/arch/riscos/b/b013 - SATHER ISCI Sather 1.1 - Mail to Peter Naulls - SQUEAK Smalltalk 2.7 - now includes sockets, web server and browser. From http://sumeru.stanford.edu/tim/pooters/squeak.html Declarative Languages --------------------- - BIBPROLOG 3.30 from http://www.mirror.ac.uk/micros/arch/riscos/d/d005 - GOFER 2.30a (GoOd For Equational Reasoning) from http://www.mirror.ac.uk/micros/arch/riscos/a/a262 See comp.lang.functional FAQ. - HOPE 4.02a from http://www.mirror.ac.uk/micros/arch/riscos/a/a139 - HUGS 98 - latest version of Haskell Users Gofer System from http://shiell.cjb.net/files/hugs98-src-riscos.zip - HUGS 1.3 (Haskell Users Gofer System) from http://www.mirror.ac.uk/micros/arch/riscos/d/d041 See comp.lang.functional FAQ. - HU-PROLOG 1.62 Humboldt University Prolog from http://www.mirror.ac.uk/micros/arch/riscos/e/e062 - MOSML 1.42 - Moscow ML port by Andrew Hunter from http://www.geocities.com/~cfsfcpage/ - OCAML 2.00 - Objective CAML port by David Fletcher from http://www.dcs.ed.ac.uk/home/djf/ocaml/ - SML 4.0.01 Edinburgh Interpreter from http://www.mirror.ac.uk/mirror/ftp.uni-stuttgart.de/pub/systems/acorn... Forths ------ - AFORTH 0.70 from http://www.mirror.ac.uk/micros/arch/riscos/a/a293 - FORTHMACS 3.1 from http://www.mirror.ac.uk/micros/arch/riscos/c/c073 - TILEFORTH 2.1 Portable C implementation from http://www.mirror.ac.uk/micros/arch/riscos/a/a111 - WIMPFORTH 1.0 from http://www.mirror.ac.uk/micros/arch/riscos/e/e096 Lisps ----- - CLISP 01.01 Common Lisp from http://www.mirror.ac.uk/micros/arch/riscos/c/c189 - FOOLSLISP 1.3 from http://www.mirror.ac.uk/micros/arch/riscos/c/c162 - GNU SCHEME from http://www.mirror.ac.uk/micros/arch/riscos/b/b105 - SIOD 2.90 (Scheme In One Defun) from http://www.mirror.ac.uk/micros/arch/riscos/a/a275. Also see George Carrette's site. - XLISP 1.60 from http://www.mirror.ac.uk/micros/arch/riscos/a/a103 - XLISP+ from http://www.mirror.ac.uk/micros/arch/riscos/b/b076 ARM AOF Assemblers ------------------ - AOFLIB 0.07 create AOF files with the Basic Assembler. From http://www.mirror.ac.uk/micros/arch/riscos/e/e108 - AS 1.26b from http://www.mirror.ac.uk/micros/arch/riscos/a/a132 - ASM 2.01 from Plasma Sphere BBS (tel.+44 1925 757920/1) - EXTASM 1.00 from http://www.mirror.ac.uk/micros/arch/riscos/b/b120 - TLA 0.2a (The Last Assembler) from http://www.mirror.ac.uk/micros/arch/riscos/a/a119 AOF Tools --------- - ADDFILE 0.05 from Plasma Sphere BBS (tel.+44 1925 757920/1). Embed data in AOF files. - DECAOFB 1.00 - decode AOF files. From http://www.mirror.ac.uk/micros/arch/riscos/d/d038 - DRLINK 0.28 Linker from http://www.mirror.ac.uk/micros/arch/riscos/b/b071 and from Plasma Sphere BBS (tel.+44 1925 757920/1). - MAKEALF 1.03 - tools for Chunk files. From http://www.mirror.ac.uk/micros/arch/riscos/d/d039 Miscellaneous ------------- - J 6.2 (APL-like language) from http://www.mirror.ac.uk/micros/arch/riscos/a/a165 ---------------------------------------------------------------------------- Q5.6) Why does the RO3.5 desktop sometimes revert to the system font? This is due to a bug in the RISC OS 3.5 Wimp module. Applications that have outline fonts in their icons and a validation string of R5 or R6 (slabbed icon) will trigger this bug and cause the desktop to revert to the system font. There are two solutions to this problem depending on your level of computer literacy. The easiest solution, for people who are very shy of template editors, is to complain to the author(s) of the application about this problem and get them to fix it. If you are not shy of template editors you could also go in and edit the applications templates so that none of the slabbed icons have outline fonts in them. ---------------------------------------------------------------------------- Q5.7) Why does ChangeFSI display a blank white window, not an image? Versions 1.13S (and later) of ChangeFSI now have the RISC OS 3.6 JPEG support built-in. However the code has been designed to fail 'gracefully' if the support code is not available in the OS. For instance when you run the software on versions of the OS older than RISC OS 3.6. In this case a blank white window is displayed. To regain normal use of ChangeFSI go to the main menu and select Sprite Output instead of JPEG output. Next time you load a picture, or re-process the current one, an image will be displayed. The JPEG Output option is not greyed out because even though no image is displayed you can still save the processed file as a JPEG. For those of you with RISC OS 3.5 the module can be obtained from the Orpheus download repository at http://downloads.orpheusweb.co.uk/RISCOS/PD/Modules/SpriteExtend.spk This can be softloaded in your Boot.PreDesk sequence to use it. If you've got RISC OS 3.10 you'll need to load the "JPEGMsgs" and "JPEGRender" modules BEFORE you load ChangeFSI. These were available on Acorn User CD no.8 (inside the $.Boot.Newboot.!Boot.Resources.!System.310.Modules directory) ---------------------------------------------------------------------------- Q5.8) What causes the 'nager:Sprites22' error? This is both a tricky and simple question to answer. The cause of the error is unknown, but something is erroring. However rather than displaying the error message RISC OS has a subtle bug in it that causes it to display the above error message instead. The sequence goes like this:- - An error occurs. - The wimp realises it needs to load the hi-res toolsprites & loads them. - The wimp then displays the error message. Unfortunately the process of loading the his-res toolsprites over-writes the buffer containing the original error block. (IE the block of memory with the error number and error message in it.) What it overwrites it with is the string 'WindowManager:Sprites22', which is a path reference to where the hi-res toolsprites are to be found. This error has been corrected in RISC OS 3.60 and later versions of RISC OS. (Thanks go to Alan Glover for this information.) Additionally the error can be provoked by conflicting versions of the DrawFile module being loaded. If you are experiencing this error message then it is worthwhile to scan your hard drive looking for all copies of the module and ensuring they are consistantly the latest version of the module. ---------------------------------------------------------------------------- Q5.9) Is there a Real Audio or Real Video player for Acorns? Unfortunately not. A Real Audio player was written for NCOS but is not useful for most RISC OS machines due to it's dependance on the presence of hardware Floating Point. An integer arithmetic version was written by Warm Silence Software for StrongARM equipped machines but was never released due to licensing issues. However, Kira Brown and Justin Fletcher ported an Amiga RA player to RISC OS which you can download from my RealAudio page at http://www.vigay.com/thirdparty/realaudio.html This version however will not play 'streaming' RealAudio or many of the newer RA files. ---------------------------------------------------------------------------- Q5.10) Is there any 'streaming audio' player software available for RISC OS machines? There are a number of streaming audio players for RISC OS available from http://www.duffell.riscos.me.uk/ which will allow you to listen to radio stations via the internet, assuming they use the SHOUTcast or MP3 audio streaming protocols. ----------------------------------------------------------------------------