SAGA Video Core

Overview

Current SAGA Video core provides a Chunky Screenmode that supports 8/15/16/24/32-bits and YUV422.

Final version will have full Planar modes like in original Commodore AGA Chipset but with enhanced specifications.


Features

  • Chunky plane that can be displayed on its own by any dedicated RTG Driver.
  • Supports the following Pixel Formats : CLUT8, RGB15, RGB16, RGB24, RGB32, YUV422.
  • Supports the following Resolutions : Any valid mode from 320×200 to 1920×1080.
  • FrameBuffer can be any address from accessible FastRAM.
  • FrameBuffer can be Read and Write, for Direct Hardware drawings.

Not yet implemented Features :

  • Planar mode that supports all AGA Chipset modes.
  • Planar mode that supports new enhanced modes.
  • Chunky plane that can be displayed together with 8 planar planes or alone on its own.

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
DFF1F8 saga_video_pllw W UWORD Set the SAGA Video PLLW
DFF1FA saga_video_pllr W UWORD Set the SAGA Video PLLR

The Chunky Video mode can virtually accepts 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
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-colors lookup table. Each color are 32-bits length, 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 a valid ModeLine for a 800×600 @ 60Hz resolution. Then 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

Last modified: le 2019/10/22 02:09