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 1 Guest are viewing this topic.

RobertM

Since my last post I tried a couple of things.

I pulled out the smaller logic array and I get exactly the same blank screen with a white box BUT I don't see the slow pulse on the INT pin.

I then pulled a DRAM chip out of bank 2 and piggybacked it to chips 1 to 8 of bank 1 and applied power, that made no difference to the screen.

I am now in the process of ordering the larger gate array (40010) from the UK.

RobertM

Quote from: Bryce on 12:38, 12 February 14
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.

Thanks for that Bryce. I've tried another CPU so my money is on the gate array (on order). I recon the 6845 is ok and I get synce an raster on the screen but I did notice that one of the two sync signals coming out of it looked odd on the logic tester. It seemed to spend just as much time low as high but that may just be the quality of the tester.

If the gate array doesn't fix it then I would probably try the 6845 next due the the slow pulsing INT signal I mentioned later on here.


RobertM

Quote from: gerald on 13:31, 12 February 14
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.

Hello Gerald,
I did check that I get transitions on all data and address pins of the DRAM but that doesn't exclude an internal failure of a DRAM chip.

I didn't do a continuity test on the sockets as you suggested and I have a bad feeling that might come back to bite me lol. It's not at all easy to do with my ailing sight. I did clean the chips up with a rubber and they seem ok.

RobertM

Quote from: redbox on 13:41, 12 February 14
I have a spare Gate Array (40010) and ROM (40015) if you get stuck.

Thanks for you offer redbox, I have a gate array on order.

RobertM

Quote from: arnoldemu on 14:08, 12 February 14
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.

I am hoping the CRTC is working as I have sync and I would have that if it wasn't configured but the CPU / ROM. I am not sure that it is setting up the pallet as I an using the LUMA out and have black and white.

I mentioned elsewhere that the INT is nothing like I expected. I see nothing on NMI though.

RobertM

Quote from: Bryce on 15:45, 15 February 14
@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.

Hi Bryce,
I was just considering what may end up being the fail point of fixing this. I have long delays here when ordering parts so I have to see what I can do that might be helpful whale I am waiting for parts.

In you comments where you say "PAL" do you mean the smaller one of the bigger one? Is a JED file stand for JEDIC? Wasn't that the standard for the early smaller CPLD's?



RobertM

Quote from: Munchausen on 21:37, 15 February 14
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!

I could only find one other cpc6128 up for offer in my country and it was over 5000 Km away so the freight is a killer here. Hopefully I wont have to replace to many parts before it's fixed.

RobertM

Quote from: Munchausen on 20:15, 12 February 14
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!/

Your a gem Munchausen, I have one on order.

Bryce

Quote from: RobertM on 12:16, 20 February 14
Hi Bryce,
I was just considering what may end up being the fail point of fixing this. I have long delays here when ordering parts so I have to see what I can do that might be helpful whale I am waiting for parts.

In you comments where you say "PAL" do you mean the smaller one of the bigger one? Is a JED file stand for JEDIC? Wasn't that the standard for the early smaller CPLD's?

The PAL is a small 20pin IC with HAL16L8 written on it. The Gate Array is a 40pin IC with 40010 (in a 6128) written on it. these are the only two custom ICs the CPC has. The PAL has been reverse engineered and can be easily reproduced if required. Yes, .jed is a JEDEC file containing the code for the PAL. Unfortunately, no-one has even begun looking at a Gate Array replacement (as far as I know).

Bryce.

arnoldemu

Quote from: RobertM on 12:12, 20 February 14
I am hoping the CRTC is working as I have sync and I would have that if it wasn't configured but the CPU / ROM. I am not sure that it is setting up the pallet as I an using the LUMA out and have black and white.

I mentioned elsewhere that the INT is nothing like I expected. I see nothing on NMI though.
The LUM is derived from R,G,B so it's definitely setting up the palette.

NMI isn't used on the CPC, some devices use it (Multiface II).

INT can sometimes be held low for a while. The Gate-Array will assert it until the Z80 acknowledges it. Under normal operation in BASIC it will be low for a short time.


My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

RobertM

Just a thought... I was intending to build a RGB to s-Video converter for this CPC6128.

I really did want to use it with a monitor and I have a uncommon monitor that is dual purpose - VGA and CCTV monitor.

Because it accepts CCTV (PAL) it will sync down to the PAL 50Hz frame rate. Most computer type monitors won't sync below 60Hz.

After reading some disassembly of the CPC6128 ROM, I see it 'detects' PAL / NTSC configuration and makes some changes as a result.

So my question is, Can I simply change a jumper or something like that and have my CPC6128 output NTSC?

If that is possible then it would be much easier to interface it to a standard computer monitor and give a better picture. 

ralferoo

Quote from: RobertM on 04:40, 22 February 14
After reading some disassembly of the CPC6128 ROM, I see it 'detects' PAL / NTSC configuration and makes some changes as a result.

So my question is, Can I simply change a jumper or something like that and have my CPC6128 output NTSC?
Yes, if you can find LK1-LK3 which select the manufacturer name on boot, I think it's LK4 which should be next to them that selects NTSC mode.

Note that this will only really be useful for BASIC programs. All it does is configure the CRTC to have a shorter display length (260 lines instead of 312), which it turn increases the display frequency from 50Hz to 60Hz. Any games or demos that reconfigure the CRTC themselves will almost certainly reset these values to things suitable for PAL.

If you're going to use Bryce's s/video adapter, you'll also want to use an NTSC crystal instead of PAL and change one of the pins to select how the colour signal is encoded (pin 1 on the AD724 is HIGH for NTSC, LOW of PAL). Of course, this is only needed if you want colour output. If you're looking to drive a black-and-white CCTV display, you might as well just use the SYNC and LUM pins from the display connector.

Bryce

Quote from: RobertM on 04:40, 22 February 14
Just a thought... I was intending to build a RGB to s-Video converter for this CPC6128.

I still have some of these left over if you are interested: Limited batch of new S-Video Adapters.

Bryce.

RobertM

Quote from: Bryce on 15:06, 22 February 14
I still have some of these left over if you are interested: Limited batch of new S-Video Adapters.

Bryce.

Thanks for the offer Bryce but I have already bought all the parts. I have both the AD724 and AD722 so I was going to see which has a better picture. The AD722 has directly coupled inputs.

I cut a SOIC adaptor in half so that I can use standard 0.1" proto board.


Bryce

Nice little hack there. I haven't tried the 722, but I doubt there's any difference in the picture quality. I'd add a jumper  and both crystals though, so that you can choose between PAL and NTSC. There might be a quality difference there.

Bryce.

RobertM

Hi again,
             I received the new gate array and put that in and there is no difference. Still a dark screen with a white box on the screen. I have bought some socket strips to socket the ram which I might do soon. I tried the piggyback ram trick and it didn't help.

So it's time to order more parts by the looks of things.

I did try another Z80 but I don't know that it works so I would like to order another Z80 as well.

The original is marked Z8400APS and the one I tried was marked Z8400BPS and I just found a Sharp LH0080A which I might try as well.

I assume these are all NMOS Z80's (A = 4MHz, B=6MHz) and I am wondering if the newer Z80's will work.

The newer ones are marked Z84C00xxPEx, like Z84C0020PEC which is sold as a NMOS/CMOS chip, would one of these work?

Apart from that I don't really know which way to go. I was thinking to replace the Z80 and 6845. From memory there were different speed versions of the 6845 and some even had other differences. I don't relay think there is a problem with the 6845 as I have a stable raster.

I don't have a EPROM programmer any more otherwise I would burn another ROM. I do have some programmers but they're mostly for micro controllers, I will check if one of them will do old EPROM's.

How do I get the exact ROM image I need. Even if I can program a blank I have no UV eraser so I want to get it right first time. Would I need to do both ROM's?

Thanks all.


ikonsgr

I have a similar problem with an amstrad cpc 6128, black screen, no beep sound pressing 'del'. According to service manual this means that problem is z80, gate array, crtc or ram chips. Fortunately i have a second amstrad cpc in perfect working order, so i managed to test cpu and gate array as these are on dip bases and cen be easily removed/plugged from their places. Result? Nothing, still no picture. So i will probably need to concentrate on crtc and ram chips.
I already ordered a 6845 crtc (i confirm that hey are still rather cheap and easily to find on ebay), and i was thinking of ordering these ram chips. I believe they are ok for cpc right?
I also ordered a cheap special "desoldering" gun which i think it will render chip removal "piece of cake", without needing to destroy either the chip or the board!  ;)
Imo this would prove especially useful as usually you are not 100% that the chip you are going to remove is indeed faulty! For example, if the problem is a faulty ram chip, how you will find out which of the 16 ram chips has the problem?
Finally i would like to ask bryce, what exactly you will need to program the PAL16L8?


Bryce

Don't believe everything you read, those cheap desoldering guns aren't great. To properly desolder a chip without destroying it only requires a standard soldering iron and some wick. The most important part is that you limit and control the heat getting to the chip.

As for the RAMs, broken RAMs will usually get hot. Either way I doubt it's RAM, even with all RAMs broken you'd get more than a black screen, so the CRTC is most likely your problem.

GAL / PAL programming can be expensive. The device I use cost around €500, I'm not sure if there are many decent cheaper alternatives.

Bryce.

ikonsgr

Thanks for your quick response bryce!  :)
So what you suggest is replace the 6845 (which i already ordered anyway) and if i still have problem, then go for ram right?
To tell you the truth,i already made the "classic" temperature "finger-sensing"  :) and i found out that all ram chips seem to heat the same (and that's why i ordered first the 6845...).
I had a small experience in the past, by discovering a faulty ram chip from an amiga 500, using this method, one of the 4 ram chips was heated more than the others 3,i changed it, and amiga was back to life again!  ;)

As for the desoldering gun, i dont know if you noticed, but this is not the usual cheap desoldering pump. It is actually an electric iron with a hollow tip in the end (i didn't even know that these kind of special iron exist!), which  gives you the unique ability to "wrap" the soldered pin,heated very fast and quick, and as soon as solder becomes liquid, you press the button and all solder is sucked away!This way you minimize the time of heating and also you will get a very "clean" hole! It's like having both soldering iron and a pump in one tool! 
At least this is how it should work, "in theory"...  ::)   

RobertM

Hi, ikonsgr

Are you getting a blank box on the screen where the text window is normally? What monitor are you using, there's more that can go wrong with the monitor? Do you see a clean 5Volts going to the CPC? What test equipment do you have?

I started removing the DRAM using a soldering iron and a solder sucker tool and I managed to lift a track so I put the whole thing aside and ordered DRAM and I will cut the pins on the installed DRAM and take them out one by one. I will be using machine pin sockets.

I got second hand DRAM from jameco.com

On this tread someone pointed me to a place to get the ASIC and I replaced that but it didn't help. At least I have a spare ASIC now as one day the will be impossible to get.

There are programmers for the HAL chip on ebay called 'universal programmer' but there is no code available to program into it. I take this to mean that the HAL doesn't fail. I will probably be buying a programmer anyway as it can do the ROM's. On this thread someone told me how to remove the HAL and test by using jumpers in the socket. You can jumper to select Bank1 or 2 of the DRAM. Because I replaced the HAL socket with machine pins, my cheep breadboard jumpers fitted perfectly in the socket. The HAL has only four registers and a 16 x 8 logic array, it can't be hard to write the VHDL for that.

I have yet to socket and replace the DRAM, after that I expect I will be ordering a 6845 as well.

I haven't done the research on the 6845 yet. There were different versions of this chip that had different speeds. I suspect the one in the CPC is the slower version and if that is true using a faster one would be fine. However the reverse is not true.

I have ordered and received 4164 DRAMs. The originals are 4264. The difference between the two is a page mode for burst reading but I don't think the CPC uses the page mode anyway. the 4164 / 4264 are 64K x 1. Don't buy 4464 as they're 64K x 4. The ones you linked to look fine. The originals are 150nS so they can be replaced with 120nS or 150nS but not 200nS.

There is another 'trick' for testing DRAM that works most of the time. Be warned though when it doesn't work you can damage the 'test' DRAM. If you bend the pins of a spare (test) DRAM in a little then it can piggy back onto the DRAM in the board. Place it on each DRAM in turn with power off and then try to boot. If it springs to life then the DRAM it is piggy backed onto is faulty. Of course this wont work if you have two or more faulty DRAMs in the lower bank.

Another thing I found on this site is that the power switch gets noisy. I have been using a jumper block on where the power switch normally connects.

When I get my CPC working (haven't had time lately) I will be making a SD memory interface to replace the FDD. I am also thinking of a way to get it to work with a VGA monitor.

Please keep in touch.

gerald

Quote from: RobertM on 04:49, 06 April 14
There are programmers for the HAL chip on ebay called 'universal programmer' but there is no code available to program into it. I take this to mean that the HAL doesn't fail.
The PAL code is available on the wiki : Amstrad 6128 HAL/PAL16L8 chip  or PAL16L8 - CPCWiki

Quote from: RobertM on 04:49, 06 April 14
I have yet to socket and replace the DRAM, after that I expect I will be ordering a 6845 as well.

I haven't done the research on the 6845 yet. There were different versions of this chip that had different speeds. I suspect the one in the CPC is the slower version and if that is true using a faster one would be fine. However the reverse is not true.
CPC use the lower speed : 1MHz.

Quote from: RobertM on 04:49, 06 April 14
I have ordered and received 4164 DRAMs. The originals are 4264. The difference between the two is a page mode for burst reading but I don't think the CPC uses the page mode anyway. the 4164 / 4264 are 64K x 1. Don't buy 4464 as they're 64K x 4. The ones you linked to look fine. The originals are 150nS so they can be replaced with 120nS or 150nS but not 200nS.
Amstrad used amongs others :
   micron MT4264-15, which support page mode
   mitsubishi NM4164-20, so I will say that 200ns are OK,

And indeed, the CPC use the page mode for fetching the video data !

Other RAM found on CPC range (non plus) are : OKI M3764-20RS, NEC D4164C-2, TI TMS4164-15NL, TMM4164P-3, KM4164B-15

gerald

#46
Mitsubishi reference is MN4164-20, not NM4164  ???

Bryce

Quote from: RobertM on 04:49, 06 April 14
There are programmers for the HAL chip on ebay called 'universal programmer' but there is no code available to program into it.

The code is available. It's here: Amstrad 6128 HAL/PAL16L8 chip and I'Ve tested it and it works fine.

Bryce.

Edit: I see Gerald was faster :)

RobertM

Quote from: Bryce on 12:11, 06 April 14
The code is available. It's here: Amstrad 6128 HAL/PAL16L8 chip and I'Ve tested it and it works fine.

Bryce.

I read the code but I don't recognise the language. I assume -
! = NOT
& = AND
# = OR

But what makes X1, X2, X3 registers?

Bryce

Explaining it all in a post is difficult. The language is called CUPL, you'll find loads of tutorials online.

Bryce.

Powered by SMFPacks Menu Editor Mod