Had a bug in the test above, the results were being shifted back a few bytes (sorry). Fixed it in this revision. So, the results are slightly less weird now, but still inconsistent.
Also realized that when the carts had 8k or 32k WRAM we could still get to open-bus by selecting the second chip, so I've added EKROM and EWROM support to this test. So, any of the following should work:
- Castlevania III
- Gunsight, Laser Invasion
- Metal Slader Glory
- Uchuu Keibitai SDF
- Aoki Ookami to Shiroki Mejika - Genchou Hishi
- Gemfire, Royal Blood, Romance of the Three Kingdoms II, Sangokushi II
- Just Breed
- Nobunaga no Yabou - Bushou Fuuun Roku
- Shin 4 Nin Uchi Mahjong - Yajuman Tengoku
Compromises with the character sets:
- Aoki Ookmi / Nobunaga no Yabou use U-Z in place of A-F
- Just Breed uses the bottom half of 2-tile tall numbers/letters. (It had no 1-tile tall set of characters.)
- Shin 4 Nin uses: 0 1 2 3 4 5 P US SH S + AR T 6 7 8 9. (Seemed the best I could do with what's there.)
Again, because it's a hotswap test, please don't do it unless you think it's worth the risk to your hardware. (For me it is, and I've done it a hundred times, but I'm still OK with the possibility something will break.)
.
So... The only other MMC5 card I have to test on-hand is Just Breed.
The results are still variable, but seem far less random. The deviations from open bus are almost always only in the last 4 or 5 rows, on the last of group of 8... e.g. 65C7, 65CF, 65D7, 65DF, etc. shows E5 and almost entirely the rest of the page shows 65.
It's almost always the bottom 3-4 xxx7 and the bottom 4-5 xxxF that get the extra bit set, though the height varies up and down 1-2 rows frequently. Sometimes xxFB also flips. Sometimes one or two expected column entries don't have the extra bit.
$5C00-5FFF is all 00.
.
Retesting Uchuu Keibitai SDF it's not as consistent as Just Breed, but with the bug in my program fixed it's at least a little less weird than before. There's no strangeness at the end of a page anymore (the special value at $7FFD etc. was just accdidentally reading the ROM area at $8000).
$5C00-5FFF is all 00.
There are patterns in columns (especially at 2^n or 2^n-1), and more bits tend to be set the further to the right and down in a page. It still varies from read to read, though. A few photos of SDF's test below.
.
So... to summarize how it seems:
- Open bus, but with some extra bits set high.
- Most often flips bits in the high nibble, but sometimes affects the low one.
- Strongly patterned tendencies correlated with the address within the page.
- Further right and down seems more likely to have flips.
- Not entirely deterministic, as far as I can tell.
- Different tendencies on different MMC5 carts?