Page 1 of 5

600D Colour RAM. Help!!!! SOLVED!

Posted: Mon May 06, 2019 3:21 pm
by Steve Gray
While working on a circuit to display colour on the 600 Rev D motherboards I discovered that writing and/or reading colour ram on my board (600D clone) is not working properly. I asked Walter to try on his machine (600D clone as well)and it seems both Walter and I's 600D clone boards are exhibiting the same issue. I don't know if the problem is reading or writing. I don't know if this is a problem with the original OSI 600D boards or just the clone boards, or even if both Walter and I's boards have faulty parts or construction....

I'm looking for help. If anyone with a 600D board (original or clone) with colour RAM chips installed could run the following program to try to verify this issue it would be much appreciated!:

* Photo removed - Please see updated program below *

What this program (thanks Walter) does is write all 1 bits to colour ram (1024 bytes). Since colour ram is only 4 bits the upper bits are not connected but seem to show up as "1111" so theoretically if everything is working, reading them back should return all 1's ($FF or 255 decimal).

Thanks!!!
Steve

Re: 600D Colour RAM. Help!!!!

Posted: Mon May 06, 2019 6:14 pm
by dave
What is getting read back?

Re: 600D Colour RAM. Help!!!!

Posted: Mon May 06, 2019 6:43 pm
by waltermixxx
mostly 208, some 255's
but the only way to get all 255's is to run the program 4 times.
each time you run it, there are fewer and fewer write errors...(or read errors)
we are not sure. :)

Re: 600D Colour RAM. Help!!!!

Posted: Tue May 07, 2019 12:50 am
by Steve Gray
I can do this:

10 poke 54272,rnd(1)*16 : goto 10

When I run it my screen is filled with random colours.

Steve

Re: 600D Colour RAM. Help!!!!

Posted: Tue May 07, 2019 12:56 am
by MK14HAK
60 IF B <>15 THEN Z+Z+1 ; ignore top nibble ?

Any problem with the lower bits ?

Re: 600D Colour RAM. Help!!!!

Posted: Tue May 07, 2019 2:06 am
by Steve Gray
MK14HAK wrote: Tue May 07, 2019 12:56 am 60 IF B <>15 THEN Z+Z+1 ; ignore top nibble ?

Any problem with the lower bits ?
On my system the upper bits are $D, but Walter's seem to be $F. From what I know of unconnected RAM space I would expect $D.
Yes, I masked out the upper 4 bits on my test code. I seem to have to run the test about 3 or 4 times before the entire colour ram is one value.

We might just have a bad socket or a bad component. Walter and I did share/trade some parts which could explain why we're both having trouble. But I'd like to hear from someone else with a 600D to see if someone actually has a working board! ;-)

Steve

Re: 600D Colour RAM. Help!!!!

Posted: Wed May 08, 2019 12:00 am
by MK14HAK
I'll populate the colour section of my original RevD and test ...

Re: 600D Colour RAM. Help!!!!

Posted: Wed May 08, 2019 1:10 am
by Steve Gray
MK14HAK wrote: Wed May 08, 2019 12:00 am I'll populate the colour section of my original RevD and test ...
Great! Thanks!

Steve

Re: 600D Colour RAM. Help!!!!

Posted: Wed May 08, 2019 1:17 am
by Steve Gray
waltermixxx wrote: Mon May 06, 2019 6:43 pm mostly 208, some 255's
but the only way to get all 255's is to run the program 4 times.
each time you run it, there are fewer and fewer write errors...(or read errors)
we are not sure. :)
I think it's more accurate to say that the writes are not going to the proper address, so running the code over and over eventually just manages to get them all changed. I've had it take 6 or more repetitions.

Steve

Re: 600D Colour RAM. Help!!!!

Posted: Wed May 08, 2019 1:04 pm
by froso
Hi, from the schema of the 600 d, you will see the upper 4 bits of color memoty doesn't exist. So writting or reading then is useless. When you read then you read garbage. You should modify the program:

60 if B AND 15 <> 15 THEN Z=Z+1

when you write c= 15, you are writting 00001111, and when you do the test, you are compairing with 255 (11111111). As there isn't upper nibble, you read xxxx1111, so its a matter of lucky if you get 11111111. You should discard the upper bits (xxxx1111 AND 00001111 = 00001111) before do the check.

best regards