That's all Oerg866, I think. I've tried quite a few things, but only tiny changes to his code are stable. It's very touchy, but once you have it stable, it's actually really stable so far as I've seen. The difference between rom, work ram, and word ram only shifts the screen a few pixels. 32 cell mode is a bit more touchy... I'm still looking at how to make it stable with word ram.Nemesis wrote:Wow, kudos to everyone who's contributed to this technique. I worked on the exact same thing: getting a stable horizontal raster position and modifying the background colour to display a full colour image, just six months or so back, and I couldn't get it stable, there was always jitter, and after that experiment I honestly had believed getting a stable position was impossible. Well done guys, this is a major step forward.
Direct Color Demo using DMA
Moderator: Mask of Destiny
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
I would like suggest another option. As was famously done on the MD back in the day with many games, I'd like to see an option to do X-only ordered dithering (which results in the typical vertical lines seen in MD games). I call it "X-only" because it's unambiguous, lots of people call it "vertical dithering" which is completely wrong, and for the same reason "horizontal dithering" may be confusingsega16 wrote:My converter now supports Riemersma dithering
http://sega16.x10.mx/direct_color_converter_v_2.zip
To use Riemersma dithering use -i2r or -i3r instead of -i2 or -i3 depending on the color depth that you want.
Here is a sample output
I personally think Riemersma dithering looks abit better.
This website http://bisqwit.iki.fi/story/howto/dither/jy/ has some different order dither algorithms I will implant them next version.
For anyone who's interested, I just posted info on the exact reasons why the direct color demo works from a timing point of view, and posted some alternate timing code for H32 and H40 mode which is a bit simpler and leaves some more cycles free. See the following thread:
viewtopic.php?p=17682#17682
viewtopic.php?p=17682#17682
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
YAY!! Thanks to your excellent work on analyzing the DMA direct color code and the VDP internals, I've got narrow mode working properly from the SCD word ram!Nemesis wrote:For anyone who's interested, I just posted info on the exact reasons why the direct color demo works from a timing point of view, and posted some alternate timing code for H32 and H40 mode which is a bit simpler and leaves some more cycles free. See the following thread:
viewtopic.php?p=17682#17682
Here's the latest SCD demo for DMA direct color. It shows a series of images that are 160 or 128 wide (it prints the dimensions before showing the image). Press any button to go to the next image. This could just as easily be a video frame or the display buffer of a SCD game. This mode would be very good for voxel type games.
http://www.mediafire.com/?j433ka081khwbb8
The ISO is compiled with the US CD boot loader, so it won't run on European or Japanese systems without something to bypass the bios region check (MegaCart, Md Myth, or Everdrive).
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
Here's the latest demo: http://www.mediafire.com/download.php?by2cqgakuqs4ecc
It just has one more pic someone wanted to see, and an EU boot ISO... which is why I'm posting here, mainly toward Nemesis. Apparently, 160 wide mode isn't stable on EU systems. So the H40 timing on PAL consoles is apparently different than NTSC. He says it "jolts back and forth". I don't have a PAL system for testing, so I may have to make blind changes and send them to the guy for testing until I find something.
It just has one more pic someone wanted to see, and an EU boot ISO... which is why I'm posting here, mainly toward Nemesis. Apparently, 160 wide mode isn't stable on EU systems. So the H40 timing on PAL consoles is apparently different than NTSC. He says it "jolts back and forth". I don't have a PAL system for testing, so I may have to make blind changes and send them to the guy for testing until I find something.
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
I never had any problems with 160 pixel modes, either with PAL or NTSC master clock nor with 50/60 setting.
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
Near rock solid image, I got a one frame of few pixel shift sometimes. Happens less than once per 10 seconds.
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
I saw it once in 60Hz too, when I made some 60Hz runs a moment ago.
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
I tried to do some simulation with Direct Color DMA mode, but I get better result with 4 palettes tile mode.
Direct DMA RGB:333 160x224 -> 320x224 simulation
Tile mode 4 palettes RGB:333 320x224 (Fusion emu screenshot)
I used this plugin to do the 9bits dithering: http://www.ximagic.com/cd_index.html
Direct DMA RGB:333 160x224 -> 320x224 simulation
Tile mode 4 palettes RGB:333 320x224 (Fusion emu screenshot)
I used this plugin to do the 9bits dithering: http://www.ximagic.com/cd_index.html
Last edited by Orion_ on Wed May 08, 2013 2:13 pm, edited 1 time in total.
Retro game programming !
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
That image would look good even in 16 colors only...
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
Yes, the higher resolution allows for a tighter dither pattern, which would look better. Direct Color DMA is better under different circumstances - like not having all four palettes, or a game without dithering. DCD is just another tool for devs to choose from if it fits their purposes.Orion_ wrote:I tried to do some simulation with Direct Color DMA mode, but I get better result with 4 palettes tile mode.
Direct DMA RGB:333 160x224 -> 320x224 simulation
Tile mode 4 palettes RGB:333 320x224 (Fusion emu screenshot)
I used this plugin to do the 9bits dithering: http://www.ximagic.com/cd_index.html
-
- Very interested
- Posts: 158
- Joined: Sat May 12, 2012 7:37 pm
- Location: Ukraine
Re: Direct Color Demo using DMA
It would be a perfect thing if wouldn't have the vertical doubled pixel columns.
Unfortunately it is still almost useless because of them.
I guess that's why there were no games using it.
Sega's creators definitely knew about that feature.
I still hope and believe in the miracle that it's possible to remove them somehow magically
We just need to change a bit the physical laws...
Unfortunately it is still almost useless because of them.
I guess that's why there were no games using it.
Sega's creators definitely knew about that feature.
I still hope and believe in the miracle that it's possible to remove them somehow magically
We just need to change a bit the physical laws...