Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!samsung!usc!snorkelwacker!apple!dlyons From: dlyons@Apple.COM (David A. Lyons) Newsgroups: comp.sys.apple2 Subject: Re: development of system software and tools... Message-ID: <43899@apple.Apple.COM> Date: 13 Aug 90 06:31:22 GMT References: Organization: Apple Computer Inc, Cupertino, CA Lines: 30 In article bh1e+@andrew.cmu.edu (Brendan Gallagher Hoar) writes: [...] >How are the tools and system software for the GS developed? > >For example, do the developers automate the patching process? When a >tool is changed, does the assembler automatically set up a new jump >table in which some of the jumps are to the ROMs and some are to the >loaded tools, or does someone have to hand adjust all this? It's much nicer than that. Application authorshardly ever patch toolbox calls. The System Software patches the toolbox, and many nifty utilities do. Toolbox calls are always made by loading the X register with a function number (like $0902 for NewHandle) and then JSLing to $E10000 or $E10004. This gives control to the Tool Dispatcher, which looks in some tables to find the right address for the requested function. So the System Software just needs to change some tables when you boot. The application doesn't know or care which functions are in ROM, which are in RAM, which are in ROM but replaced by RAM versions, etc. -- David A. Lyons, Apple Computer, Inc. | DAL Systems Apple II Developer Technical Support | P.O. Box 875 America Online: Dave Lyons | Cupertino, CA 95015-0875 GEnie: D.LYONS2 or DAVE.LYONS CompuServe: 72177,3233 Internet/BITNET: dlyons@apple.com UUCP: ...!ames!apple!dlyons My opinions are my own, not Apple's.