[fa.info-cpm] 6502 development tools

C70:info-cpm (08/01/82)

>From jsweet.uci@Udel-Relay Sat Jul 31 22:27:55 1982
I am aware of (although I haven't used) the following 6502 development
tools running unnder CP/M:

	[1] Microsoft ALDS.  The documentation that I have seen on
	    this product appears to be extensive.  However, I do
	    not know whether ALDS is available for systems other
	    than the Apple II CP/M implementation.  ALDS appears
	    to look like just another release of Microsoft's M80,
	    but it has a '.6502' pseudo-op to cause assembly of
	    the 6502 opcodes.

	    Drawbacks:  (please correct me if I'm wrong on this
	    point, someone)  M80 produces relocatable code which
	    must be linked with L80, Microsoft's linker.  The
	    linker makes it difficult to locate software in certain
	    areas of memory, making it occasionally (if not frequently)
	    unsuitable for development of software for foreign
	    (non-CP/M) environments.  Also, both M80 and L80 use
	    a cryptic (DEC-like) command syntax.

	    Advantages:  Fairly powerful macro capability, separate
	    code and data segments, good set of pseudo-ops.

	[2] Sorcim ACT-65.  This is an absolute assembler which
	    produces Intel hex-format output.  ACT-65 also has
	    macro capability, but from the documentation, does
	    not appear to have very powerful string handling
	    (e.g. an '&' operator, as in M80).  Although it
	    does not generate relocatable code (as implied by
	    the adjective "absolute"), there is a file inclusion
	    facility which helps circumvent the problem somewhat.
	    ACT-65 has a fairly robust set of pseudo-ops.


	[3] Avocet XASM65.  Advertised in BYTE.  I've never seen
	    a manual, so I can't tell you anything about it, except
	    for what appears in the ad.  It appears to be an
	    absolute assembler, a la ACT65.

   As for getting the softwware onto the target system, I have seen
nothing that sells with the packages mentioned above.  You'll either
have to ROM it, ram it through a serial port, or have some kind of
interchange format for diskettes.

grins, Jerry Sweet.

C70:info-cpm (08/02/82)

>From rconn@BRL Sun Aug  1 17:19:17 1982
        Re your M80/L80 note, L80 does provide switches  (/P  and
/D) to allow placement of the data and code areas almost anywhere
you desire.  Code can be generated, say, to reside in a  PROM  in
high  memory.   One trick to note about this is to use the /X op-
tion to generate a hex file rather than trying to generate a  COM
file,  since  L80  generates a COM file starting at 100 hex.  COM
files for programs in high memory are frequently quite large.

                                        Rick

C70:info-cpm (08/02/82)

>From jsweet.uci@Udel-Relay Mon Aug  2 03:18:08 1982
Thanks for the information on the /X, /P, and /D switches in L80.
Yes, you are correct about the memory images for programs ORG'd
at high memory; they do tend to be quite large.  One interesting thing that
I have encountered as a solution to this problem is  the MT Microsystems
linker for their CP/M Pascal.  Their linker assumes that if the /P
switch is specified, then it is up to the user to locate his memory
image himself.  The result is code that cannot run under CP/M directly
(as a COM file ORG'd at 100H), but which saves a significant amount
of disk space.


--Jerry

C70:info-cpm (08/05/82)

>From kevinw.ISL@BRL Thu Aug  5 03:33:34 1982
note that there is the ".phase" option in mac which allows the code
to be generated for one address while generating a relocatable at another
address, similar to the way that old (!!!old!!!) assemblers allowed
you to assemble FOR one address AT another address...

  Kevin