UK Vintage Radio Repair and Restoration Discussion Forum

UK Vintage Radio Repair and Restoration Discussion Forum (https://www.vintage-radio.net/forum/index.php)
-   Vintage Computers (https://www.vintage-radio.net/forum/forumdisplay.php?f=16)
-   -   Sharp MZ-80K help needed on repair (https://www.vintage-radio.net/forum/showthread.php?t=183455)

SiriusHardware 5th Oct 2021 3:25 pm

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.

SiriusHardware 5th Oct 2021 7:11 pm

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.

SiriusHardware 6th Oct 2021 3:06 pm

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.

pudwink 6th Oct 2021 4:25 pm

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.

SiriusHardware 6th Oct 2021 4:33 pm

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.

SiriusHardware 6th Oct 2021 5:38 pm

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.

pudwink 6th Oct 2021 6:20 pm

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.

Timbucus 6th Oct 2021 7:58 pm

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.

SiriusHardware 6th Oct 2021 8:18 pm

Re: Sharp MZ-80K help needed on repair
 
As Tim says, 270R at 1/4 watt will be fine.

SiriusHardware 6th Oct 2021 9:41 pm

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

0001 31 00 e0  ld sp,0xe000        ;Place Stack Pointer at E000

;    Initialise the RAM TEST 'Front Panel'

0004 21 a3 01  ld hl,0x01a3        ;HL points to MEM TEST front panel graphics
0007 11 00 d0  ld de,0xd000        ;DE points to start of screen RAM
000a 01 e8 03  ld bc,0x03e8        ;Number of bytes to shift to screen RAM
000d ed b0      ldir                ;Block copy BC bytes from (HL) to (DE)

;    Clear first screen memory location (0x20 = 'Space'). This location
;    seems to be used as a progress indicator.

000f 21 00 d0  ld hl,0xd000
0012 36 20      ld (hl),0x20

;    Wait for Vertical Blank pulse before continuing

0014 21 02 e0  ld hl,0xe002        ;HL points to portC in 8255
0017 3e 7f      ld a,0x7f        ;bit mask = 01111111
0019 be        cp (hl)                ;Compare portC inputs with value in A       
001a da 19 00  jp c,0x0019        ;If V-BLANK not low, look again,  -> 0019

;    Indicate progress

001d 21 00 d0  ld hl,0xd000
0020 34        inc (hl)       

;    Write and read back various values to / from the address being tested

0021 21 00 10  ld hl,0x1000        ;HL points to start of system RAM

0024 36 00      ld (hl),0x00        ;Test location with value 0x00               
0026 7e        ld a,(hl)
0027 ee 00      xor 0x00
0029 b1        or c
002a 4f        ld c,a
002b 36 55      ld (hl),0x55        ;Test location with value 0x55
002d 7e        ld a,(hl)
002e ee 55      xor 0x55
0030 b1        or c
0031 4f        ld c,a
0032 36 aa      ld (hl),0xaa        ;Test location with value 0xAA
0034 7e        ld a,(hl)
0035 ee aa      xor 0xaa
0037 b1        or c
0038 4f        ld c,a
0039 36 ff      ld (hl),0xff        ;Test location with value 0xFF
003b 7e        ld a,(hl)
003c ee ff      xor 0xff
003e b1        or c
003f 4f        ld c,a

;    Advance to the next memory location by increasing L by 1
;    If L <= 0xFF, test the next memory location (-> 0024)

0040 2c        inc l
0041 20 e1      jr nz,0x0024

;    Otherwise, increment H to advance to the next 256-byte block
;    Check that we have not reached the end of this RAM block
;    (4FFF). If H < 0x50, test the next memory location (-> 0024)

0043 24        inc h
0044 3e 50      ld a,0x50
0046 bc        cp h
0047 20 db      jr nz,0x0024

;    Display the results of the RAM block test

0049 11 6d 47  ld de,0x476d
004c cb 41      bit 0,c
004e 21 72 d0  ld hl,0xd072
0051 7a        ld a,d
0052 28 01      jr z,0x0055
0054 7b        ld a,e
0055 77        ld (hl),a
0056 cb 49      bit 1,c
0058 21 ea d0  ld hl,0xd0ea
005b 7a        ld a,d
005c 28 01      jr z,0x005f
005e 7b        ld a,e
005f 77        ld (hl),a
0060 cb 51      bit 2,c
0062 21 62 d1  ld hl,0xd162
0065 7a        ld a,d
0066 28 01      jr z,0x0069
0068 7b        ld a,e
0069 77        ld (hl),a
006a cb 59      bit 3,c
006c 21 da d1  ld hl,0xd1da
006f 7a        ld a,d
0070 28 01      jr z,0x0073
0072 7b        ld a,e
0073 77        ld (hl),a
0074 cb 61      bit 4,c
0076 06 c1      ld b,0xc1
0078 21 52 d2  ld hl,0xd252
007b 7a        ld a,d
007c 28 01      jr z,0x007f
007e 7b        ld a,e
007f 77        ld (hl),a
0080 cb 69      bit 5,c
0082 21 ca d2  ld hl,0xd2ca
0085 7a        ld a,d
0086 28 01      jr z,0x0089
0088 7b        ld a,e
0089 77        ld (hl),a
008a cb 71      bit 6,c
008c 21 42 d3  ld hl,0xd342
008f 7a        ld a,d
0090 28 01      jr z,0x0093
0092 7b        ld a,e
0093 77        ld (hl),a
0094 cb 79      bit 7,c
0096 21 ba d3  ld hl,0xd3ba
0099 7a        ld a,d
009a 28 01      jr z,0x009d
009c 7b        ld a,e
009d 77        ld (hl),a

;      Indicate further progress
009e 21 00 d0  ld hl,0xd000
00a1 34        inc (hl)

;    Now test the next block (5000-9FFF)

00a2 21 00 50  ld hl,0x5000
00a5 36 00      ld (hl),0x00
00a7 7e        ld a,(hl)
00a8 ee 00      xor 0x00
00aa b1        or c
00ab 4f        ld c,a
00ac 36 55      ld (hl),0x55
00ae 7e        ld a,(hl)
00af ee 55      xor 0x55
00b1 b1        or c
00b2 4f        ld c,a
00b3 36 aa      ld (hl),0xaa
00b5 7e        ld a,(hl)
00b6 ee aa      xor 0xaa
00b8 b1        or c
00b9 4f        ld c,a
00ba 36 ff      ld (hl),0xff
00bc 7e        ld a,(hl)
00bd ee ff      xor 0xff
00bf b1        or c
00c0 4f        ld c,a
00c1 2c        inc l
00c2 20 e1      jr nz,0x00a5
00c4 24        inc h
00c5 3e a0      ld a,0xa0
00c7 bc        cp h
00c8 20 db      jr nz,0x00a5

;    Display the results of that test

00ca 11 6d 47  ld de,0x476d
00cd cb 41      bit 0,c
00cf 21 67 d0  ld hl,0xd067
00d2 7a        ld a,d
00d3 28 01      jr z,0x00d6
00d5 7b        ld a,e
00d6 77        ld (hl),a
00d7 cb 49      bit 1,c
00d9 21 df d0  ld hl,0xd0df
00dc 7a        ld a,d
00dd 28 01      jr z,0x00e0
00df 7b        ld a,e
00e0 77        ld (hl),a
00e1 cb 51      bit 2,c
00e3 21 57 d1  ld hl,0xd157
00e6 7a        ld a,d
00e7 28 01      jr z,0x00ea
00e9 7b        ld a,e
00ea 77        ld (hl),a
00eb cb 59      bit 3,c
00ed 21 cf d1  ld hl,0xd1cf
00f0 7a        ld a,d
00f1 28 01      jr z,0x00f4
00f3 7b        ld a,e
00f4 77        ld (hl),a
00f5 cb 61      bit 4,c
00f7 06 c1      ld b,0xc1
00f9 21 47 d2  ld hl,0xd247
00fc 7a        ld a,d
00fd 28 01      jr z,0x0100
00ff 7b        ld a,e
0100 77        ld (hl),a
0101 cb 69      bit 5,c
0103 21 bf d2  ld hl,0xd2bf
0106 7a        ld a,d
0107 28 01      jr z,0x010a
0109 7b        ld a,e
010a 77        ld (hl),a
010b cb 71      bit 6,c
010d 21 37 d3  ld hl,0xd337
0110 7a        ld a,d
0111 28 01      jr z,0x0114
0113 7b        ld a,e
0114 77        ld (hl),a
0115 cb 79      bit 7,c
0117 21 af d3  ld hl,0xd3af
011a 7a        ld a,d
011b 28 01      jr z,0x011e
011d 7b        ld a,e
011e 77        ld (hl),a

;    Indicate further progress
011f 21 00 d0  ld hl,0xd000
0122 34        inc (hl)

;    Test the next block (0xA000 -0xCFFF)

0123 21 00 a0  ld hl,0xa000
0126 36 00      ld (hl),0x00
0128 7e        ld a,(hl)
0129 ee 00      xor 0x00
012b b1        or c
012c 4f        ld c,a
012d 36 55      ld (hl),0x55
012f 7e        ld a,(hl)
0130 ee 55      xor 0x55
0132 b1        or c
0133 4f        ld c,a
0134 36 aa      ld (hl),0xaa
0136 7e        ld a,(hl)
0137 ee aa      xor 0xaa
0139 b1        or c
013a 4f        ld c,a
013b 36 ff      ld (hl),0xff
013d 7e        ld a,(hl)
013e ee ff      xor 0xff
0140 b1        or c
0141 4f        ld c,a
0142 2c        inc l
0143 20 e1      jr nz,0x0126
0145 24        inc h
0146 3e d0      ld a,0xd0
0148 bc        cp h
0149 20 db      jr nz,0x0126

;    Display the results

014b 11 6d 47  ld de,0x476d
014e cb 41      bit 0,c
0150 21 5b d0  ld hl,0xd05b
0153 7a        ld a,d
0154 28 01      jr z,0x0157
0156 7b        ld a,e
0157 77        ld (hl),a
0158 cb 49      bit 1,c
015a 21 d3 d0  ld hl,0xd0d3
015d 7a        ld a,d
015e 28 01      jr z,0x0161
0160 7b        ld a,e
0161 77        ld (hl),a
0162 cb 51      bit 2,c
0164 21 4b d1  ld hl,0xd14b
0167 7a        ld a,d
0168 28 01      jr z,0x016b
016a 7b        ld a,e
016b 77        ld (hl),a
016c cb 59      bit 3,c
016e 21 c3 d1  ld hl,0xd1c3
0171 7a        ld a,d
0172 28 01      jr z,0x0175
0174 7b        ld a,e
0175 77        ld (hl),a
0176 cb 61      bit 4,c
0178 06 c1      ld b,0xc1
017a 21 3b d2  ld hl,0xd23b
017d 7a        ld a,d
017e 28 01      jr z,0x0181
0180 7b        ld a,e
0181 77        ld (hl),a
0182 cb 69      bit 5,c
0184 21 b3 d2  ld hl,0xd2b3
0187 7a        ld a,d
0188 28 01      jr z,0x018b
018a 7b        ld a,e
018b 77        ld (hl),a
018c cb 71      bit 6,c
018e 21 2b d3  ld hl,0xd32b
0191 7a        ld a,d
0192 28 01      jr z,0x0195
0194 7b        ld a,e
0195 77        ld (hl),a
0196 cb 79      bit 7,c
0198 21 a3 d3  ld hl,0xd3a3
019b 7a        ld a,d
019c 28 01      jr z,0x019f
019e 7b        ld a,e
019f 77        ld (hl),a

;    And go back to the start
;    The test runs continuously?

01a0 c3 0f 00  jp 0x000f

;    01A3 onwards = data, probably the
;    'Front Panel' for the RAM
;    TEST screen display.


Mark1960 6th Oct 2021 10:32 pm

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.

SiriusHardware 6th Oct 2021 11:26 pm

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?

pudwink 7th Oct 2021 11:08 am

Re: Sharp MZ-80K help needed on repair
 
5 Attachment(s)
Done the NOP test on the Z80 these are the results.

pudwink 7th Oct 2021 11:09 am

Re: Sharp MZ-80K help needed on repair
 
3 Attachment(s)
I think it looks right

SiriusHardware 7th Oct 2021 2:08 pm

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.

pudwink 7th Oct 2021 3:29 pm

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.

pudwink 7th Oct 2021 3:37 pm

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

SiriusHardware 7th Oct 2021 3:45 pm

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).

SiriusHardware 7th Oct 2021 3:55 pm

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

SiriusHardware 7th Oct 2021 4:10 pm

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?

Mark1960 7th Oct 2021 4:21 pm

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.

pudwink 7th Oct 2021 4:25 pm

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.

Mark1960 7th Oct 2021 4:26 pm

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.

Timbucus 7th Oct 2021 6:16 pm

Re: Sharp MZ-80K help needed on repair
 
Quote:

Originally Posted by Mark1960 (Post 1412304)
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.

Yes I was thinking that as I watched the screen looks just like my Triton when you do the same and it is a cyclic repeating effect.

SiriusHardware 7th Oct 2021 9:58 pm

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.

pudwink 8th Oct 2021 8:36 am

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.

pudwink 8th Oct 2021 10:39 am

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.

SiriusHardware 8th Oct 2021 11:07 am

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).

pudwink 8th Oct 2021 11:49 am

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.

SiriusHardware 8th Oct 2021 12:05 pm

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.

pudwink 8th Oct 2021 12:13 pm

Re: Sharp MZ-80K help needed on repair
 
Ahead of you already tried the MROM just ramdom characters

SiriusHardware 8th Oct 2021 12:26 pm

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.

pudwink 8th Oct 2021 12:33 pm

Re: Sharp MZ-80K help needed on repair
 
Yes character is changing 1 through to 3 so looks like it's running fine.

SiriusHardware 8th Oct 2021 12:44 pm

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.

SiriusHardware 8th Oct 2021 12:51 pm

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).

pudwink 8th Oct 2021 4:33 pm

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

Mark1960 8th Oct 2021 4:49 pm

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.

SiriusHardware 8th Oct 2021 5:31 pm

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.

pudwink 8th Oct 2021 5:34 pm

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.

SiriusHardware 8th Oct 2021 5:36 pm

Re: Sharp MZ-80K help needed on repair
 
Wow, you don't need us. ;)

SiriusHardware 8th Oct 2021 5:44 pm

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.

pudwink 8th Oct 2021 5:49 pm

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.

SiriusHardware 8th Oct 2021 6:08 pm

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.

pudwink 8th Oct 2021 6:16 pm

Re: Sharp MZ-80K help needed on repair
 
unless IC36 and 37 have gone bad again

SiriusHardware 8th Oct 2021 6:22 pm

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.

pudwink 8th Oct 2021 6:30 pm

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.

pudwink 8th Oct 2021 6:48 pm

Re: Sharp MZ-80K help needed on repair
 
If IC36 and 37 have blown again what would cause this.

SiriusHardware 8th Oct 2021 6:59 pm

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.

pudwink 8th Oct 2021 7:19 pm

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.

Mark1960 8th Oct 2021 10:01 pm

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.