Commit Graph

2379 Commits

Author SHA1 Message Date
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
Eldred Habert
66512ed8d2 Merge pull request #488 from rednex/assert
Add assertions
2020-03-21 23:06:44 +01:00
ISSOtm
fb58166e5d Add assertions
Closes #292
2020-03-21 23:00:38 +01:00
ISSOtm
0759c98d91 Increase version number to 0.3.10 v0.3.10 2020-03-21 21:18:14 +01:00
ISSOtm
402ffbf0c5 Add test for version constants 2020-03-21 21:01:25 +01:00
ISSOtm
8191e5eb27 Define version symbols
Major blunder. That warrants a new release on its own...
2020-03-21 19:26:40 +01:00
ISSOtm
03967bd623 Prevent purging referenced symbols
This is an immediate fix for #492, although #342 is needed to implement the
desired functionality.
2020-03-21 15:42:52 +01:00
ISSOtm
eb445271df Remove carryover from RGBASM in RGBLINK tests 2020-03-20 21:50:38 +01:00
ISSOtm
af22cf182b Simplify out_PCRelByte by using PC 2020-03-20 20:22:19 +01:00
ISSOtm
5a0fcda4c8 Prevent POPS within LOAD blocks 2020-03-20 18:57:37 +01:00
ISSOtm
29623c4146 Test generating direct bytes in LOAD blocks 2020-03-20 18:29:15 +01:00
ISSOtm
ebda8255ff Improve LOAD test to also test patches inside LOAD section 2020-03-20 18:20:20 +01:00
ISSOtm
deb91f679d Reset symbol scope on every section change 2020-03-20 17:59:47 +01:00
ISSOtm
fb5e768142 Prevent using LOAD blocks outide code sections 2020-03-20 16:37:10 +01:00
ISSOtm
ecf44c784c Reject including directories 2020-03-20 01:24:53 +01:00
ISSOtm
5bca1172ff Fix section continuation when only one bank exists 2020-03-19 23:07:07 +01:00
ISSOtm
136446fccb Improve checking of RST and LDH values at assembly time 2020-03-15 15:23:39 +01:00
ISSOtm
49bca8d588 Fix misnamed hashmap function 2020-03-15 15:23:39 +01:00