6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri May 17, 2024 5:13 pm

All times are UTC




Post new topic Reply to topic  [ 1 post ] 
Author Message
PostPosted: Fri Jul 30, 2021 7:35 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10800
Location: England
Beeb816 is a project which has been in progress for rather a few years (brought to you by revaldinho, hoglet, and me) but hasn't until now had a thread here. Time to fix that!

Here's a very early cut of the board:
Image

And here's the latest:
Image

Beeb816 is a simple plug in board, with a real 65816 CPU, to accelerate and expand your Acorn BBC Micro (your Beeb). The Beeb has a socketed 6502, which is a good start. (The present board connects by a short 40 way cable to a header, just for our convenience.)

What does accelerate and expand mean, in this case? First off, Beeb816 is highly compatible, running at 2MHz at power-on and in 6502 compatibility mode. A *TURBO command brings the on-board fast SRAM into play and selects a high clock speed - originally aiming for 14MHz but 16MHz is stable now.

Then, a *SHADOW command moves the graphics memory out of the way, to allow HIMEM to be set to &8000, regardless of graphics mode, and you get some free sideways RAM slots too. As usual, with SHADOW graphics, a program needs to use the official VDU drivers and not be writing directly to screen memory.

A faster CPU, even in 6502 mode, will then run programs more quickly and update the screen more quickly. We're seeing 6x or more speedup - of course not all CPU cycles are fast, because some need to access the host hardware.

Here's a snapshot of a benchmarks slide:
Image

As you see from the figures, Beeb816 is also a good match with fast second processors, such as PiTubeDirect and the Matchbox FPGA board: a faster host accelerates graphics operations, at least, and may accelerate filesystem I/O too, delivering even more responsiveness or more performance.

The 65816-mode vectors are shadowed independently of the MOS ROM, so it's possible to run general 65816 code, even with interrupts still enabled, and make direct use of the 512k of RAM - 256k of which is unassigned, free for applications to use. There's a work-in-progress port of BBC Basic, by Dominic Beesley, which can run in this way, including an embedded '816 assembler - it's ported from Acorn's Communicator machine. (It would also be possible to replace the MOS entirely but of course that's more work, and a different project.)

The board has gone through several revisions, presently at Mk2B. We expect at least one more revision, which might make for a smaller and lower profile board. Originally it was all through-hole and 5V, but availability of parts has pushed us towards some surface mount components and some 3V3 operation. (As a plus, the power consumption is now much lower.)

In fact Beeb816 now also works in an Electron or Master machine, with the extra step of needing to remove the original CPU and fit a socket. (Actually being able to close the case of the Electron will need to wait for a lower-profile implementation.) It seems likely that other 6502 systems could accept some adaptation of the project - it's all open source.

There are a couple of presentations, and some videos within, linked in our recent update thread on retrocomputingforum.com.

Here's our github repository.
Here's a recent explanatory thread on stardot.
(Our website is rather out of date.)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: