Sharing my project: A Sega Genesis Cartridge PCB with FeRAM support

A place that you can discuss reproduction of classic titles or "licensed-for-reproduction" homebrew for personal use.

Moderators: B00daW, Moderators

Forum rules
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
Post Reply
soniccd123
Posts: 15
Joined: Sat Jun 27, 2020 12:01 pm

Sharing my project: A Sega Genesis Cartridge PCB with FeRAM support

Post by soniccd123 » Sun Oct 18, 2020 2:15 pm

Hello,

Its been some time since i've wanted to do this, but was unsure if posting Sega stuff in NesDev would be acceptable. I've talked to B00daW about it and he said that it would not be a problem. This is already posted in Racketboy and i though that it would be fair to share here as much of the information that made this be possible came from NesDev.

So, here it is: https://github.com/soniccd123/Genesis-FeRAM-Cart

I designed a Genesis Repro Cartridge with save capability using FeRAM memory. For a long time i've wanted to had this kind of cartridge, and i know that there is some fine commercialy available PCBs that i could buy, but besides me wanting to do it myself, IC availability, shipping cost and other situations posed a problem for me. I also wanted the possibility to change my cart as i need for prototyping and testing, so designing my own cart seemed like the ideal solution for me.

As I know that others also may have their needs concerning a cart like this, I've decided to make my project open for anyone to modify, learn or just make some for fun as needed. I know some choices i've made in the project may not suit everyone one (FeRAM is a particular controversial choice, but i really hate batteries lol), so be welcome to make your own modifications!

As for the cart itself, these are some of its features as it is now:
  • Suports Genesis and 32X software
  • ROM Support for up to 4MB
  • Save support for all ROM sizes (Selection for <2MB/4MB by jumper)
  • 32KB of FeRAM for saving
  • No need for battery for saving
  • Rudimentary ROM bank switch (Permits multiple games on same ROM, does not change FeRAM banks, maybe in the future)
I've already made some PCBs and it works well in real hardware, note that this is just a hobby for me and as such, there may be some things that i just didn't catch, particularly about tecnical details of PCB layout and etc. If you notice something, i'll be happy to learn from you and make modifications as needed.

I hope this helps someone,

Soniccd123

Markfrizb
Posts: 534
Joined: Sun Dec 02, 2012 8:17 am
Location: East Texas

Re: Sharing my project: A Sega Genesis Cartridge PCB with FeRAM support

Post by Markfrizb » Mon Oct 19, 2020 6:31 pm

soniccd123 wrote:
Sun Oct 18, 2020 2:15 pm
Hello,

Its been some time since i've wanted to do this, but was unsure if posting Sega stuff in NesDev would be acceptable. I've talked to B00daW about it and he said that it would not be a problem. This is already posted in Racketboy and i though that it would be fair to share here as much of the information that made this be possible came from NesDev.

So, here it is: https://github.com/soniccd123/Genesis-FeRAM-Cart

I designed a Genesis Repro Cartridge with save capability using FeRAM memory. For a long time i've wanted to had this kind of cartridge, and i know that there is some fine commercialy available PCBs that i could buy, but besides me wanting to do it myself, IC availability, shipping cost and other situations posed a problem for me. I also wanted the possibility to change my cart as i need for prototyping and testing, so designing my own cart seemed like the ideal solution for me.

As I know that others also may have their needs concerning a cart like this, I've decided to make my project open for anyone to modify, learn or just make some for fun as needed. I know some choices i've made in the project may not suit everyone one (FeRAM is a particular controversial choice, but i really hate batteries lol), so be welcome to make your own modifications!

As for the cart itself, these are some of its features as it is now:
  • Suports Genesis and 32X software
  • ROM Support for up to 4MB
  • Save support for all ROM sizes (Selection for <2MB/4MB by jumper)
  • 32KB of FeRAM for saving
  • No need for battery for saving
  • Rudimentary ROM bank switch (Permits multiple games on same ROM, does not change FeRAM banks, maybe in the future)
I've already made some PCBs and it works well in real hardware, note that this is just a hobby for me and as such, there may be some things that i just didn't catch, particularly about tecnical details of PCB layout and etc. If you notice something, i'll be happy to learn from you and make modifications as needed.

I hope this helps someone,

Soniccd123
If the FeRam uses the falling edge of /CE to write data. How does this work if (assuming) the Genesis with sram operates on a rising edge? or do I not understand how the Genesis triggers the RAM?

soniccd123
Posts: 15
Joined: Sat Jun 27, 2020 12:01 pm

Re: Sharing my project: A Sega Genesis Cartridge PCB with FeRAM support

Post by soniccd123 » Mon Oct 19, 2020 7:30 pm

Markfrizb wrote:
Mon Oct 19, 2020 6:31 pm
If the FeRam uses the falling edge of /CE to write data. How does this work if (assuming) the Genesis with sram operates on a rising edge? or do I not understand how the Genesis triggers the RAM?
Interesting question, i based my design in an old forum post from TmEE: viewtopic.php?f=23&t=11615&start=15#p133891

TmEE design use a SRAM chip, but checked my Sonic 3 cart that uses FeRAM (a FM1208, exactly from the same series that i'm using in this cart, which uses a larger FM1808) and it is similar, I also tested this circuit with a FeRAM in place of SRAM and it works just the same.

From my understanding, the FeRAM is just enabled by the /CE pin. If you look at the circuit, it is low (139 chips have the selected output go low) when the save address is read or writen, thats the way that the system selects it. The write is initiated by the /WE pin directly conected to Genesis /WE output which in turn only happens if /CE pin is low.

Hope this explains it,

Soniccd123.

lidnariq
Posts: 9774
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Sharing my project: A Sega Genesis Cartridge PCB with FeRAM support

Post by lidnariq » Mon Oct 19, 2020 7:41 pm

I don't know how the extra signals on the Genesis cart bus compare to the signals straight out of the 68k itself, but in a bare 68k, the address bus is marked as stable by the /AS signal being low.

I assume that the bus arbiter doesn't assert any of the relevant signals (B16, B17, B21, B26) unless /AS is low, or the VDP is doing DMA.

Markfrizb
Posts: 534
Joined: Sun Dec 02, 2012 8:17 am
Location: East Texas

Re: Sharing my project: A Sega Genesis Cartridge PCB with FeRAM support

Post by Markfrizb » Tue Oct 20, 2020 8:22 am

lidnariq wrote:
Mon Oct 19, 2020 7:41 pm
I don't know how the extra signals on the Genesis cart bus compare to the signals straight out of the 68k itself, but in a bare 68k, the address bus is marked as stable by the /AS signal being low.

I assume that the bus arbiter doesn't assert any of the relevant signals (B16, B17, B21, B26) unless /AS is low, or the VDP is doing DMA.
oh, ok. NICE the know that the FeRAM is a direct drop in replacement for the Genesis. My confusion stemmed from the Snes implementation of FeRAM which required extra circuitry (NAND chip).
Thanks

Post Reply