History
v2.8 (30.7.2024)
* Made some minor optimizations using local variables.
v2.7 (12.5.2024)
* Fixed ALS_SET_STACK_DEPENDENT_VARIABLES[] (it did not reset ALS_DISPLAYEDPLANESNUMBER at the beginning, so, after the removal of the last layer, ALS_DISPLAYEDPLANESNUMBER and ALS_DISPLAYEDCOLORSNUMBER still had the previous values instead of 0 - which could eventually cause the setting of a wrong BPLCON 0 value).
* Fixed a couple of comments in the code.
v2.6 (24.4.2024)
* Touched up documentation.
v2.6 (25.6.2023)
* Touched up documentation.
v2.6 (23.6.2023)
* Changed contact email address.
v2.6 (8.6.2023)
* Fixed ALS_SET_PLANES_POINTERS_IN_COPPERLIST[] (due to a typo, it contained a division by 65535 instead of 65536).
* Optimized inner loops of ALS_BUILD_COPPERLIST[], ALS_BUILD_COPPERLIST_HEAD[] and ALS_SET_PLANES_POINTERS_IN_COPPERLIST[] (replaced Repeat...Until with a more efficient While...Wend).
* Improved a paragraph in the sprites section of the manual.
v2.5 (6.6.2023)
* Updated the documentation: expanded the sprites section in the manual (now it is a full crash
course so that also who does not know how sprites work can use them); replaced a leftover <displayed planes number> with ALS_DISPLAYEDPLANESNUMBER; replaced bullet points (·) with asterisks (*).
v2.5 (5.6.2023)
* Removed ALS_GET_LAYER_DEPTH[].
* Renamed ALS_BUILD_DISPLAY_COPPERLIST*[] as ALS_BUILD_COPPERLIST*[].
* Replaced ALS_WAIT_NEXT_FRAME[] with ALS_WAIT_FRAME_END[] (it does the same thing, but it does in a better way, no longer requires the display to be on, no longer uses ADKCON.PRECOMP0 and the name reflects more accurately what it does).
* Added ALS_SET_PLANES_POINTERS_IN_COPPERLIST[].
* Optimized ALS_MAKE_DISPLAY_DESCRIPTOR[].
* Added ALS_DISPLAYEDPLANESNUMBER.
* Speed-optimized a few loops by replacing Repeat...Until with While...Wend.
* Updated demos: used ALS_SET_PLANES_POINTERS_IN_COPPERLIST[] in place of ALS_BUILD_COPPERLIST[] where appropriate; simplified font handling.
* Touched up the comments in the code.
* Revised/extended manual (in particular, added extensive information about using sprites with ALS).
v2.4 (18.3.2023)
* Removed dependency on mathtrans.library by replacing CN=2^LD with CN=1 : Rol.l LD,CN.
v2.3 (20.2.2023)
* Changed the conditions of many If, Until and While statements and turned For...Next loops into Repeat...Until loops to have the AMOS Professional Compiler produce shorter and faster code.
v2.2 (19.2.2023)
* Added CPU caches clearing after machine code routines generation in ALS_INITIALIZE_SYSTEM[].
v2.1 (31.7.2021)
* Touched up documentation.
v2.1 (16.7.2021)
* Renamed "palette segments" as "segments".
* Renamed: ALS_COPY_PALETTE_RANGE[] as ALS_COPY_SEGMENT_FROM_PALETTE_RANGE[]; ALS_EXTRACT_PALETTE_SEGMENT[] as ALS_CREATE_SEGMENT_FROM_PALETTE_RANGE[]; ALS_SET_DISPLAY_COLORS_RANGE_FROM_PALETTE_SEGMENT as ALS_SET_DISPLAY_COLORS_RANGE_FROM_SEGMENT[].
* Updated/revised in-code documentation.
* Updated/revised/fixed manual.
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.104 (30.7.2024)
* Made some minor optimizations using local variables.
Bugfixes and minor changes aside, this might be the last version that supports OCS and ECS. Supporting all the chipsets requires lots of additional code and slows down the execution in many places, while functionality is still very limited on OCS and ECS due to the fact that they offer only 6 bitplanes and 32 12-bit color registers. ALS is much more useful on AGA, which thus has its own leaner and faster AGA-specific version.
v1.103 (12.5.2024)
* Fixed ALS_SET_STACK_DEPENDENT_VARIABLES[] (it did not reset ALS_DISPLAYEDPLANESNUMBER at the beginning, so, after the removal of the last layer, ALS_DISPLAYEDPLANESNUMBER and ALS_DISPLAYEDCOLORSNUMBER still had the previous values instead of 0 - which could eventually cause the setting of a wrong BPLCON 0 value).
* Fixed a couple of comments in the source code.
v1.102 (24.4.2024)
* Touched up documentation.
v1.102 (25.6.2023)
* Touched up documentation.
v1.102 (23.6.2023)
* Changed contact email address.
v1.102 (8.6.2023)
* Fixed ALS_SET_PLANES_POINTERS_IN_COPPERLIST[] (due to a typo, it contained a division by 65535 instead of 65536).
* Optimized inner loops of ALS_BUILD_COPPERLIST[], ALS_BUILD_COPPERLIST_HEAD[] and ALS_SET_PLANES_POINTERS_IN_COPPERLIST[] (replaced Repeat...Until with a more efficient While...Wend).
* Improved a paragraph in the sprites section of the manual.
v1.101 (6.6.2023)
* Updated the documentation: expanded the sprites section in the manual (now it is a full crash
course so that also who does not know how sprites work can use them); replaced a leftover <displayed planes number> with ALS_DISPLAYEDPLANESNUMBER; replaced bullet points (·) with asterisks (*).
v1.101 (5.6.2023)
* Removed ALS_GET_LAYER_DEPTH[].
* Renamed ALS_BUILD_DISPLAY_COPPERLIST*[] as ALS_BUILD_COPPERLIST*[].
* Replaced ALS_WAIT_NEXT_FRAME[] with ALS_WAIT_FRAME_END[] (it does the same thing, but it does in a better way, no longer requires the display to be on, no longer uses ADKCON.PRECOMP0 and the name reflects more accurately what it does).
* Added ALS_SET_PLANES_POINTERS_IN_COPPERLIST[].
* Optimized ALS_MAKE_DISPLAY_DESCRIPTOR[].
* Added ALS_DISPLAYEDPLANESNUMBER.
* Speed-optimized a few loops by replacing Repeat...Until with While...Wend.
* Updated demos: used ALS_SET_PLANES_POINTERS_IN_COPPERLIST[] in place of ALS_BUILD_COPPERLIST[] where appropriate; simplified font handling.
* Touched up the comments in the code.
* Revised/extended manual (in particular, added extensive information about using sprites with ALS).
v1.100 (18.3.2023)
* Removed dependency on mathtrans.library by replacing CN=2^LD with CN=1 : Rol.l LD,CN.
v1.99 (20.2.2023)
* Changed the conditions of many If, Until and While statements to have the AMOS Professional Compiler produce shorter and faster code.
v1.98 (19.2.2023)
* Added CPU caches clearing after machine code routines generation in ALS_INITIALIZE_SYSTEM[].
v1.97 (31.7.2021)
* Touched up documentation.
v1.97 (16.7.2021)
* Renamed "palette segments" as "segments".
* Renamed: ALS_COPY_PALETTE_RANGE[] as ALS_COPY_SEGMENT_FROM_PALETTE_RANGE[]; ALS_EXTRACT_PALETTE_SEGMENT[] as ALS_CREATE_SEGMENT_FROM_PALETTE_RANGE[]; ALS_SET_DISPLAY_COLORS_RANGE_FROM_PALETTE_SEGMENT as ALS_SET_DISPLAY_COLORS_RANGE_FROM_SEGMENT[].
* Updated/revised in-code documentation.
* Updated/revised/fixed 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.95 (4.7.2021)
* Optimized ALS_SET_DISPLAY_COLORS_RANGE_FROM_PALETTE[] and ALS_SET_DISPLAY_COLORS_RANGE_FROM_PALETTE_RANGE[] a little bit.
* Removed wrong comment from ALS_SET_DISPLAY_COLORS_RANGE_FROM_PALETTE[].
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.3.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 (1.11.2020)
* First release.
Get ALS
ALS
AMOS Layers System [Amiga]
Status | Released |
Category | Other |
Author | RETREAM |
Tags | 2D, amos, development, Game engine, hardware, layers, library, programming, Retro, sourcecode |
Languages | English |
More posts
- v1.96 and v2.0Jul 06, 2021
- v1.94Jun 06, 2021