Beeb FPGA port to Spectrum Next

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
fordp
Posts: 925
Joined: Sun Feb 12, 2012 9:08 pm
Location: Kent, England

Re: Beeb FPGA port to Spectrum Next

Postby fordp » Mon Dec 11, 2017 11:11 pm

northernbob wrote:afraid am gonna be slacking a bit, this week. its crazy party season going on here! am booked up for the next 7 days (well 6+1 star wars film)

` an external tube connection`

am a bit confused with your wording there. thats an actual circuit in the fpga?

btw, with regard to cores....is there a master core made up? how much larger would that be?

does the model b core inc any vram ? i believe tbblue has 128k of vram in the core.
surely the model b isnt vastly bigger than the z80 core, there must be some free fpga space to add, little extras?

AM rusty on bbc architecture in the 1988-1995 era. I played with a acorn pc in 1995, owned by one my computer lecturers at uni.
Which version of risc os, would that have run? v3?
which is the smallest risc cpu that can run risc os? I mean i guess the cpu from ` The A3010 model ` is too large for the fpga in the next?
btw am just thinking out loud/forward here!
Is the ARM250 an open core? is there something like this that would fit on the next.
WOuldnt a risc based cpu, be easier to accelerate, than a z80. I suspect am asking the wrong question there )

basically, which is the most advanced risc cpu, that fits on the next fpga, that can be accelerated to the `highest level` ? using the copro lever/crowbar!


Start here: https://github.com/hoglet67/PiTubeDirect/wiki
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

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

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Tue Dec 12, 2017 7:35 am

northernbob wrote:` an external tube connection`

am a bit confused with your wording there. thats an actual circuit in the fpga?

The "Tube" is the name Acorn gave to the interface used to connect a the Beeb's 6502 to a second processor:
https://en.wikipedia.org/wiki/Tube_(BBC_Micro)

That's the interface we use to connect to the Pi.

With the right software (PiTubeDirect) the Pi is able to then emulate any one of several second processors (6502, Z80, 6809, ARM2,...). The most highly tuned is the 6502, which effectively runs at 270MHz. i.e. A BBC Basic program will run over 100x faster than on the Beeb itself.

As well as emulating legacy processors, it's also possible to run code on the Pi directly. It provides a RISC OS like API, and recently people have started doing some quite cool things with this. For example, RobC wrote a ZX81 emulator and a Jupiter Ace emulator. These both run on the Pi, and use the host Beeb for all I/O (i.e. screen, keyboard, file system, etc.).

northernbob wrote:btw, with regard to cores....is there a master core made up? how much larger would that be?

The current core implements both a Model B and a Master 128. One of the push buttons allows you to switch between them at run time.

northernbob wrote:does the model b core inc any vram ? i believe tbblue has 128k of vram in the core.
surely the model b isnt vastly bigger than the z80 core, there must be some free fpga space to add, little extras?

It uses the fast external SRAM as video RAM.

Last time I looked we were using about 60% of the available space.

But most of that is actually a 6502 debugger, which is an embedded version of this:
https://github.com/hoglet67/AtomBusMon/wiki

This, and any many of the other options, can be enabled/disabled at compile time:
https://github.com/hoglet67/BeebFpga/bl ... xt.vhd#L56

Dave

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

Re: Beeb FPGA port to Spectrum Next

Postby BigEd » Tue Dec 12, 2017 7:37 am

As the FPGA in the Next is one size bigger than the one in the Matchbox, all the Matchbox cores should fit. So, in due course, there's a good chance any of them could be got to run.

However, actually making any core work is going to take some fiddling, with a real card. It seems even the Next team are having some adventures in adjusting their design from the older RAM chip to work with either the older or the newer one. And they've (at least temporarily) withdrawn their 28MHz effort.

Hopefully this is just the usual bringup. Possibly some shortcomings of the board design are being discovered.

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Tue Dec 12, 2017 8:22 am

With the right software (PiTubeDirect) the Pi is able to then emulate any one of several second processors (6502, Z80, 6809, ARM2,...). The most highly tuned is the 6502, which effectively runs at 270MHz. i.e. A BBC Basic program will run over 100x faster than on the Beeb itself.

As well as emulating legacy processors, it's also possible to run code on the Pi directly. It provides a RISC OS like API, and recently people have started doing some quite cool things with this. For example, RobC wrote a ZX81 emulator and a Jupiter Ace emulator. These both run on the Pi, and use the host Beeb for all I/O (i.e. screen, keyboard, file system, etc.).


nice summary!

I was missing a step in my thinking. you have to cut and paste, the existing work, to get the thing running asap.

Did not grasp you were emulating a second cpu, on the pi. I thought you were using the arithmetic processing power ofthe pi, directly. eg all the heavy maths was removed from cpu1 onto the pi, which is so muuch faster at the calculations. This is what the spec next community think the pi accelerator is doing...using the maths and gpu power of the pi, leaving the z80, to do, erm other stuff......`the host Beeb for all I/O (i.e. screen, keyboard, file system, etc.).`

I dont have the historical knowledgeofhow the beeb used a second processor. It mostly used it to run basic at a faster rate??

`it's also possible to run code on the Pi directly. It provides a RISC OS like API, and recently people have started doing some quite cool things with this. For example, RobC wrote a ZX81 emulator and a Jupiter Ace emulator`

How is this deiffernt from the first paragraph? can you give me examples of use, other than more emulators. or point me to a relevant thread )

what does cpu1 think the emulated cpu is? do you direct basic to use cpu1 or cpu2 to do the work....or dothey workin tandem,simulateously doing computations. this is controlled by software?....there a nice diagram of this, i need to pass this info on to the gui grp. Theres a lack of knowledge in the speccy community, and am gonna have to help fill in some gaps. We are mostly just a bunch of gamers :P

i need some background reading on copros as used by the beeb, obviously i dont fully understand how to exploit them. Got any suggested reading on this?

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Tue Dec 12, 2017 8:57 am

slight curve ball then for ya....

http://www.emulatronia.com/emusdaqui/sp ... na-eng.htm

can we run a 64bit zz80 on the pi?

infact can we have 3 or 4 of these running on a pi3. whats the limit to the number of virtual cpus, running on the pi ? the bandwidth of the gpio interface? its not the fastest of connections right?

this theory and christmas parties are hurting my brain LOL

time for porridge....

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

Re: Beeb FPGA port to Spectrum Next

Postby BigEd » Tue Dec 12, 2017 9:41 am

These questions and others could perhaps best be handled in a 'getting started with second processors' thread - which may or may not yet exist. Or a page on the BeebWiki. I'm just going out for the day, but might make a start this evening, if no-one beats me to it.

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

Re: Beeb FPGA port to Spectrum Next

Postby BigEd » Tue Dec 12, 2017 7:45 pm

OK, new thread here about the Tube and Second Processors. Please comment there on that.

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Wed Dec 13, 2017 8:10 am

there is a project that could make use of emulation on the pi, to a somewhat interesting effect....

https://raw.githubusercontent.com/rayda ... struct.png

imagine multiple z80s working on the pi. these coould be combines to make a display, far larger than the normal, spectrum sizes. which is of course useful for a proper gui. Hence my interest in this idea.

IF we could combine the 64bit z80 emulation with the zxpoly idea, then we are heading somewhere very interesting.

WOuld we need a layer of virtualisation on the pi to get multiple cpu emulated and running at once? esp if you try to assign ~100mb of memory to each emulated cpu ?!

ultimately this idea could beapplied to other cpu types in the future....3xarm2 combining etc

Clearly at indigo, we are interested in running an OS on the next, which is of some use in the modern era, this plan is a small step on the way to that. Prob some flaws in the plan, but its best we have at present.

would appreciate some positive feedback...

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Wed Dec 13, 2017 8:59 am

news update.....

Phoebus DokosGroup moderator The source code will be available in a few days. It’s currently undergoing final cleanup but as everyone can understand addressing the issues that arose with the 2A takes takes precedence.
As to if the core fits the UNO: it does not as the Uno uses a smaller capacity FPGA. However a cut-down version of the Next Core CAN fit on the UNO preserving a lot of the Next functionality. It’s up to the FPGA developers to adapt Victor’s code when it’s going to be released. I *have* access to the code so I can tell you without a shadow of a doubt that as Victor promised the code will be released.

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Sun Jan 07, 2018 2:25 pm

thing gone a little quiet since christmas. most folk had other things to do!

a lad in the indigo grp has posted this. my pizero is broke so i cant try it.

https://l.facebook.com/l.php?u=https%3A ... I83rjTwjDg

might have another go at meeting mark, got things to do in weston on weds....

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Sun Jan 07, 2018 2:26 pm

Initial release of Raspberry Pi Operating System. Looking to add a USB keyboard/Mouse to the Next along with a improved display output .ie take the 256*192 output and display it as 1024*768 using HQX to smooth out the graphics. this release is just to see who would be interested in this and is it worth while along these lines. If you have a Rpi/Rpi2/Rpi3 and you plug an ethernet cable into your boards there is a web status page too. All of this done with the power of Pascal. I am assume people know that they need the boot files on the sd card first and just replace the kernel(7).img file. Please comment if you need any help


Return to “hardware”

Who is online

Users browsing this forum: hoglet and 3 guests