I just fired up my Apple I replica a day ago (after checking my soldering work, which looked good.) Everything worked fine, but after a little while, the display system started bugging out -- e.g., when i used LIST in BASIC, the output would be formatted strangely and lots of characters would be dropped -- this behavior continued upon more LISTS, with different (random) char drops. This problem happens outside BASIC -- any writing out to display is goofed up like this.
Here's the weird part -- when I power down and leave the Apple I alone for awhile, it works fine! Then, after a little while, the strange bugginess creeps in again. It's less bad if I wait 10 sec between commands ... quite a strange problem.
It's as if the chars are not getting loaded right into the video-out char buffer...the text being sent in to the machine is getting saved right; the displaying is just screwed up.
Anyhow, I'm a bit of a newbie in digital logic, so I have no clear ideas of what could be wrong -- maybe a crystal is damaged? If you have any diagnoses, do you know how I could fix this?
I don't think I gave any particular bad bumps to the PCB or made any cold solder joints (btw, how can you determine if a joint is cold? Can it be done visually -- that is, do they look "dirty?" I don't think I have any, but I'm not sure, if they are not obvious upon visual inspection.)
thanks so much from a novice,
Check capacitor C18, 74LS04 pins 3 & 4, ATMEGA8 pins 2-6, 11-13 and pin 19. Make sure all of these have good solder points. Next check the 6821 pins 10-18. The video section consists of 3 IC's plus some support IC's. Since the problem is between the video section and the 6821 I'm pretty certain this is where your problem is.
I guess the easiests way to tell if you have a cold solderpoint is if the solder looks like a ball on the pin. If it is at proper temp when solder is applied it will spread across the entire post area that is hot. Sorry, I don't have any sample pics to show, perhaps the internet search can show good examples of this.
Hope this helps,
You say it doesn't get flakey until it's been on a while. Could something in the video circuitry be overheating?
Hey, thanks all. It was cap 18 -- the joint was cold. I resoldered it and everything is working fine. Does this cap somehow affect the timing of the buffer update? ie, cap 18's tau is such that it charges and discharges at a (regular) rate when given steady current, and this pulsing somehow alerts a circuit to pass the latest char to video output? ...again, i don't really know how this apple works!
anyhow, thanks! excited to goof around more with the apple I.
Actually, there was one more problem that appeared only once -- a few pixels would drop in and out randomly, as if there was some white noise interrupting the refreshing of the display. But, I'm not too worried about that.
I was pretty sure that was where your problem was. C18 was added to the circuit because the hand-shaking signal was unstable and every once in a while a character would drop out. The capacitor stabalized the signal. To verify you don't drop any characters, here is a good test program to run:
10 PRINT "TEST ";
20 GOTO 10
Notice the space after TEST, this is important. This program will display columns of the word TEST across and down the page in even columns. If a character is dropped your print will change down the screen.
The pixel noise I've not run into before but could be another cold solder point. Congratulations on a working replica.