Elk turbo board

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

Elk turbo board

Post by Ramtop » Fri Aug 21, 2020 6:41 pm

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: 4247
Joined: Wed Jun 20, 2012 9:09 am
Location: Essex, UK
Contact:

Re: Elk turbo board

Post by Elminster » Fri Aug 21, 2020 7:34 pm

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: 48
Joined: Tue Apr 24, 2018 3:34 pm
Contact:

Re: Elk turbo board

Post by shakesc » Fri Aug 21, 2020 8:09 pm

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: 98
Joined: Tue Oct 22, 2019 12:03 pm
Contact:

Re: Elk turbo board

Post by walkerworks » Fri Aug 21, 2020 8:28 pm

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

Derek
bygonebytes.co.uk

Ramtop
Posts: 245
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop » Fri Aug 21, 2020 10:34 pm

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: 5909
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Elk turbo board

Post by daveejhitchins » Sat Aug 22, 2020 8:31 am

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: 732
Joined: Tue Mar 19, 2019 7:52 pm
Location: The Netherlands
Contact:

Re: Elk turbo board

Post by 0xC0DE » Sat Aug 22, 2020 12:21 pm

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 demos for Acorn Electron and BBC Micro

Ramtop
Posts: 245
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop » Sat Aug 22, 2020 9:52 pm

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: 245
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop » Thu Aug 27, 2020 9:25 pm

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: 245
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop » 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)
Gary

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

Re: Elk turbo board

Post by 1024MAK » Fri Aug 28, 2020 6:12 pm

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: 5909
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Elk turbo board

Post by daveejhitchins » Fri Aug 28, 2020 7:09 pm

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: 4042
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Elk turbo board

Post by roland » Fri Aug 28, 2020 8:35 pm

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: 4042
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Elk turbo board

Post by roland » 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?
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

Ramtop
Posts: 245
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop » Sat Aug 29, 2020 8:02 am

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: 5909
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Elk turbo board

Post by daveejhitchins » Sat Aug 29, 2020 9:02 am

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: 245
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop » Sun Aug 30, 2020 3:41 pm

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: 48
Joined: Tue Apr 24, 2018 3:34 pm
Contact:

Re: Elk turbo board

Post by shakesc » Sun Aug 30, 2020 5:06 pm

Great work, very interesting project
BBC Master , Electron

Ramtop
Posts: 245
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop » Wed Sep 02, 2020 4:21 pm

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: 3423
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Elk turbo board

Post by BigEd » Wed Sep 02, 2020 6:29 pm

Nice video - smooth result! (Rotating globe demo discussed here.)

Ramtop
Posts: 245
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Elk turbo board

Post by Ramtop » Fri Sep 04, 2020 6:13 pm

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

Post Reply

Return to “8-bit acorn hardware”