Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!tut.cis.ohio-state.edu!pt.cs.cmu.edu!o.gp.cs.cmu.edu!andrew.cmu.edu!bh1e+ From: bh1e+@andrew.cmu.edu (Brendan Gallagher Hoar) Newsgroups: comp.sys.apple2 Subject: Re: development of system software and tools... Message-ID: Date: 18 Aug 90 17:25:37 GMT References: , <43899@apple.Apple.COM> Organization: Class of '92, Carnegie Mellon, Pittsburgh, PA Lines: 34 In-Reply-To: <43899@apple.Apple.COM> No, Dave, I meant the Systems developers A long long time ago in an article far far away dlyons@Apple.COM (David A. Lyons) writes: In article bh1e+@andrew.cmu.edu (Brendan G\ allagher 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. ---------- I mean Systems developers... developing the tools and system and all...