enzerinkp@topaz.ucq.edu.au (04/16/91)
Well folks, I have Rayshade compiling and linking successfully under DOS. Now guess what? It doesn't run! As some people have pointed out, Rayshade needs a LOT of memory. DOS is limited to 640k normally with extra memory available but not readily accessable. (Expanded and entended memory) I assume that Rayshade can't find enough memory to even initialise itself, let alone do anything. The program terminates with an: 'abnormal program termination' error. I'm at a bit of a loss as to where to go from here. Could anyone tell me of their experiences with memory problems on a UNIX platform so that I at least have an idea of where I'm going. I here that some images require megabytes of memory to complete. What happens if your machine doesn't have that much memory? Any coments greedily accepted! Regards Peter -- Hello, Hello. What's going on here then? ^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^ Peter Enzerink ENZERINKP@TOPAZ.UCQ.EDU.AU University College of Central Queensland
dewolfe@ug.cs.dal.ca (Anarchy for Peace) (04/16/91)
In article <1991Apr16.121537.7023@topaz.ucq.edu.au> enzerinkp@topaz.ucq.edu.au writes: >Well folks, I have Rayshade compiling and linking successfully under DOS. >Now guess what? It doesn't run! As some people have pointed out, Rayshade needs >a LOT of memory. DOS is limited to 640k normally with extra memory available >but not readily accessable. (Expanded and entended memory) > >I assume that Rayshade can't find enough memory to even initialise itself, let >alone do anything. The program terminates with an: > >'abnormal program termination' error. > >I'm at a bit of a loss as to where to go from here. Could anyone tell me of >their experiences with memory problems on a UNIX platform so that I at least >have an idea of where I'm going. > >I here that some images require megabytes of memory to complete. What happens >if your machine doesn't have that much memory? > I have ported rayshade 4.0 to the Amiga and had no problems linking, compiling or whatever. However when I run it, I have to give it a HUGE stack. I run out of my default stack (4000) on even the simplest of the test images. I have even had to have it up around 800K for the mtv test image. So, what you might try doing is using the DOS stack command to set the stack higher. As for heap requirements, 640K will get you through some of the simpler stuff, but after setting your stack, you won't have anywhere that much left. I have a 4 Meg A3000, if that's any help. -- Colin DeWolfe dewolfe@ug.cs.dal.ca >Any coments greedily accepted! > >Regards Peter > >-- > Hello, Hello. What's going on here then? >^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^ >Peter Enzerink ENZERINKP@TOPAZ.UCQ.EDU.AU >University College of Central Queensland
joe@proto.com (Joe Huffman) (04/17/91)
enzerinkp@topaz.ucq.edu.au writes: >I'm at a bit of a loss as to where to go from here. Could anyone tell me of >their experiences with memory problems on a UNIX platform so that I at least >have an idea of where I'm going. I did the port of the Zortech MSDOS compiler and graphics library to SCO UNIX. It allows you do things like: char *ptr = malloc(5000000); /* Yes -- 5 Megabytes */ and keep on running. You may see the disk access light come on a lot as you access various portions of the memory but your malloc()'s don't start failing nearly as quickly as they do under DOS. And also they aren't limited to 64 Kbyte chunks like under DOS. Similar things can be said for use of the Pharlap 386 DOS extender running under DOS. It's a refreshing change from the constraints of MSDOS memory. If you were to use the Zortech graphics library (I wrote it -- yes I am pluggin my own product and am not in an unbiased position) you could compile and run the code with very few (if any) changes under MSDOS, SCO UNIX, OS/2, and the PharLap 386 DOS extender. I don't know Rayshade but there are other problems that you may having that are unrelated to available memory -- like ints are 16 bits under DOS but it may depend on haveing 32 bit ints. Trace through program with a debugger or put enough printf()'s in the program to isolate where the error message is coming from. Good luck... -- joe@proto.com
Bruce.Holloway@f507.n143.z1.FIDONET.ORG (Bruce Holloway) (04/19/91)
Yeah, I had the same problem -- out of memory -- when I tried to get PBMPLUS working on the PC. Only with A-LOT-OF-CHANGES did I get it to work. Unix systems have Virtual Memory to play with. You're going to have to implement that in your program to get anything done. I got it working, but the performance was extremely poor. My advice: Get OS/2. I understand that it has a saner method of allocating memory. I think it's only about $150.00 now. I don't know if C++ works under it. - Bruce -- From: Bruce Holloway via/on Fido's Kennel, Fidonet 1:143/8 uucp: amdahl.com!kennel!507!Bruce.Holloway arpa: Bruce.Holloway@f507.n143.z1.FIDONET.ORG