Annotation of researchv10dc/630/man/src/u_man/man1/dmdld.1, revision 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.