rg-asm release notes
The assembler and linker for Atari ST, TT and Falcon. Newest release first.
0.7.0 — 2026-07-29
Adds GenPC dialect support — Ziggy/OVR's PC cross-assembler (Overlanders).
Use --dialect=genpc for GenPC and as68 sources.
New features
--dialect=genpc: brace{/}macros,IF/WHILE/REPEAT,@octal, Devpac-styletext/end.- Flat binary output with
--raw; optional--relocreloc-table trailer and--strip-bsstail trim. LS/LSTsymbol-file load;.SY2overlay values when assembling with--reloc.
Improvements
- Default
--dialectrestored tovasmfor FASTBuild and GODLIB Motorola sources.
Bug fixes
- GenPC: SY2 overlay reloc values, WHILE/REPEAT parse depth, and sizing defaults (forward branches word-sized, unsized MOVE defaults to word).
0.6.0 — 2026-07-27
Much broader dialect coverage and byte-level checks against classic Atari
assemblers. Devpac, TurboAss, MADMAC, Alcyon and several other tools now have
committed goldens; --strict-dialect catches foreign syntax more reliably.
New features
- Full-syntax corpora for TurboAss and DevpacST 1.01 (STANDARD / GenST TOS programs).
- Expanded MADMAC, Alcyon AS68, Lattice, SEKA, GST-ASM and other dialect packs with host oracles.
- Dialects and smoke harnesses for additional vendored assemblers (Sozobon, Josy, Brainstorm, MWC, AssemPro, GFA).
- LLVM-flavoured GAS ingestion path and a
gas-llvmcorpus. - Aztec C Mot ingestion with a self-golden DRI pin (native ST
AS.TTPstill not available).
Improvements
- GenST / TurboAss
--prgoutput matches classic empty-DATA and reloc trailers more closely. --strict-dialectpromotes foreign-syntax heuristics to hard errors across dialects.- Rejection checklists and negatives for every dialect coverage matrix.
Bug fixes
- Fixed empty-DATA padding when text length was 2 mod 4 (vlink-style pad) for GenST-family and TurboAss programs.
- GenST 1.01 treats
|as a line comment; ENDC handling matches the era.
0.5.6 — 2026-07-24
Added more vasm Mot and Pure C dialect coverage, and fixed a macro expansion crash. Building the macOS release no longer needs CoreFoundation.
New features
- Broader vasm Mot syntax: nested
\@!/\@@stacks,-allmpfor args 10–35, include / offset / section, data aliases and conditionals. - Pure C
MACRO name.sizesized-macro expansion, plus SET / EQU / MACRO / REPT / CPU coverage. - Pure C object names and FIX tables closer to PASM.
Bug fixes
- Macro
.sizeand\?0expansion no longer panics. - Dropped the
chronodependency so macOS cross-builds do not need CoreFoundation.
0.5.5 — 2026-07-22
Added support for additional dialects and improved the size optimiser. rg-asm now understands far more of RMAC's syntax, produces tighter code at the higher optimisation levels, and lays out Devpac-style object files more faithfully.
New features
- Much broader support for RMAC-style source, including its higher optimisation levels.
- Tighter code from the size optimiser: some absolute memory accesses become shorter PC-relative forms.
- Improved Devpac-compatible object output and listing formatting.
Bug fixes
- Fixed a false error on some forward references in indexed PC-relative addressing.
- More accurate instruction timing for immediate-to-register arithmetic.
- Corrected a few object-file layout details for better interoperability with other tools.
0.5.1 — 2026-07-20
Added a machine-readable JSON mode and an optional per-function size/timing table. Also fixed a pile of linker bugs — cases that used to emit subtly wrong programs now either work correctly or stop with a clear error.
New features
- A
--jsonmode that prints one structured document you can feed to other tools. - An optional
--functionstable showing the size and cycle cost of each function.
Bug fixes
- Fixed several linking bugs that could silently produce incorrect programs.
- Out-of-range jumps, bad relocations, and malformed flat images now stop with a clear error instead of emitting wrong bytes.
Breaking changes
- With no
-o, the output file is now named after the input (main.s→main.prg) instead of alwaysout.tos. Pass-o out.tosto keep the old name. - The
--summaryoptions were replaced by--functions(the per-function table),-q(quiet), and--json(machine-readable). - A few command-line flags were renamed for consistency; see the manual for the current names.
- The separate manual and man page were folded into the README that ships with the download.
0.1.0 — 2026-06-01
First public release. One self-contained assembler and linker for Atari ST and Falcon development — runs natively on Linux, macOS and Windows with nothing else to install. Free and open source (MIT or Apache-2.0).
New features
- Assembles Motorola syntax plus seven other classic assembler dialects, detected automatically per file.
- Links directly to ready-to-run Atari
.TOS/.PRGprograms. - Supports the full 680x0 line (68000–68060) and ColdFire instruction sets, floating-point targets, and a size optimiser.
- Reads and writes every common Atari object-file format, so it mixes cleanly with other toolchains.
Known issues
- A handful of 68030 memory-management instructions are recognised but not yet assembled; rg-asm reports an error for them rather than risk emitting wrong code.