>> Tuesday, April 15, 2008
For anyone who tried the Mode-7 style CD-i racer will be amazed what is possible on CD-i. The demo looks amazing and we're really excited by this game. CD-i is crying out for a racing game - especially after the disappointment of missing out with "Dead End". 10 years after Philips released their last game for our system, I never thought we'd see this kind of development for the system. Anyway, it's been a while since we've heard anything so let's have a look at the latest CD-i news. The news in January 2008 reported the use of alternate scan lines in the CD-i version; Is that a necessary evil to make this work on CD-i? By playing with the pixel repeat counts and display line start addresses, you can get the video hardware to double the memory pixels both horizontally and vertically, effectively reducing the screen resolution by a factor of two for the area.
Charles: "Before I tried horiz. doubling the pixels, and it looked odd. Maybe doubling in both directions wouldn't looks as bad."
That would eliminate the "black" space between pixels and might even allow more efficient drawing as two pixels would fit in one 16-bit word which can be written in a single bus cycle; as it is now they require two bus cycles because they are split over two 16-bit words. It would also reduce the memory requirements by four (not that this is really needed, of course). Charles: "I'm an optimization or two away from calculating 2 or 4 pixels in a single loop. I'm looking to eliminate 4 fixed points multiplies per scan line first. I'm investigating the smallest lookup table I can get away with."
If you have DVC memory, by all means put your code and data in it because it is significantly faster and would thus allow a higher rendering frame rate (I assume that your're not rendering at the display frame rate of 50 or 60 Hz). Video memory should only be used for the actual screen buffers in this case and the number of accesses should be minimized (always a good idea anyway). Charles: "It's not close to 50 or 60 hz yet. How much faster could I expect DVC memory to be? Unfortunately, due to using a tile map, transfers to video memory are probably the fastest part of the inner loop. It currently has to get the tile number, and then get the pixel within the tile. Currently this is a series of asl/asr or ands. I could go with a bitmap landscape, but that would push memory requirements through the roof. That's 1MB for the 1024x1024 map I am currently using, compared to less than 128k now."
Yesterday, Charles posted that all his CD-i activities have pretty much slowed to a crawl. He's hoping to get back into it over the next month or so. The Stanley Cup Playoffs (NHL) might slow things down quite a bit, though :)
Thanks to cdifan for technical tips as posted on the CD-i forum.