Sunday, 11 September 2016

Nintendo SNES Mini power supply repair and upgrade

Bit of a change, here we have a Nintendo SNES Mini. Marked SNN-CPU-01, it is an imported NTSC version, and has had some power supply problems. I am told it came with a 'US' power supply, and the owner had cut the cable off a that and attached it to a 'UK' power supply.
When used like this, it blew the fuse, inside there should be a white ceramic 1.5A fuse, but that has gone leaving just one end cap in place.
On investigation, it seems for 'US' supply, read 'DC', and for the 'UK' replacement read 'AC'. The case is marked (slightly confusingly) AC Adapter DC 10V. This is however a DC input.
The adapter that had been modified is Nintendo, and says it is for use with a (super) NES control deck, but is 9V AC.
It looks like these is space on the board for some additional components to support AC input. A large capacitor footprint and a single diode, both to the left of the regulator. There is also space on the other side for an RF modulator which isn't fitted on this version.
First step is to replace the fuse. Rather than a ceramic one shot fuse as originally fitted, I have used a polyfuse which will reset after the fault condition has cleared. This one is a 1210 style case and fitted in the original footprint. I've gone for the same 1.5A rating as the original, and a 16V voltage limit.
The large heatsink has been removed to give clearer access. Attached to it was a standard 7805 regulator. Given that probably took the brunt of the reverse currents that blew the fuse, that should be replaced. Again I've gone for a modern replacement. This is a RECOM R-78E5.0-1.0, which is a drop in replacement for a 7805.
These are switch mode regulators, which means they are a lot more efficient than the original linear 7805 and no longer require the heatsink. It also just about halves the current consumption of the unit (260mA with the 7805, 160mA with the 78E5.0).
Initial testing just showed a black screen, so I did worry that something might have been fried. Then I remembered it was Nintendo. I cleaned the contacts on the cartridge and socket and tried again and then it started up without a problem
I didn't have a replacement DC power supply with the appropriate connector, so I went for the same cut and rejoin approach. I was going to fit a line socket, but I thought that could lead to future problems if the supplies were separated and the wrong one plugged in.
I used one of TheFutureWas8Bit's ZX Spectrum power supplies, as these are 9V, 1.5A which is more than enough for this unit. The original was nominally 10V DC, but that would have been unregulated and that sort of supply can vary from 8V to 12V depending on load. 9V regulated is a good option as it would give sufficient overhead for a linear 7805, and is within the 7-28V input range of the new regulator.
It is also marked with the centre negative polarity used by the Spectrum, which matches the way the original connector is wired. I've added a label to the case so there is no confusion in future.

If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.

Thursday, 25 August 2016

VIC20 PAL to NTSC conversion

Many home computers of the 1980s were produced in various versions with television outputs to suit the region. Most had NTSC versions for North America, and PAL for the UK, and some also had SECAM for France. The differences were sometimes just down to a jumper, or needed various modifications, even different circuit boards.
The original version of the VIC20 (2 pin power connector) had different boards for PAL and NTSC versions, these had different clock crystals (14.31818 MHz for NTSC, 8.867238 MHz for PAL), different VIC chips (6560 for NTCS, 6561 for PAL), and also a different Kernal ROM (901486-06 for NTSC, 901486-07 for PAL). There were also differences in the supporting circuitry, the PAL version had an additional 74S74 chip to divide the clock down by 2 to give 4.43618MHz. That's it on the far right, outside of the outline of the screened cage, entirely failing to disguise the fact it's a bit of an afterthought.
When they cost reduced the board for the later version (7 pin round power connector, as used in the C64), they went for a single board. On the VIC20-CR, the PAL crystal was swapped for a 4.43618MHz crystal, so the additional divide by two stage was not required.
Here in the UK, I have loads of PAL VIC20s, but no NTSC versions, and I was looking for one to use for testing the Penultimate Cartridge, it turned out that Paul Rickards was in the USA with a selection of NTSC VIC20s, and was interested in a PAL one, so we concocted a plan to swap one. Rather than sending a whole VIC20, we just exchanged crystal, VIC chip and kernal ROM. That should be easy enough, just swap those bits over and away you go. Here's is Paul's proof that his NTSC VIC20 is working:
Here is the matching proof from my TV that my VIC20-CR is indeed PAL.
The photo Paul sent of the NTSC version looks very similar to my PAL version, doesn't it?
Well, looking closer at the photo of the NTSC and PAL versions of the VIC20-CR, there are quire a few differences.
The NTSC version has a PCB trace linking pins 2 and 4 of the 7402. The PAL version has the trace cut and a 1nF capacitor fitted
Capacitor C13 is a 220pF ceramic disc capacitor on the NTSC version, which should be horizontal in the outline in the centre of the picture below. On the PAL version, it is not fitted, but a 220pF axial capacitor is connected at 45 degrees between one pad of C13 and the top of R10.
The NTSC version has two ferrite beads, FB4 and FB5 (bottom right). On the PAL version, there is 1 ferrite bead and one yellow wire and they are crossed over.
Finally, on the back of the board, on the PAL version only, a 56pF ceramic disc capacitor is soldered across R5.
I have not been able to locate a decent schematic for the PAL version of the VIC20-CR, and only some ropey scans of the NTSC version, this is stitched together from two of those scans to show the video output section.
I have marked on the differences that have been made to the PAL version. All the PAL VIC20-CR boards I have checked have these same modifications. It's surprising that they must have made hundreds of thousands with these mods, rather than designing a PAL specific board, or even a dual purpose one could easily be made for either standard.
In order to convert my PAL VIC20 to NTSC, I need to get from that modified schematic back to the original. I removed the modified parts and assembled a pack of bits to send over to Paul so that he could do the reverse, and convert an NTSC VIC20-CR to PAL.
There were a few less parts for the reverse conversion, these are the NTSC bits I got back, for my PAL to NTSC conversion. The markings have rubbed off the 14.31818 MHz crystal. It has an unusual central ground pin, but the PCB is designed for a 2 or 3 pin crystal.
I had already removed the PAL specific parts, so all I had to do was fit a new 220pF capacitor as C13, replace the cut track next to the 7402 with a wire link, and install the two ferrite beads, FB4 and FB5 (borrowed from a scrap board). Finally, the NTSC crystal, VIC and ROM.
Once all that was done, it looked fairly close to the original version, and worked first time. It still needs a bit of tweaking, but it's a reasonable NTSC picture.
The TV confirms the signal is now NTSC. Time to install a Penultimate Cartridge and do some testing. Many people are already using it on NTSC VIC20s, but it's nice to be able to test it myself. The yellow comes out better than the PAL version, as does the red below.
More testing is required, but all is working well so far with the converted VIC20. One of the first things you notice is that some cartridge games which used to start offset to the left now start properly centred. Oh dear, I guess I'm just going to have to play some more Donkey Kong.

The PAL bits have now arrived in the states, and Paul's NTSC machine has now been converted. FB4 removed and one end of FB5 swapped over to the end of FB4 end a wire link fitted from the spare end of FB4 to the spare end of FB5, C13 removed and the new 220nF axial capacitor fitted linking to the top of R10, the track between pins 2 and 4 of the 7402 broken and a 1nF capacitor fitted between the two vias, and finally a 56pF capacitor added on the back across R5.
With the PAL crystal, VIC and ROM now installed, the ex-NTSC machine is running as a PAL machine.
Everyone's a winner!

If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.

Sunday, 21 August 2016

Atari 65XE USB Keyboard and Joystick with Raspberry Pi 3

Trying out a few new ideas on another Raspberry Pi / USB keyboard / USB joystick case mod.This is an Atari 65XE, the replacement for the good old 800XL, with the styling that led to the ST.
This is quite a nice case but unfortunately has one of the pegs on the cartridge port has snapped with mean cartridges do not fit properly. There is also a memory fault and some of the keys aren't working, so I'll put the board aside to repair later.
I started with the cartridge port and removed the other side and sanded both smooth. No particular reason, just like things to look tidy.
Next came the question of what to fit where. I knew I needed to fit in a Raspberry Pi 3, with access to power and HDMI, a USB hub, a USB keyboard controller and a dual USB joystick board.
The Pi worked out quite well, I found it fitted through three existing holes, if mounted upside down. This also give easy access to the microSD card when the cover was removed. I had to extend the round power connector into an oval to fit the HDMI connector, but the others lined up.
I've found on Atari computers before that the SIO connector cutout is the ideal size for a 4 port USB hub, so I fitted one there.
That limited the options for the joystick though, I do have a dual USB joystick PCB which would fit the two joystick port cutouts, but it would clash with the USB hub board.
I did consider fitting the USB hub board upside down, it would then have fitted, but the USB joystick board would have clashed with the case mounting pillar. Another option, I considered was the new version of my USB joystick adapter board.
I upgraded the processor in this to give some analogue inputs for paddles etc. There were sufficient spare pins so I designed it so it could be used as a dual USB joystick with a detachable second port. Useful for things like the Atari 800XL where the spacing is different.
This also would clash with the USB hub, so back to the drawing board. I ended up using two of the extension boards from this and a USB keyboard controller board to make a dual USB joystick.
Those boards all now fitted in the case without blocking each other or the mounting holes. As usual, I'll add a load of hotmelt glue to hold those firmly in place.
The final piece was the USB keyboard controller. That fits under the keyboard as the membrane ribbon the the 65XE is quite short, and in this case I had to cut it even shorter as there were a couple of damaged traces on the membrane (which is why some of the keys weren't working when I tried it on a working 65XE board).
I have been unable to locate a supply of the 24 way 0.1" membrane connector, so I have to make these by cutting down two shorter ones and joining them. The additional resistor is for the power LED on the front of the keyboard.
This sits on the back of the keyboard, the placement is important, to avoid a support pillar half way up on the bottom of the case which can clash with the USB connector.
Everything fits together, so time to bolt in the Raspberry Pi 3. This covers one of the mounting holes, so I had to cut off the post that sticks down from the top of the case. The three USB cables plug into Pi, leaving one free port available. I've not wired up the LAN jack as the Pi 3 has built in Wi Fi.
There is still space for the mounting pillar at the other side, between the ribbon cables of the joystick boards.
With the lid fitted, time for some testing.
Power and HDMI or composite video on the left, USB devices plug in on the right.
Joysticks plug in at the side, any Atari or Commodore style 9 way D joystick will do, other than the 7800 and the Spectrum +2 / Amstrad. I can modify the firmware to use these if required, let me know when ordering.
I supply these with the official Raspberry Pi 3 power supply, 5V @ 2.5A with UK/US/EU plugs. I prefer these as there are still lots of rubbish USB phone chargers and under rated microUSB cables around, so I know these work well with the Pi 3.
The Atari 65XE USB keyboard with and without Pi and with and without joysticks ports can be found on my Etsy Store. If you are interested in another configuration or another computer, contact me.