sega master system on fpga -- memory needed


ben

Recommended Posts

hi all,

I got my papilio one last week, and started my long wanted project : recreate a sega master system on a fpga (I had written an emulator some time ago, but playing on PC is just not quite like the real thing)

So far, I got the video background showing up  on a PAL TV (using RGB through a SCART), sprites are next and sound and io (using snes controllers, i lost my old school gamepads) should be a breeze. With a T80 core to replace the original Z80, everything should be ok... except for the rom.

I need an external memory of some sort. Since the thing should handle 4 MHz communication with 8 data bit / 21 adress bits,  serial memories seem out of the question. As I'm not exactly an expert in soldering, I'm looking for a 2Mb (256k*8) parallel SRAM / EEPROM in a DIP package.

Would anyone have previous experience with this kind of thing ?

Thanks,

Ben

BTW, thumbs up for the papilio tools : after installing Xilinx tools  (hours of download, plus some trouble to get it to work with ubuntu),  with absolutely no experience in fpga, i got my first homemade blinking  led working in minutes !

 

Link to comment
Share on other sites

The reason I was asking was to see if you could use some serial RAM, like 23K256 from Microchip. They are available as 8-pin DIP.

You need 250ns access time.

These SPI RAM can go up to 20Mhz, and random read/writes use 32 bit. That would not meet your timing unless you used 8 at same time. :( So it's not an option, I guess, due to price.

A TC55V2001STI would do the job, but seems quite hard to source.

Perhaps better you get some TSSOP and get some DIP adapter. Or maybe Jack has some memory wing on the forge.

Link to comment
Share on other sites

Ben,

Your Sega Master project sounds great. I think your memory problems could probably be solved with the C/RAM Wing I'm working on. One of the reasons I started developing the C/RAM Wing was in order to provide external memory for the Papilio Arcade kit.

The C/RAM Wing uses a 16-bit Wing to provide access to a CPLD and SRAM combo. For arcade projects I was thinking that we could configure the C/RAM Wing in the following manner:

  • 8 data lines
  • 7 address lines
  • 1 clock

3 writes to address lines can set the 21 address bits that you need, since you only need 4Mhz the CPLD and SRAM can run at a higher speed and still keep up.

Jack.

Link to comment
Share on other sites

This sounds great. I did see this c/ram wing but i did not imagine this parallel/serial mix : It seems I am still not in this  programmable logic frame of mind yet... (to be honest, I just couldn't figure out how you could use it)

Do you sell it already ? If so, I'd be willing to buy one, with an extra for fast shipping.

My other option at this point is http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=SST39SF040-70-4C-PHE-ND. This has a nice "old times" feel (no fancy interface) and it is a static memory (so you can boot your favorite game with no delay or bootloader), but this would "consume" the whole 32 bit wing, wich seems a bit of a waste, really.

Fresh idea : use the free  wing to connect a SD card reader to have a full, independant system. I should order one of those wings as well, then. (plus, i'll get to write Z80 asm for the bootloader, sounds like fun too)

Thanks to you both for your quick answers,

Ben

Link to comment
Share on other sites

Ben,

I'm out of the SRAM that the C/RAM Wing uses, but I'll order some more and build a prototype C/RAM Wing for you. It should take a couple days, since the C/RAM Wing is still a prototype I'll just send you one for free. It's worth it to get more people looking at the board and helping me put it through its paces.

Jack.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.