I managed to snag a very cheap PAL PSOne console on my local classifieds recently, so I thought it would be fun to kit it out with the ONEChip so it can play all my imports and backups. For the uninitiated, the ONEChip is a modchip that has been developed specifically for the smaller PSOne model units that released at the end of the console’s lifespan. Other, older, modchips do not provide full functionality on that model due to it’s improved security protocols.
|Kynar (AWG30) Wire|
|ONEChip.hex [Direct DL]||Microcontroller programme|
This is very easy. Simply turn the console upside-down and remove the 6 screws in the back (1 of them is under the warranty sticker). Then, being careful to hold the console together, turn it back around. You can now lift the top half of the case off to reveal the laser unit and shielding. To remove the laser you must unplug the ribbon and power cables from their headers, do this carefully and by pulling straight up on them. You can now set this aside and remove the top metal shield to reveal the motherboard. To get the board out you might have the turn the console upside-down again and wrangle it a bit.
As a side note, the Eject button on my console was sticking slightly so I assumed that there was some dirt or something jamming it. After disassembling it I couldn’t find anything so I put it back together, after which the button stopped sticking. It probably just needed to be removed and reinserted to get it going so you can try the same if yours has this problem, apparently it’s common with this console.
Programming the PIC
There a few ways you can burn the hex file onto your PIC. You can use a PICKit (the official Microchip hardware) or you can use a universal programmer like the TL866 if yours supports this particular PIC. I have both and I have decided to use the universal programmer since it’s easier to use.
Pay attention to the configuration bits when you programme your PIC, the ReadMe for the ONEChip file says to use the internal oscillator (obviously, since there will be no external crystal) and to switch all other options off. On my programmer, the config bits get set automatically by the hex file when it’s loaded, but that might not necessarily be the case for you so check them!
The most important thing here is to make your work as neat as possible, I really can’t stress this enough. Whacking together even a simple project like this without any thought is going to result in frustrating mistakes, take your time and do a good job.
There are several ways to install the ONEChip, the so-called 4-wire, 6-wire and 8-wire methods. The 8-wire method provides the best functionality and compatibility so I’m using that one. Installation diagrams are shown below for the two motherboard revisions, obviously choose the one that matches your console’s motherboard. These diagrams have been taken from the mmmonkey tutorial on the subject, since the Eurasia site provides many different diagrams which is a little confusing.
First, plan where the PIC is going to sit inside the PSOne. To make sure I put it into a place where there was enough room, I used a gauge to measure the thickness of the PIC, the space inside the shielding, and the height of various chips on the board. We don’t want the shielding to short any of the pins on our PIC together, so be careful where you place it. I settled on the following location:
Now, let’s wire the thing up. I am using AWG30 (Kynar) wire as it’s the best type of wire for this kind of job. You can use thicker wire for the voltage and ground lines but the PIC will be drawing such a small amount of current that I doubt it matters. My soldering technique is to expose a very short amount of the wire at the end of my reel (less than 1mm) and tin it gently, then add some solder to the relevant point on the board. I then touch the wire to the joint and quickly add heat from my iron, the wire should stick to the board very easily and without much heat required. Be particularly careful when soldering to the ends of SMD components, if you add to much heat you may cause the component to slide or “tombstone” which will be annoying and fiddly to fix. My advice is to use a nice hot iron and apply heat only in very quick bursts, try not to apply any pressure the parts you are heating either.
One thing you might notice is that I didn’t install a decoupling capacitor on the PIC. This was by accident, I forgot. However, after I finished the mod I found that it worked fine without it, probably because the part of the motherboard where I’m getting the +5V has plenty of caps on it so the power is likely pretty clean. I do recommend you put a 100nF cap across the voltage and ground pins of your PIC, however.
Now the wiring is complete, let’s make sure it works before finalising the job. Put the console back together, including all the case screws.
First, make sure that the console still boots the games it normally would i.e. PAL original games. With that checked you can see how it handles an NTSC original, for example, plus any backups you may have. It should play everything you throw at it as long as your backups have been burned well and are on decent quality media. If it fails to work as expected then it could be that your wiring is wrong, your PIC was not programmed correctly, or your PSOne’s laser is on it’s way to electronics heaven.
If your laser is the problem you can try to adjust the pots that control it’s output, but I don’t recommend it since if you need to do this then you almost certainly will need to replace the laser unit before long, anyway (look around for a tutorial on that, I don’t want to link one here). The part number for the laser unit in a PSOne is KSM-440BAM, you can find new replacements online from China but I’ve heard they aren’t of decent quality – YMMV. You’re probably better off trying to get one from another console or find some original unsold stock, in my opinion.
Once you’ve confirmed that the mod was successful, go ahead and reopen the PSOne. Get a hot glue gun and put small blobs over all the joints on the motherboard, this will prevent them from ever coming loose while also adding extra protection if you ever need to open the console again for some reason. Make sure your glue blobs don’t go over any parts of the PCB where the shielding makes contact, otherwise it won’t go back into it’s place and you’ll have a job trying to remove the glue without destroying your solder joint!
That’s it! All done. Enjoy playing your imports/backups!