• Please review our updated Terms and Rules here

KIM-1 Repairs continue

Here is my suggestion. Don't DO but read and look for the time being.

Currently DECEN (P2/K) should be connected to 0V. Disconnect the link from DECEN (P2/K) to 0V and connect DECEN (P2/K) to +5V instead via a 1k resistor. This will disable the address decoder U4 (74145). In theory, this controls all of the address decoding on the KIM-1, so (in theory at least) nothing should ever respond to the CPU.

Now we need to install some resistors on the CPUs data bus on P1 as follows:

Code:
P1/15 (D0) to 0V via a 100R resistor.
P1/14 (D1) to +5V via a 1k resistor.
P1/13 (D2) to 0V via a 100R resistor.
P1/12 (D3) to +5V via a 1k resistor.
P1/11 (D4) to 0V via a 100R resistor.
P1/10 (D5) to +5V via a 1k resistor.
P1/ 9 (D6) to +5V via a 1k resistor.
P1/ 8 (D7) to +5V via a 1k resistor.

This should pull-up or pull-down each data bus line according to the pattern 1110_1010 = $EA = 6502 NOP instruction.

When we apply power, and give it a manual RESET, we should be able to see the pattern $EA on the data bus pins of the CPU. If not, either there is something wrong with our wiring, or there is a short-circuit or open-circuit somewhere or something is driving the data bus when it shouldn't be (one of the 6530 devices or a RAM buffer). If this is the case, we would need to investigate and fix this issue first.

If the CPU is executing NOP instructions - we should observe a constant stream of pulses on the CPU SYNC pin (pin 7).

We can then use the oscilloscope to look at the data lines (and observe nice, clean signals) and the address lines (where we should observe A1 being half the frequency of A0 and so forth down to A15 being half the frequency of A14). With a clock frequency of 1 MHz I think A0 should be clocking at either 500 kHz or 250 kHz - I can't quite remember which.

Have a look at what I am proposing and see if you can see what I am trying to achieve.

If you have an IC clip, you could also attach the resistors to the clip rather than soldering them onto P1.

Also, with the CPU doing something 'useful' you can use the oscilloscope to check all of the clocks and control signals (in so far as we can). Of course, we are only reading from memory and not writing anything at this point. However, if the R/nW goes into an inverter (for example), the inverter should obey the rules of logic and invert the signal!

Dave
 
Last edited:
I'm always confused about which tool is best for which job. Whenever I watch vintage computer repair videos they usually use a scope. However the few I've seen using a logic analyser look much more... er... logical to me, since you can make out the actual data. In one video the software was showing the hexidecimal opcodes and such the CPU was working on, which tells you a lot more about what the thing is actually doing. Unless I'm misunderstanding, which is likely. Why wouldn't that be a typical tool to reach for?

First off, please go easy on yourself - I mean that. I doubt that you have made a mistake that I, or somebody, has not already made.

There are all sorts of exotic reasons why the board is not cooperating but there are some simple ones as well.

your 6530s are in the right place and orientation, as compared to my KIM-1
KIM1 6530 pair IMG_2695.jpg

You can get the KIM-1 manual and see all of the code, including the -002 (keyboard and display) and -003 (tape and tty).

For my two cents, however, I say walk before you run. Any tool requires skill to be used. Right now, there is much that you can do without buying any new tools. A cleaning of the board, intensive checking of connections and reworking many solder connections is how I would approach it first. You worked on the board when your soldering skills were not so good, by your own admission, and *that* is where I would look first....

Kim1B.jpg

kim-1a.jpg

I understand that I am looking at pictures and not the board itself, but there are many suspect spots to my eye. I know you have tested continuity on a previous pic that I pointed out, but I am not sure that getting continuity when you are pressing down on the meter leads will pick up intermittent connections or cold joints or the like. Also, if you see the pic of my 6530s, I have a light-board underneath, so I can get an idea of the other side while I am inspecting.

Not tryig to be too harsh, but I have been following the thread and just giving you my thoughts.
 
It is always an interesting problem repairing damaged pcb's, however that happened to them.

I am currently working on an SFD-1001 where somebody applied acid flux to a pcb to do some re-capping. In addition a good number of the through hole component pads and some adjacent track-work was lifted from the pcb with forces and excessive heat. It will take most of the day to to repair it.

I'll post some photos in case some of the techniques are useful to help repair the KIM-1 pcb and get it back into good order again.
 
First off, please go easy on yourself - I mean that. I doubt that you have made a mistake that I, or somebody, has not already made.

I'll heartily second that! I only feel like I can speak with some authority because I have
about a half-century of making all the same blockheaded mistakes under my belt.

Here's a hint, though: A valuable vintage-computer board isn't really the best place for
developing your manual skills - soldering, desoldering, etc. Go get yourself a little pile
of junk through-hole boards from your local electronics recycler and practice on those.

Dave - I'm good now, thanks.
 
>>> Dave - I'm good now, thanks.

Excellent.

I see you joined a while ago, but have only recently started posting. It would be remiss of me not to welcome you to posting on VCFED.

Dave
 
Actually, I'd been sporadically lurking for many years previous,
but a lot of other stuff usually had most of my attention. This
winter (having been driven indoors by my inability to work on
boats in subzero weather) I've returned to the bench with a
vengeance and have about a hundred things running concurrently...
 
Falter, I have one of Dwights KIM-1 debug boards. If it helps, I can send it to you but I need it back. Still have a couple of KIM-1s I have to fix myself.

PM me if you'd like me to send it.
Santo
 
Here is my suggestion. Don't DO but read and look for the time being.

Currently DECEN (P2/K) should be connected to 0V. Disconnect the link from DECEN (P2/K) to 0V and connect DECEN (P2/K) to +5V instead via a 1k resistor. This will disable the address decoder U4 (74145). In theory, this controls all of the address decoding on the KIM-1, so (in theory at least) nothing should ever respond to the CPU.

Now we need to install some resistors on the CPUs data bus on P1 as follows:

Code:
P1/15 (D0) to 0V via a 100R resistor.
P1/14 (D1) to +5V via a 1k resistor.
P1/13 (D2) to 0V via a 100R resistor.
P1/12 (D3) to +5V via a 1k resistor.
P1/11 (D4) to 0V via a 100R resistor.
P1/10 (D5) to +5V via a 1k resistor.
P1/ 9 (D6) to +5V via a 1k resistor.
P1/ 8 (D7) to +5V via a 1k resistor.

This should pull-up or pull-down each data bus line according to the pattern 1110_1010 = $EA = 6502 NOP instruction.

When we apply power, and give it a manual RESET, we should be able to see the pattern $EA on the data bus pins of the CPU. If not, either there is something wrong with our wiring, or there is a short-circuit or open-circuit somewhere or something is driving the data bus when it shouldn't be (one of the 6530 devices or a RAM buffer). If this is the case, we would need to investigate and fix this issue first.

If the CPU is executing NOP instructions - we should observe a constant stream of pulses on the CPU SYNC pin (pin 7).

We can then use the oscilloscope to look at the data lines (and observe nice, clean signals) and the address lines (where we should observe A1 being half the frequency of A0 and so forth down to A15 being half the frequency of A14). With a clock frequency of 1 MHz I think A0 should be clocking at either 500 kHz or 250 kHz - I can't quite remember which.

Have a look at what I am proposing and see if you can see what I am trying to achieve.

If you have an IC clip, you could also attach the resistors to the clip rather than soldering them onto P1.

Also, with the CPU doing something 'useful' you can use the oscilloscope to check all of the clocks and control signals (in so far as we can). Of course, we are only reading from memory and not writing anything at this point. However, if the R/nW goes into an inverter (for example), the inverter should obey the rules of logic and invert the signal!

Dave
This makes sense to me. I should have all the resistors required.

I will probably need to find a tutorial on how to set up the oscilloscope though when it gets to that. I still find it overwhelming- time base, edge triggers etc.
 
Falter, I have one of Dwights KIM-1 debug boards. If it helps, I can send it to you but I need it back. Still have a couple of KIM-1s I have to fix myself.

PM me if you'd like me to send it.
Santo
Much appreciated.. I'll defer to Dave on whether I should take you up on that at this stage or wait til later - I think he is trying to teach some basics here that I really need to absorb.

BTW I am working on the Albert 2716 for you. Got the keyboard box partially disassembled. Just need work to stop interrupting my holiday. :)
 
Actually, I'd been sporadically lurking for many years previous,
but a lot of other stuff usually had most of my attention. This
winter (having been driven indoors by my inability to work on
boats in subzero weather) I've returned to the bench with a
vengeance and have about a hundred things running concurrently...
We have had the mildest winter ever here. One light dusting of snow in November and that's it. It was 10C today. The Wet Coast is living up to its name this winter.
 
Falter, I have one of Dwights KIM-1 debug boards. If it helps, I can send it to you but I need it back. Still have a couple of KIM-1s I have to fix myself.
Or I can loan you mine once I've checked it out. Similar ridiculously-high within-Upper Soviet Canuckistan postage either way.
 
I will probably need to find a tutorial on how to set up the oscilloscope though when it gets to that. I still find it overwhelming- time base, edge triggers etc.

Listen, the basics are easier than you think. Clip your probe onto the phase 2
clock and start twiddling the knobs and seeing what it does to the display.

Ya ain't gonna break nuthin'.
 
Listen, the basics are easier than you think. Clip your probe onto the phase 2
clock and start twiddling the knobs and seeing what it does to the display.

Ya ain't gonna break nuthin'.
I've been doing that but I have no idea what I'm looking at. :)
 
Yes, but with an actual signal applied to the probe? You should see a square(ish) wave.

Fiddle around until you do. Or if the scope has a calibration output, use it.
 
The phase 2 clock is the 'heartbeat' of the CPU.

The frequency should be related to the crystal and the upper and lower voltages that the signal switches between are defined on the datasheet for the 6502 CPU.

You use the oscilloscope trace to check that these parameters are correct, and that there is no wierd sh*t occurring on the signal...

Dave
 
The phase 2 clock is the 'heartbeat' of the CPU.

The frequency should be related to the crystal and the upper and lower voltages that the signal switches between are defined on the datasheet for the 6502 CPU.

You use the oscilloscope trace to check that these parameters are correct, and that there is no wierd sh*t occurring on the signal...

Dave
And that is at pin 39 I believe. Ok here we go.
 
LOL! Well, you never know with me.. if anyone could blow themselves up with +5VDC it'd be me.

I'm going to post a google drive link with my results, I took some video to show was was on the scope. https://drive.google.com/drive/folders/1tpW--wA_6FQCVBroazurQbY7CxYkYY0I?usp=sharing

Before trying this, I watched this excellent 'for dummies' video by David Murray's brother. I'm still not fully sure if I have the time base, position etc set right but I see something that looks like a square wave kinda. For fun I probed the RAM starting at A0.. as you can see the frequency, at least as far as my scope sees it, is changing and I think it is lower than what Dave said it should be at to start (was it 500hz or 250hz)? I'm wondering if I've got it dialed in right here. Probe is set to X10.
 
Back
Top