Experimental and Non-game modes
These are video modes which either have uncommon use-cases, not necessarily suitable for common games, or they are experimental or abandoned, but possibly useful.
Mode 7
Mode 7 is a video player. It plays uncompressed full screen movies at 30FPS with sound.
- 170x114 (147x114 effective) resolution, 30fps
- 256 colors per pixel
- 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 11
NOTE: This mode is a current work-in-progress.
Palette video mode 3 / Flash/RAM saver video mode 3 / Platformer video mode 3
- 240x224 resolution, flexible 16x4/8x8 pixel tiles, up to 32x32 vram
- Palette support for 16x4 tile lines, either 16 colors without or 136 colors with additional restrictions.
- 8 bit vram array, each entry is an index into a 256 tiles table
- Up to 4 different tilesets, one selectable for each 8x8/each two 16x4 pixel lines.
- 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 the X axis and can be overlaid on other sprites. 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 16|4 or 8|8. (see note below about MAX_SPRITES)
- CPU cycles left: lowest
- RAM consumption: higher than video mode 3 with direct video sprites, slightly more than half of video mode 3 if sprites are in palette video, too.
- Program memory consumption: low
See also
Mode 52 WIP
2 bits per pixel 5 cycles per pixel high-resolution mode currently in development. Check it out from [Jubatian's fork] of the Uzebox repo. The interface of this mode should already be stable. Check the [forum thread] for information!
- Up to 288 pixels width (36 tiles), 5 cycles per pixel.
- X and Y scrolling
- Up to 256 tiles, the count of ROM/RAM tiles within this is arbitrary
- Color palette can be selected for every tile row, options for loading colors in every scanline
- Sprite engine supports X and Y flipping and background priority (by masks)
- Optionally all the 4 colors may be used in a sprite
- CPU cycles left: Depends on number of sprites used, may need lower vertical sizes for utilizing a lot of RAM tiles
- RAM consumption: Very low! A RAM tile takes only 16 bytes
- Program memory consumption: Low to medium depending on required row modes (ROM tiles however are very small at 16 bytes each)
Mode 52 Quickstart, a short guide on how to start working with this video mode.
Mode 72 WIP
"Hardware" sprite mode at 7 cycles per pixel, currently in development. Check it out from [Jubatian's fork] of the Uzebox repo. The interface of this mode isn't stable yet, it is just for experimenting. Check the [forum thread] for information!
- Up to 160 pixels width (7 cycles per pixel), with 2 x 16 pixels wide borders
- Background X and Y scrolling (including capability for parallax and split effects)
- The background is code tiled (normally 192 bytes / tile, but supports reusing rows for smaller size)
- The background has a 16 color palette (including the border color)
- Any number of sprites in various configurations, up to 8 on a scanline.
- Sprites (usually) can have 3 colors and transparency
- 40 tiles (320 pixels) wide 1bpp text mode as top / bottom overlays (Same format as Mode 40)
- Supports the VSync mixer only (no inline mixer)
- CPU cycles left: medium-high (only the VSync mixer takes away VBlank time)
- RAM consumption: low
- Program memory consumption: medium to very high depending on background complexity
Mode 72 Sprite modes, the possible sprite configurations of this mode.