Rangi
7b405513d9
Make quote marks consistent in error/warning messages ( #1791 )
...
- "Double quotes" for strings (filenames, section names, CLI option arguments, etc)
- 'Single quotes' for characters and CLI option flags
- `Backticks` for keywords and identifiers (symbol names, charmap names, etc)
CLI option flags also have their leading dashes
2025-08-12 15:24:21 -04:00
Rangi42
02310489c6
Suggest ld and call when failing to link ldh and rst
2025-08-11 15:02:18 -04:00
Rangi
5f8b7474b4
Add -B/--backtrace option to RGBASM and RGBLINK ( #1787 )
2025-08-11 14:30:14 -04:00
Rangi42
2130a5ba1f
Error messages refer to "undefined" symbols and sections
2025-08-08 19:47:42 -04:00
Rangi
39f0f9edc0
Remove previously deprecated features ( #1777 )
...
- Treating multi-unit strings as numbers
- `rgbasm -Wnumeric-string`
- `ldio [c], a` and `ldio a, [c]` (use `ldh`)
- `ld [c], a` and `ld a, [c]` (use `ldh`)
- `ldh [$xx], a` and `ldh a, [$xx]` (use `$FFxx`)
2025-08-05 16:24:10 -04:00
Rangi42
504a45a4ed
Reuse isWhitespace and isNewline, also refactoring readAtFile
2025-08-05 13:46:53 -04:00
Rangi42
2d5f4d8910
More consistent missing-input error messages
2025-08-05 11:22:58 -04:00
Rangi42
2cae47a5a2
Color verbose output as magenta
...
Output RGBASM's lexed tokens at level 5 (TRACE)
2025-08-05 00:00:57 -04:00
Rangi
23ce888d65
Use colored/styled text output for diagnostics and usage info ( #1775 )
2025-08-04 17:02:24 -04:00
Rangi42
2eeb333be0
Factor out more shared math operations between RGBASM and RGBLINK
2025-08-02 19:55:44 -04:00
Rangi
752b273aec
Extend RGBASM and RGBLINK verbosity flags to have multiple levels like RGBGFX ( #1772 )
2025-08-02 17:10:10 -04:00
Rangi42
308d488833
Use UpperMap for rgblink -S scramble spec matching
...
This also makes invalid RGBLINK CLI options into fatal errors
like the other programs
2025-07-29 03:41:31 -04:00
Rangi42
75aed1afd5
Factor out an UpperMap for case-insensitive matching
2025-07-28 00:00:24 -04:00
Rangi42
d16751f56a
Avoid hard-coding a redundant "FATAL:" in RGBLINK
2025-07-27 20:07:53 -04:00
Rangi42
b2747dfbd8
Factor out common usage-help code
2025-07-27 19:20:04 -04:00
Rangi42
16e16cdf51
Split up the linkerscript lexer and layout actions
2025-07-27 13:38:20 -04:00
Rangi42
a353637a90
Split RGBLINK linkerscript parser functions into their own file
2025-07-27 11:31:25 -04:00
Rangi42
92acb6e547
Implement a single nbErrors counter inside generic diagnostic code
2025-07-26 12:54:50 -04:00
Rangi42
d6a28a6259
Prefer pre-increment/decrement operators in for loops
2025-07-24 18:08:17 -04:00
Rangi42
c6d0e8de63
Improve some error messages
2025-07-24 11:19:04 -04:00
Rangi42
2ce4cdbff6
Reduce deep nesting some more, including larger refactors to assign.cpp
2025-07-22 19:38:49 -04:00
Rangi42
c83b87e0a0
Make all non-extern globals static
2025-07-21 20:14:09 -04:00
Rangi42
5f333d9753
More refactoring around extern variables
2025-07-21 19:22:10 -04:00
Rangi42
d652212857
Group extern RGBLINK variables in an Options struct, like RGBGFX
2025-07-21 18:12:40 -04:00
Rangi42
0cd60ea1e6
Use a patch_AddAssertion function instead of extern assertions
2025-07-21 17:49:41 -04:00
Rangi42
a0e23ee911
Remove unnecessary extern from nbSectionsToAssign
2025-07-21 17:27:43 -04:00
Rangi42
14f5e16ae8
Prefer pre-inc/dec unless post-inc/dec are necessary
2025-07-19 16:18:35 -04:00
Rangi42
4a2f9fc744
A little refactoring
2025-07-18 14:17:23 -04:00
Rangi42
e99ff5ac45
Use more concrete types instead of auto
2025-07-17 23:52:09 -04:00
Rangi
0c96234532
Use concrete types instead of auto when convenient and not redundant ( #1757 )
2025-07-17 14:59:51 -04:00
Rangi
5eb093f13e
Implement warning diagnostic flags for RGBLINK ( #1754 )
2025-07-17 12:54:29 -04:00
Rangi
7f24d46d44
Support more syntax in linkerscripts ( #1752 )
...
* No need to use `locale`s
* Implement octal numbers, `_` digit separators, and `0x/0b/0o` prefixes in linkerscripts
* Refactor some functions out of `yylex`
* Support `\0` in linkerscripts
2025-07-16 15:00:02 -04:00
Rangi42
cf6e5fec63
Fix unterminated strings in linkerscripts consuming their newline
2025-07-16 09:59:48 -04:00
Rangi42
d8fc25ee43
Add TODO comment for SDAS XL4 support
2025-07-15 22:07:11 -04:00
Rangi42
8bebab1db0
Abbreviate RGBLINK errput that includes a src+lineNo
2025-07-15 18:37:28 -04:00
Rangi42
ee29579d3e
Reduce some more deep nesting
2025-07-15 17:41:32 -04:00
Rangi
1fecf80659
Implement 'character' literals ( #1747 )
2025-07-15 13:08:50 -04:00
Rangi42
2adeda0318
Use std::tie for sort comparator functions
2025-07-13 14:47:10 -04:00
Rangi42
ddb2acb652
Reduce more nesting depth, and fix an error message
2025-07-12 08:17:26 -04:00
Rangi42
e7a05b1db8
Refactor for better formatting
2025-07-11 10:59:03 -04:00
Rangi
a40109e4e4
Update the UTF-8 decoder ( #1741 )
2025-07-09 23:13:30 -04:00
Rangi
34cf959c9d
Refactor to reduce nesting depth some more ( #1740 )
2025-07-09 22:46:40 -04:00
Rangi
5e43ece578
Remove errx and errors.hpp ( #1737 )
2025-07-09 11:04:23 -04:00
Rangi42
8c50839109
Miscellaneous updates
2025-07-08 17:45:13 -04:00
Rangi
fda54fd0c3
Replace Either with std::variant ( #1731 )
2025-07-08 13:59:03 -04:00
Rangi
35962dedc4
Refactor warnings and errors ( #1728 )
...
* Remove `err` and `warn`, keep `errx` and `warnx`, using them in RGBGFX too
* Separate RGBGFX and RGBLINK warnings/errors from main options
* Separate `report` function into `error` and `fatal` messages
* Implicit newlines for most RGBASM errors
2025-07-08 12:58:23 -04:00
Rangi
991b74dd0d
Fix segfault with invalid RGBLINK scramble spec ( #1730 )
2025-07-08 12:34:54 -04:00
Rangi
c9765ec158
Factor out program-independent warning diagnostic code ( #1725 )
2025-07-07 18:34:34 -04:00
Rangi
804db4e073
Handle missing newline at EOF for linkerscript INCLUDEd files ( #1691 )
2025-05-22 10:55:58 +02:00
Rangi
126b1e5726
Reuse startsIdentifier and continuesIdentifier functions ( #1695 )
2025-05-19 15:31:26 -04:00