Michael J. Mahon wrote:
It's also a shame that Apple II libraries of relocatable software never became popular (though the interface problems are myriad). The EDASM package loader was quite capable. At the time, I never did any projects large enough to justify separate assemblies and linking--come to think of it, I still haven't! ;-)
I used M80 and L80 from the Microsoft Assembly Language Development System to cross assemble and link/locate the host side of the CardZ180 operating system. The package supports a Fortran-like common segment that I used to great advantage in setting up jump tables at link time.
The stock ALDS package refuses to run on anything other than Microsoft CP/M 2.20 or 2.23 (original Softcard), but there was a very well known hack to disable the environment check. Herbert Oppman reverse engineered and hacked M80 to speak 65C02 opcodes, which came in quite handy. Not sure how many folks know about or use m80/l80, but they are quite a bit more sophisticated than any of the native Apple development tools of their day.
Steve