News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Memory problem? with a 6128

Started by angelcaio, 18:25, 24 April 18

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

angelcaio

Hi.I recently purchased a CPC6128 in a Ebay auction with a Spanish keyboard, the new logo and is the second revision of the motherboard (the one that still had the gate array)
The equipment works perfectly, the disc loads ok and the casing lacks a clamping screw on the side of the floppy disk drive, so I assume that the belt has changed.
The problem is that I think the second memory bank does not work well. because the CPC hangs loading CP/M+. I have tried with several copies with the same result
I have run two utilities that I found in the CPCWiki forum and both detect the expansion, although they do not test them:
    http://www.cpcwiki.eu/imgs/4/44/4_MB_E-RAM_Test.zip,
    http://www.cpcwiki.eu/forum/programming/memory-check/?action=dlattach;attach=2486
Attached pictures of the screens:

https://ibb.co/e3Cg4H
https://ibb.co/mBjTjH
Programs that do not use extra memory do seem to work, I've even loaded some games (match day, la abadía del crimen, ...)
The only weird thing, with conventional memory, is that when i execute a fill command to the screen, in mode 1 and mode 2 some points on the screen are appears  that detect the same command in the filling process, as if they were authentic pixels
I opened the CPC and I have not seen anything wrong, no sign of rust or dirt on the chip, I do not want to have to change the memory chips because I do not know where to find the chips and then to desolder the 128 contacts and re-solder them is not for my pulse or my ability.

https://ibb.co/dnjiJc
https://ibb.co/b5tcdc
I have tried with an X-mem that I have of my CPC464 (I have tried putting the selector in both mode 6128 and 464) with the hope that when starting replace the extension of 64 Kb by the extension of 512 Kb. In the boot reports that it has 576 Kb (64 + 512) but it still fails the same.
I've even tried with the ROM version of CP/M +
I understood that standard RAM expansions replaced the second memory bank with his
"Standard expansions can contain between 64K and 512K memory.
A nnK expansion adds nn Kbytes to the internal 64 Kbytes in the CPC. So the resulting total size is nn+64 Kbytes
That nn+64 Kbytes formula does in most (or all) cases also apply on the CPC 6128:
    only 64 Kbytes of it's internal memory are used
    the 2nd half of internal memory is disabled and replaced by the expansion RAM
    so, the resulting size is only nn+64 Kbytes, not nn+128 Kbytes"   
    (http://www.cpcwiki.eu/index.php/Standard_Memory_Expansions)
Any idea?
Is there any way to disable the second bank and use the extension memory of the X-Mem?
Could the problem be something other than the second memory bank?
Thank you very much in advance for your help

gerald

Could you try the memory test attached to this message : http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/repairs-to-a-cpc6128/msg114838/#msg114838

External extension memory should take over internal one.
A failing PAL could also be the cause of extension memory issue.

Bryce

There's also a method to swap the upper and lower 64K and boot using the upper RAM to test it. You just need to remove the PAL and add some jumper wires. Unfortunately I don't have the details here and I can't find the thread where it was posted :(

Bryce.

00WReX

Quote from: Bryce on 09:01, 25 April 18
There's also a method to swap the upper and lower 64K and boot using the upper RAM to test it. You just need to remove the PAL and add some jumper wires. Unfortunately I don't have the details here and I can't find the thread where it was posted :(

Bryce.

Is this the 'trick' you were thinking of Bryce ?

http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/need-some-help-fixing-cpc6128-not-booting/msg75204/#msg75204

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

Bryce

That's the one. I made a small adapter that plugs in to do this quickly (which I probably couldn't find either if I went looking  :picard: )

The forum search isn't my friend either, I rarely find what I am looking for.

Bryce.

angelcaio



Thanks everyone for your help. I think I'll start with the test to make sure it's a memory problem. I will not be able until the weekend Let's see if I'm lucky...

angelcaio

#6
Today I have run the test and ... the expanded memory is ok! but not the first 64kb. Four isolated lines appear, always in the same place and in the fourth pass.

https://vimeo.com/267038769

I have tried with bankman, Art Studio and they work well. I have loaded cp / m 2.2. for 63kb (http://www.cpcwiki.eu/forum/applications/increasing-tpa-in-cpm-plus/?PHPSESSID=8cgbut49avr5itc19htt9vg3o2)
and I run dbase and turbo pascal without problems.

I have loaded several games (indiana Jones, rambo, La abadía del crimen, ...) and everything ok. Only the CP/M plus load fails, I have also tried the Vortex one with the same result.
It's very strange, but I think that at the moment I'm going to replace the CP/M disk with the patched version of CP/M 2.2,
Thanks.


Enviado desde mi iPad utilizando Tapatalk

gerald

Quote from: angelcaio on 20:47, 28 April 18
Today I have run the test and ... the expanded memory is ok! but not the first 64kb. Four isolated lines appear, always in the same place and in the fourth pass.
The test is running two test pass, resulting in 4 pass on the screen.
- 1st pass write all detected bank with a constant byte (unique per bank) then read and check. That's fast, but cannot detect some memory fault. A dead device will be spotted.
- 2nd pass fill the back with random generated data that are unique for each bank. That's slow, but will detect some other type of errors, like addressing error.

Both pass also fill the main back (base line) block from 0x4000-07fff where the other bank are switched. That range is checked after all extension banks are tested. The isolated lines mean that the some part of base RAM has been corrupted during the filling of the extension banks, which is not good.
One vertical bar represent 512 bytes.

Your CPC has a problem and changing the CPM version will just hide it ;)
However this test is not precise enough to know what is the exact problem.

angelcaio

#8
Hi. i as wrote a small program in basic thats write and read at every position of memory a &X00000000 and a &X11111111 The result as:
After writing zero, it reads zero. Right
But, in the next addresses read &X11111110 instead &X11111111 (in all cases fault the eighth bit, always zero)

4D71
4F71
5D71
6D71
6F71
7D71
7F71
CD71
CF71
DD71
DF71
ED71
EF71
FD71
FF71

In &5F71  read &X11111111
I repeat the test with the same result.

There seems to be a fixed pattern: xD71 and xF71 adresses and the eighth bit to zero

The 8 bytes of memory addresses on the screen (bigger than &C000) correspond exactly to the points that fail in the fill command.

Could it be inferred that the memory chip that fails is one in particular?

Thanks in advance


Enviado desde mi iPad utilizando Tapatalk

gerald

Quote from: angelcaio on 16:13, 06 May 18
Hi. i as wrote a small program in basic thats write and read at every position of memory a &X00000000 and a &X11111111 The result as:
After writing zero, it reads zero. Right
But, in the next addresses read &X11111110 instead &X11111111 (in all cases fault the eighth bit, always zero)

4D71
4F71
5D71
6D71
6F71
7D71
7F71
CD71
CF71
DD71
DF71
ED71
EF71
FD71
FF71

In &5F71  read &X11111111
I repeat the test with the same result.

There seems to be a fixed pattern: xD71 and xF71 adresses and the eighth bit to zero

The 8 bytes of memory addresses on the screen (bigger than &C000) correspond exactly to the points that fail in the fill command.

Could it be inferred that the memory chip that fails is one in particular?

Thanks in advance


Enviado desde mi iPad utilizando Tapatalk
Interesting !
In a 6128, the RAM is made of 64k x 1 bit slices.
That would mean that the device handling bit 0 on the base ram is failing for some locations

I guess that your test is only checking the base RAM from 0x4000 to 0xFFFF ?
Can you see the dots that should be there is you only poke &01 to the failing address is the C000-FFFF range ?

angelcaio

#10
Quote from: gerald on 20:03, 10 May 18
Interesting !
In a 6128, the RAM is made of 64k x 1 bit slices.
That would mean that the device handling bit 0 on the base ram is failing for some locations

I guess that your test is only checking the base RAM from 0x4000 to 0xFFFF ?
Can you see the dots that should be there is you only poke &01 to the failing address is the C000-FFFF range ?
Thanks for your interest.
Yes, only from &4000 to &FFFF.
POKE &CD71, 1 shows nothing on the screen, and PEEK (&CD71) gets 0
POKE &CD71, 2 does show a point, and PEEK (&CD71) shows a 1.
Same for the other addresses.


Enviado desde mi iPad utilizando Tapatalk

gerald

Quote from: angelcaio on 05:08, 11 May 18
Thanks for your interest.
Yes, only from &4000 to &FFFF.
POKE &CD71, 1 shows nothing on the screen, and PEEK (&CD71) gets 0
POKE &CD71, 2 does show a point, and PEEK (&CD71) shows a 1.
Same for the other addresses.


Enviado desde mi iPad utilizando Tapatalk
So the bit 0 RAM is faulty and you should replace IC127 according to the schematic.

angelcaio

Thanks, Gerald.
I was not sure which was the chip that corresponded to the minus significant bit, the one above or the one below

I have ordered on ebay:
The KM4164B 15
https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.pl%2Fulk%2Fitm%2F263394118792

And many sokets
https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.es%2Fulk%2Fitm%2F222677415495

So as not to solder the chip directly,  although I'm not sure if it's the right socket...


Enviado desde mi H60-L04 mediante Tapatalk


Bryce

That's the correct socket.

Bryce.

angelcaio

Quote from: Bryce on 11:29, 12 May 18
That's the correct socket.

Bryce.
Thanks Bryce.

Enviado desde mi H60-L04 mediante Tapatalk


ibisum

I'm preparing to do something similar to this .. and have the same memory chips .. so very  interested in your progress.

angelcaio

Quote from: ibisum on 12:59, 16 May 18
I'm preparing to do something similar to this .. and have the same memory chips .. so very  interested in your progress.
Hi, Ibisum. I am waiting for the orders of the memory chip and the sockets to arrive. Besides the desolder  that says aud in the forum
http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/repairs-to-a-cpc6128
I found one on AliExpress. I think I'll have them in early June ...


Enviado desde mi iPad utilizando Tapatalk

ibisum

@angelcaio Thanks for the ref to that thread, definitely looks like the same symptoms I'm experiencing with my CPC6128 ..  I haven't had the time this week to debug things (not even opened the case yet) but I hope this weekend I will be able to break out the scope and do some debugging .. certainly interested in your results too, so I hope you get it sorted as well.


angelcaio

Hi. Today I have finally armed myself with courage and the help of a friend with more pulse and skill than me.
We have de solder the chip IC127 (with some difficulty) and we have mounted a socket in its place.


Then we have measured the continuity and we have found some pins that did not add value and we have made some bridges, we have measured again with the multimeter and in all there was voltage already.

We have inserted the memory chip but now only a green screen appears with the dark border.

Can it be the chip ?. They are the same timing as the rest and I have tried the two that I bought with the same result.
Any ideas?
Thanks in advance.


Enviado desde mi iPad utilizando Tapatalk

gerald

#19
Can you double check the connection to the RAM ?
All pin should be connected to the RAM device below, except DOUT.
DOUT (pin 14) should be connected to the RAM device on the left (IC119, 2nd bank)

oups, just see that you connected DOUT to the chip below, which is wrong.

angelcaio

Quote from: gerald on 19:34, 17 July 18
Can you double check the connection to the RAM ?
All pin should be connected to the RAM device below, except DOUT.
DOUT (pin 14) should be connected to the RAM device on the left (IC119, 2nd bank)

oups, just see that you connected DOUT to the chip below, which is wrong.
thank you very much, Gerald. I'm not sure I understood you. Should I just break the bridge between 14 and 14 below or should I also bridge with 14 next to it?


Enviado desde mi iPad utilizando Tapatalk

gerald

Quote from: angelcaio on 22:10, 17 July 18
thank you very much, Gerald. I'm not sure I understood you. Should I just break the bridge between 14 and 14 below or should I also bridge with 14 next to it?


Enviado desde mi iPad utilizando Tapatalk
At first, just remove the re wire you marked. Then test that the connection between pin 14 of both IC (IC127 / IC119) is OK . If not, add one wire.

angelcaio

Hi. I tried it first by removing the bridge and it did not work. Then I have joined both pins 14 in bank0 and bank1, but it remains the same. I do not have a multimeter to check both pins 14 but I guess welding makes contact. Maybe something else was damaged in the process.



Enviado desde mi iPad utilizando Tapatalk

gerald

Quote from: angelcaio on 17:34, 18 July 18
Hi. I tried it first by removing the bridge and it did not work. Then I have joined both pins 14 in bank0 and bank1, but it remains the same. I do not have a multimeter to check both pins 14 but I guess welding makes contact. Maybe something else was damaged in the process.



Enviado desde mi iPad utilizando Tapatalk
Without beeing able to check continuity between pins it will be difficult to make any diagnostic. That's the bare minimum.

angelcaio

#24
Hi. I have bought a multimeter and I have checked:
Pin 2 (IC127) with pin 2 (IC119)   (at left)   OK
Pin 3 (IC127) wiht Pin 3 (IC128)   (below)   Ok
Pin 4 (IC127) wiht Pin 4 (IC128)   (below)   Ok
Pin 5 (IC127) wiht Pin 5 (IC128)   (below)   Ok
Pin 6 (IC127) wiht Pin 6 (IC128)   (below)   Ok
Pin 7 (IC127) wiht Pin 7 (IC128)   (below)   Ok
Pin 8 (IC27) with Capacitor 120 (pin down)  OK
Pin 9 (IC127) wiht Pin 9 (IC128)   (below)    No, but bridged and tested. OK
Pin 10 (IC127) wiht Pin 10 (IC128) (below) No, but bridged and tested. OK
Pin 11 (IC127) wiht Pin 11 (IC128) (below) Ok
Pin 12 (IC127) wiht Pin 12 (IC128) (below) Ok
Pin 13 (IC127) wiht Pin 13 (IC128) (below) Ok
Pin 14 (IC127) wiht Pin 14 (IC128) (below) Ok
Pin 14 (IC127) with pin 14 (IC119) (at left) OK
Pin 14 (IC127) with little point near at right OK   (see image)

Pin 15 (IC127) with pin 15 (IC119) (at left) OK
PIN 15 (IC127) with Left pin of R161 OK
Capacitor C119 with C127  both pins OK
PIN 15 (IC127) with Left pin of R161 OK
Capacitor 119 (pin up) with capacitor 118 (pin down) OK
 
But the green screen continues at boot
I have tried two chips KM4164B-15 with the same result.
Honestly, I can't think of anything else to try. Any idea?
Thanks.

Powered by SMFPacks Menu Editor Mod