The original "Jet Set Willy" has a number of addresses which are unused and can be utilised for "higher purposes", such as inserting new code.
A list of these addresses is included in SkoolKid's disassembly:
http://skoolkit.ca/d...aps/unused.html (in decimal)
Apart from the addresses mentioned in the list, there are other places in the original code which can be modified safely, such as e.g. everything that pertains to the colour code protection scheme.
There are also some places where the original code can be optimised to gain a byte or three.
I do not intend to describe all of them now (due to time constraints), but I would like to start a thread in which all the pertinent information can be placed, so that new pieces of information can be added as they emerge.
While working on the Special Edition of "Willy's New Mansion" today I have discovered the following instances of possible optimisation of the original code:
[the addresses below are in hex and refer to the original "JSW"]
8892 - 8894 The JP NZ instruction can be changed to JR NZ, saving one byte.
8898 The DI instruction is unnecessary (it disables interrupts which are already disabled; IIUC at 8400) - it can be NOPped out.
88AE - 88B0 The JP NZ instruction can be changed to JR NZ, saving one byte.
That's a gain of three bytes altogether .