summaryrefslogtreecommitdiff
path: root/static/unix-v10/man1/dmdld.1
diff options
context:
space:
mode:
Diffstat (limited to 'static/unix-v10/man1/dmdld.1')
-rwxr-xr-xstatic/unix-v10/man1/dmdld.1210
1 files changed, 210 insertions, 0 deletions
diff --git a/static/unix-v10/man1/dmdld.1 b/static/unix-v10/man1/dmdld.1
new file mode 100755
index 00000000..e129f264
--- /dev/null
+++ b/static/unix-v10/man1/dmdld.1
@@ -0,0 +1,210 @@
+.ds ZZ DEVELOPMENT PACKAGE
+.TH DMDLD 1 "630 MTG"
+.SH NAME
+dmdld \- 630 MTG application bootstrap loader
+.SH SYNOPSIS
+\f3dmdld [\f1 options \f3]\f1 file \f3[\f1 application - arguments \f3]\f1
+.SH DESCRIPTION
+The
+.I dmdld
+program downloads the named
+.I file
+from the host, for execution in the 630 MTG terminal's window connected
+to its standard output. It can also be used to invoke
+cached applications.
+.PP
+The \fIdmdld\fR program works in \fIlayers(1)\fR and non-layers environments.
+In \fIlayers(1)\fR, the download runs on top of the existing \fIxt\fR error-correcting
+protocol. In non-layers, \fIdmdld\fR temporarily puts the 630
+MTG terminal into
+\fIxt\fR protocol, and mimics that protocol from its side, thus insuring an error-free
+download.
+.PP
+.I Dmdld
+first asks the terminal if there is a cached application
+of name
+.I file
+already in the terminal. The inquiry uses the filename
+clipped from any pathname prefix.
+If such an application exists and is
+available, that application will be booted in the window without going
+through the download sequence.
+.PP
+If a cached application of inquired filename
+does not exist
+in the terminal or is not available (see \fIcache(3L)\fR for reasons),
+.I dmdld
+will attempt to download
+.I file
+from the host.
+Files to be downloaded by
+.I dmdld
+must be 630 object files created with
+\fIdmdcc(1)\fR.
+.PP
+During compilation, \fIdmdcc(1)\fR looks for the programming environment identification
+(PEID) number of all the library functions link-loaded, and assumes the highest number
+as the PEID of the application. During the download initialization, \fIdmdld\fR
+will send this number to the terminal. If the terminal's firmware version does not support
+this PEID - in other words, the firmware does not have some new library functions used
+by the application, the download will be aborted. The argument flag
+.B \-f
+will override this checking, but the sanity of the application (after being downloaded
+and running) cannot be guaranteed.
+.PP
+The optional \f2application-arguments\f1 are also sent to the terminal in order to
+initialize the parameters \fIargc\fR and \fIargv\fR of the function \fImain\fR
+of the application.
+.PP
+During the download, the 630 mouse cursor will turn into a
+"coffee cup" and the progress
+of the download is shown by a gradual filling of the window with inverse video.
+The code to be downloaded is relocated on-the-fly by \fIdmdld\fR to the
+memory area allocated for it by the terminal.
+If the download succeeds, the application will take over the
+window and start execution.
+.PP
+The following options are supported by \fIdmdld\fR:
+.TP
+.B \-d
+causes a printout of the download information on the
+diagnostic output (standard error).
+.TP
+.B \-p
+prints non-layers protocol statistics on the diagnostic output (standard error).
+Note that this option forces the
+.B \-d
+option. In \fIlayers(1)\fR, this option is the same as the
+.B \-d
+option.
+.TP
+.B \-z
+loads the process but does not run it.
+The process can then be started using
+.IR dmdpi (1).
+This option works only under
+.IR layers (1).
+.TP
+.B \-f
+forces the download even if the programming environment identification
+number of the application is not supported by the terminal it is downloaded
+into.
+.TP
+.B \-n
+is a null option, and is ignored by \f2dmdld\f1. It is used by
+processes that want to fork \f2dmdld\f1 with a variable argument
+option.
+.TP
+\f3\-Z\f1 \f2n\f1
+overrides the inherent stack size of the download application and sets it
+to \fIn\fR bytes. \fIN\fR must be greater than or equal to 2048, or else stack
+size is defaulted to 2048. Inherent stack size of the download application
+is specified through the -Z option of \fIdmdcc(1)\fR (or defaulted to 2048).
+
+.TP
+.B \-T
+loads an absolute file (already link-loaded to a fixed address)
+such as a new version of the terminal's firmware into the terminal's RAM space.
+This download is called a takeover (overlay) download because it will close all
+physical ports except for the one running \fIdmdld\fR. The whole terminal screen
+will turn blank, and will be gradually filled up with inverse video representing
+the code being downloaded. When the download is finished, execution will begin at
+the first address of \fIfile\fR. Relocation will be done by \fIdmdld\fR only if the
+first address of \fIfile\fR is lower than the first available RAM address of the
+terminal. This is necessary because low-addressed RAM is used to store the
+terminal's system tables and variables, and overwriting them with the downloaded data
+may put the terminal into undetermined states. The \f3\-N\f1
+option can be used instead, if the relocation possibility is
+not wanted.
+.TP
+.B \-N
+loads an absolute file into the terminal's RAM space. The
+difference between the \f3\-T\f1 and \f3\-N\f1 options is that
+the \f3\-N\f1 does not relocate the absolute file. Therefore
+the absolute file can be generated without relocation
+information.
+.PP
+The \f3\-T\f1 and \f3\-N\f1 options only work in the
+non-layers environment, and are exclusive of each other.
+\
+.PP
+The environment variable
+.B JPATH
+is the analog of the shell's
+.B PATH
+variable to define a set of directories in which to search for
+.IR file .
+.TP
+\s-1\f3NOTE\s+1\f1:
+Standard error should be redirected when using the
+.B \-d
+or
+.B \-p
+options.
+.SH EXAMPLE
+Invoking the terminal resident \fBPF Edit\fR application using \fIdmdld\fR:
+.br
+.ti +4
+.ft CM
+dmdld "PF Edit"
+.ft R
+.PP
+Invoking a \fIdmdcc(1)\fR compiled application:
+.br
+.ti +4
+.ft CM
+dmdld dmda.out
+.ft R
+.PP
+Invoking a \fIdmdcc(1)\fR compiled application with the
+.B \-d
+flag, redirecting standard error to \fItemp\fR:
+.br
+.ti +4
+.ft CM
+dmdld -d dmda.out 2>temp
+.ft R
+.PP
+Invoking a \fIdmdcc(1)\fR compiled application with \f2application-argument\f1:
+.br
+.ti +4
+.ft CM
+dmdld $DMD/lib/demolib/clock "`date`"
+.ft R
+
+.SH SEE ALSO
+cache(3L), dmdcc(1), dmdpi(1), jx(1).
+.br
+layers(1) in the
+\fIUNIX System V Release 3 User's Reference Manual\fR.
+.br
+layers(1) in the \fI5620 Dot-Mapped Display Reference Manual\fR.
+
+.SH DIAGNOSTICS
+.PP
+The error message "\fIdmdld: ... is not compatible with terminal\fR"
+means that the application the user attempts to
+download cannot execute safely in the terminal because it calls
+library routines which do not exist in the terminal's firmware version
+(i.e. the programming environment ID of the application is "newer" than the
+one supported
+by the terminal). A firmware upgrade is necessary, or the user can force
+the download by using the
+.B \-f
+flag.
+.PP
+The error messages "\fIdmdld: cannot access ...\fR" or "\fIdmdld: cannot open ...\fR"
+appearing when the named \fIfile\fR is known to be in the cache, indicate that the
+application is not available for booting, and \fIdmdld\fR cannot find or open the
+named \fIfile\fR in the host.
+.PP
+The error message "\fIdmdld: no memory in terminal\fR" indicates
+that the terminal has run out of memory to accept the download. The user may
+free up memory (by deleting windows, etc..) and re-try.
+.PP
+Other error messages are self-explanatory.
+
+.SH BUGS
+The \f2application-arguments\f1 are not sent to the terminal
+to update \fIargc\fR and \fIargv\fR if the named
+\fIfile\fR is found in the terminal's application cache.