daye@jacobs.cs.orst.edu (Garion) (01/15/91)
I really need to know the following: 1. How does hyper c react when aux memory is freed (the ram disk is disabled)? 2. If I can free aux memory, can I store anchored variables there? 3. No one I've asked knows, but what does error 0x0a from the hyper c assembler mean? I got a brief reference to its name from Andy, but I don't know what it means or what to do about it. I figure it probably is a memory overflow or something, because I have a root segment of a program I am working on that is about 10+K of nothing but variables. I had to do this to make the variables available to all overlays and so forth. I guess it should be obvious that this aux memory is needed to store that 10K of variables so I can have room to actually run the program...a few variables are 24x80 arrays, but I can probably eliminate at least on of those. Anyone have any ideas? Maybe storing into a disk file for reference, but I'm not experienced enough with C to do any kind of complex disk I/O stuff, and I definitely get frustrated easily. Advanced thanks to all whom may reply to the e-mail address both at the top *AND* the bottom of this article! -- | Internet----- | 'I'll have to teach you a few of my spells. I | | daye@jacobs.cs.orst.edu | have one..a fireball..let's see, how did that | | daye@nyssa.cs.orst.edu | go..?' - If you don't know, you don't need to | My opinions are my own. I have opinions, therefore I am....
ericmcg@pnet91.cts.com (Eric Mcgillicuddy) (01/26/91)
> 1. How does hyper c react when aux memory is freed (the ram > disk is disabled)? > 2. If I can free aux memory, can I store anchored variables > there? > 3. No one I've asked knows, but what does error 0x0a from the > hyper c assembler mean? I got a brief reference to its I do not believe that HyperC cares that /RAM is not active, at least not with the application running. It may have problems during development if you tell it to use it for working files. It wasn't large enough for me so I got a 512k board for this. I would say that there is no problem killing /RAM as long as remember to reinstall it before quitting. (Apple's guidelines) You can store whatever you want in aux memory, however you will have to write your own access module in assembler to use them. Anchored variables occupy a fixed location in memory, but the compiler assumes that they are in main memory, you must switch banks first and you have a good chance of switching out the code that is accessing the variables. I would suggest that you retain /RAM, but write the variables out to the RAMdisk as you considered doing to a floppy. This removes many of your problems will finding a solution to your problem. If you consider the address of an anchored variable as the offset from 0x0000 then you can use Set_Mark in the Prodos MLI to access the same variable using the same offset within the file on /RAM. Note that RAM disk pretty close to just as fast as 'regular' memory and is much easier to use than aux switching. (Let the Apple programmers worry about the nitty details of switching banks) I can not help you with the error code, it s not listed anywhere in the documentation. If you have a header <errors.h> perhaps this could help, I don't know. UUCP: bkj386!pnet91!ericmcg INET: ericmcg@pnet91.cts.com