Sorry but once again I bring the subject of using RAM efficently. I was reading the docs of the beta version of MPLINK and I understand that there is no efficent RAM allocation algorithm. I don't get it, am I the only one who benefits from such an algorithm? I gathered the following info from an app I did with the macros I wrote about last year: Number of byte variables: 98 Number of flags: 21 (at a rate of, say, 1.75 per component that would be 12 bytes) Arrays: 4, of 10, 8, 8 and 76 bytes Registers used to allocate all this: 137 Variables per register: aprox. 1,55 Variables per register but not considering the 76 byte non-overlappable buffer: aprox. 2,23 The app. isn't in any way specially suited for the allocation algorithm as much code is in an interrupt routine. On a 16C73 I still have 55 registers free which I plan to use in the near future. If I didn't use the macros I would have worked hard to fit the variables in the space available. With the linker I'm not even sure that it would be possible. To get these results there's no work to do besides declaring everything properly, and if you add or discard a variable you don't have to change nothing besides its declaration. I even have read here of other algorithms to do the same job. I believe it's *very easy* to make the linker support one of these and give advantages you can't have with just macros. It's also easy to obtain the info needed from a C source code, so it would still be compatible with C. But, because of separate compilation, a linker won't be compatible with any "external" allocation algorithm, so I think it's important that it includes one. Unless I'm the only one with RAM-hungry apps. . . I'd like to hear your opinions. Regards, Andres Djordjalian adjordj@aleph.fi.uba.ar