Faulty Atom Part 2

discussion of games, software, hardware & emulators relating to the Acorn Atom and Acorn System machines.
Post Reply
PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Faulty Atom Part 2

Post by PhilYoung » Wed Sep 26, 2012 4:36 pm

Hi,

I'm still having problems with my old Atom but I've been able to have a closer look now that I've acquired a scope courtesy of Dave Hitchins. Hopefully some of the Atom gurus can point me in the right (or least wrong) direction.

The most obvious symptom is that most of the time I'll get the 'Acorn Atom' message, the '>' prompt and the cursor, but no response to any keys (other than BREAK of course). About 5% of the time it will work fine - I've had it running for a few hours repeating the PROM CRC check program out of the manual (which come out correctly), so once it strats properly it keeps on going without problems.

I've been mainly looking around the 8255 area since that is what the keyboard is associated with:
atom_8255_area.gif
atom_8255_area.gif (178.05 KiB) Viewed 1598 times
When it works, the nCS, nWD and nRD pins on the 8255 all show activity and as expected the PA0-3 pins regularly change state as the keyboard row counts up from 0 to 9. The appropriate pin on the 7445 goes Low to match.

The strange thing is that when it doesn't work, there is still what looks like identical activity on the nCS, nWD and nRD pins, but PA0-3 stay fixed at about 1.7V. So the 7445 never selects a keyboard row so the keyboard is ignored.

I'm thinking that this means that Port A on the 8255 isn't being correctly set as an output and stays as the default input, and since it is connected to the inputs of the 7445, nothing is being strongly pulled either H or L and so float.

I'm checking the pins on the ICs, not the socket so it's not a faulty socket.

I've tried a couple of spare 8255s (and 7445s for that matter) - same result.

I've tried re-soldering all the pins on the 8255 socket to eliminate a possible dry joint.

Any ideas as to what i should try next ? Maybe the A1 line into the 8255 is intermittent so the control register at #B003 is never selected to be written on initialisation, so port A never becomes an output.

In the absence of any better suggestions, I'll probably try and remove the 8255 socket and put in a better turned pin one, which will also give me the chance to have a closer look at the tracks in that area, but I'm a bit nervous about removing a 40 pin DIL socket without damage.

What does the panel think ??

Cheers,

Phil Young

User avatar
oss003
Posts: 3124
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: Faulty Atom Part 2

Post by oss003 » Thu Sep 27, 2012 6:45 am

Hi Phil,

what a coincidence, a friend of mine refurbished an old Atom and wanted to build in a RAM/ROM- and an AtoMMC board. Before adding the boards, while testing the original state, he encountered the same problem. Sometimes, after pressing BREAK, ENTER works and sometimes the Atom hangs. 'ACORN ATOM' and the prompt is always displayed but after that, the Atom hangs.

If you enter a program while the Atom not hangs, the program keeps running so it must be a keyboard problem. We did some measuring but did not find the problem .. yet ;-)
This evening I'll meet him and we are going to try to solve this problem.
I'll keep you informed.

Greetings
Kees

User avatar
danielj
Posts: 7629
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester
Contact:

Re: Faulty Atom Part 2

Post by danielj » Thu Sep 27, 2012 7:30 am

Hello,
I had this too. I'm fairly convinced it's related to seating of the chip. Even the buffers for the eurocard connector badly seated can stop the keyboard responding - I never investigated this fully to see what it was doing around the 8255 though. I think I put it to bed by putting in a new 40 pin socket.

I used tin snips to carefully cut the plastic between the pins on the old socket, then desoldering braid and a solder sucker to get the thing out one pin at a time. Much less of a headache than trying to get it all out in one piece! (Hope that's not teaching granny to suck eggs there).

d.

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Thu Sep 27, 2012 12:00 pm

oss003 wrote:Hi Phil,

what a coincidence, a friend of mine refurbished an old Atom and wanted to build in a RAM/ROM- and an AtoMMC board. Before adding the boards, while testing the original state, he encountered the same problem. Sometimes, after pressing BREAK, ENTER works and sometimes the Atom hangs. 'ACORN ATOM' and the prompt is always displayed but after that, the Atom hangs.

If you enter a program while the Atom not hangs, the program keeps running so it must be a keyboard problem. We did some measuring but did not find the problem .. yet ;-)
This evening I'll meet him and we are going to try to solve this problem.
I'll keep you informed.

Greetings
Kees
Nice timing, then.

Please let me know how you get on.

I actually have another Atom board now without keyboard, so in principle I could transfer the KB across, but I don't fancy my chances of unsoldering the little spring contacts and getting them to line up again. It was bad enough the first time round when the free ends were much longer.

Thanks for the reply,

Phil Young

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Thu Sep 27, 2012 12:07 pm

danielj wrote:Hello,
I had this too. I'm fairly convinced it's related to seating of the chip. Even the buffers for the eurocard connector badly seated can stop the keyboard responding - I never investigated this fully to see what it was doing around the 8255 though. I think I put it to bed by putting in a new 40 pin socket.

I used tin snips to carefully cut the plastic between the pins on the old socket, then desoldering braid and a solder sucker to get the thing out one pin at a time. Much less of a headache than trying to get it all out in one piece! (Hope that's not teaching granny to suck eggs there).

d.
Thanks, I forgot to take those buffers and the 6522 out, and I suppose IC5 can go as well. I'm trying to leave as few ICs in it as possible for testing purposes. I'll try that first this evening.

I was going to snip the socket into 2 halves, but that a good point about cutting it into 40 individual pins, hopefully the distortion of the cutting won't mechanically pull the traces off as well.

I'm using something similar to this:

http://www.ebay.co.uk/itm/Electric-Deso ... 53ed9d3ea4

which actually works quite well, appearance to the contrary,

Cheers,

Phil Young

User avatar
oss003
Posts: 3124
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: Faulty Atom Part 2

Post by oss003 » Thu Sep 27, 2012 2:28 pm

When I have to remove a socket, I first melt away the plastic with my soldering iron until only the metal parts are left.
These parts can easily being removed using a pair of pliers on one side of the board and a soldering iron on the other side of the board.
This won't damage the tracks at all.

It smels a little bit but it works ok.

Greetings
Kees

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Thu Sep 27, 2012 3:27 pm

oss003 wrote:When I have to remove a socket, I first melt away the plastic with my soldering iron until only the metal parts are left.
These parts can easily being removed using a pair of pliers on one side of the board and a soldering iron on the other side of the board.
This won't damage the tracks at all.

It smels a little bit but it works ok.

Greetings
Kees
I'll keep the window open......

Cheers,

Phil Young

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Sun Sep 30, 2012 1:44 pm

danielj wrote:Hello,
I had this too. I'm fairly convinced it's related to seating of the chip. Even the buffers for the eurocard connector badly seated can stop the keyboard responding - I never investigated this fully to see what it was doing around the 8255 though. I think I put it to bed by putting in a new 40 pin socket.

I used tin snips to carefully cut the plastic between the pins on the old socket, then desoldering braid and a solder sucker to get the thing out one pin at a time. Much less of a headache than trying to get it all out in one piece! (Hope that's not teaching granny to suck eggs there).

d.

I think we have a winner.....

I've removed the original 8255 socket (in two sections after cutting the struts between left and right hand sides) and replaced it with a new 40-pin turned pin socket.

It seems to be working fine (although I've thought that before) so it looks like provisional success.

It was amazing how much more force was needed to get the IC back in the new socket compared with the old, so the problem was probably just due to poor seating.

Cheers,

Phil Young

User avatar
1024MAK
Posts: 9385
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Faulty Atom Part 2

Post by 1024MAK » Sun Sep 30, 2012 2:53 pm

New turned pin sockets are normally tight fitting. Especially when compared to the normal leaf spring sockets...

User avatar
oss003
Posts: 3124
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: Faulty Atom Part 2

Post by oss003 » Sun Sep 30, 2012 5:09 pm

Hi Phil,

we found the problem with the Atom of my friend.
He has a RAM/ROM board Mk1.4a installed and without the board everything works fine but with the board, the Atom hangs at the prompt.
After measuring if the processor pins had a 1 on 1 connection with the pins on the board, we noticed that pin 39 was not connected.
The processor was a 6502 so JP1 on the board must be on pins 1-2. Then we discovered that pin 39 is connected if JP1 is on pins 2-3 so the printing on the board is wrong!

Now it works like a charm! :D

Greetings
Kees

Prime
Posts: 2798
Joined: Sun May 31, 2009 11:52 pm
Contact:

Re: Faulty Atom Part 2

Post by Prime » Sun Sep 30, 2012 9:44 pm

oss003 wrote:Hi Phil,
The processor was a 6502 so JP1 on the board must be on pins 1-2. Then we discovered that pin 39 is connected if JP1 is on pins 2-3 so the printing on the board is wrong!
Blame the designer for that :) :) :)

I guess I must have switched the pins round on the board but not the schematic, and then labeled it wrong :)

Sorry if this is the case.

Cheers.

Phill.

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Mon Oct 01, 2012 6:40 am

oss003 wrote:Hi Phil,

we found the problem with the Atom of my friend.
He has a RAM/ROM board Mk1.4a installed and without the board everything works fine but with the board, the Atom hangs at the prompt.
After measuring if the processor pins had a 1 on 1 connection with the pins on the board, we noticed that pin 39 was not connected.
The processor was a 6502 so JP1 on the board must be on pins 1-2. Then we discovered that pin 39 is connected if JP1 is on pins 2-3 so the printing on the board is wrong!

Now it works like a charm! :D

Greetings
Kees
Thanks for the update. it's not applicable to mine, which is currently in the minimum configuration (2K RAM, 8K PROM) to keep it as simple as possible.

And inevitably, the keyboard problem has returned. So I think the next step is to replace any other likely sockets (up to and including all of them) with new ones and see whether that works.

Then maybe create a custom EPROM to just scan the keyboard and write the results to the screen. After that a hardware debugger to single step the 6502 and latch the data and address busses to try and see what is going on. It's a pity that the 8255 control register is write only.

And ultimately, since I have a physically working keyboard and a rather tatty spare atom board without a keyboard, it should be possible to cut both boards between KB area and 'the rest' and then reconnect the keyboard to the working half-atom. Which will be invisible when it's back in the case.

Cheers,

Phil Young
Last edited by PhilYoung on Tue Oct 02, 2012 6:38 am, edited 1 time in total.

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Mon Oct 01, 2012 6:41 am

1024MAK wrote:New turned pin sockets are normally tight fitting. Especially when compared to the normal leaf spring sockets...
I was seeing the tightness as a good thing, so to speak.......

Cheers,

Phil Young

User avatar
1024MAK
Posts: 9385
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Faulty Atom Part 2

Post by 1024MAK » Mon Oct 01, 2012 8:58 pm

I would concentrate on the logic, address and control lines that control the 8255 PIA.
Have you thought of temporarily adding in a test circuit which latches the data written to the 8255 control register?

Mark

Prime
Posts: 2798
Joined: Sun May 31, 2009 11:52 pm
Contact:

Re: Faulty Atom Part 2

Post by Prime » Mon Oct 01, 2012 9:18 pm

Is the Atom reliably going into text mode on reset ?

I remember at one point having problems that where I think down to a dodgy 8255, that about half the time the Atom would start up in graphics mode.

Cheers.

Phill.

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Tue Oct 02, 2012 6:25 am

1024MAK wrote:I would concentrate on the logic, address and control lines that control the 8255 PIA.
Have you thought of temporarily adding in a test circuit which latches the data written to the 8255 control register?

Mark
Good idea, I was thinking of that when I looked into hardware debuggers. I suspect that the 8255 isn't being set into the correct mode (when #B003 is written to early on), and I'd like to check what is being written to it.

I won't be able to do anything until the weekend at least though.

Cheers,

Phil Young

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Tue Oct 02, 2012 6:37 am

Prime wrote:Is the Atom reliably going into text mode on reset ?

I remember at one point having problems that where I think down to a dodgy 8255, that about half the time the Atom would start up in graphics mode.

Cheers.

Phill.
Hi,

No, it always goes into text mode. I've tried substituting a couple of other 8255s with no improvement so I think that is working.

I have sometimes (not often) seen screen errors where instead of the screen full of spaces (#20) the odd '@' (#00) appeared. Which would point to a problem with the 8255 data lines as mentioned in the post above. I carefully checked the tracks when the IC socket was out, I forgot to check continuity in case the through-plating has failed though.

So latches of some sort that detect a write to #B003 and latch the data bus looks like a good idea (as suggested above).

Maybe create a ROM for #A000 that initialises on boot (like the AtomMMC) and writes the 8255 control register about 255 times. Lots of ideas, not enough time.

By the way, which sockets do your new boards plug into, I may as well put in proper sockets for those as well. Looks like the 6502 and the 6847 at least.

Thanks for the reply,

Cheers,

Phil Young

Prime
Posts: 2798
Joined: Sun May 31, 2009 11:52 pm
Contact:

Re: Faulty Atom Part 2

Post by Prime » Tue Oct 02, 2012 9:59 am

PhilYoung wrote: By the way, which sockets do your new boards plug into, I may as well put in proper sockets for those as well. Looks like the 6502 and the 6847 at least.
RAM/ROM/Clock plugs into CPU socket and IC44.
Colour board plugs into IC29, IC30, IC39, IC42 and IC43.

Cheers.

Phill.

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Tue Oct 02, 2012 5:03 pm

Prime wrote:
PhilYoung wrote: By the way, which sockets do your new boards plug into, I may as well put in proper sockets for those as well. Looks like the 6502 and the 6847 at least.
RAM/ROM/Clock plugs into CPU socket and IC44.
Colour board plugs into IC29, IC30, IC39, IC42 and IC43.

Cheers.

Phill.
Thanks, I'll any of those that I don't have to do anyway.

Due to a slight finger crushing incident at work I might not be soldering for a few days though,

Cheers,

Phil Young

User avatar
oss003
Posts: 3124
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: Faulty Atom Part 2

Post by oss003 » Tue Oct 02, 2012 6:22 pm

No, it always goes into text mode. I've tried substituting a couple of other 8255s with no improvement so I think that is working.

I have sometimes (not often) seen screen errors where instead of the screen full of spaces (#20) the odd '@' (#00) appeared. Which would point to a problem with the 8255 data lines as mentioned in the post above. I carefully checked the tracks when the IC socket was out, I forgot to check continuity in case the through-plating has failed though.
Hmm ... does the screen look like this:
error.png
error.png (1.34 KiB) Viewed 1322 times
If this apears after a BREAK, that means that the there's nothing wrong with the 8255 because textmode is accessed but the video memory is filled with 0 instead of #20 so this means there's something wrong with D5 of the video memory or video databuffer.

If this apears at powerup, the reset signal is a little bit to fast. You can delay the reset signal by increasing the value of C11.

Greetings
Kees

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Tue Oct 02, 2012 8:51 pm

oss003 wrote: Hmm ... does the screen look like this:
error.png
If this apears after a BREAK, that means that the there's nothing wrong with the 8255 because textmode is accessed but the video memory is filled with 0 instead of #20 so this means there's something wrong with D5 of the video memory or video databuffer.

If this apears at powerup, the reset signal is a little bit to fast. You can delay the reset signal by increasing the value of C11.

Greetings
Kees
Sorry I didn't explain that very well, the screen is always in text mode, almost always cleared down to black (so full of spaces), but sometimes has one or two '@' on the screen, not the whole screen and only seldom.

I had to put a larger C11 in as you mentioned. With the old small one (I can't get to my Atom at the moment and can't remember the exact value, but it's a disc ceramic) on power-up the screen would be in text mode but full of random garbage. With a small electrolytic in parallel, 10uF as on most circuit diagrams it slows up the nRESET of the 6502 enough compared to the Vcc so that it resets properly.

So the keyboard problem isn't due to it not even initialising properly, it comes after that. I'm leaning towards it being the 8255 control byte at #B003 not being written correctly, so Port A is staying as an input rather than being an output. I might not have mentioned it this time round , but another state it can sometimes end up in is with the keyboard working, but not the buzzer, so CTRL-G doesn't 'beep' - which would be Port C (at #B002) not working correctly, either because it too is staying as an input or the A1 line isn't being asserted correctly.

When I can use my right index and first finger again I'll continue replacing likely sockets and if that fails, maybe build some kind of latch to see what is being written to #B003 as suggested by 1024MAK,

Thanks for the suggestion,

Phil Young

User avatar
oss003
Posts: 3124
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: Faulty Atom Part 2

Post by oss003 » Tue Oct 02, 2012 9:37 pm

PhilYoung wrote:So the keyboard problem isn't due to it not even initialising properly, it comes after that. I'm leaning towards it being the 8255 control byte at #B003 not being written correctly, so Port A is staying as an input rather than being an output. I might not have mentioned it this time round , but another state it can sometimes end up in is with the keyboard working, but not the buzzer, so CTRL-G doesn't 'beep' - which would be Port C (at #B002) not working correctly, either because it too is staying as an input or the A1 line isn't being asserted correctly.
The problem with the Atom hanging at the prompt and not buzzing while an error was generated, was the same problem my friend had.
If the keyboard sometimes worked the line DO ?#B002=?#B002:4;U.0 did produce sound so port #B002 was working fine only not for generating an error.
For him it was a broken PHI2 signal on pin 39 of the processor.
Maybe you have to check if the signal on pin 39 of the processor is comming through to pin 4 of IC9 and to pin 14 of IC 49.
NWDS and NRDS and generated out of PHI2 and R/W and go to the 8255 as well.

My guess is a corrupt PHI2 signal.

Greetings
Kees

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Wed Oct 03, 2012 4:10 pm

oss003 wrote: The problem with the Atom hanging at the prompt and not buzzing while an error was generated, was the same problem my friend had.
If the keyboard sometimes worked the line DO ?#B002=?#B002:4;U.0 did produce sound so port #B002 was working fine only not for generating an error.
If I ever get the KB work but buzzer not, I'll try that, thanks. I've not had it in that state recently though.
oss003 wrote: For him it was a broken PHI2 signal on pin 39 of the processor.
Maybe you have to check if the signal on pin 39 of the processor is comming through to pin 4 of IC9 and to pin 14 of IC 49.
NWDS and NRDS and generated out of PHI2 and R/W and go to the 8255 as well.

My guess is a corrupt PHI2 signal.

Greetings
Kees
PHI2 is present at pin 39, and IC9 pin 6 I think you must mean (it goes through two inverters on IC9, and comes out looking a bit 'squarer' than it went in)

It's present on IC49/14, RnW is present on pin 13, and the NWDS and NRDS are generated and look okay. I did have a problem earlier with the NWDS and NRDS not being generated, it turned out that for some reason RnW from the 6502 was being held either high or low(can remember which). I re-soldered IC49 socket and this hasn't happened since. I'm going to replace that socket with a new one and look at the tracks around there in case of problems.

I assume if PHI2 looks like a square wave with slightly rounded corners (like a charging and discharging capacitor) that is okay ? It gets squared up by IC9 in any case. Could you describe what a corrupted PHI2 would look like ??

I'll see if I can take a photo of the scope trace, unfortunately it's GP-IB and I don't have anything that can talk to it as yet.

Thanks for taking the time to reply,

Cheers,

Phil Young

User avatar
oss003
Posts: 3124
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: Faulty Atom Part 2

Post by oss003 » Wed Oct 03, 2012 7:10 pm

I assume if PHI2 looks like a square wave with slightly rounded corners (like a charging and discharging capacitor) that is okay ? It gets squared up by IC9 in any case. Could you describe what a corrupted PHI2 would look like ??
The description of your PHI2 signal sounds ok.
With a corrupt PHI2 signal I mean a broken track or a bad pin connection in a socket.
And ultimately, since I have a physically working keyboard and a rather tatty spare atom board without a keyboard, it should be possible to cut both boards between KB area and 'the rest' and then reconnect the keyboard to the working half-atom. Which will be invisible when it's back in the case.
I did split the keyboard and motherboard in my other Atom. You can do this without a lot of broken tracks. Then I placed the motherboard in an old PC case and shortened the original Atom case for the keyboard. :)
Have a look at: http://members.casema.nl/hhaydn/elan/atom_kees.html

Greetings
Kees

PhilYoung
Posts: 203
Joined: Sun Jun 12, 2011 4:55 pm
Contact:

Re: Faulty Atom Part 2

Post by PhilYoung » Thu Oct 04, 2012 8:13 pm

oss003 wrote:
I assume if PHI2 looks like a square wave with slightly rounded corners (like a charging and discharging capacitor) that is okay ? It gets squared up by IC9 in any case. Could you describe what a corrupted PHI2 would look like ??
The description of your PHI2 signal sounds ok.
With a corrupt PHI2 signal I mean a broken track or a bad pin connection in a socket.
Thanks, it's definitely present and fairly square. These waveforms don't look like the ideal ones we imagine do they?
oss003 wrote:
And ultimately, since I have a physically working keyboard and a rather tatty spare atom board without a keyboard, it should be possible to cut both boards between KB area and 'the rest' and then reconnect the keyboard to the working half-atom. Which will be invisible when it's back in the case.
I did split the keyboard and motherboard in my other Atom. You can do this without a lot of broken tracks. Then I placed the motherboard in an old PC case and shortened the original Atom case for the keyboard. :)
Have a look at: http://members.casema.nl/hhaydn/elan/atom_kees.html

Greetings
Kees
That's either very ugly or very beautiful !

Does it take the dog for a walk as well ???

I think I've got enough of a steer now, I'll continue replacing sockets, checking for damaged tracks and so on. If I make any progress I'll report back, otherwise I'll wait until I have enough information for 'Faulty Atom Part 3'

Thanks for the assistance,

Cheers,

Phil Young

Post Reply