Infocom deprotection patches                                     v1.3 8-Mar-99
============================                                     =============

This document contains details of patches you can apply to Infocom story files
to remove copy-protection. These patches were developed by Mark Knibbs (email
[email protected] or [email protected] or [email protected]). They are
intended to make life easier for those who find the protection inconvenient. I
hope you find them useful. Comments are welcome. If you would like a patch to
be developed for another Infocom game, let me know which one, and give some
details of the protection.

Patches are given for the following games:
       A Mind Forever Voyaging releases 77, 79
       Bureaucracy             releases 86, 116
       Sorcerer                releases 4, 6, 13, 15, 18
       Spellbreaker            releases 63, 87
       Stationfall             release 107

The name of the file to patch will depend upon which system you're using; for
example, Amiga story files are usually called 'Story.Data', and PC files are
usually 'STORY.DAT'. Your file lengths may differ slightly; Amiga story files
were padded to a multiple of 512 bytes.

Use a binary file editor to apply these patches. Offsets are given in hex,
with the first byte of a file being at offset 0.


Things to be aware of
---------------------
Infocom story files contain a checksum used to check the correctness of the
story file when you type '$verify'. Any changes to the story file (like
removal of copy-protection) necessitate a change to the checksum, in order for
'$verify' to continue to work correctly.

When you save a game in progress, the first part of the story file is included
in the save file -- this includes the story file checksum. So if you load a
saved game, which was saved when playing from an original story file, into a
patched game, there may be a problem with the '$verify' command due to the
differing checksums. Although this is harmless, the interpreter may report a
bad story file when in fact the file is intact. Not every interpreter does
this; Infocom's own does, but ZIP 2.0 doesn't.


Credits
-------
These patches were made possible by Mark Howell's TxD, Paul David Doherty's
DebugTool, and Graham Nelson's Z-Code specification document. If you're
interested in Infocom or interactive fiction in general, you should check
out the interactive fiction archive site at 'ftp://ftp.gmd.de/if-archive/'.


Revision History
----------------
1.0 26-Feb-95   Initial release

1.1  1-Apr-95   Minor alterations and corrections, and patches added for:
                       Bureaucracy release 86
                       Sorcerer releases 4, 6
                       Spellbreaker release 63

1.2 12-May-97   Minor changes, including changing my email address

1.3  8-Mar-99   Minor edits, changed email address



"A Mind Forever Voyaging"
=========================

Release 77 / Serial number 850814
---------------------------------
       File length:    262018

       Offset          From            To
       $00001D         31              03      ;New game checksum
       $033461         10              01
       $033469         20              01


Release 79 / Serial number 851122
---------------------------------
       File length:    262036

       Offset          From            To
       $00001D         60              32      ;New game checksum
       $033471         10              01
       $033479         20              01

Comments:       This patch removes the 'Class One Security Mode Access
               Decoder' protection. You will always be asked to enter the
               code corresponding to WHITE 89, which is of course 12.



"Bureaucracy"
=============

Release 86 / Serial number 870212
----------------------------------
       File length:    243144

       Offset          From            To
       $00001C         E024            E37E            ;New game checksum
       $027640         61 06 05 00 73  B4 B4 B4 B4 B4
       $027668         A0 00 C7        B4 B4 B4


Release 116 / Serial number 870602
----------------------------------
       File length:    243341

       Offset          From            To
       $00001C         FC65            FFBC            ;New game checksum
       $027691         61 06 05 00 76  B4 B4 B4 B4 B4
       $0276BB         A0 00 C7        B4 B4 B4

Comments:       Part-way into the game, you will be asked five questions in
               the paranoid's house. This patch allows you to give any
               answer to each question.



"Sorcerer"
==========

Release 4 / Serial number 840131
--------------------------------
       File length:    109734

       Offset          From            To
       $00001D         36              2B      ;New game checksum
       $00C596         0C              01


Release 6 / Serial number 840508
--------------------------------
       File length:    109734

       Offset          From            To
       $00001D         AC              A1      ;New game checksum
       $00C514         0C              01


Release 13 / Serial number 851021
---------------------------------
       File length:    109056

       Offset          From            To
       $00001D         D7              CC      ;New game checksum
       $00C1D6         0C              01


Release 15 / Serial number 851108
---------------------------------
       File length:    108683

       Offset          From            To
       $00001D         E3              D8      ;New game checksum
       $00C1D6         0C              01


Release 18 / Serial number 860904
---------------------------------
       File length:    111052

       Offset          From            To
       $00001D         E6              DB      ;New game checksum
       $00CADA         0C              01

Comments:       This patch removes the Infotater protection. The current code
               will always be bloodworm, and the corresponding colour
               sequence is of course white, gray, black, red, black. There is
               one small proviso here. The current code is decided very early
               on in the game. If you save a game from the original version
               before the trunk is opened, and then load this into the
               deprotected version, the code sequence remains the same. This
               shouldn't be a major problem, as the Guild Hall section is so
               small.



"Spellbreaker"
==============

Release 63 / Serial number 850916
---------------------------------
       File length:    128480

       Offset          From            To
       $00001D         0A              05      ;New game checksum
       $00551B         06              01


Release 87 / Serial number 860904
---------------------------------
       File length:    129024

       Offset          From            To
       $00001D         DC              D7      ;New game checksum
       $005536         06              01

Comments:       About half way through the game, Belboz asks you to prove that
               you are truly yourself by asking you one of six questions. You
               do not find out whether you answered correctly until later in
               the game. This patch makes Belboz always ask the same question,
               "Which mage had the motto, 'The hardest trick is making it look
               easy.'?". The answer is of course Barsap.



"Stationfall"
=============

Release 107 / Serial number 870430
----------------------------------
       File length:    129024

       Offset          From            To
       $00001C         2871            2732    ;New game checksum
       $00BEE3         32              01
       $00BEE7         84              00
       $00BEE9         76              56
       $00BEEF         04              01
       $00BEF3         67              00

Comments:       Instead of entering the number corresponding to the current
               GST from form QX-17-T, just enter the current GST (displayed
               at the top of the interpreter window).
               Interestingly, the game doesn't store all the numbers on form
               QX-17-T. It derives the course heading you should enter from
               the current GST as follows (round down to the nearest integer
               at each stage):
                          Heading = ( (GST/50 - 132)^2 )/4 + 103
               The above patch simply changes the calculation to:
                          Heading = GST.