On Tuesday, April 4, 2023 at 9:36:46 AM UTC-4, Plo wrote:dynamically load into memory (within the limit of 64k), obviously to the detriment of execution speed, the various program segments whose sum is greater than 64k... Something similar to PLINK86 in a PC DOS environment... Now I can't find either the LINK.
Hi everyone,
some time ago I found on the internet an original LINK.COM version of CP/M-80 by Digital Research whose manual described between the various switches /../../ one which performed a dynamic linking between the various .REL and Libraries, allowing to
Microsoft FORTRAN and M80 overlay capabilities "back in the day". If you areThanksHere you go...
http://cpmarchives.classiccmp.org/cpm/Software/rlee/D/DIGITAL%20RESEARCH/MAC-RMAC/
My preference is Microsoft M80 and L80. L80 is compatible with LINK. But the BEST linker (in my opinion) was PLINK-II -- that did REL files, Whitesmiths object files and others. Would link just about ANYTHING. And, did overlays. That was used to give
interested, I can supply the software and a manual. Let me know... (as a PS, I haven't tried... but PLINK-II may beAnd I note... you are already familiar with PLINK86... so you know the story already.
able to give Propero FORTRAN overlays as well).
Hi everyone,dynamically load into memory (within the limit of 64k), obviously to the detriment of execution speed, the various program segments whose sum is greater than 64k... Something similar to PLINK86 in a PC DOS environment... Now I can't find either the LINK.
some time ago I found on the internet an original LINK.COM version of CP/M-80 by Digital Research whose manual described between the various switches /../../ one which performed a dynamic linking between the various .REL and Libraries, allowing to
Thanks
On Tuesday, April 4, 2023 at 9:55:51 AM UTC-4, fridtjof.ma...@gmail.com wrote:dynamically load into memory (within the limit of 64k), obviously to the detriment of execution speed, the various program segments whose sum is greater than 64k... Something similar to PLINK86 in a PC DOS environment... Now I can't find either the LINK.
On Tuesday, April 4, 2023 at 9:36:46 AM UTC-4, Plo wrote:
Hi everyone,
some time ago I found on the internet an original LINK.COM version of CP/M-80 by Digital Research whose manual described between the various switches /../../ one which performed a dynamic linking between the various .REL and Libraries, allowing to
Microsoft FORTRAN and M80 overlay capabilities "back in the day". If you areThanksHere you go...
http://cpmarchives.classiccmp.org/cpm/Software/rlee/D/DIGITAL%20RESEARCH/MAC-RMAC/
My preference is Microsoft M80 and L80. L80 is compatible with LINK. But the BEST linker (in my opinion) was PLINK-II -- that did REL files, Whitesmiths object files and others. Would link just about ANYTHING. And, did overlays. That was used to give
Hi Fred,interested, I can supply the software and a manual. Let me know... (as a PS, I haven't tried... but PLINK-II may beAnd I note... you are already familiar with PLINK86... so you know the story already.
able to give Propero FORTRAN overlays as well).
https://www.autometer.de/unix4fun/z80pack/ftp/manuals/DRI/cpm-3/
On Tuesday, April 4, 2023 at 10:25:22 AM UTC-5, Udo Munk wrote:Thank's a lot!!!! Douglas,Udo
https://www.autometer.de/unix4fun/z80pack/ftp/manuals/DRI/cpm-3/
The "Programmer's Utilities Guide" is the one you want for LINK, "Section 15 LINK-80".
I have put a scanned copy of the link80 manual on my website at https://mark-ogden.uk/files/LINK-80_Operators_Guide_Dec80.pdfNote, that is a rather old version of LINK-80 described in that manual. It does not show the OS, OR, or B switches. Nor the '$' switches.
My reverse engineering efforts for link80 back to PLM source can be found in the cpmsrc directory of https://github.com/ogdenpm/intel80tools
Mark
Il giorno martedì 4 aprile 2023 alle 11:35:12 UTC-4 Douglas Miller ha scritto:
On Tuesday, April 4, 2023 at 10:25:22 AM UTC-5, Udo Munk wrote:
https://www.autometer.de/unix4fun/z80pack/ftp/manuals/DRI/cpm-3/
The "Programmer's Utilities Guide" is the one you want for LINK, "Section 15 LINK-80".Thank's a lot!!!! Douglas,Udo
I have a lot of meat to put on the fire !!!!!!!!!!!!!!!!
If it hasn't already been mentioned, there is a decent PDF of the DRI LINK-80 manual on archive.org
https://archive.org/details/bitsavers_digitalRestorsGuideDec80_4642080/mode/2up
On Wednesday, April 5, 2023 at 8:27:47 PM UTC-5, Mark Lougheed wrote:The decompiled version does include the switches.
If it hasn't already been mentioned, there is a decent PDF of the DRI LINK-80 manual on archive.orgThat's the same, out of date, version that Mark Ogden posted. It may have good information in it, but does not have the new switches and associated features.
https://archive.org/details/bitsavers_digitalRestorsGuideDec80_4642080/mode/2up
link partl[$sz,$od,$lb,q],partZThe $1 switch specifies the drive to be used for intermediate files during the entire link operation, but the other $ switches can be changed in the command line. The
link partl[$szodlb,Q],partZ
link partl[$sz od Ib],partZ[Q]
link root (ovl[$szcz])(ovZ)(ov3)(ov4[$sacx])suppresses the SYM files and console output generated when OV1, OV2 and OV3 are linked. When OV4 is linked, LINK-80 places the SYM file on drive A and sends
On Thursday, 6 April 2023 at 02:38:48 UTC+1, Douglas Miller wrote:Gorgeous, complete and accurate description Mark!!!!!!!
On Wednesday, April 5, 2023 at 8:27:47 PM UTC-5, Mark Lougheed wrote:The decompiled version does include the switches.
If it hasn't already been mentioned, there is a decent PDF of the DRI LINK-80 manual on archive.orgThat's the same, out of date, version that Mark Ogden posted. It may have good information in it, but does not have the new switches and associated features.
https://archive.org/details/bitsavers_digitalRestorsGuideDec80_4642080/mode/2up
The CPM3 programmers utilities manual (page 237 onwards) shows the link flags
15.4.2 The BIOS Link (B) Switch
The B switch is used to link a BIOS in a banked CP/M 3 system. LINK-80 aligns
the data segment on a page boundary, puts the length of the code segment in the
header, and defaults to the SPR filetype
15.4.11 The Output RSP File (OR) Switch
The OR switch outputs RSP (Resident System Process) files for execution under MP/M.
15.4.12 The Output SPR File (OS) Switch
The OS switch outputs SPR (System Page Relocatable) files for execution under MP/M.
15.5 The $ Switch
The $ switch controls the source and destination devices. The $ switch takes the general form:
$td
where t is a type, and d is a drive specification.
LINK-80 recognizes five types:
• C-Console
• I - Intermediate
• L - Library
.O-Object
• S -Symbol
The drive specification can be a letter in the range A through P corresponding to one of sixteen logical drives, or one of the following special characters:
• X- Console
• Y - Printer
• Z - Byte bucket
15.5.1 $Cd - Console
LINK-80 usually sends messages to the console, but messages can be directed to the list device by using $CY, or they can be suppressed by using $CZ. Once $CY or
$CZ has been specified, $CX can be used subsequently in the command line to redirect messages to the console device.
15.5.2 $Id - Intermediate
LINK-80 usually places the intermediate files it generates on the default drive. The $I switch allows you to specify another drive for intermediate files.
15.5.3 $Ld - Library
LINK-80 usually searches on the default drive for library files that are automatically linked because of a request item in a REL file. The $L switch instructs
LINK-80 to search the specified drive for these library files.
15.5.4 $Od - Object
LINK-80 usually generates an object file on the same drive as the first REL file in the command line, unless an output file with an explicit drive is included in the
command. The $O switch instructs LINK-80 to place the object file on the drive specified by the character following the $O, or to suppress the generation of an
object file if the character following the $O is a Z.
15.5.5 $Sd - Symbol
LINK-80 usually generates a symbol file on the same drive as the first REL file in the command line, unless an output file with an explicit drive is included in the
command. The $S switch instructs LINK-80 to place the symbol file on the drive specified by the character following the $S, or to suppress the generation of a symbol
file if the character following the $S is a Z
15.5.6 Command Line Specification
The td character pairs following a $ switch must not be separated by commas. The entire group of $ switches must be set off from any other switches by a comma. For
example, the three command lines shown below are equivalent:
link partl[$sz,$od,$lb,q],partZThe $1 switch specifies the drive to be used for intermediate files during the entire link operation, but the other $ switches can be changed in the command line. The
link partl[$szodlb,Q],partZ
link partl[$sz od Ib],partZ[Q]
value of a $ switch remains in effect until it is changed as LINK-SO processes the command line from left to right. This is especially useful when linking overlays. (See
Section 16.) For example, the command
link root (ovl[$szcz])(ovZ)(ov3)(ov4[$sacx])suppresses the SYM files and console output generated when OV1, OV2 and OV3 are linked. When OV4 is linked, LINK-80 places the SYM file on drive A and sends
any messages to the console device.
Hope the above helps
Mark
https://www.autometer.de/unix4fun/z80pack/ftp/manuals/DRI/cpm-3/Disappointed to find that there are 17 pages missing from the Programmer's Utilities Guide (end of section 16 through Appendix C). Did not check any others, just noticed this while looking for a good LIB-80 document (which was section 17, of course).
Il giorno giovedì 6 aprile 2023 alle 19:35:09 UTC-4 Douglas Miller ha scritto:I have an original hard-copy. Just had to go to the back room and dig it out.
On Tuesday, April 4, 2023 at 10:25:22 AM UTC-5, Udo Munk wrote:It's a pity...Hope you can find the complete documentation...
https://www.autometer.de/unix4fun/z80pack/ftp/manuals/DRI/cpm-3/Disappointed to find that there are 17 pages missing from the Programmer's Utilities Guide (end of section 16 through Appendix C). Did not check any others, just noticed this while looking for a good LIB-80 document (which was section 17, of course).
On Tuesday, April 4, 2023 at 10:25:22 AM UTC-5, Udo Munk wrote:It's a pity...Hope you can find the complete documentation...
https://www.autometer.de/unix4fun/z80pack/ftp/manuals/DRI/cpm-3/Disappointed to find that there are 17 pages missing from the Programmer's Utilities Guide (end of section 16 through Appendix C). Did not check any others, just noticed this while looking for a good LIB-80 document (which was section 17, of course).
On Thursday, April 6, 2023 at 9:26:26 PM UTC-5, Plo wrote:.
Il giorno giovedì 6 aprile 2023 alle 19:35:09 UTC-4 Douglas Miller ha scritto:
On Tuesday, April 4, 2023 at 10:25:22 AM UTC-5, Udo Munk wrote:
https://www.autometer.de/unix4fun/z80pack/ftp/manuals/DRI/cpm-3/Disappointed to find that there are 17 pages missing from the Programmer's Utilities Guide (end of section 16 through Appendix C). Did not check any others, just noticed this while looking for a good LIB-80 document (which was section 17, of course)
You have an email from me..It's a pity...Hope you can find the complete documentation...I have an original hard-copy. Just had to go to the back room and dig it out.
Il giorno giovedì 6 aprile 2023 alle 22:40:22 UTC-4 Douglas Miller ha scritto:course).
On Thursday, April 6, 2023 at 9:26:26 PM UTC-5, Plo wrote:
Il giorno giovedì 6 aprile 2023 alle 19:35:09 UTC-4 Douglas Miller ha scritto:
On Tuesday, April 4, 2023 at 10:25:22 AM UTC-5, Udo Munk wrote:
https://www.autometer.de/unix4fun/z80pack/ftp/manuals/DRI/cpm-3/Disappointed to find that there are 17 pages missing from the Programmer's Utilities Guide (end of section 16 through Appendix C). Did not check any others, just noticed this while looking for a good LIB-80 document (which was section 17, of
You have an email from me..It's a pity...Hope you can find the complete documentation...I have an original hard-copy. Just had to go to the back room and dig it out.
Ran into a minor bug in RMAC, related to module names in the REL files. If your are using MACLIB, the default module name becomes that of the last maclib seen. To get around this, you need to explicitly name the module using the NAME directive, *before*any MACLIB directives.
I have scanned the missing pages from my hardcopy, however note that
while being the same edition it was printed in a different form-factor
so the page numbers do not match up. It is the same content, though.
I've posted these missing pages here:
If you scan it and publish it you would be doing me and surely many others a big favor...I have scanned the missing pages from my hardcopy, however note thatI'm looking at my original early-mid 80s "DR Assembler Plus Tools"
while being the same edition it was printed in a different form-factor
so the page numbers do not match up. It is the same content, though.
I've posted these missing pages here:
manuals. They're in the smaller format (6.5"x8.5"). The binder
contains the following items:
Digital Research Programmer's Utilities Guide for the CP/M
family of operating systems [first edition, September, 1982]
Digital Research Symbolic Instruction Debugger Reference Manual
for the CP/M-80 family of operating systems [(C) 1978 and 1981,
fourth printing January 1982]
CP/M SID Symbolic Instruction Debugger User's Guide Release Note
[(C) 1983, "summarizes SID Version 3.0"]
Are these something not already (entirely) available, that I should scan
and place online?
De
Are these something not already (entirely) available, that I should scan and place online?
If you scan it and publish it you would be doing me and surely many
others a big favor...
Thanks a lot!!!!!!!!!!! DennisHere's the Programmer's Utilities Guide:Are these something not already (entirely) available, that I should scan and place online?If you scan it and publish it you would be doing me and surely many
others a big favor...
https://sysovl.info/pages/blobs/dr/dr_pug_1ed_1982.pdf
I'll do the SID manual and addendum soon, but the manual is
perfect-bound so I'll have to get someone to excise the spine from it
before it's scannable.
Enjoy!
De
> > Are these something not already (entirely) available, that I should scan
> > and place online?
> If you scan it and publish it you would be doing me and surely many
> others a big favor...
Here's the Programmer's Utilities Guide:
https://sysovl.info/pages/blobs/dr/dr_pug_1ed_1982.pdf
On 10/04/2023 7:53 am, Dennis Boone wrote:Thank-You!!!!
Are these something not already (entirely) available, that I should scan
and place online?
If you scan it and publish it you would be doing me and surely many others a big favor...
Here's the Programmer's Utilities Guide:
https://sysovl.info/pages/blobs/dr/dr_pug_1ed_1982.pdfAlso one here:
https://archive.org/details/h42_Digital_Research_Programmers_Utilities_Guide_for_the_CP-M_Family_of_Operating_Sy/mode/2up
Searching archive.org using "CPM" then clicking on 'texts' reveals other manuals.
I'll do the SID manual and addendum soon, but the manual is
perfect-bound so I'll have to get someone to excise the spine from it
before it's scannable.
Great work!!!! DennisI'll do the SID manual and addendum soon, but the manual isHere are the SID manual and the 3.0 addendum:
perfect-bound so I'll have to get someone to excise the spine from it before it's scannable.
https://sysovl.info/pages/blobs/dr/dr_sidref_1982.pdf https://sysovl.info/pages/blobs/dr/dr_sidaddendum_1983.pdf
De
Hi everyone,dynamically load into memory (within the limit of 64k), obviously to the detriment of execution speed, the various program segments whose sum is greater than 64k... Something similar to PLINK86 in a PC DOS environment... Now I can't find either the LINK.
some time ago I found on the internet an original LINK.COM version of CP/M-80 by Digital Research whose manual described between the various switches /../../ one which performed a dynamic linking between the various .REL and Libraries, allowing to
Thanks
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 489 |
Nodes: | 16 (2 / 14) |
Uptime: | 19:14:09 |
Calls: | 9,665 |
Files: | 13,713 |
Messages: | 6,167,961 |