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
600D Colour RAM. Help!!!! SOLVED!
-
- Posts: 325
- Joined: Mon Oct 06, 2008 1:54 pm
- Location: Markham, Ontario, Canada
- Contact:
600D Colour RAM. Help!!!! SOLVED!
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.
-
- Site Admin
- Posts: 717
- Joined: Tue Sep 09, 2008 5:24 am
Re: 600D Colour RAM. Help!!!!
What is getting read back?
-
- Posts: 129
- Joined: Sun Feb 03, 2019 10:31 pm
Re: 600D Colour RAM. Help!!!!
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.
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.
-
- Posts: 325
- Joined: Mon Oct 06, 2008 1:54 pm
- Location: Markham, Ontario, Canada
- Contact:
Re: 600D Colour RAM. Help!!!!
I can do this:
10 poke 54272,rnd(1)*16 : goto 10
When I run it my screen is filled with random colours.
Steve
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.
-
- Posts: 356
- Joined: Wed Mar 16, 2011 1:49 am
- Location: New Zealand
Re: 600D Colour RAM. Help!!!!
60 IF B <>15 THEN Z+Z+1 ; ignore top nibble ?
Any problem with the lower bits ?
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
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
-
- Posts: 325
- Joined: Mon Oct 06, 2008 1:54 pm
- Location: Markham, Ontario, Canada
- Contact:
Re: 600D Colour RAM. Help!!!!
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.
-
- Posts: 356
- Joined: Wed Mar 16, 2011 1:49 am
- Location: New Zealand
Re: 600D Colour RAM. Help!!!!
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
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
-
- Posts: 325
- Joined: Mon Oct 06, 2008 1:54 pm
- Location: Markham, Ontario, Canada
- Contact:
Re: 600D Colour RAM. Help!!!!
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.
-
- Posts: 325
- Joined: Mon Oct 06, 2008 1:54 pm
- Location: Markham, Ontario, Canada
- Contact:
Re: 600D Colour RAM. Help!!!!
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.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.
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.
-
- Posts: 11
- Joined: Wed Oct 11, 2017 7:01 am
Re: 600D Colour RAM. Help!!!!
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
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