Back in the 90's, I remember a guy who made a nes have built in games by soldering them to the NES motherboard. I have since not been able to find his work again. I would really like to build a NES with SMB/Duckhunt built in, or a multi cart gaming system like the M82. Most specifically, I would like to know the pins I could ignore to switch between games. Because I don't want one cart "reacting" to another, or other side effects like erasing zelda saves. Anyone have any ideas?
Built in is easy if you don't want a cart slot at all. If you want a cart slot, ideally you need a switch with 72*2 inputs and 72 outputs. I'm not sure if you could or should ever try attempting to hookup both an internal cart and an external cart and using a switch to control power to them. Not sure about if you could do it with bus control signals like PRG /CE. That might work for having a simple game with no mapper, if you have a mapper though who knows how it will behave if you have more than one connected even if you cut the 5v line.
Famiclones also do this daily. so i know its possible without 72 switchs. actually there is only 58 pins i care about. im wondering if a cart doesnt have 5v, why will it interact or mess with the bus?
Famiclones have everything connected in parallel and disable the internal game through it's chip select pins. The Famiclone will detect an cartridge inserted by exploiting a feature of the original Famicom where the RF modulator will not receive power if a cartridge is not connected to the cartridge slot. The pin 31 of the Famicom slot (RF VCC) is used for that purpose (0v = no cartridge is inserted). :thumbsup: On NES (72 pin) based Famiclones the same approach can be used since cartridges have more than one VCC and GND pins on the edge connector. :nod:
all ext. port/lockout pins will be disabled, so thats how I get to my figure of 58. I dont need lockout pins since i will have control of the modding of the console anyways. my thoughts are have a normally closed switch attatched to the cart slot, that will cut 5v to the cart.(SMB/Duckhunt). I will direct solder 2 floppie edge cables to the board, and insert smb cart. Anyone see anything else that might need to be connected to a switch?
You cannot do that. The NES will have current drawn on the BUS from the non powered chips. Which will prevent it from running and might even damage the outputs of either the inserted cartridge or the NES CPU/PPU chips. :shrug: Only way to make it work is use the actual chip enable pins (that's why they exist, after all...) You won't get away with switches on this. You will need some digital logic to perform the change from internal game to external slot.
If you're wiring in a simple cart like SMB/DH all you need is a 1:2 decoder on the /ROMSEL line ("PRG /CE"). Since there aren't 1:2 decoder chips you'll have to use a 2:4 such as a 74'139 or a 3:8 74'138, or you could build one with random spare logic gates you have but I wouldn't recommend that due to the extra propagation. Using a '139 you wire: /ROMSEL -> /E your enable switch -> A GND -> B Y0 -> either internal or external cart's /ROMSEL Y1 -> either internal or external cart's /ROMSEL
Can you put that in laymans terms. Sorry I'm a hard hardware guy, who knows how to solder and rewire. And I have a basic understanding of electronics, and very limited knowledge about logic gates. I know you can buy chips with multiple gates, I just don't know what to buy. Have I bitten off more than I can chew?
http://www.ti.com/lit/ds/symlink/sn74hct139.pdf I have the datasheet for a 2-4. So I can understand a little bit more.(google is my friend). So i'm guessing rom sel is pin 50 of a nes cart? Also what is "E"?
Pin pin of a NES cart is the PRG /CE signal. You'd want to connect that only to one cartridge at a time. For CHR I don't see any clear /CE signal. But you must sort that out so the two cart's CHR don't conflict. You may have to add a switch to pins 56 and 21 which are CHR /WR and CHR /RD. You might also need CIRAM /CE pin 57 switched too since some carts will control that line. In theory couldn't the /IRQ line if two carts are connected cause a problem if somehow a mapper like MMC3 was in the inactive cart but it powered up having the IRQ counter active and causing IRQs in the other game?
Oh yeah, CHR, lol. For CHR the CE line is PPU A13. A13 low = $0000-1FFF for CHR ROM. It is much easier to gate /RD instead of /CE but it's a little hackish, might pose problems with slow 28-pin 1M ROMs that mappers decode, and you'll have twice the power requirements.
If I just use SMB/Duckhunt, cant I just use a momentary 2 pole micro switch, instead of the previous? 1 pole be a normally off, the other be a normally on, to select between the games? or a Double pole, double throw momentary micro switch(if they exist), for non-nrom games? There would also be less current draw with that setup too. (except 2 games being plugged in) If I only have to switch that 1 channel, that would be awesome.
You could use a DPDT switch with pullup resistors on the control lines, or worse yet a 3P3T to hack in /A13 support, but of course you can't auto-switch this way. Neither way is 100% compatible, that would require a lot more logic; it's possible for games (such as MMC5) to decode /A13 themselves from A13. If they see that A13 is high (forced disabled), they'll assume that $2000-3FFF is being accessed and perhaps enable extended VRAM on their cart. This would be a problem since they will A) disable the NES' internal VRAM and B) the extended VRAM decoding will conflict with the built-in game's CHR ROM decoding. Maybe you should just gate /RD instead. Oh, I forgot, also you need to gate Phi2/M2 because forcing /ROMSEL high will cause games with WRAM to accidentally conflict. So a 3P3T, pullups on the /ROMSEL and PPU /RD outputs, a pulldown on Phi2 output. This should be pretty compatible. Note that this pulldown on Phi2 will break compatibility with multi-carts and the PowerPak's warm-reset functions.
If it was a dpdt momentary, initiated by the act of putting in the game itself(similar to some floppy/cdrom drives). The act of anything being inserted in the nes should initiate it. Would having smb/DH in cause this same issue, because I might just settle on that game as the built in game. It's small, more compatible, and only populates the actual pads that it uses. only 54 pads to worry about, if you subtract the lockout chip pads. Will this affect nrom games like smb/DH also(as the built in game)?