News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
R

Need some help fixing CPC6128 not booting

Started by RobertM, 09:36, 11 February 14

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

RobertM

Hi all,
        My CPC6128 has been in storage for some time as I don't have an original monitor. I wanted to convert it S-Video and perhaps make a uC SD floppy emulator. I don't know if it ever worked.

No good lol. It doesn't boot. It did once or twice out of about 20 power cycles.

I get a mostly blank screen with a square where the active video normally is. ie white screen and black border.

I am using the composite out to a TV and a small 5 Volt switch mode PSU rated at 3 Amps.

I noticed the board was a bit dirty and there was corrosion in some of the IC sockets (CPU) so I replaced three IC sockets and cleaned the board with metho. I used snap off SIL machined pins with gold inserts.

The three sockets I replaced were for the CPU, a small PAL (Programmable Logic Array) and another chip marked 40010.

Thinking the problem may be noise from the SMPSU, I put a 100nF cap across the 5 Volt input and upgraded the 47uF 5 Volt filter cap to 220uF.

I am guessing that the CPU is running as the registers in the 6845 need to set by the CPU to get video sync and I have sync.

The 5 Volt rail is at 5.05 Volts.

My next guess would be the DRAM chips but I don't want to socket 16 chips if I don't need to.

Does anyone have some experience or advice / suggestions that mat save me some time fixing this??

Any help would be greatly appreciated.

TFM

Posting once is enough here. A screenshot as told would be helpful.  ;)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

RobertM

Hi, Sorry to double post. I didn't register before my attempt and it gave an error "Topic / Subject does not exist" so I registered thinking that may be the problem and then posted.

I have some pics below. In order they are -

A screen shot of the TV
The CPU socket before it was replaced
The CPU socket after it was replaced
The front of the main board after cleaning and socket replacement
The back of the main board after cleaning and socket replacement

I am happy that the PSU is ok but I will test with another PSU today.
I was hoping to use more modern DRAM chips as replacements something like 64K x 4 but the newer chips wont work and the older ones are getting hard to find.

As you can see from the screen shot, I have sync and the active field is white which to me indicates that the CPU is ok and something else is failing in the boot sequence possibly DRAM.

Also, I noticed you don't have a pic of the back of this main board on this wiki. I will take out the extra cap and remove the composite video connection (wires from video socket) and take a pic and post it here.

Thanks again, Rob.

Bryce

64Kx4 are just as old and difficult to find as 64Kx1. You could use 64Kx4 in a 6128, but you'd have to do quite a bit of manual wiring to connect up the signals as they should be.

Bryce.

gerald

If the main bank of ram is failing, you can switch to the second one:

   - remove the PAL from its socket
   - on the socket :
      - link pin 9 to pin 19 (A14 to A14out) (Eq to LK5)
      - link pin 8 to pin 12 (A15 to A15out) (Eq to LK6)
      - link pin 7 to pin 16 (NCAS to NCAS1)
      - link pin 17 to pin 20 (NCAS0 to VCC)

If your CPC boot, then either the PLD or ram bank 0 is failing.
You can now test bank 0 by changing connecting NCAS(pin7) to NCAS0(pin17) and NCAS1(pin16) to VCC(pin20) on the socket.

You can also double check the schematic for pin connection : http://www.cpcwiki.eu/manuals/service.manual.cpc6128.ctm644.gt65.zip



Bryce

Quote from: gerald on 09:39, 12 February 14
If the main bank of ram is failing, you can switch to the second one:

   - remove the PAL from its socket
   - on the socket :
      - link pin 9 to pin 19 (A14 to A14out) (Eq to LK5)
      - link pin 8 to pin 12 (A15 to A15out) (Eq to LK6)
      - link pin 7 to pin 16 (NCAS to NCAS1)
      - link pin 17 to pin 20 (NCAS0 to VCC)

If your CPC boot, then either the PLD or ram bank 0 is failing.
You can now test bank 0 by changing connecting NCAS(pin7) to NCAS0(pin17) and NCAS1(pin16) to VCC(pin20) on the socket.

You can also double check the schematic for pin connection : http://www.cpcwiki.eu/manuals/service.manual.cpc6128.ctm644.gt65.zip

What a cool trick! I would never have thought of doing that, despite it being obvious :)

Bryce.

RobertM

Thanks Gerald,
                       I tried that but unfortunately I get exactly the same result. But it does help in that I am less suspicious of DRAM now.

I noticed an number of electro's near the sound chip that I can't see on the schematic. Some of them are 1uF/50V which are likely to have dried out. If they're in an audio amp then I can't see how they would be a problem but I will replace them next.

I just tested bank 2 so I will go and try bank 1 and see how that goes.

Here is what I believe so far.

I have measured the voltage on board at 5.05 Volts so I think the PSU is OK. I did try another PSU anyway. I am not connecting 12 Volts as I think it is only used for the floppy.

I am getting some voltage noise from the on board power connector but apart from that I consistently get exactly the same result at the same time from power on. I am using a jumper strap instead of the power switch.

I am using the composite video out so I assume I am just getting white on the screen and not random colour pixels that all look the same in black and white.

As far as I know the CPU needs to set up the 6845 registers before I can get sync so I believe the CPU is running and at least executing some of the boot code even though it consistently fails at a specific point.

The white area of the screen looks to me to be the active area of the screen where DRAM is converted to pixels.

This CPC did boot 2 times out of about 20 before I changed the sockets. I used metho to clean the board. Metho isn't the best for electro's so I will change them. However it has not booted since and appears to get stuck at the same place it did before I cleaned the board.

I don't have a CRO / Scope so this is really hard to debug. I am tempted to make a quick and dirty logic probe as anything would be better than what I have now.

I even turned the sound up and listened to the speaker. I get a faint high pitched sound in the background and a very brief pulse of white noise every second or so. All of this is very faint, I am putting the speaker to my ear with the volume at max.

I tried typing in sound 1, 240 just to see if the CPC is actually working but with no video output, no sound came out.

I will change out the crystal to a lower frequency say about 10 - 12 MHz. If my suspicions are correct about the CPU setting the 6845 registers the I should get a torn image on the screen due to loss of sync.

Once any suggestions / advice would be most appreciated.

And , Gerald thank you once again, you experience has saved me much time and is greatly appreciated.

Thanks all, Rob.

Bryce

#7
Have you connected the keyboard and tested whether the CPC beeps when you hold down "Del" ?

One other thing: Pin 22 of the Gate array looks like it hasn't been soldered? Is this just the photo?

Bryce.

RobertM

OK, I tried DRAM bank 0 and it was the same as bank 1.

I changed the 16MHz XTAL for a 12.288MHz crystal and it did exactly what I expected. It gave a torn image due to the sync being to slow for the PAL TV.

I used a multi meter on all of the pins of one chip in each bank looking for any shorts. The only pin the was not as I expected was A5 but when I looked at the diagram I see a resistor on this bus pin for some reason. I have assumed one bank is on the left and the other bank is on the right, I don't know if that's true. I tested 16 pins of one chip on the left and 16 pins of one chip on the right which means I have NOT tested the whole 16 pins of the data bus.

So it seem the CPC is booting to a point. Perhaps it sets up the 6845 registers from ROM and then jumps to (Faulty)RAM??? or perhaps faulty ROM ???

I can't remember if the CPC6128 changes the address space of the ROM through the PAL during boot or if it copies low ROM to high RAM and runs from RAM (disabling ROM). I can't remember ... it's been 20 years since I had one of these.

I haven't changed the electro caps yet. Night here, too dark can't see. Unfortunately the warranty on my eyeballs expire long ago lol. A job for tomorrow.

I looked at this board and though well I could just strip it and start over with new parts but that may NOT be a 'fix'.

Then I though what is the worst and in order they are -

Open circuit via, I will never find it with my sight.
The bigger PAL faulty - I doubt I can get a replacement.
The smaller PAL is more conventional, can I get code for it (Fuse map). Can they still be bought.
I am not worried about the ROMS the code will be out there somewhere.
I doubt I would get the sound chip but I have no reason to believe that it's faulty.
All the other chips I reckon I could still get except perhaps for the MFM MOD/DEMOD that works with the FDC.

I did find another Z80 CPU lying around but it didn't work. It's probably faulty or the wrong type ie NOT CMOS.

Perhaps I should order another CPU ? Do they have to be a particular substrate ie CMOS and NOT TTL or NMOS?

Thanks, Rob.

RobertM

Hi again,
    Bryce, thanks for your suggestion.

I put the 16MHz crystal back in and re-touched pin 22 of the PLA. I used my ultra zoom camera to look at again and it sort of looked soldered but I wasn't sure so I re-did it.

I tried tapping the DEL button but no sound. Thanks for your suggestion, I knew there was a way to make it beep but I couldn't remember how.

With the crystal back to 16MHz, I am now back to exactly where I was before, white box on screen.

I will see if I can replace the electro caps tomorrow.

In the mean time any suggestions are appreciated.

Thanks, Rob.



00WReX

Hey Rob, where abouts in Australia are you located.
I'm in the South Eastern suburbs of Melbourne.
I have a few bits and pieces you can try if you you are close by.
CPU, Gate Array, AY sound chip, RAM, etc + Amstrad monitors.

Cheers,
Shane
The CPC in Australia...
Awa - CPCWiki

Bryce

It's very unlikely that any of those caps are damaged, and even if they were, they wouldn't cause that problem. Concentrate on the Gate Array, CRTC, ROM (the one marked 40015) and maybe the Z80. Just because the CPU was able to initialise the CRTC doesn't mean that it's fully functional.

Bryce. 

RobertM

Hi Shane,
              I am in Far North Queensland so not at all close lol.

If I get to the point of knowing what is wrong with CPC and it's one of the chip I can't and you have then I may be interested in buying it from you though.

I think I can get the RAM / CPU chips but I doubt I could get a gate array.

Would the modern Z84C0020PEC (20Mhz) CPU work?

00WReX

Yeh Rob, that's a little more than just down the road  :D

For our European friends,  that's over three thousand kilometers away.

The Gate Array is a chip I don't have a spare of, I would have just pulled one from a working CPC to test / prove yours.

I do have a couple of Z80's though, but they are relatively easy to get.

Cheers,
Shane
The CPC in Australia...
Awa - CPCWiki

gerald

Some points :

- The PAL removal and socket wiring cannot exclude a failing RAM device if this device is shorting any data bit low even when not selected.
- Since the CPC booted few times before the socket change, double check the socket connection either visually or using a continuity tester from socket to any other connected chip or exp connector (use the schematic for matching pin).
- Also, check that the socketed IC pin are not broken/bended or oxidised . Again, you can check continuity from socketed IC pin to any connected chip.

redbox

Quote from: RobertM on 12:42, 12 February 14
I think I can get the RAM / CPU chips but I doubt I could get a gate array.

I have a spare Gate Array (40010) and ROM (40015) if you get stuck.

RobertM

Hi Bryce,
              I had a couple of 40 pin chips here on my desk that are just bits of memorabilia.

The CPU in the CPC is marked Z8400APS which I assume is a 4MHz NMOS CPU.

I shuffled around the desk and found a Z8400BPS under my keyboard lol. I assume it is a 6MHz NMOS CPU. What luck lol, well if it works.

I have already socketed the CPU so I will try CPU chip tomorrow.

I think I have a 6845 floating around somewhere so I will look for that and see if it is compatible. If it is then I will socket the CRTC and try it to.

If these things fail to fix the problem then I will have to order stuff.

As for the gate array I think I would have no luck finding a replacement unless there is some VHDL out there somewhere.

I downloaded the ROM (16KB) and tried to disassemble it but I got rubbish. It looks like there is data in amongst the code which is throwing the disassembler out of sync with the instructions.

There are two ROMS in the CPC6128, is that 2 of 8KB Roms? what (E)EPROMS can I use as replacements. Or could I use Flash? I see I can still get 27C64A-200 EPROMS (8KB x 8bit - 200nS) would they do? I just looked and the smallest flash I can get is 32KB (too many pins).

I don't have a (E)EPROM reader programmer but I could probably throw something together with a micro-controller and run it via USB serial.

Is there any VHDL for the two programmable logic arrays available? I have only just started VHDL by the way.

If I have to order stuff I will also get a Z84C0020PEC/PEG and try that (modern 20MHz CMOS CPU). If I do then I will let other know if it works.

Fingers crossed I will get back to it tomorrow (my time GMT+10).

One thing that still gets me is that this fault started as somewhat intermittent and is now permanent.

Mask ROMS and PAL's aren't normally flaky like that but I suppose they're 30 years old. It makes me worry that I have a corroded track/trace or fractured via.

From memory RAM, CPU's failed often, more often the (D)RAM. I have never had to replace a 6845 though.

I see most of the smaller chips are 74LS and a couple of 74HC's. From memory the HC's were more prone to static (ESD) so I might change them to as I can get them locally.

Thanks again everyone for your help. I will let you know how things go tomorrow.

arnoldemu

The CRTC signals are used to drive the interrupts.

Gate-Array counts HSYNC. If CRTC is not initialised, there will not be any HSYNCs, no interrupts will happen, the firmware will not see interrupts, keyboard will not work so you can't type anything or test with delete.

So the Z80 may not be getting as far as setting up the CRTC, it may not be getting as far as initialising the palette.

So it's much harder work.

So, concentrate on the Z80, ROM and the Gate-Array.

See if you can see if interrupts are being activated and check the NMI is not being triggered incorrectly.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Bryce

First off: I made a mistake above, I meant the 40025, not the 40015. Here's the general info on the ROMs:

40025 is a 32K ROM. The lower 16K contains the Firmware and the upper 16K contains BASIC 1.1
40015 is a 16K ROM and contains AMSDOS

Both are pin compatible with standard 27C... Parts, so you can easily burn new ones to replace them if needed.
The 40010 Gate Array hasn't been reverse engineered yet, but there are some available still. I don't have any at the moment, but I sent two of them to someone in Australia a while back, so you should be able to get a replacement if needed.

Either way, my money is still on the CPU. If the gate array isn't working you don't usually get even a border.

Bryce.

Munchausen

You can buy the 40010 here: 40010 Amstrad IC in UK - 121spares


Not sure if they deliver outside the UK, and the price is wrong, when you order he asks you for £6.95 instead. A couple of people here have bought them. If it comes to it, someone here could order one and send it on to you (I'd be happy to do so).


More info: http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/40010-ulaasics-available!/

RobertM

Just a quick update.

This morning I am going to buy a logic tester if it is in stock locally. From there I will decide which way I am going with this.

I looked over the board to see what tech it uses.

The CPU is NMOS.

All the smaller chips (except the PAL) and two others are 74LS TTL chips that can be replaced with 74HCT chips if need which are all available for that matter the 74LS versions are still around.

74LSxx is (L)ow power (S)chottky TTL which was the next chip after 74xx TTL and used less power and had better noise rejection.

74HCT is a (H)igh speed (C)MOS that had (T)TL input compatibility and was an even lower direct replacement for TTL like 74LS.

74HC is a (H)igh speed (C)MOS that has CMOS input compatibility and was not intended to be a direct replacement for 74LS (TTL) but in many cases can be used.

The small logic array (40031 - HAL16L8) may still be available as a blank (PAL16L8) and I can get a programmer for it. It only has four registers so it wouldn't be hard to reverse engineer but there is no point for me as I would need a working one to this.

The two other exceptions are a 74HCU (IC117) chip that is used for the reset. The 'U' in 'HCU' is for unbuffered so I doubt anything but a HCU would be suitable and they should be available. The other exception is a 74HC (IC203) in the FDC section and they're available.

The blank EPROM's (40015 40025) and a programmer are still available but the 27C128 is harder to find. The 27C64 is common still.

The larger logic array (40010) may be available as a blank (different chip number). It would be easier to read the code and schematic to write VHDL for this than trying to reverse engineer it. However, as mentioned, some mask programmed ones are still available.

Apart from that I didn't look into availability too much. I have seen the FDC (Z765) online also the 8255 PIO. The 6845 CRTC would be harder to find. The sound chip is probably not available. I didn't look into the MFM decoder that works with the FDC at all. The DRAM is still available as 4164 not 4264 (150nS or faster) but most of what you find is second have, some new chips are still out there.

If the members here are interested I can do a write up with pictures on how to replace chips. The one that is here is OK but a bit risky by using a drill through PTH (Plated Through Holes). The PTH of this era was generally poor and using a drill is dicing luck. Often one side of the PTH had small coverage and the rest had none. If the drill happens to hit the side that has coverage then the board is toast as you never going to find the faulty PTH VIA.





CanonMan

Quote from: RobertM on 00:16, 15 February 14
If the members here are interested I can do a write up with pictures on how to replace chips. The one that is here is OK but a bit risky by using a drill through PTH (Plated Through Holes). The PTH of this era was generally poor and using a drill is dicing luck. Often one side of the PTH had small coverage and the rest had none. If the drill happens to hit the side that has coverage then the board is toast as you never going to find the faulty PTH VIA.


Using a drill to clear plated through holes? I've never heard such a stupid idea before!


What's wrong with using a solder sucker or desoldering wick? Far safer unless you're completely cack-handed  :laugh:

Bryce

@CanonMan: I think he's referring to my guide here: IC Repair - CPCWiki where it suggests using a small drill if all other methods to remove the solder have failed.

@RobertM: You're not seriously going to replace every IC on the board instead of finding out what's broken are you???
The PAL has already been reverse engineered and the jed file is available.

Bryce.


Munchausen

I've bought the 6845 on ebay, still pretty easy to find.


By the time you've bought all these parts you could have bought another CPC. Not that I'm trying to discourage you from resurrecting it, it's sad to see these machines go, as it isn't as though there will be more showing up any time!

RobertM

#24
Hi all again,
I had a quick look at it with a logic tester. I didn't go right through everything but I did go over the CPU and RAM.

All I/O pins of the RAM have activity (pulsing).

On the CPU I see activity on the data and address buses.

The exception is A14 which represents a 16Kbyte difference in address space and the interrupt pin.

A14 is mostly low but has a pulse of activity (high and low) about 2 times a second.

The INT pin is ALWAYS low except for what looks like a single high pulse that happens once a second or exactly half as often as the A14 pin. 

Does that mean anything to anyone here.

Thanks.

Powered by SMFPacks Menu Editor Mod