mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 18:04:07 +00:00
Upload
Digital Research
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
Assembling CP/M 3
|
||||
=================
|
||||
|
||||
The original CP/M 3 build process seems to have been written for a CP/M 3
|
||||
computer; it uses the MAC, RMAC, LINK, GENCOM and HEXCOM tools, which are
|
||||
not readily available for other platforms in this day and age.
|
||||
|
||||
HEXCOM.C (based on LOAD.C in <ftp://oak.oakland.edu/pub/unix-c/> ) serves
|
||||
as a suitable replacement for HEXCOM. The command syntax is:
|
||||
|
||||
HEXCOM comfile <hexfile
|
||||
|
||||
Similarly, to avoid a chicken-and-egg situation (SID is used to build SID),
|
||||
HEXPAT.C has been supplied to overlay a COM file with a HEX file.
|
||||
|
||||
The other tools are run under emulation rather than being ported. The
|
||||
emulator in question is ZXCC (version 0.3 or later); this can be downloaded
|
||||
from <http://www.seasip.demon.co.uk/Cpm/software/linux.html>. It will compile
|
||||
under DOS with DJGPP.
|
||||
Note: Earlier versions of ZXCC cannot use LINK on programs bigger than 8k.
|
||||
The latest ZXCC is necessary if you want to link the BDOS.
|
||||
|
||||
ZXCC is _not_ a full CP/M emulator. It contains a subset of CP/M sufficient
|
||||
to run the build tools above. Its command line syntax is:
|
||||
|
||||
zxcc cpmfile {+}{-}arg1 {+}{-}arg2 ...
|
||||
|
||||
The arguments arg1, arg2 etc. can be:
|
||||
|
||||
filename Arguments not starting "-" or "+-" are parsed as filenames.
|
||||
This process maps DOS directories to CP/M drives; so you could
|
||||
type ZXCC MAC.CPM G:\ASM\DUMP.ASM and DUMP.ASM would be visible
|
||||
to MAC.
|
||||
+filename Arguments starting "+" are appended to the preceding argument.
|
||||
See the LINK example below.
|
||||
-text Text starting "-" is copied in verbatim (not even converted to
|
||||
upper case).
|
||||
+-text The text is appended to the previous argument.
|
||||
|
||||
The reason for the "+" options is: Filenames must be passed to ZXCC
|
||||
surrounded by spaces, but ZXCC may need to pass them to the program in the
|
||||
middle of a string of text. In this example, ZXCC requires the filename parts
|
||||
to be separated by spaces, but they must be passed to LINK as one word:
|
||||
|
||||
LINK BDOS3=CPMBDOSX [OS,$SZ]
|
||||
|
||||
becomes
|
||||
|
||||
ZXCC LINK.CPM BDOS3 +-= +CPMBDOSX -[OS,$SZ]
|
||||
| |
|
||||
+------------+---+
|
||||
|
|
||||
The two + signs are used to remove the spaces either side of the "="; while
|
||||
the "-" signs prevent the "=" and the "[OS,$SZ]" from being parsed as
|
||||
filenames.
|
||||
|
||||
Reference in New Issue
Block a user