.TH DVIDMD 1 .SH NAME dvidmd \- DVI previewer for DMD 5620 display .SH SYNOPSIS .B dvidmd [-x] [-m mag] [-R res] [-d drift] [-X xoffset] [-Y yoffset] [file] .SH DESCRIPTION .I dvidmd is used to display DVI files on the 5620 DMD terminal. DVI files are generated by programs such as TeX and LaTeX. .PP Like all DMD applications, .I dvidmd is really two separate programs, one of which runs in the host and the other which runs in the terminal. For .I dvidmd , the host program's main job is to interpret DVI commands and read files that contain font information. The slave's main job is to handle display operations such as copying character rasters to the correct positions on the screen. .PP When the host program is started, it will check if the slave program is already running in that terminal window. If the slave program is not running, it will automatically be downloaded into that window by the host program. While the download is in progress, a coffee-cup cursor will appear in that window. .LP .B "Host Program Options" .PP The host program supports a variety of options: .TP 10 -x Cause the .I dvidmd slave program to exit once the host program has finished. By default the slave program switches to terminal emulation mode (see below). .TP 10 -m mag Explicitly magnify the image by the specified amount. A typically value might be 1.2, corresponding to \emagstep1 in TeX. .TP 10 -R \fIres\fP Specify the assumed output resolution of the DMD display. This value defaults to 118 dots per inch. Although this is not the actual resolution of the DMD 5620, it is a standard resolution that font files are distributed for in the TeX distribution. Other reasonable device resolutions (disk space permitting) are 200 and 300 dots per inch, which in effect magnify the image a corresponding amount. .TP 10 -d \fIdrift\fP A spacing parameter used in setting type on the display. The default value is generally fine. .TP 10 -X \fIxoffset\fP Specify the horizontal offset in tenths of an inch. .TP 10 -Y \fIyoffset\fP Specify the vertical offset in tenths of an inch. .LP If no .I file argument is specified then the host program exits, but only after loading the slave program if necessary. .LP .B "Slave Emulation Modes" .PP The slave program can be in one of two modes: typesetter emulation mode and terminal emulation mode. Typesetter emulation mode is used by the .I dvidmd host program to display DVI files; it allows arbitrary glyphs to be displayed anywhere on the screen. .PP Terminal emulation mode can be used by arbitrary programs to interact with the user; this mode uses the default terminal font for its display. However, only a few escape sequences are interpreted by the terminal emulator, so it can only be used by programs that work properly on ``dumb'' terminals. In particular, a screen editor such as .IR vi (1) will not work properly in terminal emulation mode; use another window for these more sophisticated programs. .PP Note that glyphs downloaded by the .I dvidmd host program in typesetter mode are saved by the slave program in terminal memory. Therefore, future runs of .I dvidmd (in the same window) run much faster since they need not reload the (rather large) raster data. .LP .B "Page Commands" .PP When the slave program is in typesetter emulation mode, it will display data until it receives an end of page command. At this point it will change the cursor to a "CMD" prompt and wait for input from the user. If the user holds down mouse button 3, a menu will appear with various choices: .TP 10 \fBredraw\fP Redraw the current screen, resetting the origin to the upper left hand corner of the page. .TP 10 \fBnext\fP Display the next screen-full of data. If the bottom of the page is currently being displayed, the next page of data is requested from the host program. .TP 10 \fBprev\fP Display the previous screen-full of data. If the top of the page is currently being displayed, the previous page of data is requested from the host program. .TP 10 \fBquit\fP Cause the slave program to leave the typesetter emulation mode and enter the terminal emulation mode. Choose this option if you plan to run .I dvidmd again. .TP 10 \fPexit\fP Causes the slave program to exit. The default DMD 5620 terminal emulator is reloaded into the window. All glyphs downloaded into the terminal are freed. .LP Alternatively, you can invoke the above paging commands by typing the first letter of the command name. So, for example, type `p' for previous, `n' for next, and `q' for quit. In addition, the following character commands are also available: .TP 10 \fB+\fP or \fB\fP Request the next page of data from the host program, resetting the origin to the upper left hand corner of the page. .TP 10 \fB-\fP Request the previous page of data from the host program, resetting the origin to the upper left hand corner of the page. .TP 10 \fB\fP Another way of typing the next command. .TP 10 \fB^L\fP Another way of typing the redraw command. .LP .B "Scrolling Commands" .PP At the end of page, the user can scroll the display by moving the mouse cursor into the scrolling area. The scrolling area is along the left and bottom edges of the screen, and its edges are marked by small segments in the corners of the display. When the mouse is positioned in the scrolling area, the mouse cursor will change into a cross-hair shape. .PP For vertical scrolling, position the mouse in the left scroll bar (between the two horizontal marks at the top and bottom of the screen). Clicking button 1 in the left scroll bar will bring the line at the current mouse position to the top of the window, while clicking button 3 will bring the line at the top of the screen down to the current mouse position. Thus these two buttons function as inverses of each other. .PP For horizontal scrolling, position the mouse in the bottom scroll bar, and then use button 1 to bring the current mouse position to the left edge of the screen. As expected, button 3 performs the inverse operation: it brings the left edge of the screen to the current mouse position. .PP If the mouse is positioned in the scroll ``box'' in the lower left corner of the screen, clicking button 1 will advance to the next screen, clicking button 2 will redraw the screen, and clicking button 3 will go back to the previous screen. .SH "SEE ALSO tex(1), tpic(1) .SH FILES /usr/local/bin/dvidmd.j \- layers slave program .br /usr/local/bin/dvidmd.m \- host slave program .SH BUGS The scrolling interface needs some work and is too slow. .br The terminal emulation mode needs to support more escape sequences. .br More graphics commands should be interpreted. Right now only the .IR tpic (1) primitives are supported.