Path: utzoo!attcan!uunet!lll-winken!lll-tis!mordor!joyce!ames!ucsd!rutgers!att!ihnp4!poseidon!ech From: ech@poseidon.UUCP (Edward C Horvath) Newsgroups: comp.sys.mac.hypercard Subject: Re: Creating very large XCMDs Message-ID: <498@poseidon.UUCP> Date: 12 Sep 88 17:44:27 GMT References: <16848@apple.Apple.COM> Organization: AT&T Information Systems, Lincroft, NJ Lines: 43 Earlier, I'd written: >...I don't see anyplace in "DRVR" space that >I can LEGALLY install a driver of my own... To which dan@Apple.COM (Dan Allen) replied: > Drivers 27-31 are reserved for an application's own use. It is > somewhere in IM, probably the Driver chapter in volume 2. You could put > such a driver in a stack, for example. This is why, by the way, that > the Font/DA Mover only allows 15 DAs: 12-26. (These are all from > memory-I may be one number off..) The never-shipped MacBasic had its > own printer driver, for example, and it was ID 28 and lived inside the > app. It worked fine. Thanks, Dan, and yes, I knew about that. But it doesn't QUITE address the question. Two cases still not covered: - a driver in a stack is NOT a driver in "an application." I still have the problem that if I ship a driver (say ID 28) in my stack, and next week Apple ships HC 2.0, with its own printer driver at...OOPS! ID 28! then I'm broken. No doubt MacDTS will take a "strict interpretation" of IM 2. - it has been suggested (in another newsgroup) that one might establish a DRVR at system startup ('INIT') time which could then be managed by a Control Panel ('cdev') item. But a cdev file is neither "installed" in the System file, nor is it an application. - IM 5 mentions expanding the Unit Table to 64, or even 128, entries "to accommodate slot drivers." It's not made explicit whether ONLY slot drivers go there, nor how those unit table entries are assigned. The problem should now be evident: DRVRs provide a convenient "lightweight process" that is generally useful, but there is no "unassigned pool" for non-DA non-Apple-assigned non-application-specific drivers to use. I'd happily remap "owned" resources, or even give them up altogether, in exchange for an arbiter that said something like "slot n of the unit table has been assigned for your use until shutdown (or until freed)." The model of an AppleTalk DDP socket is close to what I want here. I want a unit table slot, and my DCE maintained while I'm open, and my accRun routine called, etc., and I DON'T want to conflict with any other bonafide DRVR usage. Is there any way to be a "nice guy," or do I have to appropriate a unit-table entry and hope not to break anybody else? =Ned Horvath=