October 21, 2019, 07:09:02 am

News:

Upload your images to this forum!.  The internet can't be trusted.  NFG can.  (probably)


N64 Stick Converter PCB v3 / firmware v3.5 - PCBs available again (August 2017)

Started by micro, March 13, 2015, 08:57:38 am

Previous topic - Next topic

tait

Is there any way to rewrite the code so that the maximum range reaches 100?

Vtavares

 Hi micro, please, can you tell me why you do not ship to Brazil?
Please, here we need this improvement too :(
Please allow us braziliens to order and enjoy this
great solution.

SubCog

Ordered mine!  Do the new ones come with the latest firmware, or will I have to flash them myself?


gothkar

So I've assembled four of the sticks myself. Ordered straight off the list and flashed with an aliexpress USBasp programmer as recommended. My issue is this. The stick calibrates successfully and seems great for the first 30sec-1min of gameplay. Over time however, the neutral zone (0,0) slowly drifts left. In other words, the neutral position gradually changes from 0,0 to -10,0 -20,0 -30,0 etc. This means that after a minute or two of gameplay it becomes impossible to turn right, pushing the joystick right accomplishes less and less. I'm at a loss for what to do here. My soldering work looks decent IMO across all four boards. Any ideas, help, thoughts about what could be the issue? I have an everdrive so I have verified my feelings in games with the actual joystick numbers from the joystick test rom. Let me know. Thanks all.

41714049

I may have missed it, but what is the new way to invert Y for the stick?

Daijoubu

@micro: Any plans on releasing the source code for version 3.5?
I wanna try to patch it so that it works with the stock SIMPLE JET V2.0 C PCB and an ATTINY261a as per @blecky http://freneticrapport.blogspot.ca/2015/03/n64-gc-replacement-stick-controller-ic.html

Thanks!

tcancian

Hi all  :). Been using four of these (V3) (and loving it) over the past two or so years and after unshelving my controllers recently one of them the analog stopped working  :(, any idea on how to troubleshoot this? Tried recalibrating but I'm suspecting it might be either an issue on the IC on the PCB or with the N64 controller board itself.

I'm in Brazil so I can't get a replacement (I'd suggest offering only EMS to Brazil if shipping is the issue).

I have amateurish knowledge on electronics but I suppose I could check the VCC on the PCB for the nominal values on the datasheet with the controller turned on to see if the IC still lives? Any ideas on how to check if the ATTiny24A is the issue, I find it hard for the potentiometer to be the issue. I'll also try replacing the controller PCB after checking if all the pads and traces on the board are OK.

UPDATE:

Found my multimeter and tested for continuity between the components on the PCB and the Controller board and all is a 100% as it was before. I'm now assuming somehow the EEPROM got corrupted and will try to re-flash it with a USB programmer. If that doesn't work I'll swap controller boards and if that still doesn't work I'll grab a new ATTiny24A. Maybe a slight surge on the console power-up corrupted the EEPROM?  :-\

Windjammer

Hey Micro, I know these have been out a long time now, but by chance is there any stock left?  I shot you a PM and e-mail to the address in the first post. Thanks!

kazaakas

Quote from: micro on March 13, 2015, 08:57:38 am
- No need to ask for availability. As long as you can see the email address above, the PCB sets are available.


A part of me is still hoping there is some truth in this. I've send you two emails, the second one with my address reformatted, because I thought the previous format might have been the reason that I didn't get a response. It's been a while now and I would very much like to hear if there are still some of these available, because I would very much like one.

Please let me know.

18rik

I was thinking about the octagonal stick restrictor on the replacement stick, and how it differs from the original. The current solution is to scale the output so that either the x-/y-axis are correct, or so that the diagonals are correct. This is how it looks currently



The reason that the standard range works only on the x-/y-axis and extended range only on the diagonals is that Micro has used constant scaling over the whole range. If linear scaling is applied something like this could instead be achieved



Thus, with this scaling it is possible to almost perfectly map the endpoints of the octagonal gate of the replacement stick to the output from an original N64 stick. The scaling also works well for the inner region, i.e. when the stick is not fully tilted. The idea behind my suggested scaling is to use Micro's standard range when on the x-/y-axis, and the extended range when on the diagonals. If inbetween, a combination is used so that the closer you are to one of the diagonals, the more extra scaling is applied. The code for this algorithm can be implemented quite efficiently, so it should be possible to run on the attiny Micro uses with his PCB. I don't personally have enough experience to build the firmware though, and besides Micro hasn't posted the source code for his latest firmware version. Too bad that Micro doesn't seem to be active here anymore  :'(

Quote from: Link83 on July 15, 2015, 12:57:48 pm
Great work micro! :D I just had a few questions about the 'extended range mode' if you dont mind...

So I understand that the original N64 analog stick restrictor is more a square-ish octagon shape, rather than a true octagon like the GC style sticks (Not my pic):-


Heres a picture of a new original N64 analog sticks range taken with sanni's N64 controller test rom:-


The original N64 converter used 168 steps (Which I think was based on the up-down, left-right analog stick measurements?) which means if you use a replacement analog stick with an octagonal or circular restrictor you end up with these ranges:-

Red = Original N64 Restrictor
Blue = Octagonal Restrictor (GameCube/Wii Style)
Green = Circular Restrictor (PlayStation/Xbox Style)

This means you dont quite have the maximum range for the diagonals, which is the problem experienced by MockyLock with GoldenEye/Perfect Dark using v2:-
http://nfggames.com/forum2/index.php?topic=5023.msg35647#msg35647

Does the 'extended range mode' try to modify the analog stick values into a more square-ish shape, or does it simply extend the range using the number of steps for the diagonal size, like this?:-

In which case the 'extended range mode' has the full range of an original N64 analog stick, but slightly more range in some directions than originally intended (Plus if you have a limited area of movement [Small restrictor] like some of the third party GC style analog sticks, then the stick could be too sensitive)

I'm also curious to know what the maximum number of steps is for the original diagonal ranges? I'm guessing around 190 steps? (13% increase) and would a value somewhere in between the two (Perhaps 180 steps) work for GoldenEye/Perfect Dark?

I just personally would prefer to have 'one mode' for all games - even if that means I have to compromise slightly with more range for some games than originally intended :)


Quote from: Informationator on July 17, 2015, 05:00:44 am
Interesting question, Link.  I'm also curious as to whether the joystick would calibrate properly if I carefully modified the octogonal gate to match that of the N64's gate.  With some careful measurements and markings and a file I imagine you could get very close to perfect.

Or...  If, the angles would be too severe with a 18mm and 20mm measurements, you could leave the cardinal directions at 16mm and carefully file the diagionals out to ~17.8mm, and the ratio would be faithful to the .9 ratio of the N64 controller's gate points.


Quote from: sanni on July 30, 2015, 02:03:43 am
Quote from: Link83 on July 15, 2015, 12:57:48 pm
I'm also curious to know what the maximum number of steps is for the original diagonal ranges? I'm guessing around 190 steps?


There are about ~83-85 steps for up/down/left/right and diagonally the x/y values are between ~67-70 on a new controller.

So the overall "traveling distance" between e.g. the lower left and the upper right corner would be the square root of ((2*68)²+(2*68)²) so about 192.

gorgyrip

Can you please also release the files for pcb v2? I prefer to use the ps2 analog.

OcrainaOfTime

Hey everyone.  I'm trying to get the parts to build one of these.  Does anyone know of a good way to buy the joystick in the United States?

EDIT:  I found these - https://www.rapidonline.com/Catalogue/Product/51-7063
Do they look correct?  RapidOnline appears to ship to USA.  I also saw the E-Bay link on page 7.

Daijoubu

Quote from: OcrainaOfTime on May 27, 2019, 08:57:13 pm
Hey everyone.  I'm trying to get the parts to build one of these.  Does anyone know of a good way to buy the joystick in the United States?

EDIT:  I found these - https://www.rapidonline.com/Catalogue/Product/51-7063
Do they look correct?  RapidOnline appears to ship to USA.  I also saw the E-Bay link on page 7.

I got mines from this ebay UK seller spiratronics
They also have a website http://spiratronics.com

https://www.ebay.ca/itm/Nintendo-Wii-Joystick-Potentiometer-10K-Thumb-Game-Repair-Replacement/291470358607

OcrainaOfTime

June 28, 2019, 02:25:40 pm #294 Last Edit: June 28, 2019, 02:44:11 pm by OcrainaOfTime Reason: Can't upload picture.
Thanks @Daijoubu for that info.  I ordered all the parts, and I was able to build my own board. :)  However, the values for the diagonal upper left and diagonal lower right are very low.  In Mario 64, for example, Mario runs quickly in all directions besides those two (which are polar opposites by the way).  In those two directions, he just walks.  Does anyone have any ideas why this is?  I'm attaching a screenshot of my range results.  Also, as you can see, the point of center is slightly off from what it should be.  Also, if I move the controller, it affects the control stick (without actually moving the control stick).  Maybe my testing tool is just really sensitive, but it's worth mentioning.  Do you think it is my soldering, or perhaps the potentiometer is the culprit?  Thanks in advance.

EDIT:  I am not sure how to upload the screenshot of my results.  The site just gives me an error:  "Unable to create a new attachment directory. Your attachment or avatar cannot be saved."  But it basically looks like the octagon you would expect but with the upper left and lower right diagonals just flat.