Building a monster A3000

discuss the archimedes & risc pc, peripherals and risc os/risc os on pi
Post Reply
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Building a monster A3000

Post by steve3000 »

First some background. Some of you may have seen Joka80's “wanted” post back at Christmas, where he asked if anyone had a spare ARM3 upgrade, because he was looking to upgrade his A3000: viewtopic.php?f=9&t=16233&p=223523

I actually had an ARM3 upgrade that I'd picked up a few years back, intending to upgrade my RISC OS 2 A310, but I'd since decided I quite like the originality of the ARM2 machine, so I got in touch with Costa (Joka80) and we ended up talking about his plans for his A3000. To summarise a lot of discussion, he had big plans – with ultimate intention of making his 4mb, ARM2, A3000 (which he'd owned since new) into the fastest, most capable A3000 in existence! However, at that point his A3000 was not even functioning (due to battery leak damage) and he also needed to find someone who could actually carry out the required modifications.

I quite liked the idea of a super fast A3000 and was looking for a hardware challenge to occupy the winter evenings, so as well as being able to supply the ARM3 upgrade he wanted, I offered to have a go at helping with the modifications to the PCB to fit the ARM3, and possibly some more modifications if I had time...

What eventually happened? Seven months later and what started with repairing and modifying an A3000 to install a 25MHz ARM3, has progressively turned into the biggest, most complex hardware challenge I've taken on. Several members of the forum have also contributed through time, advice and indeed components to different aspects of this build (especially myelin and RobC, without who this would not have been possible – as you'll see) and now as this project approaches completion, I'm very pleased to say that I believe we have achieved what Costa asked, and I hope to share here some of the interesting stages of development of what is probably the fastest, most capable A3000 ever built :)

So first, as a taster, here are a few photos and a summary of what Costa's original 4mb, ARM2, A3000 is now running under its lid.

Monster A3000 as of 26th July 2019:
  • ARM3 upgrade, running at 48MHz (via an on-the-fly reprogrammable PLL clock generator)
  • 8mb RAM upgrade (A5000 8mb upgrade modified to fit A3000)
  • Custom built 1.6Mb High density floppy disc upgrade & FDD
  • Unfiltered stereo sound to internal speakers
  • Wifi USB mouse via internal fitted “Smally” mouse adaptor
Photos:
Testing HD floppy interface with a DOS 1.44Mb disc
Testing HD floppy interface with a DOS 1.44Mb disc
7104kb free...that means 8mb is fitted and working!
7104kb free...that means 8mb is fitted and working!
Testing the programmable PLL clock generator (also see 'smally' mouse, 8mb and ARM3 fitted)
Testing the programmable PLL clock generator (also see 'smally' mouse, 8mb and ARM3 fitted)
Reprogramming the ARM3 clock – some serious overclocking on-the-fly!
Reprogramming the ARM3 clock – some serious overclocking on-the-fly!
Stay tuned for more soon!
Cheers,
Steve
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

Fitting the ARM3 to the A3000 involved removing the surface mount ARM2 and MEMC1a chips using hot air, then fitting an 84 way and 64 way PLCC socket in place for the ARM and MEMC respectively.

I used a 959D hot air rework station for the removal process, these are fairly inexpensive and widely available, but you do need to be really careful to keep the nozzle moving around the IC legs and not to overheat the PCB. If you've not done this before, there are plenty of example videos on youtube for hot air component removal, so best look at these and try out some tests on a scrap PCB first (I used an old set top box PCB for tests :)).

84 way and 68 way PLCC sockets are widely available, and for ease of fitting I recommend removing the socket base first (as PaulV did when fitting an ARM3 to AndyMc's A3010 here: viewtopic.php?f=16&t=6833#p80747). This allows you to get at each leg with an angled-tip soldering iron and ensure a good solder joint. Use lots of flux on and around the pads, and secure a leg of each corner of the socket before soldering the centre legs.

Once finished, clean up with more IPA then fit a known-good ARM2 and MEMC1a chip for testing (you could use the original chips, but these may have been damaged by heat during removal, so best to have known-good spares to hand).

Finally, I would not recommend changing both the ARM and MEMC at once as I did. When I fired up the computer I initially had no response - completely blank screen, and I was left to ponder whether the problem was with the ARM or MEMC socket... After reheating all the legs of both sockets, and trying again it worked :) - I believe the issue was with a poor joint on one leg of the ARM socket, but it would have been much easier to trace if I'd only replaced one chip at a time #-o

Fitting the ARM3 to A3000 in pictures:
A3000 PCB with ARM2 and MEMC1a before removal
A3000 PCB with ARM2 and MEMC1a before removal
Cleanup of PCB, re-tinned the pads and cleaned with IPA
Cleanup of PCB, re-tinned the pads and cleaned with IPA
ARM and MEMC PLCC sockets fitted
ARM and MEMC PLCC sockets fitted
ARM3 25MHz upgrade board fitted and MEMC1a refitted
ARM3 25MHz upgrade board fitted and MEMC1a refitted
Last edited by steve3000 on Mon Jul 29, 2019 4:19 pm, edited 1 time in total.
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

Reserved this post for details of fitting the HD disc interface...
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

Reserved this post for details of adapting and fitting the A5000 8mb upgrade...
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

Reserved for overclocking...part 1
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

Reserved for building a faster ARM3 upgrade...
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

Reserved for overclocking...part 2
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

One extra post reversed for everything else :)
User avatar
myelin
Posts: 1013
Joined: Tue Apr 26, 2016 10:17 pm
Location: Mountain View, CA, USA
Contact:

Re: Building a monster A3000

Post by myelin »

=D> Looking forward to reading the full story! Glad I could help out with the ROM spacing adapter!
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.
Cutter
Posts: 32
Joined: Sun Feb 11, 2018 2:32 pm
Contact:

Re: Building a monster A3000

Post by Cutter »

Looking good!

Interested in the HD disc interface! :)
hubersn
Posts: 180
Joined: Sun Aug 14, 2016 8:59 pm
Contact:

Re: Building a monster A3000

Post by hubersn »

You are of course missing the TurboA3000 upgrade and a VIDC enhancer as well as the great Gamer's Upgrade (4 port Joystick interface connected to I2C bus) and a 4 slot backplane. Two of those are easy, but the Gamer's Upgrade was only "popular" in Germany AFAIK and is quite rare.

Keep going :-)
hubersn
Cutter
Posts: 32
Joined: Sun Feb 11, 2018 2:32 pm
Contact:

Re: Building a monster A3000

Post by Cutter »

Econet module? :D
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

Thanks all. Of course I must point out that Costa has many more ideas for upgrades, I've only listed the ones fitted so far, but please let us know of any other good upgrades :)

I know he's awaiting a PaulV Ultra VIDC enhancer (and subsequently an overclocked VIDC), and I have drafted my own design for a 16MHz RAM overclock (the 4mb card and 8mb card both have 50ns RAM chips fitted, so 16MHz should be fine once MEMC and IOC have been uncoupled)...but this is completely untested so far :)
hubersn wrote:
Sun Jul 28, 2019 12:03 am
You are of course missing the TurboA3000 upgrade
Is this the design from Charlie's qubeserver project? (http://qubeserver.com/Qube/projects/a30 ... rging.html) or something different? I understood Charlie's design had issues with RISC OS 3 self test?

The Gamer's upgrade is something I've not seen before and will almost certainly be of interest...

He's already got serial port upgrade, econet card and IDE HDD mini podule with CF upgrade...but I've removed these while testing everything else.
hubersn
Posts: 180
Joined: Sun Aug 14, 2016 8:59 pm
Contact:

Re: Building a monster A3000

Post by hubersn »

steve3000 wrote:
Sun Jul 28, 2019 12:04 pm
hubersn wrote:
Sun Jul 28, 2019 12:03 am
You are of course missing the TurboA3000 upgrade
Is this the design from Charlie's qubeserver project? (http://qubeserver.com/Qube/projects/a30 ... rging.html) or something different? I understood Charlie's design had issues with RISC OS 3 self test?
That's the one - Charlie got the TurboA3000.zip inside the archive from me, which is in turn a slightly extended version of the original by Ingmar Weigel. I just fiddled a bit with the software (13.3 MHz RAM was only stable when slowing down ROM access speed for me) and wrote a short english introduction to accompany the original German docs.

I don't remember any problems with the self test - the machine starts up with everything unchanged after all, the upclocking only happens once AUX1 (or was it AUX2?) is triggered. This (control via AUX) might be a problem if you combine it with the more advanced VIDC enhancer stuff btw.
The Gamer's upgrade is something I've not seen before and will almost certainly be of interest...
Will be difficult to get. I could try to put you into contact with the original hardware designer, but I don't think anything from the project has survived. The only guy I knew with an A3000 with that expansion has sold the A3000 when he got his Risc PC back in 1995.

Have fun
hubersn
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

hubersn wrote:
Sun Jul 28, 2019 2:53 pm
That's the one - Charlie got the TurboA3000.zip inside the archive from me, which is in turn a slightly extended version of the original by Ingmar Weigel.
Ah yes, indeed - and you're rightly credited on his web page :)

Do you recall much about the inner workings of the Turbo A3000 software? Reading about what is described - the faster clock is applied to the IOC, but software reverts it back to 8MHz during floppy disc access, and upon user demand... Did the software do anything else (patch IOC timers, 100Hz, etc - which presumably run fast?), and did it do anything about econet?

I had planned an alternative approach, to separate clock for IOC and VIDC from the system/MEMC clock, and run the 1772 disc controller from it's own 8MHz/16MHz source (for SD/HD mode), but I'm unsure about how closely tied the clock needs to be across MEMC and IOC...
hubersn
Posts: 180
Joined: Sun Aug 14, 2016 8:59 pm
Contact:

Re: Building a monster A3000

Post by hubersn »

steve3000 wrote:
Sun Jul 28, 2019 6:03 pm
Do you recall much about the inner workings of the Turbo A3000 software? Reading about what is described - the faster clock is applied to the IOC, but software reverts it back to 8MHz during floppy disc access, and upon user demand... Did the software do anything else (patch IOC timers, 100Hz, etc - which presumably run fast?), and did it do anything about econet?
I only remember that the timers are reprogrammed whenever the clock changes, so the 100 Hz timer is still running at 100 Hz. And there was a special "fix" that could be applied to adjust video memory start because, in some screen modes, the screen was slightly shifted, which the fix compensated. There was a simple list of mode numbers in the software that automatically applied that fix whenever the mode was changed.

Long ago. As I said, Ingmar did all the work, I just patched the software a bit (so probably the best you could do is to look at the assembler source code - if I could understand it back then, everyone can!). All I can say is that I "turboed" three A3000 - and all worked fine for quite a long time. With an ARM3, the speedup is not that big, but with a plain ARM2, even 12 MHz starts to make mode 31 and mode 21 quite usable.
I had planned an alternative approach, to separate clock for IOC and VIDC from the system/MEMC clock, and run the 1772 disc controller from it's own 8MHz/16MHz source (for SD/HD mode), but I'm unsure about how closely tied the clock needs to be across MEMC and IOC...
I have no idea, but surely the A540 has done something similar? Or do I misremember that and the A540 was still 8 MHz bus speed...

Have fun
hubersn
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

hubersn wrote:
Sun Jul 28, 2019 8:58 pm
I only remember that the timers are reprogrammed whenever the clock changes, so the 100 Hz timer is still running at 100 Hz. And there was a special "fix" that could be applied to adjust video memory start because, in some screen modes, the screen was slightly shifted, which the fix compensated.
Ah, that's very useful, thanks. I'll dig into the code and look a bit further. I expect the overclocked IOC might cause problems with games that use T1 for timing, and possibly serial and/or econet, but the software control should be a good way around this.
hubersn wrote:
Sun Jul 28, 2019 8:58 pm
I have no idea, but surely the A540 has done something similar? Or do I misremember that and the A540 was still 8 MHz bus speed...
The A540 was 12MHz, but used a bunch of PALs to synchronise 8MHz IOC timing with 12MHz MEMC under certain FIQ/IRQ conditions.

I don't really have a chance of replicating that, but am wondering if using an exact multiple of 8MHz for the new RAM speed (ie. 16MHz) and deriving 8MHz for the IOC through a flipflop driven by the 16MHz RAM clock, might be enough to keep the IOC in sync for those conditions...
Cutter
Posts: 32
Joined: Sun Feb 11, 2018 2:32 pm
Contact:

Re: Building a monster A3000

Post by Cutter »

Couldn't resist resurrecting this one too! Any new pics? [-o<
User avatar
Joka80
Posts: 49
Joined: Tue Dec 25, 2018 7:37 pm
Contact:

Re: Building a monster A3000

Post by Joka80 »

Hello everyone.

It’s been a while since anything was last posted on this thread so I thought I’d check-in with everyone and give a little update but rest assured the monster A3000 project is progressing. Lots of new upgrades and more uniqueness.

We are now talking combo ARM3 & FPA11, multiple Podule expansion upgrade, Ultra VIDC to name but a few... :D

I won’t spoil it too much but there’s lots more upgrades and mods coming so stay tuned... :D

Stay safe and well everyone
Costa
steve3000
Posts: 2343
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Building a monster A3000

Post by steve3000 »

Been a while, time for an update photo :D
PXL_20210220_093317897.jpg
User avatar
IanJeffray
Posts: 725
Joined: Sat Jun 06, 2020 3:50 pm
Contact:

Re: Building a monster A3000

Post by IanJeffray »

Wow. Envy.
Yet ... no Econet :lol:
User avatar
Joka80
Posts: 49
Joined: Tue Dec 25, 2018 7:37 pm
Contact:

Re: Building a monster A3000

Post by Joka80 »

Econet module was removed temporarily to alter some wiring and to connect an external keyboard to the connector pins so it’s on the bench for now! :D :D
Post Reply

Return to “32-bit acorn hardware”