• Please review our updated Terms and Rules here

KIM-1 repair

Post #37:

U10 pin 11 is an INPUT pin and, therefore, less likely to be at fault (certainly as a result of the RAM).

What you are measuring on U10 pin 11 is the signal on the main CPU data bus. Are you saying that there are NO active TTL transitions on data bit 2?

Post #39 picture #1:

Glitches can sometimes occur on the data bus. The data bus is sometimes driven (either by the CPU on a write cycle or by a device (RAM or I/O) on a read cycle). Otherwise the data bus is generally tristate and floating. During this period of time you can sometimes get crosstalk. Likewise, you can get some strange effects when buffers are enabled or disabled. Providing these occur outside of the critical timing windows for the associated CPU read or write cycle - then there should be no problem.

Post #39 picture #2:

This is strange. The problem with a digital oscilloscope is that they can create artefacts that do not exist. If you have configured the oscilloscope incorrectly, it could be showing you a 'beat frequency' arising due to a mismatch between the signal that is being measured and the oscilloscope timebase. This is especially true if the oscilloscope signal is not being triggered.

I can see three (3) distinct waveforms present in the photograph.

If you are measuring a simple waveform (like a clock signal) you should be able to trigger on the leading or trailing edge of the signal, and all should be well.

If the waveform you are measuring is not a 'simple' waveform (like a data bus), you can get strange effects displayed (visually) as the oscilloscope triggers on (say) the leading edge of a transition. If this is not the same point (in time) as the other trigger points, the waveform may not display correctly.

However, having seen this, I am going to ask the dumb question - what power supply are you using, and have you checked that the +5V supply is OK using your oscilloscope? Set the coupling to AC and apply the ground clip to a GOOD 0V point and the probe to +5V. Increase the sensitivity of the Y channel to get some noise displayed. Adjust the timebase 5ms/div and measure the peak-to-peak noise. Increase the speed of the timebase, and observe the peak-to-peak of the noise at the varying timebase speeds. At a slow timebase, we are looking for 50/60/100/120 Hz ripple (i.e. power supply capacitor problems). At the higher timebases, we are looking for noise (i.e. how good are the decoupling capacitors on the board).

For the faster timebase settings, I would also use the probe around different +5V (VCC) pins of various IC pins distributed over the PCB. You are looking for the worst peak-to-peak noise levels.

Set the probe to DC coupling and 1V/div. What is the actual DC level indicated?

TTL devices are rated at a VCC voltage between +4.75V and +5.25V. However, I would aim for +4.9V and +5.1V as being acceptable.

Details at this stage can save a whole load of problems later...

Dave
 
Last edited:
Use pin 13 (/CS) of the RAM as a trigger. A low level on /CS indicates that the RAM is being written to or read from.

Pin 3 (R/not W) indicates whether this is a READ cycle (HIGH) or a WRITE cycle (LOW).

You can now use your probe to check the data input pins (11) of the RAM or the data output pins (12) of the RAM during the appropriate cycle. Note that between the RAM data output pin and the data bus itself is a tristate bus buffer. These buffers are enabled from U15 pin 6. Obviously, this signal is active (LOW) on a CPU RAM read cycle - so can be used as the trigger in this case.

Dave
 
I removed U10 and socketed it. When I put one of my new chips in the test continues. It looks like all of the 3 ICs in question fail the first RAM test.

Interestingly, when I put a faulty IC in the sockets of the RAMs at D0 and D2, it short blinks at D1.

Now I have to wait few weeks for additional RAMs to arrive (none of my friends have them, I even asked some people who live near electronics stores to check but they're hard to find).

I will try triggering as you suggested...maybe I can make more sense out of the RAM circuit then.

I'll also check the noise on the power rails, though I'm powering it off a bench supply which should be relatively noise-free. I have seen some pretty noisy waveforms but attributed it to the lack of decoupling caps that are usually found near ICs. It appears to be working and I never had a KIM-1, so I'm not sure about what noise levels are acceptable.
 
If you are powering it from a bench power supply - then you should not have a problem with power supply ripple (as the smoothing capacitors are in the power supply unit - and they should be good).

And, since there are no decoupling capacitors on the board, you are at the mercy of the ravages of time with the integrated circuits.

However, it is still always good to perform this power supply test irrespective of the set-up. If nothing else, so that it becomes an automatic action.

Dave
 
I removed U10 and socketed it. When I put one of my new chips in the test continues. It looks like all of the 3 ICs in question fail the first RAM test.

Interestingly, when I put a faulty IC in the sockets of the RAMs at D0 and D2, it short blinks at D1.

Now I have to wait few weeks for additional RAMs to arrive (none of my friends have them, I even asked some people who live near electronics stores to check but they're hard to find).

I will try triggering as you suggested...maybe I can make more sense out of the RAM circuit then.

I'll also check the noise on the power rails, though I'm powering it off a bench supply which should be relatively noise-free. I have seen some pretty noisy waveforms but attributed it to the lack of decoupling caps that are usually found near ICs. It appears to be working and I never had a KIM-1, so I'm not sure about what noise levels are acceptable.
This behavior is because of the test patterns and that the test stops on first detected fail pattern. The order of the patterns makes a difference as to which RAM it fails first.
It makes it look like the fails are moving around. I suspect all 3 RAMs are bad.
It is just looking for stuck high and stuck low.
Because of the fact that it stops on the first fail, multiple RAMs can have failures and the test doesn't get there because it stops on the first detected failure.
All that the test can tell you is that if it passes, if it found no errors. It can't tell you the health of the other RAMs until you complete the entire test.
The stopping at the first fail is because of the limited amount of registers to keep cumulative errors.
The stop on first failure can mask other RAMs also failing.
It makes a difference when the failure is just a single bit at a particular address as compared to a flat line at all addresses.
The test is limited by how much it can do with so little resources and a single blinking light.
Any single fail can mask later fails.
It does sound like the three RAMs have flat line fails and not address dependent fails. There could be other hidden failures.
Dwight
 
Finding old obsolete IC is going to be tough. 2102 are getting as rare as hens teeth.
My local surplus store doesn't have any.
It has a 2602 listed as a static 1Kx1 that looks pin compatible.
They are 0.95 USD but I know the company doesn't do exports.
Best to look on your side of the pond.
Dwight
 
I thought I'd note that the 2602's I found, turned out to be 2602B's. They are 1 micro sec rd/wr cycle parts. They may not work on the KIM-1 as this might be right at the limit of timing.
I'm not sure of the timing requirements for the KIM-1. Still I bought 20 of them. I suspect they'd likely work on my Poly-88 video board. :)
Dwight
 
Finding old obsolete IC is going to be tough. 2102 are getting as rare as hens teeth.

Dwight


It is interesting how some of the early DRAM chips have become scarce. The same thing has happened to various tubes that are used in Audio work (that have not yet been cloned) and a lot of CRT's that are used in things like CRT clock projects while people tinker around with Arduinos. At least with audio tubes, many are being re-manufactured, but alas no CRT's. So the vintage stock gets depleted and certain types become unobtainium.

In the case of the MK4096 DRAM this happened because of clones of the Apple 1 computer.

Then it was figured out that you could rob IC's from S-100 boards , such as some MIT's ones and Processor Technology cards, to act as "organ donors" for Apple 1 computer replicas.

I have attached a picture of PT's Dynamic RAM card one of a number I have restored to working order, which has, unfortunately, become an organ donor target for Apple 1's. It is about as dangerous for this vintage card now as it would be for a Chicken living in the vicinity of a KFC processing plant.

While I am a great believer in making authentic looking & working replicas, I don't believe in turning real vintage gear into donor parts for replicas.

It is much better to find NOS IC's, but if you cannot, better to find a creative solution than taking parts from other vintage tech. But, the thing is, a person can sell a replica Apple 1 board for more than a vintage S-100 memory board and there lies the problem.
 

Attachments

  • 2104.jpg
    2104.jpg
    437.3 KB · Views: 3
Finding old obsolete IC is going to be tough. 2102 are getting as rare as hens teeth.
My local surplus store doesn't have any.
It has a 2602 listed as a static 1Kx1 that looks pin compatible.
They are 0.95 USD but I know the company doesn't do exports.
Best to look on your side of the pond.
Dwight
I found out that КР565РУ2 / KR565RU2 are Intel 2102 pin compatible 1Kx1 SRAM ICs and they're still cheaply available. I ordered some from Germany and had a friend deliver them to me :)

After replacing an additional IC (U11) the RAM test now completes, it looks like the soviet equivalent works at least well enough to run code on the KIM-1 and fortunately nothing else appears to be broken in the RAM array.

kim-1-5.jpg

Next the display (test 2): It blinks the LED on the debug board without U2, but nothing happens when I insert U2 and run the test. Sometimes I get a brief flash of the LED and sometimes the symptom initally described where one random segment lights up full brightness and the current draw increases.

How do I make sure U2 works or it's not something else crashing it?
 
The increased current draw seems to be normal, it's just the LED display.

If I turn off the debug board and insert U2 and U3 I get numbers on the display and can type in stuff, but can't run the the other tests on the board.

I'll study the manual to see if I can manually run something or if it crashes too.. but at least it's alive again :)
 
Yes, the increased current draw is as a result of having LED segments illuminated. You can't get something for nothing (in this case light)...

From a power on condition, what are you typing and what do you observe on the display after each keypress?

However, I wouldn't start doing something else until you get Dwight's diagnostics passing first...

Certainly U2 has to be installed to drive the display from the test EPROM. If you get (some) displays illuminated with U2 and U3 installed, then you should be able to get some sense with the debug EPROM and U2 installed.

There is a test that I have that purely tests the displays and drivers without U2 if that would be useful to you?

Dave
 
Last edited:
There is a test that I have that purely tests the displays and drivers without U2 if that would be useful to you?
In this case it's not necessary, because I managed to punch in the example code from the manual and run it (I think.. still not too sure.. got 05 and FE from page 12). The keyboard and display look ok to me.

In its basic functions it appears to work. But I still can't get the other tests going... am I right to assume they run the same as the other two tests? Set the switches and hit RS? With U2 and U3 in it also doesn't run the RAM test correctly.
 
Dwight will have to answer that question.

But I think the answer is yes.

It is strange, though, that installing U2 and U3 causes the RAM test to fail...

Dave
 
Can you take a photograph of the switch settings for Test 2?

If test 2 does not work with the switch settings correct and U2 installed then there is definitely something wrong. However, it then makes no sense that it 'works' normally either!

Yes, you need to set the switches correctly and then press the reset button to initiate the test.

If test 2 fails, the later test (to check U2) really requires the display to work. Chicken and egg situation.

But Dwight is the expert...

Dave
 
Without U2, U3 the switches do what I would expect them to do. On test 2, I had a blinking LED indicating the test is running so I think there is still something wrong, either with the ICs in U2 or U3 or with the logic managing it
 
I had you remove U2 and U3 so that the RAM test could run without interference of the other two chips.
I don't recall if U3 is required, except for the test of its ROM and RAM.
U2 is required for all of the other test.
I don't think U3 is required to run any of the test that doesn't test U3. It has the code to run the cassette and video modes, as I recall.
The RAM test are not really strong test. A better RAM test would be a "March C". As I recall,
I used such a test on the small RAMs in U2 and U3 but didn't do code for the main RAM.
A lot of address faults can escape the simple RAM test.
That is were one address bit is stuck so that the same data shows up in multiple places of memory address.
I'll look at the code to see if one could modify it to run a march C test on parts of the RAM that you are not using for your programs.
The fact that other test don't work is a good indicator that there is something else that is failing. I'd suspect the RAMs still.
As Dave says, I use the RAMs for all the test after the early RAM test but mostly the ROM and a few locations in low data RAM and
a few in stack RAM.
If you have the keyboard working, you can still run test in the ROM as the DB switch is only to force the reset.
The other switches select which part of the ROM that maps into the KIM-1's memory space. The debug board is always mapped into memory.
Each test program starts at 0C00h. You should be able to run test from the keyboard. You my not be able single step.
Did you try running Asteroids as described in the list. I believe it runs at 0E00h with all switches on, except DB. That runs from the ROM.
I'll look at writing a March C test for some blocks of memory.
Dwight
 
Early ICs often had problems. I don't recall who process line it was but they has a lot of failures in the field.
They did a chemical analysis of the failed parts an found it to be sodium contamination.
It seems that one lady wanted to make progress during lunch and brought her hard boiled egg and a salt shaker
into the clean room so she could work through lunch.
A place I worked at, made touch tone equipment. We had one coil that just wouldn't tune right.
When I unsoldered the coil, I found ice cream under it. It wasn't a clean room but just a regular assembly line.
Dwight
 
I found out that КР565РУ2 / KR565RU2 are Intel 2102 pin compatible 1Kx1 SRAM ICs and they're still cheaply available. I ordered some from Germany and had a friend deliver them to me :)
If forgot to mention this option. There are a lot of really great Soviet equivalent IC's to most Intel types, they also make some that match as replacements for Vintage Nixie clocks.

I run Soviet 4116 purple ceramic DRAM IC's in my Dynamic PET. Not only were they good value but they appear super reliable and beautifully made.

It is another case of "The Russians save the day". Another example was their computer techs helped American Farmers get their harvesters and other equipment running when they were locked out of operation by complex manufacturer firmware. Pretty unfair, when Farmers have always liked to fix their own tractors. There is a movement Worldwide called "The right to repair" where the premise is that people shouldn't be locked out of repairing their own property by manufacturer techniques blocking it. There is a really great American made movie from the 1960's called "The Russians are Coming" As usual it shows people from around the World are all very similar, sometimes we just have problems with our governments.

There are many good vintage electronic Soviet made parts coming out of Ukraine, many mil spec quality parts, many sellers there are on ebay. The war though (among its many other negative results) has very badly hurt small businesses in Russia and families there. Recently I tried to buy some parts for a replica build of the Sputnik 1 Satellite transmitter, the seller told me that if he tried to ship anything electronic, out of Russia, it would be seized at the border. So we both had to abandon the transaction.
 

Attachments

  • 4116.jpg
    4116.jpg
    225.5 KB · Views: 1
Last edited:
If you have the keyboard working, you can still run test in the ROM as the DB switch is only to force the reset.
The other switches select which part of the ROM that maps into the KIM-1's memory space. The debug board is always mapped into memory.
Each test program starts at 0C00h. You should be able to run test from the keyboard. You my not be able single step.
Did you try running Asteroids as described in the list. I believe it runs at 0E00h with all switches on, except DB. That runs from the ROM.
Excuse, but how to attach a video output to the KIM-1? Is this a serial terminal type application or analog video? I've never used a KIM-1 before this thread...

I'll look at writing a March C test for some blocks of memory.
If possible, you could give some pointers I could try to figure out how to adapt the code?

I run Soviet 4116 purple ceramic DRAM IC's in my Dynamic PET. Not only were they good value but they appear super reliable and beautifully made.
I saw that there is a white ceramic variant of the KR565RU2, but of course it's more expensive and also harder to get. It's used in some eastern block mainframe memory boards, but removing them from such a board would present a similar dilemma as in your previous post
 
Back
Top