Commit Graph

335 Commits

Author SHA1 Message Date
Shamus Hammons e2b4a6f614 Version bump for last commit. :-) 2023-06-19 16:27:57 -05:00
ggn 23ff3174f4 - If ^^filesize could not open the requested file, it would show "(null)" as the filename
- Changed one '#include <...>' to 'include "..."'
- Minor doc additions
- Added 'dirent_lose.c/.h' to Visual Studio project
2023-06-19 16:26:48 -05:00
Shamus Hammons 977e372d50 Fix to placate the Visual Studio(TM) gods.
N.B.: Even MXE (which makes Windows(TM) executables), doesn't need this
      kind of special treatment.  So, meh.  :-/
2023-03-20 14:57:12 -05:00
Shamus Hammons bdae4ca0d4 Fix bug in d_incbin() (found by ggn). :-) 2023-03-20 13:22:25 -05:00
Shamus Hammons a529af0a2b Version bump for last commit. 2023-03-19 15:40:37 -05:00
ggn 41ec2754c0 Tentative fix for bug #218 - allow unresolved symbols with trivial expressions to be exported 2023-03-19 15:38:45 -05:00
Shamus Hammons 64dd9e00ec Fixes for bugs #211-213, submitted by Bastian Schick. :-) 2022-12-21 17:19:36 -06:00
ggn 41a8ca9921 Fix for #210 - 6502 mode with -fr working 2022-12-21 16:57:02 -06:00
ggn 31894aa869 Fix for #209 - forbid exporting expressions with unresolved symbols 2022-12-21 16:49:40 -06:00
Shamus Hammons c6808e75ed Files missed in the last commit. :-P 2022-12-21 16:37:53 -06:00
ggn 45c9dc2361 Added support for C64 .PRG output format (#194) 2022-12-21 16:34:54 -06:00
ggn 0172b60145 Fix for #216 - add token scanner to assist ea expression parsing 2022-12-21 16:18:07 -06:00
ggn 78d0bcae46 Rewrote .incbin's parsing and checks for position and size to increase robustness 2022-12-21 16:12:22 -06:00
ggn e6e125acd9 Fix for #199 - stop tokenising after the first symbol when inside a disabled code blcok 2022-12-21 16:05:58 -06:00
Shamus Hammons a095d8edf0 Version bump for last commit. 2022-08-16 12:26:58 -05:00
James Jones 5bcbdf7308 Fix ccdef
ccdef was broken by the following commit:

  commit 7d748dc6e2
  Author: ggn <ggn@atari.org>
  Date:   Thu Mar 24 13:28:09 2022 +0200

      Fix for #159: Split register sets according to architecture into
      different tables so they don't clash with label/symbol names.
      Modified tokeniser to use different tables when scanning for
      registers

This change fixes it by moving the ccdef and .ccdef
tokens from the unary table to the keyword table.
2022-08-16 12:24:36 -05:00
Shamus Hammons b2ad602f5c Version bump for last commit. 2022-08-16 12:22:11 -05:00
ggn 253a4352d6 Introducing .align directive, thanks to Bastian Schick for most of the implementation. Also, updated documentation and Windows script 2022-08-16 12:21:22 -05:00
Shamus Hammons db581e2d9e Version bump for last round of patches. 2022-08-15 21:09:13 -05:00
James Jones 526716329c Support -g debug info generation
-Add GenLineNoSym(), which will generate debug
 symbols for file names and line numbers when
 debug info generation is requested.

-Replace code that warns -g is not supported with
 code to set a flag.

-Complain if -g is specified for non-BSD output
 formats, as only stabs-in-symbol-table/a.out
 format debug information is supported currently.

-Document -g flag in usage information function.

-Document -g flag in manual.

v2:
-Only call debug symbol generation functions when
 dbg_sym != 0
2022-08-15 21:08:10 -05:00
James Jones e8f9d55bc7 Add NewDebugSymbol(): stabs symbol factory
This function, currently unused, generates a stabs
debugging symbol, as documented here:

https://sourceware.org/gdb/onlinedocs/stabs.html

It can be used to process stabs directives, also
documented at the above URL, generated by HLL
compilers such as GCC, as well as to generate line
number and file name debug symbols when assembling
hand-coded assembly files with the -g option.

v2:
-Don't double-init stabs symbol fields
-Consistently use tabs, not spaces
2022-08-15 21:08:06 -05:00
Shamus Hammons 3bdb75018b Version bump for latest commits. 2022-06-27 11:54:39 -05:00
ggn bf44dfb197 Fix for #203. Thanks to Steven Tattersall for the report. 2022-06-27 11:52:32 -05:00
James Jones e4747b998a Fix pack/unpack instructions
The GPU-specific PACK and UNPACK instructions
share opcode 63. PACK is chosen by encoding '0'
in the source operand, and UNPACK is chosen by
encoding '1' in the source operand. RMAC had the
magic source operand values reversed.
2022-06-27 11:52:29 -05:00
ggn 3f937a2ab5 Added "-4" switch that enables C style operator precedence (original work by Bastian Schick) 2022-06-27 11:52:24 -05:00
Shamus Hammons 9aa8503cdc Minor fix to kill unnecessary field YPOS in gpuobj in the OP assembler.
Turns out that the documentation we relied on was bogus; SCPCD confirmed
this (from the Jaguar netlists) as well.  Thanks to Bastian (42bs) for
the patch!  :-)
2022-06-27 08:44:00 -05:00
Shamus Hammons 2e6a046d5d Fix to prevent defined registers/CCs from being exported in the symtab.
As it turns out, this was not due to malice but because RMAC was set up
to squeeze out every label ever defined in the assembly.  Hopefully,
with this patch, things should be a bit more sane.  :-)
2022-05-30 17:40:19 -05:00
Shamus Hammons 7b931ff047 Added more things to .gitignore. \o/ 2022-05-30 15:04:58 -05:00
ggn e298f2149d Removed redundant table 2022-05-30 14:56:38 -05:00
ggn dc4424acbe Printing a listing with -l* now doesn't print \f characters when printing the symbol table. 2022-05-30 14:56:38 -05:00
ggn 7d748dc6e2 Fix for #159: Split register sets according to architecture into different tables so they don't clash with label/symbol names. Modified tokeniser to use different tables when scanning for registers 2022-05-30 14:56:38 -05:00
ggn 5559ac0292 Get rid of some old and deprecated macros 2022-05-30 14:56:38 -05:00
Shamus Hammons 185ee7af01 Version bump for following patch. 2022-05-30 14:53:46 -05:00
Shamus Hammons c044480a00 Added missing intern error text, version bump for last round of patches. 2022-05-30 14:30:11 -05:00
ggn 7a571a6d9e Addendum for #193: Do less tokenisation processing when inside a disabled code block 2022-05-30 14:18:39 -05:00
ggn 09135712da .equr overhaul part 5: enabled .equr for all registers for all architectures 2022-05-30 14:17:59 -05:00
ggn d21544da60 Removed some dead code, as well as all gpu/dsp regbank check code (not only it was complicated, it also was very incomplete - for example: no bank checks were performed during fixups) 2022-05-30 14:17:59 -05:00
ggn 9ad63bfb08 Fix for ^^filesize (these kind of hacks need to go in the long game) 2022-05-30 14:17:59 -05:00
ggn 1df6df8dae .equr overhaul part 4: handle equrundef (and the other permutations of the directive) 2022-05-30 14:17:59 -05:00
ggn f23a0935e1 .equr overhaul part 3: store and handle banks in .equr evaluation 2022-05-30 14:17:59 -05:00
ggn 216bfb25e0 .equr overhaul part 2: added equr evaluation during parsing. So far the gpu/dsp test seems to assemble fine 2022-05-30 14:17:59 -05:00
ggn c77f5e305e .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) 2022-05-30 14:17:59 -05:00
Shamus Hammons 0de5c6860b Version bump for latest patches. 2022-05-30 13:59:52 -05:00
Shamus Hammons 55ab14981b Documentation changes missing from last commit. :-P 2022-05-30 13:17:20 -05:00
ggn 0a1fc020c1 Fixed a wrong optimisation switch test, corrected some messages, updated docs 2022-05-30 13:16:38 -05:00
ggn 0d82e7a797 Proposed fix for bug #182 (ds.X doesn't work with relative expressions) 2022-05-30 12:38:30 -05:00
ggn ca744716ef Update .s documentation 2022-05-30 12:23:05 -05:00
Shamus Hammons 7d0a01ef5e Version bump for latest patches. 2021-10-30 10:24:34 -05:00
ggn 7170b3e33a Fix for incbin not including the exact requested bytes if offset is non zero 2021-10-30 10:23:26 -05:00
ggn dc18dfea58 Added more descriptive names for internal errors. Thanks to Jean-Paul Mari for the patch 2021-10-30 10:20:15 -05:00