muswiz@sunybcs.UUCP (Steve Levine) (03/15/86)
I get the impression that graphics function libs on the pc has not really progressed much since the beginning. I am using (attempting to) halo and lattice-c on the pc. I have found that the documentation is so poor, and the interface to lattice, just as bad, that it is almost impossible to use. The main problems is that linking to the libraries , ie; \lc\lc.lib+halo.lib takes forever, even with a ram-disk and fast hard-disk. That makes experi- mentation (to decipher the manual explainations) pretty painfull. I had hoped that the functions as specified, would be straightforward and work as described, but alas, to no avail, they don't. So rather than spend a lot of time ditzing around with this, I plea for advice. Has anyone tried to use world and viewport on halo 2.x ? If so, how do you get it to work? I am using an 8087 and the large model of lattice. The program looks like this : /* just a test for drawing 3/12/86 s.l. */ struct view_port { double Vx0,Vy0,Vx1,Vy1; } vp[] = { { .1,.1,.4,.4 }, { .1,.5,.4,.9 }, { .5,.1,.9,.4 }, { .5,.5,.9,.9 } }; main() { double wx0,wy0,wx1,wy1; float vx0,vy0,vx1,vy1; int format = 1, mode = 1; int color = 1, radius = 400; int x1 ,y1 , i,j; int border = 1, clear = 0; wx0 = wy0 = 0; wx1 = wy1 = 1000; vx0 = vy0 = 0.04; vx1 = vy1 = .97; setieee(&format); initgraphics(&mode); setworld(&wx0,&wy0,&wx1,&wy1); setviewport(&vx0,&vy0,&vx1,&vy1,&border,&clear); for(i = 0;i <4;i++) { vx0 = vp[i].Vx0; vy0 = vp[i].Vy0; vx1 = vp[i].Vx1; vy1 = vp[i].Vy1; setviewport(&vx0,&vy0,&vx1,&vy1,&border,&clear); movabs(&x1,&y1); cir(&radius); } inqworld(&wx0,&wy0,&wx1,&wy1); inqviewport(&vx0,&vy0,&vx1,&vy1); inqgcur(&x1,&y1,&color); for(i=0;i<32000;i++){ for(j = 0; j< 4 ; j++); } closegraphics(); printf("world_coords : %f %f %f %f\n",wx0,wy0,wx1,wy1); printf("view_coords : %f %f %f %f\n",vx0,vy0,vx1,vy1); printf("gcur_coords : %f %f %d\n",x1,y1,color); } All of the inquire functions return the correct values. the program gives me a blank screen. ???? Does anyone know of a package which works well? How about the Digital Research "GSS" advertised in Byte, march 86, page 205 ? Thanks in advance, Steve Levine (ihnp4!sunybcs!muswiz)
lpm@lanl.ARPA (Lauren McGavran) (03/17/86)
Steve Levine writes of problems with HALO; I have had rather marginal performance from this package, too. Steve's complaints are 1. It links too slowly, 2. in large model, it does not seem to work as advertised, and 3. the interface and documentation are lousy. I would agree it links slowly, but with Microsoft's latest linker and an Iomega Bernoulli system the link time is tolerable. It is just a huge library. I, too, am having really bad problems with the large model (Microsoft, not Lattice C); I have spent a couple of weeks trying to isolate the problem and make absolutely certain that my code is clean. All the evidence points to a pointer getting a segment of zero; I suspect the authors have been careless with pointer declarations. Version 2.25 comes with a really nice manual, and I have not found any functions that do not perform as stated, when they work at all. And usually they work; they have always worked for me in small model programs. I have talked to a couple of technical people at Media Cybernetics (the ones who wrote HALO), and they have always been pleasant. The answer I always seem to get is, "Oh, that's an old version. Let us send you the latest and see if it fixes the problem." I just received 2.25 and am going to see if it really did fix the problem; I doubt if it did. In summary, Media Cybernetics seems willing to try to help, but I would still rate HALO as marginal. I have not had as many problems as Steve has; until I tried to create files for a pen plotter and drive an EGA, I thought everything was fine. Clearly, though, the large model support is defective. (Steve - I will try your problem and mail you more details. But you should set the device with setdev(file name) where file name is in the same path that you are running from, or an accessible path (via PATH, Filepath, etc.), and is of the form haloxxxx.dev) Lauren McGavran Computer Research and Applications; MS B265 Los Alamos National Laboratory Los Alamos, NM 87545 (505)667-8386 FTS 843-8386
rb@ccivax.UUCP (rex ballard) (03/20/86)
Have you looked at GEM? The price is good ($50 for desktop and GEM, 14.95 for programmers reference guide). The early developers in net.micro.atari did their initial developement on IBM compatibles. I have been told that most of the Atari source (C source, that is) runs on IBM/GEM compatibles. Note that GEM compatible is a subset of IBM compatible, so if GEM is available for that machine, you can use GEM 'C' source code. Appearantly GEM eats a lot of memory, so make sure you've got 640K (too bad that's the limit).