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

SNES VHDL mappers for CPLD

Post by mightydidz » Fri Apr 30, 2021 3:40 pm

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: 469
Joined: Mon Apr 01, 2013 11:17 pm

Re: SNES VHDL mappers for CPLD

Post by Joe » Sat May 01, 2021 5:37 pm

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: 10665
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: SNES VHDL mappers for CPLD

Post by lidnariq » Sat May 01, 2021 5:52 pm

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

Re: SNES VHDL mappers for CPLD

Post by mightydidz » Mon May 03, 2021 5:55 am

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