[comp.sys.ibm.pc] Zortech problems

nelson_p@apollo.HP.COM (Peter Nelson) (02/15/90)

   A while back I posted a question about allocating large 2
   dimensional arrays AND ACCESSING THEM AS 2 DIMENSIONAL
   ARRAYS.   Specifically, I wanted to allocate a number of
   2d arrays in which no individual array would exceed 64K
   but the total for all of them would exceed 64K.

   Compilers which support the 'huge' memory model, like 
   Microsoft's have no problem with this ....

   char array1[200][200]
   char array2[200][200]

                                             
   The Zortech runs out of memory with this.  Of course you
   can work around it by mallocating the space.  If you want
   to retain something like the desired data structure you can 
   mallocate a row of pointeres to columns of 1d arrays, etc, etc.
   But why does Zortech make you go to this trouble?

   Anyway, I've run into some other problems too:

   My application involves Cellular Automata.   Such programs 
   run for hours in graphics mode.   I also have fractal programs
   that run for a long time.   

   What if I have a 1-hour program that I want to stop after 5 
   minutes because I don't like the way it's turning out?   I could
   type Break or ctrl-C except that once Zortech enters graphics
   mode it disables this feature!  And, as far as I can tell, none
   of the "get" string or character functions (getc, getch, etc)
   Zortech supplies will return without *waiting for a keystroke*,
   so I can't write a routine which periodically checks to see if
   anyone has typed "quit" or something from the keyboard.  I imagine
   there must be some DOS call that can fix this.   But why does
   Zortech create the need to find a workaround in the first place?
   Zortech itself had no helpful suggestions on this either except to 
   reboot the machine (gee, thanks) but one of their experts is 
   going to take a closer look at this issue.

   An even more glaring problem is the apparent lack of any way
   to output text in graphics mode!!!  I was so surprised when I 
   saw this that I called the Zortech office to make sure.  They 
   confirmed it: there is no way to put text on the screen with their
   "improved" Flash Graphics package.    I'v been in the computer
   graphics biz since 1982 and I've never seen a graphics package 
   or set of graphics library calls that didn't offer some rudimentary
   text capability!   Even my $70 QuickC can output text in graphics
   mode!   

   Finally, I tried running one of my programs, which ran just fine
   on my own Hercules monochrome display, on a friend's 286 system
   with a Paradise VGA card.  Zortech sez that at fg_init time they
   check to see what kind of graphics card is present and set up
   to output to that.  No such luck.  The software mangled the timing
   of the VGA display and outputted ca-ca.   I called Zortech and they
   suggested there was something wrong with the card.   My friend has
   two kids and LOTS of game sofware and has never had any other problems.

   I've only used a tiny subset of Zortech's C and C++ and library
   features and I'm dismayed at the number of problems I've already
   found.   Right now Zortech is the only game in town for C++ on a PC. 
   But when Microsoft and Borland release their long-awaited products
   Zortech runs a serious risk of being completely blown away if it
   doesn't clean up its act fast.   

                                                  ---Peter

peter@ficc.uu.net (Peter da Silva) (02/15/90)

In article <48a441bf.20b6d@apollo.HP.COM> nelson_p@apollo.HP.COM (Peter Nelson) writes:
>    What if I have a 1-hour program that I want to stop after 5 
>    minutes because I don't like the way it's turning out?   I could
>    type Break or ctrl-C except that once Zortech enters graphics
>    mode it disables this feature!

Good for them. The way most C compilers implement 'BREAK' is a total sham.
DOS does not provide the support to do the job right, so DOS programs have
to poll the keyboard periodically looking for ^C (yes, I know it's a *little*
more complicated than that, but it comes down to checking for ^C periodically).

Since you're doing that polling anyway, why not do something like:

	while(stuff is going on)
	{
		do useful work();
		if(kbhit()) {
			switch(getch()) {
				case CTRL('C'): set exit flag;
				...
			}
		}
		if(exit flag)
			break;
	}
	clean_up_after_yourself();

After all, this is what you're doing anyway. Why not do it explicitly?

>    And, as far as I can tell, none
>    of the "get" string or character functions (getc, getch, etc)
>    Zortech supplies will return without *waiting for a keystroke*,
>    so I can't write a routine which periodically checks to see if
>    anyone has typed "quit" or something from the keyboard.

See above. kbhit() is a handful of lines long. If Zortec doesn't provide
one, a few minutes perusal of your DOS manual should handle it.

I'm directing followups to comp.sys.ibm.pc.programmer. Congratulations on
being the first resident of the new group.

>    Zortech itself had no helpful suggestions on this either except to 
>    reboot the machine (gee, thanks) but one of their experts is 
>    going to take a closer look at this issue.

Sounds like Zortech needs a few new experts.
-- 
 _--_|\  Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>.
/      \
\_.--._/ Xenix Support -- it's not just a job, it's an adventure!
      v  "Have you hugged your wolf today?" `-_-'

bright@Data-IO.COM (From: bright@sauk.Data-IO.COM (Walter Bright)) (02/17/90)

In article <48a441bf.20b6d@apollo.HP.COM> nelson_p@apollo.HP.COM (Peter Nelson) writes:
<   What if I have a 1-hour program that I want to stop after 5 
<   minutes because I don't like the way it's turning out?   I could
<   type Break or ctrl-C except that once Zortech enters graphics
<   mode it disables this feature!

Not hardly. The graphics package does nothing with ^C. ^C is only checked
for by DOS when you call a DOS function. The graphics package does not
call DOS. If you want ^C checking, you'll need to sprinkle in a few
calls to DOS inbetween calls to the graphics routines.

<  And, as far as I can tell, none
<   of the "get" string or character functions (getc, getch, etc)
<   Zortech supplies will return without *waiting for a keystroke*,

Notice the standard function kbhit(), on pg. 245, which does exactly this.

<   An even more glaring problem is the apparent lack of any way
<   to output text in graphics mode!!!

I suppose it's glaring if you hadn't noticed the function fg_putc()
on pg. 182.

<   Finally, I tried running one of my programs, which ran just fine
<   on my own Hercules monochrome display, on a friend's 286 system
<   with a Paradise VGA card.  Zortech sez that at fg_init time they
<   check to see what kind of graphics card is present and set up
<   to output to that.  No such luck.  The software mangled the timing
<   of the VGA display and outputted ca-ca.

This'll happen if you do not have a multisync monitor and fg_init
switches it into a mode that your monitor does not support. Set
the environment variable FG_DISPLAY to a mode that both your graphics
board *and* your monitor support. See page 177-178 of your manual.

<   I've only used a tiny subset of Zortech's C and C++ and library
<   features and I'm dismayed at the number of problems I've already
<   found.

DOS programming, graphics programming, and C++ programming are all
complex subjects. All the 'problems' you're having appear to be caused
by lack of familiarity with these topics. I recommend that you read:

	1. Zortech C++ Function Reference
	2. MS-DOS Technical Reference
	3. Programmer's Guide to PC and PS/2 Video Systems

kgreen@dukeac.UUCP (Kendall B Green) (02/18/90)

fg_puts works to output text strings to the graphic screen.
khbit works to check the keyboard for input.
I have put the following in my environment SET FG_DISPLAY=HERCFULL and
I never have any problems with fg_init not knowing what kind of display 
adapter I have.  Peter may have to change the set the environment for his
friends VGA board.

Peter Nelson should have read the Zortech manuals and studied the source 
code provided before flaming Zortech!  
-- 
Kendall B. Green
Duke University Medical Center
Durham, NC 27710
kgreen@dukeac.ac.duke.edu   or ...mcnc!escgate!dukeac!kgreen

nelson_p@apollo.HP.COM (Peter Nelson) (02/22/90)

 Walter Bright posts...

:DOS programming, graphics programming, and C++ programming are all
:complex subjects. All the 'problems' you're having appear to be caused
:by lack of familiarity with these topics. I recommend that you read:

 But remember, that ALL of these questions, and many others, were
 brought to the Zortech tech support staff first.   And were only
 passed on to the net when they didn't know the answers! 

 [ Btw, 'graphics programming' is what I do for a living; I'm quite
   certain I know at least as much about it than anyone at Zortech. 
   This does not mean that I know much about what passes for computer
   graphics in the PC world.   And the "flash graphics" library
   is Zortech's creation so it isn't unreasonable to assume that 
   they know how to make it work. ]

  ...and Peter da Silva posts
:>    Zortech itself had no helpful suggestions on this either except to 
:>    reboot the machine (gee, thanks) but one of their experts is 
:>    going to take a closer look at this issue.
:
:Sounds like Zortech needs a few new experts.

 Zortech clearly needs to bolster their tech support.  The people
 I've spoken to there have seemed sincere but I don't think there
 is a *single case* where they knew the answer to any of my 
 questions!    

 I've had better luck with their BBS.  Walter Bright and Joe Huffman
 monitor the board (I think its Walter's board) and have proven 
 very knowledgable.   But I'm unclear what their relation is with
 the company.  The company is in London, UK, and Alington, Mass. 
 Why is the BBS in Washington State?   The people in Arlington
 are a little vague on what Walter and Joe's relationship is with
 Zortech; I get the impression that they are some kind of consult-
 ants who write a lot of their code.   But Walter's "Organization:" is
 listed as "Data-IO Corporation; Redmond, WA".   Also calling a BBS
 in a distant state, and then calling back several times to see
 if anyone might have left an answer on the board and then doing
 followup questions/answers is very expensive compared to a short
 phone conversation with knowledgable staff.

 They seem to have a good product.  It is certainly much improved over
 vers. 1.07.  But their customer support is easily the WORST that
 I've ever encountered in this industry!   Given that this was the 
 single most expensive piece of software that I've ever bought I
 think I could have expected more professionalism.

 Zortech must develop an IN-HOUSE source of technical expertise.  It is very 
 unprofessional for a tech support staff to send people to a private
 BBS to answer questions about their product.   I feel like their company
 is being run as a hobby.   They can get by like this only as long as 
 they have no serious competition in C++.  That won't be for long.
                             

 Latest stumper:  My new VGA card supports 640X480 X 256 colors.  I
 called yesterday to ask them how I can write code to use more than
 16 colors.  They said they would "get back to me".    Stay tuned.
                                 
                                                 ---Peter

cs551djc@iitmax.IIT.EDU (Daniel Ciarlette) (02/22/90)

In article <48c74cd1.20b6d@apollo.HP.COM> nelson_p@apollo.HP.COM (Peter Nelson) writes:
> Walter Bright posts...
>:DOS programming, graphics programming, and C++ programming are all
>:complex subjects. All the 'problems' you're having appear to be caused

We must not forget that by Walter Bright replying to this message that it 
implies that he actually READS the stuff we post.  I wish people at 
Microsoft and Borland could give me personal service by the people that
actually write their stuff.  Also, Zortech does nothing to hide their bugs.
It's nearly impossible to get information about bugs in other compilers.
In my 2.06 upgrade I believe there was a list of bugs (and C++ v2.0 features)
that was listed to help me out.  I've never really had a problem with
Zortech's v2.0 C++ product.  But, I did find a deficiency and I posted it
to the Byte Information Exchange (BIX) on their conference.  I send it to
Walter and he responded to me.  I call that personal service.  Everyone
keeps saying that Zortech is in for problems when Borland & Microsoft
(let's not forget TopSpeed) come out with C++.  Well, I agree their support
is not the best.  It's better than a year ago.  Also, let's wait and see
how Microsoft, Borland and TopSpeed do.  C++ isn't as easy to implement as
C.

Saying the others will stomp on Zortech when they come out is like saying
Chevy's new secret line will beat out Ford's existing line of trucks.  It
may, but then why aren't they out?  Please, I am not saying Zortech's the
answer to everything.  I agree they have problems I just thought that the
word of a satisfied customer should be heard.

Dan Ciarlette

coy@ssc-vax.UUCP (Stephen B Coy) (02/23/90)

In article <48c74cd1.20b6d@apollo.HP.COM>, nelson_p@apollo.HP.COM (Peter Nelson) writes:
>  Latest stumper:  My new VGA card supports 640X480 X 256 colors.  I
>  called yesterday to ask them how I can write code to use more than
>  16 colors.  They said they would "get back to me".    Stay tuned.
>                                  
>                                                  ---Peter

Why should Zortech know anything about programming your vga card?
640x480x256 is a non-standard vga mode.  You'd be much better off
calling the board manufacturer or posting a request for code to
comp.sys.ibm.pc.  Your complaints about Zortech's support may be
justified but most of your problems would have been solved by
reading the manual.  Pour yourself a homebrew, find a fireplace,
curl up any read the manual.  Most of all, relax.  We'll all be
happier.

Stephen Coy
uw-beaver!ssc-vax!coy

bright@Data-IO.COM (Walter Bright) (02/24/90)

In article <48c74cd1.20b6d@apollo.HP.COM> nelson_p@apollo.HP.COM (Peter Nelson) writes:
< The company is in London, UK, and Alington, Mass. 
< Why is the BBS in Washington State?

	Zortech has offices in London, Arlington and Seattle. So what?

< But Walter's "Organization:" is
< listed as "Data-IO Corporation; Redmond, WA".

	Data I/O is kind enough to let me use their Usenet connection.
	Zortech doesn't have a VAX.

< They can get by like this only as long as 
< they have no serious competition in C++.  That won't be for long.

	People have been predicting the imminent demise of Zortech (and
	previously Datalight) since day 1. The usual reason given is that
	the 'next' release by Borland/Microsoft is just going to blow
	us away. Well, we've been in business for 6 years and do better
	every year. The eternal next release, when it materializes,
	usually evokes the comment "yeah, but the 'next' release ..." :-)

	The compiler was started back in 1983. The universal comment I
	got from everyone was "Why are you doing that? You can't possibly
	compete against the 'big' companies." They're quite wrong.

mark.freedman@canremote.uucp (MARK FREEDMAN) (02/24/90)

kP>Peter Nelson should have read the Zortech manuals and studied the
kP>source  code provided before flaming Zortech!
kP>--
kP>Kendall B. Green
kP>kgreen@dukeac.ac.duke.edu   or ...mcnc!escgate!dukeac!kgreen

    What ????? and BREAK with **TRADITION**  ????

    :-)
     mark.freedman@canremote.uucp - Toronto, Ontario, Canada
---
 ~ DeLuxe 1.11a20 #4219  **NEVER** RTFM ... complaining is MUCH more fun ..

mark@intek01.UUCP (Mark McWiggins) (02/26/90)

gsarff@meph.UUCP (Gary Sarff) writes:

> ...  Of course this point is irrelevant to
>the actual quality of their compiler, and the fact that the pc user wanting
>C++ really doesn't have much choice _but_ Zortech...

Say WHAT!?  We sell 2.0 for the 80286 and 80386, Guidelines supports the 286
with 2.0, Glockenspiel/Oasys has a version (don't know if they're at 2.0 yet),
I think Comeau has a DOS version ...

Sounds like a lot of choices to me, unless by "pc user" you meant somebody
developing on an 8088.  Maybe it's time for The Guy With The Product List to
post his latest version.

-- 
Mark McWiggins			Integration Technologies, Inc. (Intek)
+1 206 455 9935			DISCLAIMER:  I could be wrong ...
1400 112th Ave SE #202		Bellevue WA  98004
uunet!intek01!mark		Ask me about C++!

feg@clyde.ATT.COM (Forrest Gehrke,2C-119,7239,ATTBL) (02/26/90)

In article <48cc3c8b.20b6d@apollo.HP.COM>, nelson_p@apollo.HP.COM (Peter Nelson) writes:
>  I was quite nonplussed by some email I received from Walter Bright 
>  on his BBS in Washington State in which he said that my criticism
>  of Zortech in a "public" and "insulting" manner was "not appreciated".
>  And that I should restrict my "public comments to polite requests
>  for help".
> 


This was good advice from Walter.  It was private to you.  Why tell us
about it?

>  perfectly legal C code or generate buggy results.  The Zortech product has been 
>  very well behaved.  Most of my complaints about it from a technical view-
>  point are related to features it doesn't support such as a "huge" 
>  memory model or 256 colors in 640X480 VGA.   For most people these 
>  would be minor or philosophical issues. 
>                                   

Your memory is a little short.  Your original and loudest complaints
were the result of failing to RTFM!  Walter brought that failing
to your attention.  Now you are covering with minor squawks.  Tell
me what compiler doesn't have them, even after a half dozen
releases, e.g. MSC V5.1?

Forrest Gehrke feg@clyde.ATT.COM

schwartz@dinl.uucp (Michael Schwartz) (02/28/90)

<re: other PC products>
I believe the author was referring to the major expense of both a 
C++ to C compiler, added to the cost of a C to object compiler.  
Zortech appears to have the competition beat by half ;->
Michael
-- 
-----------------------
schwartz@pogo.den.mmc.com  "Expect everything ... 
mschwartz@mmc.com                   and the unexpected never happens." 
ncar!dinl!schwartz                               --the phantom tollbooth

DISCLAIMER:  The opinions expressesed are not necessarily those of my 
	     employer or myself.