Page 4 of 5

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 12:23 am
by tokumaru
thefox wrote:"kyousuke"? Sounds an awful lot like kyuusaku.
Maybe it's because I'm used to reading and listening a lot of japanese, but I really don't think the 2 names are that similar. Sure, the consonants are all in the exact same positions, but "suke" and "saku" sound too different from each other to cause any sort of confusion IMO.

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 8:25 am
by tepples
But then again, none of these posts are mine.

And to add to what tokumaru said, it's like the difference between Kyose-keh and Cusack.

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 10:14 am
by kyousuke
jims cool wrote: reset button should work.. i believe your chip may be damaged.. i've seen that happen to people
heres a diagram of how you can fix it.. i posted a photo of a patched board in this thread already

(snip image)
Excellent, I will follow this diagram (and the actual photo you posted earlier) and do the mod to the yardsale NES. Thanks!
jims cool wrote: what does the chip say on it?
3193A
(c) 1985 Nintendo
8944 A
jims cool wrote: EDIT: if your reset button doesn't work (power light turns off when the button is pushed) it's not likely the connector.. and if you're not very good at clipping pins i could add an alternative that requires one less jumper and only one pin 1 of the inverter chip to be lifted and the circuit would still be electronically correct.. just not "perfect" wouldn't hurt anything still.. if you would rather that i will need some time... finishing up the JCIC and times short =)

EDIT2: you need the reset button for some good games that have battery backed ram or you'll loose your save data... also noticed in the instructions i left out that pin 4 of the inverter should be lifted it's an output that goes to the keys clock pin.. not a big deal though because it would output ground so i don't think anything would care.. should also note the little green jumper in the wiring diagrams explained in the schematic :)
Yeah, I should probably rule out the board/traces as the issue too, the solder where the power / reset buttons connect to the mainboard is very corroded and looks terrible.. I've seen much better looking joints fail on arcade boards, so I will touch these up and do some continuity testing on the board to make sure it's getting to the proper pins.
thefox wrote:"kyousuke"? Sounds an awful lot like kyuusaku. :) Might want to consider changing your name to avoid confusion if you decide to keep on posting on this forum.
Sure, if you want I can switch to my backup name, "james cool".
lidnariq wrote:
kyousuke wrote:I could probably swap the new connector onto my stock NES and see how it behaves...
That would be a great plan.

I really don't think the CIC is what's wrong here. If you do go through with that plan, please read my suggestions here and here—it's a far easier modification than the one jims suggested.
I put the NEW 72 pin connector into my stock NES and games weren't booting.. I put the crappy 72 pin connector from the yardsale NES into my stock NES (after cleaning & bending the pins upward slightly) and had about a 75% success rate with the same carts. I'd say the NEW connector is crap and will be returned.

So, right now my plan is to do a bunch of soldering work on the yardsale mainboard and wait for my replacement 72 pin connector. If I have anything further to post on the subject, I will plan to start a new thread to not further derail this one... sorry for the tons of posts that really don't have anything to do with the subject at hand, everyone.

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 11:13 am
by jims cool
james cool :lol: that's not my real name btw.. just a tag.. the reset trace goes to pin 7 of the cic.. not sure if you missed that but will be useful for testing (+5 volts is reset on that pin)... if it's that bad inside you can also try replacing the capacitor C8 as you probably know from arcades they don't like getting wet or damp so your problem could be the reset pulse is too short .. bad cap could be the problem.. :)

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 1:21 pm
by kyousuke
jims cool wrote:james cool :lol: that's not my real name btw.. just a tag.. the reset trace goes to pin 7 of the cic.. not sure if you missed that but will be useful for testing (+5 volts is reset on that pin)... if it's that bad inside you can also try replacing the capacitor C8 as you probably know from arcades they don't like getting wet or damp so your problem could be the reset pulse is too short .. bad cap could be the problem.. :)
You speak the truth, my friend. Another thing capacitors don't like is having their traces cut, and I found 4 traces cut suspiciously close to pin#4 on the CIC. While I don't have any recollection of this, the most logical explanation is I messed up and cut some traces while trying to cut pin#4 (I do not remember at all slipping/gouging the board/etc, but the evidence is there that it happened)... I got some wrapping wire and patched the traces up, put on my stock 72 pin connector, and the yardsale NES was booting up with a 100% success rate. :) Then I put the new connector back on and games were booting with about 12.5% success rate... this piece of junk is going back for sure. :)

The moral of the story here is: don't be lazy and cut pins with a boxcutter even though the guy on youtube did it that way. Get out the desoldering iron, or at least use the cutters you own that have proven themselves to be safe/handy for cutting pins in the past...

Edited to add: Not only did repairing these traces cause unbootable games to boot properly, the reset button works again. I'm surprised ANY games were booting at all, considering the damage that had been done to the board...

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 1:48 pm
by lidnariq
kyousuke wrote:and I found 4 traces cut suspiciously close to pin#4 on the CIC. While I don't have any recollection of this, the most logical explanation is I messed up and cut some traces while trying to cut pin#4 (I do not remember at all slipping/gouging the board/etc, but the evidence is there that it happened)...
[...]
Edited to add: Not only did repairing these traces cause unbootable games to boot properly, the reset button works again. I'm surprised ANY games were booting at all, considering the damage that had been done to the board...
And I suspect one of the traces you cut is the one for the 0.1µF capacitor which makes the power-on delay for the CIC, which is necessary to get the machine to boot.

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 1:57 pm
by kyousuke
lidnariq wrote: And I suspect one of the traces you cut is the one for the 0.1µF capacitor which makes the power-on delay for the CIC, which is necessary to get the machine to boot.
Could be, but would that explain the intermittent booting? Need to remember, a good handful (maybe even the majority of the games I tried) would indeed boot up, even with the cut traces.

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 2:17 pm
by lidnariq
Power load, possibly? I admit it's just a guess, but maybe the ones that wouldn't reliably boot were the ones with more ICs and so a larger surge current?

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 2:20 pm
by 3gengames
Maybe the lockouts are fried by carts that have the CIC stunning circuitry? That could be possible.

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 7:40 pm
by kyousuke
I just wanted to clarify, when I say "won't boot", I mean "I get a gray screen as if the cart was not properly read and loaded", and not the typical CIC lockout "game boots but resets every second" error.

Re: Proof that pin #4 mod does not work

Posted: Sun Sep 09, 2012 8:01 pm
by jims cool
kyousuke wrote:I just wanted to clarify, when I say "won't boot", I mean "I get a gray screen as if the cart was not properly read and loaded", and not the typical CIC lockout "game boots but resets every second" error.
nice! glad we got it all worked out for you :lol: welcome to nesdev!

C8 is the 0.1uf capacitor lidnariq is talking about.. it's the power on reset capacitor for the CIC

the CIC outputs CPU's reset after sometime and you are right "brown out" conditions / surge current will reset the CIC and/or CPU.. the capacitance of the circuit effects that a lot too.. :)

doesn't surprise me that it booted some games all the traces in the pin #4 area have to do with the security circuit.. it's still a fluke though :lol:

EDIT: fixed typo

Re: Proof that pin #4 mod does not work

Posted: Tue Sep 11, 2012 7:20 pm
by kyousuke
jims cool wrote:
kyousuke wrote:I just wanted to clarify, when I say "won't boot", I mean "I get a gray screen as if the cart was not properly read and loaded", and not the typical CIC lockout "game boots but resets every second" error.
nice! glad we got it all worked out for you :lol: welcome to nesdev!

C8 is the 0.1uf capacitor lidnariq is talking about.. it's the power on reset capacitor for the CIC

the CIC outputs CPU's reset after sometime and you are right "brown out" conditions / surge current will reset the CIC and/or CPU.. the capacitance of the circuit effects that a lot too.. :)

doesn't surprise me that it booted some games all the traces in the pin #4 area have to do with the security circuit.. it's still a fluke though :lol:

EDIT: fixed typo
Yeah, thanks everyone for the help, I'm sorry to crap up your thread with unrelated technical support. I learned a ton, though, so thanks.

Re: Proof that pin #4 mod does not work

Posted: Tue Sep 11, 2012 8:49 pm
by jims cool
no sweat, seemed on topic to me :lol:

you should checkout the main NESdev forum lots of fun stuff happening :wink:

Re: Proof that pin #4 mod does not work

Posted: Sat Sep 15, 2012 9:02 pm
by kyousuke
jims cool wrote:no sweat, seemed on topic to me :lol:

you should checkout the main NESdev forum lots of fun stuff happening :wink:
For sure I will do that when I've got more free time, working a lot of overtime right now. Looks like some pretty cool stuff in there.

Re: Proof that pin #4 mod does not work

Posted: Mon Dec 10, 2012 6:00 pm
by pemdawg
jims cool wrote:alright i've said it doesn't work a couple of times.. even before the code was dumped i tested and found it not to work... so now here is why the pin #4 to ground CIC fix doesn't work and locks the system

turns out not all 3193A's are the same.. although they are labeled the same "some" don't work with the pin #4 mod and lockout

from my post below
alright i just couldnt help myself it turns out the pin #4 mod is a backdoor put in by a programmer.. maybe it was fixed maybe it was added in later i don't know

literately when it would write the reset pin i see a "nop"

Code: Select all

; KILL_KEY:
010: 21      lbli 1     ; B = x0001 
048: 30      ldi 0      ; A = 0x0 
; DIE:
064: 00      nop         ; <--- oops instruction removed! =)
072: e4      t 064      ; jmp DIE
anyway wish i had more time for this.. but i need to get back to work.. i'll check back later..
this is the original code i posted

Code: Select all

; RESET_HOST_IF_KEY:
100:	7c 83	tml 103		; call SKIP_NEXT_IF_LOCK
160:	ef		t 16f		; jmp SET_RESET
170:	31		ldi 1		; A = 0x1
178:	21		lbli 1		; B = x0001
17c:	00		nop
17e:	00		nop
13f:	00		nop
15f:	cf		t 14f		; jmp CLEAR_RESET

SET_RESET:
16f: 30		ldi 0		; A = 0x0
177: 21		lbli 1		; B = x0001
17b: 46		out			; if key port1.0 = 00 (A)      ; reset
17d: 00		nop
13e: 00		nop
11f: 00		nop
CLEAR_RESET:
14f: 46		out			; if lock port1.0 = 01 (A)      ; clear reset if lock
167: 4c		rit			; return

; SKIP_NEXT_IF_LOCK:
103: 20      lbli 0      ; B = x0000
141: 55      in          ; A = port0
120: 67      ska 3       ; skip if A.3 = 1
150: 8f      t 10f       ; jmp DONTSKIP
168: 4d      ritsk       ; return and skip next instruction

; DONTSKIP:
10f: 4c      rit         ; return
NOTE: BL sets the output port

this function is called just before it recalculates the seeds

EDIT2: as requested by tepples for anyone who doesn't understand 4-bit sharp assembly code

"ldi" loads 4-bit's (1-nibble) into the (A)ccumulator
"lbli" loads the lower nibble of the B register called BL this selects what port the "out" instuction writes (A) to

the "tml" instructions call's the code block SKIP_NEXT_IF_LOCK..
this skips the next instruction on return if pin #4 is high (1) making the "lock out" go high and your game boot up

when pin #4 is low (0) it's in key mode the code jumps to SET_RESET and writes 0 to the "lock out" pin.. this is the same as holding reset for ever

this is how the lockout pin is wired
"lockout"----(CPU/PPU)---|>o---220ohm---LED---(+)

if you float pin 4 it's possible that it could work.. but i haven't had it work reliably.. i'll test later if this only effects some regions but i can't see sharp removing this part of the CIC code because it's also part of the CPU reset signal (clears reset after 15 bit transfers between lock and key)


almost finished coding my "TENNIS" firmware for the universal JCIC.. it's in the SNES section of the forum..
here's the link to the relevant thread
PLEASE DO NOT POST IN THIS THREAD ABOUT THE ABOVE LINKED THREAD

EDIT: tepples could you sticky this this thread?
Just ran into this the other day while modding a stack of NESes. Wired pin 4 to GND, and it wouldn't even give a red power light. Removed jumper wire, and left it floating. All is well. WTF? Anyway, it was a REV 07 board I believe. Only decks I have here now are 07s and 10s. Haven't had any others to test it on.