Commit Graph

335 Commits

Author SHA1 Message Date
ggn 7c93fb2f08 Potential fix for bug #175: don't add EQURd symbols to the export list when exporting to ELF 2021-10-30 10:01:54 -05:00
Shamus Hammons c0ef609f73 Version bump for latest commits. 2021-08-20 10:57:53 -05:00
ggn 5b53a2a9e5 Add new optimisation switches for 56001 mode that were missing. Added warnings to all optimisation messages, as well as mention which switch caused the optimisation. Moved opt +op to opt +30 (Issue #185) 2021-08-20 10:57:31 -05:00
ggn d000ce6bab Addresses issue #185 - all optimisations off by default 2021-08-20 10:57:27 -05:00
Shamus Hammons 9cb3b2008d Version bump for last commit. 2021-08-20 10:12:07 -05:00
ggn c10417f62b Fix for bug #187 - add more strict checks for .incbin sizes 2021-08-20 10:11:50 -05:00
Shamus Hammons 282d24138b Version bump for last commit. 2021-08-20 10:08:24 -05:00
ggn 7815a9c950 Remove all remaining traces of "as68_flag" from the codebase (issue #186) 2021-08-20 10:08:06 -05:00
Shamus Hammons f88159cab2 Version bump for last commit. 2021-08-20 09:59:30 -05:00
ggn 721ff28e66 Expand \~ in .REPTs to unique label names as in macros. (issue #75) 2021-08-20 09:59:09 -05:00
Shamus Hammons 58c0626339 Small fix that should have gone into the last commit. :-P 2021-06-08 20:48:19 -05:00
Shamus Hammons 9102e505f5 Version bump for last commit. 2021-06-08 20:45:29 -05:00
ggn 37694c99b0 Fix for bug #174 - when a macro contains an error, actually print the filename it was defined in, instead of current filename 2021-06-08 20:41:50 -05:00
Shamus Hammons 1dc13859b6 Version bump for last commit. 2021-06-08 20:21:16 -05:00
ggn e1bd14aee0 Fix for bug #181 (goto was never working corectly) 2021-06-08 20:20:48 -05:00
ggn 22203fdc3b Fix for issue #179: Don't touch o10 when +/~Oall is called. Made the o10 error message more verbose. Updated documentation. 2021-06-08 20:11:29 -05:00
Shamus Hammons 10cdaba793 Version bump for last commit. 2021-06-08 19:50:10 -05:00
ggn 5c830e8dbf Produce error when ".opt +o" or ".opt ~o" is encountered. Also, small doc additions 2021-06-08 19:49:41 -05:00
Shamus Hammons 40883e54a5 Somehow these files slipped through the cracks... :-/ 2021-06-08 19:41:45 -05:00
ggn b08cf87bcf Fix for bug #176: During AddFixup(), evaluate as much of the expression as possible to avoid changed symbols during the fixup pass 2021-06-08 19:25:13 -05:00
Shamus Hammons 70658ae2fd Version bump for last commit. 2021-06-08 19:05:30 -05:00
ggn 5d066fc786 Fix for bug #173 - expressions that contain "*" are treated as absolute when ORG is active. Also small cleanup of expr.c and doc update 2021-06-08 19:04:59 -05:00
Shamus Hammons 023e788775 Version bump for last commit. 2021-06-08 18:34:52 -05:00
James Jones b1d365c467 Treat ':' as a path separator on non-Windows platforms
In addition to ';', allow the use of ':' as a path
separator in RMACPATH, the -i parameter, and any
other uses of nthpath. This makes rmac more
consistent with standard Unix tool behavior on
Unix-like systems.
2021-06-08 18:34:07 -05:00
Shamus Hammons 1b714ae49d Harden RISC register parser and simplify expression evaluator.
The bulk of this patch is ggn's; I rolled a few more macros after I
realized that the EOL check in the RISC assembler required checking its
return value as well as EvaluateRegisterFromTokenStream()'s.  :-/
2021-06-07 22:42:33 -05:00
Shamus Hammons cbc8347d4f Update to the name (don't ask), and copyright dates. Now at v2.1.0. 2021-03-07 16:43:25 -06:00
Shamus Hammons 3a00205f10 Version bump for last commit; now at v2.0.23. 2020-09-28 22:05:23 -05:00
James Jones 619867988e Fix RMACPATH
Commit 9ecc6f5e49
(Fix for bug #167) fixed specifying multiple
include directories on the command line, but in
doing so broke specifying any include directories
via the RMACPATH environment variable.  Fix this
by restoring the old behavior of searchpath being
NULL if -i/-I were not specified.
2020-09-28 22:04:40 -05:00
Shamus Hammons ba8121d864 Fix for bug #51. Now at v2.0.22.
We bumped the # of tokens in the TOKENSTREAM structure from 32 to 64,
but also added some logic to the macro invocation code to check if we
break the limits and thus don't crash.  Will 64 be enough?  My crystal
ball is cloudy ATM...  :-P
2020-09-28 21:41:40 -05:00
Shamus Hammons 357c51c8d2 Version bump for last commit; now at v2.0.21. 2020-08-16 16:43:05 -05:00
ggn ceab9325bd Fix for bug #170 - ELF output module exports global,defined symbols as undefined
Signed-off-by: ggn <ggn.dbug@gmail.com>
2020-08-16 16:42:45 -05:00
Shamus Hammons 821279dcb7 Version bump for last commit; now a v2.0.20.;35M;35m 2020-08-03 12:28:57 -05:00
ggn 9ecc6f5e49 Fix for bug #167 2020-08-03 12:24:36 -05:00
Shamus Hammons 4a08774b12 Version bump + cleanup for last commit; now at v2.0.19. 2020-08-03 12:16:38 -05:00
ggn 188ff8b3a5 Some clarifications in the docs regarding warnings and optimisations 2020-08-03 11:42:36 -05:00
ggn ed46489fe5 Remove unused variables in amode.c 2020-08-03 11:42:36 -05:00
ggn 096b1cf722 Fix move <ea>,<ea020> code generation 2020-08-03 11:42:36 -05:00
ggn cadc95fb53 Fix a bug in +o5 where outer displacement would not optimise to word size 2020-08-03 11:42:36 -05:00
ggn 0ea4f9ed4f Tidy up ([bd,An/PC],Xn.W/L...) size and scale parse code 2020-08-03 11:42:36 -05:00
ggn 56498a1110 All size optimisation warnings are hidden by default unless rmac is invoked with '-s' (TODO: add optimisation flag(s) for these) 2020-08-03 11:42:36 -05:00
ggn d6e8469638 Tighten up ea parsing for 020+ ea modes: PC relative 020+ modes are not allowed in the destination field 2020-08-03 11:42:36 -05:00
ggn d812346ecf In ([bd,An/PC],Xn,od) parsing check for forced .w first and fall back to .l otherwise (worst case .l might get optimised to .w) 2020-08-03 11:42:36 -05:00
Shamus Hammons 4ee0f36a71 Reign in internal help back to 80 columns. :-P 2020-07-20 09:45:09 -05:00
Shamus Hammons ac3149e460 Version bump for last commit + ws cleanups. Now at v2.0.18. 2020-07-17 18:45:33 -05:00
ggn 9afaf60ca2 Slight revamp of the optimisation system, featuring: strengthened flag parser, slight merge of two 020+ flags, fixes for +o6,+o8,+o9 and maybe more! 2020-07-17 18:20:19 -05:00
ggn ff8fcfc317 Fix for bug #165: apply checks when transforming adda to lea, and also negate value in the case of suba 2020-07-17 18:20:15 -05:00
ggn 72743a7fa1 Updates to the manual for .opt and .incbin 2020-07-17 18:09:46 -05:00
Shamus Hammons e01afe2aa5 Fix for bug #157 (token buffer overflow with long lines).
Also fixed a bug reported by swapd0 where a source file was longer than
65535 lines.  Now at v2.0.17.
2020-07-17 18:05:25 -05:00
Shamus Hammons c4fcee52c8 Add sanity checks to input line tokenizer. Probably will need more. 2020-07-04 12:29:20 -05:00
Shamus Hammons ace0b549a9 Fix a small buglet in the last patch. :-) 2020-07-04 11:35:44 -05:00