Isabel: SAGA Video Core

Overview

The SAGA Core contains the Isabel Core, which is a hugely improved version of the graphics chipset (AGA) that was used in classic Amigas.

Isabel provides both chunky and planar (native) screen modes.

Planar (native) modes are only available in Core version >= GOLD3 (as in the Vampire Standalone).

Features

  • Chunky plane that can be displayed on its own by any dedicated RTG driver.
  • Supported resolutions: Any valid mode from 320×200 to 1920×1080.
  • Supported color depths: 8, 15, 16, 24, 32 bits.
  • Supported pixel formats: CLUT8, RGB15, RGB16, RGB24, RGB32, YUV422.
  • Hardware-accelerated video playback.
  • Picture-in-picture support, for embedding a virtual screen in a window.
  • Fast Akiko C2P routines. 1)
  • FrameBuffer can be any address from accessible FastRAM.
  • FrameBuffer can be Read and Write, for Direct Hardware drawings.
  • Ability to turn on scanlines in certain modes.

Planar (Native) Graphics

  • Support for all original AGA modes.
  • New enhanced mode with 10 planes.
    • Two of those planes can be switched to chunky mode.
    • All planes are controllable by Copper.
    • Both little-endian and big-endian representations are allowed.
  • Support for all original AGA “hardware sprite” features.
  • New enhanced “hardware sprite” features.
    • 16 sprite DMA channels are available.
    • Sprites can be up to 32 pixels wide.
    • Each sprite can have 16 colors, with its own, independent palette.
    • Collision detection is done for each sprite pair separately.
    • Thanks to sprite indirection, you can change a sprite's data extremely fast, just by changing a pointer instead of copying a whole memory region.
  • Support for all original AGA Copper features.
  • New enhanced Copper features.
    • You can perform a 32-bit move with a single instruction, which doubles the speed.
  • Third playfield.
  • Support for up to 12 MB of ChipRAM.
  • Fast screen updates due to accessing ChipRAM at FastRAM speeds.
  • High memory bandwidth thanks to 128-bit DMA.
  • Fast Blitter operations.
  • Support for Atari planar modes.

Chunky VIDEO registers

The FrameBuffer of the Chunky Video Mode can be any address from accessible FastRAM, by specifying the SAGA_VIDEO_PLANEPTR register. The FrameBuffer is Readable and Writable, for faster Direct Hardware drawings.

Register Name Access Size Description
DFF1EC saga_video_planeptr W ULONG Set the SAGA Video FrameBuffer Address
DFF1F4 saga_video_mode W UWORD Set the SAGA Video Mode

The Chunky Video mode can accept virtually any resolution from 320×200 (LowRes) to 1920×1080 (1080p). The video engine can be dynamically reconfigured at any time by filling a valid ModeLine.

Register Name Access Size Description
DFF1F8 saga_video_pllw W UWORD Set the SAGA ModeLine PIXELCLOCK
DFF1FA saga_video_pllr R UWORD Set the SAGA ModeLine PIXELCLOCK
DFF300 saga_video_hpixel W UWORD Set the SAGA ModeLine HPIXEL
DFF302 saga_video_hsstrt W UWORD Set the SAGA ModeLine HSSTRT
DFF304 saga_video_hsstop W UWORD Set the SAGA ModeLine HSSTOP
DFF306 saga_video_htotal W UWORD Set the SAGA ModeLine HTOTAL
DFF308 saga_video_vpixel W UWORD Set the SAGA ModeLine VPIXEL
DFF30A saga_video_vsstrt W UWORD Set the SAGA ModeLine VSSTRT
DFF30C saga_video_vsstop W UWORD Set the SAGA ModeLine VSSTOP
DFF30E saga_video_vtotal W UWORD Set the SAGA ModeLine VTOTAL
DFF310 saga_video_hvsync W UWORD Set the SAGA ModeLine HVSYNC

When the SAGA_VIDEO_MODE is set to SAGA_VIDEO_FORMAT_CLUT8, a palette should be defined by filling the 256-color lookup table. Each color is 32-bits long, in the ARGB format.

Register Name Access Size Description
DFF400 saga_video_clut [0] W ULONG Set the SAGA CLUT8 Color #001
DFF7FC saga_video_clut [255] W ULONG Set the SAGA CLUT8 Color #256

Chunky ModeLine description

Universal ModeLine Calculator (UMC for AmigaOS 3.x, available on Aminet) can be used to generate a valid ModeLine for a given resolution. For example, we can ask UMC for a valid ModeLine for a 800×600@60Hz resolution. Just type the following line (add the --rbt option for a reduced framebuffer):

Example of a standard ModeLine:

> umc 800 600 60
         "MODENAME"    PIXELCLOCK HPIXEL HSSTRT HSSTOP HTOTAL VPIXEL VSSTRT VSSTOP VTOTAL HVSYNC
Modeline "800x600@60"  38.400000  800    832    912    1024   600    604    608    625    -HSync +VSync

Example of a reduced ModeLine:

> umc 800 600 60 --rbt
         "MODENAME"    PIXELCLOCK HPIXEL HSSTRT HSSTOP HTOTAL VPIXEL VSSTRT VSSTOP VTOTAL HVSYNC
Modeline "800x600@60R" 35.500000  800    848    880    960    600    603    607    618    -HSync +VSync

ModeLine values description:

Attribute Short Description
PIXELCLOCK Bandwidth (MHz) How many dots it can output per second.
HPIXEL Width Number of horizontal pixels drawn to the visible part of the screen.
HSSTRT-HPIXEL Front Porch Amount of black pixels drawn to the right of the screen.
HSSTOP-HSSTRT Sync Pulse Amount of time it takes to start another line.
HTOTAL-HSSTOP Back Porch Amount of black pixels drawn to the left of the screen.
VPIXEL Height Number of vertical pixels drawn to the visible part of the screen.
VSSTRT-VPIXEL Front Porch Amount of black pixels drawn on the bottom of the screen.
VSSTOP-VSSTRT Vertical Sync Amount of time it takes to move back up to the first line of the screen.
VTOTAL-VSSTOP Back Porch Amount of black pixels drawn to the top of the screen.
HVSYNC Flags Sync Polarity. HSync on High Byte, VSync on Low Byte.

You are here: start » saga » video


1) Akiko C2P is only available on the Vampire 1200 V2 and the Vampire Standalone, because it is only useful for AGA-compatible Amigas.
Last modified: le 2020/09/01 07:28