Emulating (or obtaining!) an ARM Evaluation System

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
Post Reply
VectorEyes
Posts: 281
Joined: Fri Apr 13, 2018 1:48 pm
Contact:

Emulating (or obtaining!) an ARM Evaluation System

Post by VectorEyes » Wed Jan 08, 2020 4:15 pm

Hello all,

At some point starting in the Summer I’m contemplating a project that would target the first ever ‘released’ ARM, specifically the one inside the ARM Evaluation System. However, this would entail either being able to accurately emulate one (and it would need to be cycle-accurate both with respect to the chip itself, and to the interaction over the Tube with the Beeb!) or actually getting hold of one, which seems unlikely given their rarity.

Does anyone know if the ARM Eval System has ever been accurately emulated? PiTubeDirect offers an ARM2 emulation but that’s more powerful than the Eval System.

Failing that can anyone suggest where I might be able to borrow or obtain one? It would be a long-term project, probably initially requiring a few months to work out whether it’s even remotely feasible followed by many more months of actual development should the early work show any promise. So not just a couple of weeks of hacking!

Thanks!

User avatar
geraldholdsworth
Posts: 572
Joined: Tue Nov 04, 2014 9:42 pm
Location: Inverness, Scotland
Contact:

Re: Emulating (or obtaining!) an ARM Evaluation System

Post by geraldholdsworth » Wed Jan 08, 2020 5:25 pm

BeebEm emulates the ARM...not sure on the accuracy or what ARM though.
Gerald Holdsworth
Repton Resource Page
www.reptonresourcepage.co.uk

User avatar
Pernod
Posts: 1803
Joined: Fri Jun 08, 2012 10:01 pm
Location: Croydon, UK
Contact:

Re: Emulating (or obtaining!) an ARM Evaluation System

Post by Pernod » Wed Jan 08, 2020 5:34 pm

geraldholdsworth wrote:
Wed Jan 08, 2020 5:25 pm
BeebEm emulates the ARM...not sure on the accuracy or what ARM though.
Ditto for MAME.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.

Coeus
Posts: 1416
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: Emulating (or obtaining!) an ARM Evaluation System

Post by Coeus » Wed Jan 08, 2020 5:39 pm

And B-Em does too. Again I am not sure how accurate the emulation is. I am also not sure what the benefit of making the emulation cycle accurate is. Is this just a technical challenge, something you want to do? Or is there some piece of software you want to run that existing emulators are not sufficiently accurate for?

dp11
Posts: 967
Joined: Sun Aug 12, 2012 8:47 pm
Contact:

Re: Emulating (or obtaining!) an ARM Evaluation System

Post by dp11 » Wed Jan 08, 2020 6:01 pm

Do remember the first ARM simulator was written in BASIC on a Beeb.

Boydie
Posts: 395
Joined: Sat Oct 24, 2015 8:25 am
Location: Sunny Wigan
Contact:

Re: Emulating (or obtaining!) an ARM Evaluation System

Post by Boydie » Thu Jan 09, 2020 10:43 am

You’re familiar with this, http://www.righto.com/2015/12/reverse-e ... f.html?m=1, I presume?

VectorEyes
Posts: 281
Joined: Fri Apr 13, 2018 1:48 pm
Contact:

Re: Emulating (or obtaining!) an ARM Evaluation System

Post by VectorEyes » Thu Jan 09, 2020 1:36 pm

Thanks everyone for your replies.
Coeus wrote:
Wed Jan 08, 2020 5:39 pm
And B-Em does too. Again I am not sure how accurate the emulation is. I am also not sure what the benefit of making the emulation cycle accurate is. Is this just a technical challenge, something you want to do? Or is there some piece of software you want to run that existing emulators are not sufficiently accurate for?
Basically, I'd like to explore the feasibility of doing a (demo-scene) demo on the ARM1. Having seen cmorley's Bad Apple (which blasts code and data into the Tube memory window), and given that there was a Tube version of Elite, I'd like to see what you can do when you have an ARM1 co-pro at the other end of the Tube. Perhaps the Tube restrictions mean you just can't get many impressive effects out of the system, but it would be nice to give it a go!
Boydie wrote:
Thu Jan 09, 2020 10:43 am
You’re familiar with this, http://www.righto.com/2015/12/reverse-e ... f.html?m=1, I presume?
I'd seen it a while back but completely forgotten about it, thank you.

What I don't want to do is spend a lot of time prototyping on an emulated system that's similar to the ARM1 but different enough that when I finally come to try it on actual hardware it doesn't work. Hence my question being about the accuracy of existing emulation.

SteveBagley
Posts: 220
Joined: Sun Mar 15, 2015 8:44 pm
Contact:

Re: Emulating (or obtaining!) an ARM Evaluation System

Post by SteveBagley » Thu Jan 09, 2020 1:57 pm

VectorEyes wrote:
Thu Jan 09, 2020 1:36 pm
What I don't want to do is spend a lot of time prototyping on an emulated system that's similar to the ARM1 but different enough that when I finally come to try it on actual hardware it doesn't work. Hence my question being about the accuracy of existing emulation.
How much changed between the ARM1 and the ARM2 -- was it just the addition of the Multiplier? I guess what I'm wondering is whether you could build an ARM2-based ARM co-processor (the circuit diagram, ROM image and PAL equations are all about, so it should be doable -- you'd just need to source an ARM2 and Tube ULA) and then just code it without using the ARM2 instructions or whether there were other optimisations that would effect instruction timing.

Mind you, I suspect the TUBE will be the limiting factor since it is a byte wide port so an ARM2 instead of an ARM! probably wouldn't make that much difference if you avoided using MULtiply.

Steve

User avatar
hoglet
Posts: 8825
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Emulating (or obtaining!) an ARM Evaluation System

Post by hoglet » Thu Jan 09, 2020 2:16 pm

It won't be cycle accurate compared to the ARM 1, but the Matchbox Co Pro contains an ARM 2 Co Processor.

It uses the Amber ARM2a core:
https://en.wikipedia.org/wiki/Amber_(processor_core)
https://opencores.org/projects/amber
https://opencores.org/websvn/filedetail ... r-core.pdf

It's currently clocked at 32MHz, but it might be possible to slow this down to the original clock speed of 6.67MHz or 8MHz.

Dave

User avatar
BigEd
Posts: 2775
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Emulating (or obtaining!) an ARM Evaluation System

Post by BigEd » Thu Jan 09, 2020 5:02 pm

I found the 1986 ARM Hardware Reference Manual (27 page PDF) just a couple of clicks away from
https://en.wikichip.org/wiki/acorn/micr ... tures/arm1

Edit: ARM2 changes described here.

(Also, here, OCRd and searchable.)

Agree with Dave (of course!) the co-pro model could be throttled to a suitable instruction rate. With the nature of the Tube interface to the host, if the ARM is pushing the I/O as fast as it can then it will be rate-limited by the host. (Edit: as Steve noted already!)

User avatar
BigEd
Posts: 2775
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Emulating (or obtaining!) an ARM Evaluation System

Post by BigEd » Thu Jan 09, 2020 5:45 pm

SteveBagley wrote:
Thu Jan 09, 2020 1:57 pm
How much changed between the ARM1 and the ARM2
On Usenet's comp.arch, Sophie wrote in 1988:
Scaled indexed by register shifted by register (i.e. effective address was ra+rb<<rc) was removed from the instruction set (too hard to compile for) [scaled indexed by register shifted by constant was NOT removed!].
("Some facts about the Acorn RISC Machine")

Post Reply