Q2.1) What are the memory limits of the various Acorn machines?
For the most part the 8 bit machines were limited to a maximum of around 256k of memory. Although various expansion systems including second processors effectively meant the upper limit was about 1 Meg. (Although I have been told of a second processor with 4 Meg of memory in it. ) For the early 32 bit machines the upper limit currently is 16 Meg of memory. Not all of the range of machines are capable of this however and the list looks something like this:-
A3xx - 8 MB maximum through third party, 1 MB official limit.
A4xx - 8 MB maximum through third party, 4 MB official limit.
A4xx/I - 8 MB maximum through third party, 4 MB official limit.
A3000 - 8 MB maximum through third party, 2 MB official limit.
A540/R260/R225 - 16 MB maximum.
A5000 - 8 MB maximum through third party, 4 MB official limit.
A4 - 4 MB official limit.
A30x0 - 4 MB official limit.
A4000 - 4 MB official limit.
A5000 - 8 MB official limit. (alpha variant of the A5000)
A7000 - 128 MB + memory on mother board. (Tops out at 132 MB and requires a 128 MB SIMM to do it.)
Newer RiscPC machines have an official upper limit of 256 Mb, plus 2 MB of VRAM, on all models. However this does require you using 128 MB SIMMS.
If you add the Kinetic StrongARM upgrade (available from Castle Technology) then this upper limit can be expanded further because the Kinetic card contains either 64MB or 128MB SDRam on board. Further information on the Kinetic card is available from Castle Technology (http://www.castle.org.uk).
Q2.2) What is a second processor and what second processors are there?
A second processor was the generic name for a range of parasite processors that could be linked to Acorn's original 8 bit machines via what was called the `Tube` interface. Basically the host machine became dedicated to handling the Input and Output while the second processor would do the higher level functions (like running your programs). The second processor ran asynchronously to the host processor allowing incredible increases in execution speed for programs. A wide range of processors were supported t
his way allowing Acorn's eight bit range of machines to remain viable and useful for much longer than their technology would suggest.
The Second Processors that existed are :-
Z80 second processor.
6 MHz RAM.
64k Memory.
CP/M OS.
External second processor for all eight bit machines.
* 6502 second processor.
3 MHz RAM.
64k Memory.
Extended version of the BBC MOS.
External processor for all eight bit machines.
32016 second processor.
6 MHz RAM.
256k-4096k Memory.
Panos.
External processor for all eight bit machines.
ARM 1 second processor.
4 MHz RAM. (At a guess...)
4096k Memory.
Brazil OS.
External processor for all eight bit machines.
6502 co-processor. (internal second processor)
4 MHz RAM.
64k Memory.
Extended version of BBC MOS.
Internal processor for Master 128 machines but could be fitted external to the other eight bit machines.
80186 co-processor.
10 MHz RAM.
512k Memory.
DR-DOS+ with GEM.
Internal processor for Master 128 machines but could be fitted external to the other eight bit machines.
Q2.3) Can PC VGA & Multisync Monitors be added to an Acorn machine?
It depends on what monitor you have, and what Acorn machine you have. There are two main types of PC VGA monitors out there...
TYPE="1"
--------
* Fixed Frequency - These monitors will only display video signals with certain line and refresh rates. They will typically only display CGA / EGA / VGA modes.
* Multi Frequency - These monitors will display any video signal within a certain range, typically 30-50Khz line rate and 50-80Hz refresh rate.
Type 1 almost always require separate syncs as the monitor uses the polarity of the syncs (mainly positive going negative or mainly negative going positive) to determine what the line and refresh rate should be.
Type 2 vary. Some require separate syncs (vertical and horizontal) and others will work with composite syncs (vertical and horizontal EOR together).
As PC monitors typically start at a line rate of 30Khz compared to the TV broadcast modes (mode 12 etc.) that have a line rate of 15Khz, VIDC has to do more work to obtain a 30Khz line rate.
This means that you computer will slow down slightly if you use a 30Khz+ line rate monitor. If you have an ARM 3 fitted such slow downs will probably be negligible.
Now, depending on what type of Archimedes you have depends on what type of monitor you can use.
A540 / A5000 / A4 / A3010 / A3020 /A4000
----------------------------------------
Has software control over the polarity of the syncs and what frequency VIDC is clocked at.
The A540 with RISC OS 2 can only use modes 26-28 (640x480) and 31 (800x600). However, by changing links and a *configure option, you can get the computer to generate separate syncs with no problem.
The other machines with RISC OS 3 can do even better. If you tell the computer that you have a VGA monitor it will re-map all of the 15Khz line rate modes up to 30KHz line rate. This means that you can play your games that require mode 12 / 13. However, as a PC monitor is designed to display 320 lines minimum then you will get a 'letterbox' effect as mode 12 has only 256 lines.
All these machines have 24Mhz, 25.175Mhz and 36Mhz crystals to drive VIDC with. The 25.175Mhz crystal is needed to obtain the correct video rates for PC monitors displaying 640x480 screens. The 36Mhz crystal is used to obtain higher resolution modes, like 800x600x16 colours.
A3000
-----
This can generate separate syncs but requires links to be set to determine the polarity. It has only a 24Mhz crystal and can therefore only drive 'forgiving' monitors correctly that don't mind the 640x480 video mode timings being slightly incorrect.
The links to change, to set the sync polarity, are as follows:
Link 24: Change from SOUTH to NORTH
Link 25: Change from OPEN to CLOSED
In order to obtain proper timings, and software control of the sync polarity, you will need a VGA VIDC Enhancer for the A3000.
A400 series
-----------
The situation gets more complex. Due to an 'error' in the PCB / circuit diagram, the A400 series cannot generate separate syncs satisfactorily.
The video signal loses the green component when separate syncs is selected. It has been reported to me that 400/I series machines can have this fault corrected by cutting pin 3 of IC9.
As standard, there is no polarity control over the syncs. In common with the A3000, there is only a 24Mhz crystal. Also it is links 1 and 2 that need changing.
If the PC monitor can handle composite syncs then the monitor can be used in 640x480 mode only.
A300 series
-----------
Most, if not all, of the A300 series had the circuit board hardwired into composite mode continuously. There is only a 24Mhz crystal, and only composite sync monitors can be used. Also the A300 suffers the same problem as the A400, it looses green component in separate sync mode.
However I am told that it is possible if you are prepared to alter the hardware, by fitting a three pin header to both LK10 and LK11 (sited near the RGB connector). Cut the track which connects the middle pin to one of the outer pins of each header. Place a link between the middle pin and the other pin for each header. Finally configure sync to 0 and monitor to 3 to inform RISC OS of the change and you should have separate syncs.
Even after these changes it may be required to cut pin 2 of IC4 to remove the composite sync off the green signal. Some SVGA monitors in particular are fussy about this.
RiscPC series & A7000/A7000+
----------------------------
This has a very flexible VIDC in it and is quite capable of driving PC monitors with no trouble.
N.B. The Risc PC can sometimes get confused when set to 'auto' monitortype, resulting in a blank screen and no display on the monitor.
If this happens, try re-configuring the CMOS ram settings to the following and then reseting the machine.
*Configure Monitortype 4
*Configure Sync 0
*Configure Mode 40
This should prevent the monitor confusing the auto setting of the Risc PC.
However to connect an older machine (A3000,A300,400 series) to a VGA monitor, you will need a means of connecting the standard 15-pin VGA plug to the 9-pin socket in the computer. A number of companies sell 'converters', but all this boils down to is a lead with the following configuration :-
.------------------------. VGA 15-pin socket
\ 1 2 3 4 5 /
\ 6 7 8 9 10 /
\ 11 12 13 14 15 /
'------------------'
.------------------------. Arc 9-pin plug
\ 1 2 3 4 5 /
\ /
\ 6 7 8 9 /
'------------------'
Signal VGA pin Arc pin
Gnd 10 9
Red 1 1
Green 2 2
Blue 3 3
R gnd 6 6
G gnd 7 7
B gnd 8 8
H 13 4
V 14 5
In conclusion, apart from the A5000 and newer machines, no computer as standard can drive either a fixed frequency or multi-frequency PC monitor in all of the Archimedes modes satisfactorily. However VIDC enhancer boards can be bought to upgrade an Archimedes series machine to handle the needed timing and signals.
Q2.5) What is a VIDC enhancer? Will I need one for my new multisync monitor?
A VIDC enhancer is basically a clock change for your VIDC. Most Arcs (bar the A540 and newer machines) have 24 MHz VIDC chips installed in them. A VIDC enhancer increases this to 36 MHz allowing much higher resolution screen modes to be displayed on your Arc. (800x600x16 or SVGA standard becomes available.) You do not need one to use a Multisync monitor - the standard VIDC handles that just fine. However having a VIDC enhancer is only really useful if you do have a Multi-sync monitor.
A 'build-it-yourself' VIDC enhancer is available from http://www.mirror.ac.uk/collections/hensa-micros/local/riscos/drivers/autovidc.arc and Maplin Electonics supply 9-15pin converters for around รบ6.00
Note a VIDC enhancer is unnecessary and incompatible with the RiscPC range of machines.
Q2.6) What configuration of serial cable should I use for modem work?
Here follows a diagram of the necessary connections for common terminal programs to work properly. They are as far as I know the informal standard agreed upon by commercial comms software developers for the Arc.
Pins 1, 4, and 8 must be connected together inside the 9 pin plug. This is to avoid the well known serial port chip bugs. The modem's DCD (Data Carrier Detect) signal has been re-routed to the Arc's RI (Ring Indicator) most modems broadcast a software RING signal anyway, and even then it's not really necessary to detect it for the modem to answer the call.
Arc (9 pin) Modem (25 pin)
----------- --------------
+---1---DCD
|
| 2---RxD------------------------RxD----3
|
| 3---TxD------------------------TxD----2
|
+---4---DTR------------------------DTR---20
|
| 5---0v-------------------------SG-----7
|
| 6---DSR------------------------CTS----5
|
| 7---RTS------------------------RTS----4
|
+---8---CTS
9---RI-------------------------DCD----8
Of course you can connect the Modem pin 20 to any one of pins 1, 4, or 8 on the Archimedes plug, as they are all connected together anyway.
Chocks Away Extra Missions (the flight simulator from 4th Dimension) suggests that the serial cable be wired as above except that pins 1-4-6 are connected together and the modem's CTS (pin 5) be connected to the Arc's pin 8 (ie the connections at pins 6 and 8 be swapped over at the Arc's end). This has been tried and it also seems to work fine.
However newer Arc's like the A5000 have come out (and indeed the occasional A310) with a `corrected` serial port. This newer serial port operates as it should and is directly compatible with standard PC cables.
Older comms software about do not take this in account and assume that you have a cable patched in the manner described above. If you do not use such a patched cable on these `fixed` serial ports this software will generally fail to work completely. (Usually hardware flow control fails.)
With the advent of the Risc PC a standard PC cable is advised.
Q2.7) How can I get unfiltered sound from an Acorn machine?
All Acorn machines are equipped with a sound filter designed to remove high frequency harmonics from the sound output. However this does cause a muffled feel to the sound as on some machines the filter is a little too excessive and it filters out valid frequencies. Also the filter is optimised for 20.833 kHz output and has less desirable results when the output rate is changed. Accordingly people who do audio work often want to bypass the filter.
On all machines bar the A3000 there is the Internal Auxiliary Audio Connector (usually called link LK3), which can be easily plugged into to provide the unfiltered output. This connector has 10 pins on it and is usually found near the headphone socket on the motherboard. The pins are :-
1 Unfiltered Left
2 Ground
3 Filtered Left
4 Ground
5 Auxiliary Input
6 Ground
7 Filtered Right
8 Ground
9 Unfiltered Right
10 Ground
Simply hook into the Unfiltered outputs.
On an A3000 you need two 10uF 16V ALEC capacitors. Look for chip LM324 (IC39) and hook the capacitors like this:-
Pin 1 --> --|+ |--- Unfiltered Left
Pin 2 --> --|+ |--- Unfiltered Right
The Risc PC & A400 machines have a connector similar to the A5000.
There are several caveats to this procedure. Opening your machine may void your warranty and most definitely should not be attempted if you are unsure of the procedure. Do not unplug/plug the unfiltered audio output while the machine is turned on, by bypassing the filter you also bypass the normal protective circuitry for the audio output.
Finally you will hear higher harmonics present in the audio signal so you will need to connect the signal to a filter of some kind to reduce this extra noise.
Q2.8) Can I connect a SCART monitor to my Acorn machine?
If you have an older Acorn machine with a nine pin video socket, then yes and here is the wiring diagram :-
.------------------------. Arc 9-pin plug
\ 1 2 3 4 5 /
\ /
\ 6 7 8 9 / Case
'------------------'
_____________________
|19 1| SCART 21-pin plug
| | | | | | | | | | | |
/ |
/ | | | | | | | | | | |
/___20_________________2_| 21 (metal casing)
A SCART connector is also known as a Euroconnector or a Peri-Television connector.
Arc SCART
Case | ------------- 21 Case
Red 1 ------------- 15 Red
Green 2 ------------- 11 Green
Blue 3 ------------- 7 Blue
CSYNC 4 ------------- 20 Composite video input
Ground (0V) 6 -+---------+- 13 Red ground
Ground (0V) 7 -+ +- 9 Green ground
Ground (0V) 8 -+ +- 5 Blue ground
Ground (0V) 9 -+ +- 13 CVBS video ground
Ideally each ground wire should be linked to a separate Arc pin. Also, depending on your SCART monitor, pin 16 may need a +5V input to it. Unfortunately the Arc 9 pin socket does not provide a +5V output so this will have to be sourced from somewhere else.
If you have a newer Acorn machine, with the 15 pin high density video socket then you need this kind of wiring :-
.--------------------. 15-pin VGA style plug
\ 1 2 3 4 5 /
\ 6 7 8 9 10 /
\ 11 12 13 14 15 /
'--------------'
Connections:
Arc SCART
1 red ---------------------------- 15
2 green--------------------------- 11
3 blue---------------------------- 7
4 ID[2] nc
5 0V (test)
6 red rtn------------------------- 13
7 green rtn----------------------- 9
8 blue rtn------------------------ 5
75 ohms
9 +5V-------------/\/\/\/--------- 16
10 0V----------------------------- 17,18
12 ID[1]-------------------------- 8
11 ID[0] <--13 |
13 HSync -->11 |
120 ohms
14 CSync------------/\/\/\/------- 20
15 ID[3] nc
Notice the two resistors. Also notice that the HSync output (pin 13) of the 15-way plug has to be connected to the ID[0] input (pin 11) of the same plug. (Be aware I have no direct confirmation that this wiring works.)
As is usual care must be taken when doing this procedure. Older Acorn machine did not have their VIDC chips fully buffered and unplugging/plugging cables from the video socket while the machine is turned on can cause damage to the video circuitry.
If you want to connect a BBC B computer to a Scart monitor, there are some online wiring diagrams at www.astro.livjm.ac.uk/~bbc/monitor/monitor.html
For starters you will need soldering skills and the necessary components.
Namely cable, connectors (9 pin female D-type), a soldering iron, solder and the will to use them. All of these items, bar the will, can be found down at the local electronic components store. Assuming you have them all then you will need to decide what kind of machines you are hooking together.
There are three cases and I need to define a few terms.
'Archimedes' is defined to be A300 series, A400 series (including the /I machines), R140, A540, A3000 (but not the A30x0 machines) and R260 machines.
'RiscPC' is defined to be both the RiscPC series but also the A5000, A4000, A30x0 & A4 machines. All of these machines have a 'PC Style' serial port that conforms closely to RS232 specifications.
This means that if you are connecting your Acorn machine to a non Acorn machine then generally treating the foreign machine as a RiscPC, in terms of serial handling, will work. There are exceptions, Macintoshes in particular have had non-standard serial ports and may require further research before you can create a cable for them.
The cases are :-
Archimedes to Archimedes
Arc (9 pin) Arc (9 pin)
----------- -----------
+---1---DCD DCD----1---+
| |
| 2---RxD------------------------TxD----3 |
| |
| 3---TxD------------------------RxD----2 |
| |
+---4---DTR------------------------DTR----4---+
| |
| 5---0v-------------------------0v-----5 |
| |
| 6---DSR------------------------RTS----7 |
| |
| 7---RTS------------------------DSR----6 |
| |
+---8---CTS CTS----8---+
| |
+---9---RI RI-----9---+
Archimedes to RiscPC
Arc (9 pin) RiscPC (9 pin)
----------- --------------
+---1---DCD RI-----9---+
| |
| 2---RxD------------------------TxD----3 |
| |
| 3---TxD------------------------RxD----2 |
| |
+---4---DTR------------------------DTR----4 |
| |
| 5---0v-------------------------0v-----5 |
| |
| 6---DSR------------------------RTS----7 |
| |
| 7---RTS------------------------CTS----8 |
| |
+---8---CTS DSR----6---+
|
9---RI-------------------------DCD----1---+
RiscPC to RiscPC
RiscPC (9 pin) RiscPC (9 pin)
-------------- --------------
2---RxD------------------------TxD----3
3---TxD------------------------RxD----2
4---DTR---------------------+--DSR----6
|
6---DSR--+ +--RI-----9
| |
9---RI---+ +--DCD----1
|
1---DCD--+---------------------DTR----4
5---0v-------------------------0v-----5
8---CTS------------------------RTS----7
7---RTS------------------------CTS----8
Note that most PC compatible machines have 25 pin D type male ports for their second COM port. You have two options in this case - either re-wire the cable for the 25 pin port or you can buy a 9 to 25 pin converter plug.
Either solution works well. Here are the relevant pins for the 25 pin port :-
The StrongARM card has a set of dipswitches on it that control the clock speed of the processor.
These can be altered but there are some important caveats to mention first :-
This information is for the original 202MHz StrongARM. The newer 233MHz ones can't be clocked as high, as the base crystal speed is different.
Don't change the links while the card has power. This can result in damage to your processor, always turn your machine off before changing settings.
By default two tracks on the back of the card constrain the card to never go faster than 202 MHz. Cutting these tracks invalidates your warranty, so only do this if you are prepared to replace the card.
The chip is officially rated for 202 MHz, running it faster than this speed can result in hardware damage to the processor and will shorten the chip's lifespan. Again, only do this if you are prepared to replace the card.
If you do cut the tracks remember that the card is a multi-layer one, cutting deeper may sever more tracks than you intended and render the card non-functional.
Without cutting the tracks, the dip switches can be used to slow the processor down from 202MHz to 88MHz if required. Each switch sets one bit making sixteen possible speed settings. This table summarises those speed settings :-
Q2.11) Are there any PIC programmers available for RISC OS?
Robert Sprowson has produced an application called !PICsuite which caters for PIC programming under RISC OS. There is also a free PIC assembler to download, which has BBC Basic style assembly conventions. Visit http://www.sprow.co.uk/pics/ for more information.
Q3.1) What is ADFSBuffers and what is the best setting for it?
ADFSBuffers are Read Ahead and Write Behind buffers for ADFS on your Archimedes. These are designed to improve the speed of filing operations by doing work at optimum times. There are some side effects of using them though. When active under RISC OS v2.00 and v2.01 discs must be dismounted before being removed from the floppy drive. Failure to do so results in the dreaded 'FileCore in use.' error. However if you are prepared to sacrifice the speed improvement they give configuring the buffers to 0 does rem
ove this problem. (Or so I am informed.)
Under RISC OS v3.00, as supplied with the early A5000 machines, these buffers generate a different problem and must always be configured off. Failure to do so results in spurious errors when using the Hard Drive on an early A5000. Symptoms include reformatting of crucial sectors of the disc, disc address errors and general failure to save files to the drive. So when using an A5000 with RISC OS 3.00 remember to configure them off!
With RISC OS v3.10 all of the old problems have been cured with a new one introduced. Namely that if you have only a few ADFSBuffers configured and are accessing the floppy drive then your machine can occasionally lock up completely for you. It appears that any value of ADFSBuffers above 8 causes that problem to be largely alleviated (read it only occurs rarely at these settings). So under RISC OS 3.10 it is recommended that you set your ADFSBuffers to 8+. There is a patch module available, called ADFSUtil
s, that does fix this problem - contact your local dealer for a copy of it.
By default RISC OS 3.5 seems to have all of these problems cured and no new bugs introduced.
Under 3.5 the number of ADFSBuffers can be left at the OS's discretion and generally the OS chooses a number based on the amount of memory present in your RiscPC. Unfortunately this cannot be said of RISC OS 3.6, 3.7 or 3.5 using a softloaded copy of the 'extended' FileCore. When running under these conditions if you have a hard drive partition larger than 2 GB then the buffers must be configured off to allow the drive to work, however installing ROM Patch 3 from the Acorn ftp site will fix this bug with l
arge hard discs.
As for the optimum settings for ADFSBuffers, from some speed tests conducted on an A5000, then it has been observed that configuring the maximum of 255 buffers increases drive access speeds by 40-50% (this varies considerably with the type and make of drive) over accesses with no buffers at all. However it achieves only a 15-20% gain over using 32 buffers.
All in all ADFSBuffers behave in a fashion standard for caches. Enlarging the cache size does produce increasing gains, but there are increasingly limited gains as the cache size enlarges. So 255 buffers is better than 128 buffers but not twice as good. However at the low end there does seem to be a degree of synergy between the caches and the drive that means that 64 buffers is twice as good as 32 buffers. Accordingly I recommend that people use at least 64 buffers, more if they can spare the RAM.
Solid drags are controlled by bit 1 in byte 28 of the CMOS RAM. Setting this bit enables solid drags on all solid drag 'aware' applications. However setting this bit using a *FX command from the command line is a foolish way to do it, as this will unset/set the other 7 bits in that byte which have meaning to FileSwitch and the Wimp. Accordingly the recommended way to set this bit is using a program like this BASIC one enclosed below :-
REM Toggle state of DragASprite bit in CMOS
REM Read byte
SYS "OS_Byte",161,&1C TO ,,byte%
REM EOR byte with mask for bit 1
byte% = byte% EOR %10
REM Write byte back again
SYS "OS_Byte",162,&1C,byte%
END
Which safely sets bit 1 while preserving the settings of the other bits.
Q3.3) To what size should I partition my Hard Drive?
This is a complicated question to answer with any hard and fast rules.
For starters the media and filing system being used must be considered. If you are using an IDE drive under ADFS then you usually should have your drive formatted as one whole partition due to ADFS' inability to support multiple partitions. (Although third party extensions, like Alsystems PowerIDE software, can extend the default IDE interface to include partioning.) However this is not always true and sometimes it can be beneficial to sacrifice a few Mbs of partition size to gain tens of Mb savings in red
uced space wastage when storing files.
RISC OS uses, and through FileCore virtually all filing systems share this, a fairly complicated map system that tries to make a reasonable compromise between filing system overheads, speed and flexibility. For drives 512Mb or less this system works quite well. With the advent of easily available multiple Gb size drives the system begins to suffer a little.
For reasons that are beyond the scope of the FAQ to explain RISC OS links the LFAU (Large File Allocation Unit) to the minimum object size on a disc by a ratio of sixteen to one. Thus a two byte sized file occupies a minimum of sixteen kilobytes of actual disc space to store. There is an important exception to this involving the sharing of map entries, and thus disc space, but the general rule is as above. This table summarises the relationship between LFAU, disc size and minimum object size.
lfau max disc size min object
---- ------------- ----------
1K 499M bytes 16kb
2K 998M bytes 32kb
4K 1996M bytes 64kb
8K 3992M bytes 128kb
Consequently it can be easily seen that the larger the partition size the larger the individual file overheads of storing it becomes. (NB It is worth pointing out that Image Filing systems do not share this overhead directly.)
Thus which partition size you should aim for depends on what you intend doing with the drive. If you are primarily storing Replay films then given the multi-megabyte size of the files the overheads required for storing each file is percentage wise less and it is more important to have bulk disc storage available than it is efficiency of space utilisation. On the other hand running a news spool will involve thousands of files averaging around the seven kilobyte mark, thus a smaller partition size will great
ly reduce space wastage to filing system overheads.
In the FAQ maintainers experience a good compromise size seems to be the just sub one gigabyte mark.
Q4.2) What can I do with a 'Broken Directory' or a corrupt Free Space Map?
There are various programs out there now which fix this problem. The PD ones all are 'caveat emptor' programs but are worth trying if you vitally need to recover some files, or just don't have the floppy disc/streamer space to back your drive up.
DiscKnight is a commerical repair tool from the ARM Club which fixes both the standard and new RISC OS 4 long filename formats. It is available for the budget price of 10ukp and includes free support. A checking only version is available for free download from the DiscKnight website at http://www.discknight.riscos.org.uk/
A utility called 'fsck' (a shareware utility available at good FTP sites near you) works reliably and well. The distribution version does not work with the large disc FileCore but by registering you can obtain a version that does repair large discs. However, it does not cope with the new RISC OS 4 F+ format discs. Fsck has now spawned a commercial version, called Disc Doctor, which not only has all the registered user features, but allows the undeleting of files as well. Contact Oregan Developments for mor
e information on Disc Doctor. Disc Doctor is no longer under active development.
Another shareware tool is DiscEdit - strictly speaking it is a disc sector editor but it also contains routines for directory repair. Even so it is recommended that if you have critical data on your drive you should use one of these tools to recover the data and then reformat the drive. Again, DiscEdit doesn't handle RISC OS 4 extended disc formats.
Another commercial disc repair application is available from Look Systems, called ADFS Rescue which is also recommended.
My own Disc Commander application will allow you to edit bad sectors by hand and will work with the new F+ format discs under RISC OS 4. However, as yet I haven't added automated recovery into it, so it's mainly designed for people who feel competant at manually editing sectors and want a powerful tool for performing disc operations. More information can be obtained from http://www.vigay.com/software/commander.html, including a downloadable version.
The power on self test was introduced with RISC OS 3.0 and later versions of the OS. On power up your machine checks the hardware for physical faults before letting you use it, hopefully signalling important errors to you before further hardware damage can result.
The purple screen at power on indicates that the self-test has begun. A brief ROM, RAM, VIDC and IOC test is performed and then the screen colour changes to blue and a limited memory test [1] is performed, along with a second test of the VIDC and IOC. When the screen returns to purple, the machine is testing for an ARM3 (or better). At the end of this sequence the screen colour is set to green (for pass) or red (for fail). If the tests have all passed then the machine starts to boot and the RISC OS 3 welco
me screen is displayed.
If any test fails, the screen will remain red and the disc drive light will blink a fault code. A short flash is used to indicate a binary '0' and a long flash indicates a binary '1'. The bits are grouped into eight nybbles (blocks of four bits) with the most significant bit first.
The lowest seven bits are a status word. The meaning of each bit is given below in hex :-
00000001 Self-test due to power on
00000002 Self-test due to interface hardware
00000004 Self-test due to test link
00000008 Long memory test performed
00000010 ARM ID detected (ARM 3 fitted for non-RiscPC hardware)
00000020 Long memory test disabled
00000040 PC-style IO world detected
00000080 VRAM detected
Bits 8-31 indicate the fault code and are described below. Not all the bits are used. If the code is marked as reserved on the RiscPC this means that error number is currently either unassigned or it's meaning on older hardware is no longer sensible for the newer machines (and thus it's meaning may be reassigned on the newer versions of the OS.)
00000100 CMOS RAM checksum error
00000200 ROM failed checksum test
00000400 MEMC CAM mapping failed (A reserved code on the RiscPC)
00000800 MEMC protection failed (A reserved code on the RiscPC)
Some third party VIDC enhancers on older hardware trigger the self test to fail. If you are getting a failed self test with a VIDC enhancer, yet the machine is working fine, enter and run this BASIC program and then save your CMOS settings:-
REM Toggle state of power on self test bit in CMOS
REM Read byte
SYS "OS_Byte",161,&BC TO ,,byte%
REM EOR byte with mask for bit 1
byte% = byte% EOR %10000000
REM Write byte back again
SYS "OS_Byte",162,&BC,byte%
END
This modifies the self test to cope with the VIDC enhancer.
[1] By limited it meant that it verifies the VRAM, if present, and checks the first 4 MB of RAM in the machine. (Or so I am told.)
Q4.4) My Real Time Clock has paused, how do I restart it?
This is a problem caused most often by 'rogue' software chatting to the IIC bus and incorrectly setting the pause bit on the RTC control register.
Symptoms of this happening are that the time is always the same every time you reboot and the software clock tends to run slightly slow (losing about a minute every hour or so.). If you are experiencing these symptoms this program should restart your RTC clock :-
REM poke RTC control register
REM Bit 0 1
REM 7 Count ResetDivider
REM 6 Count HoldLastCount
REM write 0 for normal operation, write &80 or &40 freezes RTC
DIM cmosdata% 16
!cmosdata%=&00000000
REM write 0 twice to RTC, first 0 is address- control reg
REM second is control reg value 0 is default i.e. clock on
SYS &240, &A0, cmosdata%,2
END
You will need to reset the time after running this program but hopefully your RTC will keep the correct time from here on in.
If the same symptoms persist after trying this program contact your local Acorn dealer as something more serious has gone wrong. Note that to check that the symptoms are persisting you must reboot your machine after running this program and having set the time. This is due to the way RISC OS maintains a 'soft' copy of the real time clock and until you reboot it will not be obvious whether your RTC has indeed started working again.
The *Speaker command does not work on new models of Acorn machines. The A300, A400, A3000, A540, A5000 and A4 all had software control of the built-in speaker. With newer machines this feature has been removed in favour of a automatic hardware cut off of the speaker when a jack is inserted into the sound socket on the machine.
However to ensure compatibility with old software the command *Speaker has been left in the OS, it merely doesn't do anything.
Q4.6) What can I do about my fan making excessive noise starting up?
This is a problem primarily with the RiscPC machines caused by the fan lubrication drying out. Symptoms generally include the fan making a lot of noise when the machine starts and then, once warmed up, the noise going away. Progressively the amount of warm up time gets longer and longer.
The solution, and this should only be attempted if you are confident in handling your machine's internal components, is to strip the machine down to it's base slice. Remove the label from the fan and the rubber bung from the bearing. Place a drop of three-in-one oil (and not WD40) on the bearing. Replace the bung and reassemble the machine, your problem should be cured.
Q4.7) After fitting the RISC OS 4 upgrade my CD Rom reports 'Drive Empty'.
This is generally caused by upgrading machines fitted with slower CD Rom drives to RISC OS 4 and is caused by the CDFSSoftATAPI module trying to access the drive too fast. One remedy is to obtain a soft-loadable version of CDFSSoftATAPI from RISC OS 3.7, copy it into your !Boot.Choices.Boot.PreDesk directory and then *UNPLUG the CDFSSoftATAPI module in RISC OS 4.
Please feel free to email me if you encounter this problem because I encountered it myself upon fitting RISC OS 4.
Q4.8) Occasionally a fairly early model Risc PC will completely hang for no apparent reason, usually when filer windows are redrawn.
Such freezing during Filer redraws can be caused by applications using 256 colours sprites without palette (it's a bug in RISC OS 3.7). IIRC only sprites private to the task trigger the problem, not the icons used by the Wimp (those in files !Sprites and !Sprites22). Note which applications are loaded when the freezing occurs and add a palette to any 256 colours sprite they use.