Eldred Habert
cb4fbdfcd5
Merge pull request #550 from rednex/an/array
...
Refactor warning array for clarity
2020-08-05 10:53:21 +02:00
Eldred Habert
c6eacde55e
Merge pull request #544 from ISSOtm/atomic_ind
...
Split register-indirect tokens
2020-08-05 10:52:18 +02:00
Eldred Habert
613305d234
Add checkpatch link in README
2020-07-31 16:07:00 +02:00
ISSOtm
656432301d
Run as many CI jobs as possible when one fails
...
The other matrixes should not have this problem, so only touch unix testing
2020-07-27 18:34:32 +02:00
ISSOtm
38a80f2816
Fix test failing on OS-dependent trailing newline
2020-07-27 18:30:12 +02:00
ISSOtm
6563133426
Avoid using echo -e in tests
2020-07-27 18:26:05 +02:00
ISSOtm
762474d3ac
Let RGBASM write JR offsets in floating sections
...
This requires some special-casing for `jr @` because the `jr` opcode has
already been emitted, but not the operand, so PC points to the middle.
Moved the RGBLINK test to RGBASM's folder, and created a new RGBLINK test.
2020-07-27 18:17:29 +02:00
ISSOtm
b1adbcc77c
Output a non-empty RPN buffer from known expressions
...
The code expected to never get "known" expressions passed in, as RGBASM
otherwise patches the bytes in by itself; however, JR cannot be patched in
by RGBASM unless the section's base address is known as well!
2020-07-27 17:43:31 +02:00
Eldred Habert
dda052da20
Merge pull request #545 from JL2210/consistent-versions
...
Use versioning consistent with the Makefile in CMake
2020-07-26 19:16:27 +02:00
ISSOtm
0600856167
Move incbin slice sign check
...
The grammar's message is pretty generic, so this one is more useful.
2020-07-23 01:06:28 +02:00
ISSOtm
ce47b57b03
Document version string fallback in Makefile
...
For a packager just looking at the Makefile, it's not obvious that there
is one...
2020-07-22 16:21:58 +02:00
ISSOtm
f3c916ab96
Allow env vars to override default CFLAGS etc.
...
Should make the work easier for downstream packagers
2020-07-22 16:21:21 +02:00
ISSOtm
ca6fa6d1d7
Split register-indirect tokens
...
This allows whitespace between the brackets and the register.
This also fixes #531
Note that `$ff00 + c` is still treated as a single token, because trying to
use an expression on the left side causes a shift/reduce conflict.
This isn't great, but most people seem to be either used to it as-is, or
using the new `ldh a, [c]` syntax.
If this causes problems with a lexer rewrite, it'll be deprecated; but for
now, keep it around, as the support is clunky but bearable.
2020-07-22 15:00:39 +02:00
ISSOtm
fcd37b52b6
Update pret projects to latest commits
...
Behind pokecrystal by 123, behind pokered by 172
2020-07-22 00:29:38 +02:00
ISSOtm
8c0adb63a1
Sync release version in CMakeLists
2020-07-21 23:54:36 +02:00
ISSOtm
f5b0c701a6
Add install hint to CMakeLists
2020-07-21 23:41:56 +02:00
ISSOtm
874bd92604
Only require libpng 1.2 in CMakeLists
...
This version is sufficient for rgbgfx to function properly, according to testing.
The security problems are not ours to decide, however!
2020-07-21 23:23:52 +02:00
ISSOtm
69a8c62863
Add install directives to CMakeLists
...
Otherwise `make install` or `cmake --install` does not work
2020-07-21 23:17:33 +02:00
ISSOtm
5481af5093
Release 0.4.1
2020-07-21 23:11:06 +02:00
ISSOtm
6355d0598b
Regenerate docs for 0.4.1
2020-07-21 23:10:14 +02:00
Eldred Habert
1145d10996
Merge pull request #543 from ISSOtm/ubuntu20
...
Add Ubuntu 20.04 to CI
2020-07-21 22:24:28 +02:00
ISSOtm
32231e3f7e
Add Ubuntu 20.04 to CI
2020-07-21 22:15:56 +02:00
Eldred Habert
29314f76f7
Merge pull request #533 from JL2210/platform-fixes
...
Add platform-specific fixes file (only for MSVC, currently)
2020-07-21 22:11:25 +02:00
ISSOtm
8e92383fa3
Enable -Wobsolete by default
...
The fact that deprecations were common and quickly acted upon was raised by
some users
2020-07-21 21:06:48 +02:00
ISSOtm
0793e9effe
Fix develop compilation error
...
This bug slipped by because my pre-commit hook for testing was broken...
2020-07-21 20:10:28 +02:00
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