I read that Just Breed uses $5800 in the MMC5. But there doesn't seem to be any documented info about this register I can find. Does anybody know what $5800 in the MMC5 is used for? Could anyone possibly use a CopyNES with a copy of Just Breed to help find out what $5800 does?
Just Breed writes $03 then $01 to $5800 at the begining of each VBlank, then writes $00 to it later in the VBlank code. Each writes is surrounded by a non-sense pha/pla pair. Other than this, Just Breed doesn't do anything with that, and it is unknown to me if this has any effect or not. I don't know if any other MMC5 games use this register or not.
Can someone verify if any other MMC5 games touch $5800?
Those writes to $5800 surround the game's VRAM update code. Perhaps it's signaling the MMC5 that it's doing V-Blank operations and that it shouldn't try to interpret changes on the CHR bus as an indication of rendering progress. Or, maybe it's a sort of debugging aid, where the MMC5 (or some other external device) would somehow warn the developer if the final $00 write comes after V-Blank expires.
I'd certainly like to know if the MMC5 does anything with $5800 writes. This, along with the $5010 mystery, remain the only MMC5 aspects yet to be figured out (AFAIK).
dvdmth wrote:
This, along with the $5010 mystery, remain the only MMC5 aspects yet to be figured out (AFAIK).
Somebody on the NESdevWiki wrote
some theories about $5010 and how the MMC5 supports 2 PCM modes. The theories were based on the
MMC5 PCM sound patent. Just Breed writes $40 to $4017 and then $5010 at power-up then $00 to $5010. Castlevania III writes $00 to $5010, the mahjong game that uses the MMC5 raw PCM, and L'Empereur (and probably other Koei MMC5 games) writes $00 to $5010. Laser Invasion/Gun Sight does not touch $5010 at power-up, but is still stable anyway, so the MMC5 PCM channel is probably at no-IRQ mode at power-up. IMO, the theories seem to make sense with the patent, but perhaps someone could look much more carefully to see if they have any errors.
Yeah, I saw that page in the wiki as well as the patent before, and the two seem to sync up for the most part, although the details are very sketchy (as is to be expected when reading patent gibberish). What we need is hardware testing - has anyone investigated $5010 yet?
An easy test that wouldn't require hearing MMC5 sound output would be to set $5010 to 1 and read a byte in $8000-BFFF that's set to zero. If the patent is correct, that should trigger an IRQ (acknowledged in $5010.D7).
I think I will make a MMC5 dev-cart from my Gemfire cart someday (unless I happen to finally like the game, wich I don't think I ever will), and that with sounds (there is already spots for all componants needed for sound). I just need 2 sockets and parallel EEPROMs, wich are very very very expensive in high sizes (needed for the NES). I also need a new EPROM programmer, my old one isn't usable any longer. I don't think this will happen too soon, at least not until I've completed Dragon Skill.
Bregalad wrote:
I just need 2 sockets and parallel EEPROMs, wich are very very very expensive in high sizes (needed for the NES).
Would SRAMs with a 5.0 V battery taped on work? Or are they expensive too?
Re-wiring the board to have the PRGROM and CHRROM battery backed too shouldn't be hard, and 512kb SRAMs are definitely less expensive than 128k EEPROMs (but they are still a lot more expensive than, say 512kb EPROMs).
The problem is : How do you programm the SRAMs AND keep the data on them from your programmer to the board ?? Unless you solder the battery and the few external componants needed for proper backup on the SRAM directly, or use some of those Dallas SRAMs with a incorporated battery, I see no way to do that. And the Dallas SRAMs are expensive in 128kb size, and they are probably so tall that they wouldn't fit a frontloader NES.
Bregalad wrote:
How do you programm the SRAMs AND keep the data on them from your programmer to the board ?? Unless you solder the battery and the few external componants needed for proper backup on the SRAM directly
That shouldn't be hard. A 5 volt button battery should be available in a size that fits on top of a 600 mil DIP. And you can use a toploader, or you can make a custom board like I saw in the
Donkey Kong Country video. And by the time you make a custom board, you can stick a programmer on that too.
I never saw any 5V button battery, and even if they were, the RAM would drawn a lot of current from it because it wouldn't enter in idle mode. Also, that will creat power conflicts with the EPROM programmer, wich is BAD.
I don't have a toploaded and I will never have any since none of these devices have been released here. Only a PAL-compatible famiclone (with a 72-to-60) will do, and tell me where I can find one easily whenever you want.
Makin my own board, why not, but you can forget about disoldering the MMC5 and solder it on the new board intact. Intact disoldeing DIP is incredibly hard, and intact disoldering SMD is downright impossible.
I think I will buy either very expensive (arround $50) parallel EEPROMs, or buy EPROMs and a UV light eraser (I don't know how expensive they are and how much large they are).
A $50 EEPROM? Why not just get a 512kB FlashROM, they're only like $5 or $6 for a DIP-32 one. Like at AT29C040 or AM29F040B.
Because none of the local revendres in Swiss have FlashROMs in DIP, only in PLCC. (And I cannot stand SMD componants, nor the people that say using them is ultra-modern and has only advantage. They should be stupid and trust ech lie someone else say.)