"Minus One" - 3 x cartridge Electron expansion

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

"Minus One" - 3 x cartridge Electron expansion

Postby myelin » Tue May 16, 2017 7:09 pm

UPDATE: Circuit, VHDL, and latest docs are on GitHub.

I've been looking forward to these PCBs showing up :)

2017-05-16 minus_one_and_flash_carts.jpeg

I haven't had any luck getting my Elk to work with its Plus 1 attached, and haven't had any luck finding another affordable one on eBay, so I went ahead and designed this thing. It's basically just the cartridge circuitry of the Plus 1, except with a third cartridge socket, and a CPLD instead of the discrete logic.

I'm not particularly proud of the wiring; despite spending ages trying to get all the signals cleanly out of the expansion connector and to the cartridge slots, what I ended up with was kinda messy and loopy, but with any luck it'll work.

Also pictured: a couple more variants on my 32kB flash cart.
Last edited by myelin on Thu Nov 02, 2017 4:23 pm, edited 2 times in total.
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.

paulb
Posts: 784
Joined: Mon Jan 20, 2014 9:02 pm

Re: "Minus One" - 3 x cartridge Electron expansion

Postby paulb » Tue May 16, 2017 7:32 pm

myelin wrote:I've been looking forward to these PCBs showing up :)

I haven't had any luck getting my Elk to work with its Plus 1 attached, and haven't had any luck finding another affordable one on eBay, so I went ahead and designed this thing. It's basically just the cartridge circuitry of the Plus 1, except with a third cartridge socket, and a CPLD instead of the discrete logic.

I'm not particularly proud of the wiring; despite spending ages trying to get all the signals cleanly out of the expansion connector and to the cartridge slots, what I ended up with was kinda messy and loopy, but with any luck it'll work.

Also pictured: a couple more variants on my 32kB flash cart.


Very nice to see new circuit boards! I hope they meet your expectations.

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

Re: "Minus One" - 3 x cartridge Electron expansion

Postby roland » Wed May 17, 2017 8:01 pm

Why are your boards copyright by Google Inc?
256K + 6502 Inside
MAN WOMAN :shock:

ThomasHarte
Posts: 363
Joined: Sat Dec 23, 2000 5:56 pm

Re: "Minus One" - 3 x cartridge Electron expansion

Postby ThomasHarte » Wed May 17, 2017 8:12 pm

roland wrote:Why are your boards copyright by Google Inc?

This might help to answer that.

User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

Re: "Minus One" - 3 x cartridge Electron expansion

Postby myelin » Wed May 17, 2017 8:27 pm

ThomasHarte wrote:
roland wrote:Why are your boards copyright by Google Inc?

This might help to answer that.


Exactly :) Pretty much every employment contract in California gives the employer rights to anything you do on company time, using company equipment, or (and this is the kicker) relating to the company's business... and Google has business in just about every conceivable field. If you want to do a personal project while employed at Google, there's a process to get the company to formally disclaim any interest in the project, but if you're releasing it as open source anyway, it's easier to just release it as an unofficial Google project, which means that browsing Stardot at work, soldering up boards using the EE lab at the office, etc, are all fine. I'd rather be able to use my company laptop and occasionally spend company time on this than have my own name on the copyright.
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.

paulb
Posts: 784
Joined: Mon Jan 20, 2014 9:02 pm

Re: "Minus One" - 3 x cartridge Electron expansion

Postby paulb » Wed May 17, 2017 8:56 pm

ThomasHarte wrote:
roland wrote:Why are your boards copyright by Google Inc?

This might help to answer that.


Don't believe anything they say: Google are looking to corner the Electron peripherals market! :wink:

User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

Re: "Minus One" - 3 x cartridge Electron expansion

Postby myelin » Wed May 17, 2017 10:21 pm

paulb wrote:Don't believe anything they say: Google are looking to corner the Electron peripherals market! :wink:

Resistance is futile! :lol:
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.

User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

Re: "Minus One" - 3 x cartridge Electron expansion

Postby myelin » Fri May 19, 2017 5:31 am

An update here: the board works really well! I only had one socket available to solder in, so I've only been able to test it out with a single cartridge (the center slot, occupying ROM banks 2-3), but it seems to work perfectly. I've verified with the following, with no errors:

- An original Acornsoft Countdown to Doom cartridge
- Dave's Mega Games Cartridge
- Two of my own flash cartridges (the original one based on Paul's breakout board, and a new one that matches the form factor of the small Acornsoft PCBs).

I'm also working on getting my Elk PiTubeDirect cartridge working. It seems promising (all the debug code is working properly, and I can read out the Tube startup banner from BASIC), but the OS isn't talking to the Tube yet, because I don't have the Tube Host code installed anywhere.

minus_one and elk_pi_tube_direct.jpeg
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.

User avatar
Elminster
Posts: 1632
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK

Re: "Minus One" - 3 x cartridge Electron expansion

Postby Elminster » Fri May 19, 2017 9:01 am

It must be the drugs but looks like you glued your Electron to the ceiling!

So is the issue that you current Plus 1 is busted so you have decided to reengineer the cartridge bit?

Edit: Have you thought about taking on this project? Sounds like you are half way there already and in your interest as you have no plus 1 :)

User avatar
algenon_iii
Posts: 67
Joined: Sat Nov 25, 2006 6:49 pm
Location: Cardiff

Re: "Minus One" - 3 x cartridge Electron expansion

Postby algenon_iii » Fri May 19, 2017 12:16 pm

Nice idea, considerably more compact than a Plus 1 as well.

As an aside, has anyone ever considered an Electron Plus+? Basically a single expansion that gives all of the BBC B ports (and ROM sockets) in one handy unit that plugs into the back of the electron (perhaps retrofitted into a Plus 1 case).

User avatar
Elminster
Posts: 1632
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK

Re: "Minus One" - 3 x cartridge Electron expansion

Postby Elminster » Fri May 19, 2017 12:20 pm

algenon_iii wrote:Nice idea, considerably more compact than a Plus 1 as well.

As an aside, has anyone ever considered an Electron Plus+? Basically a single expansion that gives all of the BBC B ports (and ROM sockets) in one handy unit that plugs into the back of the electron (perhaps retrofitted into a Plus 1 case).


Did you click on the link I posted above? That is what the thread covered but dont think it moved much. Would be good if Myelin picked up the mantle.

User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

Re: "Minus One" - 3 x cartridge Electron expansion

Postby myelin » Fri May 19, 2017 5:03 pm

Elminster wrote:It must be the drugs but looks like you glued your Electron to the ceiling!

So is the issue that you current Plus 1 is busted so you have decided to reengineer the cartridge bit?

Edit: Have you thought about taking on this project? Sounds like you are half way there already and in your interest as you have no plus 1 :)


That's pretty much it. The overall plan here is just to make interesting things for the Electron, with a preference toward making stuff that (a) nobody else is working on already and (b) I can actually test. So things like Tube and 1MHz Bus interfaces are off the table for now because (a) Dave Hitchins already has that taken care of with the New AP5 and (b) I don't have any Tube/1MHz hardware here so I'll have no way to know if I've gotten it right :)

If I were to make something like a Plus 1, I think my wishlist would look like:

  • As many cartridge slots as possible (3 or 4)
  • CH375B for USB
  • SD or micro-SD slot
  • Serial port or USB serial (I'd probably include an ATMEGA32U4 like
  • Flash and SRAM
  • A PiTubeDirect socket for a Raspberry Pi

The problem with making one big project that does absolutely everything is that you need to redo the whole thing after realizing you missed that one critical feature. I think I'd rather make a "Minus Six" with just six cartridge slots and nothing else, and do the rest as cartridges. Or possibly use a big CPLD and expose a "super user port" that can be programmed to add in stuff like Tube/1MHz/serial later on :)

Looks like we've actually got two "New Plus 1" threads btw: Plus 1, TNG and Redesign Electron Plus1.

Before all that... next on the list is to finish off my dual ported ram project: a cartridge with SRAM and a USB interface, that'll give you 32kB of sideways ram, that can also be read and written from an external computer. So you'll be able to switch out ROM images without turning the computer off, and have a nice fast way to get a whole lot of data in and out.
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.

User avatar
Elminster
Posts: 1632
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK

Re: "Minus One" - 3 x cartridge Electron expansion

Postby Elminster » Fri May 19, 2017 5:31 pm

Looks like we've actually got two "New Plus 1" threads btw: Plus 1, TNG and Redesign Electron Plus1.


Think there are several more kicking about and many discussion in the pub/inn/tavern over the years. Just need to some one to build it. And I think you probably now the closest as most people have added to or moded exiting plus1. You have built a semi replacement. I'll give you a few weeks to knock up the everything design, I'll expect my prototype bored in a few months ? :)

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

Re: "Minus One" - 3 x cartridge Electron expansion

Postby fordp » Fri May 19, 2017 5:43 pm

myelin wrote:
I'm also working on getting my Elk PiTubeDirect cartridge working. It seems promising (all the debug code is working properly, and I can read out the Tube startup banner from BASIC), but the OS isn't talking to the Tube yet, because I don't have the Tube Host code installed anywhere.

minus_one and elk_pi_tube_direct.jpeg


Looks like this is the NZ version with the photo upside down!
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

paulb
Posts: 784
Joined: Mon Jan 20, 2014 9:02 pm

Re: "Minus One" - 3 x cartridge Electron expansion

Postby paulb » Fri May 19, 2017 9:50 pm

myelin wrote:The problem with making one big project that does absolutely everything is that you need to redo the whole thing after realizing you missed that one critical feature. I think I'd rather make a "Minus Six" with just six cartridge slots and nothing else, and do the rest as cartridges.


I think this is the best strategy, too. It would be nice to have some enhancements to the cartridge connections, though, adding the missing address pins, for instance. Maybe there would need to be a separate connector for these extra pins to prevent compatibility issues. You wouldn't want to mess around with different connector widths, certainly.

User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

Re: "Minus One" - 3 x cartridge Electron expansion

Postby myelin » Fri May 19, 2017 10:28 pm

paulb wrote:I think this is the best strategy, too. It would be nice to have some enhancements to the cartridge connections, though, adding the missing address pins, for instance. Maybe there would need to be a separate connector for these extra pins to prevent compatibility issues. You wouldn't want to mess around with different connector widths, certainly.


Ahh... this is such a can of worms! Whenever I start thinking about this, I usually end up concluding that the current cartridge spec, annoying as it can be, is good enough -- it's standard, supported by a ton of hardware, gives access to &FCxx and &FDxx, and gives each cartridge two sideways bank IDs that are guaranteed to not conflict with anything.

Having access to the rest of the address pins would let you do clever things like bus monitors, but unless you want to disconnect the ULA (and lose the keyboard, cassette port, RGB output, etc) or desolder the OS ROM, you won't be able to respond to any memory accesses outside the cartridge space anyway, which makes that less appealing. I have a PCB here that will let me hook an FPGA up to the expansion port and mess around with that sort of stuff, but despite all my brainstorming, I haven't come up with anything else that would really take advantage of the extra pins...

(Having more than two cartridge slots, and maybe remapping nOE2 to point to a different bank on each cartridge, on the other hand, would be really useful...)
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.

User avatar
algenon_iii
Posts: 67
Joined: Sat Nov 25, 2006 6:49 pm
Location: Cardiff

Re: "Minus One" - 3 x cartridge Electron expansion

Postby algenon_iii » Sat May 20, 2017 8:24 am

Elminster wrote:
algenon_iii wrote:Nice idea, considerably more compact than a Plus 1 as well.

As an aside, has anyone ever considered an Electron Plus+? Basically a single expansion that gives all of the BBC B ports (and ROM sockets) in one handy unit that plugs into the back of the electron (perhaps retrofitted into a Plus 1 case).


Did you click on the link I posted above? That is what the thread covered but dont think it moved much. Would be good if Myelin picked up the mantle.


I have looked at the thread now, but hadn't when I first wrote my message.

paulb
Posts: 784
Joined: Mon Jan 20, 2014 9:02 pm

Re: "Minus One" - 3 x cartridge Electron expansion

Postby paulb » Sat May 20, 2017 11:02 am

myelin wrote:Having access to the rest of the address pins would let you do clever things like bus monitors, but unless you want to disconnect the ULA (and lose the keyboard, cassette port, RGB output, etc) or desolder the OS ROM, you won't be able to respond to any memory accesses outside the cartridge space anyway, which makes that less appealing. I have a PCB here that will let me hook an FPGA up to the expansion port and mess around with that sort of stuff, but despite all my brainstorming, I haven't come up with anything else that would really take advantage of the extra pins...


I think the Jafa Mode 7 Adapter intercepts (but does not override) address accesses in the complete memory space in order to know what the ULA is transferring to the screen. Certainly, it appears to track what is being written to the ULA registers. Without knowing the upper address bits, cartridges cannot know what is really going on in general on the address bus.

Also, I think you could transfer data directly to RAM if you had access to all the address pins, but without them you would have the upper address bits with unknown values, which isn't likely to be good enough if a peripheral wants to bring RDY# low and access the bus itself, which I believe should be possible.

User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

Re: "Minus One" - 3 x cartridge Electron expansion

Postby myelin » Sat May 20, 2017 5:27 pm

Ahh, MODE 7, of course! Or making an alternate display that outputs HDMI, etc. These are good applications :) I wonder if we could make an expansion that keeps NMI low all the time to disable the ULA, for a fast MODE 2 etc.

I looked into the feasibility of making bus master devices (that drive the A pins) but the version of the 6502 in the Electron doesn't have the BE pin that tells it to let go of the A lines, so that's a no go unless we want to implement that using buffers on the expansion port so cartridges can talk to each other.
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.

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

Re: "Minus One" - 3 x cartridge Electron expansion

Postby 1024MAK » Sat May 20, 2017 5:42 pm

The full address bus is useful for sniffing / monitoring the CPU and ULA.
It is also occasionally useful for write only access where a write will not upset the circuitry on the main board.

At least one pin, maybe two on the cartridge slot are not used by 99% of cards. There may be one or two other pins where the signal is hardly used by cards.

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

Re: "Minus One" - 3 x cartridge Electron expansion

Postby myelin » Sat May 20, 2017 7:49 pm

1024MAK wrote:At least one pin, maybe two on the cartridge slot are not used by 99% of cards. There may be one or two other pins where the signal is hardly used by cards.


Ooh, I didn't think of that. With the CPLD I could make nOE, nOE2, nINF*, MADET, and maybe some other Elk/Master signals software selectable, which would allow for this sort of thing.
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.

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

Re: "Minus One" - 3 x cartridge Electron expansion

Postby fordp » Thu Nov 02, 2017 1:13 pm

I would add two things to this project to make it MUCH better.
1) SD Card Slot to use David Bank's Printer Port MMFS.
2) A built in Flash Chip that emulates at least one cartridge (May as well be able to emulate 3 cartridges in one chip) to allow MMFS with just this board.
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

Re: "Minus One" - 3 x cartridge Electron expansion

Postby myelin » Thu Nov 02, 2017 5:36 pm

fordp wrote:I would add two things to this project to make it MUCH better.
1) SD Card Slot to use David Bank's Printer Port MMFS.
2) A built in Flash Chip that emulates at least one cartridge (May as well be able to emulate 3 cartridges in one chip) to allow MMFS with just this board.

Indeed :) It would be pretty feasible to add four banks of sideways RAM and four banks of flash, which would result in a memory layout kind of like on the Master.

I haven't touched the Electron in a few months, TBH, after getting a Beeb and (more recently) a Master 128 motherboard to play with. My latest project is a mezzanine board that breaks out all the CPU pins and converts the signals to 3.3V, which makes *internal* expansions possible -- and the first one of those that I make will have SD, flash, RAM, and a USB serial port, which I think covers most of the things I'm interested in.
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.


Return to “hardware”

Who is online

Users browsing this forum: No registered users and 9 guests