ISSOtm
76c1995559
Fix CI
v0.5.0-rcCar
2021-04-01 11:38:07 +02:00
Rangi
ae84570f04
Revise RGBASM manual
2021-03-31 18:35:09 -04:00
Rangi
094a31ef8c
Update RGBASM command-line manual
2021-03-31 18:17:18 -04:00
ISSOtm
291dcf3b6c
Update RGBASM manual
2021-04-01 00:11:41 +02:00
Rangi
a890bd072b
Fix "INCBIN"
...
Examples: (...s are optional)
ld [b @:...] = "Dockerfile"
ld [b @:...] = "Dockerfile"[451:...]
ld [b @:...] = "Dockerfile"[23:5]
ld [b @:5] = "Dockerfile"[23:...]
2021-03-31 18:06:14 -04:00
Rangi
2f6c808ccb
Revise instruction reference
2021-03-31 17:59:12 -04:00
ISSOtm
e80907abd0
Update instruction reference
2021-03-31 23:26:57 +02:00
Rangi
25d39155d3
Support ld a, a±c±LOW(bc) as well as ld a, a±c±c
2021-03-30 12:36:11 -04:00
Rangi
77021d229b
Support ld [c], a and ld a, [c]
2021-03-30 12:02:29 -04:00
Rangi
1b250b90b2
Implement ds <len> ==> ld [b @:<len>], ?
2021-03-30 11:54:39 -04:00
Rangi
e2b4723489
Fix lexing @
2021-03-30 11:52:25 -04:00
Rangi
2507413162
Fix lexing a., b., etc
2021-03-30 11:41:44 -04:00
Rangi
e023a84d04
Allow 'ld a, a±c±<r8>' or 'ld a, a±<r8>±c' for adc/sbc
2021-03-30 11:27:19 -04:00
Rangi
34c127d9c3
Allow ld [b @:<len>] = "file.bin"[<ofs>:...]
2021-03-30 10:51:48 -04:00
Rangi
9a930988c2
Implement db, dw, dl, ds, and INCBIN with ld
...
To do: let the `b` in `ld [b @]` be optional, and allow
`ld [b @:<len>] = "file.bin"[<ofs>:...]`
2021-03-30 10:47:05 -04:00
Rangi
8c4204c542
Make 'w' and '...' tokens, and make '@' a separate token
...
Now '@' is valid as a relocexpr_no_str, in 'BANK(@)', and
in 'DEF(@)', but not in general T_ID or T_LABEL contexts
This will make it easier to implement INCBIN with 'ld'
2021-03-30 10:17:09 -04:00
Rangi
663c1930ec
Factor out 'ld a, a+c+' and 'ld a, a-c-' prefixes
...
This fixes all the shift/reduce and reduce/reduce conflicts
2021-03-30 09:57:08 -04:00
Rangi
30ccf43f44
Factor out individual 'ld <r16>,' prefixes
2021-03-30 09:43:34 -04:00
Rangi
fdc17adbcb
Factor out common ld a, prefix
2021-03-30 09:19:58 -04:00
Rangi
cc196954f3
Consolidate some parser rules with reg_ss and reg_r
...
There are now 5 shift/reduce conflicts and 3 reduce/reduce conflicts
2021-03-29 20:52:24 -04:00
Rangi
55b6cfff84
Prevent GitHub Actions from running any workflows
2021-03-29 19:50:13 -04:00
Rangi
1fc73b04eb
Parse ld instructions as discussed
...
There are 13 shift/reduce conflicts, so some instructions
may need different formats.
This also does not yet implement `db`, `dw`, `dl`, `ds`,
or `INCBIN` using `ld`.
The `lexerState->nextToken` solution to lexing something
like "a.2" as three tokens instead of one identifier
is taken from the first commit in rgbds PR #799 .
2021-03-29 19:42:18 -04:00
Rangi
d05703c692
Release 0.5.0-rc2
v0.5.0-rc2
2021-03-28 17:15:44 -04:00
Rangi
5dbfafcc55
Update man page copyrights to 2021
2021-03-28 16:37:15 -04:00
Rangi
a265b85d9d
Report "1 error", not "1 errors", when assembly is aborted
...
This matches other such pluralized error messages
2021-03-28 15:55:32 -04:00
Rangi
28abf03c0a
Output USED space, not FREE space, in the .map file
...
Fixes #808
2021-03-28 15:49:44 -04:00
Rangi
7e7f92f18c
Assign section locations to all UNIONs/FRAGMENTs
...
Fixes the test case from #800
The `out.gb` output was corrected, since the two "test"
fragments have a different order in ROM than in SRAM.
It is effectively:
; ROM0[$0000], fragments ordered by size
jr Label
dw Label
db 0
; SRAM[$a000], fragments ordered by .o order
ds 1 ; db 0
ds 2 ; jr Label
Label: ; $a003
ds 2 ; dw Label
2021-03-28 15:21:17 -04:00
Eldred Habert
7461170956
Add LOAD FRAGMENT pc test ( #800 )
...
Reproduces a reported problem, fix pending
2021-03-28 15:11:20 -04:00
Rangi
57d966d6e0
Merge pull request #804 from Rangi42/normal-backslash
...
Backslash in normal lexer mode must be a line continuation
2021-03-26 13:33:11 -04:00
Rangi
17752d7094
Backslash in normal lexer mode must be a line continuation
...
Macro args were already handled by `peek`, and character escapes
do not exist outside of string literals.
This only affects the error message printed when a non-whitespace
character comes after the backslash. Instead of "Illegal character
escape '%s'", it will print "Begun line continuation, but
encountered character '%s'".
2021-03-26 13:23:05 -04:00
ISSOtm
4216f0a9b0
Init top-level fstack node line number
...
It still gets written to the object file, generating Valgrind warnings
about using uninitialized memory. To silence those errors, and make
output more reproducible, init the line no to a dummy (0) value.
2021-03-25 11:26:58 +01:00
ISSOtm
e3fde986ad
Remove hashmap collision warning
...
It was only used to check hashmap collision rate in the wild,
but it no longer has a purpose and produces spurious messages
2021-03-23 21:34:08 +01:00
Rangi
aa99ed056c
Do not evaluate an untaken ELIF's condition
...
Fixes #764
2021-03-23 16:20:24 +01:00
ISSOtm
46d6652df1
Fix missing .sym/.map symbols in SECTION UNION/FRAGMENTs
...
Only the first "slice"'s symbols were considered, forgetting some symbols
2021-03-22 23:23:06 +01:00
ISSOtm
5406674cdd
Install groff to build PDFs correctly in CI
2021-03-20 02:09:47 +01:00
ISSOtm
5d2e2e2182
Make docs update script also produce PDFs
...
See rgbds-www#12
2021-03-20 01:53:26 +01:00
ISSOtm
a929f36bc5
Replace UTF-8 hyphens with ASCII ones in man pages
2021-03-20 01:25:17 +01:00
ISSOtm
bdb84a901f
Use sub-sections for the different symbol types
...
This will make them appear in the ToC, and generate HTML anchors for them
2021-03-19 11:04:22 +01:00
Rangi
093631ca0b
Revise rgbasm(5) string symbol documentation
...
Clarify the differences between EQUS expansion and {interpolation}
2021-03-19 01:48:36 +01:00
Rangi
7e127a4e52
Don't expand string symbols in MACRO and FOR symbol names
...
Explicit {interpolation} can still achieve this, but
to match DEF, REDEF, and PURGE, these new directives that
define symbols do not expand string EQUS.
2021-03-19 01:48:36 +01:00
Rangi
b8093847dc
New definition syntax with leading DEF keyword
...
This will enable fixing #457 later once the old
definition syntax is removed.
2021-03-19 01:48:36 +01:00
Rangi
8d1b56bcf5
rgblink identifies patches' PC sections after reading all sections
...
Fixes #794
2021-03-18 23:53:54 +01:00
ISSOtm
5fb7fcf461
Fix description of rgbgfx -h
...
The old description was backwards and mostly confusing.
2021-03-18 15:35:01 +01:00
Rangi
ee900ae7a3
Add a missing newline to a verbosePrint
2021-03-17 20:53:25 -04:00
ISSOtm
3ca58e13dc
Fix verbose messages claiming non-existent errors
...
They were confusing when trying to debug other things
2021-03-14 18:52:16 +01:00
ISSOtm
aaa4e17454
Add verbose messages for early exit from -MG
...
Should help debugging Make invocations
2021-03-14 18:28:05 +01:00
daid
a81d383f75
Alignment mask was incorrectly checked for 1 instead of 0
...
This caused an `ALIGN[1]` to be ignored.
2021-03-11 13:24:59 +01:00
ISSOtm
60019cf476
Fix a bunch of Clang warnings
...
As reported by #789
Should avoid relying on 32-bit int (for implicit conversions)
and account for more extreme uses of RGBDS.
2021-03-10 10:56:57 +01:00
ISSOtm
5a6a44cbc1
Fix master documentation updater
...
Its path was not synced with a recent change
2021-03-10 01:15:51 +01:00
ISSOtm
b61a187b19
Add forgotten __RGBDS_RC__ symbol
v0.5.0-rc1
2021-03-10 01:09:18 +01:00