News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

CPC664 Initialisation issue.

Started by kolleykibber, 23:03, 04 October 23

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

kolleykibber

Wondering if anybody else has had this issue.

I've got my hands on a very dirty 664.  I gave it a good clean. Then I turned it on after removing my biohazard suit and am getting a blue screen. 

If I plug in an M4 or a Usifac, the machine cycles just before the basic prompt. I'm guessing this is during Rom initialisation? You can also hear the cassette relay click. I've replaced the disc rom as I had a spare, z80, crtc and gate array seem ok, but I don't have a spare 664 ROM. 

So my q's... 

Can you drop a 6128 or 464 rom in a 664?
What are the symptoms of 8255 failure?
Does this sound familiar to anyone?




Rabs

Quote from: kolleykibber on 23:03, 04 October 23Wondering if anybody else has had this issue.

I've got my hands on a very dirty 664.  I gave it a good clean. Then I turned it on after removing my biohazard suit and am getting a blue screen.

If I plug in an M4 or a Usifac, the machine cycles just before the basic prompt. I'm guessing this is during Rom initialisation? You can also hear the cassette relay click. I've replaced the disc rom as I had a spare, z80, crtc and gate array seem ok, but I don't have a spare 664 ROM.

So my q's...

Can you drop a 6128 or 464 rom in a 664?
What are the symptoms of 8255 failure?
Does this sound familiar to anyone?




I had a problem where the 664 would boot but no READY prompt.

I had a broken track between IC205 and IC212 on the Disk Controller side of the PCB.

IC205 PIN 2 AND gate input was floating high, should have been held low by IC212 PIN 5.
IC205 PIN 1 AND gate input is connected to A15
IC203 PIN 3 AND gate output is connected to ROMDIS

Every time A15 went high, the ROM was disabled.

So lower ROM worked, upper ROM was disabled.

See 664 repair.

kolleykibber

Thanks Rab,

It's been a strange journey with this 664. I put Noel Llopis lower diag rom on an M4 Board and initially I was just getting garbage, but it beeped and it seemed it was doing something.

Then it started working, passing all tests. It still won't boot though, so I suspect a problem in the lower ROM.

My guess is it was sitting in a cold place for a long time and the heat from the chips has 'loosened' something. 

Now to get an eprom burner.

Pic of the garbage attached in case anybody else gets the same thing.

Rabs

Bit hard  to tell from the screen shot. Do you have a better pic of the screen? But looks like the Diag ROM is running OK and you have an issue with the screen output.

What do you see during the boot sequence? Do you have a pic?

Read through my repair. I hit all sorts of snags where the pcb was corroded. Is yours as bad?

What test equipment do you have?

Bryce

Definitely a corrupted lower ROM.

Bryce.

P.s. For anyone wondering, the symptoms for a failed 8255 are... Who the fü@k knows??  They never fail except in an over-voltage scenario and even then they usually survive longer than any other chip on the board.

kolleykibber

Thank you both for the responses. And good to know about the 8255 :)

The 664 still behaves strangely until it warms up. Lots of different types of strangeness. from blue screen, pixelated, grey on yellow, rolling screen, random characters flowing across the top lines (usually with bits of the startup message). 

Then when warmed up, a couple of minutes or so, I can run the diagnostics ROM from the M4 Card and all tests pas. It identifies the 664 OS, 664 BASIC ROM and AMSDOS.

It won't boot natively when warm. It freezes before the basic prompt for a minute or so before rolling the screen.

The Diag status page says no FDC. The FDC chip runs pretty hot and the board had quite a bit of solder spatter on the underside around the FDC, not too corroded though. Looks factory. Would there be any easy way to test the FDC?

My tools are a cheap aliexpress oscilloscope, multimeter and M4 card. I'm getting myself psyched to do my first chip desoldering job on the ROM and will get the scope on the FDC next.

I can see you had quite a journey on your 664 Rabs, very useful info in the thread thank you.

I've attached pics of a native boot grey and black screen on cold, garbled diag rom on cold boot, Working Diag ROM when warm, and a warm boot. Also pictures of the underside of the board near the FDC.

Rabs

Hi, may not necessarily be the FDC but the fact that the FDC cannot be detected by the Diag ROM and the fact it will not enable BASIC  may be related.

It could be the FDC is corrupting the bus but could also be the logic around the FDC CS/ROMDIS is a problem.

I have had a problem with both before.

On one occasion I had a 6128 with a failed IC203, causing a problem with CS. Here as with your 664 the Diag ROM could not read the FDC status. See 6128 No FDC Status.

I would conduct a simple trace contuity test first around the FDC control logic then look at the logic levels around the gates associated with FDC CS and ROMDIS.


Rabs

But the corrupted Diag ROM screen display, before "warming up" is strange. :o

kolleykibber

Thanks Rabs. 

So I've been around the 74 chips and can't find any failed traces. Although I probably need to get a bit more organised in my analysis.

Interesting finds so far: With the AMSDOS Rom removed the lower diag won't boot from the M4 Card.  
With AMSDOS in and the diag rom running sucessfully, I can see romdis bouncing up and down on the output of the diode D201, the otherside sits low.
On a failed boot, the diode goes high and then goes low at failure, when the basic prompt is expected. There's a lot of noise in the signal after the failure and the machine is still inconsistent in behaviour. 

I've ordered the chip tester you used in the 6128 repair. Would you have any recommendations on an eprom programmer and correct chip?

Rabs


Quote from: kolleykibber on 22:46, 08 October 23I've ordered the chip tester you used in the 6128 repair. Would you have any recommendations on an eprom programmer and correct chip?

I use a TL-866II Plus Programmer. It works well but also will verify 74 series ICs (I bought the tester you saw in the 6128 post before I had the TL-866II).

Rabs

Quote from: kolleykibber on 22:46, 08 October 23Interesting finds so far: With the AMSDOS Rom removed the lower diag won't boot from the M4 Card. 
With AMSDOS in and the diag rom running sucessfully,
This is strange, so the lower Diag ROM won't boot without the AMSDOS ROM fitted. How odd.

I have had issues with edge connectors before now, that create odd issues. Make sure the edge  connector is clean, use and old ink eraser to clean it.

kolleykibber


Yep, an eraser on the edge connector fixed that!

You've inspired me to spend a bit longer chasing this.  I am suspecting the AND gate 8-9-10 on IC 207 connected to CK on the flip flop, which sets ROMDIS high. The output of the and gate at pin 8 is fixed high, which seems wrong to me. The flip flop keeps ROMDIS high just for the time the machine is booting, which I imagine is what is preventing BASIC starting. 

Is there an easy way to disable the 664's on board disk interface / DDI1? I can't see anything obvious.

I don't have another 664 to test. So my next step is to swap the 74ls32 at 207 with one from a 464 as soon as I get a chance.

This could become all consuming. I'm telling myself it's good for the brain to justify the time :)





SerErris

I would just buy a new 74ls32.. de soldering it's from another working unit sound strange for a 1 $ piece
Proud owner of 2 Schneider CPC 464, 1 Schneider CPC 6128, GT65 and lots of books
Still learning all the details on how things work.

kolleykibber

I have to change the AY on this 464, so I thought i'd get the desoldering practice in :)

Didn't work though. The 74LS32 (OR not AND ) is fine.  Tried a different gate array and amsdos rom, but no different. I've had the scope romen and romdis (from R152 and R112) and there's plenty of activity. The disc side ROMDIS at the diode is high at reset, but drops low quickly.

Question on the diag process and @Bryce 's comment on the bad rom. if the lower and upper roms pass ok, could there feasibly still be a problem with the ROM? 

Another noob question. When the diag runs, that the characters squares are corrupted, but the placement is correct until the cpc warms up. Would this point to the CRTC? (which does run hot)

Might try and get the heat gun on it, before I start desoldering more chips.

Rabs

Quote from: kolleykibber on 19:18, 14 October 23I have to change the AY on this 464, so I thought i'd get the desoldering practice in :)

Didn't work though. The 74LS32 (OR not AND ) is fine.  Tried a different gate array and amsdos rom, but no different. I've had the scope romen and romdis (from R152 and R112) and there's plenty of activity. The disc side ROMDIS at the diode is high at reset, but drops low quickly.

Question on the diag process and @Bryce 's comment on the bad rom. if the lower and upper roms pass ok, could there feasibly still be a problem with the ROM?

Another noob question. When the diag runs, that the characters squares are corrupted, but the placement is correct until the cpc warms up. Would this point to the CRTC? (which does run hot)

Might try and get the heat gun on it, before I start desoldering more chips.
I note the FDC is not being detected by the Diagnostics ROM.

SerErris

I trying to get my head around the warm up topic.

If the machine has been warmed up and is doing the diagnostic rom "correctly". And you then turn of the machine ... and then turn back on. Will the diagnostic rom still work, or again showing garbled characters?
Proud owner of 2 Schneider CPC 464, 1 Schneider CPC 6128, GT65 and lots of books
Still learning all the details on how things work.

kolleykibber

Quote from: SerErris on 14:31, 15 October 23I trying to get my head around the warm up topic.

If the machine has been warmed up and is doing the diagnostic rom "correctly". And you then turn of the machine ... and then turn back on. Will the diagnostic rom still work, or again showing garbled characters?
if you turn it back on within a period of time, it will work. but leave it longer than a few minutes and it will show garbled characters again, until it warms up and is reset.

I've been comparing with a 6128. The 6128 doesn't set ROMDIS high at boot, whereas the 664 is setting it high for a short period. I notice a strange shaped 1mhz signal from pin 6 of the NOR gate of ic211 which the 6128 doesn't have. All traces seem ok. This NOR gate is fed from data lines, so it could be some kind of noise on the lines? Today I've recently noticed the ROM tests failing intermittently. I've also been randomly tapping the board, in the vain hope of trying to locate bad solder joints, but this has no effect.

I've an aliexpress order in which will take a few weeks. My plan then is to socket the FDC and the ROM and give the board a deeper clean. Thank you all for the advice! 

Bryce

That warming issue is very likely a dry joint somewhere.

Bryce.

SerErris

Could it also be a capacitor that is very slowly loading ? would that be possible?
Proud owner of 2 Schneider CPC 464, 1 Schneider CPC 6128, GT65 and lots of books
Still learning all the details on how things work.

Bryce

Quote from: SerErris on 13:31, 16 October 23Could it also be a capacitor that is very slowly loading ? would that be possible?

Yes, that's possible, but there are only one or maybe two capacitors that could cause that and they are usually good on any CPC's I've ever looked at. However, a leaky cap would also cause the CPC to be generally unstable and it would probably crash during disk loading too.

Bryce.

SerErris

Maybe worth to replace the electrolyt capas ... Its not that difficult on a CPC. On a 464 it would be only 2 - on a 664 it is some more, because of the disc controller and the tape control on the main board. It should be 12 caps.
Proud owner of 2 Schneider CPC 464, 1 Schneider CPC 6128, GT65 and lots of books
Still learning all the details on how things work.

Rabs

I keep getting drawn back to the Diagnostic ROM not finding the FDC. I can only imagine that there may be a problem with the CS logic or the FDC itself. I have seen issues before where the FDC is corrupting the databus.

What I cannot understand is why with the "wam up issue", that it looks like to all intense and purposes the characters being written to the screen memory are corrupt, except some characters are correct :o

Bryce

#22
Quote from: kolleykibber on 19:18, 14 October 23Question on the diag process and @Bryce 's comment on the bad rom. if the lower and upper roms pass ok, could there feasibly still be a problem with the ROM?

I've no idea how the DiagROM is testing the ROMs. If it's only reading the first few bytes to establish whether the ROM is present, then it's not testing the ROM contents. I still think your ROM7 is corrupted. This could also be the source of  the "warm-up" issue.

Bryce.

Rabs

Quote from: Bryce on 14:02, 17 October 23
Quote from: kolleykibber on 19:18, 14 October 23Question on the diag process and @Bryce 's comment on the bad rom. if the lower and upper roms pass ok, could there feasibly still be a problem with the ROM?

I've no idea how the DiagROM is testing the ROMs. If it's only reading the first few bytes to establish whether the ROM is present, then it's not testing the ROM contents. I still think your ROM7 is corrupted. This could also be the source of  the "warm-up" issue.

Bryce.
Think the Diag ROM applies a CRC check. At least I can see a CRCLowerRom call in the CheckROMs.asm file, which eventually calls a Crc16 function in the ROMAccess.asm file.



SerErris

Yes it does a CRC check and it does only recognize the official Amstrad ROMs.
Proud owner of 2 Schneider CPC 464, 1 Schneider CPC 6128, GT65 and lots of books
Still learning all the details on how things work.

Powered by SMFPacks Menu Editor Mod