Beeb 1MHz Bus FPGA Adaptor

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
hoglet
Posts: 8583
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Wed Mar 06, 2019 3:19 pm

Current PCB Order Status:

I've decided to ask £10 for a bare PCB, including UK postage.

This might seem quite a lot for a bare board, but I need to try to recoup some of my development costs, which have grown somewhat alarmingly over the last couple of months. I'm also factoring in some time for helping people getting their boards up and running, and answering general FPGA design questions. I hope people feel I'm not being completely unreasonable.

Current Orders:

Code: Select all

Batch 1:
#01 - Hoglet (Paid)
#02 - BigEd (Paid)
#03 - Revaldinho (Paid)
#04 - FordP (Paid, Posted)
#05 - marcusjambler (Paid, Posted)
#06 - SirMorris (Paid, Posted)
#07 - dominicbeesley (Paid, Posted)
#08 - Stewie66 (Paid, Posted)
#09 - KenLowe (Paid, Posted)
#10 - Roland (Paid, Posted)

Batch 2:
#11 - Elminster (Paid, Posted)
#12 - paulv (Paid, Posted)
#13 - jasonl (Paid, Posted)
#14 - Budgie  (Paid, Posted)
#15-#17 dominicbeesley (Paid, Posted) 
#18 - anightin (Paid, Posted)
Introduction

I've started working on a Beeb 1MHz Bus to FPGA Adapter board.

The goals for this project are as follows:
  • create a general purpose platform for a variety of Beeb 1MHz Bus FPGA projects
  • get more people playing with FPGAs
  • use through-hole technology where possible, so anyone with basic soldering skills can build one
  • use a standard/cheap FPGA module for the Xilinx XC6SLX9 chip (to avoid fine pitch soldering)
  • try to keep the costs as low as possible
Here's the current PCB layout for the adapter:
Selection_010.png
And the bottom side is mostly just a solid ground plane:
Selection_011.png
Here's a summary of what's actually on there:
  • a standard 1MHz bus connector with terminators (which could be socketed)
  • links to enable IRQ and NMI (driven by transistors)
  • three 74LVC245A level shifters
  • female headers for the eepizza LX9 Core board (which also supplies 3.3V to the board)
  • a fast 512Kx8 SRAM (36-pin SOJ, such as the IDT 71V424S12). This is the only SMT component, and it's 1.27mm pitch so easy to solder.
  • an MCP4822 SPI DAC (12-bit stereo) feeding two phono outputs
  • two general purpose PMOD connectors
  • two push switches
  • one power LED
  • one user LED
The FPGA board is this one:
eepizza_new.jpg
It can be bought on ebay for £23 and saves having to do any fine pitch soldering:
https://www.ebay.com/itm/Xilinx-XC6SLX9 ... 1640406811
(ignore the fact the board on ebay looks slightly different)

The PMOD connectors allow all sorts of interesting hardware to be added. See Digilent's pmod catalog. I already have one of these:
Pmod-VGA-Oblique-1000.png
so one idea was to design a high res VGA display adaptor.

It's also possible to boot software from the 1MHz bus, which might be fun to play with.

Current status is that I've just sent the board design off to JLCPCB so I should have prototypes back in ~2 weeks.

I've got the combined Music 5000/3000 design already to go as an initial test:
https://github.com/hoglet67/Music5000/b ... x9core.vhd

I'll update this thread as things progress.

Dave
Last edited by hoglet on Wed Aug 07, 2019 12:58 pm, edited 12 times in total.

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Wed Mar 06, 2019 3:29 pm

Oops, I keep forgetting there are two hardware forums.

Could some kind moderator move this thread and the Music 5000 FPGA thread into the 8-bit hardware forum?

Ta very much,

Dave

User avatar
myelin
Posts: 738
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by myelin » Wed Mar 06, 2019 5:57 pm

Very nice! I've been feeling for a long time that the 1MHz Bus is the most interesting interface on the Beeb; between this and dp11's Pi adapter, it looks like we're about to see some very clever stuff there :)
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Wed Mar 06, 2019 6:52 pm

myelin wrote:
Wed Mar 06, 2019 5:57 pm
Very nice! I've been feeling for a long time that the 1MHz Bus is the most interesting interface on the Beeb; between this and dp11's Pi adapter, it looks like we're about to see some very clever stuff there :)
Thanks! I've just done another little experiment...

...and here's the result - an Owl pulled out of the 1MHz Bus on power up:
IMG_1582.JPG
(All credit to dv8 for his wonderful Owl Logo)

It uses the &FDFE 1MHz Bus reset hook, which is called automatically if a device asserts IRQ on reset:

Code: Select all

DA77	CLI         ;briefly allow interrupts to clear anything pending
DA78	SEI         ;disallow again N.B. All VIA IRQs are disabled
DA79	BIT &FC     ;if bit 6=1 then JSR &F055 (normally 0)
DA7B	BVC &DA80   ;else DA80
DA7D	JSR &F055   ;F055 JMP (&FDFE) probably causes a BRK unless
   		    ;hardware there redirects it.
Here's the fragment of code than needs to be placed on Jim to do this:
https://github.com/hoglet67/Music5000/b ... e_test.asm

No Paged ROMs involved!

Dave
Last edited by hoglet on Wed Mar 06, 2019 7:05 pm, edited 4 times in total.

mr-macrisc
Posts: 301
Joined: Wed Feb 07, 2018 3:35 pm
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by mr-macrisc » Wed Mar 06, 2019 7:04 pm

Cool =D>

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by dp11 » Wed Mar 06, 2019 7:15 pm

Dam you have beeten me. I've been planning this for ages

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Wed Mar 06, 2019 7:54 pm

dp11 wrote:
Wed Mar 06, 2019 7:15 pm
Dam you have beaten me. I've been planning this for ages
You mean the Owl? You should have said something when we chatted last week. :(

How about an animated startup logo from the Pi then? Maybe a mode 7 owl flapping it's wings, now that would be cool!

Will the Pi be fast enough on first boot? The Model B boots very quickly I think. I'll try to measure it tomorrow.
Last edited by hoglet on Wed Mar 06, 2019 7:55 pm, edited 1 time in total.

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by roland » Wed Mar 06, 2019 8:58 pm

Nice board, good idea. But why did you use a SMD memory chip? There are still plenty of 32 pin DIP memories available (although Farnell only sells them until the end of stock).

And as my Atom has a 1 MHz compatible bus, this could also be connected to my Atom \:D/
256K + 6502 Inside
MAN WOMAN :shock:

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Wed Mar 06, 2019 9:08 pm

roland wrote:
Wed Mar 06, 2019 8:58 pm
Nice board, good idea. But why did you use a SMD memory chip? There are still plenty of 32 pin DIP memories available (although Farnell only sells them until the end of stock).
I wanted a very fast SRAM. i.e. around 10ns access time. This can make up for the width being only 8-bits.

The AS6C4008 (the 32 pin DIP alternative) is 55ns.

Dave
Last edited by hoglet on Wed Mar 06, 2019 10:18 pm, edited 1 time in total.

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by BigEd » Wed Mar 06, 2019 9:52 pm

The 1MHz Owl Dongle might be the killer app.

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Wed Mar 06, 2019 10:18 pm

BigEd wrote:
Wed Mar 06, 2019 9:52 pm
The 1MHz Owl Dongle might be the killer app.
A ROM is probably cheaper (and simpler). :D

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Wed Mar 06, 2019 10:42 pm

hoglet wrote:
Wed Mar 06, 2019 9:08 pm
roland wrote:
Wed Mar 06, 2019 8:58 pm
Nice board, good idea. But why did you use a SMD memory chip? There are still plenty of 32 pin DIP memories available (although Farnell only sells them until the end of stock).
I wanted a very fast SRAM. i.e. around 10ns access time. This can make up for the width being only 8-bits.

The AS6C4008 (the 32 pin DIP alternative) is 55ns.
To expand on this a bit.

I'd like to implement a VGA (640x480) frame buffer (with 8 bits/pixel) and a palette. The size of the frame buffer is 300KB, which is too large to fit in internal block RAM (which is 64KB for the FPGA I'm using).

VGA runs at a 25MHz pixel clock, so ideally the RAM would run at 50MHz, leaving plenty of bandwidth for updates. To run at 50MHz you really need a 10ns access time SRAM, as it takes time for the signals to get on and off the FPGA. Even then, it's pushing it a bit.

Now, the Beeb might not be able to make use of this bandwidth directly (at it can only access at 1MHz), but an on-chip blitter could. There's enough spare RAM (212KB) to store fonts, sprites, etc. There's an open source implementation of the Atari blitter that could be used for inspiration. As, of course, could Dominic's work: A blitter for the beeb?

I was also very impressed by Radical Brad's Vulcan project. Something like this (but in the FPGA) would be very possible.

Dave
Last edited by hoglet on Wed Mar 06, 2019 10:51 pm, edited 5 times in total.

User avatar
fordp
Posts: 1033
Joined: Sun Feb 12, 2012 9:08 pm
Location: Kent, England
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by fordp » Thu Mar 07, 2019 8:43 am

Do you have a github repository yet Dave?

I would like to work on the a Wiki for 1MHz bus devices and this would seem like a good place for it. I do not need access to "code" I would do all that on a fork with push requests.

I will take a board/kit if one becomes available too, ta!
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

User avatar
marcusjambler
Posts: 684
Joined: Mon May 22, 2017 11:20 am
Location: Bradford
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by marcusjambler » Thu Mar 07, 2019 9:00 am

This sounds like a very interesting project =D>

Please put me down for a board/kit

Marcus

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Thu Mar 07, 2019 9:27 am

fordp wrote:
Thu Mar 07, 2019 8:43 am
Do you have a github repository yet Dave?
I will take a board/kit if one becomes available too, ta!
I do now:
https://github.com/hoglet67/Beeb1MHzBusFpga

See if you can edit the wiki?

My plan is to just make the bare PCBs available.

Dave
Last edited by hoglet on Thu Mar 07, 2019 9:27 am, edited 1 time in total.

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Thu Mar 07, 2019 9:28 am

marcusjambler wrote:
Thu Mar 07, 2019 9:00 am
Please put me down for a board/kit
It would just be the bare boards.

User avatar
fordp
Posts: 1033
Joined: Sun Feb 12, 2012 9:08 pm
Location: Kent, England
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by fordp » Thu Mar 07, 2019 10:04 am

I do not seem to be able to edit/open the WIki. I thought you could open just the Wiki to the whole of Github but I could be wrong on that!

https://help.github.com/en/articles/cha ... -for-wikis
Last edited by fordp on Thu Mar 07, 2019 6:59 pm, edited 2 times in total.
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

User avatar
danielj
Posts: 7561
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by danielj » Thu Mar 07, 2019 10:11 am

These look fab!! - possibly worth socketing the resistor packs to allow other things to terminate the chain?

d.

User avatar
marcusjambler
Posts: 684
Joined: Mon May 22, 2017 11:20 am
Location: Bradford
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by marcusjambler » Thu Mar 07, 2019 10:23 am

It would just be the bare boards
I will learn SMD soldering for this project :D

Marcus

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by sirmorris » Thu Mar 07, 2019 10:47 am

I'd like a board please Dave. I'll be happy to solder the smd bits for anyone unwilling.
Last edited by sirmorris on Thu Mar 07, 2019 10:47 am, edited 1 time in total.

User avatar
danielj
Posts: 7561
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by danielj » Thu Mar 07, 2019 10:48 am

sirmorris wrote:
Thu Mar 07, 2019 10:47 am
I'd like a board please Dave. I'll be happy to solder the smd bits for anyone unwilling.
Are you still using Old Crafty Hen in lieu of flux? :)

d.

dominicbeesley
Posts: 887
Joined: Tue Apr 30, 2013 11:16 am
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by dominicbeesley » Thu Mar 07, 2019 10:53 am

Cool, if you're making more of these please put me down for one!

[I thought you'd already done a framebuffer and genlock to get the owl then I spotted it was Mode 7!]

D

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Thu Mar 07, 2019 11:46 am

fordp wrote:
Thu Mar 07, 2019 10:04 am
I do not seems to be able to edit/open the WIki.
Try again now Ford.

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Thu Mar 07, 2019 12:16 pm

hoglet wrote:
Wed Mar 06, 2019 7:54 pm
dp11 wrote:
Wed Mar 06, 2019 7:15 pm
Dam you have beaten me. I've been planning this for ages
Will the Pi be fast enough on first boot? The Model B boots very quickly I think. I'll try to measure it tomorrow.
Some quick measurements on a Model B:
  • From the 5V rail coming up to the 6502 starting to run is 112ms.
  • From the 5V rail coming to to the 1MHz Bus being accessed in the reset sequence is 369ms.
Those are both, I think, much faster than I've ever seen a Pi boot.

The LX9 FPGA has a bitstream size of 2,742,528 bits. You have some control of the configuration clock speed, but at 22MHz it should configure in about 125ms, which should be be fast enough.

Dave

User avatar
fordp
Posts: 1033
Joined: Sun Feb 12, 2012 9:08 pm
Location: Kent, England
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by fordp » Thu Mar 07, 2019 6:04 pm

hoglet wrote:
Thu Mar 07, 2019 11:46 am
fordp wrote:
Thu Mar 07, 2019 10:04 am
I do not seems to be able to edit/open the WIki.
Try again now Ford.
Thanks Dave,
It works!
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

Stewie66
Posts: 23
Joined: Sun Jan 16, 2011 2:44 am
Location: Sydney
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by Stewie66 » Fri Mar 08, 2019 3:48 am

I’d be interested in a board

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Fri Mar 08, 2019 7:36 am

I will make blank PCBs available, but I have yet to even build up the prototype PCB. These have just shipped from JLCPCB, so should arrive in ~2 weeks. So expect some more progress towards the end of March.

Dave
Last edited by hoglet on Fri Mar 08, 2019 7:36 am, edited 1 time in total.

User avatar
fordp
Posts: 1033
Joined: Sun Feb 12, 2012 9:08 pm
Location: Kent, England
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by fordp » Fri Mar 08, 2019 9:25 am

The FPGA board on ebay looks like the JTAG connector will clash with your PCB Dave. Maybe it will have to be taken out and soldered on the other side of the PCB?
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

Alnitak
Posts: 23
Joined: Sun Sep 09, 2018 7:31 pm
Contact:

Re: Beeb 1MHz Bus FPGA Adaptor

Post by Alnitak » Fri Mar 08, 2019 9:38 am

The guys coming up with a lousy design for a display module for the "8 bit guy's" project to build a modern 65xx computer (aka "Commander 16") could learn a thing or two from this...

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

Re: Beeb 1MHz Bus FPGA Adaptor

Post by hoglet » Fri Mar 08, 2019 9:51 am

fordp wrote:
Fri Mar 08, 2019 9:25 am
The FPGA board on ebay looks like the JTAG connector will clash with your PCB Dave. Maybe it will have to be taken out and soldered on the other side of the PCB?
Are you going from the picture on eBay? That's not actually accurate. The board that is now shipped is slightly different.

Look at the picture I posted in the first post. It uses a header for the JTAG connector, which can easily be bent over so you can attach a cable while the board is plugged in. If you don't want to do this, you can always program the FPGA with the adapter board unplugged. In all cases, power is sup[plied directly to the FPGA board.

Dave
Last edited by hoglet on Fri Mar 08, 2019 9:55 am, edited 1 time in total.

Post Reply