ISSOtm
c25b0be085
Document that -t and -w convert section types
...
This is also a fairly overdue doc update
2020-07-21 20:05:26 +02:00
ISSOtm
1f2f797cb9
Add section fragments
...
Fixes #517 , and hopefully enables RGBDS as a SDCC back-end
2020-07-21 19:56:46 +02:00
ISSOtm
aca00e4fce
Document MP etc. in rgbasm(1)
...
This is actually kind of overdue...
2020-07-21 15:55:56 +02:00
Eldred Habert
cf80293d9b
Merge pull request #540 from daid/patch-1
...
Make the local variables of getopt static.
2020-07-21 13:11:30 +02:00
Eldred Habert
79f293c3d7
Merge pull request #529 from JL2210/cmake
...
Add CMake build system
2020-07-20 16:02:47 +02:00
Eldred Habert
8c765883fb
Merge pull request #536 from braydenm303/patch-1
...
Fix error in documentation about unary not
2020-07-20 15:11:29 +02:00
Eldred Habert
8b60efa149
Merge pull request #530 from JL2210/fix-clang
...
Fix Clang warning in linkdefs
2020-06-27 22:07:19 +02:00
Eldred Habert
f996186fae
Merge pull request #526 from JL2210/fix-bank-index
...
Fix indexing of banks array, fixes #525
2020-06-21 12:44:17 +02:00
Eldred Habert
b958820bce
Merge pull request #523 from RandomBananazz/patch-1
...
Fixed error in POP AF instruction reference
2020-05-27 12:45:44 +02:00
Eldred Habert
663f0ca3b0
Merge pull request #522 from JL2210/djgpp
...
Fix DJGPP build
2020-05-21 22:37:24 +02:00
ISSOtm
71fa62c9d1
Fix incorrectly spaced unary ! in RPN documentation
2020-05-13 01:20:34 +02:00
ISSOtm
5c6069dbe9
Add NULL and overflow checks to macro args
2020-05-13 01:17:58 +02:00
ISSOtm
d517d2d6b4
Change macro arg allocation to geometric growth array
2020-05-13 00:22:56 +02:00
ISSOtm
80218fa109
Fix array overflow on invalid macro arg evaluation
...
`macro_GetArg` had not been changed after the previous commit; however,
the old code relied on the `macroArgs->args` array being at least
`MAXMACROARGS` entries large (which was the case until the last commit).
The boundary against which it checked would have better been written as
`sizeof(macroArgs->args)/sizeof(macroArgs->args[0])`, I guess, but what's
done is done.
2020-05-12 16:44:23 +02:00
Eldred Habert
fee8a58b77
Merge pull request #521 from aaaaaa123456789/master
...
Support over 256 macro arguments
2020-05-12 15:46:42 +02:00
Eldred Habert
4d0d6664d7
Merge pull request #520 from JL2210/inttypes-stdint
...
Use inttypes for stdint types
2020-05-07 17:31:06 +02:00
ISSOtm
363458c3bc
Fix semi-unused variable in lexer.c
2020-05-06 19:55:37 +02:00
ISSOtm
b299f6fb3b
Fix uninitialized memory use with -MT and -MQ
...
This didn't break unless the first uninitialized byte was non-zero,
which happened to be the case on someone's Windows machine.
Would it be worth it setting up Valgrind in CI?
2020-05-06 19:19:10 +02:00
Eldred Habert
645473e336
Merge pull request #518 from JL2210/warn-parameterless-dx
...
Add empty data directive warning
2020-05-06 16:25:03 +02:00
ISSOtm
781a65ee49
Fix hashmap collisions sometimes hanging deletion
2020-05-03 19:13:12 +02:00
ISSOtm
c135e2c6a0
Fix local sym names not being expanded by PURGE
...
And an additional bug that broke the attached test
2020-05-03 19:06:48 +02:00
ISSOtm
12693081c9
Use colons for hour symbols
2020-04-28 13:05:06 +02:00
Eldred Habert
7c22954fd5
Merge pull request #513 from JL2210/disable-padding-option
...
Add option to disable padding in rgblink
2020-04-27 11:05:55 +02:00
ISSOtm
8958e352df
Update documentation for new -x option
2020-04-27 11:04:29 +02:00
ISSOtm
573003113b
Fix 0-byte sections incorrectly printed in map files
...
Fixes #515
2020-04-17 11:38:28 +02:00
Eldred Habert
106ef895ee
Merge pull request #514 from JL2210/fix-gfx-gb-leak
...
Add error checking and fix memory leak in gfx/gb.c
2020-04-14 21:31:12 +02:00
ISSOtm
5fe3a0adb6
Remove non-OPT options from Options struct
2020-04-13 17:15:00 +02:00
Eldred Habert
cdb4c5f553
Merge pull request #509 from JL2210/zero-alloc-use-fix-3
...
Fix use of zero-allocated memory
2020-04-13 02:50:58 +02:00
ISSOtm
57639f3765
Change comment style and use errx instead of err
2020-04-13 02:50:11 +02:00
Eldred Habert
9bec983923
Merge pull request #511 from JL2210/memory-errors
...
Fix memory errors in makepng
2020-04-13 02:39:17 +02:00
ISSOtm
2220f19fa7
Fix use-after-free with include in linker scripts
...
Fixes #510 , and further proves that you *really* should not entrust memory
ownership management to humans :P
2020-04-13 02:36:19 +02:00
ISSOtm
023a3c037f
Properly handle missing symbols
...
Fixes #512
2020-04-12 22:52:32 +02:00
ISSOtm
828edb7403
Remove spurious error from div by zero test
2020-04-12 01:05:06 +02:00
ISSOtm
a034ce0478
Deprecate '*' for comments
2020-04-09 17:57:15 +02:00
Eldred Habert
d6cd5823e3
Merge pull request #508 from JL2210/mod-by-zero-fix-2
...
Fix modulo by zero
2020-04-09 14:52:12 +02:00
ISSOtm
f9f27d6f5a
Clean up symbol system
...
Get rid of Hungarian notation
Improve encapsulation (the rest of the world should not touch PC directly)
2020-04-09 10:42:37 +02:00
Eldred Habert
5ea8490e2b
Merge pull request #507 from JL2210/null-pointer-fix-1
...
Fix possible null pointer dereference
2020-04-08 23:35:21 +02:00
ISSOtm
40f8e33e6c
Fix periods not being accepted as second char of label names
2020-04-08 15:14:07 +02:00
ISSOtm
0157ba63d3
Document whitespace before local labels
2020-04-08 15:08:29 +02:00
ISSOtm
9e3d8b22cb
Document new intra-section align
...
Also sneak in two code style fixes forgotten in last commit
2020-04-08 15:01:36 +02:00
ISSOtm
665412c073
Implement mid-section alignment directive
...
Fixes #254 .
2020-04-08 12:29:00 +02:00
ISSOtm
2b0c34ecb5
Fix a few code style errors
2020-04-08 00:44:41 +02:00
ISSOtm
b0ec8468e6
Allow specifying offset in addition to alignment
2020-04-08 00:40:41 +02:00
ISSOtm
e82ad21704
Use a single byte for alignment
2020-04-07 21:19:09 +02:00
ISSOtm
e098bf47ba
Allow references to be overridden by constant symbols
...
RGBLINK is capable of handling it now.
Though it'd be ideal for RGBASM to directly catch it.
Fixes #496 .
2020-04-07 20:57:20 +02:00
ISSOtm
190678107b
Prevent RGBLINK from crashing when getting the bank of a constant
2020-04-07 20:41:29 +02:00
ISSOtm
9f82fa4cf7
Fix BANK(@) outside sections causing crashes
2020-04-07 15:51:17 +02:00
Eldred Habert
562835308b
Merge pull request #504 from runlevel5/gcc10-fix
...
Fix multiple definitions for GCC10
2020-04-07 15:18:23 +02:00
ISSOtm
927c65e863
Fix incorrect PC in LOAD blocks at link time
2020-04-07 14:44:51 +02:00
ISSOtm
5b6c1569a4
Make failure to open file a fatal error
2020-04-07 11:36:44 +02:00
ISSOtm
82e0e4ffaf
Make some RGBLINK errors non-fatal
2020-04-06 00:48:10 +02:00
ISSOtm
ffb199a26a
Avoid Useless Use of backticks in rgblink testing
2020-04-06 00:44:59 +02:00
ISSOtm
175933d2b1
Remove old scripts for updating references for tests
...
I much rather prefer correcting everything by hand, and gauging
whether the change is good on a case by case basis
2020-04-06 00:41:37 +02:00
Eldred Habert
c86e6fef0a
Merge pull request #502 from JL2210/more-conventional-permissions
...
Use more conventional permissions and man-page directory
2020-04-06 00:25:33 +02:00
ISSOtm
153915dc2f
Improve portability of new make dist
2020-04-04 14:48:15 +02:00
ISSOtm
ced38bc6ee
Add new Makefile target for release tarballs
2020-04-04 14:23:28 +02:00
ISSOtm
4e96cf9875
Release 0.4.0
2020-04-03 12:11:50 +02:00
ISSOtm
80170eb6eb
Regenerate man page HTML renders
2020-04-03 12:03:59 +02:00
ISSOtm
bdad1499fe
Merge branch 'release'
2020-04-03 11:58:53 +02:00
Eldred Habert
1f5ca39559
Merge pull request #494 from ISSOtm/docs
...
Overhaul man pages
2020-04-03 11:56:41 +02:00
ISSOtm
5013b64f55
Update disassemblies to latest commits
2020-04-02 21:26:38 +02:00
ISSOtm
7eb73d766e
Make compilation optimized unless debugging
...
Note: I wanted to enable `-Og` on `develop`, but this generated warnings
(thus, errors) that aren't in `-O0`. Needs further investigation, but
annoyingly some of those are within `extern/` code, thus requiring
different flags, which AFAIK is only possible (sanely) with GNU Make.
2020-04-02 16:56:04 +02:00
ISSOtm
bcfeb49d6b
Allow labels to be passed to DEF
2020-04-02 16:54:41 +02:00
ISSOtm
702d9e0542
Fix wrong error function used in RGBGFX
2020-03-31 17:28:31 +02:00
ISSOtm
c0aff678e9
Improve arg-shift test
2020-03-29 12:34:13 +02:00
ISSOtm
a3d8836671
Prevent assertions outside sections from crashing
2020-03-29 12:18:24 +02:00
ISSOtm
db1eb8fbcb
Revert "Prevent RGBASM from outputting corrupted files"
...
This reverts commit 06fe27c516 .
According to Microsoft's documentation
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/tmpfile?view=vs-2019
`tmpfile` attempts to create the temporary file at the **root** folder
This seems to assume that the user has admin rights; might be a compat
thing, idk, but it breaks on people's computers.
(CI didn't catch it, annoyingly.)
Reverting to make RGBASM usable on most Windows computers.
(Sanely-configured ones, at least.)
Another solution to #446 needs to be figured out, yay...
2020-03-27 23:36:11 +01:00
ISSOtm
95f347dc6a
Evaluate assertions after placing sections
2020-03-27 20:00:29 +01:00
ISSOtm
6579120d9e
Simplify symbol-writing logic
2020-03-27 12:32:14 +01:00
ISSOtm
84cd9f2db9
Fix segfaults when using PC outside a section
2020-03-27 12:30:09 +01:00
ISSOtm
06fe27c516
Prevent RGBASM from outputting corrupted files
...
Properly fixes #451
2020-03-27 11:19:02 +01:00
ISSOtm
5039af6af1
Document new "unionized section" feature
2020-03-26 23:50:30 +01:00
ISSOtm
4df74d44ec
Improve opcode reference
2020-03-26 23:11:01 +01:00
ISSOtm
9113647d41
Fix incorrect macro used for x-ref
2020-03-26 23:11:01 +01:00
ISSOtm
26af2bff5e
Prevent text from bumping sides on mobile devices
2020-03-26 23:11:01 +01:00
ISSOtm
3c304f3acf
Override mandoc styling without modifying the stylesheet
2020-03-26 23:11:01 +01:00
ISSOtm
e308130e23
Update style overrides for new mandoc.css
2020-03-26 23:11:01 +01:00
ISSOtm
713eef9ef2
Update mandoc style sheet
2020-03-26 23:11:01 +01:00
ISSOtm
7635a2fc74
Reword and give an example of symbol interpolation
2020-03-26 23:11:01 +01:00
ISSOtm
6889334521
Add viewport tag for mobile users
2020-03-26 23:11:01 +01:00
ISSOtm
d1e82e50cb
Improve style of man page HTML renders
...
See individual comments within `rgbds.css` for more info
Not too fond of having to modify `mandoc.css`, but I did my best to
modify as little as possible
2020-03-26 23:11:01 +01:00
ISSOtm
7955447ca4
Overhaul man pages
2020-03-26 23:11:01 +01:00
ISSOtm
51e225cd75
Add post-processor for HTML renders
...
Adds links to argument descriptions in synopsis
Adds links to man pages in the set (not to external ones)
Removes artifact from the way long opts are encoded
Makes description blurb inline, consistently with terminal output
2020-03-26 23:11:01 +01:00
ISSOtm
187f88aa50
Only copy necessary characters for bare labels
2020-03-26 23:10:51 +01:00
ISSOtm
caddd61f17
Remove "column 1" restriction for local labels
...
Because a local symbol is necessarily a label, the disambiguation
is not necessary. This is a first step towards fixing #457 .
2020-03-26 22:36:40 +01:00
ISSOtm
29629245a4
Use new hashmap implementation for symbols
2020-03-24 12:50:53 +01:00
ISSOtm
666b9f8f7b
Add tests for purging symbols
2020-03-24 10:52:45 +01:00
ISSOtm
7deb8d3e8a
Allow purging exported symbols
2020-03-24 10:52:02 +01:00
ISSOtm
cb0a882a31
Order warnings alphabetically
2020-03-23 16:03:36 +01:00
ISSOtm
df2c0dc2f9
Check for unsatisfiable alignment constraints
...
Fixes #493
2020-03-22 11:54:57 +01:00
ISSOtm
062fa5392b
Still override alignment even if not satisfied
2020-03-22 11:52:31 +01:00
Eldred Habert
baeec2315f
Merge pull request #495 from ISSOtm/sectunion
...
Implement unionized sections
2020-03-22 11:21:24 +01:00
ISSOtm
92134d7684
Add testing for assertions inside unionized sections
2020-03-22 11:14:04 +01:00
ISSOtm
4877bb783c
Add more tests for unionized sections + fix bugs
...
Implementing those tests found a few bugs... oops
2020-03-22 11:14:04 +01:00
ISSOtm
275b8e15ff
Document modification to object file format
2020-03-22 11:14:04 +01:00
ISSOtm
e123b6dec7
Implement unionized sections in RGBLINK
2020-03-22 11:13:39 +01:00
ISSOtm
cb52ae0f26
Implement unionized sections in RGBASM
...
This touched a lot more code than initially expected, for two reasons.
First, this broke a big RGBASM assumption: that sections are always being
written to at their end. This plus other problems required touching
basically the entirety of `section.c`.
Second, I tried different solutions to solve the above problem, and along
the way I cleaned up many things around. (I believe that keeping this to
"cleanup" commits yields subpar results, and since it's boring they get
postponed anyways.)
RGBLINK support still needs to be added, but this will come next.
2020-03-22 11:06:17 +01:00
ISSOtm
46a402f7d7
Prevent passing assertions that RGBASM passed to RGBLINK
2020-03-22 10:46:37 +01:00
ISSOtm
e233c5d256
Don't drop RGBLINK output in RGBASM tests
2020-03-22 10:43:06 +01:00
Eldred Habert
fe824e0068
Merge pull request #490 from ISSOtm/const
...
Implement `ISCONST`, reporting compile-time constness
2020-03-21 23:20:01 +01:00