Short: WLA DX - 8-bit CPU Cross Macro Assembler Author: Ville Helin & People at GitHub Uploader: ville helin gmail com (Ville Helin) Type: dev/cross Version: 10.2 Replaces: dev/cross/wla_dx_v10.1.lha Architecture: m68k-amigaos >= 2.0.4 Distribution: Aminet 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 Package 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 CHANGELOG: Assemblers: 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 stderr. [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 working. [ALL] Memory overwrite messages should now have working line numbers in all cases. [ALL] WLA assembles now "WLAI" library files and "WLAk" object files. [ALL] Labels without ':' can now be used right on the next line after a .MACRO call. [ALL] Added keywords ISOLATED, ISOLATELOCAL and ISOLATEUNNAMED 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 using .IFs. [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 .ENUM. [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"). [658] WDM takes now a byte (i.e., "WDM $12"). [651] Removed wla-6510 as wla-6502 can be used for 6510. [650] 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. Linker: v5.17 (24-Jun-2022) Added SIZE to [sections] and [ramsections]. Added -R (file paths inside link file are relative to linkfile's location). WLALINK's summary is now printed to stdout instead of stderr. WLALINK didn't print verbose mode's summary at the end if listfile writing was enabled, but there was no listfile data. Bankheader sections now have listfile data. Sections that were appended to other sections have now listfile data. Included file in the middle of a source file doesn't kill the listfile data before it in the source file any more. Code outside .SECTIONs has now listfile data. Listfiles contain now line number, base (65816 only), bank, slot, PC and offset in addition to hexadecimal bytes. 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.