"ACTIVISION INC." file and jumps to $8000.
      
      3) Load the "ACTIVISION INC." file into memory < L"A*",08 >. After
         the load, start disassembly of code at $8000 < D 8000> . Also
         do an ASCII dump < I 8000 > to check for DOS commands. Examine
         the routines carefully. You will soon find a Block-Execute
         (B-E 2,0,18,7) drive command at $80DD. Further examination of
         the code reveals that the protection scheme is doing a lot of
         direct access to the serial port at $DD00.
      
         The key to cracking this variation on Activision's standard
         protection scheme is to ignore this code because it has a rather
         involved loop that is a pain to follow and de-protect. With this
         code, the drive is where the action's at. Let's take a closer
         look at that Block-Execute code on track/sector 18/7.
         
      4) Reset the computer and load ALIENSLOADER from the Utility Disk
         < LOAD "ALIENSLOADER",8 >, < RUN > and follow the instructions.
         Reload the 49152 monitor and < SYS 49152 >. In the drive, the
         code would be located at $0300. We will be using $2300 (in the
         computer). Disassemble the code at $2300 < D 2300 >. The
         routine at $2322 - $234A, despite it's apparent complexity, does
         nothing more than load the code in track/sector's 18/7 - 18/11
         into drive memory locations $0400 - $07FF. The ALIENSLOADER
         routine has conveniently loaded these for us already. The code,
         from $2400 - $27FF, is encrypted. A routine at $2356 does the
         decryption. We can modify the code to decrypt it for us by
         simply adding $2000 to the LDA and STA address references, i.e.
         $0400 becomes $2400, $0500 becomes $2500, etc. < A 2358 LDA
         $2400,Y etc. >. Also put a break command at $237F
         < A 237F BRK > and run the code < G 2356 >.
      
         Now examine the code starting at $2400 < D 2400 >. Most of this
         code is the fast loader. Armed with the knowledge that
         Activision fat tracks start with track 35 ($23), we find a
         suspicious routine at $24D0 - $24F8. This is it, folks. This
         itty-bitty loop is the heart and soul of this protection scheme.
         It can be disabled easily with one byte change. Change the LDA
         operand byte at $24DE from $80 to $01 < A 24DD LDA #$01 >.
         Instead of READING the intended sector, the $01 byte tells the
         drive's DOS that the job was completed successfully. This is
         exactly what you want it to do. The fringe benefit of this
         method is that the program loads about 8 seconds faster and
         you'll hear a pleasant clicking noise when the protection scheme
         executes the code with your byte change (when the screen
         blanks).

      5) Re-encrypt the code using the same routine at $2356 < G 2356 >.
         Before we load up the sector editor to write the bytes back,
         let's look back at the decryption loop at $2356 < D 2356 >

            K.J. REVEALED TRILOGY    PAGE [40]     (C)1990 K.J.P.B.

<<previous page - next page>>