|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.