All
I have just posted a port of the old Digital Research MAC assembler to my c-ports GitHub repository
it is a port from the assembler code, largely from the old disassembly done by the late Werner Cirsovius, with a bit of additional analysis by myself using IDA Pro.
A consequence of this is that I have done a number of hacks to work around the unstructured code elements. At some point I may clean up more of the code, as I have already done in places, e.g. I/O and opcode symbol look up.
Although I have done some testing of the port and it appears to work on the samples I have used, if you would like to try it on your own source code, I would be grateful if you could let me know any anomalies or errors that you encounter.
I already know that the file name in the listing against MACLIB is not converted to upper case, which is deliberate as Unix files are case sensitive. Also I trim trailing white space.
The c-ports.pdf documentation under the doc directory documents the command line interface differences from the CP/M original, mainly due modifications on the controls which specified disks; now file names/paths are supported instead.
If you clone the repository, there are visual studio solution files and under the Linux directory there are makefiles to build under Linux.
Mark