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