Terra Cresta repair log #2

 PCB Repair Logs, Repair Logs  Comments Off on Terra Cresta repair log #2
Dec 192016
 

I got this faulty pcb in change of some repairs.

The seller told me that the game was bought as working but after some time it developed a problem on the background with some repeated tiles all over the place.

I could confirm the behaviour, but after a couple of troubleshooting sessions the problem became worse and the background was only white.

The game has not schematics, so after some time spent to understand where the background generator was sitting I could isolate the problem on the ram@18D which had some data lines stuck low.

After replacing it, the problem remained but at least the ram had all the datalines working.

With the logic probe I then found a 74ls273@18E which had all the outputs in the grey area.

After replacing it, the background was fully restored

Dec 182016
 

This c64 gave me the following screen on power-up. Flickering characters with artifacts and a vertical line through the middle of each character. After going through the symptoms on Ray Carlsen’s site, I thought this may be bad colour ram. Swapping out the 2114 didn’t make any difference and colours associated with the characters looked good anyway, so I don’t know what I was thinking there.

After thinking about this for awhile & looking at the pattern closely, I had an idea that this may be a bad character generator ROM at U5. To prove this theory, I could type in a short basic program to copy the entire character set from the ROM into RAM, then tell the VIC 2 chip to use the character set in ram and reprogram one of the characters to one of my choice. The Commodore 64 has great features such as programmable characters which is very useful for games.

Luckily I don’t have to think too much as there’s already an example at the link below.  So I begin typing some basic commands. The problem is my typing has to be super accurate because I can’t see what I’m doing and any typo will screw the troubleshooting up. It took me 3 or 4 goes before I finally got it right.

https://www.devili.iki.fi/Computers/Commodore/C64/Programmers_Reference/Chapter_3/page_109.html

After typing in “POKE 53272,(PEEK(53272)AND240)+1” as shown above, the flickering stopped although the artifacts obscuring the characters were still there, which was to be expected because we’ve just copied corrupt data. The computer was now getting the character set from RAM instead of from ROM. Now to change the letter T to a smilie face. I enter the following program and run it.

10 FOR I=12448 TO 12455: READ A:POKE I,A:NEXT
20 DATA 60, 66, 165, 129, 165, 153, 66, 60

Pressing a T shows a smilie face which looks complete without artifacts or a line through the middle of it. So I know that the VIC 2 chip is OK.

I remove the old mask rom and install a socket. My EPROM programmer is currently out of action so I don’t have the ability to verify the character rom or program another EPROM in its place.

But for now I can extract a known working EPROM from my own C64 into this one for troubleshooting purposes . After powering up, the character set shows up perfectly. Now all I have to do is program another EPROM when I get around to it and this c64 can go back to its owner.

NebulasRay repair log #2

 PCB Repair Logs  Comments Off on NebulasRay repair log #2
Dec 152016
 

Got this genuine NebulasRay for a repair:

Game played fine but suffered from a color issue, screen was all yellowish, self-test on boot reported a problem on palette RAMs:

A yellowish screen means that problem is in the BLUE color generation so I started to study the hardware and figured out the RGB circuit:

As you can see from the above picture, there are three 8K x 8 bit static RAMs, each one for a each color.These SRAMs are addressed by the custom ‘156’, their data go to the custom ‘116’ which processes them and generates the different color shades.These digital signals are converted to analog and formed into a single color by three 1K Ohm resistor arrays.Lastly each is color is amplified by a PNP transistor and routed on JAMMA edge pins.

With this knowledge for first I checked the 6264 SRAM @5X (which does the BLUE color), it showed normal activity on data/address bus until I probed its pin 27 (/WE) , it was not toggling like in other two RAMs but it was stuck HIGH so RAM was never written:

/WE signal of this RAM (like the other two ones) are generated by the custom ‘116’:

But with my multimeter I found no continuity, at a closer look the pad of pin 27 of this RAM lost contact with the trace.I promptly restored it and this gave me a fully working board again.End of job.

 Posted by at 9:38 pm

Super Spacefortress Macross and DoDonPachi repair log

 PCB Repair Logs  Comments Off on Super Spacefortress Macross and DoDonPachi repair log
Dec 142016
 

Although issues were different in these two repairs (well, quick fix more than repair), the cause was the same.

Here’s the first board, a Super Spacefortress Macross :

Board had issue on some backgrounds which showed colored blocks :

A visual inspection revealed a lift pin on a QFP custom ASIC:

Reflowing the pin fixed the game:

Second  PCB was a DoDonPachi :

with wrong music and sound FXs:

Also here the culprit was a lilfed pin (an address line, specifically) of the Yamaha YMZ280B-F (PCM/ADMPCM decoder)

Promptly fixed and sound 100% restored :

So, the bottom line is that you must always keep attention when you troubleshoot PCBs that use SMT devices, always check these for first…

 Posted by at 4:39 pm
Dec 102016
 

This Atari 800xl has definitely seen much better days. A work colleague picked this 800xl off eBay plus a battle worn 65xe and some power supplies and other junk. Initially we had some issues troubleshooting but the symptoms were typical of a faulty power supply and bad DRAMs after re-testing with a reliable power source.

image

One of the power supplies had the Atari logo with a foreign AC plug. These are absolutely useless to me because they’re sealed with epoxy and could not be repaired. The other two types were also sealed with epoxy, the connectors with the 7 pin din plug would later be salvaged for an alternative source of +5v DC using a basic switching adapter for usb hubs / routers. I read that they fail spectacularly when they do with over voltage. DRAMs don’t like voltages far above the normal voltage levels and will fail very quickly. I’ve also read that the sealed epoxy types are very reliable and when they fail, they supply low voltages due to bad caps which aren’t harmful to the Atari. Regardless of what the truth actually is, these power supplies are well used and it’s likely that they’ve already failed or due. The other common cause of a dead Atari is a “Commodore 64 attack”,  the c64 has the same 7 pin din power supply connector and was often intentionally or accidentally plugged into the back of an Atari causing instant death to DRAMs & anything CMOS. The Atari only accepts +5vdc, Commodore decided to use 9vac in addition to the +5vdc.

The XL and XE series have a really neat diagnostic tool built into the OS ROM. When the option key is held in during power up, it triggers the software to boot into the diagnostic mode however, when bad ram is detected it automatically boots into the memory test as shown.

image

 

The red squares indicates that the ram test has failed. Normally, 48 green squares should be present but unfortunately most of those are red. Each square represents 1kb; would that mean it only have 48kb of ram? Well not really. The 800XL has 64kb of ram but the built in diagnostics only tests 48kb of that. It’s a very simple test. The higher chunk of 16kb of RAM isn’t tested, I guess because this area of memory lies underneath the Atari  OS ROM. Then there’s also the first couple of pages of RAM which are used to store some variables.

Each DRAM represents 65535 words x 1 bit, so you need 8 of these to make up 1 byte of ram per address. Some of the later models use 2 x 4464 DRAMs in the XE series.

Unfortunately this is a revision D motherboard which means only half the chips are socketed ( cost savings ). So we need to remove our DRAMs and test them outside of the circuit.

image

I could also troubleshoot by piggy backing to identify a bad chip but that won’t work if a chip is shorted. The board has previously been worked on and a new DRAM was already installed, this replacement could have occurred years ago. We have at least 1 additional dram fail and we don’t know the history of the machine and when this failure took place. It would be wise to replace the entire 8 devices as it’s very likely we will see another DRAM fail. Besides, this brand of DRAMs are known to be unreliable even when they were new and they were also used in the C64. It’s also very less likely that we have one or both of the 2 74LS258 DRAM address muxes fail.

So I remove each DRAM one at a time, install an IC socket and test them out of circuit with my trusty Micromaster LV48 EPROM device programmer. I tested the previously replaced DRAM and it passed the test however I only found 1 bad DRAM and it was the first one at U9 ( clearly marked X with my screwdriver ) so I don’t mix it up with the remaining working devices.

image

I don’t have any spare 64×1 DRAMs on hand. But I do have some in a ram expansion board which was installed to expand the 600xl’s internal memory from 16kb to 64kb. I finally convince myself to salvage the DRAMs to fix the 800xl since I already have some spare TI 64x4s which I can put in my 600xl and use it to troubleshoot the dead 65e, it would require a modification but it’s a very simple mod which many have done. Besides the ram board is totally unnecessary as pointed out by people on Atariage who made jokes about it as I tried to identify its origin.  I was also expecting to receive my Antonia 4Mb upgrade board from Poland to install in the 600xl so I wasn’t really needing the 64×1 DRAMs anyway.

The disgraced ram board.

image

Installing sockets and replacing the entire stack of DRAMs seems to have cleared the ram error but I intend to load up several games that use up the entire 64kb to make sure and test the machine over a few hours. I also tested each DRAM in my device programmer to verify them before installing them in the 800xl.

image

Whilst I’m working on this I’m also giving the Atari 800xl case some whitening treatment using a simple solution of laundry booster and water. I submerged the parts in this milky solution and left it in the sun for several hours over the weekend. This is a very effective and cheap alternative to some of the other solutions out there. The sticker had come off, so I had no problems submerging the bottom half of the case. I would later glue the sticker back on once the case was dried.

image

I like the results. Some keys are still slightly yellowed but I don’t mind.

image

 

A few hours go by playing my favourite game on the Atari, Dropzone. Now I have a bunch of 4164 DRAMs which I’ll use for troubleshooting purposes.

image

RAM test shows no problems but I had an issue with the TEAC television set shown previously and l had to replace it with this piece of junk. That’s two sets gone in two months with no desire to repair them.

image

With that done. It was time to give the machine back to it’s owner and start working on the 600xl which I’ll use to troubleshoot the 65xe ( I’ll cover that in my next post ) by substituting in parts until the 600xl breaks.

These are the instructions I followed and results.  3 wires, bend up some pins ,some soldering and you’re done. I had to reinstall the 2 x 74LS138, 74LS375 from the RAM board to the machine. There was also a 74LS32 missing which isn’t really needed depending on the variation of the mod you’re performing but I managed to scrounge one from an arcade parts board.

https://www.mathyvannisselroy.nl/xl600k64.htm

 

600xlupgrade

2 x TMS4464 DRAMs installed. Much better than the expansion board!