Re: Sharp MZ-80K help needed on repair
Thanks for the code, I will have a go at disassembling it as far as the 8255 initialisation sequence later on.
For the sockets you will obviously need two for the ICs and another two to use as plug-in carriers for the NOP test resistors - they will be fitted instead of IC36 and IC37. Let's see if the replacement buffers miraculously fix your fault - no harm in being optimistic - and if not, I will do a little sketch showing what the plug-ins should look like. |
Re: Sharp MZ-80K help needed on repair
I've had a first look at the code in the RAM TEST EPROM.
The first thing I notice is that there are no instances of IN and OUT instructions, suggesting that all of the hardware including the large peripheral ICs are memory mapped, that is, the system writes to them and reads from them by using instructions which are normally used to write to or read from memory. The IORQ signal, although buffered by IC35, does not appear to go anywhere after that other than to the bus expansion connector. This is useful for us as it means that the simple NOP test, if we get that far, will exercise the chip select signals for the peripheral ICs as well as the memory ICs. My reading of the workings of the main address decoder IC47 (output intervals of 1000 Hex) and the sub-address decoder IC30 for the peripheral ICs (output steps at 00, 04, 08, 0C etc) puts the 8255 at addresses E000-E003, the 8253 at E004-E007 and the sound hardware, although I don't quite understand that bit yet, at E008-E00B. The initial part of the code: -Disables interrupts -Places the stack at 0xE000 -Block shifts a large amount of structured-looking data from 0x01A3-onwards into the screen RAM. I believe this is 'drawing' the background 'framework' for the RAM TEST screen display. -Polls address 0xE002, which is likely to be the 8255 PORT C register, and waits until PORT C bit 7 (=V-BLANK) is detected to be low, before carrying on. As expected, the code does not try to use system memory for storing variables or for stack operations / subroutine calls - all writes to and reads from system RAM are for the purposes of testing the RAM only. |
Re: Sharp MZ-80K help needed on repair
Just to expand on one point above, notice the code just goes right ahead and tries to read the state of V-BLANK through portC bit 7 without first setting up the 8255. It can do this because after reset, the 8255 initialises with all three ports set up as 8-bit inputs, so the IC requires no specific setup if you just want all the port pins to be inputs.
Although the code does make use of the V-BLANK signal for sync / timing purposes just as pudwink's source said it does, it doesn't make any attempt to change the port pin connected to V-GATE to an output, nor does it ever try to drive V-GATE - so we shouldn't worry too much about what V-GATE looks like with the RAM TEST EPROM fitted in the machine. Mark did suggest looking at the V-GATE signal with the MROM fitted and we can come back to that once we get the system running code from ROM reliably, although hopefully, if we get that far, the machine will spring to life anyway. I disassembled all of the code portion of the RAM TEST code last night - most of the code in the EPROM appears to be an image of the program's 'display panel' which is copied into the screen RAM very early on - I commented some of the code before waking up with the keyboard stuck to my face. I'll post what I have this evening. |
Re: Sharp MZ-80K help needed on repair
Hi
Now the new ICs came today but the guy sent the wrong ones I ordered SN74LS241N and he sent SN74ALS241N he says they are 99% the same thing so I have tried hem anyway and still the same corrupt screen. |
Re: Sharp MZ-80K help needed on repair
OK, that rules those out although in the long term I would look around for 74LS241s as originally fitted. Not a complete bust as we now know those buffers aren't the problem, and having them in sockets allows us to replace them with a simple NOP simulator. I'll put together a sketch a bit later.
|
Re: Sharp MZ-80K help needed on repair
1 Attachment(s)
Here's the recipe:-
2 x 20 pin sockets 8 x resistors, wattage unimportant but ideally small ones like 1/8th (0.125) watt, value around 220 ohms give or take a bit Take one socket and four resistors and insert one end of a resistor into socket pins 18, 16, 14, and 12. Join the other ends of the resistors together and connect them with a single piece of solid core wire to socket pin 10. (see sketch). How you physically organise this is up to you, you can either just push the resistors and common wire into the sockets or you can add a spot of solder to each one to make sure the resistors and wire stay put and stay connected. See the attached sketch. Do the same with the other socket and when you're happy with them, remove the newly fitted IC36 and IC37 and plug these socket / resistor assemblies into the sockets normally occupied by IC36 and IC37. Obviously, pin 1 of the socket needs to go to pin 1 of the socket you are plugging it into. With those fitted, turn on the machine, you should see a screen full of random characters - this is because the Z80 currrently can not send data to anywhere, including the screen memory. Use your scope to look at the A0 line (pin 30) of the Z80. If the NOP rig is working you should see a steady square waveform on there and also on pins 31, 32, 33, 34, 35, 36, 37. As you step upwards from one pin to the next the pulses on each line should be twice as long as they were on the previous one. You can also use your logic probe to look at the same pins. Let us know if that works. |
Re: Sharp MZ-80K help needed on repair
Hi
That's brilliant will try it tomorrow as have to be up at 2am for work with the resistors I have some 1/4 watt 270R ones do you think these will be ok. |
Re: Sharp MZ-80K help needed on repair
They will be fine the 1/8 watt was just for size and 270 will hold the lines fine I am sure.
|
Re: Sharp MZ-80K help needed on repair
As Tim says, 270R at 1/4 watt will be fine.
|
Re: Sharp MZ-80K help needed on repair
As promised, a disassembly of the RAM TEST code so we can see what it is supposed to be doing. Virtually the first thing it does - or should do - is to draw the 'Front Panel' of the utility. As we know, that only happens very occasionally.
Apologies in advance for any mitsakes. Code:
0000 f3 di ;Disable interrupts |
Re: Sharp MZ-80K help needed on repair
Remember that as the 8255 output is not being initialised the display might remain blank. The ram checker code is relying on the ls ttl input floating high, it might work in most cases but it was only reaching 1v on pudwinks system. A 4k7 pull up resistor should solve this and won’t cause a problem if not removed later.
|
Re: Sharp MZ-80K help needed on repair
1 Attachment(s)
Looking at the relevant section of the diagram (Video Generator: Manual page 32: PDF page 34) The video bitstream is coming out of IC29 pin into IC17 pin 10.
The job of IC17 (Pins 1,2,13,12) is to act as a gate which either allows the video to pass through from pin 2 to its output on pin 12 or does not, depending on the states of V-Gate, V-Blank and H-Blank. When all of those signals are high, video is allowed to pass through IC17 from pin 2 to pin 12, but if any of those signals are low, then video does not pass through to pin 12. A low state on any one of those three signals including V-Gate blanks the video output. I agree with Mark that V-Gate had better have a decent 'High' on it for the RAM TEST code to work because the RAM TEST code does not turn the 8255 pin 14 into an output and drive it high. It probably should. Therefore, as Mark says, you can remove one possible area of uncertainty by fitting a 4K7 resistor between IC24 pin 1 and IC24 pin 14 to make sure that IC24 pin 1 is always high unless it is intentionally driven low by the 8255. There is a chance that IC24 pin 1 (an input) is actually faulty and should in fact be floating much higher than the 1V apparently being measured on it. Should we have pudwink replace it and see what the voltage on pin 1 comes up to then? Don't all (working) TTL inputs have internal pullup resistors? |
Re: Sharp MZ-80K help needed on repair
5 Attachment(s)
Done the NOP test on the Z80 these are the results.
|
Re: Sharp MZ-80K help needed on repair
3 Attachment(s)
I think it looks right
|
Re: Sharp MZ-80K help needed on repair
Nice, that looks like it is working and you've obviously got the hang of tweaking the Time / Div control as you step through the pins so you can always see several pulses on the screen. It's nice the way that scope shows the V/Div and Time / Div settings on the screen itself.
From Pin 38, carry on through the Z80 pins 39, 40, 1, 2, 3, 4, 5, you should see more of the same with the waveforms changing ever more slowly. No need to take photos now that you know what you are looking for, just make sure all of those pins are flipping high and low at an even rate. Could you also put a 4K7 from IC24 pin 1 to +5V (IC24 pin 14) as Mark suggested - this is to ensure the correct operation of the RAM TEST code which does not appear to drive V-Gate properly. It can be removed later when the system is eventually working, because the code in MROM will drive the V-Gate signal properly. One thing I do notice is that your pin 38 trace doesn't appear to have gaps on the bottom edge like all the others, I don't know if this is perhaps because the other trace was turned on when that shot was taken. |
Re: Sharp MZ-80K help needed on repair
I have done the scope tests on the other pins of the Z80 and they look ok I have today replaced IC24 but still showing 1v on pin 14 I have not got any 4K7 resistors so will have to source some.
|
Re: Sharp MZ-80K help needed on repair
Dont know if its anything or just the resistors connected to the 0v but getting a pulsing through the picture.
https://www.youtube.com/watch?v=0bXXtlI_ZpA |
Re: Sharp MZ-80K help needed on repair
1 Attachment(s)
OK - that odd low voltage on the input of IC24 pin 1 certainly is a mystery. Let's see if we can lift it up a bit. The resistor doesn't have to be 4K7 exactly, up or down a bit in value will do. (2K2, 2K7, 3K3, 5K6, 6K8, etc).
Your next job is to look at A0 to A15 (as you have been doing) but this time on the other side of the address buffer ICs, IC44 and IC45. Look at IC44 pins 14, 16, 18, 3, 5, 7, 12, 9 and IC45 pins 14, 16, 18, 3, 5, 7, 12, 9 These should look the same as the A0 to A15 pins did on the Z80 - a very fast changing waveform on IC44 pin 14 (Buffered A0), working your way through all the buffered address pins to a slow changing waveform on IC45 pin 9 (Buffered A15). |
Re: Sharp MZ-80K help needed on repair
Ref: The disturbance on the picture, can you scope IC 35 (74LS244) pins 7, 5 and 14 and show what you see on those?
7 should be mainly high with short low pulses 5 should be staying high 14 should be mainly high with short low pulses |
Re: Sharp MZ-80K help needed on repair
Also, try removing all of the system RAM from its sockets and setting it to one side. Do you still get that disturbance on the display?
|
Re: Sharp MZ-80K help needed on repair
With the z80 running NOP test there will be an instruction fetch followed by a refresh cycle for each NOP. Both should start at 0, so the low address lines A0 to A6 would look regular but A7 and up will be zero during refresh. I think this is why A7 shows continuous line at 0v.
It might be possible to use a second scope channel to trigger on M1, but probably not worth the complication at this stage. |
Re: Sharp MZ-80K help needed on repair
Checked IC 35 as far as I can tell it looks right took all memory out still pulsing text running through the screen.
Now I am guessing that the bigger the distance between the wave form the slower it is so on that idea IC 44 pin 5 small spacing then 16,18,3,5,7 getting bigger 12 and 9 got smaller. IC 45 14 fast 16 and 18 slower then 3 through to 9 got faster. Hope I got that right. |
Re: Sharp MZ-80K help needed on repair
The pulsing on the display will probably be caused by the z80 reading from video ram addresses as it runs through the address space. I think in normal operation it would only access video ram during frame blanking, detected using the 8255 input.
|
Re: Sharp MZ-80K help needed on repair
Quote:
|
Re: Sharp MZ-80K help needed on repair
What shall we focus on now? Why we don't seem to be able to run code from the ROM?
Pud, with the RAM TEST EPROM fitted and the NOP rig still in place, can you get scope pictures of: ROM pin 20 (CS0, ROM chip enable) IC51 pin 6 (Enable signal for buffer, IC50). Reads from both system RAM and ROM pass through this buffer. |
Re: Sharp MZ-80K help needed on repair
2 Attachment(s)
Here are pics asked for I have not got any resitors so going to try a shop today otherwise I will have to order some.
|
Re: Sharp MZ-80K help needed on repair
Hi all
Major Major progress I went to the shop to get some resistors and while I was there I got some SN74LS241N to replace the wrong ones the other guy sent me which he said (they will work) and guess what no more corrupted ram screen and better still with the resistor fitted the program is now running. |
Re: Sharp MZ-80K help needed on repair
Another good call by Mark! So, what does the RAM TEST EPROM tell you about the state of the RAMs now, if you put it all back in? If it's running properly I think you should probably see the first character on the screen continually changing even if nothing else on the screen moves. (That character indicates which block of the RAM it is currently testing).
|
Re: Sharp MZ-80K help needed on repair
yes it is running properly I think but it does not give you a constant report of which ram is showing as bad It changes its mind depending on when you turn it on.
|
Re: Sharp MZ-80K help needed on repair
If the RAM TEST ROM is starting up every time now, it may be worth swapping the MROM in just to see what that does now as you have replaced a couple of things since you last tried it.
If it still doesn't work at all we'll stick with the RAM TEST EPROM for now as that does not depend on working RAM to be able to run, whereas MROM does. |
Re: Sharp MZ-80K help needed on repair
Ahead of you already tried the MROM just ramdom characters
|
Re: Sharp MZ-80K help needed on repair
So apart from the fact that it does not show consistent good / bad states for the state of each RAM, do you feel that the RAM test code is running normally - especially - with the first character on the screen changing all the time, showing that the program is continually running?
If that character is not changing all the time then it means the program is starting, but getting stuck somewhere along the line. If it is genuinely running then maybe we can use the activity generated by that program to try to look at signals in the system RAM area. |
Re: Sharp MZ-80K help needed on repair
Yes character is changing 1 through to 3 so looks like it's running fine.
|
Re: Sharp MZ-80K help needed on repair
That's really good - as you say a great step forwards as it opens up the possibility of writing bits of test code to check out specific parts of the circuitry.
I still wish we had a belt and braces or second independent method of testing the RAMs - remember that all the ones originally fitted had 19V sitting on them for quite a while until you fixed that fault - but if we assume for now that the RAMs themselves are OK then we probably need to look at the RAM support circuitry - not the RAMs themselves, but the timing and selection and access circuits which control the RAM subsystem. |
Re: Sharp MZ-80K help needed on repair
Now that RAM TEST looks like it's running, one thing you could try is something which Mark suggested earlier, remove all RAMs and put only one RAM at a time into the first RAM socket, see if you can identify individual good and bad RAM ICs that way. It's possible for one RAM to be so faulty that it affects the operation of the rest.
If this method identifies at least one RAM which always passes as good, try moving that one RAM step by step through all of the other RAM positions as a way of testing each of the RAM slots / positions individually. (There might be one particular slot or row in which no RAMs will work). |
Re: Sharp MZ-80K help needed on repair
been playing around with it and it seems to have settled to saying three banks of dram have an issue but its not the dram chips because if I move them around the failure is the same.
also noticed it only needs one of the row of three to show a problem and it shows a problem on that whole row. https://youtu.be/aLcg4xl01vQ |
Re: Sharp MZ-80K help needed on repair
Each row shares a common data line.
Remove all the ram from each bad row and put them to one side. Then fill the first two columns with chips from the last row. Does that give you two working columns? If you still have bad rows this probably means some other issue on those rows, either short, open or a buffer issue on that data line. If you now have two working columns, fill the last column with the ram chips put to one side. If any of those make the row bad remove them and try a different ram chip. |
Re: Sharp MZ-80K help needed on repair
Down the right hand side of the test display are the figures D0 to D7 (Data lines D0 to D7) so it looks like the test is indicating a RAM-wide problem with RAM data bits D1, D4 and D7. We know that read access from the system RAM is through the buffer IC, IC50, 74LS244, but we also know that read access from the ROM is through the same buffer, so that would suggest that the system should be able to read from the DRAM through that buffer OK as well.
Data written to the RAMs is supplied to them from the main data bus buffers which have already been replaced. With the RAM TEST eprom running can you scope the following pins on ALL of the RAM chips In the following group, the signal on each IC should look broadly the same as the signal on the same pin on all the other ICs, so what you are looking for is an odd man out, one or several where the signal does not look like the signal on the same pin on the other chips. -Pin 3 (WE -pin 4 (RAS) -pin 15 (CAS) -pin 13 (CS) In this next group the signals on the lines are very complex because data coming from the RAM is mixed in with code being read from the ROM. The waveforms themselves will not be regular but going up and down in seemingly random fashion. Scope IC50 pins:- 2 17 (?) 4 15 6 (?) 13 8 11 (?) In particular, we are looking for any significant visual difference between the signals on the pins I have put a question mark next to, and the others. If you want to post pictures that will be helpful but make sure all photos are taken with the Time / Div control at the same setting. Edit: Do what Mark said first. |
Re: Sharp MZ-80K help needed on repair
update and mega news I contact the person who wrote the tester program and explained that if one chip in a row failed it knocked out the whole row so they altered the rom file and on rerun said 4 drams were bad.
now all the dram chips in the computer passed the tester I brought with flying colours but I replaced them with 4 that did not fully pass the tester and all memory has now passed the dram tester program and better still the computer now boots up next issue non of the keys work although if I keep hitting them some work odd times. |
Re: Sharp MZ-80K help needed on repair
Wow, you don't need us. ;)
|
Re: Sharp MZ-80K help needed on repair
To determine whether you have a keyboard problem or a keyboard circuit problem, first thing to do is to unplug the keyboard from the motherboard and use a short wire link to connect any of the keyboard connector pins 1-8 to any of pins 9-18. If the keyboard circuit is working you should be able to 'type' characters by joining pairs of pins together. If you find that this is working you could write or make a table of which pairs of pins 'type' which characters - some of them won't be obvious, like SHIFT which doesn't do anything by itself.
Don't connect any of the pins in the 9-18 range to each other though, could damage IC6. |
Re: Sharp MZ-80K help needed on repair
oh yes I do it was booting now getting corrupt screen again put the dram tester program back on and corrupt screen on that again and if I do sometimes get a clear screen program wont run ahhhhhhh.
|
Re: Sharp MZ-80K help needed on repair
It sounds like you have that most feared of all faults, a physical / intermittent fault. The good news is that the machine has shown you, briefly, that it can work.
|
Re: Sharp MZ-80K help needed on repair
unless IC36 and 37 have gone bad again
|
Re: Sharp MZ-80K help needed on repair
Did you say that one of your device programmers has a chip test mode on it? (Just not for DRAMs, as I recall). If so try testing those ICs.
|
Re: Sharp MZ-80K help needed on repair
no unfortunetly not got a dram tester and a eprom programer they wont check the ICs I only brought 3 of the SN74LS241N so I had a spare tried replacing ether IC36 or 37 with the spare no difference so ether both have blown or its something else.
|
Re: Sharp MZ-80K help needed on repair
If IC36 and 37 have blown again what would cause this.
|
Re: Sharp MZ-80K help needed on repair
Well, believe it or not you have still made progress because the machine worked for (hopefully) just long enough to let you diagnose which of the RAMs were faulty so that's one less area of immediate concern.
Did you try the 'press test' Mark suggested earlier, apply pressure to each IC in turn while resetting or turning on the machine? You could get lucky and identify a chip or an area which is physically sensitive / intermittent. You can buy testers, similar to your DRAM tester, which are intended for the purposes of testing TTL and CMOS logic ICs. Higher end device programmers sometimes have that as a secondary function. One thing you could do is put each of the suspect ICs in a plug-in breadboard if you have one - make sure you place it with the legs on either side of the centre line so that the breadboard itself does not short any of the IC pins together. Measure the resistance from the 0V pin (pin 10) of the IC to each input on the IC (pins 2, 4, 6, 8, 1, 13, 15, 17) and from the 0V pin (pin 10) to each output on the IC (Pins 3, 5, 7, 9, 12, 14, 16, 18) And also from the 0V pin (pin 10) to the two enable inputs on the IC (pins 1 and 19). The resistance from the 0V pin to all pins of a similar type should be about the same. Same goes for the resistance from the +5V power pin (pin 20 on this IC) to all pins of a similar type. If you don't find a significant difference between two pins of the same type it doesn't necessarily mean that the IC is OK, the fault could just be buried too deep inside the IC to affect the readings on the pins. On the other hand, if you do find a very significant difference on one pin compared to all the other pins which have a similar function, regard that as a probable faulty device. Remember when making measurements like this on logic ICs, always keep the probes the same way around - as a guideline when checking from the 0V pin to other pins, always have the black probe on the 0V pin, and when checking from the 5V supply pin to the other pins always have the red probe on the +5V supply pin. Edit: It's not actually certain that IC36 and IC37 have blown or even that they were originally blown. If the machine is damaging data buffers it could be because there is 'bus contention' - two things trying to drive the data bus at the same time - due to a circuit fault, but that can not be happening all the time because the machine would not have worked for the short time that it did. |
Re: Sharp MZ-80K help needed on repair
I have tried the press test no results I think the easy option is to get hold of some more SN74LS241N and see if that gets us back to booting up if not something else if yes we will have to work out what blows SN74LS241N ICs.
|
Re: Sharp MZ-80K help needed on repair
It might be worth trying again after leaving it in a cold room overnight, just in case its a thermal intermittent.
Another thing worth checking is to measure pin 6 on the z80, make sure the clock input is driving a clean square wave as close to each supply rails as possible. I noticed this is driven by a 74LS244 with a 330 ohm pullup, so I wonder if that gate might be getting a bit tired due to old age. One of the quirks of the z80 was that the clock input is not ttl compatible, we used to drive the clock with 74S04 and 330 ohm pullup or with a transistor buffer. |
All times are GMT +1. The time now is 9:27 pm. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.