Video Modes: Difference between revisions

From Uzebox Wiki
Jump to navigation Jump to search
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 Game Play]]
[[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

Alt text
Mode 1 Example - Megatris
  • 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

Alt text
Mode 2 Example - Zombienator
  • 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

Alt text
Mode 3 Example - Super Mario Demo
Alt text
Mode 3 Example - Donkey Kong
  • 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

Alt text
Mode 4 Example - Dungeon Slash Demo

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

Alt text
Mode 5 Example - Castlevania: Vengeance

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

Alt text
Mode 6 Example - Vector Demo

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

Alt text
Mode 7 Example - Movie Player

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

Alt text
Mode 8 Example: Bitmap Demo
  • 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

Alt text
Mode 9 Example: Uze Snakes
  • 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)