This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

Which pin of the 72 (or 60) can be used to disabled a slot

Which pin of the 72 (or 60) can be used to disabled a slot
by on (#97133)
Hi it's me again for my NES arcade cabinet project.

On my arcade cab there is 2 slot, one for the US and PAL cartridge and one for the famicom cartridge.

I am looking for a way to disable a slot, i think that disabling the +5v of a slot make it inactive but i'm not sure. Someone have an idea ?
Re: Which pin of the 72 (or 60) can be used to disabled a sl
by on (#97135)
quentin.lamamy wrote:
Hi it's me again for my NES arcade cabinet project.

On my arcade cab there is 2 slot, one for the US and PAL cartridge and one for the famicom cartridge.

I am looking for a way to disable a slot, i think that disabling the +5v of a slot make it inactive but i'm not sure. Someone have an idea ?


So, you are asking how to disable one, after you (successfully) added one? :P

The TriStar/Super8 for the SNES got 2 Slots for NES and famicom too. But it will not work when both carts are inserted.

Shouldn't that be the easiest possible way to do it?

Kind regards,
ninn

by on (#97136)
I think it depends on the cartridges used and how they enable their devices. Carts that are more simple like NROM or UNROM might just have a couple enable or select signals. I think just a PRG /CE and CHR /CE (and perhaps and address line too) to determine if they should enable their chips. But more advanced mappers may ignore these signals possibly and decode when and what to enable themselves.

Looking at the cart pinout though it looks like pin #44 PRG /CE is definitely used as A15 is not otherwise there it seems. But if a cartridge maps $6000-$7FFF then you have a problem if both inserted cartridges do as you need to switch those signals off on the unused slot.

I'm sure someone else can give you more detail. But you certainly could make a multi slot device. Afterall Nintendo did that themselves.

by on (#97137)
MottZilla wrote:
I'm sure someone else can give you more detail. But you certainly could make a multi slot device. Afterall Nintendo did that themselves.


I know that's why i try to do it ^^.

You think that disable the input of +5V in the cartridge isn't enough to disable the load of the cartridge ?

by on (#97140)
quentin.lamamy wrote:
You think that disable the input of +5V in the cartridge isn't enough to disable the load of the cartridge ?


Definitely not, the cartridge would draw power through the data and address lines. You would have to do it like a Playchoice-10 game board does, but a bit more because you would need to handle any given mapper.

by on (#97141)
Cutting 5V will not be enough - I am not qualified to explain exactly why, but my understanding is that the inactive chips that are still connected may still fight with the other ones that are connected to the same lines, possibly pulling high signals lower than they should be, and drawing extra current.

by on (#97142)
No way with just a switch on some pin ?

by on (#97144)
How about a Switch for 72 pins? 8)

by on (#97145)
ninn wrote:
How about a Switch for 72 pins? 8)


And where do you find a switch able to work on 72 connector ?

by on (#97146)
Maybe an electronic type of switch. I guess you could get a ton of one of the 74 series chips and wire them up to a switch. =)

Again the pins you are looking for to switch simple carts are PRG /CE and CHR /RD, those are #44 and #17. CHR might be a bit more complicated though. If you make a switch on those two pins, simple mapper games would probably work with one in each slot. However for more advanced mappers you will need to switch more pins.

For PRG /CE and CHR /RD you just need to disconnect any non-active slots. That way the cartridge shouldn't attempt to respond to any reads. For mappers like MMC3 that generate IRQs, you should also disconnect the /IRQ line, pin #15.

For cartridges that contain mappers that support memory at $6000-$7FFF such as MMC1, MMC3, and more, you should also put A14 (pin #41) on a switch with two positions. Connected normally, and Grounded. The reasoning behind this is so if the mapper in a nonactive cart decodes A13&A14 as part of enabling memory at $6000 it will never see the condition.

I'm not an electrical engineer but I think that those 4 pins are what you need to wire with a switch. Disconnect or connect pins #15, #17, #44. And Pin #41 should goto ground or connect.

More might be needed for more complicated CHR bus configurations. Just curious, what are you trying to do? Modify a NES with a built in game?

by on (#97147)
What i want to do an arcade cabinet from a NES. with a minimum of 3 slot :
- The first one is the boot cartridge which display a message like "please insert cartridge"
- The second a PAL / US cartridge slot
- The Third a Famicom Slot

So if i disconnect 15,17,44 and 41to ground i can disable a slot.

Now i need a system which disabled slot when a cartridge is slotted in another one ^^ (in a next topic)

Someone can valid the pin i need to disconnect or ground ?

by on (#97149)
You will need to disable the following signals for any disabled slot:
CPU M2 (tied low for cart)
CPU /ROMSEL (tied high for cart)
CPU /IRQ (high impedence)
PPU /RD (tied high)
PPU /WR (tied high)
CIRAM /CE (tied high)
CIRAM A10 (high impedence)

You CANNOT skip any of the above, otherwise some games WILL conflict.

You may also want to tie
CPU A14 (low)
PPU A13 (high)
PPU /A13 (high)

Be careful, hotplugging a cartridge, even given these disables, may still cause power sag on the power rails and cause the currently running code to crash. (e.g. ccovell's tapedump)

The pin numbers you provided are not consistent with what it says on the wiki.

by on (#97150)
could always use some 74244 line drivers and 74245 bus transceivers to enable and disable one slot or the other.

by on (#97151)
So if i those 10 pin are grounded the slot will be disabled.
Someone can confirm ?

Any idea on the electronic component i can use to do this ?


lidnariq what the mean of what you add between "(tied low)" for example.
Can you rephrase more simply what can happened with hot plug ?

by on (#97152)
WhoaMan wrote:
could always use some 74244 line drivers and 74245 bus transceivers to enable and disable one slot or the other.


May you explain me what it is and how it work ?

by on (#97153)
quentin.lamamy wrote:
Any idea on the electronic component i can use to do this ?
I would consider using a 74'157 for all the lines that are to be driven high or low, and (h/t whoaman) a 74'244 for the lines that need to go high impedence, although the /IRQ line will need a little bit of trickiness because it's open-collector logic. (additional resistor and diode, maybe?)

Quote:
lidnariq what the mean of what you add between "(tied low)" for example.
You need to both disconnect the line between the cartridge and the console and also one side or the other may need to be connected to +5V or to ground.

Quote:
Can you rephrase more simply what can happened with hot plug?
Have you ever plugged in a really-high power device while its power switch was set to on? You might have seen sparks and the lights may have dimmed?

Something similar to that, although much smaller, will happen when you plug a cartridge in while the console is powered up. It will often be innocuous, but certain cases may pose problems. As far as I know, the only extremely likely problem is games with internal saves, which may find themselves becoming amnesiac.

I would be wary about doing this; hotplug is easy to do wrong, and the NES was never designed for it. It's bad for devices to power them through their signal lines, and NES cartridges don't have longer pins for power and ground (like other hotpluggable things)

by on (#97154)
lidnariq wrote:
You will need to disable the following signals for any disabled slot:
CPU M2 (tied low for cart)
CPU /ROMSEL (tied high for cart)
CPU /IRQ (high impedence)
PPU /RD (tied high)
PPU /WR (tied high)
CIRAM /CE (tied high)
CIRAM A10 (high impedence)

You CANNOT skip any of the above, otherwise some games WILL conflict.

You may also want to tie
CPU A14 (low)
PPU A13 (high)
PPU /A13 (high)

Be careful, hotplugging a cartridge, even given these disables, may still cause power sag on the power rails and cause the currently running code to crash. (e.g. ccovell's tapedump)

The pin numbers you provided are not consistent with what it says on the wiki.


I think it could be a little simpler with these corrections:

disabled slot:
CPU M2 (tied low for cart) yes
CPU /ROMSEL (tied high for cart) yes
CPU /IRQ (high impedence) yes
PPU /RD (tied high) this is generally /OE not needed if you disable via /CE
PPU /WR (tied high) normally /WE not needed if /CE is switched
CIRAM /CE (tied high) yes unless you never play the few 4screen mirrored games
CIRAM A10 (high impedence) yes


You may also want to tie
CPU A14 (low) agree that you can get by without since m2 is disabled
PPU A13 (high) if you switch this you won't have to switch chr /rd and /wr above
PPU /A13 (high) only needed if you wanted to play the few rare games with 4screen mirroring



For anyone curious the reasoning behind why you can't just switch power is because the chip can actually be weakly powered through the address and data lines. Typically done by the internal ESD diodes on most inputs. So really you don't fully power down the chip by just removing Vcc.

If I understand your project quentin.lamamy, it seems that is is an AWFUL lot of hardware and circuitry needed to avoid only a small inconvenience. Also why have separate slots for French and us 72 pin carts? Your using a single CIClone to disable lockout permanently. So in effect having separate slots for FR/US carts is the same as having 2 identical 72 pin slots. Unless your somehow switching from PAL to NTSC. But since you require no modification to the NES this doesn't seem possible without 2 separate NES units...

If you wanted to switch ALL 72/60 pins you could use any 5v compadible bus transceiver. Search that and it should be easy to find on any supplier site. Keep in mind you might only find fine pitch surface mount solutions.

And "tied low" means wired to ground.

by on (#97157)
:arrow: In my project i just have 2 slot (PAL + US and one Famicom).
:arrow: I want this system just to succeed in implement a boot cartridge

All help are welcome to build this project. I'm something like a noob in electronic ^^

[/quote]

by on (#97169)
Is the boot cartridge separate from the other two connections? Or effectively a 'third' cart?

My advice would be to get the thing working where you can only have one cart in at once. Then improve it by making the complex circuitry to be able to leave carts plugged in. If you really have your heart set on allowing both carts to remain plugged in you could maybe allow room in your PCB to break the signals discussed above to make the improvement easier.

The choice is yours obviously, I only suggest it because it keeps things simple. Realize the switching circuitry has a HIGH chance to cause problems that are difficult to debug. I've prevented many headaches I'm sure by starting simple, take small steps towards your end goal. That way if one step breaks something it's easy to take a step back or two that still work and figure out where you went wrong.

by on (#97174)
I really need to have a boot cartridge for my project, initially, i want to add physical slot to slot it, so that the NES boot on this one when powered on.

I'm aware of the difficulty on switching between multiple slot but i know it's possible (look at the Nintendo M82). So let's go for any solution :

:arrow: If i understand, switch the 72 pin in one time to ground will be the more efficient way to disable a slot. Is there an electronical part that can switch at once 72 channel. It would be really good if this switch can be activated with a +12V or +5V. ( you say that a bus transceiver can do that ?)

:arrow: Switching some pin, it seems that it's difficult, and dangerous for the NES

:arrow: Another idea ?

by on (#97209)
My suggestion would be to run the signals we discussed above through a bus transceiver.

No need to switch every single address and data line. And it's not 'dangerous' it's just addressing. The NES has several chips on the same bus at once by design like most CPUs. You just need to switch and control the proper signals correctly. That's easier said than done though if you're knowledge of the signals is limited.

Not sure what you mean by "switch the 72 pin in one time to ground will be the more efficient way to disable a slot." unless I'm miss understanding you that sounds like a bad idea.

It's hard for us to help you much more than we already have. At this point your best opportunity for feedback is to draw schematics of what your plan is. Post them up and we'll help you fix them.

by on (#97241)
A friend is working on a method able to disable the slot by switching the 72 pin, i don't really understand how he do that "miracle" but if it work i'm OK.

I think that his method can work on less than 72 pin so if you confirm that the list of the pin i need to disable i will follow your advice.

For the scheme i will post it when it's finished.

by on (#97245)
quentin.lamamy wrote:
I think that his method can work on less than 72 pin so if you confirm that the list of the pin i need to disable i will follow your advice.


this is what linariq and I did for you above. I verified that linariq's list is complete and left notes to the side. Some signals he listed are only needed if your're playing a few select games with 4screen mirroring etc.

by on (#97247)
Yeah, I was definitely going for the "you don't want any unpleasant surprises later"; with the 10 lines I specified I'm quite confident you'll have no unpleasant surprised later (Assuming they're all plugged in at power-on. Hotplug, as I said, is definitely a whole other issue)

You could probably cut a few, as infiniteneslives suggested, but since the '157 and '244 switch in groups of 4 at a time, as long as you use those parts it's not clear you'll be able to do better than 1 each '157 and '244, and I personally wouldn't be comfortable with a design that switched the extra 4 lines that INL said you could probably skip.

by on (#97290)
Yes lidnariq's list is complete and will prevent suprises, my take was more of the lazy way out.

Keep in mind proper directions on the signals though. That's definitely something easy to miss for a novice designing on for the NES.

IRQ was already mentioned as being an open collector signal. So you'll need to prevent the inactive cart from driving the line low. And you can't drive the line high at any point, you need to leave it floating at all times effectively as the NES sees it.

All other signal listed are NES -> cart with the exception of two: the CIRAM (VRAM) signals.

CIRAM A10 and CIRAM /CE are from cart -> NES. Because these signals are inputs to the memory onboard the NES motherboard.

by on (#97295)
How about this:

Yesterday, I bought a Parallel-Port-Switch and opened it. Pretty sure you know those switches, they were used to switch between parallel-port scanner and parallel-port printer. They got a massive Switch in front of them (actually, the only fuction they support), and this switch directly switches the 25 (or so) pins from the one imput to the output. There was no PCB inside, the switch does all the work. It's a circular switch I've never seen before, and it looks capable of switching even more pins and/or ports. (this was not clear to me, since all of the 3x25 cables were brown :roll: )


I have heard rumors, that Scart-Switchboxes got switches for about 20 Pins too. :P


---

If I understand the discussion about right, It should be possible to switch just the mentioned ~10 pins with an allmighty switch, and still have the other pins connected. If you want to make sure, and dont want to corrupt data - why not trigger a reset/power (better: holding reset while powering down) on the NES while switching. maybe an arduino can help you dong that in a nice, timed fashion.


... but, as I understand, you now are looking for a all-72-switch anyway.


and your boot-cart:
Dont you think it would be more pretty to remove that boot-cart, and put it inside a "firmware"-rom/chr-Chip. I guess its only function is something very like the m82-"hello/starfield"-screen, and not really needed as dongle/key.


kind regards,
ninn,
who got a spare 12 port Scart-switch that wants to become a m82. :P
Re:
by on (#98140)
WhoaMan wrote:
could always use some 74244 line drivers and 74245 bus transceivers to enable and disable one slot or the other.

If i got this correct - tie cart's side as mentioned above with 1kOhm resistors to GND and +5V and use tri-state pin of '245 to enable/disable cart.