Video Modes: Difference between revisions
Jump to navigation
Jump to search
(→Mode 9) |
m (→Mode 3) |
||
Line 26: | Line 26: | ||
==Mode 3== | ==Mode 3== | ||
[[Image:Sprite-demo3.gif|thumb|alt=Alt text|Mode 3 Example - Super Mario Demo]] | [[Image:Sprite-demo3.gif|thumb|alt=Alt text|Mode 3 Example - Super Mario Demo]] | ||
[[Image:DonkeyKong.png|thumb|alt=Alt text|Donkey Kong | [[Image:DonkeyKong.png|thumb|alt=Alt text||Mode 3 Example - Donkey Kong]] | ||
* 240x224 resolution, 8x8 pixels tiles, 32x32 vram | * 240x224 resolution, 8x8 pixels tiles, 32x32 vram |
Revision as of 17:00, 13 July 2010
The Uzebox currently supports 9 video modes (as of v3.1).
Mode 1
- The mode used in the original kernel (i.e: used for Megatris)
- 240x224 resolution, 6x8 pixels tiles, 40x28 vram
- 16 bit vram array, each entry is a direct memory pointer to a tile in flash (allows more than 256 unique tiles on screen)
- no scrolling
- no sprites
- CPU cycles left: high
- RAM consumption: medium
- Program memory consumption: very low
Mode 2
- 144x224 resolution, 6x8 pixels tiles, 32x32 vram
- 8 bit vram array, each entry is an index into a 256 tiles table
- full screen scrolling
- multiples screen sections with independent scrolling, height, sprite priority and tile memory
- maximum 32 sprites at once, 6x8 pixels, up to 5 per scanline. No sprites flipping. (though now vertical flipping will be possible)
- Sprites blitting independent of background offset
- CPU cycles left: low
- RAM consumption: medium-high
- Program memory consumption: high due to unrolled loops (low if horizontal scrolling not required)
Mode 3
- 240x224 resolution, 8x8 pixels tiles, 32x32 vram
- 8 bit vram array, each entry is an index into a 256 tiles table
- full screen scrolling
- 1 scrolling main section and 1 static overlay section for scores, etc.
- configurable number of sprites using 'ramtiles', sprites can be flipped on both axis (when completed) and can be overlaid on other sprites. However, with the 4K RAM & CPU limit, about 20 sprites can be displayed at once. Aggregated sprites will allow a bigger total sprites count to to the tiles overlapping required when blitting sprites which position are not multiples of 8. (see note below about MAX_SPRITES)
- CPU cycles left: lowest
- RAM consumption: high
- Program memory consumption: medium
Video Mode 3 Implementation Details
Mode 4
Developed by David Etherthon
- 288x224 resolution, 16x16 pixels tiles
- full screen scrolling
- no sprites
- 8x8 text area section
- CPU cycles left: high
- RAM consumption: low
- Program memory consumption: medium
Mode 5
Currently under development by Pragma.
- mixed high and low resolution areas on the same screen!
- sprite vertical & horizontal flipping (but now we're down to four sprites per scanline)
Potential that hasn't even been touched yet (but will be):
- DDRC manipulation per screen section, enabling fade/in out per area
- x/y Scrolling on both high and low resolution sections
Mode 6
Monochrome ramtile based video mode.
- 240x224 (30x28 ramtiles)
- Supports up to 256 ramtiles
- Foreground/Background colors can be changed per scanline
- CPU cycles left: low
- RAM consumption: medium
- Program memory consumption: medium
Mode 7
Mode 7 is a video player. It plays uncompressed full screen movies at 30FPS with sound.
- 170x114 (147x114 effective) resolution, 30fps
- Sound at 15.7Khz
- no scrolling
- no sprites
- CPU cycles left: low
- RAM consumption: low
- Program memory consumption: medium
Video Mode 7 Implementation Details
Mode 8
- 120x96 bitmapped mode
- 4 colors per pixel (2 bits per pixel)
- Global 4 color palette out of 256 colors
- no scrolling
- no sprites
- CPU cycles left: high
- RAM consumption: medium
- Program memory consumption: very low
Mode 9
- 360x240, tiles only (45x30 tiles), real-time code generated tile data
- 256 colors per pixel
- no scrolling
- no sprites
- CPU cycles left: high
- RAM consumption: low
- Program memory consumption: very high (depending on tile count)