Summary of graphics modes?
Would someone summarize the possible graphics modes that the propeller can drive? What bit depths are possible?
Are they all memory-based? Given the limited memory of the propeller, the possible resolution must be severely limited. For example, 640x480x8 would require 307,200 bytes.
However, I would guess you could play timing tricks as well to avoid memory usage. For example, you could draw a horizontal line by making the signal "high" when scanning the desired line. Do any of the libraries use this kind of method to overcome memory limitations?
--Gary
Are they all memory-based? Given the limited memory of the propeller, the possible resolution must be severely limited. For example, 640x480x8 would require 307,200 bytes.
However, I would guess you could play timing tricks as well to avoid memory usage. For example, you could draw a horizontal line by making the signal "high" when scanning the desired line. Do any of the libraries use this kind of method to overcome memory limitations?
--Gary
Comments
The TV and lores VGA drivers are similar and use a bitmap based on "tiles" with a display roughly 40 x 12 or 32 x 15 tiles. In text mode, each tile corresponds to a character cell. In graphics mode, each tile contains 16 x 16 pixels or 32 x 16 pixels depending on a configuration flag. Pixels are 2 bits (4 colors) and the 4 colors for each tile are separately specifiable.
The high resolution VGA text display is different and provides for a separate foreground and background color for each row only with the sign bit of the character indicating that the colors should be swapped.
There is a separate medium resolution VGA graphics driver for a 512 x 384 pixel display done at 1024 x 768 display resolution because of memory limitations.
The Hydra is in production and should be available in the next month or so and is intended as a video game engine. The manual that comes with it is full of examples and code libraries for doing video generation "on the fly" using multiple cogs to build successive video lines to avoid memory limitations with complex VGA graphics.
Some of the video limitations are due to bandwidth limitations of the video hardware itself and some are due to memory limitations. The former cannot be overcome without a different design for the Propeller chip itself. The latter can be partially overcome as demonstrated by the Hydra software by devoting multiple cogs (and their local memory) to video generation.
Graham