[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Help With AppleTalk Error (Sys 6.0.1)
Jeff Blakeney <CUTblakeney@home.com> wrote:
> On Thu, 23 Dec 1999 01:02:07 +0200, nipp@planet.nl (Pim Blokland)
> wrote:
>
> >However, there is another issue: most of the toolsets in ROM are out of
> >date. Gs/OS 6.xx does not use much of the ROM any more, but loads
> >everything from disk. So if you really want to go ahead and make a new ROM
> >that does save RAM, and cuts program loading time, forget about the ROM3.
> >You should start from scratch.
>
> What he is looking to do is create a new ROM with the appropriate
> patches/additions in it. In other words, he wants to take the ROM
> from a ROM 01 (or ROM 3) machine and apply the TS2 (or TS3) patch to
> it and then take all that code and put it in a new ROM.
I'd say this is impractical. It might be possible, but there could be
problems with the amount of space available in the ROM, given the
changes to the ROM-based toolsets in a ROM 3 machine between System 5
and 6.0.1.
Actually implementing it would require the following steps:
1. Working out how to get a pair of 128KB EPROMs into the ROM 3. The
ROM socket used in the IIgs (28 pins) is not large enough for a 27C010
or 27C1001 type of EPROM (32 pins). There is a position on the
motherboard for a larger socket, but I certainly wouldn't want to do any
soldering on there. The same problem applies to the ROM 1 (only one
socket in this case).
2. Disassembling the TOOL.SETUP and TS3 files to identify how they work,
and exactly what has been patched.
3. Locating the corresponding routines in the ROM. This isn't too hard,
since the Tool Locator maintains a table of pointers to each function
for each toolset. This would help with step 2.
Some toolsets are loaded completely from disk with System 6.x, disabling
the copy in the ROM instead of patching it. These would be best handled
by rolling the disk-based version back into ROM, replacing the older
one. This could be tricky to implement, because some toolsets have a
functional split: most of the toolset is in ROM, but a few routines
which perform disk I/O (i.e. GS/OS calls) are loaded from the patch
file. You can't put these routines in the ROM, so you would need a new
patch file to work with the new ROM.
4. Identifying the relative size of the old and new versions of the
routines, and identifying where they could fit within the new ROM. This
might be impossible if there are sufficient changes.
5. Working out what to do about the ROM version number, considering what
impact it is likely to have on compatibility.
6. Deriving a modified version of TOOL.SETUP and/or TS3 as required to
deal with the new patched ROM.
Assuming Apple did everything right, TOOL.SETUP should recognise a
"future" ROM release, and know not to do anything, so changing the
version number is probably the easiest solution.
This may introduce compatibility issues with software that behaves
differently according to the ROM version, which wouldn't recognise the
new version number.
A similar task could be performed with the TS2 file and ROM 1, but you'd
have an even bigger problem with what number to use for the modified
version.
> The biggest problem I can see is the ROM size. The ROM 01 only have
> 128 KB of ROM space built in and there has been a lot of new and
> updated tools added to the system since that machine was released.
That isn't actually a major issue. ROM 0 and ROM 1 only contain the
first thirteen toolsets: Tool Locator, Memory Manager, Miscellaneous
Tool Set, QuickDraw II, Desk Manager, Event Manager, Scheduler, Sound
Tool Set, ADB Tool Set, SANE Tool Set, Integer Math Tool Set, Text Tool
Set, and the "secret" toolset 13 which is associated with the Memory
Manager and the RAM disk.
ROM 3 contains the first thirteen plus a fair number of the later ones.
Some examples: ROM 3 has the Control Manager, Window Manager and Menu
Manager, but ROM 1 doesn't. Neither ROM has TextEdit, MIDISynth, the
Standard File Tool Set, or the System Loader.
A patched version of each ROM would still contain the same toolsets as
the original release, just with newer versions of the individual
routines. Toolsets which were not previously in the ROM (e.g. TextEdit)
would still be loaded from disk.
If you wanted to move more toolsets into ROM (increasing the ROM size as
required), things could get very hairy.
> Just look at the ROM 3. It came out with System 5.x I believe and to
> accomodate all the new tools for that OS the ROM size was increased to
> 256 KB.
It was more an issue of "how many more toolsets can we move into the
ROM, if the ROM capacity is doubled". Toolsets like Standard File,
which are almost entirely dependent on GS/OS (or ProDOS-16) were not
candidates. TextEdit was probably too big, and most likely to need
further patching. MIDISynth didn't exist yet.
--
David Empson
dempson@actrix.gen.nz
Snail mail: P O Box 27-103, Wellington, New Zealand