Copyright (C) 1986-2008 by Daniel H. Hudgins, All Rights Reserved.
No part of "This Web Site" (HTML document), including associated files, may be: distributed, sublicensed, transmitted, copied, archived, mirrored, modified, bundled, embedded, sold, given away, rented, loaned, or shared in any form without express written permission in a formal Vendor agreement contract dated and signed in ink obtained directly from Daniel H. Hudgins by registered postal mail. All agreements for permission to distribute expire after a period no greater than one year from the date of the signing of the agreement by Daniel H. Hudgins. See the current "EULA" for information regarding limited copying and storage for the purpose of "Beta Testing" "This Web Site."
To view or use the current version of this Web page you may need to reload or refresh the display of this page by your browser. Just clicking on the browser's [Reload] or [Refresh] icon may not be enough to insure that all of the page's most current contents have been cached and displayed. Some browsers may have additional commands to help display the page's most current contents such as: holding down the [Shift] key and clicking on the [Reload] icon, holding down the [Control] key and clicking on the [Refresh] icon, holding down the [Control] and [Shift] keys and clicking on the [Refresh] icon, pressing the [Control] and [F5] keys, pressing [Control] and the [R] key, or some other combination of keys or clicks. Check to see which commands your HTML browser uses to load the most current page contents into its cache and then to display them onto the screen.
This Web site is dedicated to the thousands of "users" of my programs, those who have helped test my programs over the last 22 or so years, and especially those who shared their experiences with me.
You must read this notice: This is a licensed Web site (HTML document and associated files). You must read and agree to be legally bound in contract by the Terms of Use and conditions given in the End User License Agreement ("EULA"), Legal Notices, Instructions, Warnings, Disclaimers, and all other text in "SECTION: 0" of "This Web Site" (HTML document and associated files) before reading or using any of the information, software programs, and or files, contained in, linked to, and or associated with, "This Web Site" (HTML document and associated files). Any use or "Beta Testing" of "This Web Site" constitutes your acknowledgment of your full agreement with the current End User License Agreement ("EULA") and your decision to have this current license supersede all prior and contemporaneous agreements and understandings. Information and files in "This Web Site" (HTML document and associated files) have been placed here so that long time users of "The Author's" programs DANCAD3D.COM (tm) , DANCAM.EXE (tm) , or DANPLOT.EXE (tm) could help proofread the text of the documentation files or screens displayed, and also help test data files, example files, and or any software programs that might be made available from time to time, to aid "The Author" in finding mistakes, bugs, and other errors, omissions, defects, mistakes, and faults. Everything in "This Web Site" (HTML document and associated files) is "Beta Test", "Beta Code", Experimental, Preliminary, requires proofreading, or is being evaluated for possible revision, and is NOT warranted to be free of defect. To help "The Author" report any bugs, foul-ups, defects, or mistakes that you find, see "SECTION: 8" for instructions. "This Web Site" (HTML document and associated files) and all other files and programs by Daniel H. Hudgins are made available "AS IS" without warranty of any kind express, expressed, or implied. All offers and specifications are subject to change or discontinuation without notice of any kind. Please read "SECTION: 8" of "This Web Site" (HTML document and associated files) before trying to contact "The Author."
This section has text mostly about revisions to a "Beta Test" version v3.7 of my programs, and might be looked to for updated information relating to changes from v2.7, regarding some of the revised or added program features. There may be changes made in versions subsequent to the revisions of version of v3.7 that alter what is described in this section as it applies to that subsequent version. See also any other documentation files, and pages in this Web site (HTML document) for additional and or any more recent information.
The HTML documentation in this SECTION: 3.3.7.34 was derived from the text in the file INFOV37N.TXT that is, or was at one time, included in my *.ZIP file archive DANCAD16.ZIP (tm). You may find the current revision of DANCAD16.ZIP (tm) to download by going to SECTION: 9.70.61.0. My file DANCAD16.ZIP (tm) may also archive some other types of files like the ones described in this section, so check the current *.ZIP file in its current revision to see what exactly might be in it.
You may not distribute, sell, rent, share, or give away these HTML documentation files or printed copies of them. You may not extract text from these HTML documentation files for distribution, sale, rent, sharing, or giving away. You can use the [Print] option in your browser to make one copy for yourself to mark up in order to help me proofread the text for mistakes.
Documents may be available to download from time to time, you can check SECTION: 9 to see what the current situation with regard to downloadable files is. The names of these documentation files may change, and they may be edited, combined, or eliminated in the future, without notice.
You may need to adjust your browser for best viewing of the pre- formatted text by changing the "font" size using the commands in your browser (see the help in your browser, or use the pull-down menus in your HTML browser.) If some letters in words on the screen appear to be missing or scrambled try changing the font size in your browser as this sometimes happens even though the words are spelled correctly in the HTML code.
Use the "Edit, Find in page Ctrl+F" or "Edit, Find (in this page)... Ctrl+F" command in your browser to search for keywords within the documentation text in this HTML page. You will need to search over again in the other pages in this HTML document for the same keyword since your browser may not search for a keyword beyond the current page that is loaded.
My current file DANCAD16.ZIP (tm) is a *.ZIP file that holds a current "Beta Test" version of my programs and associated files for "Beta Testing." This section refers to the preliminary revision of the CAD programs v3.7N version, and the preliminary revision of the CAM programs v3.75 version, look for other sections or documentation relating to any subsequent revisions.
The use and copying of these programs and files are governed by my current Terms of Use and End User License Agreement ("EULA") which are located in SECTION: 0 of this "Beta Test" Web site. You must read and fully agree to be legally bound by the current End User License Agreement ("EULA") before you use or "Beta Test" any of the files in my file DANCAD16.ZIP (tm). If you are unable to read and agree to the current End User License Agreement ("EULA") do not use or "Beta Test" any of the files in my program distribution, the DANCAD16.ZIP (tm) archive file.
Be sure that you scan the programs and files in my DANCAD16.ZIP (tm) for virus or other contamination since you are responsible for checking them before you use them. These programs and this information are made available "AS-IS" and are without warranty of any kind express, expressed, or implied. Since these programs are "Beta Test" you must agree to become a "Beta Tester" before you make any use of them, see the End User License Agreement ("EULA") in this "Beta Test" Web site for more information. Be sure to read the current instructions in this "Beta Test" Web site regarding procedures for reporting program bugs and other such problems.
On some systems the *.ASC data files, or *.MAC macro files, may be able to be renamed *.TXT to avoid certain kinds of file type misinterpretation by text editor type programs and such. Thank you for helping test these "Beta Test" CAD and CAM programs.
A *.TXT file version, similar to some of the text in this Section, may be included in the v3.7N and v3.75 revision of my DANCAD16.ZIP (tm) distribution archive file (see the "downloads" SECTION: 9 of this "Beta Test" Web site). See the text in any files like README.*, FILES*.TXT, and INFOV37*.TXT stored in my current DANCAD16.ZIP (tm). You should check for the current types of document files because they may be more up-to-date than this *.HTM file, or it is possible that this HTML file could be more up to date, depending on which one got worked on last.
Below is text from file INFOV37N.TXT that was written to be included in a preliminary revision of version of v3.7N of my DANCAD16.ZIP (tm) distribution for preliminary information about changes in version v3.7N of the programs. You should read this information before you try to use or "Beta Test" the revised programs. This information is in addition to the previous documentation, i.e. a supplement to, and does not go into detail about many of the previously documented features, so you should therefore review the other sections and documentation as well.
The text of INFOV37N.TXT was derived from some notes I made to myself as I worked on the code for v3.7N, so you should check this document, and the other documentation, against the programs before you do any "serious" testing of the programs since there may be some differences between the descriptions here and the current state of development of commands and features in the programs. Please report any discrepancies between the documentation and the programs or files that you find. Some of the text from this section may have been incorporated into the other sections of this Web site, in doing that some of the text may have been further revised, and so may contain additional information, therefore after reading through all of this section you should also read through all of the other portions of this Web site, even those portions that might seem to be duplicates.
I have kept this preliminary information in one long file so that you can use the "find in page" feature of your HTML browser to search for a keyword relating to some new command or feature you are looking for more information about, otherwise you might have to search through more files.
See also the This Section and About DANCAD16.ZIP (tm) sub-sections above, as well as SECTION: 3.3.7.30, SECTION: 3.3.7.31, SECTION: 3.3.7.32, SECTION: 3.3.7.33, SECTION: 9.70.0.0, and SECTION: 9.70.61.0 for more information about v3.7.
DOCUMENT: INFOV37N.TXT
Copyright (C) 2006 by Daniel H. Hudgins, All Rights Reserved.
Terms of use: This "Beta Test" document may only be used in accord and within
the limitations imposed by the current End User License Agreement "EULA" posted
at the author's Web site www.DANCAD3D.com (sm) in file S0000000.HTM, any other
use or copying is prohibited. This document is provided "AS IS" without
warranty of any kind express, expressed, or implied. Mistakes, errors, and
omissions should be reported according to the instructions in SECTION: 8 of the
current "On-Line" version of my Web site www.DANCAD3D.com (sm).
This preliminary document may have some brief descriptions of changes made to
my CAD or CAM programs DANCAD3D.EXE (tm), DANCAD87.EXE (tm), DANCAM.EXE (tm),
and DANPLOT.EXE (tm) relating to the "Beta Test" release of v3.7. This file is
meant to be included in the initial "Beta Test" v3.7 distribution to help long
time users acquaint themselves with some of the many changes that have been
made to the programs. If you are not a long time user you will most probably
need to read all of the text located at my "Beta Test" Web site
www.DANCAD3D.com (sm) before you read this document in order to make practical
use of it. This document is not a complete list of changes made to the
programs, and may not reflect the operation of the version of the program
accompanying it in all respects. The programs may be still undergoing change,
so the results obtained from any of the commands may be different than
expected, and the operation of older commands may have changed as well. Since
so many changes have been made to the programs you should not expect any of the
commands to operate as you have used them in the past, and you should
frequently back-up and save what you are working on so that you do not lose
everything when the program crashes. All specifications, descriptions, and
instructions are subject to change without notice.
Be sure to see also the text from files INFOV27*.TXT, *.TXT, *.BAT, *.DOC,
*.HTM, and any other newer INFOV37*.TXT information that is at www.DANCAD3D.com
(sm).
I would like to thank the thousands of users of my programs who have helped
"Beta Test" the many revisions of my programs since about 1986, I hope you will
enjoy checking out some of the newer program features that I have spent so many
years working on. Best wishes for success in your projects.
---
NOTES FROM RELEASE OF THE V3.7N. CAD PROGRAMS, MARCH 4, 2006
If you have not already read INFOV37J.TXT, INFOV37K.TXT, INFOV37L.TXT and
INFOV37M.TXT please do that before installing and beginning "Beta-Testing" the
new v3.7N of the CAD programs, since it goes over some of the changes from v2.7
to v3.7 that you should be aware of. Text from INFOV37J.TXT, INFOV37K.TXT and
INFOV37L.TXT should be in SECTION: 3.3.7.30, 3.3.7.31, 3.3.7.32, and 3.3.7.33
at www.DANCAD3D.com (sm). You should also review the update and info
documentation relating to v2.7 and updating from v2.6 if you have been using an
older version or to familiarize yourself with the changes that have been going
on.
The major changes from v3.7M to v3.7N are: the addition of various menu and
macro commands to convert between *.WAV type wave sound files and *.BMP image
files.
DANCAD3D.EXE (tm) and DANCAD87.EXE (tm) have been revised, the new version is
called v3.7N. This new version has new commands to generate WAV files
containing video signals made from images in BMP files. One use for these new
commands is to display computer generated animation on a Nipkow disk scanner.
Other uses are for experimenting with Low Definition television signals,
transmitting images and drawings over narrow bandwidth channels using modulated
signals, and generating sounds from pictures and drawings, or images from
sounds or wave data. Commands are included for conversion to display of images
from WAV files on the computer's screen, converting sets of animation or image
frames, and modulating and demodulating WAV data for recording and
transmission. See also INFOV37N.TXT in DANCAD16.ZIP (tm) for any current
information.
These new menu commands are located in the Files Utilities Nipkow sub-directory
off of the Main Menu in v3.7N CAD programs. The Names of the new menu commands
and a description of there function follow.
The Nipkow NIP command converts one or more *.BMP 24 bpp frame files into a
special image file format called *.NIP. The source files should have numbered
names such as 1.BMP, 2.BMP, 3.BMP and so on, the result files should have
numbered names such as 1.NIP, 2.NIP, 3.NIP and so on. If sync pulses will be
needed the black level is lifted in conversion from the *.BMP to the *.NIP
files by the amount selected by the sync black level. You need to note the
amount of sync black used since some of the other commands use the sync black
level as well and if you do not enter the same or similar values the results
may not turn out as you expect. The Nipkow NIP command can crop part of the
*.BMP image and "resize" the cropped portion, this may be useful in converting
frames captured at NTSC, PAL, or SECAM resolution for reduction to Low
Definition pixel densities. For instance, if you over-sample 3x a patch 150 by
150 pixels in your *.BMP file you would end up with a 50 by 50 pixel *.NIP
file. The Nipkow NIP command has options to convert just one file, or convert
a numbered set of frame files automatically. When going from 24 bpp *.BMP
files to the monochrome *.NIP files the total of the color fractions should add
up to 1.0, i.e. Red=0.30 Green=0.59 Blue=0.11. If you are going to make color
separations for production of color *.WAV files you would adjust the color
mixing.
The Nipkow WAV command reads the *.NIP files you made from your *.BMP files and
produces a *.WAV file in which the wave samples represent pixel brightness or
sync level data. The Nipkow WAV command has options for mirror image,
horizontal or vertical scanning, interlacing, and no sync or different kinds of
sync pulses. You can also invert the wave form for sync at maximum or minimum
signal amplitude. The sample rate is selectable and lets you adjust the
maximum frequency your sound board will output when the *.WAV file is played.
If you do not have a sound board you can burn the *.WAV file as a track on a CD
disk and play that in a CD player for viewing on a Nipkow disk scanner or other
transmission.
The Nipkow Modulate command can be used to improve the reconstruction of images
transmitted, received, and recorded. When the video data is saved to the *.WAV
file by the Nipkow WAV command the video signal has a DC reference, but when
the signal is played by a sound board or CD player the signal generally is high
pass filtered so that signals below 20Hz are lost. For images with higher
resolutions the loss of DC and very low frequencies degrades the image and
causes problems locking onto the sync signals. To overcome some of the
problems associated with low frequency loss in video signals the video signal
can be modulated for transmission, then demodulated later to restore the DC and
low frequency portion of the signal. AM modulation makes a sine wave with an
equal number of positive and negative peaks for each sample in the source *.WAV
file. AM demodulation rectifies and averages the sine waves to reconstruct the
video wave form. Unless you edit the recorded *.WAV file to have the starting
sample correspond there may be some blurring of the reconstructed video wave
form. One way to improve the results is to average the sine waves for half or
one fourth of a pixel and adjust the pixel aspect later with the Nipkow BMP
command, this makes two or four samples in the result *.WAV file for each pixel
so you need to adjust the image pixel dimensions accordingly.
The Nipkow Sample command reads a *.WAV file that has appropriate video data
and converts that video data into separate *.NIP image files that can then in
turn be converted into *.BMP frame files by the Nipkow BMP command. Just how
degraded the video signal can get and still be reconstructed depends on if you
are going to use the automatic sync signals or manually sync the frame images.
When image video signals are recorded on tape several errors are introduced,
loss of DC and Low and High frequencies, timing errors from the tape speeding
up and slowing down, short timing errors from the rollers the tape passes over,
noise from tape hiss, and drop outs and volume fluctuations. To aid in
reconstructing video signals recorded or transmitted through analog channels
the Nipkow Sample command has DC restoration and Automatic Gain Control (AGC).
The gain of the AGC is limited to about 4x to prevent noise from triggering the
sync threshold, so the video wave form should be at least one third the maximum
signal in the *.WAV file. Options for mirror image, horizontal or vertical
scanning, interlace, inverted signal, no sync or sync type, and such are
provided to correspond to the Nipkow WAV command. For manual syncing the
images there is a option to have the Nipkow Sample command to check for sync
tweak files that have frame numbers that correspond to the image frames
produced, i.e. 1.NTF, 2.NTF, 3.NTF. The NTF stands for Nipkow Tweak File. You
do not need to have a tweak file for each frame, just one for when the sample
clock sync needs to be speed up or slowed down. Normally the sample clock is
equal to 1.0 pixels, but if the sample clock is faster or slower, i.e. 0.9999
or 1.0001 you may be able to compensate for drift between the samples in the
*.WAV file and the pixels in the scanned image. If a tape of a video signal
does not have sync pulses then you would need to adjust the sample clock with
*.NTF files many times as the frame *.NIP files are generated to compensate for
the tape speeding up and slowing down. The *.NTF files just have a real number
in text form on their first line, that number being 1.0 for 1:1 clocking or a
little more or less for adjusted wave sample to image pixel clocking. The
*.NTF files must be in the same directory as the *.NIP files generated for the
program to find them. When the AGC and DC restoration are used, and in
general, the source file set to be generated from the *.WAV file should contain
three or more frames because a look ahead is used to find the signal peaks, and
that look ahead uses more than one frame of data.
The Nipkow BMP command converts the *.NIP frame image files made by the Nipkow
Sample command or the Nipkow NIP command into *.BMP 24 bpp files that can in
turn be converted into Pixel files for display with the Animate command or the
Files Load Pixel command. You should also be able to view the *.BMP files in
graphics programs, or convert the *.BMP files into *.GIF files and make them
into an animated *.GIF file with appropriate third party software. When the
*.NIP files are converted to *.BMP files you need to enter the proper sync
black level if the sync black level was lifted in the video signal, i.e. by
using the sync black level in the Nipkow NIP command. Because of loss of low
frequencies you may want to use a slightly lower value of the sync black level
in the Nipkow BMP command to avoid the converted image looking too dark in
places. Because the conversion of *.BMP to Pixel files requires that the *.BMP
file be the same pixel dimensions as the screen size, the Nipkow BMP command
has the option of overlaying and re-sizing the *.NIP image onto a *.BMP file
that matches the screen size and aspect ratio. For instance, if you are
reconstructing a 50 by 50 pixel image from a *.WAV file, and you want to
display the image in a 640 by 480 video mode, you could over-sample the 50 by
50 image 5x to be 250 by 250 pixels centered on a 640 by 480 pixel *.BMP file.
There is an option to change the color of the image pixels, for Neon red or P1
phosphor green and such, or just a gray monochrome, and to adjust the
"overscan" border color to be any color or just black or white. You do not
need to have the *.BMP file made larger than the video image if the *.BMP file
will not need to be converted into a Pixel file, or the sizes match. When
converting the *.BMP 24 bpp file to a Pixel file for display in a 8 bpp or 4
bpp video mode you may need to convert the 24 bpp *.BMP file into an 8 bpp
*.BMP file first, see the commands that convert *.BMP and Pixel files in the
Files Utilities sub-menu. When converting from the monochrome *.NIP files to
the color 24 bpp *.BMP the color values for Red, Green, or Blue range from 0 to
1.0 for the image and background colors, with white being Red=1.0 Green=1.0
Blue=1.0.
To obtain the best, i.e. fastest, frame rate in the ANIMATE command you would
probably want to convert the 24 bpp *.BMP files to 8 bpp *.BMP files, then
convert those 8 bpp *.BMP frame files into pixel files made for a 8 bpp pixel
file using the M256 palette, such as the V320M256 video mode pixel type file.
In the M256 palette the background color would be converted into some shade of
gray, or be black or white depending on what color it was in the 24 bpp BMP
file. Even faster frame rates might be obtained using the M16 palette video
modes, such as E640M16, but speed differences may vary from one computer or
video board type to another. The C16 and C256 palette video modes are not
recommended for the display of images converted from monochrome *.NIP files
since the tone range would be limited. If color pixel files are desired for
display of the 24 bpp *.BMP images from the *.NIP files, then the 15, 16, 24,
or 32 bpp pixel file types should be selected using the VESA video modes, even
though they will probably enable a slower maximum frame rate in the ANIMATE
command.
See the descriptions of the corresponding Nipkow macro commands for some more
and detailed information about the values used by the Nipkow menu commands.
Please note that many of the values used with the Nipkow commands are dependent
on the values used when the various files to be used were generated, and so you
will need to enter corresponding values in order for the files to be loaded or
saved properly. Also the various values used in each Nipkow command interact,
and so only some combinations of values entered will be valid.
The width of the sync pulses when used generally need to be wider than one
*.WAV file sample when the signal has been, or is to be, transmitted through an
Analog channel. To record LD video on an audio cassette tape at 44100 samples
per second the width of the line sync pulse should be between 5 and 10 samples.
If the sync pulse is too narrow the high frequency bandpass limits the pulse
height, and if the pulse is too wide the low frequency bandpass causes the tail
of the sync pulse to "float" up and cross the sync threshold early. Another
problem that arises with too narrow sync pulses is that if you are going to
reconstruct the images from the video wave form by digitizing the Analog video
signal with your sound board, the samples generated and digitized are not
locked in sync, so the sample point will drift from on the center of a sample,
to between two samples, so if a single sample were used for the sync pulse, the
amplitude of the re-digitized sync pulse would fluctuate from near its full
height to about half its full height causing problems with the DC restoration
and sync lock. When the sync pulses are 5 to 10 samples wide, the fluctuations
due to sampling timing errors on re-digitizing are reduced since several of the
samples will be sampled at points on or between two full amplitude sync pulses.
The front porch and back porch of the sync pulses is made the same width as the
line sync pulse value. The frame sync pulse is made three times as wide as the
line sync value. When detecting the frame sync you should enter a value about
twice the line sync width. When detecting the line sync you should enter the
same value as used to generate the line sync. The centering value in the
NIPKOW WAV2NIP or Nipkow Sample commands can shift the image left or right one
or more pixels to make up for early or late sync triggering do to distortion of
the sync pulse shape caused by the Analog signal channel. A single sample
width at 44100 samples per second is generally too narrow to get a good sync
lock on when the video has been recorded onto audio tape. When recording video
onto audio tape the signal level should be reduced to about -20db since the
frequency response of most audio tape recorders is more flat at -20db than at
0db VU volume level.
---
NEW MACRO COMMANDS
Five new Macro commands have been added to v3.7N, NIPKOW BMP2NIP, NIPKOW
NIP2WAV, NIPKOW WAV2WAV, NIPKOW WAV2NIP, and NIPKOW NIP2BMP. These correspond
to the menu commands Nipkow NIP, Nipkow WAV, Nipkow Modulate, Nipkow Sample,
and Nipkow BMP. See the descriptions of the Nipkow menu commands above for an
overview of what these commands are for.
Macro command: NIPKOW BMP2NIP
As was described above for the menu Nipkow NIP command this NIPKOW BMP2NIP
macro command converts images from 24 bpp *.BMP to *.NIP files for use with the
commands that use *.NIP files. When converting from color *.BMP files to
monochrome *.NIP files the amounts of Red, Green, and Blue mixed should add up
to 1.0 total, i.e. Red=0.30 Green=0.59 Blue=0.11. The sync black level should
be set to 0 for non-sync images and 0.5 for images that will be used to make
sync video waves. The sync level can be lower, but signals that are
transmitted analog may not be able to be recovered if the sync is too weak
because of signal degradation. Note the sync level used for each *.NIP file
set since the sync black level also needs to be set to restore the black level
when the images are reconstructed. There are two modes, mode 1 just converts
one file, and mode 2 converts a set of numbered files, i.e. 1.BMP to 1.NIP,
2.BMP to 2.NIP and so on. If the set of files to convert does not start with
file 1.BMP then the file number in the filename should correspond to the
starting number of the range to convert, i.e. if the range is 20 to 50 then you
would enter 20.BMP and 20.NIP as the filenames for conversion.
For mode 1 the command uses these values:
NIPKOW BMP2NIP
BMP_name = Name of source BMP files, i.e. 1.BMP
NIP_name = Name of result NIP file, i.e. 1.NIP
modecode = 1 for single file conversion
X_over = X over-sample ratio for image patch rescale
Y_over = Y over-sample ratio for image patch rescale
X_width = X width of rescaled patch, i.e. *.NIP X width
Y_width = Y width of rescaled patch, i.e. *.NIP Y width
X_start = X of upper left pixel in image patch from *.BMP image
Y_start = Y of upper left pixel in image patch from *.BMP image
R_compo = Red component for Monochrome conversion, i.e. 0.30
G_compo = Green component for Monochrome conversion, i.e. 0.59
B_compo = Blue component for Monochrome conversion, i.e. 0.11
syncblack = Sync black level, 0 for no sync or 0.5 for sync
Example: NIPKOW BMP2NIP
C:\DC37N\BMP\1.BMP
C:\DC37N\NIP\1.NIP
1 245 165 3 3 50 50 0.3 0.59 0.11 0
For mode 2 the command uses these values:
NIPKOW BMP2NIP
BMP_name = Name of source BMP files, i.e. 1.BMP, 2.BMP
NIP_name = Name of result NIP file, i.e. 1.NIP, 2.NIP
modecode = 2 for set of files conversion
X_over = X over-sample ratio for image patch rescale
Y_over = Y over-sample ratio for image patch rescale
X_width = X width of rescaled patch, i.e. *.NIP X width
Y_width = Y width of rescaled patch, i.e. *.NIP Y width
X_start = X of upper left pixel in image patch from *.BMP image
Y_start = Y of upper left pixel in image patch from *.BMP image
R_compo = Red component for Monochrome conversion, i.e. 0.30
G_compo = Green component for Monochrome conversion, i.e. 0.59
B_compo = Blue component for Monochrome conversion, i.e. 0.11
syncblack = Sync black level, 0 for no sync or 0.5 for sync
start_frame = Starting frame number, i.e. 1
end_frame = Last or Maximum frame in set, i.e. 99999999
Example: NIPKOW BMP2NIP
C:\DC37N\BMP\1.BMP
C:\DC37N\NIP\1.NIP
2 245 165 3 3 50 50 0.3 0.59 0.11 0.5 1 99999999
Macro command: NIPKOW NIP2WAV
As was mentioned above for the Nipkow WAV menu command this NIPKOW NIP2WAV
macro command converts a set of *.NIP image files into a *.WAV file that can be
played to output video wave forms of Low Definition television, or the *.WAV
can be modulated with the NIPKOW WAV2WAV command for the transmission of higher
resolution images. The adjustment of the black level for the sync is done in
the conversion from *.BMP to *.NIP, so different *.NIP files are used for sync
and non-sync wave generation. Note that the interlace ratio should divide
evenly into the number of scan lines so that each field has the same number of
lines. When generating *.WAV files for Nipkow disk scanners or for use as
sounds you might not make sync pulses. The front porch and back porch of the
sync pulses are made the same sample width as the value entered for the line
sync pulses, generally 10 samples. The line sync pulse should be used when the
frame sync pulse is used. The frame sync pulses are made three times as wide
as the line sync pulse. The sync point is the later edge of the sync pulse for
both the line and frame sync pulses, so the frame sync pulse starts sooner.
When the multiple sync pulse type is selected for the frame sync, there is an
extra black level gap usually before the frame sync pulse. In the NIPKOW
WAV2NIP command the frame sync sample width should be set to about twice the
line sync sample width even though the frame sync pulse is three times the line
sync pulse sample width to allow for distortion of the frame sync pulse and to
have the program see better the difference between the line and frame sync
pulses. Extra retrace lines should only be needed for CRT type displays to
allow for the deflection yoke to sweep the electron beam back for the fly back
sweep. When interlaced scanning is used, extra black lines are inserted at the
start of each field so that the first field has the frame sync pulse line at
its start, and the other fields just have a blank line with a line sync pulse
line at their start so that the reconstruction can find the first field. So in
interlaced scanning the non-first fields have a blank line plus the retrace
lines before the image lines, and the first field has a frame sync line plus
the retrace lines before its image lines. The interlace ratio should divide
the image lines into equal sized fields.
For mode 1 the command uses these values:
NIP_name = Name of source NIP files, i.e. 1.NIP, 2.NIP
WAV_name = Name of source WAV file, i.e. SOMENAME.WAV
modecode = 1 for conversion of Monochrome *.NIP files to mono *.WAV file
X_flip = X mirror for width scan direction, 0=Default, 1=Mirror
Y_flip = Y mirror for height scan direction, 0=Default, 1=Mirror
scan_mode = 0 for Horizontal scanning, 1 for Vertical scanning
interlace = 1 for non-interlace, 2 or more for interlace, see notes above
line_sync = 0 for no sync, 1 or more for line sync samples, try 10
frame_sync = 0 for no sync, 1 for do frame sync line
retrace = 0 for no retrace lines, 1 or more for number of retrace lines
f_sync_type = Type of sync pulse for frame 0=Single, 1=Multiple
sync_black = Sync black level, 0 for no sync, 0.5 for sync
invert_wave = Invert video wave form, 0=sync down, 1=inverted sync up
sample_rate = Sample rate for result *.WAV file, e.g. 44100, 48000
Example: NIPKOW NIP2WAV
C:\DC37N\NIP\1.NIP
C:\DC37N\WAV\SOMEFILE.WAV
1 0 0 0 1 10 1 0 0 0.5 0 44100
Macro command: NIPKOW WAV2WAV
As was mentioned above for the Nipkow Modulate menu command this NIPKOW WAV2WAV
macro command converts *.WAV files so that they can be modulated and
demodulated for improvement of low frequency restoration and compensation of
some other issues related to narrow bandwidth analog signal transmission.
Manual clipping of the demodulated wave data to have the first sample be the
starting sample of the modulated wave may help synchronize the demodulation
averaging and improve the results. The gain and inversions may need to be
adjusted to have the video wave form be at full amplitude since analog
distortion of the modulated signal can cause amplitude changes. In order to
demodulate a *.WAV file, the wave form held in that file must have been
previously modulated appropriately.
For mode 1 process 1 the command uses these values:
WAV_IN = Filename of source *.WAV file
WAV_OUT = Filename of result *.WAV file
modecode = Modulation type, 1=AM
M_DM = AM process, 1=Modulate (see 2=Demodulate below)
SPHC = 1+ output samples per half cycle for modulate
CPS = Cycles output per input sample for modulate
gain = 1 or about 0.25 to 4 for adjusting wave height
invert_S = Invert source wave form, 0=No 1=Yes
invert_R = Invert result wave form, 0=No 1=Yes
sample_rate = Data rate for result *.WAV file, i.e. 44100, 48000
Example: NIPKOW WAV2WAV
C:\DC37N\WAV\SOURCE.WAV
C:\DC37N\WAV\RESULT.WAV
1 1 16 4 0.707 1 0 44100
For mode 1 process 2 the command uses these values:
WAV_IN = Filename of source *.WAV file
WAV_OUT = Filename of result *.WAV file
modecode = Modulation type, 1=AM
M_DM = AM process, 2=Demodulate (see 1=Modulate above)
DC_offset = DC offset adjustment, 0 or 32767 to -32768
averaging = Sample pairs average ratio for AM demodulate, 1+
gain = 1=No gain, or about 0.25 to 4 for adjusting wave height
invert_S = Invert source wave form, 0=No 1=Yes
invert_R = Invert result wave form, 0=No 1=Yes
sample_rate = Data rate for result *.WAV file, i.e. 44100, 48000
Example: NIPKOW WAV2WAV
C:\DC37N\WAV\SOURCE.WAV
C:\DC37N\WAV\RESULT.WAV
1 2 0 4 1.414 0 1 44100
Macro command: NIPKOW WAV2NIP
As was described above for the Nipkow Sample menu command this NIPKOW WAV2NIP
macro command reads a *.WAV file of video wave forms and attempts to convert
the wave samples into pixels in *.NIP image files. How well this conversion
works depends in part on having the settings set with proper values, making a
good digital recording of the video wave form, and the amount of signal
degradation of the video wave form during analog transmission and storage. The
use of the NIPKOW WAV2WAV command to modulate and demodulate the video wave
form may improve the reconstruction by reducing the video signal degradation
resulting from analog transmission, at the expense of a slower frame rate in
transmission or recording. The sync, when used, is detected at half the sync
black level, so a small adjustment of the sync black level entered here may
help sync the image, but in general the same value should be used as when the
*.NIP files were made, i.e. 0.5 of the signal height. In the NIPKOW WAV2NIP
command the frame sync sample width should be set to about twice the line sync
sample width even though the frame sync pulse is three times the line sync
pulse sample width to allow for distortion of the frame sync pulse and to have
the program see better the difference between the line and frame sync pulses.
The gain of the AGC is limited to about 4x to prevent noise from triggering the
sync threshold, so the video wave-form should be at least one third the maximum
signal in the *.WAV file. When the AGC and DC restoration are used, and in
general, the source file set to be generated from the *.WAV file should contain
three or more frames because a look ahead is used to find the signal peaks, and
that look ahead uses more than one frame of data.
For mode 1 the command uses these values:
WAV_name = Filename of source *.WAV file, i.e. SOMENAME.WAV
NIP_name = Filename of result *.NIP files, i.e. 1.NIP
modecode = 1 for conversion of mono *.WAV file to Monochrome *.NIP files
X_flip = X mirror for width scan direction, 0=Default, 1=Mirror
Y_flip = Y mirror for height scan direction, 0=Default, 1=Mirror
scan_mode = 0 for Horizontal scanning, 1 for Vertical scanning
interlace = 1 for non-interlace, 2 or more for interlace, see notes above
line_sync = 0 for no sync, 1 or more for line sync samples, try 10
frame_sync = 0 for no sync, 2x line_sync samples for frame sync
retrace = 0 for no retrace lines, 1 or more for number of retrace lines
centering = 0 for no centering, or +/- 1 to line sync samples to adjust
l_s_smooth = Line sync smooth, 0=None, 1=Total, try 0.5 to 0.7
sync_black = Sync black level, 0=no sync, try 0.5 for sync
DC_restore = DC restoration, 0=None 1=Yes, for use with sync
DC_smooth = DC restoration smoothing, 0=None 1=Total, try 0.7
gain = Signal Gain, 0=Automatic (AGC) 1=None, 1+ to 4=gain value
invert = Invert video wave form, 0=None 1=Invert
clock = Sample clock per pixel, 1=Default or about 0.999 to 1.001
tweak = Check for clock tweak files, 0=No 1=Yes
start = Starting sample, 1=First or 2+ for skip head samples
X_width = X pixel size for *.NIP file images
Y_width = Y pixel size for *.NIP file images
Example: NIPKOW WAV2NIP
C:\DC37N\WAV\SOMEFILE.WAV
C:\DC37N\NIP\1.NIP
1 0 0 0 1 10 20 0 0 0.7 0.5 1 0.7 0 0 1 0 1 50 50
Macro command: NIPKOW NIP2BMP
As was described above for the Nipkow BMP menu command this NIPKOW NIP2BMP
macro command converts images from *.NIP files to 24 bpp *.BMP files. There
are two modes, mode 1 converts just one file, mode 2 converts a set of numbered
frame files, i.e. 1.NIP to 1.BMP, 2.NIP to 2.BMP and so on. When mode 2 is
selected two extra values are needed, the starting frame number and ending
frame number, when these are set to 1 and 99999999 all frames from 1 up will be
converted even if the top number is less than 99999999. If the set of files to
convert does not start with file 1.BMP then the file number in the filename
should correspond to the starting number of the range to convert, i.e. if the
range is 20 to 50 then you would enter 20.NIP and 20.BMP as the filenames for
conversion.
For mode 1 the command uses these values:
NIPKOW NIP2BMP
NIP_name = Name of source NIP file, i.e. 1.NIP
BMP_name = Name of result BMP files, i.e. 1.BMP
modecode = 1 for single file conversion
x_over = X pixels in BMP image for each pixel in NIP image
y_over = Y pixels in BMP image for each pixel in NIP image
x_width = X width in pixels for BMP image, n >= NIP_X * X_over
y_width = Y width in pixels for BMP image, n >= NIP_Y * Y_over
x_start = X for upper left pixel of NIP image in BMP image
y_start = Y for upper left pixel of NIP image in BMP image
r_compo = Red component for NIP image in the BMP image, 0 to 1.0
g_compo = Green component for NIP image in the BMP image, 0 to 1.0
b_compo = Blue component for NIP image in the BMP image, 0 to 1.0
syncblack = Sync black level, 0 for no sync or 0.5 for sync
r_bk = Red for overscan background color, 0 to 1.0
g_bk = Green for overscan background color, 0 to 1.0
b_bk = Blue for overscan background color, 0 to 1.0
Example: NIPKOW NIP2BMP
C:\DC37N\NIP\SET1\1.NIP
C:\DC37N\BMP\SET1\1.BMP
1 3 3 640 480 245 165 1 1 1 0.5 0 0 0
For mode 2 the command uses these values:
NIPKOW NIP2BMP
NIP_name = Name of source NIP files, i.e. 1.NIP, 2.NIP
BMP_name = Name of result BMP files, i.e. 1.BMP, 2.BMP
modecode = 2 for set of files conversion
x_over = X pixels in BMP image for each pixel in NIP image
y_over = Y pixels in BMP image for each pixel in NIP image
x_width = X width in pixels for BMP image, n >= NIP_X * X_over
y_width = Y width in pixels for BMP image, n >= NIP_Y * Y_over
x_start = X for upper left pixel of NIP image in BMP image
y_start = Y for upper left pixel of NIP image in BMP image
r_compo = Red component for NIP image in the BMP image, 0 to 1.0
g_compo = Green component for NIP image in the BMP image, 0 to 1.0
b_compo = Blue component for NIP image in the BMP image, 0 to 1.0
syncblack = Sync black level, 0 for no sync or 0.5 for sync
r_bk = Red for overscan background color, 0 to 1.0
g_bk = Green for overscan background color, 0 to 1.0
b_bk = Blue for overscan background color, 0 to 1.0
start_frame = 1 or start value
end_frame = 99999999 or end value
Example: NIPKOW NIP2BMP
C:\DC37N\NIP\SET1\1.NIP
C:\DC37N\BMP\SET1\1.BMP
2 3 3 640 480 245 165 1 1 1 0.5 0 0 0 1 99999999
---
AUDIO USES OF NIPKOW COMMANDS
Sounds can be generated by making *.WAV files from scanned *.BMP files. The
image line width in pixels should correspond to one cycle the of fundamental
frequency of the sound to be generated in wave file samples and the number of
lines in the *.BMP image should correspond to the number of cycles of sound to
generate. The frequency of the sound generated can be raised or lowered in
pitch by changing the samples per second value of the generated *.WAV file,
i.e. changing from 44100 to 22050 would half the frequency that is drop the
sound one octave.
The sync pulses and interlace ratio would not normally be used when generating
sounds or visualizing sounds since the samples should be an uninterrupted
conversion of the *.WAV samples to or from *.BMP image pixels.
To make a drawing for a sound you could use a graphics program that lets you
create 24 bpp *.BMP files, or you could draw or paint on a card and then scan
the drawing or painting with your flat bead scanner to generate a *.BMP file of
the drawing or painting. The brightness at the start of one line in the *.BMP
file should match the brightness at the beginning of the next line in the *.BMP
file to reduce high frequency buzz at the line frequency in the generated
sound.
Using the sharpen and blur commands in your third party *.BMP file image
editing software, or other image editing commands, on the drawing image of the
wave may alter the frequency or amplitude of the overtones generated. Resizing
the *.BMP image may alter the fundamental frequency and or duration of the
sound generated.
To visualize a sound, to get an idea of how to draw such a sound or for other
analysis, you can convert a *.WAV file into a *.BMP file using the Nipkow
commands. If you make a series of wave files that are filtered for narrow
frequency bands you could then make several *.BMP image files of those *.WAV
files, one for each frequency band, then use the other *.BMP editing commands
in the CAD programs to mix those *.BMP image files in different colors, e.g.
Red for low frequencies, Green for middle frequencies, and Blue for high
frequencies, and such. When you try to convert a sound into an image you
should count the number of samples between the wave peaks in the *.WAV file to
ascertain the fundamental frequency and then use that number of samples between
the wave peaks as the number of pixels in the scan lines of the *.BMP image.
The number of lines used in the *.BMP image would be the total number of
samples in the *.WAV sound file divided by the number of samples used for the
pixels in each of the lines in the *.BMP image file. In other words, X_image =
WAV_samples_between_fundamental_peaks, and Y_image =
(total_wave_samples/X_image) for horizontal scanning, reverse the X and Y for
vertical scanning, and round the values off or up to end up with whole lines.
---
NIP FILE STRUCTURE
The NIP filetype has been introduced for further development, but for now it is
used with the NIPKOW commands. BMP files are generally limited to 24 bpp which
is only 8 bpp for each color, Red, Green, and Blue. The 24 bpp BMP files are
generally adequate for displaying finished images, especially since video
boards are also generally limited to 8 bpp per primary color channel. When
editing images having 16 bpp or 32 bpp per color channel may allow greater
expansion of the tonal range without as many artifacts degrading the finished
image. For use with the NIPKOW commands the 16 bpp image tone range allows the
black level to be lifted to 50% without losing half the gray tones from the 8
bpp image data.
Since *.WAV files generated by the Nipkow commands use 16 bits per sample,
there might be reasons to generate or read *.NIP files which use 16 bits per
pixel, rather than converting from or to *.BMP files that only use 8 bits per
pixel.
It the event that you need to produce *.NIP files for conversion with the
NIPKOW commands or convert them to some other filetype, and such, I am
including some preliminary information about this filetype.
To simplify the code that accesses the *.NIP file data for the file header is
located at the end of the file, you then read the file backwards from its end
to gather the needed information about the image size and properties. Since
frame sets would all use the same values you would generally only need to read
the header for the first frame. At this point only 16 bpp monochrome has been
developed, but other properties may be introduced. The file image data starts
at the first word of a word type file, and is stored in raster format so the
pixel address in the file in words is n = (X+(Y*X_width)) where X and Y start
at 0 and go to one less than the raster size. The gray tones are 0=Black and
65535=White. When Sync is used the black level is lifted and 0 becomes the
sync tip level, so when sync black is at 0.5 image black will be around 32768.
The header data at present is made up of 512 words, to read or write the header
an array is loaded reading backwards from the end of the file or written after
the end of the file image data. The values that should be in that array are:
512 = ASCII code for N (this is the last two bytes in the file)
511 = ASCII code for I
510 = ASCII code for P
509 = 512, the size of the "header" in binary words
All unused "header" words should be set to 0.
1 = 20061, NIP header type (this starts 1024 bytes from the file end)
2 = 1, one color (later 3 might be for 3 color)
3 = 16, 16 bits per color (later 32 might be for 32 bits per color)
4 = 1, linear data 0=Black or Sync tip 65535=White
5 = 1, color coding monochrome, (later one color might be primary)
6 = 1, upper left origin (later Y might be flipped)
10 = 1, frames total (always 1, later there may be frame series)
11 = 0, (later to be used for high bits for extra long frame sets)
20 = X, image width in pixels, 1 to 65535
21 = Y, image height in pixels, 1 to 65535
This is preliminary information and subject to change without notice. For
normal use of the CAD programs you do not need to fiddle with the NIP files,
just use the NIPKOW commands since they read and write the required values to
and from the files for you.
---
LEGAL ISSUES RELATING TO NIPKOW COMMANDS
Just because the programs are capable of generating various files and wave
forms, it does not mean that you are permitted to do whatever you please with
such files. Transmission of video wave forms or other signals and data may be
regulated in the jurisdictions applicable to your "Beta Testing" particularly
signals transmitted by Radio Frequencies or over telephone lines, therefore at
no time should you do anything improper. Improper use of the programs shall
not be granted by the EULA, and might result in your prosecution.
---
NOTES FROM RELEASE OF REVISED V3.7N. CAD AND CAM PROGRAMS, APRIL 17, 2006
Some internal changes have been made to both the v3.7 CAD and CAM programs.
These changes were made to make avoiding some pitfalls in the operating of the
programs somewhat easier to cope with. Some changes were made to the
INSTALL.BAT file to align with the other changes.
The first change is to have the programs try to automatically change the
current sub-directory so that the programs can find their files in their sub-
directory without you having to manually change the current sub-directory with
the DOS CD command at the command prompt. The v3.7 programs now check that the
disk the programs is on is a read and write media and that the program is in
the current directory. When running under DOS (or reboot to MS-DOS (tm) under
Windows (tm)) you may need to create a PATH command in your AUTOEXEC.BAT file
to the directory that holds the RTM.EXE and DPMI16BI.OVL files. If the RTM.EXE
and DPMI16BI.OVL files are not in a path where my protected mode v3.7 programs
can find them, your computer may lock up and you may get a dead black screen,
this is due to the program not getting loaded properly. Under Windows (tm)
there may be equivalent files resident so the problems that can happen under
DOS form the RTM.EXE and DPMI16BI.OVL files may not be as apparent. The
RTM.EXE and DPMI16BI.OVL files are needed for the v3.7 protected mode programs
to run under DOS, they should be in the same directory as the programs, and you
may need to make a PATH command in your AUTOEXEC.BAT file to the program
directory in order to get the programs to load.
The second change relates to a serious and perplexing problem that may arise
when files are copied to a CD-R or DVD+/-R disk. When files are copied to a
CD-R or DVD+/-R disk the file attribute for "read/write" may get changed to
"read only". Then when you copy the file back to your harddisk or to the
harddisk on another computer the file may retain the "read only" file attribute
even though the file is now on a "read/write" media. Files marked with the
"read only" attribute may or may not open and load, and when you try to save
the edited data back to the file you may get a write error, in some cases the
read or write error message may not give a clue as to what is actually wrong.
Worse yet, if you copy one of my program's files from one computer to another
by using a CD-R or DVD+/-R those files "internal" to programs may not be able
to be altered when my program runs causing unrecoverable program faults
resulting in loss of the data in the workspace and other data loss. One can
think that some computer users might never figure out that they need to reset
the file attributes of files they have transferred from one computer to another
by using a CD-R or DVD+/-R disk. This problem of the files being altered to
have the "read only" attribute forced active may extend to other media or file
transfer methods.
One approach to overcome some of the many serious issues resulting from the
files getting marked with the "read only" attribute is to now have the v3.7 CAD
and CAM programs restore the file's "read only" file attribute to "read/write"
for files they need to save, and also in some cases for files they just open.
Therefore, you should not really on the "read only" file attribute to protect
files from being written to, you should instead take other measures, such as
burning important files you do not want overwritten onto a CD-R or DVD+/-R
disk.
For automatic program operations users already should know that use of those
commands caries implicit permission to overwrite files.
The "read only" attribute has not had a history of certainty, apparently under
MS-DOS 1.0 (tm), as some sources describe, it may not have been clearly defined
as to what protection the "read only" attribute afforded at all times. You
would think that files that were originally "read/write" would be restored to
that state after being copied back to a "read/write" media, but that may not
occur so the OS and various applications may be changing this file attribute
"willy-nilly", causing problems that could be avoided if this attribute was
just ignored, in other words it may cause more problems that it solves.
There are two things you might try to avoid this problem with the "read only"
attribute. The first is to use a ZIP program to zip all files into a single
large *.ZIP archive file BEFORE you then copy that *.ZIP file to your CD-R or
DVD+/-R disk. The *.ZIP file may get converted to "read only" without your
permission, but the files INSIDE the *.ZIP file might be protected from having
their "read only" file attribute changed by the copying. You would then un-zip
the files from the *.ZIP file on the CD-R or DVD+/-R disk to the new harddisk.
The second thing you might try is to use the DOS ATTRIB command to reset the
"read only" attribute after you copy the files to your harddisk from a CD-R or
DVD+/-R disk.
To clear the "read only" file attribute from copied files you might try:
EXAMPLE: C:\DC37\ATTRIB -R *.*
To clear all of the file attributes from copied files you might try:
EXAMPLE: C:\DC37\ATTRIB -S -H -R -A *.*
But be careful that you do not change files outside my program's sub-directory
since the System and Hidden attributes, S and H, have meaning to the OS and you
could cause problems by changing them. The Archive attribute may be used by
back-up programs to mark files that need to be or have been backed up, so if
you change the Archive attribute some files may be missed on your next backup
of your harddisk.
If you need to works with files from a CD or DVD you should first copy the
files to a sub-directory on your harddisk, then use the DOS ATTRIB command to
clear the "read only" attribute from the copy of the files so you can open
those files and work on them.
EXAMPLE: C:\>MD C:\CDFILES
C:\>COPY D:\*.* C:\CDFILES\*.*
C:\>ATTRIB -R C:\CDFILES\*.*
A major headache occurs when you copy a "folder" (sub-directory) that holds
further nested "folders" (sub-directories) to a CD-R or DVD+/-R disk, then copy
that "folder" back to another harddisk. You would then have to go through all
of the sub-directories in that "folder" with the ATTRIB command, or some other
program, to make sure all of the files are restored to "read write" again.
You should install my programs on additional computers you will be using for
your "Beta Testing" by copying the distribution DANCAD16.ZIP (tm) file to a CD-
R or DVD+/-R disk and unzipping the files into a sub-directory on the new
computer, rather than copying the whole "folder" the programs were installed
into on your original computer to a CD-R or DVD+/-R disk and then copying that
folder to the new computers harddisk. If you do copy the program folder you
should run the INSTALL.BAT file:
EXAMPLE: C:\DC37>INSTALL INSTALL
in order to remove the "read only" file attributes that any of the files may
have picked up, then you would also need to re-do the configuration and
calibration of the programs for the new computer to adjust to its speed and
other factors. INSTALL.BAT will not clear any new folders or sub-directories
you may have created, so you will have to clear those yourself with the ATTRIB
command or some other program. Since the v3.7 programs now often ignore the
"read only" attribute or change it to "read/write", they may run in some
environments that are polluted with files that have been converted to "read
only" by copying, but to be sure to avoid this serious issue you should try to
have all files that my programs will need to work with cleared of their "read
only" attributes. The updated INSTALL.BAT uses the ATTRIB command to clear the
file attributes from the program sub-directories, therefore you should not run
it in or from any other sub-directory.
This problem is not limited to my programs, if you use a CD-R or DVD+/-R to
copy some *.BMP files from one computer to another, you may be able to open the
*.BMP files but may have your image editing software crash or report errors
when you try to Save the new file over the old file. So even if my v3.7
programs can in some cases deal with this issue by setting the file's
attributes to "read/write" other programs you are using may not, so you should
keep this "read only" file attribute issue in mind if you get file errors or
program crashes on your system after copying files.
If you need to rely on the "read only" attribute for file protection do not
install my programs on your computers.
If you get problems opening a file, saving files, or the programs acting odd,
try clearing the "read only" attribute, or all attributes, from the files
involved. If the program reports odd errors or reports that a file cannot be
found you know is there you should try clearing the "read only" attribute.
EXAMPLE: C:\>ATTRIB -R C:\MYFILES\SOMEFILE.ASC
Two new control files have been added to the protected mode program
distribution, DANXXXXX.BIN and READONLY.NO. The file DANXXXXX.BIN gets
extracted along with the other files from DANCAD16.ZIP (tm) when you first copy
the program files to your harddisk. If you try to run the programs without
first setting up the program environment with INSTALL.BAT the programs will
find DANXXXXX.BIN and report that you need to run INSTALL.BAT properly.
INSTALL.BAT erases DANXXXXX.BIN when it has been run properly. READONLY.NO can
be renamed READONLY.YES to try to disable the part of the new code that alters
the file attributes. However, disabling the alteration of the file attributes
can cause problems if any of the program or files have there "read only"
attribute set.
If you are running some of the programs under Windows (tm) you should create
PIF files to force the OS to display the programs in "full screen" mode rather
than display in a window. Also you can have the PIF files set to run the CAM
programs in reboot to DOS mode rather than the DOS window, which may improve
their performance in some cases. To edit the PIF files open the Windows (tm)
file menu and right click on the name of my program, DANCAD3D.EXE (tm),
DANCAD87.EXE (tm), DANCAM.EXE (tm), or DANPLOT.EXE (tm), and adjust the values
for the PIF file for that program, you need to edit the PIF file for each
program, a file will be created called DANCAD3D.PIF, DANCAD87.PIF, DANCAM.PIF,
and DANPLOT.PIF. You might disable the "screen saver", set to "full screen"
display, set "idle sensitivity" to low, and mouse to "exclusive." Under Windows
(tm) the DPMI may be already present, but under reboot to DOS the DPMI may not
be loaded unless you setup a path to the directory where you unzipped my
protected mode programs.
EXAMPLE: PATH C:\DC37
If RTM.EXE cannot load DPMI16BI.OVL the program may crash and lock up on
booting (sometimes with a blank screen) since the memory cannot be used to load
the program if these files are not in the current directory. You may need to
copy these files into the C:\WINDOWS directory and or put a PATH command in the
AUTOEXEC.BAT files used to setup the system when it reboots into DOS mode.
When running in a DOS window there may already be a DPMI present so the program
may run under path conditions that would not work under pure DOS or reboot to
DOS modes. To return from reboot to DOS or a DOS window to Windows (tm) you
may need to enter EXIT at the DOS prompt after you Quit my programs.
For best results with the CAM programs, DANCAM.EXE (tm) and DANPLOT.EXE (tm),
the computer should be rebooted using a DOS floppy disk rather than going into
the DOS mode or a DOS window. To make a WIN-DOS floppy disk you might use the
FORMAT /S DOS command:
EXAMPLE: C:\DC37>FORMAT A: /S
You then need to change your BIOS boot RAM or ROM to boot from floppy before CD
or Harddisk, and make the proper AUTOEXEC.BAT and CONFIG.SYS files with the
right driver names so that the mouse, sound board's joy-stick port, and CD
drive will work under DOS. See the other documentation relating to DOS
configuration. The *.PIF files are usually not needed when running the
programs under pure DOS.
Whenever possible it is best, or in some cases necessary, to change the current
directory to the directory my programs are in by using the DOS CD command
before you try to run any of my programs:
EXAMPLE: C:\WINDOWS>CD C:\DC37
You should always change to the program directory before using INSTALL.BAT.
---
NOTES FROM RELEASE OF REVISED V3.7N. CAD PROGRAMS, MAY 22, 2006
A new WAV sub-menu has been added to the Files Utilities sub-menu off the CAD
program's Main Menu. The first command in this new WAV sub-menu is the BIN or
Binary command which converts "any" Binary or ASCII file into a WAV sound file
and back into its original filetype (when you enter the correct file extension
manually). A Binary file is any 8 bit per byte file type, a ASCII file is a
file that only uses 7 bits of the 8 bits in its bytes. The 7 data bit
conversion makes the WAV file somewhat smaller, but should only be used on
files that have only 7 bit data in them, the 8 data bit mode should be used for
all other file types. The BIN file extension is used to designate 8 data bit
per byte files, but any file extension can be used with this command in place
of the BIN extension, that is you need to use the correct file extension in
order for the file reconstructed to be recognized for the file type of the
original (Binary or ASCII) file, i.e. TXT for text files, COM or EXE for
programs, BMP for image files, ZIP for zip files, and so on.
To ensure the quality of the reconstructed file there are options for an extra
parity bit per byte "transmitted", a special pseudoduplex mode, and a file
checksum. The parity bit flags an error if one of the data bits is read wrong
but does not always flag a data error if more than one data bit is read wrong.
The pseudoduplex mode transmits each byte twice, the second time with the data
bits inverted, then compares the two reads, the one of the data and the one of
its inverse to see if they agree or not, if not an error is flagged. The file
checksum counts up a total for all the bytes transmitted and tags that onto the
end of the file, then when the file is reconstructed the check sum should
match, if not an error should be flagged, the check sum may match if some
combination of errors exists but that has a low probability. Also the file
size is transmitted so that the result file can be checked to see if the byte
count matches the original file. When all of the checks are used in tandem the
integrity of the reconstructed file should be almost insured, although there
may be a very small chance that an error or combination of errors could trick
all of the checks. Some of the checks can be disabled to reduce file size of
the WAV file or to speed up conversion, but you should use the checks whenever
possible. Transmitting the file more than once, or sending a copy back to the
source computer for comparison, and using the DOS FC command to compare the
files for differences can also help insure an uncorrupted duplicate, i.e.
C:\DC37>FC COPY1.BIN COPY2.BIN.
The data signal is transmitted by playing the WAV file generated on the sending
computer, or played on a CD player from a CD-R the WAV file was burned onto,
and recording the sounds generated as a WAV file on the receiving computer.
The audio data signals might also be stored on audio tape. Methods of
transmission of the audio encoded data signals, with suitable amplification and
transducers, could be telephone, radio, light beam, ultrasonic link,
hydrophone, wire, megaphone, fiberoptic, and such. Telecommunication laws may
restrict the transmission of data files encoded as audio signals, so you would
need to obey the laws applicable to the method of transmission considered. No
Modem is required for the serial audio data transmission, you could try to
transmit files from one computer's speaker to another computer's microphone.
Transmitting files by audio signals might be an option to prevent the
transmission of computer viruses piggy-backing onto file operations or disks,
but audio transmission would not prevent viruses within the files themselves
from being copied.
There are two ways to control the frequency of the "carrier" wave used to
encode the Binary data as a sound Wave. One method is to change the sample
rate of the WAV file generated, the other is to change the number of samples
used per half wave generated. The number of wave cycles per bit encoded does
not change the "carrier" wave frequency, rather it repeats the wave for more
than one cycle per bit which can improve the likelihood that the decoding would
later be successful. The maximum frequency is generated when only one sample
is used per half cycle and the maximum frequency your sound board can output is
selected for the sample rate, e.g. with a one sample per half cycle and a
sample rate of 48000 per second the maximum frequency would be 24000 Hz, with
eight samples per half wave and a sample rate of 44100 per second the "carrier"
frequency would be 2756.25 Hz, and so on.
During testing some anomalies might have occurred during the playing of a test
WAV file, that is while playing WAV files perhaps at least one Windows (tm) WAV
file playing program may have introduced brief gaps in the playing of the WAV
file, such gaps might make decoding of the WAV data fail. Playing the WAV
files with Media Player (tm) did not seem to result in problems. Likewise
recording the WAV data with some programs, or with some programs running in
background, may result in WAV files that are not perfectly recorded, i.e. no
data gaps or losses. If you are playing the WAV data from a CD player, try not
to move the player while playing since skips may also introduce data anomalies.
The sound recorder that came with the sound board may work best, but you may
need to try several programs to see which ones work best on your system. Some
WAV recorders may save the WAV file in a format that does not conform to the
basic "Canonical WAV format" used in my programs, in such a case you may need
to load your WAV data into a WAV editing program such, as Magix (tm) Audio
Studio 7 DELUXE (tm), and save the WAV data back out to another WAV file that
has the proper "Canonical WAV format", in this case Mono 16 bit 44100 or 48000.
Another problem noticed is that some Windows (tm) programs do not close a WAV
file until you close the window the WAV file is in, or you exit the program
that opened the WAV file altogether. My programs will sometimes report an open
file as being "not found" since any file error is generally interpreted as the
file not being ready to load, under DOS file sharing problems like these are
not so much of an issue since only one, my, program is running, but under
Windows (tm) you "can" work on the same file with two programs at the same
time. If you get a "file not found" error, and have the file open in another
program, close that file or program before trying to open the file in my
programs.
Compressing the WAV data files into MP3 or other compressed type sound files is
not recommended since the timing and wave shape may get altered, but you can
experiment and see what works for you.
The WAV file encoded is given about one second of silence at its head and tail
to avoid data loss from glitches coming out of the sound board when the WAV
play starts and stops. More exactly a number of blank samples are tagged on
equal to the sample data rate, i.e. 48000 blank samples if the sample data rate
is 48000 samples per second.
Two new Macro commands correspond to the options in the Files Utility WAV BIN
command. See the description below for some detailed description of the values
used with the Binary to from WAV commands.
---
The new WAV BIN2WAV and WAV WAV2BIN Macro commands.
The WAV BIN2WAV and WAV WAV2BIN Macro commands correspond to the Files Utility
WAV BIN menu command. They are used to encode Binary files as WAV sound files
and to decode WAV sound data back into a Binary file. The Binary file can be
of any type whose size is within the size that can be converted. The limits of
the size of the file that can be converted change depending on the adjustment
of the values used to encode the WAV file, the maximum size of the WAV file
being about 2.1GB.
The range of values for the WAV BIN2WAV macro command are:
WAV BIN2WAV = Macro command name keywords.
modecode = Just equal to mode 1 at introduction.
Binary_source_filename = Filename of any file within size range.
WAV_result_filename = Filename for encoded WAV file to save.
Sample_rate = WAV sample rate, i.e. 48000, 44100, and such.
Samples_per_half_cycle = Samples in one half carrier sine wave.
Cycles_per_data_bit = Sine waves output per data bit saved.
start_bits = 1 to 64 marks serial data "byte" start.
data_bits = 8 bits for any file, 7 bits for ASCII text.
parity_bit = 0=none, 1=add parity checking bit.
stop_bits = 2 to 64 spaces serial data "bytes".
pseudoduplex_mode = 0=none, 1=add pseudoduplex data.
checksum_mode = 0=none, 1=add data checksum.
EXAMPLE: WAV BIN2WAV 1
SOMENAME.BIN
SOMENAME.WAV
44100 16 8
2 8 1 2 1 1
WAV BIN2WAV 1
SOMENAME.BIN
SOMENAME.WAV
48000 5 5
1 7 0 2 0 1
The range of values for the WAV WAV2BIN macro command are:
WAV WAV2BIN = Macro command name keywords.
modecode = Just equal to mode 2 at introduction.
WAV_source_filename = Serial encoded WAV file.
Binary_result_filename = Result filename with proper extension.
DC_offset_adjustment = 0=Default, or -32768 to +32767 to adjust.
Signal_gain = 1=Default or 1 to 10 for low signal amplitude.
Sample_averaging = Samples_per_half_cycle times Cycles_per_bit.
start_bits = 1 to 64 marks serial data "byte" start.
data_bits = 8 bits for any file, 7 bits for ASCII text.
parity_bit = 0=none, 1=confirm parity checking bit.
stop_bits = 2 to 64 spaces serial data "bytes".
pseudoduplex_mode = 0=none, 1=confirm pseudoduplex data.
checksum_mode = 0=none, 1=confirm data checksum.
EXAMPLE: WAV WAV2BIN 2
SOMENAME.WAV
SOMENAME.BIN
0 1 128
2 8 1 2 1 1
WAV WAV2BIN 2
SOMENAME.WAV
SOMENAME.BIN
0 2.38 25
1 7 0 2 0 1
The checksum should be used most of the time, it just adds 12 extra "bytes" of
data. The parity bit adds a little to the length of the serial data, but can
detect errors before the full WAV file has been decoded. The pseudoduplex
doubles the size of the WAV file, but checks the data during decoding for all
of the data bits, not just the parity bit. You can use all of the error
checking methods at the same time, or none of it, or pick some and not others.
Sending the file twice and using the DOS FC command to compare the transmitted
files can also help confirm that the files received have probably not been
corrupted in transmission. You can also transmit the file back to the sending
computer and the sender can use the DOS FC command to compare the returned copy
with the original for errors.
EXAMPLE: C:\DC37>FC FILE1A.BIN FILE1B.BIN
When recording Serial encoded WAV data onto Analog tape, such as a cassette,
the signal level should be recorded at about -10db VU. The bias and EQ should
be set for flat frequency response most of the time. When transmitting data
using Audio such as from a speaker into a microphone the number of samples per
half cycle should be selected to make the carrier wave well within the
bandwidth of the Audio spectrum, i.e. around 1000 Hz to 2500 Hz, and the number
of cycles per data bit should be long enough to give good noise resistance
during decoding, i.e. about 8 to 16 cycles per bit.
The averaging value used during decoding should be the same as the number of
samples per half cycle times the number of cycles per bit used during encoding,
i.e. if the encode samples per half cycle is 16 and the number of cycles is 8
then the averaging used to decode that file should be 128, if 1 and 1 then 1,
if 5 and 5 then 25, and so on.
If the decoding fails you might try adjusting the signal gain value up or down
since this signal gain value affects the relative trip points between the
program and the wave-form recorded in the WAV file. Passing the encoded wave
data through an Analog transmission channel can introduce a great deal of
distortion, so changing the gain may help in some cases, depending on what the
signal amplitude is in the recorded WAV file. Also, when a wave signal is
transmitted through an Analog channel by playing the WAV file through the sound
board or a CD player and then digitally recording the wave data, the sample
clocks will not be in phase, so in order to get a usable wave-form in the
recorded WAV file the played WAV file should have been encoded to have 5 or
more samples in each half cycle, in that way about 4 of 5 samples will
correspond in amplitude between the encoded WAV file and its copy.
You might also use the "normalize" to 95% of full amplitude command of your WAV
data editing or recording software, or just adjust the recording gain in the
WAV recorder so that the wave data is at 95% of full amplitude in the saved WAV
recording, so that you can use a gain of 1 with the WAV WAV2BIN command, i.e.
the peak signal VU meter in your WAV recorder should read about -1db VU (and
average meter would read about -3db VU since the data bits are on and off and
not a continuous sine wave). You probably do not want to clip the WAV
recording since that would raise the noise background and cause other problems
with the decode pass.
The serial data is decoded in a semi-asynchronous manner, with the stop bits
after the first one being used to adjust for timing errors, and the start bits
triggering the beginning of the next bit cluster (transmitted byte). Any
interruptions within the bit cluster will probably introduce an error and may
cause the decoding to fail. The averaging used during decoding can reduce
sensitivity to some noise, but impulses during the stop bits may result in data
errors, so the transmission channel may need to be low pass or band pass
filtered if there is impulse noise present in the signal. The noise floor Hiss
and Hum should be less than a few percent of the signal peak level, or perhaps
about -50db VU since the carrier signal bursts would be at about -10 db VU.
---
NOTES FROM RELEASE OF REVISED V3.7N. CAD PROGRAMS, JUNE 15, 2006
Several new menu and macro commands have been added to the v3.7N CAD programs,
they are: Files Utilities WAV Framize (macro WAV FRAMIZE), Files Utilities WAV
Link (macro WAV LINK), Files Animate has been revised (macro ANIMATE XMODES),
the Files Utilities BMP Pixel and other graphic commands have been revised to
support a new P256 color palette for displaying photos, cine frames, video
frames, and other images and animations for video modes V320P256 and S640P256
through S2048P256 (e.g. macro GRAPH_MODE V320P256), a new macro DIVIDED_NAME
command has been added to store large file sets for more rapid loading than the
LONG_NAME file sets, and a Files Load Obsolete OUT command (macro LOAD OBSOLETE
OUT) has been added, see the explanation of each new or revised command below.
The Files Utilities WAV Framize command and its macro equivalent WAV FRAMIZE
are used to break or chop an audio sound track into single frame size pieces so
that the audio frames can be edited with a one-to-one correspondence to the
image frames for an audio-visual sequence, such as editing a motion picture
soundtrack. For editing motion picture sound, the WAV file would be sampled at
48000 samples per second and broken into 2000 sample chunks. If the WAV file
does not total an even number of frames the tail of the end frame is filled
with silence to make a whole audio frame. The WAV Framize command can also
join the audio frames back into a WAV file for the range of frame numbers
corresponding to the portion of the picture frames that will be used from a
particular shot, making an audio extract the exact length of the shot.
The Files Utilities WAV Link command and its macro equivalent WAV LINK command
can take the audio shot WAV files made with the WAV FRAMIZE command and link
them end to end to make a full length sound track file. The WAV LINK command
can automatically Blop the junctions of the different scene WAV files to reduce
or eliminate any pops or clicks at the audio cuts. Alternatively in place of
Blopping the head of each shot's sound a Beep can be inserted, so that the
track with beeps can be used as markers for various tasks involved with
building a sound track. In the past motion picture sound tracks were edited on
35mm optical sound film, and where the cement splices were made a pop or click
would be heard when the film was played, so two methods were used to reduce the
pop or click, one was to paint on special black "Blopping Ink" in a diamond
shape about a quarter of an inch high to hide the splice, another faster method
that also allowed the sound track to be cleaned in solvents was to use a
special punch that made a diamond shaped hole through the splice. When
Magnetic film replaced the optical film, Blopping was done by passing a small
AC powered magnet over the splice to erase any signals. Diagonal splicers were
also used with magnetic film to make a short cross fade in the sound at the
splice. To achieve a Blopping effect digitally I have the WAV LINK command do
a short fade in at the start of the shot and a short fade out at the end of the
shot. The length of this short digital fade is adjustable, but should be set
to about a quarter of a frame, and since at 48000 samples per second a 24th of
a second is 2000 samples and there is a fade out and in at each cut, each fade
should be about 250 samples, that is two fades equal 500 samples and 500 is one
fourth of 2000, or one quarter of a frame. The WAV LINK command also has
options to put a pulse and beep at the head and tail of the joined track, with
adjustable silence between the pulse and beep. The pulse and beep can be used
to align tracks in audio editing software, the length of the track can be
adjusted so that the head and tail pulse and beep line up, compensating for
drift due to the crystals used in recording and playing tracks if you have to
go analog for some reason. The pulses and beeps can also be used for Edit or
Print sync marks, or to start the projector if you want to project your
workprint with digital sound playback from your computer or CD player. In 16mm
projectors you can install a sync motor and a solenoid clutch, absolute 60Hz or
50Hz signal in a WAV file can be combined with the linked audio track WAV file
to make a stereo WAV file, the 60Hz or 50Hz can be amplified and used to power
the sync motor driving the projector, the start pulse or head beep can then be
used to quickly lock the solenoid clutch in to start the projector, after that
the projector will stay in sync to the "pilot tone" coming off of the stereo
WAV file. For 35mm projectors it might be hard to get the film to start that
fast by locking the clutch with the motor running full speed, but it might work
as well if spring arms are used of the feed and supply reels.
The Files Animate and macro ANIMATE commands have been revised to allow the
display of long sets of files running about 24 frames per second, although the
frame rate will depend on your OS, harddisk, computer speed, video board, and
related factors. Three types of file sets are now supported, Short, Long, and
Divided. The Short set uses a numbered file extension giving the range of
FILENAME.1 through FILENAME.999. The Long file set type gives the range 1.FIL
through 99999999.FIL, even though the OS may limit the number of files in a set
in a sub-directory to 65534 or less depending on which OS you are using. The
Long set type also suffers from another OS problem, if you get many files in
the same sub-directory the access time gets longer and longer, so that you can
no longer run Long name frames at about 24 frames per second. To overcome some
of the limitations of the Long set type another set type called Divided has
been introduced, this type limits the number of files in each sub-directory to
about one thousand, and uses a series of numbered sub-directories such that
20000 files would be stored in about 20 sub-directories. To make such a scheme
usable the DIVIDED_NAME macro command can be used to automatically convert from
a Long type name into a Divided type name and large file sets can be made by
writing and running a macro file. For instance if you enter a filename into
the ANIMATE command and the Divided file set type has been selected, the
filename c:\1.PIX would get converted into C:\PIX0\1.PIX, and frame 12345 in
that same set would be retrieved from file C:\PIX12\345.PIX. The file
extension is doubled as the first three letters of the sub-directory so that
you can have more than one set of files in the root directory of a harddisk,
the maximum file name would be C:\PIX99999\999.PIX, but the OS may limit you to
a lower number of files such as C:\PIX511\999.PIX or C:\PIX65533\999.PIX. I
picked thus scheme because you can read the frame file number directly from its
filename, the back-slash is just where a comma would go between the hundreds
and thousands, no numeric conversion is needed. Because file sets can be so
large now, the frame [N]umber command in the ANIMATE command and the File
Animate command's incoming menus lets you set the starting and ending frame for
looping, as well as selecting the current frame to start from. A new video
palette P256 has been added so that color photographs, cine frames, video
frames, and other color images can be displayed in the quicker 8 bpp Pixel
frame files. The V320P256 or V320M256 video modes are best for running large
frame sets at high speed from a harddisk. Larger size frame files might be
usable if you can load them from a very large RAM disk. The C256 palette
should not be used for photographic images, it is a special palette for
computer graphics generated in the main menu Preview command or with the macro
DISPLAY command. It is best to convert 24 bpp BMP photographic image files by
using the revised Files Utilities BMP Pixel command (i.e. macro GRAPH_MODE,
LOAD BMP, and SAVE PIXEL), since the color dithering can then be done from the
original colors in the 24 bpp color BMP file, rather than just converting the 8
bpp palette in a 8 bpp file, when the frames are running at speed the P256
palette Pixel file images dithered from the 24 bpp BMP image files blend
together and may give an impression of more subtle colors.
The LOAD BMP command used by the Files Utilities BMP Pixel command has been
modified to be able to convert 24 bpp BMP as well as 8 bpp BMP files into 4 bpp
and 8 bpp Pixel files using the M16, M256, and P256 palettes. The C16 and C256
palettes are not supported in this change to the LOAD BMP command for 24 bpp
BMP files because C16 and C256 are not suitable for photographic images, and
work as far as for what they are useful for with 8 bpp BMP drawings. Some of
the menus in the Files Utilities BMP Pixel command have been revised to check
the bpp type of the BMP file to load and change what they say, so you will see
different messages, depending on the bpp type of the BMP image file you are
converting to Pixel. Only some video modes are valid with some bpp modes of
the BMP files, so you may need to convert your BMP files to the correct type
before you convert them to Pixel type. The size of the BMP files to convert to
Pixel must be exactly the same size as the video mode you are selecting, some
Windows (tm) graphics editing programs may make the BMP files one or more pixel
too large or too small, so check the image information in your image editing
software if you can to make sure that the BMP files are the right size before
you try to convert them into Pixel files.
The Video Graphics Mode prompt at various places in the program has been
modified to accept keywords for 8 bpp video modes with the P256 palette in
them, e.g. V320P256, S640P256, S800P256, S1024P256, S1280P256, S1600P256,
S1920P256, and S2048P256. The P256 palette is mostly intended for use with the
ANIMATE command, the LOAD PIXEL command, the LOAD BMP command, and the SAVE
PIXEL command, although it may work to some degree in other parts of the
program that use graphics modes. For making 8 bpp color graphics the C256
palette may give better results. The best results for both photographs and
computer graphics will be to use the VESA 24 bpp and 32 bpp video modes, but
since they use three or four times as many bytes they do not load as fast as
the 8 bpp Pixel files, and so are mostly too slow to use with the ANIMATE
command for display at 24 frames per second. The VESA 24 bpp and 32 bpp
commands work best when outputting to cine film in a cine film recorder, and
later projected at 24 frames per second in a movie projector, or transferred to
video. There is also the consideration of the size of the harddisk required to
hold large frame sets, the V320P256 frames are 64002 bytes each, and 1440
frames are required for each minute, so an 88 minute film would take up about
10GB to 20GB, the extra being used by the OS since files can be bigger than
there actual size in the space they take up on the disk due to OS issues.
Larger Pixel files would take much more disk space, and load slower.
The macro command DIVIDED_NAME has been added to allow the automatic generation
of Divided filenames and the production of large file sets. The DIVIDED_NAME
command also automatically creates the sub-directories that the file set is
split up into as needed by the filename's value. Because some commands like
the ANIMATE command do the conversion from Long to Divided type name, the
DIVIDED_NAME has extra modes to deliver both converted and unconverted filename
strings. The options UNHERE, UNNEXT, and UNINPUT deliver unconverted filename
strings, and the regular NAME options HERE, NEXT, and INPUT deliver converted
strings which could be used with the SAVE PIXEL and LOAD PIXEL macro commands.
A new Files Load Obsolete OUT command and its macro equivalent LOAD OBSOLETE
OUT have been added. Early versions of DANPLOT.COM (tm) supported two file
types, 2D ASCII files and *.OUT files. The *.OUT files were produced by the
plotter driver in DANCAD3D.COM (tm) by using the provided DANPLOT.PLT (tm)
plotter driver file as the driver for then Hardcopy Plot Plot command. The
advantage of using the DANPLOT.PLT (tm) plotter driver was that you could see
how the lines fit within the plotting space's border by looking at the Hardcopy
Plot Plot command's blinking preview. The disadvantage of using the
DANPLOT.PLT (tm) driver to generate tool path files was that the Plot command
only output integer values, not real numbers, so there were small rounding
changes in the points to plot. The DANPLOT.PLT (tm) driver was installed to
save the plotted lines into a file named DPLOT.OUT in the CAD program sub-
directory, the user then needed to rename that DPLOT.OUT file in order to
prevent it from being overwritten the next time the DANPLOT.PLT (tm) driver was
used to plot a drawing. The fact that the name of the *.OUT file did not
change was not a problem, since a batch file could be used with DANPLOT.COM
(tm) and it would always use the same filename for different jobs, in other
words the DPLOT.OUT was meant to be a temporary file for transmitting the lines
from the CAD program to the DANPLOT.COM (tm) program for plotting at that
moment and not to be a filetype used for archiving drawings, which should have
been done in a drawing file type, not as plotter data output. The small
rounding off of the values saved was not a major issue for many tasks, but
users needed to keep the scale values used when plotting in mind in order to
not have the rounding visible in the finished piece. The *.OUT file type is no
longer supported by DANPLOT.COM (tm) since it is not needed and the ASCII file
type uses real number values which can be scaled over a larger range before
rounding changes show up. The Files Load Obsolete OUT command has been added
so that users who saved their drawings to plot in *.OUT file type but neglected
to save there drawings in a normal drawing file type such as ASCII, 3D-Quick,
or 2D-Real, can load their *.OUT files and re-save the drawings to convert them
to a more current file type or edit them and save them in a drawing file type.
Files created by third party programs with a *.PLT file extension are probably
not plotter drivers for use in my CAD programs.
Although 24 Bit 96000 sample per second WAV files are perhaps becoming more
common and standard, One can probably see little, or even perhaps almost no,
piratical benefit to using such larger files in the production of 35mm Optical,
Magnetic, or even Digital Motion picture sound tracks that will be played on
Movie house Cinema theater sound systems. Motion picture sound tracks are
normally compressed to keep the volume near 100% modulation with the average
signal between -3db VU and -7db VU much of the time. At the theater people are
talking and making noise with their popcorn, and at Multiplex theaters you may
hear the loud sounds from the movies playing at each adjacent theater, so the
ambient noise floor is quite high, probably above even the LSB of 16 Bits let
alone 24 Bits. In an excellent home theater system on a quiet night a young
person might be able to tell some difference, but even then it would probably
be very small. The benefits of the smaller 16 Bit 48000 sample per second WAV
and RAW files in conserving disk space and perhaps editing, loading, and saving
faster, seems to me at this point to be a very real benefit. So for those
commands that only support 16 Bit WAV files at present, you can use your WAV
editor to convert your 24 Bit WAV file to 16 Bit for use with those commands,
and then convert back to 24 Bit when the finished sound track has been
completed, i.e. to archive the finished track or tracks, if you like. The WAV
commands may work with 96000 sample per second 16 Bit files if you have the
extra harddisk space for files twice as large as 48000 sample per second files,
this would allow you to not have to resample just change the bit resolution,
but remember that some commands only work with Mono WAV files, so for multi
track sound tracks you may want to write a macro to process all the shots the
same way. Remember to double the samples per frame if you process your sound
track at 96000 samples per second rather than 48000 samples per second so that
the audio frame numbers will match the image frame numbers, i.e. change the
frame audio samples from 2000 to 4000.
You should also note that my WAV editing command may only load so called
"Canonical WAV" files, so you may need to load your WAV files that my programs
refuse to load into a WAV editing program that can save the simple "Canonical
WAV" file type, such as "MAGIX audio studio 7 deLuxe (tm)", in order to scrub
the extraneous data out of the WAV file. Many of my WAV editing commands may
only load "Canonical WAV" files that are 16 Bit Mono type. The sample rate in
some cases may be used by the command, and others not, but generally should be
48000 for motion picture sound track editing, and 44100 for audio CD burning.
When you have finished making several tracks with the WAV LINK command you can
mix them using your favorite WAV editing software. In some cases you may have
more than a hundred tracks to mix. If your WAV editing software does not let
you mix, it may let you combine two Mono tracks into a Stereo track. To mix
the many tracks together you can just repeat the operation of making a Stereo
track from two Mono tracks and saving the result as another Mono track, i.e.
track1 + track2 = trackA, trackA + track3 = trackB, trackB + track4 = trackC,
and so on. You may need to have the volume in each track at less than 50%
modulation (below -6db VU) so that when each of the tracks are combined the
result stays below 100% modulation (below 0db VU).
Although the focus of WAV editing here is primarily for 24 fps Motion Picture
sound, you could also edit 25 fps European TV telecine sound, 25 fps video
sound, or 30 fps EIA video sound. NTSC video sound shoud be edited as EIA 30
fps sound even though the actual frame rate is 29.97. When editing sound the
audio frames need to all have the same number of audio samples, and the number
of audio frames needs to correspond to the number of image frames. At exactly
30 fps the number of samples per frame taken from a WAV take recorded at 48000
samples per second would be 1600. But if the video camera is running at 29.97
the number of samples per frame recorded would be greater than 1600, maybe 1601
for some frames and 1602 for others. To correct this NTSC issue you need to
resample the recorded audio to make it a little shorter, edit the audio, then
resample the edited audio to make it a little longer before doing an audio
overdub onto the video running at 29.97. To extract the video for editing you
would extract all of the video frames (as BMP files), dropping none, since like
film editing the frames only assume a frame rate from the projector or play
back device, while editing the frame files are just static numbered files of
picture and sound that correspond to the film picture and magfilm or optical
track film frames. You should be able to in this way record double system
audio and video with a MiniDisk or DAT recorder using your NTSC, PAL, or SECAM
camcorder, MiniDV, HD, or other crystal locked video system if you clapper
board slate each shot so that you have a video frame with the slate and an
audio frame with the clapper board slate slap. If you have edited single flash
frames (or frames that say head sync and tail sync in a title) into the head
and tail image leaders such that those frames coraspond to the head and tail
beep frames in the tracks you should be able to adjust the resampling of the
audio tracks to make the head and tail beeps align with the head and tail flash
or sync title frames, at least for audio tracks that only lasts 10 minutes or
so, for longer projects you may have problems depending on how constant the
crystals are in your equipment. You can generate 60Hz pilot tone on a second
track of a stereo WAV, and use an oscilloscope to check the phase of the audio
playback to the video fields by taking the video signal and filtering it to get
a 59.94Hz sine wave, you then put the filtered video into the X axis of the
scope and the playback of the resampled 60Hz pilot tone audio off the second
track of a stereo WAV where the first track is the video audio for the overlay
into the Y axis of the oscilloscope. You should see a circle on the
oscilloscope screen, the circle may rotate on edge and look like a line part of
the time, if the circle rotates in the same direction more that three rotations
over the full playback time you are more than a frame out of sync, if you have
trouble telling if the circle is rotating in the same direction you can reduce
the filtering of the video so that wiggles in the circle displayed give you a
clue as to the direction of the phase shift. You do not want to generate
59.94Hz pilot tone, since the point of using the pilot tone here is to check to
see if you have resampled the audio track enough to stay in sync with the video
after editing, so the audio running at 30 fps and the 60Hz pilot get resampled
shorter to play back on a machine running at 29.97 frames per second (59.94
fields per second, NTSC has two interlaced fields per frame). Do not record
the pilot tone, you need to generate it so that it will be in absolute sync to
the length of the audio frames, if you record pilot tone or time code there
will be small timing errors due to the crystal clocks not running at exactly
the right frequencies resulting in phase drift over time, that may put you one
or more frames out of sync after 20 minutes. If you record SMPTE time code on
the video tape generated from the edited image frame files (using third party
tools), and sync lock the playback of the WAV file's WAV player by using a
SMPTE to MTC time code converter through your sound board's MIDI port you may
be able to lock the phase of the video recorder during audio overdub so that
the computer automatically adjusts to match the video recorders actual frame
rate, in which case the resampled pilot tone shown on the oscilloscope should
stay in phase over an "unlimited" WAV playback duration.
You can record the audio portion of double system sound for making cine film
movies or videos on video on a VCR or camcorder, such as Hi-Fi VHS, and ignore
the frame rate of the video signal, just play back the audio into your sound
board and sample at 48000 samples per second. In other words, you can use a
VCR or camcorder just as an audio recorder, and not use the picture recorded,
the video signal source can just be a good NTSC test pattern or a signal from a
NTSC camera with the lens cap on. Do not use tube type video cameras as the
video source since some of the older cameras may produce random interlace or
have the vertical sync locked to the line AC power frequency, rather than the
59.94 Hz used for NTSC video recorder playback, which could cause the playback
to be the wrong speed. The VCR or camcorder has a crystal so the audio plays
back at the same speed as the audio was recorded, more or less. You may want
to point the video signal source camera at the actors mouths zoomed in so that
you can use the video tape later if you need to ADR loop dub the actors to make
a better recording. Using a network broadcast as the video source may give a
more stable recording speed than using a video tap camera or some low quality
video source, since the VCR locks its tape speed while recording to the video
source sync. Black and White cameras, such as used in a video tap, may run at
EIA 60 Hz fields, but the VCR will almost certainly play back such Black and
White video at the NTSC 59.94 field rate, so using a NTSC color video tap may
be a better idea if you want the video tap image on your audio recordings so as
to not pitch and time shift your audio. Using a Hi-Fi VCR to record sync
double system audio for film or video should work about as well for the lip
sync as Minidisk, DAT, or direct computer recording in PCM except for slightly
lower audio fidelity, just be sure that the recorder starts a few seconds
before the slate clapper board is slapped to be sure the recording speed is
stable. Do not try recording audio on a "wild" tape recorder unless you use
pilot tone or time code to resolve the tape speed fluctuations later. For film
shooting you need to use a crystal sync or AC sync motor on the camera in order
to use a crystal sync audio recorder without sync signal wires between the
camera and audio recorder in a double system arrangement, if your Movie camera
does not have a Crystal or AC sync motor, then you need to install a pilot tone
generator on the Movie camera and resolve the audio before you can generate the
separate audio frame shot take files to be chopped up by using WAV FRAMIZE
command Mode 1.
A general problem with numbered file sets is that you need to have a continuous
set of files of consecutive numbers, if files are missing you will probably get
an error and the macro or the command may be interrupted. Another problem can
arise when you have saved a file set of the same name before and write a new
file set over the old one, to save time some of the commands only check the
first file in a set, and then assume the other files are like the first one in
type, size, and such. If you partially overwrite a set of one type with
another and use the same name, when the second set is read the program will
read past the last file of that set into the previous files, resulting in an
error report, or scrambled data being loaded. To avoid such problems, always
delete or erase files in a set before writing a set to the same directory with
the same name as the previous file set.
The maximum file name ranges alowed by the Long, Short, and Divided filename
types does not reflect the actual range of filenames that may be stored on a
disk under a particular OS, since the range and total number of files that any
given OS alow may vary from one particular OS to another. Also the speed of
access for file sets may vary by the number of the file in the set and the
place the files in the set are stored on the disk drive, as well as the OS used
at the time the files are read or written. Windows 98SE (tm) may give higher
disk access speeds than DOS for very large file sets, but you will need to do
your own testing since your hardware may also influnance the file access times.
Under Windows 98SE (tm) sub-directories may be limited to 65534 files. The
number of files you can store in the root directory may be limited to around
511 or 65365 in some OS. Files in large file sets may access faster from the
rood directory, or when the Divided filename type is used in place of the Long
filename type.
---
DESCRIPTION OF NEW MACRO COMMANDS
See the general description of the new Macro commands and their menu equivalent
commands given above. Here the particulars of the values passed to these new
Macro commands is discussed.
WAV FRAMIZE currently has two modes, the first mode chops a WAV audio sound
file into frame size chunks so that a range of frames can be selected with the
second mode to make a WAV file with the sound for a shot in a Movie or Video.
The number of samples in each frame chunk needs to be the same so that you can
edit a cut between any two frames. WAV files sampled at 44100 samples per
second do not divide evenly into 24 frames per second and so would need to be
resampled to 48000 samples per second or 88200 samples per second before being
chopped up. 44100 can be divided evenly by 25 frames per second to give chunks
1764 samples long. WAV files sampled at 48000 samples per second can be
chopped into chunks of the same number of samples at 24, 25, and 30 frames per
second giving chunks of 2000, 1920, and 1600 samples. 96000 sample per second
files are also usable for 24, 25, or 30 frame per second editing, but the frame
chunk files would be twice as large. In the initial release of the WAV FRAMIZE
command only 16 bit Mono WAV files are supported because dialog for each actor,
sound effects, and other sounds are usually edited on separate tracks. If you
need to edit stereo or multi track WAV files, break them into Mono files and
framize them into separate sub-directories. Pilot tone would normally not be
framized since the phase of the pilot tone would change at each shot
transition, rather after the RAW audio frame files for all the shots is put
together with the WAV LINK command you would generate new Pilot tone or time
code and combine the full audio track of audio shots from the WAV LINK command
with the new Pilot tone or time code into a stereo WAV file for playback to
record the audio onto Magfilm or the Optical sound negative using the pilot
tone to operate the sync motor on the Magfilm or Optical film recorder. The
WAV of the Pilot tone or time code should be phase locked to the exact length
of the frame chunk in samples, if you have no other way to lock the phase, you
can edit the WAV of the Pilot tone or time code in a WAV editor and add or
subtract a few samples to the wave form here and there to keep the starts lined
up, e.g. for 60 Hz Pilot tone the zero crossing after each cycle should occur
about every 800 samples in a 48000 sample per second WAV file, checking to see
that the zero crossing happens at multiples of 800, such as at about sample
48000 for the start of the second second, 480000 for the tenth second, 4800000
for the hundredth second, 48000000 for the thousandth second and so on. The
Waveform generator in your WAV editing software may be able to create Pilot
tone in perfect phase to the sample count. The frame chunks are stored in RAW
wave data without the WAV file header to possibly reduce file size, improve
speed, and simplify the code written to work with the frame audio chunks. If
you need to listen to one of the chunks you may be able to import the chunk
into your WAV editor by selecting "All files" as the type, and selecting "16
Bit Little Endian (PC) Mono" from the untyped wave data dialog if your program
has one. If your WAV editor does not support "16 Bit Little Endian (PC) Mono"
you can use the WAV FRAMIZE command to convert just one RAW frame into a WAV
file by selecting the starting and ending frame as the same number as the
number of the RAW frame you want to listen to. To get the first frame (frame
number zero) of audio data for a shot take to have the clapper board slap in
the audio frame file numbered zero you can edit the shot take WAV file in your
WAV editor to delete the head of the shot take WAV file before the clapper
board slap sound wave form before you use the WAV FRAMIZE command to make the
numbered audio frame chunk files (the clapper board slap being numbered frame
file zero for each shot and take), otherwise you can write a macro to rename
all the RAW frame chunk files for a shot so that the clapper board slap sound
is in frame file number zero, the frame after that numbered one, and so on see
the FILES RENAME, NAME, LONG_NAME, and DIVIDED_NAME macro commands. Once you
have the clapper board slate's slap in audio frame file zero, you can use the
selected frame numbers of the film start and end image frames you want included
counting from the clapper board slate slap frame (slate on image frame number
zero also) as the range for the first and last frames to have WAV FRAMIZE
command to turn the audio frames for the shot take back into a single WAV file
for that shot take, and so, if you change your desired edit points you can just
edit the starting and ending frame numbers passed to the WAV FRAMIZE command in
your automatic output macro file and run that macro to generate new shot take
WAV files with the new selected audio frames included or omitted, WAV link can
then generate the WAV track file blopped and ready to transfer or use for
interlock projection, and such. If you select the maximum frame number range
for WAV FRAMIZE Mode 1 and the source WAV file is too short to make complete
frames the end of the last frame will be filled with silence samples to fill
out a full audio frame, the error report option can be set to ignore that the
WAV file was short and the last frame may have been padded this or report that
the WAV file was short of the entered last frame number.
Vales used for Mode 1 (chop) are:
WAV FRAMIZE 1
IN_file_set_type IN_filename
OUT_file_set_type OUT_filename
first_frame_number
last_frame_number
samples_per_frame
report_short_error
WHERE:
IN_file_set_type...= U (unit file, not a set), just one 16 Bit Mono WAV
IN_filename........= *.WAV 16 Bit Mono WAV, 48000 samples/second normally.
The WAV files input here are audio tracks that run the
full length of the camera takes generally. If possible
you should delete any samples in the source WAV file
before the clapper board slate slap with your WAV editor
so that the first audio frame (frame number zero) will be
the clapper board slate slap or electronic slate beep if
you have an electronic slate. It might also be a good
idea to trim off the tail of the source WAV file to the
length of the image frames that will actually be used in
order to conserve disk space by not having more frame
files generated than you will need. To keep the source
take WAV files in order and to batch process them you may
wish to number them, in that way a macro using the NAME,
LONG_NAME, or DIVIDED_NAME command can process a sequence
of files automatically.
OUT_file_set_type..= L S D for Long Short or Divided
Long = C:\SUB\1.RAW to C:\SUB\65534.RAW
Short = C:\SUB\MYXXXRAW.1 to C:\SUB\MYXXXRAW.999
Divided = C:\RAW0\1.RAW to C:\RAW511\999.RAW
OUT_filename.......= For Long and Short the name entered is the same as what
the file is saved like, but for Divided type you enter
the Long style name and the program splits the Long
number and makes the sub-directories
first_frame_number.= 0 or 1 for the full range, normally the clapper board
slate slap frame, or some other number to insert a range
of audio frames into a set, i.e. overwrite some frames
with silent frames, room tone frames and such. Note that
declicking or blopping is not done between frames, if you
want blopping between ranges of frames it is better to
join groups of frames joined with WAV FRAMIZE Mode 2 with
the WAV LINK Mode 1 command rather than using single
frame inserts or overwrites.
last_frame_number..= For Short 999 or for Long and Divided 99999999 for the
full length of the source WAV file, or a number of frames
for the length of the picture frames in the shot
samples_per_frame..= This must be equal to the samples per second of the
shot's source WAV file divided by the frame rate is such
a way that all the audio frames have the same number of
samples, for 48000 sample per second WAV files and
editing 24 frames per second you would normally select
2000 samples. If you wanted to edit the sound in quarter
frame lengths you could select 500 samples, but all the
audio frame numbers would be about four times the picture
frame numbers, i.e. picture frame 1 (first frame after
the clapper board slate frame) would be audio quarter
frames 4, 5, 6, and 7.
report_short_error..= This lets you have the program warn you that it has
padded the last audio frame with silence, something you
would normally not want since it will break the a macro
running, but in menu mode it lets you know if the room
tone is going to drop out in the last frame so you can
edit the source WAV to add some more room tone if you are
going to need it up to the end of the last audio frame.
Here is an example macro using the WAV FRAMIZE Mode 1:
VERSION v3.7N
WAV FRAMIZE 1
U UNEDITED\3.WAV
L 3\1.RAW
0 99999999
2000 0
{ End WAV FRAMIZE chop }
Values used for Mode 2 (join) are:
WAV FRAMIZE 2
IN_LSD_type IN_name
OUT_LSD_type OUT_name
first_frame_number
last_frame_number
sample_rate
WHERE:
IN_file_set_type...= L S D for Long Short or Divided
Long = C:\SUB\1.RAW to C:\SUB\65534.RAW
Short = C:\SUB\MYXXXRAW.1 to C:\SUB\MYXXXRAW.999
Divided = C:\RAW0\1.RAW to C:\RAW511\999.RAW
IN_filename........= For Long and Short the name entered is the same as what
the file is saved like, but for Divided type you enter
the Long style name and the program splits the Long
number and makes the sub-directories
OUT_file_set_type..= U (unit file, not a set), just one 16 Bit Mono WAV
OUT_filename.......= *.WAV 16 Bit Mono WAV, 48000 samples/second normally.
When saving the output WAV files for each shot, cut to
the frame length of the used picture frames, you should
number the WAV shot files consecutively so that the WAV
LINK command can automatically load the audio shots in
the correct order, e.g. C:\FILM6\REEL4\TRACK9A\327.WAV
first_frame_number.= 0 or 1 for the full range, normally the clapper board
slate slap frame, or some other number to insert a range
of audio frames into a set, i.e. overwrite some frames
with silent frames, room tone frames and such. Note that
declicking or blopping is not done between frames, if you
want blopping between ranges of frames it is better to
join groups of frames joined with WAV FRAMIZE Mode 2 with
the WAV LINK Mode 1 command rather than using single
frame inserts or overwrites.
last_frame_number..= For Short 999 or for Long and Divided 99999999 for the
full length of the source WAV file, or a number of frames
for the length of the picture frames in the shot
samples_rate.......= This must be equal to the samples per second for the
result joined WAV file. This does not resample the WAV
data in the initial release, it just tells the WAV player
at what speed the WAV data should be played. This would
always be the same as the sample rate of the WAV file
that was chopped with WAV FRAMIZE Mode 1 unless you want
to make a half speed result WAV file for recording the
Optical sound track on film at half speed for better high
frequency response and more exposure for a given light
valve lamp current. You might want to run the Optical
sound on film recorder at half speed, or less, to record
directly on the print stock (print stock has a lower film
speed than sound recording film), i.e. electro-print the
sound. If you play the edited WAV at speeds slower than
normal the low frequency output of the Sound Board or CD
player may need to be equalized since 20Hz would then be
10Hz or less. You need to manually enter the sample rate
because the RAW wave frame chunks are not saved in any
particular sample rate, just a sample length, so to make
a WAV file of the right sample rate you need to enter
that rate with this value, which would normally be 48000.
If you want to play a CD-R of your sound track into your
Optical sound recorder, you can use your WAV editing
program to make a "high quality" resample of the 48000
sample per second WAV file into a 44100 sample per second
WAV file that can be played from an au