mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 17:04:19 +00:00
Upload
Digital Research
This commit is contained in:
@@ -0,0 +1,270 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CP/M-68K Cross Software for VMS
|
||||
-------------------------------
|
||||
|
||||
|
||||
Revision 01.04
|
||||
--------------
|
||||
|
||||
|
||||
August 28, 1983
|
||||
---------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Digital Research, Inc
|
||||
P.O. Box 579
|
||||
Pacific Grove, CA 93950
|
||||
(408) 649-3896
|
||||
TWX 910 360 5001
|
||||
|
||||
|
||||
|
||||
|
||||
************************
|
||||
* Company Confidential *
|
||||
************************
|
||||
|
||||
|
||||
|
||||
|
||||
Note: This document contains Digital Research proprietary infor-
|
||||
mation, and must not be copied or distributed for any purpose
|
||||
whatsoever, without prior written permission of Digital Research,
|
||||
Inc.
|
||||
|
||||
|
||||
Address Comments to: Steve Williams, x6082
|
||||
|
||||
|
||||
CP/M-68K Cross Software for VMS Page 2
|
||||
Introduction
|
||||
|
||||
|
||||
1.0 Introduction
|
||||
|
||||
This document describes the installation and execution
|
||||
procedures for the Digital Research 68000 cross development
|
||||
software for VAX/VMS. This software includes the C compiler,
|
||||
assembler, linker, archiver, symbol table print utility, object
|
||||
module size utility, and S-Record conversion utility. These
|
||||
tools execute in much the same fashion as they do under CP/M-68K,
|
||||
as documented in the CP/M-68K Programmer's Guide.
|
||||
|
||||
2.0 Installation Procedures
|
||||
|
||||
The tools are distributed on a 9-track FLX format mag tape
|
||||
(either 800 or 1600 bpi is available). To bring up the software
|
||||
on VMS, perform the following steps:
|
||||
|
||||
1. Login to a valid account.
|
||||
|
||||
2. Create directories for four ersatz devices: "bin:" (.exe
|
||||
files), "com:" (command files), "lib:" (library files),
|
||||
and "cpm:" (CP/M-68K files).
|
||||
|
||||
3. Enter VMS "ASSIGN" commands for these directories in
|
||||
LOGIN.COM, e.g:
|
||||
|
||||
$ assign drb0:[c.bin] bin:
|
||||
$ assign drb0:[c.com] com:
|
||||
$ assign drb0:[c.lib] lib:
|
||||
$ assign drb0:[c.cpm] cpm:
|
||||
|
||||
Note that the full path name must be specified.
|
||||
|
||||
4. Perform the above assignments manually, re-login or
|
||||
re-execute LOGIN.COM to make the device names valid.
|
||||
|
||||
5. Read the tape as follows:
|
||||
|
||||
$ allocate mt:
|
||||
$ mount mt:/foreign
|
||||
$ set def lib:
|
||||
$ mcr flx /rs=mt:[1,1]*.*/do/im
|
||||
$ mcr flx /rs=mt:[1,2]*.*/do
|
||||
$ set def bin:
|
||||
$ mcr flx /rs=mt:[1,3]*.*/do
|
||||
$ set def cpm:
|
||||
$ mcr flx /rs=mt:[1,4]*.*/do/im
|
||||
$ mcr flx /rs=mt:[1,5]*.*/do
|
||||
$ set def com:
|
||||
$ mcr flx /rs=mt:[1,6]*.*/do
|
||||
$ @install
|
||||
$ dismount mt:
|
||||
$ deallocate mt:
|
||||
|
||||
|
||||
CP/M-68K Cross Software for VMS Page 3
|
||||
Installation Procedures
|
||||
|
||||
|
||||
You may need to replace the "mt:" device name above with a
|
||||
different device name, depending on the type of tape drive
|
||||
you have. Consult your system administrator for details.
|
||||
|
||||
6. Add the statements in the file "xlogin.com" to LOGIN.COM
|
||||
so that the proper command definitions are performed at
|
||||
login time.
|
||||
|
||||
Once the above steps have been performed, the software is ready
|
||||
to use on VMS.
|
||||
|
||||
3.0 Operating Instructions
|
||||
|
||||
The following sections describe how to run the installed
|
||||
cross software on VMS.
|
||||
|
||||
3.1 C compilation
|
||||
|
||||
A C compilation is performed using the 'c68' command as
|
||||
follows:
|
||||
|
||||
$ c68 file
|
||||
|
||||
The ".c" extension is implied and must not be specified. The
|
||||
'c68' command is extremely similar to the 'C' SUBMIT file on
|
||||
CP/M-68K. Default floating point format is Motorola FFP using
|
||||
the "c68" command. The "ce68" command causes the compiler to use
|
||||
IEEE format floating point numbers.
|
||||
|
||||
3.2 Assembly
|
||||
|
||||
The assembler is invoked in exactly the same manner as on
|
||||
CP/M-68K. The output (listing and errors) can be redirected to a
|
||||
file or device using the ">filename" construct. A sample command
|
||||
is:
|
||||
|
||||
$ as68 -l -u -p file.s >file.lis
|
||||
|
||||
This command assembles "file.s" and places the object in
|
||||
"file.o". The listing is output to "file.lis". All assembler
|
||||
options valid under CP/M-68K may be used on VMS as well.
|
||||
|
||||
3.3 Linking
|
||||
|
||||
The LO68 program is used with the same options and command
|
||||
line syntax as on CP/M-68K. For example,
|
||||
|
||||
$ lo68 -r -o file.rel file1.o file2.o
|
||||
|
||||
links "file1.o" with "file2.o", creating "file.rel", a relocat-
|
||||
able format file.
|
||||
|
||||
|
||||
CP/M-68K Cross Software for VMS Page 4
|
||||
Operating Instructions
|
||||
|
||||
|
||||
C programs are linked using the "clink" command, as with
|
||||
CP/M-68K:
|
||||
|
||||
$ clink file1
|
||||
|
||||
This links "file1.o" with the C runtime software to produce
|
||||
"file1.rel", a relocatable format 68000 load module. Separately
|
||||
compiled modules may be linked in the following way:
|
||||
|
||||
$ clink file1 file2 file3 file4 ...
|
||||
|
||||
All of the object files are linked to produce "file1.rel". A
|
||||
limit of 9 such files is imposed by the command file.
|
||||
|
||||
The "clink" command procedure assumes that the program being
|
||||
linked does not use floating point. To link a program using FFP
|
||||
floating point, use "clinkf" instead of "clink". IEEE floating
|
||||
point programs (those compiled with the "ce68" command) are
|
||||
linked using "clinke".
|
||||
|
||||
3.4 Archive Files
|
||||
|
||||
The CP/M-68K archive program (AR68) can be used under VMS
|
||||
exactly in the same fashion as under CP/M-68K. For example, to
|
||||
create a library file:
|
||||
|
||||
$ ar68 r lib a.o b.o c.o
|
||||
|
||||
This command creates a library called "lib" containing the three
|
||||
files "a.o", "b.o", and "c.o".
|
||||
|
||||
4.0 Building CP/M-68K
|
||||
|
||||
Using the VAX cross tools to build CP/M-68K is similar to
|
||||
building the operating system on CP/M. You link the BIOS with
|
||||
CPMLIB to produce a relocatable image file (CPM.REL). Use the
|
||||
RELOC utility to create the absolute load image (CPM.SYS). The
|
||||
CP/M-68K SUBMIT files "LCPM.SUB" and "RELCPM.SUB" have been
|
||||
adapted to VMS procedure files to make this process easier.
|
||||
|
||||
For example, to create the EXORmacs distribution system, use
|
||||
the following sequence of commands:
|
||||
|
||||
$ set def cpm:
|
||||
$ @normbios !Create "bios.o"
|
||||
$ @lcpm !Create "cpm.rel"
|
||||
$ @relcpm 15000 !Create CPM.SYS at 15000 hex.
|
||||
|
||||
The boot loader for CP/M-68K is generated in a similar fashion,
|
||||
as documented in the CP/M-68K System Guide.
|
||||
|
||||
|
||||
CP/M-68K Cross Software for VMS Page 5
|
||||
File Transfer Techniques
|
||||
|
||||
|
||||
5.0 File Transfer Techniques
|
||||
|
||||
|
||||
5.1 S-records
|
||||
|
||||
The normal method of transferring files to a 68000 target is
|
||||
via Motorola S-records. The SENDC68 program converts a load
|
||||
module file from binary format to S-record format. The command
|
||||
syntax for this program is:
|
||||
|
||||
SENDC68 [-] file.68k >file.sr
|
||||
|
||||
Where "file.68k" is an absolute format CP/M-68K load module, and
|
||||
"file.sr" is the created S-record file. This form of the load
|
||||
module may be created using the linker "-t" switch or the reloc
|
||||
utility. The RELCPM command used in the CP/M-68K generation
|
||||
procedure generates an absolute file. The "-" option specifies
|
||||
that S-records are not to be created for the ".bss" segment. The
|
||||
default is to create S-records that zero all locations in the
|
||||
".bss".
|
||||
|
||||
The resulting S-record file may be downloaded via the VMS
|
||||
"TYPE" command into a target system with a PROM debugger, such as
|
||||
the MACSbug program on the EXORmacs.
|
||||
|
||||
5.2 Other Transfer Techniques
|
||||
|
||||
Other techniques such as binary download utilities or CP/M
|
||||
file transfer utilities may be used to transfer CP/M-68K load
|
||||
modules to the 68000 target. When such a technique is used, the
|
||||
bytes in the file must be swapped, and the words of all longword
|
||||
quantities in the load module header must be swapped. Library
|
||||
modules may not be transferred using this technique without
|
||||
extensive rearrangement of the headers. The symbol table in
|
||||
object and load module files will have the symbol names byte
|
||||
swapped in this type of transfer.
|
||||
|
||||
6.0 Trademarks
|
||||
Reference in New Issue
Block a user