WLA DX - Yet Another GB-Z80/Z80/6502/65C02/65CE02/65816/6800/6801/6809/
8008/8080/HUC6280/SPC-700/SuperFX Multi Platform Cross Macro Assembler
Included in this release are executables for 68000, 68020 and 68040, compiled
using SAS/C v6.58. The full sources are also inside the archive.
For the latest sources: https://github.com/vhelin/wla-dx
v10.2 (24-Jun-2022) [ALL] Added SIZE to .RAMSECTION.
[ALL] Added -d to disable WLA's ability to calculate A-B
where A and B are labels.
[ALL] If SIZE is used with a .SECTION or .RAMSECTION and
the section doesn't fit into it, we now issue an error
instead of a warning.
[ALL] .FOPEN should now work with makefile generation.
[ALL] WLA's summary is now printed to stdout instead of
[ALL] Added support for UTF-8 source files (meaning labels,
macro names, definitions, etc. can all be UTF-8).
[ALL] When .ROMBANKMAP had ROM banks of different sizes,
the verbose summary's ROM information was not fully
[ALL] Memory overwrite messages should now have working
line numbers in all cases.
[ALL] WLA assembles now "WLAI" library files and "WLAk"
[ALL] Labels without ':' can now be used right on the next
line after a .MACRO call.
[ALL] Added keywords ISOLATED, ISOLATELOCAL and
to .MACRO. These make the local and unnamed labels
inside a .MACRO to stay inside and not affect the
outside world. The same goes for child label stack.
[ALL] We now don't do substitution in code that is skipped
[ALL] Added SIZE to .DSTRUCT and .STRUCT and to INSTANCEOF
in .RAMSECTION and .ENUM.
[ALL] If padding is put to a .DSTRUCT or INSTANCEOF in
.RAMSECTION or .ENUM, _paddingof_* definition is created
unless -s is given.
[ALL] Added optional COUNT to INSTANCEOF in .RAMSECTION and
[ALL] Added NOLABELS to .DSTRUCT.
[ALL] Added round(), floor() and ceil().
[Z80] Added "EX HL,DE" (an alias for "EX DE,HL").
[Z80] Added "EX HL,(SP)" (an alias for "EX (SP),HL").
[Z80] Added "EX IX,(SP)" (an alias for "EX (SP),IX").
[Z80] Added "EX IY,(SP)" (an alias for "EX (SP),IY").
 WDM takes now a byte (i.e., "WDM $12").
 Removed wla-6510 as wla-6502 can be used for 6510.
 Added undocumented opcodes to wla-6502.
[GB ] It's now possible to set the number of ROM banks to
any value larger than 0.
[GB ] WARNING: .ROMBANKS / .ROMBANKMAP don't write the ROM
size to $0148 any more, use .ROMSIZE for that.
[GB ] Added ROMSIZE to .GBHEADER.
v5.17 (24-Jun-2022) Added SIZE to [sections] and [ramsections].
Added -R (file paths inside link file are relative to
WLALINK's summary is now printed to stdout instead of
WLALINK didn't print verbose mode's summary at the end if
listfile writing was enabled, but there was no listfile
Bankheader sections now have listfile data.
Sections that were appended to other sections have now
Included file in the middle of a source file doesn't
kill the listfile data before it in the source file
Code outside .SECTIONs has now listfile data.
Listfiles contain now line number, base (65816 only),
bank, slot, PC and offset in addition to hexadecimal
If .SECTION "A" is using "AFTER "B"", .SECTION "A" will
now inherit .SECTION "B"'s .BASE as well.
We now skip the generated RAM_USAGE_SLOT_* labels when
trying to automatically find load address for a CBMPRG.