Dear DDJ,
First, I like DDJ. I think it's the best magazine around (together with Byte). I fully agree with Mr. Price ("Letters," August 1988); I think standardization is useful only in case the language has been designed by a committee. I doubt if it's smart to standardize a language some 15 years after its introduction!
Although I program mostly in Basic or C (yes, that is possible on a little CBM 64, praise the Lord!), I'm playing around a little with Forth. But I've got a problem, and I think your readers could help me.
I'm looking for Forth source (FIG-FORTH) for floating point mathematics and for a decompiler for Forth words (or just hints on how to do it so I can program them myself.) Also, could someone tell me how it's possible that certain C functions, such as PRINTFO, can deal with a variable number of parameters?
Mark van Atten Krabbestraat
11 3052 NR Rotterdam
The Netherlands
Dear DDJ,
We have been swamped with phone calls from owners of Microsoft Flight Simulator, Version 3, concerned that the product will not support SubLOGIC Scenery Disks.
The following information is crucial for loading and operating Scenery Disks with Flight Simulator and applies to Europe Scenery Disk as well as Scenery Disks 1 - 7, Japan and San Francisco.
Although Flight Simulator's manual does not include any reference to Scenery Disk support outside a mention on page 75, a readme.doc file on the disk itself does explain the procedure for converting a Scenery Disk to a scenery file and loading the file to a hard disk.
You can load a Scenery Disk in either of two ways: as a copy-protected disk from drive A or as a scenery file loaded into the same hard disk subdirectory as Flight Simulator. To load the scenery disk from drive A, you first need to load Flight Simulator from the hard drive or a floppy drive (preferably on drive B, but you can operate both from drive A in a pinch).
When you're positioned for take-off, press <Shift-E> to bring up the scenery library menu. Choose option 1 (floppy disk in drive A) or the number associated with the scenery file you wish to use. Then invoke the NAV/COM menu and choose selection A to set your position withi the scenery area.
This should have Flight Simulator soaring through the scenery in no time. Of course, if further assistance is required, the SubLOGIC customer support department can be reached toll free outside Illinois at 800-637-4983 or 217-359-8482 within the state.
Thanks for helping to get the word out.
Deb Israel
SubLOGIC Corp.
Champaign, Ill.
Dear DDJ,
I certainly enjoyed Kent Porter's Modula-2 compiler review in the September 1988 issue ("Examining Room"). My company uses the Stony Brook Modula-2 compiler to develop accounting applications that run under Microsoft Windows.
We are always on the lookout for a new and better compiler, so we read your review with a great deal of eagerness. However, none of the compilers except Stony Brook comes close to meeting our needs. This was such a surprise to me that I thought your readers might want to know why.
It's true that the other tools are somewhat crude, but the editor is certainly customizable--you get the source code!
Stony Brook will be coming out with (if they haven't already) an integrated environment that will include a debugger. It should compete very well with TopSpeed's environment and debugger. Thanks for giving this fledgling language space in your magazine.
Seth K. Pratt
Accounting By Design
Berkeley, Calif.
The following is Marvin Hymowech's response to the letter of James R. Van Zandt of Nashua, New Hampshire ("Letters," December 1988) regarding Marvin's August 1988 article "Find That Function."
Thanks for the corrections. Here are some other fixes communicated to me by Lee Meador of Richardson, Texas:
(a) In get_fn_name() in bldfuncs.c, replace:
while( isspace(*name_prt))
/* skip trailing white space*/
name_ptr--;
with:
while( isascii(*name_ptr) &&
isspace(*name_ptr))
name_ptr-;
Also, replace:
while (isalnum(*name_ptr) II name
_ptr=='') && name_ptr>=line)
name_ptr-;
with:
while( isascii(*name_ptr)) &&
(isalnum(*name_ptr) II name_ptr
=='') &&
name_ptr>=line) name_ptr-;
(b) Similarly, in get_names_one_file() in bldfuncs.c, replace:
/*skip white space */ while ((c = filter_data(fp_source)!=
EOF && isspace(c));
with:
/* skip white space*/ while ((c = filter_data(fp_source) !=
EOF && isascii(c)
&& isspace(c));
switch ( c2 = filter_cmt(fp_source))
with:
switch ( c2 = fgetc(fp_source))
Similarly, replace:
case '\\':/* beginning of an escape
sequence */
filter_cmt(fp_source); /* so eat next
char */
with:
case'\\':/* beginning of an escape
sequence */
fgetc(fp_source); /* so eat next
char */
cmt_level++;/* descend one comment level */
with:
cmt_level = 1;/* disregard nested comments */
Dear DDJ,
I am writing to you regarding the lack of industry-standard software upgrade policies. Here is an example that frustrated me recently: I purchased Micrografx Draw, and, within a week, the company released a replacement product called Micrografx Draw Plus. The upgrade cost will be $149.95. This is an outrageous price; other companies, such as Microsoft, offer upgrade software at a more reasonable cost.
I talked to Micrografx representatives about their policies and suggested that they offer a lower upgrade plan for those who have recently purchased their product. For their part, they insisted that this is a new product and not just an upgrade and that their policy will not change. I questioned them on how long Micrografx Draw will be sold, and they said that it is replaced by Draw Plus. I do not believe software producers should be able to change the name of a product just to escape their obligation to customers to make upgrades available at a reasonable cost.
I see several other companies with equally poor upgrade policies. Let's get the software producers to realize that this is an important issue that needs to be changed.
Chris A. Friend
Friend Dialogues Inc.
Shelby, North Carolina
Micrografx representative Kenneth Mecca responds: We appreciate Dr. Dobb's Journal and Mr. Friend for pointing out this problem; we had just begun to notice an increase in negative customer feedback concerning this upgrade.
Based on these events, we reviewed our upgrade policy for Micrografx Draw Plus and made a change to reflect Mr. Friend's suggestions, as well as those from our other customers. Effective immediately, our new upgrade policy for Micrografx Draw Plus calls for free upgrades to recent purchasers of a previous version (30 days or for any customer that purchases an obsolete version from a dealer) and a $99 upgrade price for current users (longer than 30 days).
In addition, customers that have already purchased the $149.95 upgrade can get a cash refund for the difference in price or a free Micrografx ClipArt library (worth $79) of their choice.
It has always been our intent to make upgrading as painless as possible, and we certainly support any effort that will promote standardization of upgrade practices.
"Real-Time Modeling with MS-DOS" by David Bowling, (February issue): In Figure 1, page 27, the first two time lines are reversed. The value given for "zeta", page 32, column 3, is incorrect. The value of the proof is 0.1 --it should be 0.01. The equations for "x" on page 34 are reversed. The equation in column 2 should be interchanged with the equation in column 3.
Copyright © 1989, Dr. Dobb's Journal