Commit Graph

7 Commits

Author SHA1 Message Date
Elliot Nunn 6d103981d8 Add a Unix shell script to set file types
Because the previous README instructions did not specify *.sh files as
exempt from line-ending filtering, I have added SetFileTypes.sh as one-
liner.
2018-02-10 19:38:27 +08:00
Elliot Nunn 0e4a082eb4 Remove branch islands
The unlinker's new ISLANDGUESS HIDE' option removes autogenerated BSR.L
from the binary dumps and makes tweaks that will cause them to be
regenerated by the linker. MPW's linker seems to have the correct branch
island placement policy, because round-tripping is preserved. When
building from edited sources, there is a remote possibility that the
arrangement of branch islands inside a dumped file will be changed,
disrupting references within that file.
2017-12-26 09:53:20 +08:00
Elliot Nunn d4a7b16d8d Declare between-file branches
The unlink tool now REFGUESSes branches between object files, with some
manual guidance. If you patch the ROM enough to change its function
offsets, it should still work fine.

(One potential exception: if the linker needs to put a new "BSR.L"
island module *within* a pre-built object file, that module file's
internal references *may* be disrupted. This situation is fairly
unlikely, but with improved reversal it will be addressed.)
2017-12-26 09:53:19 +08:00
Elliot Nunn 8908c7662c Switch to new unlinker
"DeVectorize" was a hideous several-thousand-line Python script that
split 70% of the ROM into barely passable MPW object files. The new
unlinker, "unlink", produces much nicer files and enjoys a clean
separation of code from data. Using DumpObj, you can get a very readable
listing of a given object file (GoNativeROMLib.o has improved a great
deal). With a bit more work, unlink will be superior to FDisasm for all
68k Mac ROM reversal.
2017-12-26 09:53:18 +08:00
Elliot Nunn 56f7e5c784 Dump new resources in updated ROM 2017-12-26 09:52:53 +08:00
Elliot Nunn 1c43f478a3 Build updated MainCode image (matches Mac OS ROM 9.6.1+) 2017-12-26 09:52:25 +08:00
Elliot Nunn 4325cdcc78 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 09:52:23 +08:00