Article View: comp.windows.misc
Article #325(none)
From: Thomas Kwan
Date: Tue, 27 Nov 1990 16:06
Date: Tue, 27 Nov 1990 16:06
656 lines
30059 bytes
30059 bytes
From watdragon!maytag!watserv1!mims-iris.waterloo.edu!tom Sun Nov 25 22:35:57 EST 1990
TABLE OF CONTENTS
(* changed items)
>> 1. Windows newsgroups
2. Free Windows applications *
3. Getting Windows video drivers
4. Using a mail server instead of ftp *
5. Windows memory requirements *
6. Standard mode vs. 386 enhanced mode
7. Running Windows 2.x applications
8. DOS in a window
9. Environment space in DOS sessions
10. Lotus 1-2-3 under Windows
11. QEMM/386 with Windows *
12. Protected-mode software vs. Windows *
13. Windows, MKS Korn shell and switchar *
14. Windows network compatability *
15. Using COM3 or COM4 from Windows *
16. Accessing the mouse in DOS sessions
17. Using TSRs for DOS sessions *
18. 256 colors in Windows *
19. Windows communications programs
20. Changing an application's icon *
21. Creating new icons
22. Icon and bitmap directories *
23. Installing new fonts *
24. FaceLift, ATM and TrueType
25. Converting a GIF or MS-Paint file to a bitmap *
26. Using a bitmap as wallpaper
27. Permanent swapfiles and using SUBST *
28. Installation problems with SHARE *
29. Windows and large hard disks
30. Using Windows as "runtime" only
31. Topics in the comp.windows.ms.programmer companion posting
----------------------------------------------------------------------
1. Why are there two newsgroups for windows?
>> comp.windows.ms.programmer is for discussion about developing
Windows software. It is not intended for discussions about
Windows software or for questions about the Foobar SVGA drivers.
comp.windows.ms is for any Windows discussions that do not concern
development of Windows software.
2. Are there free Windows applications available? How can I get them?
>> Yes, there are quite a few. Of course, there is always CompuServe
(which has a LOT of them) and your local BBS, but for us net.junkies
the Windows Heaven is located at cica.cica.indiana.edu, and is
accessed using a program called "ftp". This program is accessible
from most Internet sites, but is not usable through uucp links. If
you do have ftp available to you, follow the instructions below to
connect to cica; do not type in the // comments!
$ ftp cica.cica.indiana.edu // make connection
Connected to ... blah blah blah // cica responds
Userid (user@cica): ftp // enter "ftp" as userid
Password: real_userid@site // enter your own userid
ftp> tenex // for binary transfers
ftp> cd /pub/pc/win3 // where the goodies are
ftp> get ls-ltR // get the current index
ftp> quit // we're done
$ _
Of course, you can get multiple files at a time -- read the ftp man
page for more information. Please do not access cica.cica.indiana.edu
between 8am and 6pm EST to prevent overloading the system. If your
ftp program complains about an unknown site, you can substitute the
numeric address, 129.79.20.22, for cica.cica.indiana.edu in the ftp
command.
Remember that shareware is not free: register the software you use to
encourage the development of more low-cost software.
3. Are there Windows drivers available for my Frobozz Super VGA Turbo X
clone display card?
>> First, unless the card is one of the major brands (ATI, Orchid, Paradise,
Video-7) find out which chipset the card has, either by looking at the
manual or the card itself. Then check the /pub/pc/win3/video directory
at cica for the appropriate driver. The generic SVGA driver will let
you use 800x600x16 on just about any SVGA card as long as you can find
out the appropriate video mode number. Finally, if you get desperate,
you could call up your video card manufacturer/vendor and ask them why
the drivers were not included with the card, and to send them to you.
4. Is it possible to use a mail server instead of ftp?
There are a number of sites that archive the Usenet sources newsgroups
and make them available via an email query system. You send a message
to an automated server saying something like "send comp.sources.unix/fbm",
and a few hours or days later you get the file in the mail.
>> There are several sites that will perform general FTP retrievals for
you in response to a similar mail query. For information on using one
of them, send a message like this to info-server@cs.net :
request: info
topic: help-ftp
request: end
(NOTE: this server is currently "down for repairs". No estimate on when
or if it will return.)
And for info on another one, send this message to bitftp@pucc.bitnet :
help
Please be considerate, and don't over-use these services. If people
start using them to retrieve hundreds of megabytes of GIF files, they
will probably disappear.
--------------------
5. How much memory do I need to run Windows?
>> The more the better! You can run in real mode with 640K (assuming you
don't have a lot of device drivers or TSRs), but many large applications
will run *very* slowly. Standard mode requires 1 MB, but 2 MB is much
better. For 386 enhanced mode, you need a minimum of 2 MB. However, you
should really have 3-4 MB available for good 386 enhanced mode performance,
especially if you wish to run several DOS sessions. In addition to the
memory above, you might wish to have a disk cache (such as SmartDrive,
included with Windows) to improve Windows performance. Some applications
(such as WingZ, Excel or Word for Windows) are either impossible or
impractical to run in real mode due to lack of memory.
6. Is there any advantage to running in standard mode instead of 386
enhanced mode?
>> Yes -- speed. Windows run substantially faster in standard mode than
in 386 enhanced mode. You lose virtual memory, but if you have suf-
ficient physical memory and don't have a need to run DOS applications,
you may be happier in standard mode. Do remember, though, that some
applications require 386 enhanced mode (wdeb386 is one example).
7. Can I run Windows 2.x applications in 3.0?
>> Yes. If you run in real mode, the applications behave just like in
2.x, but have somewhat less memory available to them. If the
applications are "well-behaved", they will also run in standard and
386 enhanced modes, but Windows will first warn you with a "nag"
message that the application wasn't written for Windows 3.0. If you
run a ill-behaned application in standard or 386 enhanced mode, the
application will likely crash with Unrecoverable Application Error.
If you have a 2.x application that runs well in all modes, you can
mark it Windows 3.0-compatible using either the mark3.exe (?) or
the nonag.exe utility. Both are available freely by ftp.
8. Can I run DOS in a window?
>> Strictly speaking, you're running DOS even when you're in Windows.
However, you can run a command.com session from Windows. In real mode,
you are limited to a single session. In standard mode, you can have
multiple sessions, but they must still run full-screen. In 386 enhan-
ced mode, you can have multiple sessions, and they can run in a window.
You can control the starting up in a window vs. full-screen by setting
up a .pif file for the program (command.com or otherwise). You can also
switch the state by pressing Alt-Enter.
9. Why do I run out of environment space when I run a batch file in a DOS
session?
>> When Windows starts up a DOS session, it by default gives it an environ-
ment of 224 bytes, or the space required to hold your current environment,
whichever is larger. If you need more space, there are two methods of
circumventing this. In order of desirability:
1. Use a .pif file for each DOS application you run. In this you can
specify the environment size by using the /e:nnn option (see your DOS
manual). You will need a separate DOS file for each program. (You
can, however, just create a command.pif with a suitable /e:nnn, and
then specify in the win.ini a line such as
[Extensions]
bat=command.pif ^.ksh
With this, you can create batch file icons freely, and still get the
options specified in command.pif.
2. Specify a dummy variable such as DUMMY1=xxxxx.... before starting
up Windows. Then, as the first thing in each DOS session, do
set DUMMY1=
to reclaim the space used by DUMMY1 for other environment variables.
10. Does Lotus 1-2-3 work under Windows?
>> Versions 1.x, 2.x and 3.1 run in all modes, but do not support any of
the features of the Windows environment. For all intents and purposes,
version 3.0 doesn't run under Windows. [Buy Excel or WingZ instead! --ed.]
11. Can I use DesqView/386 with Windows?
>> You can use versions 5.0 of QEMM/386 and below with real-mode Windows
only. QEMM/386 version 5.1 provides XMS services for Windows, thus
allowing Windows to run in all modes under QEMM/386, plus providing
compatability with VCPI applications (see below). Windows will run
in standard and real modes as a DesqView/386 task.
12. Why won't my protected-mode software run under Windows?
>> Most protected-mode applications currently on the market use an
extended-memory interface called VCPI (Virtual Control Program
Interface), which is incompatible with Windows' DPMI (DOS Protected
Mode Interface (?)). Microsoft went against an established standard
in choosing DPMI, but there are valid technical reasons why VCPI was
not chosen for Windows. At this point, you have three choices:
1. Run your protected-mode software under DOS. This means that
you must NOT use Windows or SmartDrive before running your VCPI
software, and may require you to have two different config.sys
files.
2. Plead with your software developer to develop a Windows-compatible
version. They should already be working on it anyway, given the
momentum that Windows 3.0 has.
3. Buy QEMM/386, which provides VCPI. You'll be able to run your
protected-mode software as well as Windows 3.0.
13. Why can't I use Windows from the MKS Korn shell?
>> There are two possible problems. First, with versions up to and inclu-
ding 3.1c of the MKS Toolkit, the use of login.exe precludes the use of
Windows 3.0 in any but the real mode. To avoid this, have your machine
boot directly into the Korn shell or command.com.
Second, somebody at Microsoft had a brain fade, and Windows gets confused
if it is started with a forward slash path. Thus, if you simply type
"win" in Korn shell, the shell invokes Windows with something like
"c:/usr/windows/win.com"
and Windows doesn't know where to find itself! To cure this, specify an
alias for Windows: I use
alias -x win="c:\\usr\\windows\\win.com"
Note that the double backslashes are necessary for the Korn shell.
The newer versions of MKS Toolkit allow (standard and 386 enhanced mode)
Windows to run directly from the login: prompt; but they still won't let
you run standard/386 enhanced Windows from the shell (if you used login).
An updated version of init.exe is available from MKS for users of older
versions of the MKS Toolkit.
--------------------
14. Which networks are compatible with Windows 3.0?
>> The follwoing are known to work; see also networks.txt in your Windows
directory
Network earliest version
-------------- ----------------
3Com 3 Plus 1.0
3Com 3+Open 1.0
Banyan Vines 4.0
BW NFS ?.?
IBM PC LAN 1.1
LAN Manager 1.0
LANtastic 2.57 [server can not use enhanced mode]
Novell Netware 2.15 [shell & utilities must be version 3.01]
Sun PC-NFS ?.?
15. How can I use COM3 or COM4 from a Windows communication package?
>> This is a generally a problem only in 386 enhanced mode. To use these
ports, you will need to tell Windows where they are located; the
instructions for doing this can be found in the Windows readme file
sysini2.txt, which should be located in your Windows directory. In
summary, what you need to do is tell Windows what memory addresses and
interrupts (IRQs) your COM3 and COM4 ports use. This should work, but
is not guaranteed to: COM3 and Com4 are not standardized, and this is
one of the most difficult things to get working with Windows. If
possible, move your devices to COM1 or COM2.
16. Why doesn't my mouse work in a DOS window?
>> If you are running a DOS application in a window, Windows will retain
control of the mouse for cutting and pasting. You can use a mouse in
a full-screen DOS session if you install a mouse driver by running
mouse.com (either before starting Windows, or inside the DOS session),
or by including 'device=mouse.sys' in your config.sys file.
17. Why don't my TSRs work in DOS sessions?
>> Some TSR programs will not work if you install them before running
Windows. Some of them will not work if you install them inside a
DOS session. Generally the best idea is to avoid TSRs completely
unless you really need them. See also the description of winstart.bat
in the Windows .txt files.
18. Can I use 256 colors in Windows?
>> Yes, given two caveats: First, your display card and its driver must
support 256 colors. Second, your application must know about 256
colors, as this requires palette switching and some additional
programming. Most applications currently on the market only support
16 colors. In order to get 256 colors, your video card will need at
least 320K (for 640x480), 512K (for 800x600) or 768K (for 1024x768) of
RAM. 256-color drivers are also much slower than 16-color drivers.
19. Are there any good communication programs for Windows?
>> Well, maybe. There is not yet a consensus about any of the current
products. There are a number of free or shareware ones: Terminal
(included with Windows), WinQVT, Unicom and WinKermit, but all have
their problems and lack in some features. All of them are also
available on cica. Commercial packages include DynaComm ("big brother"
of Terminal), MicroPhone, CrossTalk for Windows and Wincomm. Again,
none of them stands out as the perfect choice, although several have
shown promise.
--------------------
20. How do I change the icon for a program?
>> Choose the item in Program Manager, and then select File Properties.
Click on "Icon...", and then enter the name of the file containing the
new icon. If the icon file is a DLL or EXE containing multiple icons,
you can cycle through the icons by clicking "Next Icon". Click
"OK", and then "OK" again. You can also use icons from other programs
by the same method: just specify the name of the .exe file instead of
an icon or DLL file.
The icon that is displayed by the application when it is minimized
is controlled by the application. It is not possible to change that.
21. Can I create my own icons?
>> Yes. You can use either IconDraw (shareware) or SDKPaint (a part of
the Windows SDK). Simply draw your icon, and save it as an ".ico" file.
22. Do I have to keep my icons and wallpaper bitmaps in the Windows directory?
>> Wallpaper bitmaps have to be kept in the Windows directory (unless you
use a utility such as PaperBoy for changing the wallpaper). Icons may
be kept anywhere; it may be convenient to create an ICON subdirectory
under the Windows directory.
23. I installed some more fonts using Control Panel. Why can't I access
them in Word for Windows (or another application)?
>> Word for Windows shows in its font menu the fonts currently available
for the selected *output* device, not the *display* device. You can
still use, say, vector fonts that you installed, by typing the name
of the font in the edit box. Windows will draw vector fonts on the
output device without problems -- you may or may not like the results.
Screen fonts are also used for printing on dot-matrix printers.
In some cases, you may also need to force the application to refresh
its output device font list. The easiest way to do this is to do File
Printer Setup, click Setup, then click OK, and finally OK again.
24. Do Bitstream FaceLift, Adobe Type Manager (ATM) and TrueType really
work? Are they worth the money?
>> Yes, they work -- except for TrueType, which is not yet available. Both
ATM and FaceLift also have some problems with Ami Professional, which
does strange things with its screen fonts. On the whole, FaceLift
will support more applications and output devices than ATM, but the
difference may not be significant. FaceLift also lets you generate
soft fonts for the LaserJet series (for faster printing); ATM does
not give you that option. Both provide high-quality fonts and much
better WYSIWYG at the cost of somewhat slower screen updates and
slightly slower printing.
And at street prices not much above $50, yes, both of them are worth
the money you'll pay for them.
25. How can I convert a GIF or MS-Paint file to a .bmp to use it as a
wallpaper in Windows?
>> You can save a .msp file as a .bmp from Windows Paint. You can convert
a .gif file to a .bmp using the gif2bmp utility from cica.
26. Why won't my .bmp wallpaper display correctly?
>> Well, it could be a number of reasons. The most likely are:
1. Your .bmp file is corrupted. Try reading it into Paintbrush
to verify that it is readable.
2. You are trying to display 256 colors with a 16-color video driver.
3. You have insufficient memory to display the bitmap. A 800x600x16
bitmap requires 256K of memory; 1024x768x256 would require 768K!
For 256-to-16 color dithering, you may wish to try using PicLab 1.82
with the help of wincnv.zip (available from cica).
27. I can't create a permanent swapfile. What could be the cause?
>> First of all, you must be running in real mode to be able to create a
permanent swapfile. Second, You must not have any SUBSTed drives or
Windows won't create the swapfile. Once the swapfile has been created,
you can re-SUBST your drives.
28. Why do I get floppy drive errors installing Windows or Windows apps?
>> If you have SHARE installed, you must rename share.exe (to, something
like noshare.exe) and reboot. Once you have completed installed, you
can rename share.exe back to its original name.
29. Are there problems with using Windows 3.0 on large hard disks?
>> Yes, but only in rare cases. If all of the following conditions apply,
you may have a problem:
- You are using SmartDrive (smartdrv.sys) as your disk cache
- You are using Disk Manager (dmdrv.bin) as a hard disk driver
- And either:
- Your hard disk has more than 1023 cylinders
- You have partitions greater than 32 megabytes
If this is the case, you need to do two things:
- Disable SmartDrive
- Enter VirtualHdIRq=OFF in your Windows sys.ini file.
Even if the third case is not true, but you are using both SmartDrive
and Disk Manager, you should *NOT* use a permanent swap file for
Windows.
There are no problems with large partitions created by MS-DOS 4.0 or
some versions of MS-DOS 3.3.
30. How can I make Windows 3.0 act like the runtime versions of 2.x, which
exit Windows when you wxit your application?
>> You can do this as follows (the example is for Excel; others are similar):
1. Create a new directory called c:\excel (it doesn't have to be distinct;
it could be your normal Excel directory, as long as it's not the main
Windows 3 directory).
2. Copy the following to the new directory from the Windows directory:
win.com
win.ini
system.ini
3. In the new directory modify the [boot] section of 'system.ini' by
changing the shell= line to point to the one-and-only program you
want to run. The original line should read:
shell=progman.exe
and the modified line should be something like:
shell=c:\excel\excel.exe
Remember to type the complete fileid of the program to be executed,
including the '.exe' suffix.
4. To execute the dedicated Windows session just put the new directory
ahead of the normal Windows directory in your path and issue the 'win'
command, or start Windows with the command 'c:\excel\win'.
What we're doing here is making Windows think it's running on a network
where the actual executable files etc. are on a network server, and
only the basic control files (and win.com) are on the user's local disk.
Note that this technique isolates any changes in WIN.INI and SYSTEM.INI
made in the dedicated task from any changes made in normal Windows; this
may or may not be desirable. If you need to keep the two flavors of
Windows in sync you'll have to provide an outboard copy function to
refresh the files.
--------------------
31. Topics in the comp.windows.ms.programmer companion posting
>> 1. Windows newsgroups
2. Windows devvelopment tools
3. Windows debuggers
4. Windows extended memory handling
5. Windows screen prints
6. Windows device driver development
7. Hiding dialog box controls
8. Adding controls to a non-dialog box window
9. Using floating-point in Windows
[ \tom haapanen --- university of waterloo --- tom@mims-iris.waterloo.edu ]
[ "i don't even know what street canada is on" -- al capone ]
From watdragon!maytag!watserv1!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!usc!ucsd!nosc!crash!alen Sun Nov 25 22:50:38 EST 1990
What follows is a (mostly) unemotional report of difficulties to
date with Microsoft C and SDK. The cost to me and my company of
having to do Microsoft's QA job has been enormous. I have a task
of porting a 250k program that runs on the mac and sparc into the
MS windows environment and it has proved to be extremely
difficult. The non-windowing version of the program took < 1 day
to port to Turbo C and 4 days to port to MSC6.0. I support one
set of sources for mac/SPARC/TC/MSC, heavily #ifdef'd, making
full use of makefiles to set up for the different environments.
I know that Microsoft's development environment is complex but
software engineering may be made almost painless even in complex
environments given a little care by the compiler writers.
REPORT FOLLOWS;
1) nmake uses up global heap....a "multi C-module nmake" will
fail with an out-of-memory error, restarting will continue
on for a while and fail after a few more modules have compiled.
Solution ... use "nmk" (especially important when compiling
within windows itself).
2) trailing characters after a #endif cause warning messages
that may lead to "compiler fatal errors" trying to access
nested include files (in documented cases - not always). Turning
off warnings -W0 allows the compile to complete. I know
"#endif token" should read #endif /* token */ to be ANSI compatable
but that should not cause the compiler to baulk.
3) /NOD followed by windows library inclusion causes several BAD
things to happen...a) some functions are lost (halloc, hfree,
perror, system). There should be defaults to take the place
of these in a windowing environment. b) the following other
nasty things happen...
4) fprintf(stde{err,out}) is not supported under windows 3.0. Why
did microsoft not provide a standard text window into which these
messages could be thrown. I've just spent 3 days building a wfprintf
function to emulate fprintf() in a scrolling text window in
the presence of proportional fonts and including the ability to
scroll. I should not have had to do this. (I'll post the package
to this group (if response indicates it would be useful). It
is unsupported and I'm sure the MS gurus out there can improve
on it.)
5) Why do I need 2 compilers 1 for development and the other for
production? Why is the standard comiler so slow (an hour to
compile on the PS2/80, (15 minutes on the macII and 5 minutes
on SPARC))? Why does the development compiler (-qc) not work
in so many cases?
6) Using SDK, every source file seems to be placed (automatically)
in its own segment. I have a 40 module program I'm trying to port
from mac/sun to windows. The compile line I used with non-windows
MSC now gives me an error 1063: (with no error message - just
the number). Looks like -qc is running out of space now that
"windows" options have been included. So switch off -qc for those
modules that fail with this message.
Now all the modules compile, the next message I see is is "too
many segments" - back to the manual.
Build 2 new lines per C module in the makefile to specify segment
groupings (-NT) for each of the 40 modules. (note I have now
dramatically over complicated my makefile - I'd have preferred
to specify the segment name in the C module (have you seen the
manual pages on this? - talk about "overtinked")) and #ifdef'd it -
(#if defined(dos) && defined(WINDOWS) #segment SEGNAME #endif /* */))
ASIDE...I did this previously using the "(module1 module2)"
linker overlay spec. Seems that this spec is meaningless when
windows is used and does not result in a segment grouping
specification....Microsoft - WHY NOT?...(they could even avoid the
need for .DEF modification by choosing sensible segment-type defaults)
....back to the story.
Now I need a .DEF file to tell windows how to treat the segments
- ok I can live with that. Now I need to recompile everything....
Guess what, pass 1 of the compiler runs out of heap. The manual
says use C1L with the -B1 flag.
Now -qc spits out this message -Os - unrecognized parameter. - OK
I can live without space optimization, remove the flag.
Now I get -NT unrecognized flag - that means I can't use Segment
naming with -qc (the whole point of this diversion) under the C1L
compiler. Remove -qc and I'm back to 1 hour full compiles
IN DEVELOPMENT MODE. Not acceptable. (But required - thanks for
providing me with -qc Microsoft :-() ).
EMMOTIONAL STATEMENT WARNING...
Microsoft - did you fail to provide a version of -qc with the
C1L compiler that functions the same as the non-large version?
Was it a difficult thing to get right?
....EMOTION OFF
7) Why is there no SDK phone support. I'm classifying these problems
as compiler related and am going through the C6.0 support channels.
I'm sure some of them will be deflected (wfprintf) into the
"pay me more money and I'll tell you the answer" category. Right
now I feel that the cost to me and my company has been too much
to allow that response to succeed.
I still do not have a ported product but I'm getting closer (I
think). IHMO I've had to put up with far more pain than I should
have from the advertised "Professional Development Environment"
that I've had to buy from Microsoft in order to be SAA
presentation compliant.
NOW A REQUEST. I know this posting comes across as a strong
criticism of a product that must have been difficult to engineer.
I have a job to do and am "working the mirrors" to get that job
done in a robust manner. I do not believe I have overstated any
of the difficulties I've been having but I've not had time to
fully track down their cause in all cases. If there are solutions
to these problems that I've missed I'm all ears, please email me
or post to this group. I'll be faxing this letter to Microsoft
support soon and would like it to be as acurate as possible. I'd
be happy to include reports of other difficulties in my fax. I'd
like to be able to show Microsoft that there are developers who
are doing Microsoft's QA job for them and that need urgent
support and quality products.
If Microsoft is able to read this letter from the net...so much
the better...a point-by-point response is requested.
________________
EMOTION WARNING ON..... I try not to be a wimp,
when it comes to porting - there are always difficulties, I try
to write portable "standard" C code and have 15 years experience
in C development (including a PhD along the way). I am a Unix
guru (kernel and user), write mac-toolbox applications, PC
applications (including TSRs and graphics). I don't think I'm a
lightweight, but I am turned into a drivelling idiot by the CR*P
I've had to put up with from the development environment supplied
by Microsoft. Are there any kindred spirits out there or have I
finally entered wimphood?
EMOTION OFF...(I think)
--alen the Lisa Slayer (trying to turn a SPARC into a flame)
alen%shappy.uucp@crash.cts.com (a mac+ uucp host - what a concept!!)
alen@crash.cts.com
Technical Details
Message-ID:
<1990Nov27.160659.25031@watdragon.waterloo.edu>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!watserv1!maytag!watdragon!nkkwanShow Full Headers
Complete Article Headers
Newsgroups: comp.windows.misc Path: arc1-ca.pugleaf.net!utzoo!utgpu!watserv1!maytag!watdragon!nkkwan From: Thomas Kwan <nkkwan@dahlia.waterloo.edu> Subject: (none) Message-ID: <1990Nov27.160659.25031@watdragon.waterloo.edu> Sender: daemon@watdragon.waterloo.edu (Owner of Many System Processes) Organization: University of Waterloo Date: Tue, 27 Nov 90 16:06:59 GMT Lines: 658