mm3d+@andrew.cmu.edu (Matt McNally) (11/02/88)
What follows is an excerpt from the Inside Macintosh Volume V Sample cdev with working 'Compile and linking' parameters. I have included the header for the pascal source in an attempt to clear up any of the confusion inherent with linking the cdev. ===== Start of Code Excerpt ===== { *** Sample.p ***: Sample MPW 2.0 source code for a Macintosh CDEV. All Pascal and Rez sources extracted from Inside Macitntosh V pp.336-345 -MMM [10/30/88]} { Copyright (C) 1986,1987 Apple Computer, Inc. All rights reserved. Etc etc.} { The 'main' cdev function name has been changed from 'Sample' as it appears in Inside Macintosh V to 'CDEVSAMP' to clarify the link statement.} (* === Working Compilation Parameters === pascal cample.p Rez sample.r -o sample Link -m CDEVSAMP -sn Main=Sample sample.p.o "{Libraries}"Interface.o "{PLibraries}"PasLib.o -o Sample -rt 'cdev'=-4064 -c 'samp' -t 'cdev' SetFile -a BIM Sample *) Unit cdev; Interface Uses { $Load Sample.dump } { <== Used for 'speedy' compilation...} Memtypes, QuickDraw, OSIntf, ToolIntf, PackIntf; { $Load } Function CDEVSAMP(message, item, numItems, CPanelID:Integer; theEvent: EventRecord; cdevValue: LongInt; CPDialog:DialogPtr) :LongInt; Implementation ...{ cdev specific code here [see notes below] }... End; { End of Unit cdev } ===== End of Code Excerpt ===== Notes: 1) The CDEVSAMP function must be the first code in the 'code' resource. 2) The new 256K ROMS support 'PACK' 7, so you need to either check which machine you are on and NOT load it if the machine supports the new ROMS, or simply remove the code in Sample.p that refences that package. After all this is only a sample... Many thanks to - William Bumgarner, Ken McLeod, Larry Rosenstein, Barry Semo, and Robert White - for their invaluable help concerning cdevs and linking. If you would like a copy of the 'rez' and/or 'pascal' sources for the above sample cdev send me mail at mm3d@andrew.cmu.edu. ========================================================================== Matt McNally Macintosh II Project Dugan/Programmer Carnegie Mellon, College of Humanities and Social Sciences ARPANET: mm3d@andrew.cmu.edu Office: BH239 (412) 268-8454 ==========================================================================