Short: AMOS Layers System Author: postmaster@retream.com Uploader: postmaster retream com Type: dev/amos Version: 2.0 Architecture: m68k-amigaos ALS stands for AMOS Layers System, as it turns the screens of AMOS Professional into layers that can be laid over one another, with complete control of order, colors and opaqueness, while keeping them renderable as usual. It is easy, requires little knowledge of the Amiga graphics hardware, does not need installation, does not depend on third-party extensions and comes as a collection of variables, arrays and procedures written in fully commented AMOS code - it can be thought of as an AMOS source-level library. GENERAL FEATURES * Layers usable as screens and vice versa * Overlaying of multiple layers * Overlaying order freely arrangeable * Per-layer planes height * Per-layer planes number * Per-layer double-buffering * Per-layer vertical positioning * Per-layer colors * Per-layer 257-degree opaqueness * Per-color 257-degree opaqueness * 24-bit internal colors * LORES horizontal positioning of layers * LORES and HIRES display resolutions * Programmable display window size * Automatic centering of display window * Automatic adjustment to chipset (OCS/ECS/AGA) * Automatic creation of layers from ILBM files * Display descriptors * Layer descriptors and snapshots * Global snapshots * Palettes management * Banks management * Basic file management ECS/AGA FEATURES * Selectable video standard (NTSC/PAL) * Display border blanking AGA FEATURES * Non-EHB 6-plane displays * 24-bit display colors * 24-bit palette colors * SHRES display resolution * SHRES horizontal positioning of layers * 4x planes fetch mode HISTORY v2.0 (6.7.2021) Removed useless code from ALS_COPY_PALETTE_SEGMENT[]. Removed OCS/ECS code. Removed OCS/ECS palettes support. Removed ALS_CHIPSETID, ALS_MAXLAYERCOLORSNUMBER, ALS_MAXPLANESNUMBER, ALS_PALETTECOLORSNUMBER, ALS_ADDRESSABLECOLORSNUMBER. Optimized code for AGA. Optimized ALS_SET_DISPLAY_COLORS_FROM_PALETTE[], ALS_SET_DISPLAY_COLORS_RANGE_FROM_PALETTE[] and ALS_SET_DISPLAY_COLORS_RANGE_FROM_PALETTE_SEGMENT[] a lot. Added ALS_BUILD_DISPLAY_COPPERLIST_HEAD[] and ALS_BUILD_DISPLAY_COPPERLIST_TAIL[]. Made various other improvements. Revised/extended manual. v1.96 (6.7.2021) Removed useless code from ALS_COPY_PALETTE_SEGMENT[]. Optimized ALS_SET_DISPLAY_COLORS_FROM_PALETTE[] a little bit. Added ALS_BUILD_DISPLAY_COPPERLIST_HEAD[] and ALS_BUILD_DISPLAY_COPPERLIST_TAIL[]. Made various other improvements. Revised/extended manual. v1.94 (6.6.2021) · Added ALS_CHECK_LAYER_INDEX[]. · Added ALS_COPY_PALETTE_SEGMENT[]. · Added ALS_CREATE_LAYER_AS_CLONE[]. · Added ALS_SET_LAYER_A_AND_COLORS_FROM LAYER[]. · Made check on layer index in ALS_DESTROY_LAYER[] and ALS_MAKE_LAYER_DESCRIPTOR[] more robust. · Removed check on layer index from ALS_GET_LAYER_DEPTH[]. · Simplified ALS_OPEN_FILE[]. · Updated manual. v1.89 (21.03.2021) · Fixed bug in ALS_SET_DISPLAY_COLORS_RANGE_FROM_PALETTE_SEGMENT[], which caused the low 12 bits of the colors to be set to the same value as the high 12 bits (because the instruction Areg(0)=PSA was placed just after the beginning of a loop, despite the comment just above said: "Areg(0) is set only once before the loop thanks to the fact that it is updated by Call with the value returned by ALS_SETCOLORXXRANGE()"). · Replaced all End/Pop Proc[False] with End/Pop Proc[0], as False might crash the Compiler in some circumstances. · Fixed a comment in the ALS code. · Fixed the metadata of a couple of ILBM files. · Added a note to the demo3 program. v0.83 (01.11.2020) First release. www.retream.com/ALS als@retream.com © 2020 RETREAM