Hey,
So following on from my earlier post regarding some LS logic ICs not working in my Mark-8. I think I may have an issue with the 74LS75 latches that I have.
Firstly they seem to work fine on a breadboard test circuit. I can get them to latch data without any issues.
However if I input the test program on page 9 of the construction guide and run it the display shows this:
Rather than counting up on the output port bit 3 gets stuck on and all the other bits show very brief flickering.
It's executing code fine. I can single step and see it working. Interestingly if I remove the delay loop at the end of the test program and do an unconditional jump back to the INCB instruction I am able to single step and watch it count. It works perfectly if I single step. The output port counts up as expected.
But run it at full speed and it fails.
If I scope the the enable lines on the latch with some of the input I get something like this:
This is IC 7 on the LED output board. It's one of the 74LS75 latches. The scope shows the enable lines (in yellow) with the input from pin 7 that's the D0 data line.
I set my scope to trigger on the enable lines rising edge.
Have to say I am not sure about this? The enable pulses seem very quick? It's not latching that data either.
Is this an issue with the enable line signal or a faulty batch of 74LS75s? I have swapped out IC 10 a 74LS02 and IC9 a 74LS42 with known good ICs and things don't change.
Any thoughts?
Gavin.
Hey,
Great news, it's fixed and is now working well!
The replacement ICs that I ordered arrived and I spent a bit of time targeting possible areas of concern but nothing made any difference.
I decided to go back to my original hunch that the enable signal, that was being fed to the output port latches, wasn't right.
If you remember I was seeing 3 short pulses like this:
I decided to trace the source of those pulses. Using the schematic I worked backwards IC by IC until I got to the flip flip located at IC 8 on the CPU board.
I noticed that it was feeding a continuous high signal to pin 5, a NAND input on IC 7.
This was odd since when I scoped the C(CLR) and CK(CLK) lines on the flip flop and checked the datasheet for it (a 74LS74) it was clear that the output on Q should have be alternating.
Guess what? Pin 4 (PR) on that flip flop isn't connected on the PCB! Checking the data sheet It would need to be pulled high to give the desired behaviour!
So I have put a 1K pull up resistor in between pin 4 (PR) and VCC.
Fixed!! It was a just a floating pin!
That's my fix above, and below is how the latch enable signal now looks (in yellow) when compared against D0 (in blue), the 3 short pulses are gone:
As far as I can tell my Mark-8 is now finally fully operational. Now I just need to build a case.
Thanks for the help and support.
Cheers,
Gavin.
Hey,
So when it stops it does this:
The program is still running. If you interrupt it and then single step it you can see it running. If you single step enough the output port will light up correctly.
Quite odd. I have further replacement ICs on the way, for some of the other LS logics chips on the CPU board.
Will keep you posted
Artem, you should start a thread here about your own build issue, unless of course you're documenting it in a forthcoming video.
Cheers,
Gavin.
Hey
So it worked again this evening for about 3/4 mins. From a cold start.
Here is a video of it working.
So that must be what happened yesterday too. I replaced the ICs yesterday before turning it on then immediately ran the test program from cold.
Seems something is failing after a few mins of use. Interesting and potentially helpful in tracking down the issue.
Cheers,
Gavin.
So as I said in single step mode it works. Key difference I can see is that in single step mode I only get a single pulse on the enable line as the output port is written to:
Which seems to feel correct.
That's the enable line on the latches in blue with the D0 line in yellow.
Very different to the three pulses I get when it's running at full speed.
Oh and the power supply is the same as yours.
So pretty sure that's fine.
At this stage I would be happy to say those are all possibilities Artem. It's very odd.
Then thing is all the ICs do work. If I put them on a breadboard and build a simple test they seem fine.
I can kind of see what's going on with the latches with my scope. This shows the enable lines in blue and data line D0 in yellow. This was captured while running the test program in page 9.
You can see that the data on D0 would initially latch until the third pulse on the enable line. That would clear the latch.
I am not sure why I am seeing those three very short pulses? Not sure if that's what is expected?
I will have to keep investigating.
Cheers,
Gavin.
Hey,
So the new 74LS75 latches arrived today.
I just replaced the two on the LED output board and entered the program on page 9 of the construction manual.
It worked absolutely perfectly. I could see the output port counting up in binary as expected. No problems ....
.... for about 2 mins. Then while I was watching it literally stopped working and reverted to the original fault as described above!
Now I can't get it to work again. Most unexpected and quite baffling.
I can see the input data is okay it just won't latch when running at speed. Works okay if single stepped.
Gavin.
Hey Artem,
Just tried this and the results are not what either of us are expecting!
Initially if I load the A register with 277 and send that to output port 0 then it seems to work. I get a full row of eight LEDs.
I've set the program to halt at the end, as you've written above.
If I then run it again it subtracts one from the display. So if I repeatedly run the program (switch register set to 005 and issue an interrupt each time it halts) then the output display actually counts down from 255 in binary towards zero!
Bonkers.
Interesting that you're not using the LS ICs. I don't think that's my issue. I still think I just have a bad batch of 74LS75s but the behaviour is puzzling for sure.
Of course I have plenty of "spares" as there are eight on the output board, but they all do the same thing!
I think my issues are bad "batches" of ICs. I did over order originally and do have spares. Like the "faulty" 74LS00s I mentioned in my other post. Seems when I buy from a different eBay seller or get a different brand the issues go away.
I have some replacement 74LS75s on the way. So will soon know if it's the ICs or something else.
Very odd though.
Gavin.
Hey Gavin,
I just checked my LED Register Display board and I'm using 7475 instead of 74LS75. In fact, I'm not using any LS chips on this board.
I'm not sure if you've tried inputting a NOP (or a few of them) after each iteration. If I'm recalling correctly, I may have had issues with running that program in the construction manual as well. I think the computer is way too fast with the counting so it shows all LEDS as being ON. The way I check to ensure that the output ports work is by running the following program that outputs either all 1s or all 0s to output port 0.
006
277 (or 000)
121
277
Let me know what you're getting when you run that program. By the way, I usually buy at least two of each IC when I order for a project, just so I could try multiple ICs if one is suspicious.