Annotation of researchv10dc/630/man/src/u_man/man1/dmdld.1, revision 1.1.1.1

1.1       root        1: .ds ZZ DEVELOPMENT PACKAGE
                      2: .TH DMDLD 1 "630 MTG"
                      3: .SH NAME
                      4: dmdld \- 630 MTG application bootstrap loader
                      5: .SH SYNOPSIS
                      6: \f3dmdld [\f1 options \f3]\f1 file \f3[\f1 application - arguments \f3]\f1
                      7: .SH DESCRIPTION
                      8: The 
                      9: .I dmdld 
                     10: program downloads the named 
                     11: .I file
                     12: from the host, for execution in the 630 MTG terminal's window connected
                     13: to its standard output. It can also be used to invoke 
                     14: cached applications.
                     15: .PP
                     16: The \fIdmdld\fR program works in \fIlayers(1)\fR and non-layers environments.
                     17: In \fIlayers(1)\fR, the download runs on top of the existing \fIxt\fR error-correcting
                     18: protocol. In non-layers, \fIdmdld\fR temporarily puts the 630
                     19: MTG terminal into 
                     20: \fIxt\fR protocol, and mimics that protocol from its side, thus insuring an error-free
                     21: download.
                     22: .PP
                     23: .I Dmdld
                     24: first asks the terminal if there is a cached application
                     25: of name
                     26: .I file
                     27: already in the terminal. The inquiry uses the filename
                     28: clipped from any pathname prefix.
                     29: If such an application exists and is
                     30: available, that application will be booted in the window without going
                     31: through the download sequence.
                     32: .PP
                     33: If a cached application of inquired filename 
                     34: does not exist
                     35: in the terminal or is not available (see \fIcache(3L)\fR for reasons), 
                     36: .I dmdld
                     37: will attempt to download
                     38: .I file
                     39: from the host. 
                     40: Files to be downloaded by
                     41: .I dmdld
                     42: must be 630 object files created with
                     43: \fIdmdcc(1)\fR.
                     44: .PP
                     45: During compilation, \fIdmdcc(1)\fR looks for the programming environment identification
                     46: (PEID) number of all the library functions link-loaded, and assumes the highest number
                     47: as the PEID of the application. During the download initialization, \fIdmdld\fR
                     48: will send this number to the terminal. If the terminal's firmware version does not support
                     49: this PEID - in other words, the firmware does not have some new library functions used
                     50: by the application, the download will be aborted. The argument flag 
                     51: .B \-f
                     52: will override this checking, but the sanity of the application (after being downloaded
                     53: and running) cannot be guaranteed. 
                     54: .PP
                     55: The optional \f2application-arguments\f1 are also sent to the terminal in order to 
                     56: initialize the parameters \fIargc\fR and \fIargv\fR of the function \fImain\fR
                     57: of the application.
                     58: .PP
                     59: During the download, the 630 mouse cursor will turn into a
                     60: "coffee cup" and the progress
                     61: of the download is shown by a gradual filling of the window with inverse video.
                     62: The code to be downloaded is relocated on-the-fly by \fIdmdld\fR to the
                     63: memory area allocated for it by the terminal. 
                     64: If the download succeeds, the application will take over the
                     65: window and start execution.
                     66: .PP
                     67: The following options are supported by \fIdmdld\fR:
                     68: .TP
                     69: .B \-d
                     70: causes a printout of the download information on the
                     71: diagnostic output (standard error).
                     72: .TP
                     73: .B \-p
                     74: prints non-layers protocol statistics on the diagnostic output (standard error).
                     75: Note that this option forces the
                     76: .B \-d
                     77: option. In \fIlayers(1)\fR, this option is the same as the 
                     78: .B \-d
                     79: option. 
                     80: .TP
                     81: .B \-z
                     82: loads the process but does not run it.
                     83: The process can then be started using
                     84: .IR dmdpi (1).
                     85: This option works only under
                     86: .IR layers (1).
                     87: .TP
                     88: .B \-f
                     89: forces the download even if the programming environment identification
                     90: number of the application is not supported by the terminal it is downloaded
                     91: into. 
                     92: .TP
                     93: .B \-n
                     94: is a null option, and is ignored by \f2dmdld\f1. It is used by
                     95: processes that want to fork \f2dmdld\f1 with a variable argument
                     96: option.
                     97: .TP
                     98: \f3\-Z\f1 \f2n\f1
                     99: overrides the inherent stack size of the download application and sets it
                    100: to \fIn\fR bytes.  \fIN\fR must be greater than or equal to 2048, or else stack
                    101: size is defaulted to 2048.  Inherent stack size of the download application
                    102: is specified through the -Z option of \fIdmdcc(1)\fR (or defaulted to 2048).
                    103: 
                    104: .TP
                    105: .B \-T
                    106: loads an absolute file (already link-loaded to a fixed address)
                    107: such as a new version of the terminal's firmware into the terminal's RAM space.
                    108: This download is called a takeover (overlay) download because it will close all
                    109: physical ports except for the one running \fIdmdld\fR. The whole terminal screen
                    110: will turn blank, and will be gradually filled up with inverse video representing
                    111: the code being downloaded. When the download is finished, execution will begin at
                    112: the first address of \fIfile\fR. Relocation will be done by \fIdmdld\fR only if the
                    113: first address of \fIfile\fR is lower than the first available RAM address of the
                    114: terminal. This is necessary because low-addressed RAM is used to store the
                    115: terminal's system tables and variables, and overwriting them with the downloaded data
                    116: may put the terminal into undetermined states. The \f3\-N\f1
                    117: option can be used instead, if the relocation possibility is
                    118: not wanted.
                    119: .TP
                    120: .B \-N
                    121: loads an absolute file into the terminal's RAM space. The
                    122: difference between the \f3\-T\f1 and \f3\-N\f1 options is that
                    123: the \f3\-N\f1 does not relocate the absolute file. Therefore
                    124: the absolute file can be generated without relocation
                    125: information.
                    126: .PP
                    127: The \f3\-T\f1 and \f3\-N\f1 options only work in the
                    128: non-layers environment, and are exclusive of each other.
                    129: \
                    130: .PP
                    131: The environment variable
                    132: .B JPATH
                    133: is the analog of the shell's
                    134: .B PATH
                    135: variable to define a set of directories in which to search for
                    136: .IR file .
                    137: .TP
                    138: \s-1\f3NOTE\s+1\f1:
                    139: Standard error should be redirected when using the
                    140: .B \-d
                    141: or
                    142: .B \-p
                    143: options.
                    144: .SH EXAMPLE
                    145: Invoking the terminal resident \fBPF Edit\fR application using \fIdmdld\fR:
                    146: .br
                    147: .ti +4
                    148: .ft CM
                    149: dmdld "PF Edit"
                    150: .ft R
                    151: .PP
                    152: Invoking a \fIdmdcc(1)\fR compiled application:
                    153: .br
                    154: .ti +4
                    155: .ft CM
                    156: dmdld dmda.out
                    157: .ft R
                    158: .PP
                    159: Invoking a \fIdmdcc(1)\fR compiled application with the 
                    160: .B \-d
                    161: flag, redirecting standard error to \fItemp\fR:
                    162: .br
                    163: .ti +4
                    164: .ft CM
                    165: dmdld -d dmda.out 2>temp
                    166: .ft R
                    167: .PP
                    168: Invoking a \fIdmdcc(1)\fR compiled application with \f2application-argument\f1:
                    169: .br
                    170: .ti +4
                    171: .ft CM
                    172: dmdld $DMD/lib/demolib/clock "`date`"
                    173: .ft R
                    174: 
                    175: .SH SEE ALSO
                    176: cache(3L), dmdcc(1), dmdpi(1), jx(1).
                    177: .br
                    178: layers(1) in the
                    179: \fIUNIX System V Release 3 User's Reference Manual\fR.
                    180: .br
                    181: layers(1) in the \fI5620 Dot-Mapped Display Reference Manual\fR.
                    182: 
                    183: .SH DIAGNOSTICS
                    184: .PP
                    185: The error message "\fIdmdld: ... is not compatible with terminal\fR"
                    186: means that the application the user attempts to
                    187: download cannot execute safely in the terminal because it calls
                    188: library routines which do not exist in the terminal's firmware version
                    189: (i.e. the programming environment ID of the application is "newer" than the
                    190: one supported
                    191: by the terminal). A firmware upgrade is necessary, or the user can force
                    192: the download by using the 
                    193: .B \-f
                    194: flag. 
                    195: .PP
                    196: The error messages "\fIdmdld: cannot access ...\fR" or "\fIdmdld: cannot open ...\fR"
                    197: appearing when the named \fIfile\fR is known to be in the cache, indicate that the
                    198: application is not available for booting, and \fIdmdld\fR cannot find or open the
                    199: named \fIfile\fR in the host.
                    200: .PP
                    201: The error message "\fIdmdld: no memory in terminal\fR" indicates
                    202: that the terminal has run out of memory to accept the download. The user may
                    203: free up memory (by deleting windows, etc..) and re-try.
                    204: .PP
                    205: Other error messages are self-explanatory.
                    206: 
                    207: .SH BUGS
                    208: The \f2application-arguments\f1 are not sent to the terminal 
                    209: to update \fIargc\fR and \fIargv\fR if the named
                    210: \fIfile\fR is found in the terminal's application cache.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.