News

2024, July 12th - rmac 2.2.24 released

Changes since last release:

  • Minor fix for .incbin
  • Removed the external dependency for dirent.h on Windows
  • If ^^filesize could not open the requested file, it would show “(null)” as the filename
  • 680x0 parser would fail with “reached end of line while parsing expression” in certain conditions
  • Improved the handling of calculating expressions with labels in different sections
  • Fixed various 56k illegal combinations of parallel moves
  • Added hex value parsing for -Dsymbol=value command line command
  • 56k short immediate value was not clamped, so negatives would corrupt the opcode. Thanks to Steven Tattersall for the report and fix
  • Added a check for number of parameters in a dcb directive

Starting with this release, the mirror repositories that were announced in the previous post are now the main. The ones used up to this point are now considered out of date and have code up until v2.2.15. We hope to rectify this in the near future, but for now please update your bookmarks and scripts.

Also first for this release is aarch64 builds (for example: Raspberry Pi 5) provided.

Lastly, for people wanting to migrate from Devpac to rmac, there is now a small article written specifically for this purpose in addition to a section in the manual.

The Windows 64-bit/32-bit, Linux x64/aarch64, and OSX x64/M1 versions are ready to download, or alternatively visit the downloads page.

2024, February 29th - New official mirror site launched

Since recently the main hosting server has suffered from outages, we have launched a backup mirror host. So, feel free to use the equivalent repositories for rmac and rln.

If possible, use the main server to report issues, as the backup site currently has no way of notifying the authors about issue creation. E-mail is also a valid alternative.

2023, March 20th - rmac 2.2.15 released

This is mainly a bugfix release, which addresses changes introduced in v2.2.14. More specifically, the code against exporting fixups that are used as a part of an expression was too strict and produced an error on symbols that could actually be fixed up by the linker.

The Windows 64-bit and 32-bit, Linux and OSX/M1 versions are ready to download, or alternatively visit the downloads page.

2022, December 24th - rmac 2.2.14 released

Changes since last release:

  • Fix for some rare cases that would trigger an error in code inside a disabled block
  • Fixed a few bugs in .incbin optional parameters
  • Fixed a long standing 680x0 parsing issue where an expression like lea (4*8)+2(a0),a1 would produce a syntax error
  • Added support for Commodore 64 .PRG output format (-fc)
  • Added guard against exporting fixups that are used as a part of an expression
  • Added support for -fr switch and 6502 mode
  • Fixed a bug in floating point number parsing
  • Fixed a bug where very long filenames would cause a crash

The Windows 64-bit and 32-bit, Linux and OSX/M1 versions are ready to download, or alternatively visit the downloads page.

rmac

  • Added stabs symbol factory support
  • Added support for -g debug info generation
  • Introduced .align directive
  • Fixed .ccdef, broken since v2.2.2

The Windows 64-bit and 32-bit, Linux and OSX/M1 versions are ready to download, or alternatively visit the downloads page.

2022, August 16th - rmac 2.2.7 and rln 1.7.4 released

Changes since last release:

rmac

  • Added stabs symbol factory support
  • Added support for -g debug info generation
  • Introduced .align directive
  • Fixed .ccdef, broken since v2.2.2

The Windows 64-bit and 32-bit, Linux and OSX/M1 versions are ready to download, or alternatively visit the downloads page.

rln

  • Handle absolute BSS segment location of xt switch
  • Added Alcyon C object file support
  • Increased number of maximum command line arguments allowed
  • Increased number of maximum symbols handled

The Windows 64-bit and 32-bit, Linux and OSX/M1 versions are ready to download, or alternatively visit the downloads page.

2022, June 27th - rmac 2.2.4 released.

Changes since last release:

  • PC relative fixups in TOS mode were missing range check. This has been fixed
  • PACK and UNPACK GPU RISC instructions are swapped
  • Minor fix to kill unnecessary field YPOS in gpuobj in the OP assembler
  • Added -4 switch that enables C style operator precedence. Consult the manual for a more thorough description of this switch

The Windows 64-bit and 32-bit, Linux and OSX/M1 versions are ready to download, or alternatively visit the downloads page.

2022, May 31st - rmac 2.2.2 released.

Changes since last release:

  • ds directive now works with expressions that have undefined symbols (as long as they are resolved by the end of assembling)
  • equr has been overhauled and now works with all target architectures
  • Label names clashing with register names is now restricted to target architecture register names. As an example, this means that a label name of “a:” is now illegal only if the selected architecture has a register name “a” (at the time of writing: DSP56001 and 6502)
  • Printing a listing with -l* now doesn’t print \f characters when printing the symbol table
  • Register and Condition Code equates are now not exported as symbols

The Windows 64-bit and 32-bit, Linux and OSX/M1 versions are ready to download, or alternatively visit the downloads page.

2022, May 11th - Syntax highlighting.

There now exists syntax highlighting support for the editor 10x. If you have the editor installed, simply download rmac.10x_syntax and place it in your %APPDATA%\roaming\10x\Settings\SyntaxHighlighting folder. By default it works for .s files but it can be easily changed to support other extensions as well

2021, October 30th - rmac 2.1.13 released.

Changes since last release:

  • Fix for exported symbols in ELF object
  • Fix for incbin corner case
  • We are now offering experimental Apple M1 builds. These are untested, so any feedback is welcome

The Windows, Linux and OSX/M1 versions are ready to download, or alternatively visit the downloads page.

2021, August 20th - rmac 2.1.12 released.

Changes since last release:

  • .REPT blocks (including nested) now support unique generated names (using \~)
  • Robustness enhancements in .incbin
  • Changes in optimisation flags strategy
    • As of now, all optimisation flags are off by default (previously O0, O1 and O2 were on by default).
    • New optimisation flags introduced targetting the 56001
    • O10 enables the use of short format for immediate values (when possible)
    • O11 automatically converts short addressing mode to long
    • O10 (also known as Op) moved to O30

The Windows, Linux and OSX versions are ready to download, or alternatively visit the downloads page.

2021, June 9th - rmac 2.1.8 released.

Changes since last release:

  • Fixed bug where rmac would crash if a too complex expression was entered in a line. Thanks to Zorro of Ghost for the report.
  • Fixed handling of RMACPATH environment variable. Thanks to James Jones for the report and fix!
  • Harden RISC register parser. Thanks to DrTypo for the report.
  • Fixed bug where expressions that contained the star character (*) would be treated as absolute when .ORG is active. Many thanks to James Jones for the report.
  • Fixed bug where symbols redefined using SET more than once would be assembled to the last value.
  • Emit an error when “.opt +o” or “.opt ~o” is encountered (i.e. no arguments)
  • Don’t touch o10 (AKA op) when +/~Oall is called
  • Fix .goto directive
  • Improvements in reporting errors inside macros
  • Experimental static Linux build (64-bit only)

The Windows, Linux and OSX versions are ready to download, or alternatively visit the downloads page.

2020, August 17th - rmac 2.0.21 released.

This release addresses issues with exported symbols when using ELF object format. Click here to download the Windows and OSX builds or visit the downloads page

2020, August 3rd - rmac 2.0.20 released

This release fixes and enhances the -i command line switch. As usual, get the Windows and OSX builds or visit the downloads page