So I've found what appears to be conflicting data on this dang old 'R' WRAM enable bit that was implemented in later versions of the MMC1. What follows is a regurgitation of what I've seen in our various sources, and what I've found in experiment sorry if it's tough to read, but I don't know how to present it much better than what follows. Fair warning, the text below is a bit of me rambling on...
If you go to the end you'll see where I'm looking for input from the community on the best solution on how to implement the various behaviors on a single design.
All sources I've found claim that the'R' bit exists on MMC1B and later. I have found that the MMC1 is much more 'durable' to abusive power cycling when this 'R' bit is in place while testing on by CPLD boards. The value of start up on MMC1B's is a separate debate, but I don't think it matters much. The value at start up doesn't seem to affect save 'durability' much. So it makes sense that Nintendo implemented this bit later in life.
Additionally I found that my saves were fairly susceptible I to data loss from abusive power cycling, measurably worse than the original carts even when I had this 'R' bit in place. I tried several things to improve my boards so they were at least comparable to Nintendo's. I deviated slightly from Nintendo's design and gave WRAM /WE signal to the mapper's control, vice directly wiring it to PRG R/W. So my design will take /WE high whenever the /CE pin is high, and only passes through PRG R/W to /WE when /CE is low. This appeared to significantly improve the save durability during abusive power cycling.
Note, I am working with SNROM and it's 'E' bits which are implemented on all SNROM boards AFAIK, even on early mmc1 versions without the 'R' bit. My E bits are internal to the CPLD since the SRAM I typically use only has a single chip enable (/CE).
The issue/surprising thing I found was when testing the game 'Sweet Home'. I don't have access to bootgod's DB at the moment, but from what I recall the cart there has a MMC1B2. Which according to all sources should have the 'R' bit implemented. But I found when playing this game is that the attribute tables appeared messed up after the opening title scene. I haven't gone as far as dissecting the ROM and probably should have, but it appears that this game is relying on the 'R' bit to not exist. And yes it works just fine with the 'E' bits fully operational.
So a few questions come to mind. Are there any emulators that implement the 'R' bit? I know most don't implement the 'E' bits. Does any one know of a game that relies on the later version of MMC1 with the 'R' bit? I'm guessing that most emulators don't even bother with the 'R' bit since there isn't much function other than to improve save durability from what I can tell.
So I've got a plan on how to implement things that is a sort of hybrid of early and late versions of the MMC1 and curious what people think about it. Since the 'R' bit does improve save durability I'd like to keep it in my design. While it is still decent without the 'R' bit, it only takes a min or two of heavy power cycling to loose a save slot or two on Zelda. But from what I've found some games apparently rely on this bit to not exist during operation. So I'm thinking about implementing the 'R' bit from start-up until the MMC1 is reset via 'PRG D7'. At which point the 'R' bit would cease to have any effect. In doing this I figure I'll have the most durable saves I can make (given the hardware limitations of my current design which I don't see reason to change), and also have the added compatibility since my small sampling of games only found titles that relied on the 'R' bit to not exist (I'm unaware of any titles that rely on it's existence).
Thoughts? Criticisms? Questions?
All though now that I put all of this to words, I'm realizing that I may have a better logic saving alternative which is kind of already in-place with the 'E' bits. If the 'R' bit improves the durability regardless of startup value, then why doesn't the 'E' bits themselves give me the same durability. Perhaps there's power in numbers and the combo of all 3 logic bits gives me better chances of keeping /CE high during undefined power cycling. One idea might be to just do away with the 'R' bit all together, and have the two separate E bits with the CHR in 4KB mode at s/u. My CPLD actually starts up in 8KB mode at the moment, so I've really only got the effect of one 'E' bit at power on. Although I can't control that the rom most likely uses 8KB mode leaving me with effectively only one 'E' bit at power down either way. I'd expect that saves are generally lost at power down and not power on.

All sources I've found claim that the'R' bit exists on MMC1B and later. I have found that the MMC1 is much more 'durable' to abusive power cycling when this 'R' bit is in place while testing on by CPLD boards. The value of start up on MMC1B's is a separate debate, but I don't think it matters much. The value at start up doesn't seem to affect save 'durability' much. So it makes sense that Nintendo implemented this bit later in life.
Additionally I found that my saves were fairly susceptible I to data loss from abusive power cycling, measurably worse than the original carts even when I had this 'R' bit in place. I tried several things to improve my boards so they were at least comparable to Nintendo's. I deviated slightly from Nintendo's design and gave WRAM /WE signal to the mapper's control, vice directly wiring it to PRG R/W. So my design will take /WE high whenever the /CE pin is high, and only passes through PRG R/W to /WE when /CE is low. This appeared to significantly improve the save durability during abusive power cycling.
Note, I am working with SNROM and it's 'E' bits which are implemented on all SNROM boards AFAIK, even on early mmc1 versions without the 'R' bit. My E bits are internal to the CPLD since the SRAM I typically use only has a single chip enable (/CE).
The issue/surprising thing I found was when testing the game 'Sweet Home'. I don't have access to bootgod's DB at the moment, but from what I recall the cart there has a MMC1B2. Which according to all sources should have the 'R' bit implemented. But I found when playing this game is that the attribute tables appeared messed up after the opening title scene. I haven't gone as far as dissecting the ROM and probably should have, but it appears that this game is relying on the 'R' bit to not exist. And yes it works just fine with the 'E' bits fully operational.
So a few questions come to mind. Are there any emulators that implement the 'R' bit? I know most don't implement the 'E' bits. Does any one know of a game that relies on the later version of MMC1 with the 'R' bit? I'm guessing that most emulators don't even bother with the 'R' bit since there isn't much function other than to improve save durability from what I can tell.
So I've got a plan on how to implement things that is a sort of hybrid of early and late versions of the MMC1 and curious what people think about it. Since the 'R' bit does improve save durability I'd like to keep it in my design. While it is still decent without the 'R' bit, it only takes a min or two of heavy power cycling to loose a save slot or two on Zelda. But from what I've found some games apparently rely on this bit to not exist during operation. So I'm thinking about implementing the 'R' bit from start-up until the MMC1 is reset via 'PRG D7'. At which point the 'R' bit would cease to have any effect. In doing this I figure I'll have the most durable saves I can make (given the hardware limitations of my current design which I don't see reason to change), and also have the added compatibility since my small sampling of games only found titles that relied on the 'R' bit to not exist (I'm unaware of any titles that rely on it's existence).
Thoughts? Criticisms? Questions?
All though now that I put all of this to words, I'm realizing that I may have a better logic saving alternative which is kind of already in-place with the 'E' bits. If the 'R' bit improves the durability regardless of startup value, then why doesn't the 'E' bits themselves give me the same durability. Perhaps there's power in numbers and the combo of all 3 logic bits gives me better chances of keeping /CE high during undefined power cycling. One idea might be to just do away with the 'R' bit all together, and have the two separate E bits with the CHR in 4KB mode at s/u. My CPLD actually starts up in 8KB mode at the moment, so I've really only got the effect of one 'E' bit at power on. Although I can't control that the rom most likely uses 8KB mode leaving me with effectively only one 'E' bit at power down either way. I'd expect that saves are generally lost at power down and not power on.