88aeaad889
Added: * RGBFIX now supports the homebrew TPP1 mapper! (The emulators BGB 1.5.9 and SameBoy 0.14.3 do too) * New \<10> and \<num_sym> macro arg syntaxes * SIZEOF("section") and STARTOF("section") * CHARLEN and CHARSUB for working with charmap output units * OPT L, OPT W, and OPT h * REDEF EQU * Linker scripts can use character escapes in section names ("\n \r \t \" \\") * RGBFIX now reports when it's overwriting non-zero header bytes, helpful for spotting mistakes (thanks @GreenAndEievui!) * rgbfix -m help will list the accepted MBC names * rgbfix -m accepts $-prefixed hex literals Changed: * Parentheses in macro args implicitly escape commas now, like C. For example, macro STRCAT("foo", "bar") used to be 2 arguments, now it's only one! * STRSUB and CHARSUB allow negative start positions, relative to the end of the string * STRSUB's second parameter can be omitted to read until the end of the string * A lot more errors are non-fatal now * Any constant expression equal for $FF00 can be substituted to $ff00 in ld [$ff00 + c], a and ld a, [$ff00 + c]; and arbitrary whitespace, line continuations, and block comments are allowed Removed: * LOAD FRAGMENT had buggy behavior, and its use cases can be done differently Fixed: * Symbols in some SECTION UNION/FRAGMENT could be missing from the .sym file * Interpolations could recurse infinitely outside of strings * ld hl, sp - <expr> was broken in 0.5.0 (workaround: ld hl, sp + -<expr>) * $ff00 + constant (or any symbol name starting with "c") would cause a syntax error since 0.4.2 (workarounds: ($ff00) + constant, constant + $ff00, or $ff00 + /**/ constant) * Fixed a lexer bug that could crash RGBASM on "piped" input files * jr could be incorrect within SECTION FRAGMENT * PUSHS didn't reset the section scope correctly (regression), and didn't save the LOAD state * REDEF EQUS had a few bugs * RGBFIX incorrectly parsed options on some platforms * RGBLINK should no longer leak memory * Fixed some compiler warnings, notably on 32-bit platforms and macOS * The source now uses _ISO_C11_SOURCE; this notably fixes building on FreeBSD (see #789 for more info) |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |