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

Steve Gray
Posts: 283
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

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

Post by Steve Gray » Mon May 06, 2019 3:21 pm

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
Last edited by Steve Gray on Sun Jun 09, 2019 10:26 pm, edited 3 times in total.
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.

dave
Site Admin
Posts: 561
Joined: Tue Sep 09, 2008 5:24 am

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

Post by dave » Mon May 06, 2019 6:14 pm

What is getting read back?

waltermixxx
Posts: 118
Joined: Sun Feb 03, 2019 10:31 pm

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

Post by waltermixxx » 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. :)
Turning into quite an OSI Junkie (HTFDTH?) Superboard II REV B-40K, 9600b, HC-05 Bluetooth, Superboard II Rev D, C4P rebuild- 502, 542c, 540B. :)

Steve Gray
Posts: 283
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

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

Post by Steve Gray » Tue May 07, 2019 12:50 am

I can do this:

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

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

Steve
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.

MK14HAK
Posts: 350
Joined: Wed Mar 16, 2011 1:49 am
Location: New Zealand

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

Post by MK14HAK » Tue May 07, 2019 12:56 am

60 IF B <>15 THEN Z+Z+1 ; ignore top nibble ?

Any problem with the lower bits ?
600RevB:16K,2MHz,64x32,470,CEGMON
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator

Steve Gray
Posts: 283
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

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

Post by Steve Gray » Tue May 07, 2019 2:06 am

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
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.

MK14HAK
Posts: 350
Joined: Wed Mar 16, 2011 1:49 am
Location: New Zealand

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

Post by MK14HAK » Wed May 08, 2019 12:00 am

I'll populate the colour section of my original RevD and test ...
600RevB:16K,2MHz,64x32,470,CEGMON
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator

Steve Gray
Posts: 283
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

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

Post by Steve Gray » Wed May 08, 2019 1:10 am

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

Steve
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.

Steve Gray
Posts: 283
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

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

Post by Steve Gray » Wed May 08, 2019 1:17 am

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
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.

froso
Posts: 11
Joined: Wed Oct 11, 2017 7:01 am

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

Post by froso » Wed May 08, 2019 1:04 pm

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

Post Reply