f



Fixing an old A3000 - Module issues

Hello,

I'm trying to make my old A3000 work again, and having replaced the
old CMOS RAM battery (which had corroded slightly onto the
motherboard, but I think not enough to have done any damage) and
cleaned everything up, it sort of starts up.

All I get, however, is the supervisor prompt. Typing *Desktop got me
"File 'Desktop' not found." So I typed *Modules and saw that I had
about 10 modules loaded. Typing *Unplug showed me hundreds of
unplugged ones. I assume this is because my CMOS RAM stopped working
so well when the battery started to leak its insides over the
motherboard. But even though I now have a new battery, doing a power
on reset does not seem to fix the CMOS. When the POST runs I get
00010009, which is saying the CMOS RAM is unreadable. Is there
something I can do to fix this? Presumably if I do fix it, a power on
reset should stop all the modules being unplugged, right? I assume
CMOS being unreadable is also the reason that, although *RMInsert runs
without errors *ROMModules shows no effect (all but the first 8
modules are always unplugged).

In the meantime, I decided to try to manually start all the modules.
Is there a way of finding out the dependencies of the modules? Is the
order in which *ROMModules returns modules the order in which they
should be initialised? Regardless, through some trial and error I have
managed to enable quite a few of them, but now when I type *Desktop I
get "Not enough memory in module area". I suppose this is because all
my modules are now running in RAM where normally they'd be running
from ROM. I tried increasing the memory using *Configure RMASize, but
even with 2Mb (my machine has 4) *Desktop still says there's not
enough memory. What's going on here?

As a final twist I don't understand, when I reboot, typing *Modules
shows far more modules than when I first started out, and typing
*Desktop now gives the memory error, not the file not found error. So
it seems like CMOS is remembering something, even though *ROMModules
still shows almost everything unplugged (including Desktop).

Any help greatly appreciated! My 10 year old memories of RISC OS are a
little hazy...

Thanks,

Chris.
0
Chris
12/27/2009 11:28:08 AM
comp.sys.acorn.misc 5707 articles. 0 followers. michael104 (366) is leader. Post Follow

17 Replies
1568 Views

Similar Articles

[PageSpeed] 39

Chris Wiggins <usenet@chriswiggins.co.uk> wrote:


> I'm trying to make my old A3000 work again, and having replaced the old
> CMOS RAM battery (which had corroded slightly onto the motherboard, but I
> think not enough to have done any damage) and cleaned everything up, it
> sort of starts up.

[snip - CMOS unplug settings]

If the CMOS is trashed then default settings can be re-established by
turning on the machine with the delete key help down. That would remove all
those spurious unplugs in one go, the machine should start to the desktop
unless something else is wrong.

Good luck! 
-- 
David Pitt

MessengerPro 2.61.3 on iMac, Snow Leopard 
0
David
12/27/2009 11:58:22 AM
On 27 Dec, 11:58, David Pitt <pit...@pittdj.co.uk> wrote:
> If the CMOS is trashed then default settings can be re-established by
> turning on the machine with the delete key help down. That would remove all
> those spurious unplugs in one go, the machine should start to the desktop
> unless something else is wrong.

Yes, that's what I was hoping. But holding down delete when I power on
does not seem to help. After the screen has gone completely red and
the disk light has pulsed out the POST error code (00010009), the
screen changes to black with a red border, which is, as far as I
remember, it doing a CMOS RAM reset (so it is noticing me holding down
delete). However, this makes no difference: almost all modules are
still unplugged. I assume it tries to reset the CMOS but fails because
there's some problem with it. Might the CMOS itself be screwed?

Chris.
0
Chris
12/27/2009 3:02:16 PM
On 27 Dec, 11:28, Chris Wiggins <use...@chriswiggins.co.uk> wrote:
> As a final twist I don't understand, when I reboot, typing *Modules
> shows far more modules than when I first started out, and typing
> *Desktop now gives the memory error, not the file not found error. So
> it seems like CMOS is remembering something, even though *ROMModules
> still shows almost everything unplugged (including Desktop).

I've realised that I'm wrong about this. I'm only managing to do a
soft reset because none of the modifier keys (control, shift, etc) are
working for some reason. So I think the modules are just staying in
RAM and I am not managing to update the CMOS RAM at all. On a full
power on from switched off, everything is back to the original state
of only a few modules loaded.
0
Chris
12/27/2009 3:15:39 PM
In message <9354a8a1-80c6-48b0-a2d4-a2cb223dc17c@z41g2000yqz.googlegro 
ups.com>
          Chris Wiggins <usenet@chriswiggins.co.uk> wrote:

> On 27 Dec, 11:58, David Pitt <pit...@pittdj.co.uk> wrote:
>> If the CMOS is trashed then default settings can be re-established by
>> turning on the machine with the delete key help down. That would remove all
>> those spurious unplugs in one go, the machine should start to the desktop
>> unless something else is wrong.

> Yes, that's what I was hoping. But holding down delete when I power on
> does not seem to help. After the screen has gone completely red and
> the disk light has pulsed out the POST error code (00010009), the
> screen changes to black with a red border, which is, as far as I
> remember, it doing a CMOS RAM reset (so it is noticing me holding down
> delete). However, this makes no difference: almost all modules are
> still unplugged. I assume it tries to reset the CMOS but fails because
> there's some problem with it. Might the CMOS itself be screwed?

> Chris.
Chris,

I have the very same issue with a ARM3'd A3000 that the CMOS cell 
failed on and despite changing it and doing a power on-delete restart 
I keep getting the same messages as you and only 8 unplugged modules.

I think that the CMOS must go in to a state where you can't reset it.

I would like to know a solution as I don't want to throw out the ARM3 
A3000 if i can help it.

Doug

-- 
Using an IYONIX pc and RISC OS 5.14, the thinking person's alternative 
operating system to Microsoft Windows.
0
Doug
12/27/2009 3:27:17 PM
Doug Webb wrote:
> I think that the CMOS must go in to a state where you can't reset it.
> 
> I would like to know a solution as I don't want to throw out the ARM3 
> A3000 if i can help it.

Apart from replacing the CMOS chip, you'd need to load a saved CMOS file 
as early as possible in the boot sequence. Ideally from a custom module 
stored in flash, as the CMOS might be too scrambled to allow booting 
from a particular filing system. Any saved settings file will be loaded 
in to both the CMOS and the RAM soft copy, the latter will work even if 
the CMOS is faulty, but will be lost at the next reset.

---druck
0
druck
12/27/2009 5:40:38 PM
On 27-Dec-2009, Chris Wiggins <usenet@chriswiggins.co.uk> wrote:

> I'm trying to make my old A3000 work again, and having replaced the
> old CMOS RAM battery (which had corroded slightly onto the
> motherboard, but I think not enough to have done any damage) and
> cleaned everything up, it sort of starts up.
>
> All I get, however, is the supervisor prompt. Typing *Desktop got me
> "File 'Desktop' not found." So I typed *Modules and saw that I had
> about 10 modules loaded. Typing *Unplug showed me hundreds of
> unplugged ones. I assume this is because my CMOS RAM stopped working
> so well when the battery started to leak its insides over the
> motherboard. But even though I now have a new battery, doing a power
> on reset does not seem to fix the CMOS. When the POST runs I get
> 00010009, which is saying the CMOS RAM is unreadable. Is there
> something I can do to fix this? Presumably if I do fix it, a power on
> reset should stop all the modules being unplugged, right? I assume
> CMOS being unreadable is also the reason that, although *RMInsert runs
> without errors *ROMModules shows no effect (all but the first 8
> modules are always unplugged).

Firstly try leaving it switched on for a few hours to get some charge in the
battery. If it's completely flat CMOS RAM won't get it's working voltage so
you'll get garbage.

Almost invariably with the A3000 if the CMOS battery has leaked the
motherboard is damaged. Since the battery is wired across the supply to the
CMOS ram with a couple of resisters in series if any of these tracks are
damaged the CMOS RAM will receive no voltage. Even if the battery appears to
be getting charge if there's a break in the 'downstream' side of the circuit
(common) the CMOS RAM won't. There's also a small ceramic capacitor here
which is inclined to go SS, thereby shorting the power line to the CMOS.

-- 
David Holden  -  APDL  -  <http://www.apdl.co.uk>
0
David
12/27/2009 7:01:13 PM
Doug Webb <doug.j.webb@btinternet.com> wrote:
> I think that the CMOS must go in to a state where you can't reset it.

Does the clock advance?  (In other words, turn off the machine, wait a few
mins, turn it on again and see if the clock has gone forward the right
amount).  There's a program in the old comp.sys.acorn FAQ that will unstick
stuck clocks.  I'm not sure, but it might do the same for stuck CMOS.

If that doesn't work there may be a more drastic reset available to the
chip.  You'd need to grab a datasheet for the PCF8583, the doc for SWI
IIC_Control and see if you can poke the relevant bits.

Theo
0
Theo
12/29/2009 8:17:23 PM
Thanks for all the replies. Here's a summary of where I am. Sorry to
munge all the threads together, but it seemed sensible to try to
consolidate everything.

On Dec 29, 8:17 pm, Theo Markettos <theom+n...@chiark.greenend.org.uk>
wrote:
> Does the clock advance?  (In other words, turn off the machine, wait a few
> mins, turn it on again and see if the clock has gone forward the right
> amount).  There's a program in the old comp.sys.acorn FAQ that will unstick
> stuck clocks.  I'm not sure, but it might do the same for stuck CMOS.

No, the clock doesn't advance. I assume what you're referring to is
the question that says "My Real Time Clock has paused, how do I
restart it?". The program given there writes 0 to the real time clock
control register via IIC_Control. When I try this, I get "No
acknowledge from IIC device".

> If that doesn't work there may be a more drastic reset available to the
> chip.  You'd need to grab a datasheet for the PCF8583, the doc for SWI
> IIC_Control and see if you can poke the relevant bits.

I think even if there were a more drastic reset available, it isn't
going to work because I can't talk over IIC_Control at all :(

On Dec 27, 5:40 pm, druck <n...@druck.org.uk> wrote:
> Apart from replacing the CMOS chip, you'd need to load a saved CMOS file
> as early as possible in the boot sequence. Ideally from a custom module
> stored in flash, as the CMOS might be too scrambled to allow booting
> from a particular filing system. Any saved settings file will be loaded
> in to both the CMOS and the RAM soft copy, the latter will work even if
> the CMOS is faulty, but will be lost at the next reset.

How do you load a saved CMOS file into RAM? I don't have any flash RAM
to store such a thing, so it would have to be after the system has
booted. Is there some kind of defined way to do this in RISC OS? The
only way I can see this can be done is by claiming ByteV and
intercepting calls to OS_Byte 161. Would this work? I think even if it
would, by the time I can load this code it would be too late.

On Dec 27, 7:01 pm, "David Holden" <Spam...@apdl.co.uk> wrote:
> Firstly try leaving it switched on for a few hours to get some charge in the
> battery. If it's completely flat CMOS RAM won't get it's working voltage so
> you'll get garbage.

The battery is a new one, and according to the volt meter is fairly
healthy. I don't think it's charging when the computer is on -- there
is no increase in voltage across it compared to when the computer is
off.

> Almost invariably with the A3000 if the CMOS battery has leaked the
> motherboard is damaged. Since the battery is wired across the supply to the
> CMOS ram with a couple of resisters in series if any of these tracks are
> damaged the CMOS RAM will receive no voltage. Even if the battery appears to
> be getting charge if there's a break in the 'downstream' side of the circuit
> (common) the CMOS RAM won't. There's also a small ceramic capacitor here
> which is inclined to go SS, thereby shorting the power line to the CMOS.

I think this is probably what's happened, although everything appeared
relatively intact when I cleaned the motherboard up.

I think the summary of this post is that my CMOS RAM is broken, and
that the only way to fix it is to look into the connectivity of the
CMOS to the battery in terms of track or capacitor damage.

Meanwhile, I have been trying the software route (since I don't really
understand hardware) and trying to get the system to start manually
after it's failed to boot properly. More on that in a separate post
shortly...
0
Chris
12/30/2009 10:21:21 AM
In message
<2147d9b2-6760-4fc6-8182-70e457d852a1@j14g2000yqm.googlegroups.com>
          Chris Wiggins <usenet@chriswiggins.co.uk> wrote:

> The battery is a new one, and according to the volt meter is fairly
> healthy. I don't think it's charging when the computer is on -- there
> is no increase in voltage across it compared to when the computer is
> off.

The charge current is /very/ low; you wouldn't expect to read any
different voltages.

Dave
0
Dave
12/30/2009 10:42:17 AM
On Dec 27, 11:28=A0am, Chris Wiggins <use...@chriswiggins.co.uk> wrote:
> Regardless, through some trial and error I have
> managed to enable quite a few of them, but now when I type *Desktop I
> get "Not enough memory in module area". I suppose this is because all
> my modules are now running in RAM where normally they'd be running
> from ROM. I tried increasing the memory using *Configure RMASize, but
> even with 2Mb (my machine has 4) *Desktop still says there's not
> enough memory. What's going on here?

I've now managed to work out a list of modules that are willing to
start without issue that then enables me to start the desktop. I think
I'm experiencing various memory-related errors because memory
allocation is a bit lopsided due to the system reading garbage from
CMOS RAM. For example, when I start up I have 3.5Mb allocated to the
sprite area!

My (painful) process for booting is now as follows:

1) Use *RMReInit to reinitialise a required set of modules
2) *Desktop to enter the desktop. I get a few errors:

   * Internal error: abort on data transfer at &038AE334
   * Unknown of missing variable
   * File 'Resources:$.Apps.!Configure' not found
   * Application needs at least 96K to start up
   * Invalid shut down state detected in CMOS

but if I cancel each one, everything continues, and I then get what
looks like a fairly complete desktop. There are at least two issues
though:

* The mouse pointer is there, but it doesn't move! Unfortunately I
don't know if this is an issue with my mouse, the connection, or the
state of RISC OS. I can move the pointer around using "MOUSE TO" in
BBC BASIC, but I'm not sure that proves much...

* There is no floppy drive icon. This is probably because I can't
*RMReInit ADFS before I start the desktop -- I get the error "Message
token FileCoreError not found". At first I assumed this was a missing
module issue, but I've initialised all the modules that I think could
cause this and it makes no difference. However, once I get to the
desktop, I can *RMReInit ADFS from inside a Task Window for some
reason.

3) Without a mouse, I can't use the task manager to fix up all the
wonky memory, but I can press Ctrl-F12 to get a task window up, type
*BASIC, and then use OS_ChangeDynamicArea.

By now I should reveal my true reason for trying to get my A3000
working again: I want to try to get all the old programs I wrote off
my ancient external hard disk (which I've yet to plug in and am very
aware has a good chance of not working anymore). So I think I might
actually be close enough: I can start ADFS, which is the painful
mechanism I'm going to use to copy data to a more modern computer.
However, it would be nice to do the copying from the desktop with the
mouse, rather than through the command line.

So two questions:

1) Does anyone know why the pointer doesn't move? Any ideas about how
to tell whether it's the hardware or the software?

2) I'm sure I once wrote a program that recorded the mouse and then
played it back, but I can't remember/find out how you simulate a mouse
click. Does anyone know? If I can do this, then I can write a program
to emulate the mouse from the keyboard.

Thanks!

Chris.
0
Chris
12/30/2009 11:15:01 AM
Chris Wiggins wrote:

> On Dec 27, 5:40 pm, druck <n...@druck.org.uk> wrote:
>> Apart from replacing the CMOS chip, you'd need to load a saved CMOS file
>> as early as possible in the boot sequence. 
> 
> How do you load a saved CMOS file into RAM?

*LoadCMOS

> I don't have any flash RAM
> to store such a thing, so it would have to be after the system has
> booted. Is there some kind of defined way to do this in RISC OS?

Only if you have a podule in your machine with spare flash.

> The only way I can see this can be done is by claiming ByteV and
> intercepting calls to OS_Byte 161. Would this work? I think even if it
> would, by the time I can load this code it would be too late.

If you put a file with the type of Saved CMOS in to the PreDesk 
directory, it will be loaded at boot time. However you may have to 
manually *Configure the boot filing system and drive number before it 
will boot.

---druck
0
druck
12/30/2009 12:20:09 PM
Chris Wiggins wrote:
> 1) Does anyone know why the pointer doesn't move? Any ideas about how
> to tell whether it's the hardware or the software?

Are you using a working Acorn mouse, not a PS2 one? Also there is a fuse 
on the circuit board which may have blown.

> 2) I'm sure I once wrote a program that recorded the mouse and then
> played it back, but I can't remember/find out how you simulate a mouse
> click. Does anyone know? If I can do this, then I can write a program
> to emulate the mouse from the keyboard.

You can, but you'd be better off pulling teeth.

---druck
0
druck
12/30/2009 12:23:20 PM
In message
<2147d9b2-6760-4fc6-8182-70e457d852a1@j14g2000yqm.googlegroups.com>
          Chris Wiggins <usenet@chriswiggins.co.uk> wrote:

> How do you load a saved CMOS file into RAM? I don't have any flash RAM
> to store such a thing, so it would have to be after the system has
> booted.

There is no such thing as flash RAM.  You do have ordinary RAM, and
you should have CMOS RAM if your PCF8583 and its driving system are
working.  You access CMOS RAM in an entirely different way from
ordinary RAM, of course.

Dave
0
Dave
12/30/2009 3:29:09 PM
In a mad moment - Chris Wiggins  mumbled :


> No, the clock doesn't advance. I assume what you're referring to is
> the question that says "My Real Time Clock has paused, how do I
> restart it?". The program given there writes 0 to the real time clock
> control register via IIC_Control. When I try this, I get "No
> acknowledge from IIC device".
Just on the offchance -
Take a close look at the PCB, where the power leads are connected.
There is an AMP spade tag on the pcb (canmnot remeber if it is
 the + or- connection) - On some early edition pcb there was a thin 
track that ducked under the two legs of the spade tag, and went to the 
IIC chip.
I can remember fixing a similar fault, after a battery leak, caused by
a bridging between the tag legs and the track. Just the one case out 
of many repairs.

-- 
|)����[
|)ryn [vans            mail to - BrynEvans@bryork.freeuk.com




0
Bryn
12/30/2009 5:46:32 PM
On Dec 30, 12:20 pm, druck <n...@druck.org.uk> wrote:
> Chris Wiggins wrote:
> > On Dec 27, 5:40 pm, druck <n...@druck.org.uk> wrote:
> >> Apart from replacing the CMOS chip, you'd need to load a saved CMOS file
> >> as early as possible in the boot sequence.
>
> > How do you load a saved CMOS file into RAM?
>
> *LoadCMOS

I think this must be in a later version of RISC OS. Remember this is
as A3000 I'm trying to resurrect, it only has RISC OS 3.1!

> If you put a file with the type of Saved CMOS in to the PreDesk
> directory, it will be loaded at boot time. However you may have to
> manually *Configure the boot filing system and drive number before it
> will boot.

Unfortunately my CMOS is so scrambled that it needs a lot of manual
fixing up before it can even access the disc drive. :(
0
Chris
12/31/2009 12:59:45 PM
Dave Higton wrote:
> In message
> <2147d9b2-6760-4fc6-8182-70e457d852a1@j14g2000yqm.googlegroups.com>
>           Chris Wiggins <usenet@chriswiggins.co.uk> wrote:
> 
>> How do you load a saved CMOS file into RAM? I don't have any flash RAM
>> to store such a thing, so it would have to be after the system has
>> booted.
> 
> There is no such thing as flash RAM.  

Chris meant Flash ROM. I mentioned it as a place to put a module which 
restored a saved copy of the CMOS to the CMOS RAM copy during startup. 
This has the advantage of working even if all the filing system settings 
are screwed up. It could still be defeated with the module unplug bit 
was set for it.

---druck
0
druck
12/31/2009 1:23:54 PM
druck <news@druck.org.uk> wrote:
> Chris Wiggins wrote:
> > 1) Does anyone know why the pointer doesn't move? Any ideas about how
> > to tell whether it's the hardware or the software?
> 
> Are you using a working Acorn mouse, not a PS2 one? Also there is a fuse 
> on the circuit board which may have blown.

A PS/2 mouse won't fit on an A3000 (though some people might try rather too
hard).  The fuse is definitely worth checking.

> > 2) I'm sure I once wrote a program that recorded the mouse and then
> > played it back, but I can't remember/find out how you simulate a mouse
> > click. Does anyone know? If I can do this, then I can write a program
> > to emulate the mouse from the keyboard.
> 
> You can, but you'd be better off pulling teeth.

There are various mouse emulator programs around.  !Warfarin is an old one
that should work on the A3000.

Theo
0
Theo
1/15/2010 11:39:43 PM
Reply: