SNES VHDL mappers for CPLD

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
mightydidz
Posts: 99
Joined: Wed Jan 24, 2018 12:04 pm

SNES VHDL mappers for CPLD

Post by mightydidz »

Hello guys, I was wondering if any of you know if an open source vhdl code exist for the snes cartridge mapper.
In the past I built myself some repro cart using discrete hardware and jumpers to choose between lo/hi/ex and it worked fine.
I'd like to port it into a CPLD, something like a MAXII, I'll add voltage shifters.
Before investing lot of time into quartus ii, I was wondering if any of you know of an existing vhdl mappers for snes cartridge?

Thanks
Joe
Posts: 650
Joined: Mon Apr 01, 2013 11:17 pm

Re: SNES VHDL mappers for CPLD

Post by Joe »

Aren't SNES cartridge mappers pretty simple? If you're using 5V ROMs, you might be able to use a smaller 5V-tolerant programmable logic device, like the ones lidnariq suggested in this post.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: SNES VHDL mappers for CPLD

Post by lidnariq »

Yeah, the canonical SNES "mapper" is just a multiplexer, where any given pin is Address line N, address line N+1, constant high, or constant low. It's only really of use when if you're trying to make a multicart of different memory map games: otherwise you bake the map in at PCB fabrication time.
mightydidz
Posts: 99
Joined: Wed Jan 24, 2018 12:04 pm

Re: SNES VHDL mappers for CPLD

Post by mightydidz »

I know its pretty simple, its only a N+1 address line for lorom skipping A15.
Only SRAM!CE and Rom!CE need special attention, but aren't difficult to program into a VHDL code.

I simply wanted to save time for vhdl design. I want a mapper with a single jumper to select between lorom/hirom and possibly exhi.

CPLD would simply multiplex A15-A21 depending on the jumper status.
Multiplexing sram upgrade would also be nice.

Is an existing vhld already exist, or should I design it myself in quartus?
Post Reply