F-19 Unprotection - January 1989 ADMHOU If you are like me you hate using the floppy drive after you've put software on the hard disk. The whole concept of using a key diskette after I've put out 50 or 60 dollars for the latest game just bugs me. Games companies always claim that copy protection keeps them from charging more for a game. This is bunk! You still pay more ... for the copy-protection! The purpose of protecting a piece of software is to protect the profits of the game company and nothing more. Normally I have nothing against protecting the profits of a legimitate business concern like the one that produced F-19 Stealth Fighter, as this company puts out fine games. I DO object to paying extra for their protection only to find out that what I've payed for will also greatly inconvienence me! First we have to put the "KEY" diskette in Drive A: ... then we must answer some silly quiz from the manual ... while we patiently wait for 4, yes 4 programs to churn their way into memory, slowly re-locating the protection code. No that's not all ... now they want to perform a little Boolean on the relocated code so that is is now executable. All the while, you sit ... and wait ... and wait ... and wait ... until 2 or 3 minutes later, you are finally ready to start the game. Enough of this! The following pages give instructions for unprotecting F-19 Stealth Fighter by Microprose Version 435.01. The original files on disk A: should look like this: SU.EXE 17661 10-15-88 11:30a START.EXE 87599 10-15-88 11:59a If these 2 files on your Disk A do not have the same date and time stamp as mine, then this unprotect procedure may not work for you. The unprotect for the program SU.EXE removes the need for the "KEY" diskette and allows you to run from floppy or hard disk without ever getting the "KEY" disk message. The unprotect for START.EXE will make you a whiz at guessing the answer on the aircraft quiz screen. No matter what you guess, you'll be right! I normally only write these for myself, but this one makes me mad. So here it is, for free, for all you game lovers out there. As for you people out there at Microprose, be glad I didn't just load the whole thing into an archive and start uploading to bulletin boards. Ummmm .....? ADMHOU F-19 STEALTH FIGHTER Version 435.01 SU.EXE 17661 10-15-88 11:30a START.EXE 87599 10-15-88 11:59a 1. Copy the programs SU.EXE and START.EXE from Disk A to another floppy or a subdirectory on your hard disk using the dos copy command. The DOS program DEBUG.EXE should be present or a path should be set to it. 2. Rename SU.EXE to SU.FIL 3. Rename START.EXE to START.FIL 4. At the DOS prompt, type exactly what you see here and follow each line with a carriage return: DEBUG SU.FIL F 18D0 18F6 90 E 2E70 BB 56 E 2E7C B7 4E E 2E95 75 76 E7 E8 E9 EA EB EC ED EE EF E 2ED0 20 21 22 E 2F11 61 62 E 2F20 90 91 E 2F2F 9F 80 81 E 2F34 84 85 E 2F3A 8A 8B 8C W Q REN SU.FIL SU.EXE DEBUG START.FIL E 96A8 90 90 90 W Q REN START.FIL START.EXE 5. Now copy all the files from your original disk A: onto a blank diskette using the DOS Copy command. Do NOT use diskcopy for this! 6. Copy these 2 newly modified programs to the diskette created in step 5 above. 7. You now have a disk A: that is completely un-protected. If you have problems using this unprotect, I have provided the following listing of the memory offsets for SU.FIL and START.FIL, both original and modified values. If the originals do not match your programs, then the modified values won't work for you. Program : SU.FIL MEMORY OFFSET 18D0 Original Value = 3D New Value = 90 MEMORY OFFSET 18D1 Original Value = 02 New Value = 90 MEMORY OFFSET 18D2 Original Value = 00 New Value = 90 MEMORY OFFSET 18D3 Original Value = 75 New Value = 90 MEMORY OFFSET 18D4 Original Value = 0A New Value = 90 MEMORY OFFSET 18D5 Original Value = BA New Value = 90 MEMORY OFFSET 18D6 Original Value = 96 New Value = 90 MEMORY OFFSET 18D7 Original Value = 09 New Value = 90 MEMORY OFFSET 18D8 Original Value = B4 New Value = 90 MEMORY OFFSET 18D9 Original Value = 09 New Value = 90 MEMORY OFFSET 18DA Original Value = CD New Value = 90 MEMORY OFFSET 18DB Original Value = 21 New Value = 90 MEMORY OFFSET 18DC Original Value = E9 New Value = 90 MEMORY OFFSET 18DD Original Value = 8D New Value = 90 MEMORY OFFSET 18DE Original Value = 00 New Value = 90 MEMORY OFFSET 18DF Original Value = 3D New Value = 90 MEMORY OFFSET 18E0 Original Value = 08 New Value = 90 MEMORY OFFSET 18E1 Original Value = 00 New Value = 90 MEMORY OFFSET 18E2 Original Value = 75 New Value = 90 MEMORY OFFSET 18E3 Original Value = 0A New Value = 90 MEMORY OFFSET 18E4 Original Value = BA New Value = 90 MEMORY OFFSET 18E5 Original Value = A9 New Value = 90 MEMORY OFFSET 18E6 Original Value = 09 New Value = 90 MEMORY OFFSET 18E7 Original Value = B4 New Value = 90 MEMORY OFFSET 18E8 Original Value = 09 New Value = 90 MEMORY OFFSET 18E9 Original Value = CD New Value = 90 MEMORY OFFSET 18EA Original Value = 21 New Value = 90 MEMORY OFFSET 18EB Original Value = EB New Value = 90 MEMORY OFFSET 18EC Original Value = 7F New Value = 90 MEMORY OFFSET 18DC Original Value = 90 (This one didn't need changing) New Value = 90 MEMORY OFFSET 18EE Original Value = BA New Value = 90 MEMORY OFFSET 18EF Original Value = C8 New Value = 90 MEMORY OFFSET 18F0 Original Value = 09 New Value = 90 MEMORY OFFSET 18F1 Original Value = B4 New Value = 90 MEMORY OFFSET 18F2 Original Value = 09 New Value = 90 MEMORY OFFSET 18F3 Original Value = CD New Value = 90 MEMORY OFFSET 18F4 Original Value = 21 New Value = 90 MEMORY OFFSET 18F5 Original Value = EB New Value = 90 MEMORY OFFSET 18F6 Original Value = 75 New Value = 90 MEMORY OFFSET 2E70 Original Value = 4E New Value = BB MEMORY OFFSET 2E71 Original Value = E5 New Value = 56 MEMORY OFFSET 2E7C Original Value = 28 New Value = B7 MEMORY OFFSET 2E7D Original Value = 55 New Value = 4E MEMORY OFFSET 2E95 Original Value = 74 New Value = 75 MEMORY OFFSET 2E96 Original Value = 74 New Value = 76 MEMORY OFFSET 2E97 Original Value = 44 New Value = E7 MEMORY OFFSET 2E98 Original Value = A3 New Value = E8 MEMORY OFFSET 2E99 Original Value = C0 New Value = E9 MEMORY OFFSET 2E9A Original Value = 7B New Value = EA MEMORY OFFSET 2E9B Original Value = 7B New Value = EB MEMORY OFFSET 2E9C Original Value = F7 New Value = EC MEMORY OFFSET 2E9D Original Value = A8 New Value = ED MEMORY OFFSET 2E9E Original Value = B3 New Value = EE MEMORY OFFSET 2E9F Original Value = 6C New Value = EF MEMORY OFFSET 2ED0 Original Value = 58 New Value = 20 MEMORY OFFSET 2ED1 Original Value = 4E New Value = 21 MEMORY OFFSET 2ED2 Original Value = B2 New Value = 22 MEMORY OFFSET 2F11 Original Value = 3C New Value = 61 MEMORY OFFSET 2F12 Original Value = D3 New Value = 62 MEMORY OFFSET 2F20 Original Value = EB New Value = 90 MEMORY OFFSET 2F21 Original Value = 1A New Value = 91 MEMORY OFFSET 2F2F Original Value = E7 New Value = 9F MEMORY OFFSET 2F30 Original Value = 1C New Value = 80 MEMORY OFFSET 2F31 Original Value = 11 New Value = 81 MEMORY OFFSET 2F34 Original Value = 61 New Value = 84 MEMORY OFFSET 2F35 Original Value = 12 New Value = 85 MEMORY OFFSET 2F3A Original Value = F2 New Value = 8A MEMORY OFFSET 2F3B Original Value = 1A New Value = 8B MEMORY OFFSET 2F3C Original Value = 1C New Value = 8C End of Changes To SU.FIL Program : START.FIL MEMORY OFFSET 95A8 Original Value = E9 New Value = 90 MEMORY OFFSET 95A9 Original Value = 98 New Value = 90 MEMORY OFFSET 95AA Original Value = 00 New Value = 90 End Of Changes To START.FIL