Elk turbo board

discuss both original and modern hardware for the bbc micro/electron
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Elk turbo board

Post by Ramtop »

Hi all,

About 18 months ago I got the idea of trying my hand at a minimalist turbo card for the Electron. I finished the PCB layout, wrote most of the Verilog for the CPLD, and then became distracted by other things without ever building one to see if it worked.

A few weeks back I found the old files and decided to order the PCBs and build some, just to see if the thing would function. It does, and quite well too, although I’ve made several mistakes that need fixing. It’s a very bare bones board, as it stands it can’t even be disabled without physically removing it. Installation is a bit involved. The CPU needs to come out of the Electron motherboard and a socket fitted in place, with the CPU moved to the turbo board. But on the positive side no wires have to be attached to the motherboard.

Performance can be a bit faster than the Slogger or Elektuur turbo cards since it accelerates 12K rather than 8K. Seems stable too, which is a nice surprise. I played games with it for several hours without any problems.

Biggest oops in the design is physical, it’s too tall and presses on the underside of the keyboard. With hindsight I should have moved the CPU further toward the back of the machine. A bodge wire is also needed for 12K operation due to routing error.

To be honest, I’m not sure where to go with this project. I’m leaning toward doing a second revision to fix the obvious issues and then open sourcing it, perhaps building a few for members who are interested and can handle the difficult installation if there’s any demand for that.
turbo2.jpg
elkturbo.jpg
Gary
User avatar
Elminster
Posts: 4256
Joined: Wed Jun 20, 2012 9:09 am
Location: Essex, UK
Contact:

Re: Elk turbo board

Post by Elminster »

Height always an issue on the original turbo and mbr boards, I remember the sockets being not quite as low profile as they should be and have to change them again. Oh I did swear.
shakesc
Posts: 50
Joined: Tue Apr 24, 2018 3:34 pm
Contact:

Re: Elk turbo board

Post by shakesc »

Looks interested

I was going have a hack at the Dutch turbo board but this seems nicer
Interested if you get round to building boards
BBC Master , Electron
User avatar
walkerworks
Posts: 118
Joined: Tue Oct 22, 2019 12:03 pm
Contact:

Re: Elk turbo board

Post by walkerworks »

Very interesting..if you do go for a second revision I'd be interested.

Derek
bygonebytes.co.uk
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

I'll do another revision, it's fairly necessary since I really like the Elk with some extra speed and will end up fitting all of mine with turbo cards, but it's handy being actually able to close the case properly :D

Toying with the concept of doing two separate versions; a bug fixed version of the current design, and a more complex one with some extra features and a surface-mount WDC65C02. Having a board sitting between the CPU and ULA opens up some interesting possibilities like being able to page out the MOS ROM so the whole memory map can be RAM, or overlaying screen memory. I'd also like the try and get the CPU running above 2MHz, which seems simple enough in theory but I don't recall anyone having done it before so I'm probably missing some huge obstacle.

Anyway, I did some benchmarks using ClockSP in mode 1; 3.3x speed-up over a stock Elk, which really makes the slow screen modes much more usable.
bm_fast.jpg
bm_slow.jpg
Gary
User avatar
daveejhitchins
Posts: 6102
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Elk turbo board

Post by daveejhitchins »

Gary . . . Great project =D>

One way to lower the height is to do what Phill (Prime) did e.g. make the holes in the PCB, for mounting the CPU and ROM, the same size as the pins (max dia) of the IC socket. This way the socket sits right down to the PCB. Also, when I fit one a MRB I use an Ultra Low Profile IC socket on the Electron motherboard. Probably still 0.5mm too high!

It would be good to still have it "switchable", though :mrgreen:

Dave H.
User avatar
0xC0DE
Posts: 830
Joined: Tue Mar 19, 2019 7:52 pm
Location: The Netherlands
Contact:

Re: Elk turbo board

Post by 0xC0DE »

You keep on surprising us lovely bunch of Elk owners :mrgreen: =D> =D>
It goes without saying I am really interested in this and other extended functionality you come up with!
0xC0DE
"I program my home computer / Beam myself into the future"
:arrow: Follow me on Twitter
:arrow: Visit my YouTube channel featuring my games and demos for Acorn Electron and BBC Micro
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

Thanks, guys :D

Dave, your points about sockets are well made. I had a single low-profile socket in my parts bin and planned to use it on the motherboard, but turns out the pins I'm using on the bottom of the turbo card are square in shape and won't fit into a turned pin socket. Need to get some nice round pin strips.

I did also look at using fully sunken pin holders for the CPU, which looked ideal, but they're very difficult to get hold of and I thought it best stick to parts that are common. For the moment with these original PCBs I've made up a couple of boards with the CPU directly soldered in place, which just fits inside the Elk.
Gary
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

I've finished the fixes to the board, which amounted to almost a redesign. The CPU is moved back a bit for clearance and I've swapped the CPLD for a smaller, cheaper and easier to solder part. I'll order the PCBs at the weekend, they usually take about 2 weeks to arrive from China.

Found time to bodge in two additions to the original board. First, an enable/disable switch. This doesn't actually disable the board, it only controls the speed of the CPU. The bottom 12K of memory is still redirected to the card's SRAM so any games that try to relocate the screen there will still fail (although there seem to be very, very few that try) but the positive is that the switch works on-the-fly without the need for a reboot, much like the turbo button on an old PC.

Second, writes to the screen area are now duplicated in the SRAM so that screen reads can be taken from SRAM at 2MHz. In theory this should help with anything that reads from screen memory (like drawing or sprite routines) but at the moment I have no real way of quantifying the advantage. A simple BASIC program drawing random lines sped up by around 5% with this feature enabled.
Gary
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

I've put up a short video showing the board in action: https://www.youtube.com/watch?v=LTD66cByMWM

(sorry for the naff quality, video is not my thing)
Gary
User avatar
1024MAK
Posts: 10485
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Elk turbo board

Post by 1024MAK »

Hi Gary

I am interested in one of these, so when you start a for sale thread, please add me.

Mark
User avatar
daveejhitchins
Posts: 6102
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Elk turbo board

Post by daveejhitchins »

1024MAK wrote:
Fri Aug 28, 2020 6:12 pm
I am interested in one of these, so when you start a for sale thread, please add me.
And me, please - compatibility testing :wink:

Dave H.
User avatar
roland
Posts: 4201
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Elk turbo board

Post by roland »

Ramtop wrote:
Fri Aug 28, 2020 2:29 pm
I've put up a short video showing the board in action: https://www.youtube.com/watch?v=LTD66cByMWM
(sorry for the naff quality, video is not my thing)
I use a phone holder like this for making video's. It gives you an extra free hand and a stable picture :lol:

BTW I think I am also interested in such a turbo board. It looks really nice.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:
User avatar
roland
Posts: 4201
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Elk turbo board

Post by roland »

Can you also make the speed selection in "software"? Then we don't need a hardware switch and we don't need to drill a hole in our Elk. Only writing to a register will be enough for speed switching [-o<

And isn't there enough RAM to add a few banks of sideways RAM?
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

I'm going to have to disappoint on both of those, I'm afraid - at least with the current design. :(

To do register based speed control the CPLD would need access to enough of the address bus to do useful decoding, and at present it only has A12-A15. For the same reason sideways RAM isn't possible as the CPLD can't decode writes to &FE05 (also there's only 32K RAM on the board and all of it is used - 12K low memory plus 20K screen read caching). It really is a bare-bones, simple design.

Those will have to wait for the more complex card, which is some way off as I haven't started on that one.
Gary
User avatar
daveejhitchins
Posts: 6102
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Elk turbo board

Post by daveejhitchins »

roland wrote:
Sat Aug 29, 2020 7:41 am
Can you also make the speed selection in "software"? Then we don't need a hardware switch and we don't need to drill a hole in our Elk. Only writing to a register will be enough for speed switching [-o<

And isn't there enough RAM to add a few banks of sideways RAM?
I like this idea but the RAM would have to be thought through (when the time comes!) as contention may be an issue! Of course, if you have hardware switching then problem solved :D

Dave H.
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

A little more progress to report. After much pulling of hair and bashing of desk and bodging of wires, the turbo card now runs at 4MHz using an R65C02P4.

The implementation is very 'sub-optimal' at the moment. Only the lower 12K area is 4MHz and there's a significant performance penalty going from a 4MHz cycle back to the ULA generated CPU clock, which squanders a lot of the speed. But very quick observations:

- Anything that uses BASIC barely speeds up at all. ClockSP result rises from 1.85MHz to 2.02MHz. Logic analyser trace shows the CPU only blipping to 4MHz during the test.
- Some games run crazy fast - the timer in Hopper runs down in 3.5 seconds compared to 6.5 in 2MHz turbo. Repton's timer is 3m at 2MHz and 1m58s at 4MHz. Blagger is like the Benny Hill show :)

Not a whole lot more I can do with this hardware, I think. More speed would probably require full address decoding and mirroring the ROM, although I'm tempted to order a WDC65C02 and see if can get the board to run it at 8MHz. :shock:
Gary
shakesc
Posts: 50
Joined: Tue Apr 24, 2018 3:34 pm
Contact:

Re: Elk turbo board

Post by shakesc »

Great work, very interesting project
BBC Master , Electron
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

PCBs have been ordered, when they arrive and I can validate that I haven't horribly messed something up I will make the PCB and HDL files available and build a few boards for those who have expressed an interest. I've re-worked the design to use a CPLD with 0.8mm pitch pins rather than the previous 0.5mm pitch, which makes soldering it quite a bit less tricky. These will be 2MHz boards, the 4MHz stuff is just hacky experiments at the moment.

That said, exploration in the realm of 4MHz continues. The clock logic has been improved to make transitions from 4MHz to 1 or 2MHz smoother. Also, I've discovered the ROM in this particular Electron is perfectly happy at 4MHz, so now the bottom 12K of the MOS is accessed at 4MHz - can't do the upper 4K because of the ULA registers residing there.

4MHz vs 1MHz : https://www.youtube.com/watch?v=do2UOcJ79dU
Gary
User avatar
BigEd
Posts: 3751
Joined: Sun Jan 24, 2010 10:24 am
Location: West Country
Contact:

Re: Elk turbo board

Post by BigEd »

Nice video - smooth result! (Rotating globe demo discussed here.)
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

Received a WDC65C02-14 today but despite disconnecting pin 1 and pulling BE high it didn't work when plugged into the turbo board, but worked fine directly in the Elk's CPU socket. Cue much head scratching. And then I remembered... a WDC65C02 at 5v won't accept 3.3v as a logic high, and I'm driving the data bus from a 3.3v CPLD. Doh!

Dropped VCC to 4.5V and now it works fine.

Glad I remembered this before starting to design the board that's intended specifically for this chip. That could have been an expensive and frustrating mistake!
Gary
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

It's taken rather longer than I'd hoped due to various events reducing the time I have for retro projects, but I'm happy to say the first version of the Electron Open Source Turbo Card is now public:

https://github.com/ramtop-retro/ostc

Unlike the prototypes, there are no fine-pitch components on this revision so it's not too difficult to put together.
ostc_44.jpg
Gary
User avatar
0xC0DE
Posts: 830
Joined: Tue Mar 19, 2019 7:52 pm
Location: The Netherlands
Contact:

Re: Elk turbo board

Post by 0xC0DE »

=D> =D> =D>
0xC0DE
"I program my home computer / Beam myself into the future"
:arrow: Follow me on Twitter
:arrow: Visit my YouTube channel featuring my games and demos for Acorn Electron and BBC Micro
User avatar
roland
Posts: 4201
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Elk turbo board

Post by roland »

The board looks great. I'm interested in a board. Are there other people in the Netherlands that also want a board?

I don't know the new rates for posting to the UK (PostNL removed the UK from their rates page .... Brexit?) so I don't know what the costs and new rules will be. I have read that I have to fill in a customs form and that the recipient has to pay taxes for packages worth more than £39. This board will be less cheaper of course. However, I will continue to ship packets to my StarDot friends in the UK :)
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:
User avatar
0xC0DE
Posts: 830
Joined: Tue Mar 19, 2019 7:52 pm
Location: The Netherlands
Contact:

Re: Elk turbo board

Post by 0xC0DE »

roland wrote:
Fri Jan 01, 2021 12:49 pm
The board looks great. I'm interested in a board. Are there other people in the Netherlands that also want a board?

I don't know the new rates for posting to the UK (PostNL removed the UK from their rates page .... Brexit?) so I don't know what the costs and new rules will be. I have read that I have to fill in a customs form and that the recipient has to pay taxes for packages worth more than £39. This board will be less cheaper of course. However, I will continue to ship packets to my StarDot friends in the UK :)
Yes me, Roland, depending on the total cost :mrgreen:
Dilemma for me: I have plenty of Electrons, but no tools/skills to build the OSTC and fit it into one of my Elks myself!
0xC0DE
"I program my home computer / Beam myself into the future"
:arrow: Follow me on Twitter
:arrow: Visit my YouTube channel featuring my games and demos for Acorn Electron and BBC Micro
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

I'll be selling a slightly modified revision of the OSTC under the 'ElkExpress' name, for anyone not confident of building one. No firm date yet, however, as I'm very busy.

EU/UK shipping is currently a bit of an unknown, neither side has produced any definitive guidlines that I can find. My understanding of the situation is that for UK > EU there is no change other than having to attach a customs form to the package, no duty or fees should be payable by the recipient. Going the other way should be the same, but who knows when HMRC is involved. They're not the most predictable of organisations.
Gary
User avatar
roland
Posts: 4201
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Elk turbo board

Post by roland »

A quick guess is that the price for a complete board is about €20 - €25. I want build it for a few extra euro's. Removing the 6502 out of an Elk should be no problem also (but I don't know if it still works afterwards :mrgreen: )

BTW Gary, you didn't mention the RAM IC in the part list on Github.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:
Ramtop
Posts: 267
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop »

Ugh, there's always something!

I'll fix it now.
Gary
User avatar
0xC0DE
Posts: 830
Joined: Tue Mar 19, 2019 7:52 pm
Location: The Netherlands
Contact:

Re: Elk turbo board

Post by 0xC0DE »

roland wrote:
Fri Jan 01, 2021 3:40 pm
A quick guess is that the price for a complete board is about €20 - €25. I want build it for a few extra euro's. Removing the 6502 out of an Elk should be no problem also (but I don't know if it still works afterwards :mrgreen: )

BTW Gary, you didn't mention the RAM IC in the part list on Github.
I'm definitely interested, Roland! I could send you an entire Electron or just the motherboard. We will figure it out when the time comes :D Thanks!
0xC0DE
"I program my home computer / Beam myself into the future"
:arrow: Follow me on Twitter
:arrow: Visit my YouTube channel featuring my games and demos for Acorn Electron and BBC Micro
User avatar
jms2
Posts: 2771
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Elk turbo board

Post by jms2 »

This looks really excellent - well done!

I have a Slogger Turbo board but have not got around to fitting it because of the surgery needed versus the speed gain achievable. I could be tempted with your version though...
Post Reply

Return to “8-bit acorn hardware”