<<< -> This microseconds thing which caused all the furor is called 'microseconds' in IM but you could have called it anything, of course. Is there not a slab of the OS that understands 'microseconds' in this context? (If not, what the dickens is occupying 30 MB of RAM on this box?) >>> There are question here that I have no idea how to answer but I think I can answer this one. In 68k all toolbox calls are run from Traps, which are the vectors for the toolbox. All the toolboxes in 68k are statically mapped somewhere in ROM. In order to get to them you would need to tell the compiler where they are. The compiler would know where they are by reading a universal header and mapping the toolbox name provided with the instructions assigned. Its usually something like EXTERN_API_C sometoolboxname (parameter type parameter,parameter type parameter) = returnType INLINEWORD($HexVal,$HEX,$HEX) Which describes the toolbox name, the number of parameters it takes, the return type and what the instruction are for 68k. FB would store the name as a reference so that anytime, that name was used it would know its a toolbox call, check for the correct number of parameters, parameter types and then call the toolbox using the hex code supplied. What I was trying to assert although in retrospect it probably was more confusing than enlightening is that the hex code that you see already has the address of the toolbox (for 68k) built in and that the name only mattered to us programmers. So long as the name you call matches the name in the headers it will execute the assembly instructions for the toolbox on that line no matter what it was called (in 68k only). If the toolbox name was wrong but the instructions were correct, so long as you referenced that name it would execute the correct code. HOWEVER in PPC the toolbox name in the header does matter and is case sensitive because it has to reference the same name in either ROM or a shared library in order to know what code to execute. Hopefully I havent made a mess of things. If I have just tell me to shush, I can take it. W. -----Original Message----- From: ted spencer [mailto:ted@...] Sent: Friday, August 31, 2001 2:18 PM To: futurebasic@... Subject: Re: [FB] How toolbox calls are handled in MacDom From the nimble fingers of Chris Stasny (staz@...) (31/8/2001 11:06 AM) came... > Toolbox calls are a list of case sensitive words that are stored in > the application. (go look at it in ResEdit - they're in there as > text!) Along with each name is a matching vector (address). When you Sure 'nuf... -> Does all of this (relating text names to vectors) happen when the app is built or when it's launched? -> You said that the (toolbox) strings were buried inside FB^3, but are the vectors (which must point to a slab of code well outside your control) there too? -> If these vectors are buried inside FB3, how do you know they'll be correct on the next box or the next OS? If they're in predictable spots, why need they be in the compiler? -> This microseconds thing which caused all the furor is called 'microseconds' in IM but you could have called it anything, of course. Is there not a slab of the OS that understands 'microseconds' in this context? (If not, what the dickens is occupying 30 MB of RAM on this box?) {This comes up because we're writing an app that sniffs at, and selectively programs, devices on a CAN bus, and timing is everything. We are compelled to examine and talk about things I would never have dreamt of mentioning to my Sainted mother.} -- Ted Spencer; ted@... -- What the eye does not see, the heart cannot grieve... -- To unsubscribe, send ANY message to <futurebasic-unsubscribe@...>