Short: ACE Basic Author: Manfred Bergmann Uploader: manfred bergmann me com Type: dev/basic Version: 2.6.0 Replaces: ace-basic Requires: OS2.0+ Architecture: m68k-amigaos >= 2.0 Distribution: Aminet URL: https://github.com/mdbergmann/ACEBasic CHANGELOG ========= v2.6 (2026-01-26) ----------------- New Features: - GadTools Gadget Integration: Full support for GadTools-based gadgets with modern Amiga look and feel. New syntax: GADGET id, status, label$, (x1,y1)-(x2,y2), kind [, TAG=value ...] - Gadget Kinds: Support for BUTTON, CHECKBOX, INTEGER, STRING, LISTVIEW, MX (mutual exclude), CYCLE, PALETTE, SCROLLER, SLIDER, TEXT, and NUMBER gadgets. - GADGET FONT: New syntax to set font for GadTools gadgets: GADGET FONT name$, size - GADGET SETATTR/GETATTR: Runtime modification and querying of gadget attributes via tags. - ASSERT statement: Runtime assertion checking for defensive programming. Syntax: ASSERT expression [, "message"] Prints "ASSERT FAILED: " and exits on failure; passes through silently when the condition is true. Implemented as an assembly-level runtime library function (assert.s in db.lib). - 68020 native code generation: When compiling with the -2 flag or OPTION 2+ in source, the compiler emits native 68020 instructions (muls.l, divs.l, divsl.l) for long multiply, divide, and modulo instead of calling library routines (lmul, ace_ldiv, ace_lrem). Emits "machine 68020" assembler directive for vasm. Documentation: - txt2guide.rb: Ruby script to auto-generate AmigaGuide documentation from text sources (ref.txt, ace.txt). Testing: - GadTools test suite: New 'gtgadgets' test category for GadTools gadgets. - Legacy gadgets tests: Separate 'legacygadgets' category for original BOOPSI gadgets. - Assert test suite: New 'assert' test category with ok and fail cases. - 68020 arithmetic test: opt020 test case validating native 68020 code generation for multiply, divide, and modulo operations. ------------------------------------------------------------------------------ v2.5 (2026-01-22) ----------------- New Features: - AGA Screen Support (modes 7-12): Full support for AGA chipset screens with up to 256 colors (8-bit depth). Toolchain Changes: - vasm/vlink replaces legacy assembler/linker: Uses vasm and vlink as the standard toolchain instead of a68k/blink. Bug Fixes: - FFP/vbcc floating-point compatibility fix: Fixed FFP handling in runtime library (sleep_for_secs and float routines) for vbcc compatibility. Build System: - GNU Makefile build system: New Makefile-ace and Makefile-lib in src/make/ replacing legacy AmigaDOS build scripts. - Rebuilt runtime libraries: Fresh db.lib and startup.lib compiled with the new toolchain. Project Housekeeping: - Directory restructured: prgs/ renamed to examples/, build scripts moved to src/make/, test infrastructure organized under verify/. - Test suite added: 35 test cases covering syntax, arithmetic, floats, and control flow, run via ARexx runner on emulated Amiga. - Documentation consolidated: Single README.md, .doc files renamed to .txt.