Dec 082017
Source code for IMDISP v7.8 – uploaded by local author. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
ATIVGA.ASM | 8366 | 2416 | deflated |
ATIVGA.H | 649 | 265 | deflated |
BROWSE.C | 14869 | 3642 | deflated |
BROWSE.H | 89 | 49 | deflated |
BUFFER.C | 18836 | 3547 | deflated |
BUFFER.H | 534 | 246 | deflated |
BUFFERS.TXT | 8541 | 2882 | deflated |
CHANGES.DOC | 8435 | 2598 | deflated |
DGIF_LIB.C | 30176 | 6385 | deflated |
DISPIO.C | 51379 | 8208 | deflated |
DISPIO.H | 1830 | 758 | deflated |
DISPLAY.C | 16850 | 4183 | deflated |
DISPLAY.H | 643 | 269 | deflated |
DISPSUB.ASM | 15116 | 3311 | deflated |
DISPSUB.H | 347 | 158 | deflated |
DISPUTIL.C | 22422 | 4342 | deflated |
DISPUTIL.H | 995 | 380 | deflated |
EMSIF.H | 5046 | 1398 | deflated |
EMSIFL.LIB | 7168 | 3194 | deflated |
EMSLIBL.H | 3734 | 1036 | deflated |
EV629.H | 2173 | 782 | deflated |
EV629.LIB | 8809 | 3718 | deflated |
EVGAIO.C | 7411 | 2069 | deflated |
EVGAIO.H | 516 | 265 | deflated |
FILEIO.C | 14227 | 3225 | deflated |
FILEIO.H | 1077 | 356 | deflated |
FILEUTIL.C | 16273 | 4208 | deflated |
FILEUTIL.H | 328 | 202 | deflated |
FILTER.C | 64628 | 6285 | deflated |
FILTER.H | 670 | 243 | deflated |
GIF_HASH.C | 5633 | 1618 | deflated |
GIF_HASH.H | 1721 | 578 | deflated |
GIF_LIB.C | 27157 | 5931 | deflated |
GIF_LIB.H | 6321 | 1948 | deflated |
HELP.C | 26323 | 5909 | deflated |
HELP.H | 251 | 168 | deflated |
IM-PIF.DVP | 416 | 96 | deflated |
IMAGEIO.C | 37513 | 7784 | deflated |
IMAGEIO.H | 2063 | 677 | deflated |
IMAGUTIL.C | 21745 | 5402 | deflated |
IMAGUTIL.H | 436 | 234 | deflated |
IMDEF.H | 4899 | 1594 | deflated |
IMDISP | 5145 | 1273 | deflated |
IMDISP.C | 60140 | 12708 | deflated |
IMDISP.DOC | 109883 | 34039 | deflated |
IMDISP.H | 2645 | 852 | deflated |
IMDISP.ICO | 766 | 239 | deflated |
IMDISP.PIF | 545 | 143 | deflated |
IMDISP.RSP | 310 | 149 | deflated |
IMDUTIL.C | 9950 | 3006 | deflated |
IMDUTIL.H | 429 | 237 | deflated |
KEYWUTIL.C | 8194 | 1395 | deflated |
KEYWUTIL.H | 883 | 362 | deflated |
LABUTIL.C | 43410 | 8136 | deflated |
LABUTIL.H | 1077 | 366 | deflated |
MEM.C | 5563 | 1021 | deflated |
MEM.H | 365 | 181 | deflated |
MOUSE.LIB | 3072 | 1173 | deflated |
MSHELL.C | 11591 | 2718 | deflated |
MSHELL.H | 1658 | 552 | deflated |
PALETTE.H | 34967 | 5773 | deflated |
PALUTIL.C | 31903 | 6519 | deflated |
PALUTIL.H | 465 | 221 | deflated |
PARADISE.ASM | 6452 | 883 | deflated |
PARADISE.H | 233 | 134 | deflated |
PLOT.C | 39331 | 6262 | deflated |
PLOT.H | 786 | 309 | deflated |
REFRESH.C | 5852 | 1674 | deflated |
REFRESH.H | 752 | 299 | deflated |
RESCALE.ASM | 2980 | 803 | deflated |
RESCALE.H | 134 | 84 | deflated |
SWAP.ASM | 94145 | 16354 | deflated |
SWAP.H | 1701 | 735 | deflated |
TEXTUTIL.C | 21070 | 5141 | deflated |
TEXTUTIL.H | 836 | 345 | deflated |
TIMER.ASM | 3038 | 1430 | deflated |
TIMER.H | 248 | 169 | deflated |
TRIDENT.H | 259 | 147 | deflated |
TRIDENT.OBJ | 727 | 434 | deflated |
VESA.C | 3351 | 1025 | deflated |
VESA.H | 706 | 341 | deflated |
XMSIF.H | 4191 | 1098 | deflated |
XMSIFL.LIB | 3584 | 1978 | deflated |
XMSLIB.H | 9179 | 3016 | deflated |
XMSLIBL.H | 3287 | 914 | deflated |
Download File IMDSRC78.ZIP Here
Contents of the BUFFERS.TXT file
From:SMTP%"[email protected]" 21-JUN-1991 11:20:35.21
To:[email protected], [email protected]
CC:
Subj:IMDISP 7.2
Date: Fri, 21 Jun 1991 15:22:31 GMT+0000
From: [email protected] (Ron Baalke)
Message-Id: <[email protected]>
Subject: IMDISP 7.2
To: [email protected], [email protected]
X-Vmsmail-To: IMDISP
Here are my latest changes for IMDISP 7.2. They don't include Archie's latest
changes, so they will have to be merged together.
==============
FILTER UPGRADE
==============
I've extended the MEAN filter to support a 5x5 mask. To use it, type
ENHANCE MEAN 1
I've found that a 5x5 mask smooths out the Magellan images much
better than the regular 3x3 mask.
================
MULTIPLE BUFFERS
================
Multiple copies of images (or the entire screen) can now be copied and stored
away into buffers, limited by the available memory. If you don't have enough
memory, the buffers can still be used, but as virtual files (see HINTS & TIPS
ON CONSERVING MEMORY, down below). Using the buffers, images can now be
merged together to create interesting effects. You can add or subtract
images from each other. You can store an image away into a buffer before
applying a filter, and if you didn't like the result, then retrieve it
back from the buffer, effectively creating an UNDO feature. You can create
a "face-on-Venus image" by merging the face-on-Mars image with a Magellan
image.
There are 26 buffers available in IMDISP, limited by memory or disk space.
The buffers are referenced by name as a single letter, one for each letter
of the alphabet (A-Z). Two new commands have been created to use the
buffers:
COPY
MERGE.
Buffers can only be created with the COPY or MERGE command.
The following existing commands were changed to accomodate the buffers:
DISPLAY
ERASE
BROWSE
SET
---------------------------------------------
COPY - copies the image or screen to a buffer
----------------------------------------------
Syntax:
COPY buffer [FILe]
COPY TO buffer [FILe]
COPY source TO buffer [FILe]
where buffer = A-Z
where source = A-Z or SCReen
The COPY command will attempt to copy the image last displayed with the
DISPLAY command, the screen or another buffer to a destination buffer.
IMDISP will attempt to put the buffer into extended memory. An FILE option
is provided to allow the buffer to be put into a file on the disk.
Examples:
COPY A Copies the last displayed image to buffer A
COPY A TO B Copies buffer A to buffer B
COPY A TO B FILE Copies buffer A to buffer B, buffer B is a file
COPY SCREEN TO Z Copies the entire screen to buffer Z
----------------------
MERGE - Merge buffers
----------------------
Syntax:
MERGE buffer
MERGE source1 [scale1] WITH source2 [scale2] [TO buffer] [FILE]
The MERGE command will merge buffers, images or the screen together. A
scaling option can be provided to control the amount of merging. If the
TO option is not used then the result will be displayed on the screen by
default. The result can also be written to a buffer.
Examples:
MERGE A Merge the last displayed image with buffer A and
display the result back on the screen
MERGE A WITH B Merge buffer A with buffer B and display the result
on the screen. Since no scaling parameter are
specified IMDISP will default to 50% of A and 50% of
B.
MERGE A WITH B TO C Merge buffer A with buffer B and store the result
into buffer C
MERGE A WITH B -1 Subtract buffer A from buffer B
MERGE A .75 Merge 25% of the last displayed image with 75% of
buffer A, display the result on the screen.
MERGE A .75 with B .8 Merge 75% of buffer B with 80% of buffer B, display
result on the screen
MERGE B WITH SCREEN Merge buffer B with the screen
MERGE A 3 WITH B -2 TO C FILE Subtract 200% of buffer B from 300% of A,
store the result in buffer.
-------------------
DISPLAY (modified)
-------------------
Modified to display a buffer. Most of the options of the DISPLAY command
can be used with the buffer
Examples:
DISP A Displays buffer A
DISP A SUB 2 Displays buffer A, subsampled twice
DISP A CEN ZOOM 3 Zooms in on the center of buffer A
---------------
ERASE (modifed)
---------------
When the ERASE is used with a buffer, the buffer will be erased and
any memory allocated for the buffer will be freed up.
Example:
ERASE A Erase buffer A
------------------
BROWSE (modifed)
-----------------
You can BROWSE through all of the buffers that have been created. Useful
if you forget what you put in which buffer. Most of the options normally
used with the BROWSE command can be applied to the buffers.
Examples:
BROWSE BUFFERS PAUSE Displays the contents of each buffer, pausing
in between each display
BRO BUFFERS SIZE 100 SUB 4 Displays a small version of each buffer
------------
SET BUFFERS
------------
If you use the FILE option on the COPY or MERGE command, IMDISP will create
the buffer as a file on the hard disk. The file will be created on the
root directory of the C drive by default. The file will be deleted if
you ERASE the buffer, or upon exit from IMDISP. If you do not want to
have the buffer file created on the C:\ directory, then you specify the
directory name with the SET BUFFERS command.
Examples:
SET BUFFERS c:\temp\
SET BUFFERS d:\buffers\
------------------------
Putting it all together:
------------------------
The following example shows how to use the buffers that will sharpen an
image. If you blur an image, and then subtract the original from the blurred
image, the net result is the image will be sharpened.
FILE io.img load in a image
DISP display it
COPY A copy the image to buffer A
ENH MEAN 1 apply a 5x5 mean filter to blur the image
COPY B copy the blurred image to buffer B
MERGE A 3 WITH B -2 subtract 2 * B from 3 * A, display the result
on the screen. The image should now be sharpened.
=================================
HINTS & TIPS ON CONSERVING MEMORY
=================================
If you have no extended memory, or don't have enough extended memory, don't
despair. You can still use the buffers if you use the following tips to
help you maximize the use of the memory
o IMDISP will automatically create a refresh buffer in extended memory
whose size is he size of the screen. You can disable the refresh
buffer and this memory will be freed up for buffer use. To disable
the refresh buffer, type:
SET REFRESH OFF
The refresh buffer can be enabled with
SET REFRESH ON
o IMDISP will also attempt to load an entire image into extended memory
whenever you do the FILE command. You can have IMDISP not do this
by using the NOMEMORY option:
FILE IO.IMG NOMEMORY
o If you are using a Super VGA graphics card in its highest resolution,
then if you switch to a lower screen resolution, this will generally
cause the buffers to be smaller. For example, if you using an
Orchid Pro Designer II card in its highest resolution (1024x768), then
you can switch to the 800x600 or 640x480 screen resolutions:
SET DIS ORCHID800
SET DIS ORCHID
o Subsample the image so that it doesn't take up the entire screen, which
then can be saved to smaller buffers:
DISP SUB 3
o Use the FILE option on the COPY or MERGE commands to store buffers
into a file instead of extended memory.
o Erase any unused buffers:
ERASE A
To:[email protected], [email protected]
CC:
Subj:IMDISP 7.2
Date: Fri, 21 Jun 1991 15:22:31 GMT+0000
From: [email protected] (Ron Baalke)
Message-Id: <[email protected]>
Subject: IMDISP 7.2
To: [email protected], [email protected]
X-Vmsmail-To: IMDISP
Here are my latest changes for IMDISP 7.2. They don't include Archie's latest
changes, so they will have to be merged together.
==============
FILTER UPGRADE
==============
I've extended the MEAN filter to support a 5x5 mask. To use it, type
ENHANCE MEAN 1
I've found that a 5x5 mask smooths out the Magellan images much
better than the regular 3x3 mask.
================
MULTIPLE BUFFERS
================
Multiple copies of images (or the entire screen) can now be copied and stored
away into buffers, limited by the available memory. If you don't have enough
memory, the buffers can still be used, but as virtual files (see HINTS & TIPS
ON CONSERVING MEMORY, down below). Using the buffers, images can now be
merged together to create interesting effects. You can add or subtract
images from each other. You can store an image away into a buffer before
applying a filter, and if you didn't like the result, then retrieve it
back from the buffer, effectively creating an UNDO feature. You can create
a "face-on-Venus image" by merging the face-on-Mars image with a Magellan
image.
There are 26 buffers available in IMDISP, limited by memory or disk space.
The buffers are referenced by name as a single letter, one for each letter
of the alphabet (A-Z). Two new commands have been created to use the
buffers:
COPY
MERGE.
Buffers can only be created with the COPY or MERGE command.
The following existing commands were changed to accomodate the buffers:
DISPLAY
ERASE
BROWSE
SET
---------------------------------------------
COPY - copies the image or screen to a buffer
----------------------------------------------
Syntax:
COPY buffer [FILe]
COPY TO buffer [FILe]
COPY source TO buffer [FILe]
where buffer = A-Z
where source = A-Z or SCReen
The COPY command will attempt to copy the image last displayed with the
DISPLAY command, the screen or another buffer to a destination buffer.
IMDISP will attempt to put the buffer into extended memory. An FILE option
is provided to allow the buffer to be put into a file on the disk.
Examples:
COPY A Copies the last displayed image to buffer A
COPY A TO B Copies buffer A to buffer B
COPY A TO B FILE Copies buffer A to buffer B, buffer B is a file
COPY SCREEN TO Z Copies the entire screen to buffer Z
----------------------
MERGE - Merge buffers
----------------------
Syntax:
MERGE buffer
MERGE source1 [scale1] WITH source2 [scale2] [TO buffer] [FILE]
The MERGE command will merge buffers, images or the screen together. A
scaling option can be provided to control the amount of merging. If the
TO option is not used then the result will be displayed on the screen by
default. The result can also be written to a buffer.
Examples:
MERGE A Merge the last displayed image with buffer A and
display the result back on the screen
MERGE A WITH B Merge buffer A with buffer B and display the result
on the screen. Since no scaling parameter are
specified IMDISP will default to 50% of A and 50% of
B.
MERGE A WITH B TO C Merge buffer A with buffer B and store the result
into buffer C
MERGE A WITH B -1 Subtract buffer A from buffer B
MERGE A .75 Merge 25% of the last displayed image with 75% of
buffer A, display the result on the screen.
MERGE A .75 with B .8 Merge 75% of buffer B with 80% of buffer B, display
result on the screen
MERGE B WITH SCREEN Merge buffer B with the screen
MERGE A 3 WITH B -2 TO C FILE Subtract 200% of buffer B from 300% of A,
store the result in buffer.
-------------------
DISPLAY (modified)
-------------------
Modified to display a buffer. Most of the options of the DISPLAY command
can be used with the buffer
Examples:
DISP A Displays buffer A
DISP A SUB 2 Displays buffer A, subsampled twice
DISP A CEN ZOOM 3 Zooms in on the center of buffer A
---------------
ERASE (modifed)
---------------
When the ERASE is used with a buffer, the buffer will be erased and
any memory allocated for the buffer will be freed up.
Example:
ERASE A Erase buffer A
------------------
BROWSE (modifed)
-----------------
You can BROWSE through all of the buffers that have been created. Useful
if you forget what you put in which buffer. Most of the options normally
used with the BROWSE command can be applied to the buffers.
Examples:
BROWSE BUFFERS PAUSE Displays the contents of each buffer, pausing
in between each display
BRO BUFFERS SIZE 100 SUB 4 Displays a small version of each buffer
------------
SET BUFFERS
------------
If you use the FILE option on the COPY or MERGE command, IMDISP will create
the buffer as a file on the hard disk. The file will be created on the
root directory of the C drive by default. The file will be deleted if
you ERASE the buffer, or upon exit from IMDISP. If you do not want to
have the buffer file created on the C:\ directory, then you specify the
directory name with the SET BUFFERS command.
Examples:
SET BUFFERS c:\temp\
SET BUFFERS d:\buffers\
------------------------
Putting it all together:
------------------------
The following example shows how to use the buffers that will sharpen an
image. If you blur an image, and then subtract the original from the blurred
image, the net result is the image will be sharpened.
FILE io.img load in a image
DISP display it
COPY A copy the image to buffer A
ENH MEAN 1 apply a 5x5 mean filter to blur the image
COPY B copy the blurred image to buffer B
MERGE A 3 WITH B -2 subtract 2 * B from 3 * A, display the result
on the screen. The image should now be sharpened.
=================================
HINTS & TIPS ON CONSERVING MEMORY
=================================
If you have no extended memory, or don't have enough extended memory, don't
despair. You can still use the buffers if you use the following tips to
help you maximize the use of the memory
o IMDISP will automatically create a refresh buffer in extended memory
whose size is he size of the screen. You can disable the refresh
buffer and this memory will be freed up for buffer use. To disable
the refresh buffer, type:
SET REFRESH OFF
The refresh buffer can be enabled with
SET REFRESH ON
o IMDISP will also attempt to load an entire image into extended memory
whenever you do the FILE command. You can have IMDISP not do this
by using the NOMEMORY option:
FILE IO.IMG NOMEMORY
o If you are using a Super VGA graphics card in its highest resolution,
then if you switch to a lower screen resolution, this will generally
cause the buffers to be smaller. For example, if you using an
Orchid Pro Designer II card in its highest resolution (1024x768), then
you can switch to the 800x600 or 640x480 screen resolutions:
SET DIS ORCHID800
SET DIS ORCHID
o Subsample the image so that it doesn't take up the entire screen, which
then can be saved to smaller buffers:
DISP SUB 3
o Use the FILE option on the COPY or MERGE commands to store buffers
into a file instead of extended memory.
o Erase any unused buffers:
ERASE A
December 8, 2017
Add comments