Page 1 of 1

Artifacts of the direct color DMA

Posted: Thu Nov 19, 2015 6:48 am
by greatkreator
The direct color DMA has a drawback: 5 columns of doubled pixels.
As far I know the artifacts are caused by the need to refresh DRAM memory used in VDP's CRAM.
Does anyone know how to fix them?
Any suggestions are welcomed!
Thanks!

Re: Artifacts of the direct color DMA

Posted: Thu Nov 19, 2015 9:33 am
by Stef
I think there is absolutely no way of fixing that unfortunately. That is how the VDP internal logic work and to fix that you have to change the VDP logic :p

Re: Artifacts of the direct color DMA

Posted: Thu Nov 19, 2015 9:39 am
by Natsumi
there is no way to "fix CRAM dots, but with clever timing you can avoid them. Sonic 3 is a great example of this; while it doesnt DMA, it writes 3 colours per scanline, with a very precise timing to basically push the dots into overscan. This and some clever code (in case of DMA) and you can squeeze quite many colors without visible CRAM dots. Ive been able to manage to do about 8 with only 1 or less dots, though my code is not as precise.

Re: Artifacts of the direct color DMA

Posted: Thu Nov 19, 2015 10:00 am
by greatkreator
I know Stef but I hoped maybe there was a miracle (:
It's very likely that it is impossible to turn off DRAM refresh.
And if it would be possible very likely DRAM would lose its data and wouldn't be too much sense to do that.
As far I know DRAM must refresh its content about that time that it's done in VDP.

Natsumi, as far I understand you can do nothing when you are in a DMA call.
And because the columns are vertical I can do nothing about it as well using any tricks.
I hoped there is a technical possibility somehow to turn it off but it seems there is no.
I am not sure do you know what exactly we talking about? Direct Color DMA: a big DMA transfer to CRAM color 0 (making a raw 9-bit rgb rendering "direct color")?

Re: Artifacts of the direct color DMA

Posted: Thu Nov 19, 2015 12:52 pm
by Natsumi
ah sorry, misunderstood the post. In that case I dont know anything that'd help, and I doubt there is anything that would.