v0.7.0
Starting with this release, we publish statically-linked Linux binaries! We also provide a Dockerfile to build RGBDS.
Deprecated:
- Defining symbols without using
DEF(use{interpolation}if you relied onEQUSexpansion for defined symbol names) - RGBASM
-H/--nop-after-haltand-l/-auto-ldhoptions (which are now off by default)
Added:
- Multiple instructions can go on one line, separated by
:: #"raw strings"don't process any escapes (not even interpolation or macro args!)DS ALIGN[size, offset]to insert padding until the next alignment boundary within the same section- RGBASM allows defining local labels for scopes that aren't active
INCHARMAPfunction to check if a string matches a charmap valueSIZEOFandSTARTOFcan now take section types likeWRAM0as argumentENDSECTIONexplicitly ends a sectionDSin RGBLINK linker scriptsOPTIONALsections in RGBLINK linker scriptsFLOATINGaddresses in RGBLINK linker scripts (should improve SDCC interop)- RGBASM
-X/--max-errorsstops after too many errors, with a default of 100 - Linker scripts support
ALIGN alignment, offset - RGBFIX warns when SGB compatibility is set with the wrong "old licensee", even if not setting it via RGBFIX itself
- RGBGFX can generate a palette from a spec, without an input image
- RGBGFX forces transparent colors to take slot #0 in all palettes
- RGBGFX
-O/--group-outputsbases automatic output filenames on the output path, instead of the input path
Removed:
name: MACROsyntax (useMACRO nameinstead)- Escaped commas
"\,"inside strings (not necessary in macro arguments) __FILE__and__LINE__- Exported labels cannot have a space between their two colons (
Label: :is invalid)
Changed:
- RGBASM
-Wtruncation=1will not warn about 8-bit~$FFor 16-bit~$FFFFvalues - The memory usage summary in
.mapfiles is now placed at the top of the file - Alignment offsets in RGBASM can now be negative (
ALIGN 8, -1is equivalent toALIGN 8, 255) - RGBGFX's
--output-*options have been renamed to--auto-*for clarity - RGBLINK
.symfiles sort symbols at the same address by their locality - RGBLINK
-S/--scrambleprioritizes higher banks - RGBGFX's long
--output-*flags are renamed to--auto-* - All programs show usage help when given missing or incorrect command-line arguments
- Add
--only-freeand--helpoptions to test scripts PURGEarguments can go in any order
Fixed:
- RGBASM preserves the value of
\@throughINCLUDEd files FORloops, in some edge cases, could loop with unexpected valuesPUSHOandPOPOnow save and restore theroptionENDLnow restores the label scope from beforeLOAD- Anonymous labels are never exported anymore, as doing so could cause link errors
-1 >>> 32now equals 0, not -1- Document
ATAN2to have argument order(y, x) - RGBLINK's
-wflag properly coerces WRAMX sections to WRAM0 - Fix off-by-one error in RGBLINK
-S/--scrambleargument validation - RGBGFX could crash on some images with alpha transparency
- RGBGFX
--color-curvenow works as it always should have - RGBGFX properly detects tiles with more than 4 colors
- RGBGFX
-r/--reversegave incorrect output with-d/--depth 1 - RGBGFX ignored
-L/--sliceif-u/--unique-tileswasn't also passed - RGBGFX ignored
-c/--colorswith-r/--reverse - RGBGFX outputs a palette map to the right filename
- Fix formatting errors in documentation
- Fix incorrect options in RGBGFX zsh completions
- Made testing scripts a little more robust