Home of the original IBM PC emulator for browsers.
[PCjs Machine "ibm5170"]
Waiting for machine "ibm5170" to load....
MONODRAW provides full-screen 740x348 pixel monochrome graphics uncluttered by on-screen menus. All the features commonly available in ``paint'' programs are included. Full-screen resolution is maintained by keeping the intuitive menus in a separate window that is readily and instantly accessible. Full documentation is provided. In Turbo Pascal, designing screens for inputting data is often a very tedious task. However, with SCNDSIGN you can design with very little effort, creating screens on the monitor exactly as they'll appear in your program. Then, SCNDSIGN handles the complicated part of creating the source code in Turbo Pascal. The screens can also be saved for later use.
Disk No 1092 Program Title: MONODRAW & SCNDSIGN version 2.01 PC-SIG version 1 One of the tedious parts of programming in Turbo Pascal is designing the screens for inputting data. However, SCNDSIGN lets you do this with very little effort. You can create your screen on the monitor exactly as you want it to appear in your program. As you design your screen, you can visually see what it is going to look like. When completed, SCNDSIGN then handles the complicated part by creating the source code in Turbo Pascal, which you can then compile and run. The screens are also saved on disk so they can be recalled at a later time. Would you like to fill the gap between low-end commercial graphics packages and most public domain monochrome graphics packages? If so, MONODRAW might be just what you need. MONODRAW provides full-screen 740x348 pixel graphics uncluttered by on-screen menus. Its print output, even on a dot matrix printer, is of publication quality. The package offers all the features commonly available in "paint" programs and yet provides full-screen resolution by keeping all menus as a separate screen that is instantly accessible at any time. The drawing cursor itself is a single, rapidly blinking pixel. MONODRAW is intuitive and its seven pages of understandable documentation make it simple to learn. Usage: Programming Utility/Monochrome Graphics System Requirements: MONODRAW requires a Hercules monochrome graphics card to run and an Epson-compatible printer to produce a hard copy of your creations. Both require at least 128K memory and one floppy disk drive. How to Start: Type SCNDSIGN (press enter) to start SCNDSIGN, MDRAW (press enter) to start MONODRAW. Suggested Registration: $25.00 for SCNDSIGN File Descriptions: ------------ SCRNDSIGN SCNDSIGN PAS Pascal source code for main program. HELP SCN Help screen. VAR SCN Variable definition screen. DEMO SCN Sample demo screen. SCNDSIGN COM Main program. GENERAL INC Program file. README Documentation. ------------ MONODRAW READ ME Introductory information. MDRAW EXE Main program file. MDRAW DOC Documentation, 7 pp. PRINTDWG EXE Printer driver. INTCOM DGM Sample diagram. PC-SIG 1030D E Duane Avenue Sunnyvale Ca. 94086 (408) 730-9291 (c) Copyright 1988 PC-SIG, Inc.
╔═════════════════════════════════════════════════════════════════════════╗ ║ <<<< Disk No 1092 Scndsign & MONODRAW >>>> ║ ╠═════════════════════════════════════════════════════════════════════════╣ ║ To print the documentation for Scndsign, type: PRTDOC (press enter) ║ ║ ║ ║ To run the program SCNDSIGN, type: SCNDSIGN (press enter) ║ ║ ║ ║ To print the documentation for MONODRAW, type: MANUAL (press enter) ║ ║ ║ ║ To run the program MONODRAW, type: MDRAW (press enter) ║ ╚═════════════════════════════════════════════════════════════════════════╝
MONODRAW User Documentation Frank G. Pagan 3206 Kingswood Court Fullerton, CA 92635 Introduction MONODRAW is a simple but useful public domain drawing program for IBM-compatible personal computers equipped with a Hercules- compatible monochrome graphics adapter and a high resolution monochrome monitor. There are no other special system requirements. Monochrome graphics is the most affordable kind of graphics available on PC and XT class computers and is a very common feature on these machines. It is also of very high quality, providing 720 pixel columns by 348 pixel rows. All things considered, it is an excellent graphics system for applications where color is not needed or wanted. Unfortunately, it has gone unsupported by the great majority of public domain software products and by many low-end commercial products. MONODRAW should help to fill this gap. The program is primarily oriented toward the creation and printing of line drawings (diagrams) with a limited amount of embedded text. On the one hand, it is definitely not an "object-oriented" CAD program; on the other hand, it lacks some of the more exotic features of many paint programs. What it does do is allow you to set individual pixels, draw and erase lines, rectangles and elliptical curves, fill areas with various patterns, draw text in any of five fonts and a wide range of sizes, duplicate parts of a diagram, save and retrieve diagrams on disk, and print a hard copy of a diagram. Even with a dot matrix printer, publication-quality results can be achieved. There are a couple of features that distinguish MONODRAW from most paint programs. One is that all menu and settings information is located on a separate screen page, which is nevertheless instantly accessible at any time. This frees all 250,560 (= 720 x 348) pixels for use in the diagram itself. In keeping with this philosophy of maximum resolution, the drawing cursor consists of a single blinking pixel, giving you the finest possible degree of control over your diagram. Getting Started The program is contained in the file MDRAW.EXE. To run it, insert the disk into the logged drive and type MDRAW at the DOS prompt. As the title screen warns you, the drawing commands are case sensitive and you should make sure that your Caps Lock is off. To get past the title screen, press any key. You will then see what we will call the settings/help screen being created. The top half shows the various drawing options, which you can change at any time, and their current settings. The bottom half is a quick- reference summary of the various keypress drawing commands that you can issue when the drawing screen is displayed. You press the Escape key to switch from the settings/help screen to the drawing screen or vice versa. To try out some of the basic drawing commands, press Escape to switch to the drawing screen. The screen will be blank except for a single, fast-blinking pixel at the extreme upper left. This is the drawing cursor. To make that pixel stay lit, press the space bar. The cursor's position has not changed, but you can't see it at the moment because it blinks only when it is positioned at an unlit pixel. Now hold down a shift key and press the down arrow key four times. You will see the cursor move down a distance of 16 pixels at each keystroke. Release the shift key and press L; a line is drawn from the original corner position down to the current cursor position. The program will now remember the latter as a "previous" position for another Line command. To see this, hold down Shift and press right arrow four times; at each of these keystrokes, the cursor jumps 32 pixels to the right. Now when you press L (unshifted), a horizontal line is drawn from the previous point to the cursor. To make a complete triangle, first move the cursor back to the upper left corner by pressing Shift Home four times and press the L key again. You could of course draw a rectangle one side at a time too, but, for rectangles made of verical and horizontal lines, there is a much faster way. First move clear to the right of the triangle by pressing shift right arrow six times. Press the space bar to mark this pixel. Press shift PgDn four times to move rightwards and downwards. Press unshifted B (for "Box") and a rectangle is drawn, with the previous point as the upper left corner and the cursor as the bottom right corner. To draw an ellipse, first move the cursor to the right by pressing shift right arrow four times. Mark this pixel using the space bar; this is the starting point for the ellipse. Move the cursor upwards and rightwards by pressing shift PgUp twice. This is the first counterclockwise quarter point for the ellipse; i.e., the program will take the center of the ellipse to be in the same column as the previous point and in the same row as the cursor. Press unshifted C ("Curve") and the ellipse will be drawn. If you want to leave the program for now and get back to DOS, press the Q key (unshifted). The long beep you hear is the program warning you that you have not saved your drawing. Press Q again to let it know that you really did mean to Quit nevertheless. Changing the Current Settings When you went through the drawing exercise described above, you were using the default drawing settings. This meant, for example, that all lines were solid (not dotted or dashed) and of normal thickness (1 pixel as opposed to 3), and that all curves were full ellipses. You could not add text to your diagram because there is no default text string, and you could not save it to disk because there is no default file name. Whenever you need to set or change attributes such as these, you make use of the settings/help screen. Press Escape, if necessary, to switch to it. The settings panel has a cursor, consisting of a small solid square, positioned immediately to the right of the current heading. Initially, it marks the top line, which invites you to press a function key to change a setting or Escape to switch to the drawing screen. Pressing one of the ten function keys will move the cursor to the end of the corresponding setting heading: F1. Drawing name F2. Line style F3. Curve type F4. Text font F5. Text size F6. Text flow direction F7. Horizontal text justification F8. Vertical text justification F9. Fill pattern F10. Text string You must then either press a key in an indicated range (for F2 through F9) or enter a sequence of characters (for F1 or F10) to change the setting. For F2 through F9, the current setting is marked by an asterisk at the left. When you press a valid digit key (or A or B for F9), the asterisk will move to mark the new setting, and the cursor will return to the top line. For F1, type a valid file name, possibly beginning with a drive specifier and/or a directory path. Do not add a file extension; '.DGM' will be added automatically. The characters will appear under the F1 heading as you type them; you can use the backspace key to correct mistakes. Pressing the Enter key terminates the entry and returns the cursor to the top line. An F10 entry works similarly, except that you can type any string of characters that does not go past the right side of the screen. The possible settings for F2 through F9 are described below. In each case, the asterisk marks the default setting. You should experiment freely with changing a setting, switching to the drawing screen to see the effect on subsequent drawing actions, switching back to change another setting, etc. The LINE STYLE (F2) settings are * 0 - Normal solid 1 - Normal dotted 2 - Normal dashed 3 - Thick solid 4 - Thick dotted 5 - Thick dashed Normal lines are 1 pixel thick. "Thick" lines are 3 pixels thick. The CURVE TYPE (F3) settings are * 0 - Full ellipse 1 - Half ellipse 2 - Quarter ellipse A circle is, of course, a special case of an ellipse. Half and quarter ellipses are useful for drawing such things as rounded ends and corners of objects. The TEXT FONT (F4) settings are * 0 - 8 by 8 1 - Triplex 2 - Small 3 - Sans serif 4 - Gothic The default font is the one used in the settings/help screen. In the default size, each character occupies an 8 by 8 block of pixels. The other fonts employ proportional spacing. The TEXT SIZE (F5) setting is a number between 0 and 9. The default is 0, corresponding to the smallest size. The actual effect of this setting on character size depends on what the current font is. The TEXT FLOW (F6) settings are * 0 - Horizontal 1 - Vertical The HORIZ JUSTIFY (F7) settings are * 0 - Left 1 - Center 2 - Right Assuming that text flow is horizontal, with setting 0 the text string will be drawn to the right starting at the cursor position when a Text command is issued. With setting 1 it will be drawn such that the string is centered around the cursor. With setting 2 it will be drawn such that the string ends at the cursor. The VERT JUSTIFY (F8) settings are * 0 - Bottom 1 - Center 2 - Top Assuming that the text flow is vertical, with setting 0 the text string will be drawn upwards starting at the cursor position when a Text command is issued. With setting 1 it will be drawn such that the string is centered around the cursor. With setting 2 it will be drawn such that the string is below the cursor. The FILL PATTERN (F9) settings are 0 - Empty * 1 - Solid 2 - Horizontal lines 3 - Light slash 4 - Thick slash 5 - Thick backslash 6 - Light backslash 7 - Hatch 8 - Heavy cross hatch 9 - Interleaving lines a - Widely spaced dots b - Closely spaced dots In general, whenever you press an inappropriate key, you will hear a short beep and nothing will change. Moving the Drawing Cursor In the drawing screen, the cursor is a single pixel, which will be blinking unless it has been turned on by a drawing command. You move the cursor using the eight "motion" keys in the numeric keypad, either shifted or unshifted. The direction of movement corresponds to the position of the key relative to the 5 key. The cursor cannot be moved past an edge of the screen. Left arrow: 1 pixel to the left. Home: 1 to the left and 1 up. Up arrow: 1 up. PgUp: 1 up and 1 to the right. Right arrow: 1 to the right. PgDn: 1 to the right and 1 down. Down arrow: 1 down. End: 1 down and 1 to the left. Shift left arrow: 32 pixels to the left. Shift Home: 32 to the left and 16 up. Shift up arrow: 16 up. Shift PgUp: 16 up and 32 to the right. Shift right arrow: 32 to the right. Shift PgDn: 32 to the right and 16 down. Shift down arrow: 16 down. Shift End: 16 down and 32 to the left. The Drawing Commands There are 14 keystroke commands you can issue when the drawing screen is displayed, and they are all explained below. The Line, Box, Curve, and Get commands make use of a "previous" pixel position distinct from the current cursor position. This previous position is set by each mark (space bar), Line, Box, and Curve command to the position of the cursor at the time the command is issued. No command changes the cursor position itself. The MODE (m) command toggles between the program's drawing and erasing modes. Initially, the program is in the drawing mode. In the erasing mode, the cursor blinks at double speed (if it is at an unlit pixel). The mark (space bar), Line, Box, and Curve commands then have the effect of turning off lit pixels. The MARK (space bar) command sets the current pixel and updates the "previous" position. The LINE (l) command draws a straight line from the previous position to the current position using the current line style and updates the previous position. The BOX (b) command, using the current line style, draws a rectangle with one corner at the previous position and the diagonally opposite corner at the current position. The previous position is updated. The CURVE (c) command, using the current line style, draws a full, half, or quarter ellipse using the previous position as the starting point and the current position as the first counterclockwise quarter point. The previous position is updated. The FILL (F) command fills an enclosed area surrounding the cursor with the current fill pattern. The TEXT (t) command draws the current text string in accordance with the current font, size, flow, and justification settings. The vertical position of horizontal text is affected by the vertical justification setting: for bottom justify, the text appears slightly higher than the cursor; for center justify, it appears next to the cursor; and for top justify, it appears slightly lower than the cursor. The GET (g) command captures a rectangular block of pixels defined by the previous position and the current position. You will hear a short beep if the block is too large. The PUT (p) command sets a rectangular block of pixels, using the current position as the upper left corner, to be a duplication of a block captured by a preceding Get command. The WRITE (w) command saves the current diagram and current settings to a disk file n.DGM, where n is the current drawing name. If n is not a valid file name, you will hear a short beep. The INPUT (i) command retrieves a saved diagram and settings from the disk file n.DGM, where n is the current drawing name. If the diagram has not been saved since the last change, you will hear a long beep. To confirm that you want to replace the current drawing with one on disk, repeat the Input command; to abort, press any other key. As a reminder that any of the settings could have been changed by the input operation, the settings/help screen is flashed momentarily. If the file is not found, you will hear a short beep. The HARDCOPY (H) command sends the diagram to a printer. This has nontrivial ramifications. For further information, read the next section. The CLEAR (Alt C) command erases the drawing screen. If the diagram has not been saved since the last change, you will hear a long beep. To confirm that you want to discard the current drawing, repeat the Clear command; to abort, press any other key. The QUIT (q) command terminates the program run. If the diagram has not been saved since the last change, you will hear a long beep. To confirm that you do not want to save the current drawing, repeat the Quit command; to abort, press any other key. Printing a Hard Copy The Hardcopy command actually invokes a completely separate program assumed to reside in a file PRINTDWG.EXE in the current directory. The problem of printing graphics "screen dumps" is notorious for its dependence on user taste and the characteristics of different printers. Accordingly, you are free to acquire any printing program you like and rename it PRINTDWG.EXE, or even, if you have the know-how, write your own. The particular printing program supplied with MONODRAW was written for an Epson-like dot matrix printer (specifically, a Star Micronics Gemini 10X). It prints the diagram on a standard letter-sized form, rotated 90 degrees to the right so that the leftmost pixel columns of the diagram are printed as the topmost dot rows across the sheet. The aspect ratio of the resulting hard copy is 12% "flatter" than it is on the screen. The source code (in Turbo Pascal version 4.0) for this program is supplied in the file PRINTDWG.PAS, in case you want to try modifying it to suit your own taste or your own printer. When PRINTDWG.EXE is finished printing the hard copy, MONODRAW retakes control of the computer. If PRINTDWG.EXE is not found, you will hear a short beep. Some Helpful Hints Creating diagrams often involves a lot of erasing and redrawing. There are several ways of erasing parts of a diagram in MONODRAW. If you toggle into erase Mode, you can erase individual pixels with the Mark (space bar) command or entire lines, boxes, and curves with the L, B, and C commands. To completely clear a small area of a diagram, you can move to a blank region, capture a blank block of pixels with the Get command, move to the area to be cleared, and issue a Put command. (If you momentarily use the erase mode when marking the previous point for the Get, that point will remain unlit.) Contiguous groups of lit pixels, such as those comprising text characters, can be deleted by setting the fill pattern to empty, toggling to the erase mode, and issuing a Fill command. For many diagrams it is a good idea to draw all the text items first and all the line items later. Otherwise, it can be hard to get the text items to fit right. Before doing a "dangerous" operation such as a Fill, Put or Text in a complex diagram, you should first do a precautionary Write. That way, if the operation does not do what you expected, you can undo it by issuing an Input command.
Volume in drive A has no label Directory of A:\ DEMO SCN 548 12-22-85 8:09a FILE1092 TXT 2383 6-20-88 11:10a GENERAL INC 9636 3-29-87 8:31a GO BAT 38 10-19-87 3:56p GO TXT 848 6-07-88 3:19p HELP SCN 1335 2-07-86 7:14a INTCOM DGM 32896 3-26-88 7:36p MANUAL BAT 162 6-07-88 3:22p MDRAW DOC 17978 3-26-88 8:38p MDRAW EXE 58032 3-26-88 8:16p PRINTDWG EXE 2576 3-05-88 7:20p PRINTDWG PAS 1838 3-05-88 7:20p PRTDOC BAT 161 6-07-88 3:22p READ ME 608 3-26-88 8:22p READ1ST 770 12-12-87 11:34a README 43073 12-12-87 7:24a SCNDSIGN COM 30789 9-17-87 4:57p SCNDSIGN PAS 55482 11-21-87 12:57p VAR SCN 1463 10-12-86 10:09a ________ ___ 5 6-07-88 2:45p 20 file(s) 260621 bytes 49152 bytes free