After several months of not actually working on this project I decided enough is enough and was quite curious to see if my SRAM save feature would be operational on this PCB.
The 32KB SRAM is mapped into slot 2 16KB at a time. In fact, my CPLD mapper thus far is a recreation of the Sega Mapper because being able to support existing games is crucial. Also, this will help development transition from emulators on PC to real hardware when games are released in physical form (using my carts hopefully!).
I picked a game which supported SRAM saves, Phantasy Star (english SMSPower translation) because this particular version has the FM soundtrack unlike the english North American version.
On my first test, the save feature didn’t work; turns out I had forgotten to assign the SRAM WE pin on the CPLD (always assign your pins!). After this quick fix it worked like a charm! I guess it shouldn’t be surprise, this mapper is about as simple as VHDL design gets. However, one challenge will be to pack a bank-shift feature (to allow for multi-rom carts) inside the EPM3064. This particular CPLD is limited to 64 macrocells; enough for the Sega Mapper implementation, but maybe not so for bankshifting.
Next I need to test an all new exclusive feature – saving to serial EEPROM. No Sega Master System as far as I know did this, and logically, only new homebrew written with the serial EEPROM in mind could exploit the feature. Using the serial EEPROM greatly increases the available save memory and reduces costs at the same time.