~ OPENSOURCE USB CARTRIGE DEVELOPMENT ~

For hardware talk only (please avoid ROM dumper stuff)
Jorge Nuno
Very interested
Posts: 374
Joined: Mon Jun 11, 2007 3:09 am
Location: Azeitão, PT

Post by Jorge Nuno » Sun Jan 27, 2008 12:58 am

Man the memory type isn't really an issue, the interface has to be done first as the memories are identical in fuctionality

BTW something no one mentioned:

GG/PAR codes? :lol:

LocalH
Very interested
Posts: 152
Joined: Tue Dec 19, 2006 5:04 pm

Post by LocalH » Sun Jan 27, 2008 1:34 am

I'm not talking about adding RAM to the system, although that would be an interesting idea in itself. I'm talking about adding full support for SSF2 banking, which can handle 64 pages of 512K, for a total of 32MB of ROM.

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Sun Jan 27, 2008 3:39 am

I don't know why you couldn't use something like DDR or DDR2 memory. Most manufacturers of FPGAs have libraries of macroblocks, and every one I've looked at has DDR/DDR2 interfaces, DMA, timers, shift registers, etc. I say just put an SODIMM socket on the cart (much smaller, so works with a cart better) and use the FPGA macro library to handle it. People can put as much or as little on the cart as they feel like. A 256 MB DDR SODIMM is only $15 from NewEgg. A 256 MB DDR2 SODIMM is only $10! So even the cheapest DDR2 SODIMM (from a reputable dealer) would give more memory than anyone could possibly use for less than a single PSRAM/SRAM. It doesn't matter if it's hard to interface with - the FPGA handles it.

You would only go for a PSRAM if you didn't wish to have an FPGA as then the interfacing IS a big deal. However, I don't see the cart without an FPGA. You need something to interface to the SD-card, maybe USB, handle bank selecting the RAM, etc. Might as well use an FPGA to handle ALL that (and more! ).

HardWareMan
Very interested
Posts: 745
Joined: Sat Dec 15, 2007 7:49 am
Location: Kazakhstan, Pavlodar

Post by HardWareMan » Sun Jan 27, 2008 4:57 am

I tried EDO DRAM. It cost me a major headache. I understand that the use of FPGA would simplify all my effort, but I want device wich cheaper and more importantly - easily repeated by newbie. Therefore, and focused on PSRAM.
In addition, when using DDR or DDR2 or even SDRAM memory you will have to negotiate TTL and LTTL. SODIMM memory is not so small as they should.

Jorge Nuno
Very interested
Posts: 374
Joined: Mon Jun 11, 2007 3:09 am
Location: Azeitão, PT

Post by Jorge Nuno » Sun Jan 27, 2008 10:05 am

Where is PSRAM to be found aside from the combo memories that mobile phones have?

The thing about DDRI/II/III is that they work at a huge frequency for a home-project and the wires will be transmission lines, which will have attenuation and signal reflection... And besides that how would the data bus be connected as these rams work with 2.5V/1.5V??

I've seen the DDR interface module for FPGA, but a FPGA to support that and the rest of the features, will be a bit pricey...

For example this FPGA from lattice: LFXP6C5QN208C (I have one):

208pins QFP (Its like the 315-5660 chip from MD2) /142 IOs;
1.8V~3.3V;
5.6k registers;
72+23 Kbits of internal RAM;
Non-Volatile/volatile configuration;

Costs 44.5€ in farnell, 29$ in mouser

Will this be the FPGA? or another one?

The LFXP3C5QN208C is lighter in density and has 136 IOs @ 19$ in mouser

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Mon Jan 28, 2008 10:20 am

The Cyclone series from Altera is pretty good as well. As long as you go with lower gate counts, the price is pretty reasonable. A Cyclone III with 10K logic block/elements cost about $20 from DigiKey ($19.20 to ~$40, depending on the exact model). The Cyclone III handbook even shows how to do DDR/DDR2 interfaces (among other things).

Shiru
Very interested
Posts: 786
Joined: Sat Apr 07, 2007 3:11 am
Location: Russia, Moscow
Contact:

Post by Shiru » Mon Jan 28, 2008 10:37 am

Isn't Cyclone III big enough to fit most of SMD hardware inside it (with external RAM and CPUs)?

Jorge Nuno
Very interested
Posts: 374
Joined: Mon Jun 11, 2007 3:09 am
Location: Azeitão, PT

Post by Jorge Nuno » Mon Jan 28, 2008 10:37 am

The lattice program has a tool called IPexpress that generates automatically some "blocks":

counters/adders/RAMblocks/... and the DDR interface is there as well

It allows to customize the blocks, like this:
Image

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Mon Jan 28, 2008 9:18 pm

Shiru wrote:Isn't Cyclone III big enough to fit most of SMD hardware inside it (with external RAM and CPUs)?
Just about. :lol: The point is that there's a decent selection of good FPGAs at reasonable prices available from a number of sources which can do the job. With enough logic blocks, you could even have a graphics coprocessor to help out, much like the Virtua Racing cart for the Genesis (only better! ).

tinctu
Very interested
Posts: 97
Joined: Tue Oct 30, 2007 8:28 pm

Post by tinctu » Mon Jan 28, 2008 10:25 pm

I like that RAM SLOT idea...
It will make that cart cheaper...
And lot of us have some extra RAM modules at home...
From old PC motherboard...

So choose the right type and then post some very first dimensions
of that RAM-SLOT...

I will try to make some very first and not official cool 3d visualisations of that cartrige... this month.
/as motivation for us :D/

Jorge Nuno
Very interested
Posts: 374
Joined: Mon Jun 11, 2007 3:09 am
Location: Azeitão, PT

Post by Jorge Nuno » Mon Jan 28, 2008 11:13 pm

Yeah a Ram slot is great, but what RAM type?

DDRI?
DDRII?
SDRAM?
DRAM-EDO?

DDRI/II it can be found anywhere, but the voltage? how can someone interface these thingies operating @ 2.5V or 1.5V? Everyone is forgetting that the megadrive works at 5V and connecting these devices to the system is not that easy because of the logic levels...

SDRAM/DRAM EDO work @ 3.3V

And the FPGA needs to have a IO voltage of at least 3.3V, unless the cart will have a logic level translator, but that is going to cost more/space wasted...

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Mon Jan 28, 2008 11:38 pm

Jorge Nuno wrote:Yeah a Ram slot is great, but what RAM type?

DDRI?
DDRII?
SDRAM?
DRAM-EDO?
Any would be fine as long as we have at least a couple MBs. :) I don't mind if it's only 4 MB PSRAM, or a slot where you add your own stick. Either is sufficient to the task.
DDRI/II it can be found anywhere, but the voltage? how can someone interface these thingies operating @ 2.5V or 1.5V? Everyone is forgetting that the megadrive works at 5V and connecting these devices to the system is not that easy because of the logic levels...

SDRAM/DRAM EDO work @ 3.3V

And the FPGA needs to have a IO voltage of at least 3.3V, unless the cart will have a logic level translator, but that is going to cost more/space wasted...
Most FPGAs have level shifting on the IO since they realize that most of the systems they'll be stuck into have varying IO levels. I guess that would be one thing to pay attention to when deciding which FPGA to use - check the FPGA handbook for what range of IO levels can be handled. As long as the FPGA handles it, then what voltages the RAM uses becomes moot.

Jorge Nuno
Very interested
Posts: 374
Joined: Mon Jun 11, 2007 3:09 am
Location: Azeitão, PT

Post by Jorge Nuno » Mon Jan 28, 2008 11:42 pm

Chilly Willy wrote: Any would be fine as long as we have at least a couple MBs. I don't mind if it's only 4 MB PSRAM, or a slot where you add your own stick. Either is sufficient to the task.
Yeah but then the cart will have 4 different sockets or more if you throw in SODIMMS :?

Chilly Willy wrote: Most FPGAs have level shifting on the IO since they realize that most of the systems they'll be stuck into have varying IO levels. I guess that would be one thing to pay attention to when deciding which FPGA to use - check the FPGA handbook for what range of IO levels can be handled. As long as the FPGA handles it, then what voltages the RAM uses becomes moot.
But but Is there a FPGA that have a IO voltage in one side of 5V (for MD) and 2.5V for DDR side? (assuming the ram chosen is DDR)

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Tue Jan 29, 2008 2:29 am

Jorge Nuno wrote:
Chilly Willy wrote: Any would be fine as long as we have at least a couple MBs. I don't mind if it's only 4 MB PSRAM, or a slot where you add your own stick. Either is sufficient to the task.
Yeah but then the cart will have 4 different sockets or more if you throw in SODIMMS :?
Well, I vote for one SODIMM for DDR2. I'll settle for any memory. As long as it's still just a discussion, I say have two models of carts: the first uses a single PSRAM; the second would have one DDR2 SODIMM socket.
Chilly Willy wrote: Most FPGAs have level shifting on the IO since they realize that most of the systems they'll be stuck into have varying IO levels. I guess that would be one thing to pay attention to when deciding which FPGA to use - check the FPGA handbook for what range of IO levels can be handled. As long as the FPGA handles it, then what voltages the RAM uses becomes moot.
But but Is there a FPGA that have a IO voltage in one side of 5V (for MD) and 2.5V for DDR side? (assuming the ram chosen is DDR)
The Cyclone divides the IO into two blocks per side, and each of these blocks has its own Vccio. The DDR2 interface would use a different IO block compared to the other in/outs so that they could comply to the proper IO voltage standards. It's all in the handbook. Folks who are interested should probably get the manuals.

Cyclone manuals: http://www.altera.com/literature/lit-cyc.jsp
Cyclone II manuals: http://www.altera.com/literature/lit-cyc2.jsp
Cyclone III manuals: http://www.altera.com/literature/lit-cyc3.jsp

Note that the Cyclone III with 5136 logic block elements can be gotten from DigiKey for as low as $12.80 in single unit quantities. I'm not saying it HAS to use a cyclone, but it's available cheap. I'd switch to Lattice if it does a better job for the same price (or the same job cheaper).

Jorge Nuno
Very interested
Posts: 374
Joined: Mon Jun 11, 2007 3:09 am
Location: Azeitão, PT

Post by Jorge Nuno » Tue Jan 29, 2008 10:22 am

I gave the lattice solution because most FPGAS are volatile, and the ones I said have flash memory to keep the configuration when it powers off...

The normal ones need a bootloader/external prom...

Post Reply