TITANIC : ACTIVISION
Procedure:
Loading the original disk produces a rattle free load, and an
error scan shows no standard errors. A backup made with the C-64
Fast Copier produces a non working copy. A backup made with a
nybbler produces the same non working backup. Before starting to
work on this program, please make a (non working) backup of the
original, and a disk log to log the file addresses.
Working with your backup:
1) Let's start by plugging Hesmon in the cartridge port and loading
the boot < L "*" 08 >. Checking with the disk log, start
disassembly of code at $02D7 and cursor down through
the code. The code from $02EE to $0301 opens a channel for
loading, sets the file name " 1985 ", loads that file in and
Jumps to $4635. We can load that file in ourselves and inspect
it.
2) Cursor down to a clear spot and load the 1985 file as
< L " 1985*" 08 >. Be sure to use two spaces before the 1985
file name. The disk log shows this file ranges from 4400-46D8.
Look at the file in ASCII by using the Interpret command I 4400
and cursor down through memory. Take note of what it looks like,
because we will be looking again later. Let's start disassembly
at the Jump to $4635 . Cursor down through the code and
note code from $4657 to $4668. Values are being set for the
decrypter at $466F to $4690 (see Kracker Jax Revealed Vol I for
more details). We want to execute the decrypter and stop the
execution after the decryption takes place. To do this we must
place a 00 (Break Instruction) at $4690. Use the Memory command
to make your change and change the 60 to a 00 and hit
return. Now we can decrypt the code by executing at $4657. Use
the GO command
3) When the monitor breaks, use the Interpret command again
starting at $4400 < I 4400 > and cursor down through memory again.
This time note the Block-Execute at $4571. This command opens
channel 2, addresses drive 0, and sends the code at track 3
sector 0 to the RAM of the disk drive ($0400 in this case) and
executes the code in the drive. This code is the protection
check routine. While in the Interpret mode, also note the U1
(Block-Read) of the same Track 3/Sector 0. This block read is
used to checksum the drive code to check for tampering.
Checksums throughout the computer code also check strategic
areas of the computer code for tampering. If changes in the
K.J. REVEALED TRILOGY PAGE [32] (C)1990 K.J.P.B.
<<previous page -
next page>>