]>
Shamusworld >> Repos - rmac/log
ggn [Mon, 7 Mar 2022 16:52:24 +0000 (18:52 +0200)]
Fix for ^^filesize (these kind of hacks need to go in the long game)
ggn [Mon, 7 Mar 2022 16:50:33 +0000 (18:50 +0200)]
.equr overhaul part 4: handle equrundef (and the other permutations of the directive)
ggn [Sun, 6 Mar 2022 21:42:43 +0000 (23:42 +0200)]
.equr overhaul part 3: store and handle banks in .equr evaluation
ggn [Sun, 6 Mar 2022 19:37:58 +0000 (21:37 +0200)]
.equr overhaul part 2: added equr evaluation during parsing. So far the gpu/dsp test seems to assemble fine
ggn [Sun, 6 Mar 2022 18:07:19 +0000 (20:07 +0200)]
.equr overhaul part 1: remove gpu/dsp only restriction, make sure things still work (they do, but exported equrs do not match, which is weird considering they shouldn't be exported in the first place)
Shamus Hammons [Mon, 30 May 2022 18:59:52 +0000 (13:59 -0500)]
Version bump for latest patches.
Shamus Hammons [Mon, 30 May 2022 18:17:20 +0000 (13:17 -0500)]
Documentation changes missing from last commit. :-P
ggn [Sun, 17 Apr 2022 08:40:46 +0000 (11:40 +0300)]
Fixed a wrong optimisation switch test, corrected some messages, updated docs
ggn [Sat, 6 Mar 2021 18:18:43 +0000 (20:18 +0200)]
Proposed fix for bug #182 (ds.X doesn't work with relative expressions)
ggn [Sun, 17 Apr 2022 09:41:45 +0000 (12:41 +0300)]
Update .s documentation
Shamus Hammons [Sat, 30 Oct 2021 15:24:34 +0000 (10:24 -0500)]
Version bump for latest patches.
ggn [Mon, 11 Oct 2021 16:51:47 +0000 (19:51 +0300)]
Fix for incbin not including the exact requested bytes if offset is non zero
ggn [Sun, 17 Oct 2021 09:10:32 +0000 (12:10 +0300)]
Added more descriptive names for internal errors. Thanks to Jean-Paul Mari for the patch
ggn [Mon, 18 Oct 2021 15:25:29 +0000 (18:25 +0300)]
Potential fix for bug #175: don't add EQURd symbols to the export list when exporting to ELF
Shamus Hammons [Fri, 20 Aug 2021 15:57:53 +0000 (10:57 -0500)]
Version bump for latest commits.
ggn [Fri, 16 Jul 2021 12:04:22 +0000 (15:04 +0300)]
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)
ggn [Thu, 15 Jul 2021 16:08:10 +0000 (19:08 +0300)]
Addresses issue #185 - all optimisations off by default
Shamus Hammons [Fri, 20 Aug 2021 15:12:07 +0000 (10:12 -0500)]
Version bump for last commit.
ggn [Sat, 14 Aug 2021 15:11:17 +0000 (18:11 +0300)]
Fix for bug #187 - add more strict checks for .incbin sizes
Shamus Hammons [Fri, 20 Aug 2021 15:08:24 +0000 (10:08 -0500)]
Version bump for last commit.
ggn [Thu, 15 Jul 2021 16:39:44 +0000 (19:39 +0300)]
Remove all remaining traces of "as68_flag" from the codebase (issue #186)
Shamus Hammons [Fri, 20 Aug 2021 14:59:30 +0000 (09:59 -0500)]
Version bump for last commit.
ggn [Tue, 31 Oct 2017 09:33:02 +0000 (11:33 +0200)]
Expand \~ in .REPTs to unique label names as in macros. (issue #75)
Shamus Hammons [Wed, 9 Jun 2021 01:48:19 +0000 (20:48 -0500)]
Small fix that should have gone into the last commit. :-P
Shamus Hammons [Wed, 9 Jun 2021 01:45:29 +0000 (20:45 -0500)]
Version bump for last commit.
ggn [Wed, 2 Sep 2020 19:49:42 +0000 (22:49 +0300)]
Fix for bug #174 - when a macro contains an error, actually print the filename it was defined in, instead of current filename
Shamus Hammons [Wed, 9 Jun 2021 01:21:16 +0000 (20:21 -0500)]
Version bump for last commit.
ggn [Sat, 6 Mar 2021 08:56:03 +0000 (10:56 +0200)]
Fix for bug #181 (goto was never working corectly)
ggn [Sun, 8 Nov 2020 14:27:45 +0000 (16:27 +0200)]
Fix for issue #179: Don't touch o10 when +/~Oall is called. Made the o10 error message more verbose. Updated documentation.
Shamus Hammons [Wed, 9 Jun 2021 00:50:10 +0000 (19:50 -0500)]
Version bump for last commit.
ggn [Tue, 13 Oct 2020 17:06:35 +0000 (20:06 +0300)]
Produce error when ".opt +o" or ".opt ~o" is encountered. Also, small doc additions
Shamus Hammons [Wed, 9 Jun 2021 00:41:45 +0000 (19:41 -0500)]
Somehow these files slipped through the cracks... :-/
ggn [Mon, 12 Oct 2020 10:16:33 +0000 (13:16 +0300)]
Fix for bug #176: During AddFixup(), evaluate as much of the expression as possible to avoid changed symbols during the fixup pass
Shamus Hammons [Wed, 9 Jun 2021 00:05:30 +0000 (19:05 -0500)]
Version bump for last commit.
ggn [Tue, 1 Sep 2020 06:44:56 +0000 (09:44 +0300)]
Fix for bug #173 - expressions that contain "*" are treated as absolute when ORG is active. Also small cleanup of expr.c and doc update
Shamus Hammons [Tue, 8 Jun 2021 23:34:52 +0000 (18:34 -0500)]
Version bump for last commit.
James Jones [Thu, 27 Aug 2020 05:46:16 +0000 (22:46 -0700)]
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.
Shamus Hammons [Tue, 8 Jun 2021 03:42:33 +0000 (22:42 -0500)]
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. :-/
Shamus Hammons [Sun, 7 Mar 2021 22:43:25 +0000 (16:43 -0600)]
Update to the name (don't ask), and copyright dates. Now at v2.1.0.
Shamus Hammons [Tue, 29 Sep 2020 03:05:23 +0000 (22:05 -0500)]
Version bump for last commit; now at v2.0.23.
James Jones [Thu, 27 Aug 2020 05:19:26 +0000 (22:19 -0700)]
Fix RMACPATH
Commit
9ecc6f5e49e1740adee78dd45e1115c7e4fcc314
(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.
Shamus Hammons [Tue, 29 Sep 2020 02:41:40 +0000 (21:41 -0500)]
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
Shamus Hammons [Sun, 16 Aug 2020 21:43:05 +0000 (16:43 -0500)]
Version bump for last commit; now at v2.0.21.
ggn [Sat, 8 Aug 2020 14:17:56 +0000 (17:17 +0300)]
Fix for bug #170 - ELF output module exports global,defined symbols as undefined
Signed-off-by: ggn <ggn.dbug@gmail.com>
Shamus Hammons [Mon, 3 Aug 2020 17:28:57 +0000 (12:28 -0500)]
Version bump for last commit; now a v2.0.20.;35M;35m
ggn [Thu, 23 Jul 2020 13:40:21 +0000 (16:40 +0300)]
Fix for bug #167
Shamus Hammons [Mon, 3 Aug 2020 17:16:38 +0000 (12:16 -0500)]
Version bump + cleanup for last commit; now at v2.0.19.
ggn [Sat, 18 Jul 2020 17:47:31 +0000 (20:47 +0300)]
Some clarifications in the docs regarding warnings and optimisations
ggn [Sat, 18 Jul 2020 17:26:23 +0000 (20:26 +0300)]
Remove unused variables in amode.c
ggn [Sat, 18 Jul 2020 17:25:56 +0000 (20:25 +0300)]
Fix move <ea>,<ea020> code generation
ggn [Sat, 18 Jul 2020 16:34:16 +0000 (19:34 +0300)]
Fix a bug in +o5 where outer displacement would not optimise to word size
ggn [Sat, 18 Jul 2020 16:17:11 +0000 (19:17 +0300)]
Tidy up ([bd,An/PC],Xn.W/L...) size and scale parse code
ggn [Sat, 18 Jul 2020 15:26:53 +0000 (18:26 +0300)]
All size optimisation warnings are hidden by default unless rmac is invoked with '-s' (TODO: add optimisation flag(s) for these)
ggn [Sat, 18 Jul 2020 15:15:43 +0000 (18:15 +0300)]
Tighten up ea parsing for 020+ ea modes: PC relative 020+ modes are not allowed in the destination field
ggn [Sat, 18 Jul 2020 15:13:49 +0000 (18:13 +0300)]
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)
Shamus Hammons [Mon, 20 Jul 2020 14:45:09 +0000 (09:45 -0500)]
Reign in internal help back to 80 columns. :-P
Shamus Hammons [Fri, 17 Jul 2020 23:45:33 +0000 (18:45 -0500)]
Version bump for last commit + ws cleanups. Now at v2.0.18.
ggn [Fri, 17 Jul 2020 20:23:08 +0000 (23:23 +0300)]
Slight revamp of the optimisation system, featuring: strengthened flag parser, slight merge of two 020+ flags, fixes for +o6,+o8,+o9 and maybe more!
ggn [Thu, 16 Jul 2020 13:15:54 +0000 (16:15 +0300)]
Fix for bug #165: apply checks when transforming adda to lea, and also negate value in the case of suba
ggn [Wed, 15 Jul 2020 15:05:00 +0000 (18:05 +0300)]
Updates to the manual for .opt and .incbin
Shamus Hammons [Fri, 17 Jul 2020 23:05:25 +0000 (18:05 -0500)]
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.
Shamus Hammons [Sat, 4 Jul 2020 17:29:20 +0000 (12:29 -0500)]
Add sanity checks to input line tokenizer. Probably will need more.
Shamus Hammons [Sat, 4 Jul 2020 16:35:44 +0000 (11:35 -0500)]
Fix a small buglet in the last patch. :-)
Shamus Hammons [Sat, 4 Jul 2020 16:30:11 +0000 (11:30 -0500)]
Version bump for last commit. Now at v2.0.16.
ggn [Sat, 4 Jul 2020 09:56:21 +0000 (12:56 +0300)]
Extend incbin to incbin "filename" [,][size][,][offset]
Shamus Hammons [Sat, 4 Jul 2020 16:09:52 +0000 (11:09 -0500)]
Fix for bug #149; thanks to ggn for the patch. Now at v2.0.15.
Shamus Hammons [Sat, 4 Jul 2020 15:56:15 +0000 (10:56 -0500)]
Accidentally committed wrong makefile. :-/
Shamus Hammons [Sat, 4 Jul 2020 15:54:16 +0000 (10:54 -0500)]
Version bump for last commit; now at v2.0.14.
ggn [Sun, 7 Jun 2020 16:24:13 +0000 (19:24 +0300)]
Fix gcc10/clang link errors by adding "extern" to exported variables and defining a couple in headers (issue #162)
Shamus Hammons [Fri, 8 May 2020 15:22:41 +0000 (10:22 -0500)]
Version bump for latest patch. Now at v2.0.13.
James Jones [Sun, 12 Apr 2020 05:25:48 +0000 (22:25 -0700)]
Properly advance past register bank specifier
Register banks, like all constants, are stored
in the token stream as uint64_t values. Hence,
to advance the stream, the 32-bit tok pointer
must be advanced twice after parsing a register
bank.
Shamus Hammons [Mon, 2 Mar 2020 14:03:56 +0000 (08:03 -0600)]
Version bump for last commit; now at v2.0.12.
ggn [Sun, 1 Mar 2020 20:24:50 +0000 (22:24 +0200)]
Supplementary fix for bug #140. Apparently
bf4dbb2860116dd1d0fd934b28a16f9eb15cd7fd wasn't enough, we needed to add some extra logic to AddBSDSymEntry
Shamus Hammons [Fri, 28 Feb 2020 23:24:59 +0000 (17:24 -0600)]
Added check to see that include paths actually exist.
RMAC will now yell at you if you give it a bogus include path. Thanks
to ggn for the idea! Now at v2.0.11.
Shamus Hammons [Fri, 17 Jan 2020 20:16:03 +0000 (14:16 -0600)]
Version bump for last commits; now at v2.0.10.
ggn [Thu, 16 Jan 2020 09:47:59 +0000 (11:47 +0200)]
Add support for some missing ptestr/ptestrw/fsmove/fdmove. Add DSM in directives tab
ggn [Fri, 17 Jan 2020 11:56:40 +0000 (13:56 +0200)]
Added new optimisation option "+op" which enforces PC relative mode (#123)
ggn [Wed, 15 Jan 2020 06:31:07 +0000 (08:31 +0200)]
Forgotten file for the VS project
Shamus Hammons [Wed, 15 Jan 2020 04:14:01 +0000 (22:14 -0600)]
Fixes for bug #144 (unitialized code paths in 6502 codegen).
I was able to throw away a bunch of code in m6502cg(); things should be
much clearer vis-a-vis how things are parsed and code flow through that
function. Plus it's always nice to be able to throw away code. :-)
Now at v2.0.9.
Shamus Hammons [Fri, 10 Jan 2020 15:08:27 +0000 (09:08 -0600)]
Version bump for previous commits; now at v2.0.8.
Shamus Hammons [Fri, 10 Jan 2020 15:06:55 +0000 (09:06 -0600)]
Further fix for bug #135 (added RISC error reporting).
ggn [Thu, 9 Jan 2020 09:40:02 +0000 (11:40 +0200)]
Introducing new switch -fr which outputs binaries assembled at a given address.
ggn [Wed, 8 Jan 2020 12:47:49 +0000 (14:47 +0200)]
Fix for #145 - addressing mode mask was not restrictive enough for destinations
Shamus Hammons [Sat, 4 Jan 2020 16:24:57 +0000 (10:24 -0600)]
Fix for bug #135 (RISC error reporting for immediate values).
Thanks to Linkovitch for the report; now at v2.0.7.
Shamus Hammons [Fri, 3 Jan 2020 16:37:08 +0000 (10:37 -0600)]
Version bump for last commits; now at v2.0.6.
ggn [Fri, 3 Jan 2020 06:46:19 +0000 (08:46 +0200)]
Actually implement ^^FILESIZE this time :)
ggn [Fri, 3 Jan 2020 06:09:01 +0000 (08:09 +0200)]
Updated VS2015 project files, it should now build out of the box on VS2015 and later
Shamus Hammons [Fri, 3 Jan 2020 15:25:26 +0000 (09:25 -0600)]
EOY minor update.
Shamus Hammons [Fri, 3 Jan 2020 15:21:02 +0000 (09:21 -0600)]
Minor changes and version bump for prior commit; now at v2.0.5.
ggn [Fri, 3 Jan 2020 07:04:32 +0000 (09:04 +0200)]
Yet another fix for bug #77 - eval is now uint64_t so the check wasn't correct
Shamus Hammons [Thu, 2 Jan 2020 22:06:56 +0000 (16:06 -0600)]
Fix for bug #140 (unusual COFF writer case); now at v2.0.4.
ggn [Mon, 3 Sep 2018 12:08:52 +0000 (15:08 +0300)]
Long forgotten helper script which is used to create tables for VS builds
Shamus Hammons [Thu, 2 Jan 2020 18:37:24 +0000 (12:37 -0600)]
Version bump for the last few commits. Now at v2.0.3.
ggn [Thu, 29 Aug 2019 12:09:37 +0000 (15:09 +0300)]
Added DSM directive for 56001 mode (and not only). Updated doc. Condensed usage message.
ggn [Tue, 27 Aug 2019 08:09:29 +0000 (11:09 +0300)]
Updated documentation for v2.0.0
ggn [Fri, 10 Aug 2018 07:59:04 +0000 (10:59 +0300)]
Implement ^^FILESIZE unary operator that returns the file size of a given file. Minor doc update
ggn [Wed, 27 Jun 2018 11:04:21 +0000 (14:04 +0300)]
When expanding macro parameters ("\{param_name}") inside strings don't warn about bad backslashes
ggn [Wed, 27 Jun 2018 10:15:36 +0000 (13:15 +0300)]
More correct calculation of ^^ABSCOUNT. Also updated VS project. Now at version 2.0.1.
Shamus Hammons [Fri, 9 Aug 2019 14:48:31 +0000 (09:48 -0500)]
Minor code cleanups.
Shamus Hammons [Fri, 9 Aug 2019 14:12:14 +0000 (09:12 -0500)]
Fix a few minor problems with 030 mode PC relative fixups.