I recently became aware of this MMC MULTI CHECKER-02 board, which is an MMC1 development board with a discrete logic implementation of the MMC1 mapper. A manual for it can be found here, but note that it primarily describes DIP switch settings for various possible memory configurations, rather than how the board works. Unfortunately, we only have this one photo and so it's impossible to determine at this time exactly how it works, but it uses 4 serial-to-parallel shift registers as register storage and lacks a common shift register that would act as the MMC1 serial load register. Note that it has 4 sets of 6 LEDs to show the state of the 4 registers and, presumably, whether each register has received a complete set of 5 writes (the green LED).
What makes this interesting is that many Nintendo-produced MMC1 games, such as Zelda 1, Zelda 2, and Metroid, do a reset write to all 4 MMC1 registers rather than a single reset write to any register, which is all that is necessary with the available ASIC version of the mapper. Like with the $3F00 $0000 address writes to $2006, which we now know is a workaround for palette corruption, I've seen this dismissed before as cargo cult programming or developers not understanding the hardware for which they're developing. However, I suspect that these 4 writes are actually intended for compatibility with this development board, which may handle reset for each shift register separately.
What makes this interesting is that many Nintendo-produced MMC1 games, such as Zelda 1, Zelda 2, and Metroid, do a reset write to all 4 MMC1 registers rather than a single reset write to any register, which is all that is necessary with the available ASIC version of the mapper. Like with the $3F00 $0000 address writes to $2006, which we now know is a workaround for palette corruption, I've seen this dismissed before as cargo cult programming or developers not understanding the hardware for which they're developing. However, I suspect that these 4 writes are actually intended for compatibility with this development board, which may handle reset for each shift register separately.
Statistics: Posted by Fiskbit — Thu Jan 25, 2024 11:06 pm — Replies 1 — Views 122