Is it possible to put a single 32mbit 36-pin adapter 29f032 onto a dual-maskrom NBA live 95(32 pin)? I figured you just need to add the extra A20-A21 address lines, but the game wont boot. I tried running them to the Mad-1 (following romlab specs), doesnt boot. Then tried directly to the cart connector, boots but stalls with garbled graphics. Using a 74xx139 gives the same result. The chip has been verified and tested in Bsnes so I know the chip is programmed correctly. The reason i want to use this cart is that I got a few of them for dirt cheap, and I cant find any 36pin compatible LoRom titles locally.
Am I missing something? Is it not possible?
Yes, you could. Patch the /CE and /OE signals. Connect the unlinked address lines and you're done. Some information on romlab is known to be wrong.
Patch them? You mean jumper a line from the /OE and /CE of the rom to the correct spots on the cart right?
The reason your cartridge doesn't work is likely because you still have the MAD-1 decoding the /CE and /OE signals based on having two different ROM chips. Because of this, when a certain area of ROM is accessed by the game, it gets nothing at all, open bus. It could crash, bad graphics, blank screen, any of those. You must alter the circuit that handles /CE and /OE to the ROM sockets. Can you guess the simplest approach?
I would guess cut the /ce and /oe traces and jumper them manually from the MAD-1 to the one rom chip...?
No, before you go cutting anything, the changes should be made to what connects to the MAD-1.
Code:
the MAD-1 chip
/HI 01 16 /LOW
SRAM /CS 02 15 A15 (LoRom), A13 (HiRom)
NC 03 14 BA4 (LoRom), A14 (HiRom)
ROM /OE 04 13 BA5
SRAM Vcc 05 12 Vcc or BA6 (LoRom), A15 or BA6(HiRom)...
Vcc 06 11 /CART (pad 49 on cartridge edge)
resistor to +3V of battery 07 10 GND=LoRom, Vcc=HiRom
GND 08 09 /RESET (pad 26 on cartridge edge)
/HI <--- if two ROM chips, this selects the upper one
/LOW <--- if two ROM chips, this selects the lower one
It looks to me like Pins 1 and 16 should be the /CEs to each ROM socket. I'm not aware of how the MAD-1 determines which one to pull low. Other input pins probably determine how that works but I'm unaware of how. But you could use some logic to combine both /CE signals so that when either of them is low, the ROM chip activates if you can't figure it out. But you should first see which address lines connect to which MAD-1 pins on your actual board. I would guess that however big the larger MaskROM is would have the address line thats one higher connected to the MAD-1 so that when that line is low Socket 1 gets the /CE and when its hit socket 2 gets the /CE.
Since NBA Live 95 is I think one 8 megabit chip and one 4 megabit chip, the address line A19 is the highest one on the 8 megabit chip. So A20 should be being used to control which socket is used. So figure out what address lines connect to the MAD-1, you can probably figure out (or maybe I can suggest if you post the findings) how to make the MAD-1 handle 1 ROM rather than 2.
Edit: I looked around a bit more and it seems that pin 13 on the MAD-1 is likely to determine which /CE (High or Low) is going to be enabled. So in theory, connecting pin 13 to ground or +5v will make either only socket 1 or only socket 2 work. So you could try disconnecting pin 13 from the board and connecting it to ground, if that doesn't work try +5v. You could cut the trace that goes to pin 13 if you want to.
Did you ever get a solution to this? I looked at the cartridge today and noticed that the mask roms have pin 21 grounded. So that makes the maximum size of 16 megabits per rom position. So, correct me if I am wrong, that makes a single 32m rom impossible ? I am guessing that removing pin 2 (A21) from the ground circuit would "allow" that bank to be accessed for the addition 16m bank but that's where I am lost.....
Mark
I'm not sure what you mean by pin 21. 32m is absolutely possible. The question is what needs to be modified to get that to work. Didn't it get suggested that you could hookup the additional address lines that might not be present in the socket and use some logic to combine the enable signals from both sockets so that if either socket gets an Enable that the ROM would enable? I thought that was pretty clear. There is probably a simpler way by changing connections to the MAD-1 but I'm not sure how the MAD-1 behaves nor do I really have an interest in that. But we know it's a decoder so somehow it's decoding which of 2 rom chips to enable. Changing the inputs that determine that could solve the two socket issue.
A 32mbit rom has 21 address lines.
Address 19=8m
20=16m
21=32m
Address 21 is connected to ground for both roms. That's rom pin #2.
With this pin hard-grounded, that limits the size of each rom space to 16m.
So if you had 2) 16m roms, the cartridge would have a maximum capacity of 32m.
If I understood your question, you wanted to use a single 32m rom in 1 spot. For that to happen, pin 2 (a21) would have to be able to go high or low, which it physically can't do because its hard-wired to ground. So the only way to access A21 is to pull that pin out of that spot so it's not connected to ground. THEN, some logic would have to be worked out so that A21 can be toggled by some trigger....
This is where I get off the train.... As I don't know the answer or even if an answer exists.
Mark
The NBA live 95 pcb I have has 2 32 pin maskroms, which means that A20-A21 are not even hooked up to the rom, giving you 2x 8Mb data, not 2x 16Mb. I havent gotten around to tinkering with this more, but it should just be a matter of manually running the missing A20-21 address lines to the cart connector and telling MAD-1 to only select the 1st rom (as Mott mentioned by either grounding Mad pin 13 or giving +5V, havent tested yet).
I havent ever seen that game with a 36pin maskrom. Mark, are we talking the same game here?
Opps... No we are not. I was looking at a twin rom cart with 36 pin mask roms.
Yeah, you'd have to run the extra addresses to the card edge. Sorry for the confusion.
Mark
getafixx wrote:
EDIT: So, i just did a test on it, and Mottzilla you were right! Tying MAD-1 pin 13 to GND activates only the first IC, and you just need to run the A20-21, and the game I tested ran perfectly (it was a hack of Super Metroid, at 32Mbit).
Thanks for confirming it. Could you elaborate slightly, GND refers to the bottom socket?
Yes, when MAD-1 pin 13 is tied to GND it activates the bottom maskrom socket.
Didnt work. See next post for working method.
So, turns out the way i previously mentioned doesnt work properly on games over 16mbit after all. I was playing the game I had tested (SM hack 32mbit) and I got to a certain point, not far into the game, when the whole thing glitched and stalled. Tried it again, and it crashes at the same spot consecutively. I looked into it further, and here is what I've come up with (tested working):
Desolder both maskroms (obviously)
Add 29F032 adapter to bottom socket (U1)
Run extra address lines:
29F032 pin 1: A20--->MAD-1 #13 / or Cart connector 47
29F032 pin 2: A21--->MAD-1 #12 / or Cart connector 46
Cut trace going to U1 rom /OE pin31 (or just dont add a pin to the 29F032 board pin33), and run to MAD-1 pin #4.
I have tested this with a few 32mbit games now and they have all worked. Even my test file, an unaltered Super Metroid rom, worked properly (it would come up with the piracy warning on the old method...)
Ya the pinout doesn't name things the best but it looks like there is a Hi and Low set of enable signals as well as a general ROM enable signal. Good to clarify that.