| EEEEEEEE K A | EE R R EE K AA | The BITS ArcSIG EE U U RR RR E E K K A A | Newsletter EEEEEEE U U R EEEE KK AA A | EE U U R E K K A AA | Issue #01 EEEEEEEE UUUU R EEE K K A A | ------------------------------------------------------------------------ Editor's Preamble and Ego Trip ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ First of all, despite the fact that you should have heard this many times now, welcome to BITS, and welcome to ArcSIG. For the information of those of you new to Bristol University, we aim to provide a means of exchange of legitimate public-domain software and shareware, hints, tips and OS hacks, and generally to help everybody get the most out of these wonderful 32-bit machines. Having left the now-thriving HP 48 SIG in the capable hands of Tony Duell (although I still expect to write the occasional article for Cassini), the job of providing all this and holding things together falls to me, and I sincerely hope I can get ArcSIG off to an equally good start. However, societies require contributors, and as I'm doing an MSc this year, I don't foresee myself having either the time or the energy to keep things going without help, so if you have any items for inclusion in the ArcSIG Library, or indeed hints and articles for this newsletter , please let me have 'em, as at the moment, this newsletter is a one-Dave production. -Dave Walker (ArcSIG Leader) *INFO ~~~~ Latest news from Acorn is that RISC OS 3 is now on release as an upgrade; BEEBUG have already started taking orders. To my knowledge, the package will cost in the region of #40 (apparently Acorn made a considerable loss on the original Arthur to RISC OS upgrade), and will be supplied, as usual, on four ROMs. However, these ROMs will be about double the capacity of the c urrent chipset (as anyone who owns a 5000 or has used one will appreciate; all the apps released as part of the Welcome suite are now on chip), which means that users of the old A300 series machines may fall by the wayside, as their machines cannot physically map ICs of such a large size. So far, I have not heard any murmurings from third party suppliers as to whether a patch for this, such as a PAL switching system, will be made available. Finally,I hope users of A5000s will bear with me for the next few issues, as I haven't got RISC OS 3 myself, so I can't hack it (I only run an 8Mb A540(!!!) with RISC OS 2.01). As a final addendum, I would not be surprised to see Acorn re-blowing the EPROMs (yes, EPROMs!) containing the original "fragile" version of RISC OS 3 for a nominal fee in all the A5000s sold before the final release was made. *OBEY !RUN ~~~~~~~~~ Marginal Hacks (Part 1 of1<<31) ~~~~~~~~~~~~~ This column is intended as a list of useful hacks found in the more obscure backwaters of RISC OS. As stated above, all of these hacks originated on RISC OS 2, but most of them should work under RISC OS 3. Please let me know which don't! More MIPS --------- For those of you with the MEMC (300 series and early 440s) as opposed to the MEMC 1A, it's possible to squeeze an extra MIPS out of your machine by including the command SYS "OS_UpdateMEMC",64,64 in your boot-up sequence. This reprograms the MEMC to re-clock your ROMs at the same speed as RAM, as opposed to the default of half RAM speed. However, this hack should be used with caution, as sone ROM sets (dependent on individual machines) may fall out of synch as a result and hang the machine, requiring a hard reset to fix things. Basically, don't use this when you are processing something valuable. Hidden Output Streams --------------------- In much the same vein as other rather more prevalent (I won't say popular!) machines, the Arc has a number of streams to which output can be directed . With one possible exception, these act as output-only filing systems, such that files may be moved or copied to them from the desktop. To open a window to the output stream, use*Filer_OpenDir : (the colon MUST be typed) where is null The null device, black hole, bit bucket, great disc drive in the sky, etc... A stream to be used with extreme caution, but very useful for recursive directory deletions; performing a desktop "move" (ie a drag but with shift held down) to null gets round the problem of the delete aborting due to locked files somewhere down the tree. printer In my case, the printer stream on the parallel port. Should work equally well with serial printers, but haven't tried it. Carries the warning that files need to be in plain ASCII, as control codes are interpretable by the printer; I've seen somebody accidentally do 30 form feeds before any text came out as a result of leading codes! vdu The screen. Control codes either wind up causing some unusual effects (they get translated into the equivalent VDU calls; see your BASIC manuals for details) or, if not covered by the VDU calls, they appear as their hex value contained in square brackets. I find it very useful to dump files to the screen in this way as a preview option before dumping to the printer stream. serial The serial port, complying with any previous directives concerning baud rate, stop bits, parity etc. I find it excellent for dumping binary to my HP 48, although as there's no error checking in this, it's advisable to keep the baud rate low (I use 300). Although I haven't tried this yet, it would be interesting to see, as the serial port is a two-way device, if a file icon and descriptor would appear in a serial stream window on the desktop when a file is sent to it from another machine.. perhaps one of you would like to try it, and let me know the result for publication. Just OSing Around ----------------- To determine the exact nature of the machine a piece of software is running on, Acorn were kind enough to provide INKEY(-256), which returns a unique number associated with each operating system version. These numbers are consistent all the way down to the old 8-bit BBC Micro, although only the list for the Archimedes series is supplied below. Operating System INKEY(-256) Machine ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~ Arthur 1.2 160 A300 series, early A440s. RISC OS 2.0 161 Upgraded A300 series, A400 series, A3000, R140 RISC OS 2.01 162 A540, R200 series RISC OS 3.0 163 A5000 In addition, I strongly suspect that RISC OS 3.01, as supplied with the Acorn A4 Portable, will have INKEY(-256)=164, although I have yet to get my hands on one to verify this. In addition, it's interesting to note that the changes between 2.0 and 2.01 were made because 2.0 could only logically map 4 Mb of physical RAM, and the 540 and R series needed to be upgradable to 16 Mb (2.01 and 3.n actually map 32 Mb); the differences between 3.0 and 3.01 cover the inclusion of the battery status monitor and the facility to simulate mouse control via the keyboard. In addition, 2.01 expan ds the screen modes available. Alternatively (but not accessible from within programs without a few obscure SWIs), the version number of the MOS Utilities RM in RISC OS is the version number of the OS, and we still have the faithful *FX 0. The Secret Life of the Desktop ------------------------------ Ever wanted to move your icon bar from the same old place at the bottom of the screen, or put scroll bars on it? Or if you're feeling sarcastic and want to give the Task Manager a REALLY bad day, how about a close icon? It turns out that the Desktop has its own filing system in which all window definitions are kept, known as DeskFS. For those of you with !FormEd (which should be all of you, since the latest version is on the ArcSIG PD Disc), editing this is possible directly by launching !FormEd from the command line, with the argument of the Desktop utility you wish to modify; these arguments are easy to obtain using *CAT DeskFS: For instance, *Obey .!Run DeskFS:Templates.Filer allows you to edit the templates used by the Desktop Filer. Note: !FormEd MUST be launched from the command line in order to gain access to this filing system as an argument. The windows available under the given files are: Templates.Filer Templates.Netfiler Templates.Palette Templates.Switcher Task Display Templates.Wimp Icon Bar, general error box, command window However, useful though this system is, I've had an incredibly unpleasant experience with it; if the template file contains a large number of windows, FormEd may hang up with a "Too many windows" error; if you have unsaved work on the desktop, trying to save it via anything other than an automatic hotkey to a predefined filename (PipeDream, I love ya) causes the apps to bomb as they try to open a window containing a save box. As menus are also counted as windows in DeskFS, apps are also unquittable. Other than a hard reset, the only way out of this is to close some windows; just make sure that they don't have any unsaved data in them, or the app may try to open an error box..... Features ~~~~~~~ Trials and Tribulations of the PCM ---------------------------------- Were it not for the vast amount of information available only on PC format discs, I would have said that there was no virtue in being PC compatible; we can do anything they can do, and we can generally do it over 200% faster (watch over the shoulder of a PC user running MicroSoft Windows, and time that window drag with a calendar!). However, although the Arc file system is far better optimised, it leaves us incompatible, (except for those of you with A5000s) which means we don't normally have access to the mountain of software and information available, and this persuaded me to keep the option of temporarily downgrading to DOS. Currently, I run the multitasking 1.60 PC Emulator on my A540, which turns out a snail-pace equivalent to an original IBM AT clocked at 4.7 MHz. YAWN! However, considering that emulation is achieved at chip level in most cases, Acorn have done a most commendable job; rumour has it that some poor woman at Acorn has the unenviable job of testing every piece of commercial PC software available for the 80188 processor (the chip Acorn chose to emulate) and compiling a list of those which won't run; further rumour has it that her list numbers zero items. But why the 80188? Unlike the 80386 and 80486 chips used in modern PCs, the 188 is a piece of 8 bit history, which (horrors) won't let you multitask in MicroSoft Windows properly. However, it has a spare register, completely unused in the PC architecture, which Acorn capitalised on to pass messages between DOS and RISC OS; to my knowledge, there is no analogous 80388 or 488 to emulate which would allow this to work, although a great deal of good for future software-only emulations may come from the OS interface used in the recent Aleph One hardware PC Emulator. Concerning the emulator itself, I found that the supplied mouse drive works only intermittently, and Windows doesn't like it at all. In addition, when it does work, it only moves a very small vertical distance for a large movement of the mouse; however, horizontal movement seems fine. I suspect that this is a feature of the screen mode conversion required by my standard medium-res monitor. (Please note that this review was written on my first, defective A540; the problem described here appears to have cured itself on the final machine I was supplied with). And so to business. One useful feature in the higher releases of DOS which will appeal to UNIX fans is the capability to swap the DOS directory delimiters and preference switches for the conventional UNIX ones; so it's now possible to use dir c:/progs/utils/compils/c -w instead of the DOS-conventional dir c:\progs\utils\compils\c /w ; this can be done by including the command switchchar - in your AUTOEXEC.BAT file. (However, I couldn't get this working.) I recently upgraded from DOS 3.21 as supplied with the Emulator to the latest release, MS-DOS 5; a move I now consider well worth making, even though it now takes up about 2 Mb of disc space. MicroSoft have finally got round to putting a decent full-screen editor together (in QBASIC!) which can be mouse-driven, all of which saves me having to export files to RISC OS in order to modify them, and many of the routines now run both faster and slicker. In many cases, Acorn could do with taking a close look at some of the bells and whistles available; for example, the floppy formatter now report s format progress as a percentage, so there is no need to remember the number of tracks and sectors on every disc format. Probably the most potentially useful utility is Undo, which will undelete deleted files and even unformat a hard disc, recovering all the contents lost. Will someone please write it for RISC OS?! In addition, DOS now has a help facility very much like RISC OS; just type help at any DOS prompt. For BASIC fans, the new dialect (QBASIC) shipped with DOS 5 replaces the old, obsolete and generally appallingly primitive GWBasic with a quite acceptable language, which is capable of handling procedures, functions, DO...UNTIL loops and IF...THEN...ELSE tests. It still isn't up to the standard of ARM BASICs V and VI, but it's still easy to write code for, functions being declared in a manner similar to C. However, in every way (except for the Virtual Memory capability), Windows is still a poor man's RISC OS Desktop. Unfortunately, this is not helped by the emulator limiting us to a 188 emulation, as it means that we can only run Windows in real mode anyway, and not multitask properly. Fortunately, this can be avoided by users with 4 Mb of RAM, who can simply run two copies of the PC Emulator and a copy of Windows on each! Finally, for the amusement of DEC hackers, remember Arthur C. Clarke's in-joke about HAL? (Take the letters in turn and shift them one place right, and you get IBM.)If you take Windows New Technology (WNT), due for release "real soon now," and shift the letters one place left, you get VMS! Currently, I'm only running CGA graphic emulation, as I still use the original Acorn non-multisync monitor purchased with my A310 way back in 1988. I hope to upgrade this to a multisync soon; more news when it happens. Archimedes-Supporting Bulletin Boards ------------------------------------- Despite its regrettably small user base, the Arc has attracted several private SYSOPs to dedicate sections of their BB systems to its uses and software. Unfortunately, it seems that large systems such as Compu$erve have yet to see the light, but there follows below a list of BBSes supporting Arcs, and their relevant comms details. ------------------------ ----- -------- --------------------------------- ARCbbs Software users Times Speeds MNP Numbers/comments ------------------------ ----- -------- --------------------------------- Arcade - London 24hrs 300-2400 (081) 654 2212 (3 lines) Archive - Norwich 24hrs 300-2400 (0603)745932 (3 lines) Atlantis - Gloucester 24Hrs 300-9600 (0452) 330328& 330244 DarcWorld - Oxford 24hrs 300-2400 2 (08675) 77724 (1line) ICON - Ireland 24Hrs 300-9600 5 (0001) 971660 (1line) Meganet - Wakefield 24hrs 300-2400 (0924) 223456 (1line) Noah - Bristol 24hrs 300-2400 (0272) 572322 (1line) Starnet - Norwich 24Hrs 300-2400 (0603) 507216 (1line) The World of Cryton IX 24hrs 300-2400 5/V42b (0749) 679794 (1 line) - Wells 300-14.4 5/HST (0749) 670030 (2lines) ------------------------------------------------------------------------- Other Boards of interest to Archimedes users ------------------------------------------------------------------------- Acorn Support Information 0223243642 and via PRESTEL Database (SID) Charon - Alton 24hrs 300-2400 (0420) 63115 (1 line) Chrono's Lair - Birmingham (021) 744 5561(sub. of #3 for downloads) (021) 7457154 Conquest - Bedford PC based, but has growing Archie area (0234)742940 Narvik Online System (NOS) - Norway (010 47) 82 57344 Arc conference by Bjorn Floetten (2 lines) Daily Information BBS 24hrs 300-9600 (0865) 53999(Oxford - Archimedes/PC based) This list was unashamedly culled from the info on David Pilling's RISC OS Terminals+ disc; although the excellent applications thereon are in no way Public Domain, I hope that the list above is freely available for reproduction, as the info it contains may be found on most of the BB systems themselves; in addition, its inclusion here should serve (I hope!) to benefit the Arc community without putting Mr Pilling out of pocket through loss of sales. In addition, an increasingly comprehensive collection of Arc PD software is available on the lancs.pdsoft library, and Newcastle is rapidly becoming a major resource base. For those of you with USENET access, comp.binaries.acorn and comp.sys.acorn provide invaluable news, and some of the software is rather good as well. Down to the Metal: RISC OS RAM Allocation ----------------------------------------- I originally bought my A310 in 1988; it was then supplied with Arthur 1.2, and RISC OS was still a gleam in Roger Wilson's eye. In my ignorance I bought the Programmer's Reference Manuals, and like everyone else, had cause to curse when RISC OS came out and made them obsolete. As it happens, I never got round to purchasing the RISC OS PRM, which now that RISC OS 3 has been released, is rather fortunate. However, I still wanted to find out how the memory was allotted; this is what I turned up, and it's surprisingly similar to the old Arthur setup. Please note that this map applies to an A310; I'll see if I can find out where the extra RAM goes in higher-spec machines. A further point to note is that 300 series machines (at least, if left with their original 1 Mb of RAM) use a smaller page length than the 400 and later machines; I often had problems convincing apps that they had enough memory assigned to them. The catch is that the RISC OS translation between page size and memory quantity in K was often "out" by a sufficient amount to cause problems on tightly-written apps. Basically, if you have a 310 and some apps refuse to fit for no good reason, add another 8K to the WimpSlot -min call in the !Run file; it very often proves to do the trick. 0 ----------------------------------------- Bootstrap and hardware exception vectors 1C ----------------------------------------- System and BASIC workspace 8000 ----------------------------------------- ] Application RAM ] 639K (RISC OS Desktop Tasks map to here) ] A7FFF ----------------------------------------- ] Unassigned address space 1800000 ----------------------------------------- ] RAM-based Relocatable Modules ] (incl. those downloaded from podules) ] 152K ] Font definitions grow downwards ] 1825FFF ----------------------------------------- ] Unassigned address space 1C00000 ----------------------------------------- ] System Heap ] 16K 1C03FFF ----------------------------------------- ] Unassigned address space 1F00000 ----------------------------------------- ] Cursor data and Desktop scratchpad ] 32K 1F07FFF ----------------------------------------- ] Unassigned address space 1FEC000 ----------------------------------------- ] Screen RAM ] 80K (grows downwards) ] 1FFFFFF ----------------------------------------- ] Unassigned address space 380873C ----------------------------------------- ROM-resident Relocatable Modules Of course, most of this setup reflects the configuration status of my A310; however, some useful information of invariants can be gained from it. I hope to continue with this theme of the low-level setup of the Archimedes as a series running through future issues of Eureka; let me know what you think. Obviously, the first thing I'll do is go through those intriguing exception vectors! It's likely that this will be followed by a treatment of the Heap Manager (the entire Relocatable Module stack is managed as a single contracting heap), but this remains to be seen. *LIB ~~~ The ArcSIG Library comprises a large selection of PD software and Shareware (lists available on request) and the following items on paper: Full RISC OS 2 SWI list & their vectored entry points Full University of Columbia KERMIT document set Archimedes Assembly Language (Dabs Press; an excellent book) ARM Assembler Programmer's Pocket Reference (BITS' first publication; in typesetting) The new BBC Basic Guide (I got it free!) Disassembler listings of: RISC OS Bootstrap (commented) UtilModule TaskManager MemAlloc As I've been rather busy over the summer vac getting my other systems (primarily my DEC PDP 11/34) up and running and trying to put a VM system together, the last three listings aren't commented; please feel free to have a go! *SHUTDOWN ~~~~~~~~ Well, that's it for the first issue of Eureka. I don't know whether this will become a regular publication like Cassini, but it's a start; I'll put another issue together when I find out enough useful things to go in it. The bottom line is: if you found Eureka interesting and want it to become regular and up to date, please let me know and, if at all possible, write me some contributions; I swear on my ARM 3 that you'll be credited with whatever contributions I release. If you didn't like Eureka, let me know as well, and tell me what I can do to make future issues better. Further Notice -------------- This Newsletter was written during August 1992, before the release of the RISC OS 3 upgrade (apparently, the release issue is 3.1) and the release of the new A3010, A3020 and A4000 machines. If anyone has bought one of these latter items, please let me know; reviews would be appreciated. I hope to receive a beta-test copy of RISC OS 3.20 soon, and (for those of you who may also have A540s) I should be getting the blueprints to this machine as well.