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 mark_k@iname.com or mark_k@letterbox.com or mark_k@softhome.net). 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.