Commit Graph

33 Commits

Author SHA1 Message Date
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 4205233c83 EOY minor update. 2020-01-03 09:25:26 -06:00
Shamus Hammons 7d0d2b9ecd Fix a few minor problems with 030 mode PC relative fixups. 2019-08-09 09:12:14 -05:00
Shamus Hammons 29fa5dcf50 The deed has been accomplished.
As far as I can tell, there should be no more regressions, but that's
no guarantee of anything.  Assuming no more are found, this should go
out as version 2.0.0.  :-D
2019-08-07 18:24:52 -05:00
Shamus Hammons bdbf34766f Added in DSP fixups to sect.c, misc. fixes for 6502 assembler. 2019-08-06 10:16:20 -05:00
Shamus Hammons 30a2086548 Cleanup of codebase and initial commit of 56K assembler by ggn.
There's still a ways to go before this will work properly as we need to
add proper fixup handling and origin (".org") bookkeeping. As it is now,
the addition of all the miscellaneous bits and bobs to support the main
56K assembler are in place but they don't cause any regressions to the
existing assemblers already present in RMAC. Stay tuned for Round 2!
2018-06-23 11:57:21 -05:00
Shamus Hammons 261f8d9198 Added Jaguar Object Processor assembler.
Rationale for this and how it works can be found in
docs/note-on-the-op-assembler.txt. Version now at 1.13.0.
2018-02-25 21:39:59 -06:00
Shamus Hammons 4ca3c2db26 Add fixup stubs for FU_FLOATfoo types. Now at version 1.12.4. 2018-02-10 11:41:18 -06:00
Shamus Hammons a5527a0117 Fix for D_foo() macros.
Seems that no bounds checking was been done for the majority of the
D_foo() macros; that has been fixed. Now at v1.12.1.
2018-02-10 08:30:54 -06:00
Shamus Hammons 9153334781 Partial fix for bug #108 (Fixup cleanups).
RMAC has needed a struct for fixups for some time, and now it has one.
All of the credit for pushing (and patching!) in that direction goes to
ggn; blame for the way it's implemented goes to me. There's still room
for improvement; but for now, this should leave us in much better shape.
Now at v1.12.0.
2018-02-09 23:08:47 -06:00
ggn 0c583009c5 FPU instructions debugged and stricter checks enforced 2018-01-23 19:55:34 -06:00
Shamus Hammons 29b32d134b Lots of fixes for floating point handling; version now at 1.11.0.
Some of the following changes are ggn's, and some are mine:

 - When tokenizing floats we need to store them using a double pointer
 - PTR union needed a (double *)
 - Major changes to float depositing in eagen0.c
 - Reverted the changes in expr.c so at least floats are processed by
   expr() and friends
 - SYM svalue needs to be 64 bits
 - When EQUing a float symbol don't chop off the upper 32 bits from eval
 - Added fltpoint.{c,h} in order to properly create IEEE-754 floating
   point and Motorola extended numbers
 - Fixed float evaluations in evexpr()
 - Fixed floating point depositions in direct.c (in d_dc())
 - Upped the BSD image limit in object.c to 8MB for crazy people making
   6MB Jaguar ROMs (will need a real fix at some point)
2018-01-21 08:25:06 -06:00
Shamus Hammons eace4e1b29 Roll back TOKENPTR changes and most of the .u32 changes weren't needed.
The last commit had gone a bit overboard with the 32 vs 64 bit token
changes; this has been rectified. There's still a ways to go with the
floating point code, but this should be stable for now. Version now at
1.10.1.
2017-11-29 07:57:58 -06:00
Shamus Hammons f3c7d186a1 Fixes for last commit; version is now 1.10.0.
The float changes will need some going over to ensure that we don't end
up with what we had when pointers were shoved into the token stream
willy-nilly.
2017-11-21 07:54:55 -06:00
ggn 582df8950c Added floating point support to expression evaluator, introduced FLOAT token, fixup FU_ equates, fixed a load of casting warnings that (some) led to codegen bugs. 2017-11-18 09:54:04 -06:00
Shamus Hammons d1f5f1cacc Added a few more fixes piggybacked on the last one; bump to v1.8.6. 2017-08-29 13:28:18 -05:00
ggn 03dd34951a (c) message in header files and doc mini adjustments. 2017-05-08 09:15:22 -05:00
ggn 5cd8a4814b Initial commit for 68020/30/40/60/68881/68882/68851 support. 2017-05-06 13:06:57 -05:00
Shamus Hammons 9207a38ed4 Fixed code to remove warnings. Inching closer towards zero. :-) 2017-04-24 22:30:42 -05:00
Shamus Hammons ff2052bcaa Code cleanup, version bump for last commit. :-) 2017-04-20 14:29:31 -05:00
ggn 052be802ba 6502 support added back from original Madmac sources!
- Source fixed to work with current rmac implementation
- Removed ultra kludgy output mode and replaced it with .com/.exe./.xex output module (activated using -fx)
- Added #< and #> to give low and high bytes off an immediate word
- Included tester in "tests" folder.
- Updated docs.
2017-04-20 09:26:42 -05:00
Shamus Hammons 60f204cb9e ELF support for RMAC.
ggn deserves most of the credit for this, as my job was going through
and tossing out the stuff that wasn't needed. ;-) There might be some
ELFish things that still need fixing; time, as usual, will tell.
2017-04-14 15:52:31 -05:00
Shamus Hammons 66be644c3e Fix for bug #78: Thanks to ggn for reporting and supplying the patch.
Bug fix for .w access for alcyon target, added new optimisation that
converts 0(ax) to (ax).
2016-09-12 20:37:51 -05:00
Shamus Hammons d0c28c349d Fix for "*" getting bad section attributes, reported by A. Seed. 2015-02-19 08:56:14 -06:00
Shamus Hammons c04128b575 Fix for bug #29.
Whoever put this stuff together made a HUGE mistake in its alignment
pseudo-ops. Basically, before this fix, alignment directives in a RISC
section had absolutely NO guarantees of efficacy. This is what happens
when you bodge things together without extensive testing! Note that if
you had some RISC code that you had to wave a dead chicken at to get it
to work, it will probably not work any longer as the assembler will now
do what you tell it to. ;-)

This is a big enough change that it merits a minor version bump; we're
now at 1.3.0. :-)
2014-11-13 22:26:00 -06:00
Shamus Hammons 062214e620 Fixed word reversed fixup problem.
For some reason, there was code in several places that marked fixups/symbols
as belonging to a RISC section when it was clearly not the case. As a result,
it caused serious problems by reversing words in 68K sections just because a
symbol had been seen in a MOVEI # statement in a RISC section. Probably not
the last nasty surprise in this pile of spaghetti. :-/
2014-05-17 15:56:15 -05:00
Shamus Hammons b10167d557 More fixups to remove warnings, removal of more cruft. 2013-03-05 11:47:22 -06:00
Shamus Hammons 9fb8931331 Fixed subtle bug in section marking code.
Thanks to Linkvitch for helping find this one! Also, found and removed
some more 'GPU in Main' cruft hiding out in sect.c. Gone!
2013-02-15 21:27:29 -06:00
Shamus Hammons d16b8ea0ee First working 64-bit version of RMAC
There's still lots to do, like refactoring a bunch of stuff that's
still basically wrong, but that's par for the course. There may be
more things that need fixing (like the .rept function, for example).
2012-11-24 13:48:52 -06:00
Shamus Hammons 49cce96fba Code cleanup and prepartion for 64-bit host fixes
I removed a few functions that are better off being handled by the
native system libraries (malloc for amem, strdup for nstring). Also,
cleaned up files in preparation for removing pointers from the token
stream--which is preventing RMAC from working on 64-bit systems.
2012-11-23 10:39:09 -06:00
James Hammons 3385b36663 More readability cleanups. 2012-01-19 22:28:32 +00:00
James Hammons 75cce0d9eb Various cleanups to fix compiler warnings. 2011-12-26 23:54:45 +00:00
James Hammons d28f432296 Initial commit. 2011-12-26 22:50:27 +00:00