Built in games, NES

Discussion in 'Nintendo Game Development' started by Evotistical, Jan 17, 2012.

  1. Evotistical

    Evotistical Robust Member

    Joined:
    May 25, 2011
    Messages:
    261
    Likes Received:
    4
    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?
     
    Last edited: Jan 17, 2012
  2. MottZilla

    MottZilla Champion of the Forum

    Joined:
    Feb 1, 2006
    Messages:
    5,066
    Likes Received:
    102
    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.
     
    Last edited: Jan 17, 2012
  3. Evotistical

    Evotistical Robust Member

    Joined:
    May 25, 2011
    Messages:
    261
    Likes Received:
    4
    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?
     
    Last edited: Jan 17, 2012
  4. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    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:
     
  5. Evotistical

    Evotistical Robust Member

    Joined:
    May 25, 2011
    Messages:
    261
    Likes Received:
    4
    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?
     
    Last edited: Jan 17, 2012
  6. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    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.
     
  7. Evotistical

    Evotistical Robust Member

    Joined:
    May 25, 2011
    Messages:
    261
    Likes Received:
    4
    what is the chip enable pins? how do you propose i do it?
     
  8. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    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
     
  9. Evotistical

    Evotistical Robust Member

    Joined:
    May 25, 2011
    Messages:
    261
    Likes Received:
    4
    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?
     
    Last edited: Jan 19, 2012
  10. Evotistical

    Evotistical Robust Member

    Joined:
    May 25, 2011
    Messages:
    261
    Likes Received:
    4
  11. MottZilla

    MottZilla Champion of the Forum

    Joined:
    Feb 1, 2006
    Messages:
    5,066
    Likes Received:
    102
    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?
     
  12. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    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.

    [​IMG]
     
  13. Evotistical

    Evotistical Robust Member

    Joined:
    May 25, 2011
    Messages:
    261
    Likes Received:
    4
    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.
     
    Last edited: Jan 20, 2012
  14. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    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.
     
    Last edited: Jan 20, 2012
  15. Evotistical

    Evotistical Robust Member

    Joined:
    May 25, 2011
    Messages:
    261
    Likes Received:
    4
    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)?
     
    Last edited: Jan 22, 2012
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page