WLA DX vs SDAS for Z80 in 2018

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
WLA DX vs SDAS for Z80 in 2018
by on (#213548)
I was thinking of experimenting with the ColecoVision, Master System, or Game Gear so that I can write a music player targeting the TI SN76489 (and Yamaha's clone thereof) without having to go to something as obscure as the CreatiVision (which pairs the same VDP and PSG as the ColecoVision and SG-1000 with a 6502 but was never released in North America). I use Debian 9 and can compile programs from source code.

What's a decent, maintained assembler targeting Z80 that supports a similar use model to ca65? By this I mean assembly then linking with a linker configuration for each platform, as opposed to just .include all the other source files the way one would do with NESASM. I'm told WLA DX can do Z80, but I'm also told WLA is full of bugs. Is this still true? I looked into SDAS/SDLD included with SDCC, but asmlnk.txt didn't appear to have any instructions on how to write a linker configuration file.
Re: WLA DX vs SDAS for Z80 in 2018
by on (#213564)
I don't do any true Z80 stuff right so I don't have any first hand experience; all I can contribute are two facts: WLA started as a (GB)Z80 assembler so you're probably least likely to hit bugs when using it against that ISA, and SMS Power! recommends WLA.

Were I to want to cross-assemble some Z80 programs, WLA is probably where I'd start.
Re: WLA DX vs SDAS for Z80 in 2018
by on (#213576)
Do WLA DX have a linker though? I've only used it for SNES development long ago and I didn't like it.

The closest thing to ca65 I know is RGBDS, it at least has a linker and a powerful macro language. It's designed for Game Boy and I'm not sure if it's only GBZ80 though or if it can do stock Z80 as well.
Re: WLA DX vs SDAS for Z80 in 2018
by on (#213577)
I don’t believe it can. (edit: to be clear, I mean: I don't believe RGBDS supports the full Z80)
Re: WLA DX vs SDAS for Z80 in 2018
by on (#213580)
wlalink is WLA DX's linker. It comes with the program/suite.

Folks unsure about WLA DX's features/etc. should please read the documentation: https://github.com/vhelin/wla-dx/tree/master/doc