
www.Usenet.com
| <-- __Chronological__ --> | <-- __Thread__ --> |
Archive-name: acorn/faq/part2
Frequency: monthly
WELCOME TO THE COMP.SYS.ACORN FAQ MONTHLY UPDATE.
This update is automatically generated by my machine, so please email me at
[EMAIL PROTECTED] if any parts are missing or corrupted.
--------------------------------- part 2 of 4 ------------------------------
----------------------------------------------------------------------------
Section 2: Upgrades and Expansion
----------------------------------------------------------------------------
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
this 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.4) Are there any Acorn cards for IBM PC or compatible machines?
Yes. Three cards in total :-
Springboard
ARM 2 processor, 4096k Memory, 8 MHz RAM, Brazil OS.
PC ARM development system
Precursor to Springboard. Hardware functionally identical.
Ecolink
An econet link card for the PC.
However, to the best of my knowledge none of these cards are commercially available.
----------------------------------------------------------------------------
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.
----------------------------------------------------------------------------
Q2.9) How do I make a Null modem cable?
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 :-
Pin No. Function
------- --------
8 DCD
3 RX
2 TX
20 DTR
7 GND (0v)
4 RTS
5 CTS
----------------------------------------------------------------------------
Q2.10) What are StrongARM dipswitch settings?
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 :-
Switches | SA frequency
----+----+----+----+------------------+---------------------
1 | 2 | 3 | 4 | Revision J and K | Revision R, S and T
----+----+----+----+------------------+---------------------
on | on | on | on | 88.473600 MHz | 85.909080 MHz
on | on | on | off| 95.846400 MHz | 93.068170 MHz
on | on | off| on | 99.532800 MHz | 96.647715 MHz
on | on | off| off| 106.905600 MHz | 103.806805 MHz
on | off| on | on | 143.769600 MHz | 139.602255 MHz
on | off| on | off| 151.142400 MHz | 146.761345 MHz
on | off| off| on | 162.201600 MHz | 157.499980 MHz
on | off| off| off| 169.574400 MHz | 164.659070 MHz
off| on | on | on | 191.692800 MHz | 186.136340 MHz
off| on | on | off| * 202.752000 MHz | 196.874975 MHz
off| on | off| on | 213.811200 MHz | 207.613610 MHz
off| on | off| off| 228.556800 MHz | 221.931790 MHz
off| off| on | on | 243.302400 MHz | * 236.249970 MHz
off| off| on | off| 258.048000 MHz | 250.568150 MHz
off| off| off| on | 276.480000 MHz | 268.465875 MHz
off| off| off| off| 287.539200 MHz | 279.204510 MHz
The default speeds are indicated with *'s.
(Thanks go to Matthias Seifert for this information.)
----------------------------------------------------------------------------
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.
----------------------------------------------------------------------------
Section 3: Configuration
----------------------------------------------------------------------------
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 remove
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 ADFSUtils,
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 large 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.
----------------------------------------------------------------------------
Q3.2) How do I enable solid drags in RISC OS 3?
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
reduced 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 greatly
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.
----------------------------------------------------------------------------
Section 4: Hardware Problems
----------------------------------------------------------------------------
Q4.1) What do the hard drive error numbers mean?
The error numbers returned indicate the type of error encountered.
Exactly why slightly more meaningful messages are not returned I am unsure.
The error codes meanings are as follows :-
ST506 error codes
&01 ABT Command abort has been accepted
&02 IVC Invalid command
&03 PER Command parameter error
&04 NIN Head positioning, disc access, or drive check before SPC has
been issued
&05 RTS TST command invalid after SPC
&06 NUS USELD for a selected drive has not been returned
&07 WFL Write fault has been detected on the ST506 interface
&08 NRY Ready signal has been negated
&09 NSC Seek completed (SCP) wasn't returned before a timeout
&0A ISE SEK, or disc access command issued during seek
&0B INC Next cylinder address greater than number of cylinders
&0C ISR Invalid step rate: highest-speed seek specified in normal
seek mode
&0D SKE SEK or disc access command issued to drive with seek error
&0E OVR Data overrun (memory slower than drive)
&0F IPH Head address greater then number of heads
&10 DEE Error Correction Code (ECC) detected an error
&11 DCE CRC error in data area
&12 ECR ECC corrected an error
&13 DFE Fatal ECC error in data area
&14 NHT In CMPD command data mismatched from host and disc
&15 ICE CRC error in ID field (not generated for ST506)
&16 TOV ID not found within timeout
&17 NIA ID area started with an improper address mask
&18 NDA Missing address mark
&19 NWR Drive write protected
IDE errors
- As ST506, except:
&02 IVC Command aborted by controller
&07 WFL Write fault
&08 NRY Drive not ready
&09 NSC Track 0 not found
&13 DFE Uncorrected data error
&16 TOV Sector ID field not found
&17 NIA Bad block mark detected
&18 NDA No data address mark
&20 No DRQ when expected
&21 Drive busy when commanded
&22 Drive busy on command completion
&23 Controller did not respond within timeout
&24 Unknown code in error register
----------------------------------------------------------------------------
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
more 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.
----------------------------------------------------------------------------
Q4.3) What does the power on self-test check?
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
welcome 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)
00001000 (A reserved code on the RiscPC)
00002000 (A reserved code on the RiscPC)
00004000 VIDC Virq (video interrupt) timing failed
00008000 VIDC Sirq (sound interrupt) timing failed
00010000 CMOS unreadable
00020000 RAM control line failure
00040000 Long RAM test failure
00080000 (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.
----------------------------------------------------------------------------
Q4.5) Why doesn't *Speaker work on my machine?
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.
----------------------------------------------------------------------------
- Comp.Sys.Acorn FAQ ---------------------------------- End of part 2 of 4 -
This FAQ is maintained by Paul Vigay ([EMAIL PROTECTED])
Please email me with any queries/amendments or problems.
----------------------------------------------------------------------------
| <-- __Chronological__ --> | <-- __Thread__ --> |