[comp.windows.ms] Considering using Windows

gb7@prism.gatech.EDU (Joe Bradley) (11/10/89)

I'm considering using Windows for a new project I am about to undertake.
Not having ever written any software for Windows but having written
C and Assembler using Microsoft languages, I have a few questions
I hope someone can answer.

  1) I read somewhere that Windows only supports 8 colors. Is this true?
     If I have a VGA board that supports maybe 64 or 256 simultaneously
     displayable colors is there any way to access these colors through
     Windows? If not are there any workarounds? Is v3.0 going to support
     more colors?

  2) Is writing for Windows/286 quite different from Windows/386 or is
     it just a matter of recompiling for a different target environment?

  3) What's the learning curve for Windows software development for
     someone who knows MS C and Assembler well?
-- 
G.J. (Joe) Bradley, Georgia Tech Research Institute, Atlanta, Georgia, 30332

UUCP:     ...!{allegra,amd,hplabs,ut-ngp}!gatech!prism!gb7
INTERNET: gb7@prism.gatech.edu

mms00786@uxa.cso.uiuc.edu (11/13/89)

>  1) I read somewhere that Windows only supports 8 colors. Is this true?
>     If I have a VGA board that supports maybe 64 or 256 simultaneously
>     displayable colors is there any way to access these colors through
>     Windows? If not are there any workarounds? Is v3.0 going to support
>     more colors?

  Hope I can express an opinion. As far as I know, Windows is device indep-
  endent - I myself have a vga adapter that came with a driver for 16 colors.
  Seems to work fine. However, I have not tried to use 16 colors from within
  my program.

 
>  2) Is writing for Windows/286 quite different from Windows/386 or is
>     it just a matter of recompiling for a different target environment?

  Once again, from all the docs I have access to (SDK, Petzold), there is
  no difference whether you are programming for windows/386 or 286, as far
  as a typical *windows* program goes - they both offer non-premptive
  multitasking and full memory managment (of sorts, still limited to 640K)
  Your program for windows/286 should run as is on win/386.

>  3) What's the learning curve for Windows software development for
>     someone who knows MS C and Assembler well?

  Learning curve is very high if you include time it takes to earn the money
  to start learning! ( ~ $500 for the SDK, ~$120 for a secondary monitor and
  mono card for debugging). But, kidding aside, I myself picked it up this
  summer and didn't find it too difficult. However, Petzold's book, 
  Programming Windows, is a must, I think. While the SDK docs are fairly good,
  it would be hard to find a place to *start* using the SDK.

  Hope I didn't waste bandwidth (again!)

  Milan
  mms00786@uxa.cso.uiuc.edu
.

mcdonald@uxe.cso.uiuc.edu (11/14/89)

>  1) I read somewhere that Windows only supports 8 colors. Is this true?
>     If I have a VGA board that supports maybe 64 or 256 simultaneously
>     displayable colors is there any way to access these colors through
>     Windows? If not are there any workarounds? Is v3.0 going to support
>     more colors?

I have been unable to find a 16 color for either a plain VGA or
my Viseo 7 VGA-16 in 600x800x16 color mode. They should exist.
I DO have and use a 256 color 400x640 driver for the VGA-16, and it
works fine. Some poorly written programs do bomb, however, while
some others don't bomb but say "cannot create bitmap".

More than 8 colors is very nice, as you can get white text on a 
solid non-black background. As you may have noticed, a black
background causes problems with visibility of buttons.

For my normal 8-color driver, I have gone to the disgusting length
of making a tiny Windows program that changes the VGA palette
of MAgenta to a dark blue every half second (you have to keep doing it
to reset it after running a DOS program full screen.)
I set my window background to magenta, and it comes out dark blue.

Doug McDonald

hadgraft@civeng.monash.edu.au (Roger Hadgraft) (11/14/89)

In article <246400034@uxa.cso.uiuc.edu>, mms00786@uxa.cso.uiuc.edu writes:
>>  2) Is writing for Windows/286 quite different from Windows/386 or is
>>     it just a matter of recompiling for a different target environment?
>
>   Once again, from all the docs I have access to (SDK, Petzold), there is
>   no difference whether you are programming for windows/386 or 286, as far
>   as a typical *windows* program goes - they both offer non-premptive
>   multitasking and full memory managment (of sorts, still limited to 640K)
>   Your program for windows/286 should run as is on win/386.

It was my understanding that Win386 uses preemptive multi-tasking. It will
timeslice between applications while Win286 will not.

>
>>  3) What's the learning curve for Windows software development for
>>     someone who knows MS C and Assembler well?
>
>   Learning curve is very high if you include time it takes to earn the money
>   to start learning! ( ~ $500 for the SDK, ~$120 for a secondary monitor and
>   mono card for debugging). But, kidding aside, I myself picked it up this
>   summer and didn't find it too difficult. However, Petzold's book,
>   Programming Windows, is a must, I think. While the SDK docs are fairly good,
>   it would be hard to find a place to *start* using the SDK.

I found the easiest way to get started was to start with one of the many sample
programs and modify it to include one or more additional functions. This way you
can learn a bit and hopefully finish up with some useful utility at the end.
--
Roger Hadgraft                  |  hadgraft@civeng.monash.edu.au
Lecturer in Civil Engineering   |  phone:  +61 3 565 4983
Monash University               |  fax:    +61 3 565 3409
Clayton, Vic. 3168. Australia.  |

roper@cs.washington.edu (Michael Roper) (11/15/89)

Roger Hadgraft writes:

> It was my understanding that Win386 uses preemptive multi-tasking.

No, it does not.

Michael Roper
hDC Computer Corp.

roper@cs.washington.edu (Michael Roper) (11/15/89)

Roger Hadgraft wrote:

> > It was my understanding that Win386 uses preemptive multi-tasking.

I responded:

> No, it does not.

Which is not completely true either.  I was referring only to Windows
applications.  Windows/386 can indeed use preemptive multitasking for DOS
applications.

Michael Roper
hDC Computer Corp.

marco@hpmcaa.mcm.hp.com (Marco Dalla-Gasperina) (11/16/89)

>Roger Hadgraft writes:
>
>> It was my understanding that Win386 uses preemptive multi-tasking.
>
>No, it does not.
>
>Michael Roper
>hDC Computer Corp.
----------
I thought that Win386 ran non-windows programs preemptively (if the PIF file
is configured for background execution) but windows programs still ran
non-preemptively.

Oh well, probably wrong or not important.

marco

patrickd@chinet.chi.il.us (Patrick Deupree) (11/16/89)

In article <3288@hydra.gatech.EDU> gb7@prism.gatech.EDU (Joe Bradley) writes:
>  1) I read somewhere that Windows only supports 8 colors. Is this true?
>     If I have a VGA board that supports maybe 64 or 256 simultaneously
>     displayable colors is there any way to access these colors through
>     Windows? If not are there any workarounds? Is v3.0 going to support
>     more colors?
>
We had a monitor and monitor adapter in here once that supported 256 colors in
Windows.  Hmm, what was that again.  I think it was the Paradise Professional.
We got rid of it, though, because we didn't really need the enhanced graphics
here and the card and/or monitor were to expensive.  Basically all of this
is dependent on what kind of Windows display driver has been written for that
display.

As for the future version of Windows, I really wish that people would stop 
asking about it since you all know that anyone that has seen it can't talk
about it without getting into SERIOUS trouble.  Sorry, but I just get so many
calls from people asking me "Do you have Windows 3.0?  What does it look like?
Will it do this?  When will it come out?"  It gets a bit trying after a while.

>  2) Is writing for Windows/286 quite different from Windows/386 or is
>     it just a matter of recompiling for a different target environment?
>
If you write something under Windows 286 then that program should run under
Windows 386.  There is the slight possibility (if the program is rather large)
that it will have some problems with getting the necessary memory to run.  I
havn't seen it happen that often, though.  There are also a couple other quirks
that might show up.  If you write under Windows 386, I believe there are a
couple of extra Windows calls that you can make.  So, unless these calls are
made, an application written under Windows 386 will run under Windows 286.

You don't need to recompile, though.  Things are portable between the two
environments.

>  3) What's the learning curve for Windows software development for
>     someone who knows MS C and Assembler well?
> 
It would all depend on the things that you've done with MSC and MS MASM.  I
(before working here) had worked on writing an operating system for a Sun 2
as a project back in college.  I would consider myself a rather proficient
C programmer (assembly is a necessary evil that I'm no slouch at).

However, my first C program in Windows had some serious problems (they later
turned out to be stupid little things that were probably due to the fact that
I only have the SDK Reference Manual and never saw the section talking about
the .DEF files).

Course, for me it was easy because I was able to learn all the Windows calls
through Actor (an Object Oriented Programming environment for Windows) and
that is 3/4 of the battle.

Now I can rip off a simple C program in Windows in no time.  If I tried to
create a larger one I have a feeling I'd run into module management problems,
but that's what happens with any large program.
-- 
"I place my faith in fools.  Self confidence, my friends call it."
					-Edgar Allen Poe

Patrick Deupree -> patrickd@chinet.chi.il.us