After building a homebrew SIO2SD, I decided it would also be nice to have a multi-cartridge. I was also quite keen to see what SDX was all about, since its mentioned so much on the forum - so I wanted to build a cartridge that would support that.
I looked at the Atarimax cartridges, but the price seemed a little bit steep and I really wanted another DIY project anyway.
The SIC!Cart looked promising, since the design and PCB layout are freely available, but the use of a GAL put me off, since it meant I would need to also buy a GAL programmer and I really wanted to use current rather than obsolete parts.
In the end I decided to have a go at making something myself, largely with the aim of learning a bit more electronics.
I'm posting the design here, in case anybody fancies making one themselves - or if you are looking for a cheap way to make big cartridges for a new game. You can consider the design open source - feel free to improve.
This is a design for a low-cost 128k or 512k cartridge, and it is designed to fit in a grey XL/XE style cartridge case.
It uses standard 5v 32 pin flash EEPROMs. The cartridge is read-only - you need some way of programming the EEPROM (see below).
Bank switching is carried out by a Xilinx CPLD. I've posted the files to support either the Atarimax 1mbit or 8mbit banking schemes. You'll also need a way to program the CPLD (see below).
This isn't a project for everyone - you'll need to be happy soldering and have a bit of electronics knowledge.
You'll probably also need at least an arduino.
- 1mbit (128k) or 4mbit (512k) 32 pin Flash EEPROM e.g. SST39SF010, SST39SF040 (£1.50)
- 32 pin DIP socket for the above (£0.25)
- Xilinx XC9536XL (PLCC44) (£1.50)
- PLCC44 socket for above (£0.70)
- LP2950-33 LPE (or other 5v->3.3v regulator in TO-92 package) (£0.15)
- 2 x 10uF electrolytic capacitor (£0.20)
- 0.1uF ceramic capacitor (£0.10)
- PCB (approx £20 for 10). Eagle files attached. I've used dirtypcbs (and oshpark for a earler revision).
Total cost roughly £7
Programming the EEPROM
I've tested both 128k and 512k flash EEPROMs. I don't have an EEPROM programmer, but I do have an arduino, and there's some code on the arduino forum for programming SST39SF010/040 chips, so I went with these.
If you use a 128k chip then you can program it with a 1mbit atarimax image (use the 1mbit banking scheme on the CPLD).
If you use a 512k chip then you can program it with half of a 8mbit atarimax image (use the 8mbit banking scheme on the CPLD).
Programming the CPLD
The design uses an XC9536XL PLCC44 CPLD. You'll need some way of programming this with the desired banking scheme.
I use a bus-pirate to download the xsvf file to the device, using a homemade programming adapter.
The programming adapter is nothing more than a PLCC44 socket on some protoboard, with +3.3V, GND, TDI, TDO, TMS and TCK from the bus pirate wired to the appropriate pins of the socket. I found I didn't need any capacitors.
I believe its also possible to program these CPLDs with xsvf files using an arduino or raspberry pi - but I haven't tried. You'll still need to build some kind of adaptor using a PLCC44 socket.
You don't need to use the atarimax banking scheme - I used it since it was easy to make images for testing, and SDX was available as a 1mbit atarimax image.
I've attached the eagle project (board and schematic).
Also attached are the xsvf files for 1mbit and 8mbit banking schemes, and the corresponding VHDL+pin allocation files.
Spares & Kits
This is just a hobby project, but I've got 8 PCBs left-over if anybody is interested...
PCB only - £4 (+postage)
Note that the PCB does not have "hard gold" fingers on the edge connector - so it won't last forever. Having said that, I've tested with 30+ inserts and removals and no serious signs of wear. But if anybody knows a PCB manufacturer that can do proper gold fingers cheaply I would be very interested for future projects...
I realise that programming the CPLD is the main hurdle to making one of these, so I can maybe offer those, or complete assembled boards if a few people are interested - since I'll have to order more CPLDs...
PCB + Programmed CPLD - £8 (+postage)
Assembled without case (with 128k eeprom, programmed CPLD) - £14 (+postage)
Assembled without case (with 512k eeprom, programmed CPLD) - £15 (+postage)
PM if interested.
Edited by electrotrains, Tue May 19, 2015 12:48 PM.