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 onEQUS
expansion for defined symbol names) - RGBASM
-H/--nop-after-halt
and-l/-auto-ldh
options (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
INCHARMAP
function to check if a string matches a charmap valueSIZEOF
andSTARTOF
can now take section types likeWRAM0
as argumentENDSECTION
explicitly ends a sectionDS
in RGBLINK linker scriptsOPTIONAL
sections in RGBLINK linker scriptsFLOATING
addresses in RGBLINK linker scripts (should improve SDCC interop)- RGBASM
-X/--max-errors
stops 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-outputs
bases automatic output filenames on the output path, instead of the input path
Removed:
name: MACRO
syntax (useMACRO name
instead)- 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=1
will not warn about 8-bit~$FF
or 16-bit~$FFFF
values - The memory usage summary in
.map
files is now placed at the top of the file - Alignment offsets in RGBASM can now be negative (
ALIGN 8, -1
is equivalent toALIGN 8, 255
) - RGBGFX's
--output-*
options have been renamed to--auto-*
for clarity - RGBLINK
.sym
files sort symbols at the same address by their locality - RGBLINK
-S/--scramble
prioritizes 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-free
and--help
options to test scripts PURGE
arguments can go in any order
Fixed:
- RGBASM preserves the value of
\@
throughINCLUDE
d files FOR
loops, in some edge cases, could loop with unexpected valuesPUSHO
andPOPO
now save and restore ther
optionENDL
now restores the label scope from beforeLOAD
- Anonymous labels are never exported anymore, as doing so could cause link errors
-1 >>> 32
now equals 0, not -1- Document
ATAN2
to have argument order(y, x)
- RGBLINK's
-w
flag properly coerces WRAMX sections to WRAM0 - Fix off-by-one error in RGBLINK
-S/--scramble
argument validation - RGBGFX could crash on some images with alpha transparency
- RGBGFX
--color-curve
now works as it always should have - RGBGFX properly detects tiles with more than 4 colors
- RGBGFX
-r/--reverse
gave incorrect output with-d/--depth 1
- RGBGFX ignored
-L/--slice
if-u/--unique-tiles
wasn't also passed - RGBGFX ignored
-c/--colors
with-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