AGABlaster is a video player for the Amiga Commodore computer. It uses a customized version of the CDXL format supporting the AGA chipset with 24 bit colors and variable length frames. AGABlaster is written in 68K Assembly and runs on native Amiga hardware (no gfx card or sound card required). It is currently in alpha testing stage.
The CDXL format was created primarily for the Commodore CDTV, to permit playback of video from CD-ROM in the early 1990s. The original (standard) CDXL format was a simple streaming format, consisting of linear concatenated chunks (packets), each with an uncompressed frame and associated audio data. It did not contain video timing information, additional command line arguments had to be provided to the CDXL player.
AGABlaster can play the original CDXL format (see Current Limitations), but can also play custom variable length CDXL frames. For example, frames can have have a different number of bitplanes. The custom headers in each chunk contain all information necessary to display each frame (audio frequency, etc.), such that no additional command line parameters need to be provided. However, command line arguments are available to set all parameters manually to play also original CDXL videos.
AGABlaster has been tested on an A4000/60 with a Fast ATA 4000 MK-III disk controller (expansion card) and different PIO settings. AGABlaster can play videos with 24 FPS, 320x256 Lores resolution, and 8-bit stereo sound at 22050 Hz directly from disk, with the MK-III in PIO3 setting. Only chip memory is required. Alternatively, playing from an USB 2.0 memory stick connected to a DENEB USB 2.0 expansion card is also fast enough.
AGABlaster is designed to only require chip memory and to display videos in full screen on original Amiga hardware. Graphics cards and/or sound cards are not supported. AGABlaster can skip frames if disk I/O is too slow. Video data is skipped by seeking on disk to the next frame without loading it into memory. Audio data is always read. All data is read asynchronously from disk, allowing it to read ahead if I/O is fast enough.
Overview of supported video/audio modes:
ViewTek - A4000/60 - Anim7 - 2017
AnimFx - FS-UAE Emulator - SndAnim7 - 2017
AnimFx - FS-UAE Emulator - SndAnim7 - 2018
AnimFX - FS-UAE Emulator - SndAnim7 - 2018
AGABlaster - A4000/60 - Custom CDXL - 2019
ZORAIA by Zohre Esmaeli Campaign
AGABlaster - A4000/60 USB 2.0 - Custom CDXL 2019
INNA - No Help
AGABlaster and some example videos can be downloaded from this website. No additional installation is required. AGABlaster can be started from a console window with the name of the CDXL video as command line argument:
> agablaster VIDEONAME
where VIDEONAME is a custom or standard CDXL file name (see Current Limitations). The video starts playing immediately and can be stopped with the left mouse button. There are no control buttons available yet.
An AGABlaster custom CDXL file (see below for downloads) contains all information to play the video. For standard CDXL files command line options can be used to set the audio frequency, NTSC/PAL mode, and resolution.
The only command line argument that is required is the name of the CDXL file. For example to play one of the provided CDXL videos, enter the following in a console window and hit return: agablaster zoraia_short_lo_aga8.cxl - the video should start playing immediately.
The following options can be useful to tune the player to a given system. The default values are PL=6, FB=6, CFD=4 which are well suited for AGA systems with at least 1M chip memory (fast memory is not required).
The following options can be used to override the values of a custom CDXL file for the entire video or to set the missing values for a standard CDXL file:
For the provided custom CDXL videos the following values are reported by AGABlaster with the STATS option (default behavior) for my A4000/60:
|Played from hard disk|
|Fast ATA MK III|
I/O Speed setting
|Video Frame||Measured FPS (V0.9.61)|
|PIO 3||Lores 320x256, 8 bitplanes, 24 bit colors, 22050 Hz stereo||24 (video with 24 FPS)|
|PIO 3||Hires 640x256, 8 bitplanes, 24 bit colors, 22050 Hz stereo||12 (video with 24 FPS)|
|PIO 0||Lores 320x256, 8 bitplanes, 24 bit colors, 22050 Hz stereo||9 (video with 24 FPS)|
|DENEB USB 2.0, video played from USB memory stick|
|Frame size||Measured FPS (V0.9.64)|
|Lores 320x256, 8 bitplanes, 24 bit colors, 22050 Hz stereo||24 (video with 24 FPS)|
|Hires 640x256, 8 bitplanes, 24 bit colors, 22050 Hz stereo||12 (video with 24 FPS)|
AGABlaster consists of the single file 'agablaster' and has only system library dependencies. Simply copy the file to any location of your choice. To play one of the provided cdxl videos with agablaster enter on a console: 'agablaster myvideo.cdxl'. It will then play the video. To exit video play use the left mouse button.
|Initial alpha release||28-APR-2019||0.9.62||12 KB||agablaster_0_9_62|
|12 bit color palette bug fix (standard CDXL)||01-MAY-2019||0.9.63||12 KB||agablaster_0_9_63|
|Added support for video height 128 to 256.
Renamed option 'info' to 'about'.
Fixed PL=1 bug.
Video: Zoraia by Zohre Esmaeli.
Distribution of the video conversion variants on this website with permission of the copyright holders Zohre Esmaeli and photographers.
Video credits: Filmed and directed by Alexei Bazdarev, Camera assistant Leonhard Koall, Makup artist Cara Okfen, Video edit by Janine Risse, Management by Mihai Nagy.
The original video is available on Vimeo - external link: original video in full HD
|Zoraia - Short Test CDXL Video - 17 seconds|
|Lores 320x256||AGA7||15||5:4 cropped||11025 Hz||Custom||24 bit||0:17||19.0 MB||zoraia_short_crop_lo_aga7.cdxl|
|Lores 320x256||AGA8||24||5:4 cropped||22050 Hz||Custom||24 bit||0:17||34.6 MB||zoraia_short_crop_lo_aga8.cdxl|
|Lores 320x256||HAM8||24||5:4 cropped||22050 Hz||Custom||24 bit||0:17||34.3 MB||zoraia_short_crop_lo_ham8.cdxl|
|Hires 640x256||AGA8||24||5:4 cropped||22050 Hz||Custom||24 bit||0:17||68.1 MB||zoraia_short_crop_hi_aga8.cdxl|
|Lores 320x256||AGA8||24||16:9 scaled||22050 Hz||Custom||24 bit||0:17||34.5 MB||zoraia_short_lo_aga8s.cdxl|
|Hires 640x256||AGA8||24||16:9 scaled||22050 Hz||Custom||24 bit||0:17||68.0 MB||zoraia_short_hi_aga8s.cdxl|
|Zoraia - Full CDXL Video - 2 min 2 secs|
|Lores 320x256||AGA8||24||5:4 cropped||22050 Hz||Custom||24 bit||2:02||243.9 MB||zoraia_crop_lo_aga8.cdxl|
|Lores 320x256||AGA8||24||16:9 scaled||22050 Hz||Custom||24 bit||2:02||243.9 MB||zoraia_lo_aga8s.cdxl (*)|
The 16:9 scaled videos require an LCD monitor to stretch the picture to HD size. This way one can get a correct HD sized video with the Amiga 5:4 PAL output ratio. For display with an original PAL 5:4 screen ratio the cropped videos are provided.
(*) shown on youtube
The following webpages offer standard CDXL videos that are known to work with AGABlaster 0.9.64+.
Supported AGABlaster extensions are marked with ' [extension]'. If the standard CDXL format is used the following default values are assumed: frequency=11025 Hz, video mode: lores, fps: implied by frequency. Command line options allow to set parameters explicitly for standard CDXL videos. No command line parameters are necessary for AGABlaster custom CDXL videos.
|BYTE||File type||Supported file types: 0=Custom CDXL, 1=Standard CDXL.|
bits 0-3: Video encoding bit 4 : Audio mode (stereo flag) bits 5-7: Plane arrangement
|Supported video encodings: 0=RGB, 1=HAM.|
Supported audio modes: 0=mono, 1=stereo
Supported plane arrangements: 0=bit planar
|LONG||Current chunk size||= 32 + (Palette size + Palette Padding) |
+ (Video width in bytes)*(Video height)*(Number of bitplanes)
+ Video padding + (Audio data size (twice as long if stereo) + Audio padding
|LONG||Previous chunk size||chunk size of previous frame|
|LONG||Current frame number||1-4294967295|
|WORD||Video width||Currently limited to multiples of 320|
|WORD||Video height||Supported 128-256|
|BYTE||Number of bit planes||0-8 (if 0, then only background color is displayed; allows for empty video frame data)|
|WORD||Palette size in bytes||0-768 (must be a multiple of 2 or 3)|
|WORD||Audio data size in bytes||2-65534 (only even numbers; sample length; in stereo mode total audio size is twice as long; audio data must be present)|
|WORD||Frequency [extension]||Provided in Hz (0=unspecified)|
|BYTE||Frames per second [extension]||1-255 (0=unspecified)|
|BYTE|| Info byte 2 [extension]
bits 0-3: Resolution bit 4 : Color mode bits 5-7: 0
|Supported resolutions: 0=unspecified, 1=lores, 2=hires, 3=superhires|
Supported color modes: 0=12 bit colors, 1=24 bit colors
|WORD|| Padding [extension]
bits 0- 3: Audio padding bits 4- 7: Video padding bits 8-11: Palette padding bits 12-14: Padding mode bit 15: 0
0-15 (palette padding, video padding, audio padding)
Supported padding modes: 0=unspecified, 1=no padding, 2=16 bit padding, 3=32 bit padding, 4=64 bit padding, 5=128 bit padding