FAQ - aefermiano/psxton64adapter GitHub Wiki
My adaptor is not working!
- Check the electrical contacts with a multimeter.
- Power LED does not turn on: You most likely inverted the N64 connector pins.
- Power LED turns on, but you can't switch the controller to analog mode: you most likely inverted the PSX connector pins.
- Power LED turns on and you can switch the controller to analog mode: use a multimeter to verify the voltage in the PIC power pins (1 and 7), it should be around 3.3V. If it's OK your chip is damaged or the firmware wasn't correctly flashed. Did you solder the chip itself instead of using a socket? Heat may have damaged the chip. Did you use the "Verify" function of your programmer software after flashing the PIC?
Why does the analog stick keep pending to a side even if I'm not touching it?
It may be happening for two reasons:
- Console was turned on with the analog out of the idle position. Reset the console or unplug/plug the adapter again (with the stick in idle position!) and the problem will be solved.
- Depending on the controller you are using, the default 7% deadzone may not be high enough. It will happen mainly with 3rd party controllers (bad analog sticks!) and old controllers. To increase the deadzone, please check the Building the Adaptor.
Why use Playstation controllers?
Genuine Playstation 1 and 2 controllers are easy to find, even after so many years. The reasons are that they have been used for two very popular consoles.
Playstation controllers also have a lot of buttons, making it ideal for practically any game - if configured correctly of course.
Another advantage of Playstation controllers is that they are very durable. I have an eight years Dual shock that have been intensively used and still feels like new.
Finally, Playstation protocol is simple and very well documented.
Why did you choose PIC16F688?
When I started the project I decided to use PIC right away. The reason is that they were cheap, popular, easy to find and easy to flash. Another reason is that there are some similar projects out there using PIC (Cube64-DX, micro-64-controller), so I could use some reference if I get stuck. Fortunately it wasn't necessary.
This specific PIC model was chosen because I had some units at home and it was enough.
Do you build adaptors for sale?
No.
Can I build adaptors for sale?
The firmware is under GPL, so sure.
Is there a compatibility list?
No, but the majority of games work fine. Some famous titles:
- Banjo-Kazooie.
- Banjo-Tooie.
- Goldeneye 007.
- Legend of Zelda, The: Majora's Mask.
- Legend of Zelda, The: Ocarina of Time.
- Star Fox 64.
- Wave Race.
I only had problems with these two titles:
- F-Zero - keeps "disconnecting" periodically.
- Pokémon Snap - don't work at all.
This is probably because of the absence of controller pak commands handling.
Is it possible to add Rumble Pak support?
Probably. It would require an external power source or charge pump, and implementing the controller pak protocol.
Is it possible to add Memory Pak support?
It's less likely to work, because if I add it inside the chip, it would require a chip with 32kb EEPROM or something external, and most important, it would require implementing the protocol that involves checksum calculation, which I'm not sure this chip is fast enough to do.
Why haven't you done the firmware in C instead of assembly?
N64 interfacing needs to be done in assembly due timing, but everything else could be done in C. I regret it :)