Pi-based Co-Pro on the cheap - 100MHz 6502 for £10? (now 274MHz)

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
BigEd
Posts: 1444
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Pi-based Co-Pro on the cheap - 100MHz 6502 for £10? (now 274MHz)

Postby BigEd » Fri Jun 17, 2016 12:18 pm

Dave [hoglet] and I are pleased to announce the PiTubeDirect project - some of you will have seen Dave's Pi-connecting breadboard circuit in Halifax, hooked up to an Atom.

Update: latest release is Boa, as of March 2017, runs a 6502 at 274MHz and has some bugs fixed relative to Anaconda - see this post for the announcement.

Updated update: as of June 2017 latest release is now Cobra but do feel free to give the Diamondback RC1 pre-release a spin.

Edit: Note that Kjell is selling affordable adapter boards, as kits or made up, see here.

Image

Long story short, with just two chips and a Raspberry Pi, you too could rig up a 100MHz second processor and connect it to the nearest Tube interface: Beeb or Master (or even Elk or Atom if you've got a tube interface.) You might even be able to build it for a tenner. Plus postage. A Pi Zero works well, but a Pi 3 is faster - almost any Pi will do. Here's a chance to dust off that Pi you bought and don't know what to do with.

Image

We should say that this is still an ongoing project - getting everything compatible with all hosts and getting the last few oddities sorted out is still in progress. We're using Tube Elite as one of the test cases, so it should already be OK for that purpose!

Because the Pi emulates the Tube ULA, you don't need one of those. It also emulates the second processor CPU and memory - in the case of 65C02 it's the well-tuned ARM machine code emulator (thanks Dominic!) as seen in the SPI Tube thread and in the case of the 80186, Z80 and ARM2 it's written in C. There's a 32016 emulator too but it's not quite ready for prime time - again, that's been developed up to now in the context of the SPI Tube project.

Emulating hardware like this is only possible because we're working at bare metal level, with an interrupt handling routine written in ARM assembler - although the Pi can run Linux, this demonstrates that it's not merely a Linux machine. It also demonstrates that it's feasible to emulate a variety of hardware directly interfacing to a 2MHz 6502 bus. (Or a 1MHz bus!) So there might be more interesting 8-bit projects further down the line.

Image

Th​e project as a whole builds on the work of many others - particularly some of the high level architecture comes from Simon and Dave's SPI Tube project, which in turn builds on Jason's Matchbox Co-Pro project - still the fastest Z80 copro! The CPU emulators within and the baremetal foundations come from yet more contributing projects - we've tried to acknowledge all this in the Credits Page of our wiki. (Chris had the same idea as we'd had - hope we haven't deprived him of a very interesting project!)

My own role in this project is mostly that of chief note-taker and cheerleader - you can see our development diary here.

If you want to play along, there is some great information on the wiki, and we can answer any questions you have in this thread.

(We should note that Simon is progressing in a slightly different direction with his PiCoPro project - a board to interface a Pi to the Tube with more features: midi, Econet, SD Card interface.)

Finally, note that Dave is pushing ahead even now with another feature of the same hardware: using the Pi, and even the Pi's GPU, to provide a cheap and convenient VGA output for an Atom. See here for discussion and here for the code.

Collected links:

Our wiki:
https://github.com/hoglet67/PiTubeDirect/wiki

Support for various models of Pi:
https://github.com/hoglet67/PiTubeDirec ... -Pi-Models

Atom Tube:
viewtopic.php?t=10090

The beginning of the 6502 emulator optimisation adventure:
viewtopic.php?p=127347#p127347

SPI Tube thread:
viewtopic.php?f=3&t=10421

Matchbox Co-Pro project:
viewtopic.php?t=9994

NextZ80 result:
viewtopic.php?f=44&t=8852&p=106301#p106301

Chris' idea for bit-banging ULA:
viewtopic.php?p=132034#p132034

Credits Page:
https://github.com/hoglet67/PiTubeDirec ... ledgements

Development diary:
https://github.com/hoglet67/PiTubeDirec ... ment-Diary

PiCoPro project:
viewtopic.php?t=10696

Atom VGA discussion:
viewtopic.php?p=140141#p140141

Atom VGA branch:
https://github.com/hoglet67/PiTubeDirect/tree/atom_vdu
Last edited by BigEd on Tue Aug 29, 2017 11:12 am, edited 6 times in total.

Zarchos
Posts: 2355
Joined: Sun May 19, 2013 8:19 am
Location: FRANCE

Re: Pi-based coprocessors on the cheap - 100MHz for £10?

Postby Zarchos » Fri Jun 17, 2016 12:25 pm

Fantastic !

Any idea how connectable to an Archie your project can be ?

paulb
Posts: 772
Joined: Mon Jan 20, 2014 9:02 pm

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby paulb » Fri Jun 17, 2016 1:45 pm

Nice project and, importantly, nice write-up! :)

I wonder what it would take to make the Pi a "first class" second processor in its own right: that is, running its own flavour of ARM code with the Beeb knowledgeable about it as a different ARM second processor variant than the original one. That's not a veiled criticism of what the Pi does here, which is very nice, particularly the bare-metal approach, but such a thought experiment would inform the interfacing of other processors, emulated, soft-core or "genuine" silicon.

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

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby hoglet » Fri Jun 17, 2016 1:56 pm

Hi Paul,
paulb wrote:Nice project and, importantly, nice write-up! :)

I wonder what it would take to make the Pi a "first class" second processor in its own right: that is, running its own flavour of ARM code with the Beeb knowledgeable about it as a different ARM second processor variant than the original one. That's not a veiled criticism of what the Pi does here, which is very nice, particularly the bare-metal approach, but such a thought experiment would inform the interfacing of other processors, emulated, soft-core or "genuine" silicon.

I had a go at a Native ARM Co Processor earlier, in the Matchbox/SPI Tube/Raspberry Pi Thread.

No changes are needed on the Beeb side at all.

There's no processor emulation layer; the Tube Client is written from scratch in C, and runs natively on the Pi.

Rather like Sprow's ARM7DTMI Co Pro, you end up having to implement quite a large set of SWI calls:
https://github.com/hoglet67/PiTubeClien ... tube-swi.c
just to be able to run the ARM version of BBC Basic.

It felts like I'd re-build about half of RISC OS, and that's was leaving out everything possible.

But it did work
IMG_0163.JPG

and run's BBC Basic faster than anything else I have ever seen!
IMG_0188.JPG

viewtopic.php?f=3&t=10421&start=210#p127228

I have yet to pull this work back in to PiTubeDirect, so it currently needs a Matchbox between the Pi and the Beeb as an SPI Bridge.

Dave

User avatar
davidb
Posts: 1883
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby davidb » Fri Jun 17, 2016 2:37 pm

hoglet wrote:Rather like Sprow's ARM7DTMI Co Pro, you end up having to implement quite a large set of SWI calls:
https://github.com/hoglet67/PiTubeClien ... tube-swi.c
just to be able to run the ARM version of BBC Basic.

That's quite remarkable! :shock: It sounds like you've already done a lot, if not all, of the preliminary work needed for the BBC BASIC on Android project. :D

Richard Russell might want to take a look at your repository to see what can be reused.

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

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby hoglet » Fri Jun 17, 2016 2:52 pm

davidb wrote:It sounds like you've already done a lot, if not all, of the preliminary work needed for the BBC BASIC on Android project. :D

I'm not sure how much is relevant, because each SWI is just a wrapper around a Tube API Call. I don't think that would be very useful on Android.

Dave
'

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

Re: Pi-based coprocessors on the cheap - 100MHz for £10?

Postby BigEd » Fri Jun 17, 2016 3:03 pm

Zarchos wrote:Any idea how connectable to an Archie your project can be ?

I don't know. But there was a Tube podule, so there might be hope.

User avatar
jonb
Posts: 2064
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby jonb » Fri Jun 17, 2016 3:12 pm

Flipping heck guys!

Nice work! And after I have only recently scored a matchbox co-pro.... (I will wait until your level shifter pub is available)

User avatar
davidb
Posts: 1883
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby davidb » Fri Jun 17, 2016 3:22 pm

hoglet wrote:
davidb wrote:It sounds like you've already done a lot, if not all, of the preliminary work needed for the BBC BASIC on Android project. :D

I'm not sure how much is relevant, because each SWI is just a wrapper around a Tube API Call. I don't think that would be very useful on Android.

Hmm. Looking again, I see I need the asasm assembler to assemble BASIC, so I'm back at square one, I think. :(

User avatar
sydney
Posts: 1979
Joined: Wed May 18, 2005 9:09 am
Location: Newcastle upon Tyne

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby sydney » Fri Jun 17, 2016 3:34 pm

Congratulation guys! Great to see this working after all the work that's gone into it.
It's my birthday in a few weeks and I'll be very dissapointed if I don't get at least one pi zero, I've dropped more than enough hints!

User avatar
jgharston
Posts: 2729
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby jgharston » Fri Jun 17, 2016 4:42 pm

hoglet wrote:
paulb wrote:I wonder what it would take to make the Pi a "first class" second processor in its own right: that is, running its own flavour of ARM code with the Beeb knowledgeable about it as a different ARM second processor variant than the original one.

I had a go at a Native ARM Co Processor earlier, in the Matchbox/SPI Tube/Raspberry Pi Thread.
No changes are needed on the Beeb side at all.

The whole point of the Tube system is that the host (eg the BBC) neither knows or cares what's on the other side.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

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

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby BigEd » Fri Jun 17, 2016 4:47 pm

jgharston wrote:The whole point of the Tube system is that the host (eg the BBC) neither knows or cares what's on the other side.

As time goes on I have more and more admiration for the architecture of the Beeb.

Zarchos
Posts: 2355
Joined: Sun May 19, 2013 8:19 am
Location: FRANCE

Re: Pi-based coprocessors on the cheap - 100MHz for £10?

Postby Zarchos » Fri Jun 17, 2016 4:58 pm

BigEd wrote:
Zarchos wrote:Any idea how connectable to an Archie your project can be ?

I don't know. But there was a Tube podule, so there might be hope.


Blimey !
That's awesome !
And I didn't know that =D>

User avatar
jgharston
Posts: 2729
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield

Re: Pi-based coprocessors on the cheap - 100MHz for £10?

Postby jgharston » Fri Jun 17, 2016 5:02 pm

Zarchos wrote:
BigEd wrote:
Zarchos wrote:Any idea how connectable to an Archie your project can be ?

I don't know. But there was a Tube podule, so there might be hope.
Blimey !
That's awesome !
And I didn't know that =D>

If I could find a monitor to use on my ZX Spectrum, I'd give you a demo of using the Speccy as a host processor. ;)

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

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

Re: Pi-based coprocessors on the cheap - 100MHz for £10?

Postby hoglet » Fri Jun 17, 2016 5:04 pm

Zarchos wrote:
BigEd wrote:
Zarchos wrote:Any idea how connectable to an Archie your project can be ?

I don't know. But there was a Tube podule, so there might be hope.


Blimey !
That's awesome !
And I didn't know that =D>

I think the Tube Podule makes a Archie look like a Co Pro to a Beeb (as it contains a Tube ULA). So it's not really what's needed here.

Dave

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

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby dp11 » Fri Jun 17, 2016 5:32 pm

Excellent work.

@Dave I notice the 65C02 has slowed down a bit. I assume this is down to the extra work in checking for the TUBE interface for ESCAPE etc.
If you use a multi ARM core version I assume it is back up to where it was ?

Edit :just looked at the source, so the above is rubbish

Edit edit : can you get the mailboxes to generate an IRQ and use the same event handler method as before ?
Last edited by dp11 on Fri Jun 17, 2016 5:42 pm, edited 2 times in total.

Zarchos
Posts: 2355
Joined: Sun May 19, 2013 8:19 am
Location: FRANCE

Re: Pi-based coprocessors on the cheap - 100MHz for £10?

Postby Zarchos » Fri Jun 17, 2016 5:34 pm

hoglet wrote:
Zarchos wrote:
BigEd wrote:I don't know. But there was a Tube podule, so there might be hope.


Blimey !
That's awesome !
And I didn't know that =D>

I think the Tube Podule makes a Archie look like a Co Pro to a Beeb (as it contains a Tube ULA). So it's not really what's needed here.

Dave


Yes, but now I find my Beebs even more attractive :D

paulb
Posts: 772
Joined: Mon Jan 20, 2014 9:02 pm

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby paulb » Fri Jun 17, 2016 6:33 pm

jgharston wrote:
hoglet wrote:
paulb wrote:I wonder what it would take to make the Pi a "first class" second processor in its own right: that is, running its own flavour of ARM code with the Beeb knowledgeable about it as a different ARM second processor variant than the original one.

I had a go at a Native ARM Co Processor earlier, in the Matchbox/SPI Tube/Raspberry Pi Thread.
No changes are needed on the Beeb side at all.

The whole point of the Tube system is that the host (eg the BBC) neither knows or cares what's on the other side.


What I meant was that if the Beeb had to send code over to the second processor, things like ROMs would need to be tagged with a suitable architecture identifier - if I remember the Advanced User Guide stuff correctly where ROMs have such things encoded in their headers - and then there might need to be changes in some routines dealing with ROMs, at least if the validation is really strict and forbids things it doesn't know about.

Of course, one could just tag anything in a way that lets the MOS pretend that everything is completely normal, but then I wonder about completely new architectures. Let's say we make a MIPS second processor. Although we could make it claim to be an ARM (or something else), and given that the programs would all be opaque to the Beeb it would probably work, would it be possible to have it identify itself properly and still work?

Not that I've ever done anything with the Tube: that's why I was asking.

User avatar
sorvad
Posts: 2172
Joined: Wed Aug 24, 2005 12:13 pm
Location: Back of beyond

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby sorvad » Fri Jun 17, 2016 6:49 pm

Absolutely amazing work, fantastic talent and effort =D> =D> =D> =D> =D> =D>

User avatar
eelco
Posts: 45
Joined: Thu Jul 30, 2015 6:43 am
Location: Netherlands
Contact:

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby eelco » Fri Jun 17, 2016 7:25 pm

Wow, nice job! =D>
My Acorn related files are located at:
https://acorn.huininga.nl/

IanB
Posts: 157
Joined: Sun Sep 04, 2011 7:28 pm

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby IanB » Fri Jun 17, 2016 8:04 pm

That's really nice =D>

BigEd wrote:Finally, note that Dave is pushing ahead even now with another feature of the same hardware: using the Pi, and even the Pi's GPU, to provide a cheap and convenient VGA output for an Atom.


Would it be possible to emulate a 1 Mhz bus device in a similar way? If so it might be possible to make a PRISMA 2 or 3 emulator to give the BBC an equivalent high quality graphics output. I posted about this a while ago after being inspired by the original matchbox to Pi interface. http://www.stardot.org.uk/forums/viewto ... =3&t=10737

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

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby BigEd » Fri Jun 17, 2016 8:12 pm

The two-chip solution allows us to connect 16 pins to the host micro, and we can interface with the 2MHz Beeb or 1MHz Atom. If the 1MHz bus can be used with just 16 connections, that's fine, otherwise maybe it will be necessary to add a third level converter to go up to 24 pins. Or, using a third or fourth chip to do some external decoding might help reduce the necessary pin count to 16.

User avatar
flaxcottage
Posts: 2775
Joined: Thu Dec 13, 2012 8:46 pm
Location: Derbyshire

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby flaxcottage » Fri Jun 17, 2016 8:15 pm

Great innovation, guys. =D> 8)

I am encouraged with my Pi-UK101 project now.
- John

Currently running Level 4 Econet with BBC B, BBC B+ 128K, Master 128K, 4Mb A3000, 4Mb A3020, 4Mb A4000, 4Mb A5000 dual FDD; UK101; HP41CX setup; Psion 3a, 3mx and 5mx; Z88; TI-58c, TI-59 and printer, HP-16C programmer's calculator

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

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby BigEd » Fri Jun 17, 2016 8:24 pm

flaxcottage wrote:I am encouraged with my Pi-UK101 project now.

All of this is proof of concept before I add a 6522 to my UK101 and fit a Raspberry Pi to act as a fileserver
I'll be interested to hear about progress as and when you make it!

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

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby hoglet » Fri Jun 17, 2016 9:10 pm

Hi Dominic,
dp11 wrote:@Dave I notice the 65C02 has slowed down a bit. I assume this is down to the extra work in checking for the TUBE interface for ESCAPE etc.
If you use a multi ARM core version I assume it is back up to where it was ?

Actually, I think the opposite might be true. :D

The ARM 65C02 emulation code got re-worked a bit for PiTubeDirect, with a focus on reducing code size so that everything fits inside the L1 cache, which gives a more consistent interrupt latency.

I took some notes about the CLOCKSP (Pi Zero/1000MHz ARM/400MHz Core clock/Basic II) performance through these changes:
9aa2c360 - 157.67MHz - starting point (same 6502 emulation code as in PiTubeClient)
e3636545 - 136.42MHz - WIP: Simplified FETCH_NEXT macros (to just an unconditional branch)
42dc6e25 - 170.80MHz - Compressed 65tube opcodes together and added jump table (rather than aligning on 128 byte boundaries)
527b9bac - 162.52MHz - Further reductions in 65tube code size
da5a7b45 - 149.31MHz - Extend ISR for an extra half bus cycle to correctly handle dummy reads

So shrinking actually made it run faster (at least initially), because there are far fewer L1 cache misses.

In PiTubeDirect there is a significant overhead in emulating the Tube that's not present in PiTubeClient, even if all the host is doing is making status reads (which are handled solely by the ISR).

When CLOCKSP is running, the host is in the idle loop so is really hammering the Pi. If you cycle count the idle loop:

Code: Select all

0036 2C E0 FE    ,`~  BIT &FEE0         Is there a character in R1?
0039 10 06       ..   BPL &0041         No, check for command in R2
0041 2C E2 FE    ,b~  BIT &FEE2         Is there a command in R2?
0044 10 F0       .p   BPL &0036         No, loop back

you end up two tube status reads in 4 + 3 + 4 + 3 cycles = 7 us (at 2MHz).

Each of these reads causes the PiTubeDirect ISR to execute, and it currently runs for ~800ns (one and a half 6502 bus cycles)

That's an overhead of 20-25%.

On the Pi 3, to minimise interrupt latency (for reliability not performance), the ISR is running on one core and the emulator on another. Because of this, the mechanism for communicating between the ISR and the Emulator is changed, and is much less efficient. That really slows things down to about 107MHz.

I'd like to take the code from 42dc6e25 and push this back into PiTubeClient and see what we get. It may well be close to 200MHz!

Dave

P.S. Another interesting data point.... On the Atom the 6502 runs at 1MHz, and this reduces the overhead from the idle loop, and CLOCKSP increases from 149.12MHz to 179.21MHz. It took me a while to figure out why things were so much faster on the Atom!
Last edited by hoglet on Fri Jun 17, 2016 9:16 pm, edited 1 time in total.

User avatar
sirmorris
Posts: 712
Joined: Wed Feb 11, 2009 12:18 pm
Location: oxfordshire uk
Contact:

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby sirmorris » Fri Jun 17, 2016 9:14 pm

=D> =D> Incredible stuff =D> =D>

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

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby dp11 » Fri Jun 17, 2016 9:20 pm

Dave I see what you mean. might be worth trying with the old fetch macros as they make better use of the ARM pipeline.

Can you make the mailboxes on the PI3 generate an IRQ so the old event handler method could be used ?
Last edited by dp11 on Fri Jun 17, 2016 9:22 pm, edited 1 time in total.

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

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby BigEd » Fri Jun 17, 2016 9:22 pm

Hi Dave
A couple of thoughts... is that "further reductions" change now known not to be a net benefit? Or am I missing something?

Second, is there a case for a single-flavour copro build, which doesn't need to support the *FX CPU-changing commands and therefore doesn't need the extra half-cycle wait in the ISR?

Or, in both cases, is the performance gain a bit too small to be worrying about?!

Edit: that's a very amusing observation on the Atom!

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

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby hoglet » Fri Jun 17, 2016 9:34 pm

dp11 wrote:Dave I see what you mean. might be worth trying with the old fetch macros as they make better use of the ARM pipeline.

But they significantly increase the code size.

It turns out once the code size drop below the L1 cache size, the increase in performance due to fewer cache misses far exceeds the cost of a few pipeline stalls.

I'm pretty sure this will be a big net gain for the 65C02 in PiTubeClient.

dp11 wrote:Can you make the mailboxes on the PI3 generate an IRQ so the old event handler method could be used ?

I assume by mailbox you mean the per-core mailboxes? We're not currently using these, but it might be possible.

But our focus is still making this work reliably, rather the performance.

Dave

User avatar
jgharston
Posts: 2729
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield

Re: Pi-based Co-Pro on the cheap - 100MHz 6502 for £10?

Postby jgharston » Fri Jun 17, 2016 9:40 pm

paulb wrote:
jgharston wrote:
hoglet wrote:I had a go at a Native ARM Co Processor earlier, in the Matchbox/SPI Tube/Raspberry Pi Thread.
No changes are needed on the Beeb side at all.
The whole point of the Tube system is that the host (eg the BBC) neither knows or cares what's on the other side.
What I meant was that if the Beeb had to send code over to the second processor, things like ROMs would need to be tagged with a suitable architecture identifier

They already are - the ROM type byte at &8006 specifies the target CPU in the bottom four bits, and the sideways ROM header can also be used for code loaded from disk. I have various sideways ROMs with the header specifying Z80, PDP11, 6809 and ARM. ;)

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_


Return to “hardware”

Who is online

Users browsing this forum: Bing [Bot] and 10 guests