I have a mmc1b cartridge!
but the wram default is disable
I want change the circuit that can enable the wram all time(can read/write any time).
like the mmc1a
Ahh If I remember correctly yours is set up with MMC1 pin 11 tied to WRAM /CE pin 20. You can check with a multimeter.
And MMC1 pin 6 is connected to WRAM CE pin 26. (you can check this too but don't break the connection here)
So you want lift WRAM /CE pin 20 and tie it to ground. So that it's always allowed to be enabled.
Not sure what board you have exactly but if it's battery backed WRAM you might not want to take my advice. I'd need more info to advise properly in that case.
infiniteneslives wrote:
Ahh If I remember correctly yours is set up with MMC1 pin 11 tied to WRAM /CE pin 20. You can check with a multimeter.
And MMC1 pin 6 is connected to WRAM CE pin 26. (you can check this too but don't break the connection here)
So you want lift WRAM /CE pin 20 and tie it to ground. So that it's always allowed to be enabled.
Not sure what board you have exactly but if it's battery backed WRAM you might not want to take my advice. I'd need more info to advise properly in that case.
yes,MMC1 pin 11 tied to WRAM /CE pin 20. and MMC1 pin 6 is connected to WRAM CE pin 26.
Then just clip WRAM pin 20 and wire it to ground (WRAM pin 14 should work just fine for a nearby GND).
I assume battery backing is not involved...
infiniteneslives wrote:
Then just clip WRAM pin 20 and wire it to ground (WRAM pin 14 should work just fine for a nearby GND).
I assume battery backing is not involved...
i cut the connect from "MMC1 pin11" to "WRAM / CE pin20",and "WRAM / CE pin20" connect to GND.
it seems unworked.
Code:
WRAM - 8KBytes (28pin):(MMC1)
---_---
+5V - |01 28| - +5V
PRG A12 - |02 27| - WRAM /WE
PRG A7 - |03 26| - WRAM +CE (MMC1 P6)
PRG A6 - |04 25| - PRG A8
PRG A5 - |05 24| - PRG A9
PRG A4 - |06 23| - PRG A11
PRG A3 - |07 22| - GND
PRG A2 - |08 21| - PRG A10
PRG A1 - |09 20| - WRAM /CE (MMC1 P11)
PRG A0 - |10 19| - D7
D0 - |11 18| - D6
D1 - |12 17| - D5
D2 - |13 16| - D4
GND - |14 15| - D3
-------
Maybe need cut "WRAM +CE" and connect to +5
I direct connect the "WRAM +CE" to +5
It's ok now,But the ic was hot!
You can't enable MMC1 WRAM "all" the time, because the MMC1 has to decode whether the CPU is trying to address $6000-$7fff and if so enable the WRAM. (That's the +CE line). By connecting the 6264's +CE and /CE pins to +5V and ground respectively, you're making it bus conflict with anything else that's on the bus at the same time (e.g. ROM, internal RAM) and it's mostly luck that it works.
If what you want from your MMC1B is specifically the behavior of the MMC1A not having the PRG RAM chip enable bit in the PRG register, sorry, no can do. You'll need to hack the game instead.
lidnariq wrote:
You can't enable MMC1 WRAM "all" the time, because the MMC1 has to decode whether the CPU is trying to address $6000-$7fff and if so enable the WRAM. (That's the +CE line). By connecting the 6264's +CE and /CE pins to +5V and ground respectively, you're making it bus conflict with anything else that's on the bus at the same time (e.g. ROM, internal RAM) and it's mostly luck that it works.
If what you want from your MMC1B is specifically the behavior of the MMC1A not having the PRG RAM chip enable bit in the PRG register, sorry, no can do. You'll need to hack the game instead.
Because I want write the game "Hitler no Fukkatsu - Top Secret (J) [!]" to the MMC1B cartridge!
The game need wram enable all time
You'll have to find the bankswitching code and modify it when it writes to to right register, to ORA or ANDA with the value to set/clear the right bit all the time.
Hint:
STA $e000 is stored as
8d 00 e0 in the ROM: it's at bytes $3DC0C…$3DC2E
If you really hate the idea of modifying the ROM image to work with different hardware, you can also use an
external IC to (re-)add PRG RAM to a PCB
The "default" is not disabled. The default, if you want to call it that, is enabled. Unless the PRG register is written with bit 4 set, then PRG-RAM will always be enabled. Most games will not set this bit for no reason. They would be setting an invalid rom page number anyway. I briefly tested the game you mentioned. It does not disable PRG-RAM, it enables it.
As stated you can't get around the MMC1's PRG-RAM disable. It controls when the chip responds or not. But again, the game you metnioned does not appear to disable anything and should work just find on MMC1B. The US version of the same game has cartridges with both the MMC1A and MMC1B, but there is only 1 PRG-ROM revision. So I really doubt it won't work. If your cartridge isn't working then you messed up somewhere else.
3gengames wrote:
You'll have to find the bankswitching code and modify it when it writes to to right register, to ORA or ANDA with the value to set/clear the right bit all the time.
Code:
.ORG $FFB8
LDA #$80
STA $8000 ;//Init
LDA #$0C
STA $8000
LSR
STA $8000
LSR
STA $8000
LSR
STA $8000
LSR
STA $8000 ;//config
STA $A000
STA $A000
STA $A000
STA $A000
STA $A000 ;//Open
SEI
INC $FFE1
JMP $C000 ;//old op,and reset the reset address
Yes,This can open the wram!
lidnariq wrote:
Hint:
STA $e000 is stored as
8d 00 e0 in the ROM: it's at bytes $3DC0C…$3DC2E
If you really hate the idea of modifying the ROM image to work with different hardware, you can also use an
external IC to (re-)add PRG RAM to a PCBThat's also a good idea!
Run the game in a debugger. $E000, the PRG Bank register, controls PRG-RAM enable/disable on MMC1B and MMC1C. It does not set the disable bit. The game doesn't need any modification to run on MMC1B. The US version of the game is known to be on both MMC1A and B versions with the same program rom. The japanese version may also be on both versions of the chip. Your problem is totally unrelated to PRG-RAM disable.