Offline

damn quick. fair enough. i'll give it a go monday.

in the interim, any special tips for a) removing a chip from the controller board or b) physical arrangement of the two-chip setup? I've done a decent amount of soldering, but generally planned circuits from scratch on blank breadboards type stuff...not used to working with printed circuit boards, let alone such classic prefabs, so any headache savers would be much appreciated

Last edited by toomuchjuice (Apr 24, 2011 3:54 am)

Offline
rochester, ny
nitro2k01 wrote:

Crazy idea... You could stack another 4021 on top of the existing one. Solder all the pins except 3, 7, 9 and 10 to the bottom chip. 3, 7, 9, 10 is what transmits the data and powers the chip, so connect these as appropriate to the second cable. Also connect ground on the second cable to any ground point on the board.

HEY NEX, I DON'T HAVE A NES SO TRY THIS FOR ME PLEASE! It should work though.

yeah, this would work perfectly. i'm working on something similar right now (a custom controller that uses two 4021 chips) and from what i've learned, it should do exactly what you want.

you could use this to control two NES's simultaneously and to trigger the 10 channels to play back at the same time (pretty close to totally in sync).

Offline
Minneapolis

Yeah, the only other way to get any closer sync is to lock the two NES' clocks together.

Offline

all right will be doing this when i'm done with work for the day. have a question or two more.

first off, although i understand the concept behind the idea, i was a bit confused by the pin numbers given. for the purposes of absolute clarity below is a graphic of a second, standalone chip i am planning to piggyback onto a first, still-embedded-in-a-controller chip . the check marks indicate the pins i intend to connect to a second output cord; all others will be connected to the corresponding pin on the first chip.

image hosting

because i'd like to know exactly what's going on here, would someone please be so kind as to point out any flaws in my understanding here. with the addition of the second chip, we are trying to set up two separate master/slave relationships from nes 1 to chip 1 and nes 2 (or usb device) to chip 2. all the button-press pins should be directly connected to achieve synchronized 'inputs' to the two chips. any pins on chip 2 associated with communication with nes 2 (i.e. all five colored wires) should be independent of the first chip, because the second system will be querying the controller state independently of the first system. on this last point, i am a particularly uncertain about the power supply connection. also, would it be acceptable/advisable to fully connect the following: brown output wire 2 to 'brown' pin on chip 2 to 'brown' pin on chip 1 to brown output wire 1 (in order to connect grounds)? sorry if this is hand-holding stuff; i will make sure to produce to justify your effort

damn one last question: known risks of damaging a 4021 chip with heat when removing from board with a soldering iron?

image from http://claymore.engineer.gvsu.edu/~kowa … roject.htm

Last edited by toomuchjuice (Apr 25, 2011 7:19 pm)

Offline

i executed the plan with mixed results. the original controller still works correctly, but the secondary chip's output controller did not function at all. although the voltages appeared to correct on their way in to the second chip, no button presses registered. suspicion falls on the data output connection or pin, but there were so many soldered connections and opportunities for damage to the chip it seems impossible to say for sure. it was a good trial run, and for my second attempt i will try to remove some variables and headache by using some unattached controller chips. will something like this function the same as an authentic NES controller chip? even though we have plenty i hate tearing up functional controllers, and am skeptical about scrounging parts from dysfunctional ones.

Offline
rochester, ny

I just did this and it worked perfectly. I connected the ground pin and the pins for each button to the ground pin / buttons pins of the second controller. Then, when I pressed A on one controller, it came out of both controller cords. Works great!

Offline

been working more on this, but definitely need some outside expertise

i connected a desoldered output cable to a 4021 by attaching the colored wires to the directly to the usual pins: Y-3, O-9, R-10, B-11, W-16 (where the A button pin is 1 and the Vdd pin is 16). with just this i could successfully control a NES by tapping on pin 4 for up, pin 5 for down, etc. i assume this was me grounding each pin.

with only an unmodified controller plugged into the NES, I got normal behavior. when i piggybacked the modified chip on top of the controller chip, i got undefined behavior, usually as if someone was constantly pressing up. this happened even without plugging in the output cable from the modified chip.

this led to further experimentation. i started with a controller and a 4021. stacking the 4021 on the controller chip, with every 4021 pin touching its counterpart, led to normal behavior in the controller. i then bent back one pin at a time on the 4021, testing the piggybacked combination each time. the controller chip and the 4021 were thus connected on one fewer pin with each iteration.

16 shared; none unshared -- normal behavior
15 shared; Data (pin3) unshared -- normal
14 shared; Data (pin3), GND (pin11) unshared -- normal
13 shared; Data (pin3), GND (pin11), CLK (pin10) unshared -- normal
12 shared; Data (pin3), GND (pin11), CLK (pin10), Latch (pin9) -- error

on that last iteration, the controller again behaved as if someone was pressing and holding the up button. thoughts? is the latch indeed responsible? would i correct this behavior by bending the power supply pin on the 4021?

just saw during preview reply that nickmaynard got this exact arrangement to work; now i'm really stumped. does yours work with either controller plugged in to a system and the other not? how about both into the same NES?

edit: i realized during dinner that i am a dumbass and didn't unify grounds on this last iteration. let's see if that helps

Last edited by toomuchjuice (May 7, 2011 1:47 am)