Raspberry Pi inside BBC Master (not a second processor)

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
Post Reply
andrewvideo
Posts: 97
Joined: Fri Mar 08, 2019 3:18 pm
Contact:

Raspberry Pi inside BBC Master (not a second processor)

Post by andrewvideo » Tue Dec 03, 2019 9:17 pm

Hi Guys.

I know we can use Raspberry Pi as a second processor for the BBCs. It's posbile to use the Raspberry Pi as the main computer but using the all the ports from the BBC like Keyboard,Joystick, User ports, disc drive and Video out etc from the computer?

Some could make a program / rom thats allow the Raspberry Pi to take contorl of the BBC Computer and software for the pi.

Its would be nice if I could use my Raspberry Pi for more things not using it for a second processor. :D

Might be a project for someone.

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

Re: Raspberry Pi inside BBC Master (not a second processor)

Post by BigEd » Tue Dec 03, 2019 9:28 pm

To do that today, you'd probably connect with the serial port and stick to text-mode use of the Pi. Then your Beeb is a dumb terminal, or a slightly smart terminal. You should be able to edit files, browse the web, run makefiles and develop software, just like it's the mid-80s.

PiTubeDirect isn't much help here, as the Pi in that case isn't running a full Linux, it's running well-optimised bare metal code and has to be dedicated to servicing accesses made by the Beeb or Master host machine.

Although, RobC has done some impressive things shipping sound and video from the Pi back to the host. This technique allows general C code running on the Pi - but not under Linux, or any other OS, and so no access to networking.

For the (near or mid) future, there's a very interesting project by revaldinho here which offers two FIFOs to connect an 8 bit host to a Pi (or indeed to something else) - the FIFOs and other logic mean that the Pi doesn't have such hard deadlines and can run a full Linux. There are many possibilities open, which are being thought about or worked on.

User avatar
roland
Posts: 3487
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Raspberry Pi inside BBC Master (not a second processor)

Post by roland » Tue Dec 03, 2019 10:48 pm

BigEd wrote:
Tue Dec 03, 2019 9:28 pm
To do that today, you'd probably connect with the serial port and stick to text-mode use of the Pi. Then your Beeb is a dumb terminal, or a slightly smart terminal. You should be able to edit files, browse the web, run makefiles and develop software, just like it's the mid-80s.
Then you would get something like my Atomic Linux, a visual demo is here: https://youtu.be/C49T8roKkBk

This uses a serial communication to a terminal program with limited graphic capabilities, on the beeb it should also be possible to do this as you can use vdu codes to invoke graphic commands. Running X windows or a graphical desktop environment will probably never possible.

My termnal program can be expanded to give access to other hardware resources like printer port, joystick, mouse, audio, 1MHz bus etc.
FPGAtom: much better than Atom2k15 which was even better than the real thing.
MAN WOMAN :shock:

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

Re: Raspberry Pi inside BBC Master (not a second processor)

Post by BigEd » Wed Dec 04, 2019 8:26 am

That's great Roland!

RobC
Posts: 2737
Joined: Sat Sep 01, 2007 9:41 pm
Contact:

Re: Raspberry Pi inside BBC Master (not a second processor)

Post by RobC » Wed Dec 04, 2019 12:29 pm

I was fortunate to have a stand next to Jim Russell's at the recent RISC OS London Show. He's got a Pi running RISC OS in a Beeb case:
https://mobile.twitter.com/RISCOSDevLtd ... 160706?p=p

I think he said he was on here so may be able to give more details.

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

Re: Raspberry Pi inside BBC Master (not a second processor)

Post by jgharston » Wed Dec 04, 2019 6:11 pm

andrewvideo wrote:
Tue Dec 03, 2019 9:17 pm
I know we can use Raspberry Pi as a second processor for the BBCs. It's possible to use the Raspberry Pi as the main computer but using the all the ports from the BBC like Keyboard,Joystick, User ports, disc drive and Video out etc from the computer?

Some could make a program / rom thats allow the Raspberry Pi to take contorl of the BBC Computer and software for the pi.
That essentially IS what a second processor does. It takes control of the BBC's keyboard, user ports, video out, etc. by running the Tube Host on the BBC.

Code: Select all

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

Kazzie
Posts: 985
Joined: Sun Oct 15, 2017 7:10 pm
Location: North Wales
Contact:

Re: Raspberry Pi inside BBC Master (not a second processor)

Post by Kazzie » Wed Dec 04, 2019 7:50 pm

jgharston wrote:
Wed Dec 04, 2019 6:11 pm
andrewvideo wrote:
Tue Dec 03, 2019 9:17 pm
I know we can use Raspberry Pi as a second processor for the BBCs. It's possible to use the Raspberry Pi as the main computer but using the all the ports from the BBC like Keyboard,Joystick, User ports, disc drive and Video out etc from the computer?

Some could make a program / rom thats allow the Raspberry Pi to take contorl of the BBC Computer and software for the pi.
That essentially IS what a second processor does. It takes control of the BBC's keyboard, user ports, video out, etc. by running the Tube Host on the BBC.
Or, alternatively, there's the approach used with the tube podule for the Archimedes.
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

User avatar
1024MAK
Posts: 9389
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Raspberry Pi inside BBC Master (not a second processor)

Post by 1024MAK » Wed Dec 04, 2019 8:55 pm

Just to explain it a bit further, when a second processor is used with a BBC B, or BBC Master, the existing microprocessor in the machine effectively becomes just an interface processor. The execution of the program is carried out by the second processor. With the existing microprocessor just servicing the display, keyboard, disk drive(s) and all the other I/O ports.

For the clearest examples, look at a BBC B or Master with a Z80 second processor. Now you have a set-up that runs CP/M. Or alternatively look at a Master with a 10 MHz Intel 80186 second processor with 512 KB memory. Now you have a set-up that runs DOS Plus and the GEM graphical user interface.

Mark

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

Re: Raspberry Pi inside BBC Master (not a second processor)

Post by BigEd » Wed Dec 04, 2019 10:07 pm

The thing about a second processor is that it's captive: all I/O goes to the host, which is a Beeb or Master.

This thread is about how to access the I/O that the Pi has: audio, video, network, storage, GPIO - from the user's position on the host. Normally you'd find a Pi is running Linux which has drivers for all those things, but Linux is ruled out by PiTubeDirect's architecture. It's possible some of the facilities could be made available in PiTubeDirect, but that would be a significant project. (Storage is probably the closest to being available. Maybe video fairly close?)

User avatar
1024MAK
Posts: 9389
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Raspberry Pi inside BBC Master (not a second processor)

Post by 1024MAK » Wed Dec 04, 2019 10:40 pm

Yeah, but (nearly) all focus has been on making a Pi be compatible with the Acorn Tube system. If instead you use custom code instead of the Acorn Tube code on the BBC B/Master 128 it should be possible to have the Pi running Linux or any other OS. That way you can allow for completely different timing across the interface.

Indeed, you could make a simpler interface for the BBC B/Master 128 to communicate with the Pi. With the hardware similar maybe to the way Torch did it with their Z80A processor.

Mark

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

Re: Raspberry Pi inside BBC Master (not a second processor)

Post by BigEd » Wed Dec 04, 2019 10:46 pm

I think you do need to make a different kind of connection. Unless there's a way to get the GPU to do enough of what's needed while Linux is running on the ARM (the GPU is needed for the bitbanging because there are very tight deadlines.)

Post Reply