Currently AROS M68K patches LoadSeg() to ensure that SetPatch does not run, which is a bit of an ugly hack.
SetPatch checks whether it is already installed by searching for a semaphore named "« SetPatch »". Rather than patching LoadSeg(), it would be better to install a dummy semaphore so SetPatch thinks it has already been installed. As a benefit of that, you can have SetPatch print an arbitrary message (when run without QUIET argument).
To achieve that, a couple of fields near the "« SetPatch »" SignalSemaphore structure need to be set appropriately.
$2E.L Points to list of patches (see below).
$3A.W SetPatch major version. Must be non-zero.
$3C.W SetPatch minor version.
The longword at offset $2E should be set to point to a 0 longword. Then SetPatch will just print "None." for the list of installed patches.
Alternatively, you could use a dummy list giving some strings to show when SetPatch is run. E.g. something like "AROS SetPatch dummy patch". Or maybe an AROS version string?
About the patch list format. Each entry looks like this (SetPatch uses AddTail() to add entries to this list when it installs patches):
FirstPatch: dc.l SecondPatch
dc.b "First patch description",0
SecondPatch: dc.l ThirdPatch
dc.b "Second patch description",0
ThirdPatch: dc.l 0 ;Not a patch, indicates end of list
Log in to post a comment.