Short : HD-Installer for Double Dragon II - The Revenge / Virgin Games
Type  : game/patch
Author: Galahad / Fairlight (GLDFLT@AOL.COM)

 
 THIS INSTALL WAS ON WWW.FAIRLIGHT.0CATCH.COM FIRST!
 
 This install applies to "Double Dragon II - The Revenge"  1989 Virgin Games Ltd.
 Slave requires WHDLoad V14+.
 Game needs 0.6 MB Of Chipmem & 1.0MB of Fastmem (for preload option)

 Many thanks to Chris Vella and Carlo Pirri for playtesting the NTSC version with its 
 multitude of strange bugs and Olivier Krumm for the new PAL version!

 SUPPORTED VERSIONS
 ------------------
 
 - 1 Disk original release (PAL  4.01 Version)
 - 1 Disk original release (NTSC 4.01 version)
 - 1 Disk original release (PAL 3.84 Version)

 FEATURES
 --------

 - Full Loading from HD (REAL FILES)
 - Lame-o-Protect removed (CyberDOS MFM/Protection track/Encryption)
 - Load/Save Hiscore to hard drive
 - Tonnes of access faults removed (see below)
 - Fixed music interrupt (Title music)
 - Editable Script for Trainer
 - Secret part retained!
 - Memory detection routine removed!
 - Wrong opcode used for 1 blitter operation!
 - Intena Interrupt start corrected ($c820!!!)
 - Quit Option (DEL key)

Specfic other problems with NTSC version
----------------------------------------

 - Energy bars position fixed
 - Hiscore text positioning fixed 

Specfic other problems with v3.84 PAL version
--------------------------------------------- 

 - One ddfstop contained the wrong value (2 bytes out!)
 
 Interesting note: The only reason Richard Aplin had to re-release Double Dragon 2 from
 v3.84 to v4.01 was because of one byte of code being incorrect.  When the game was released
 the ECS Amiga's were about a month away from being released.  Because of that 2 byte $dff094
 problem, the modulo for ECS Amiga's was wrong, and the whole game had to be released all over
 again for that.  Didn't stop the sneaky git from changing the positions of disk checks!!!
 
 There is a file called 'DD2.SCRIPT' in the install.  Load it up in your favourite
 text editor and you can change START LIVES and START LEVEL.  The slave is intelligent
 enough to know if you try to set any options beyond the boundaries of the game.
 DO NOT change the format of the file, simply edit the two numbers, any tampering will
 render the file useless.
  
 When you have made a hiscore and the fireworks start, the music will slip slightly every
 time an explosion occurs.  Nothing I can do about this, too much going on in the 
 interrupts and your machine is faster than a 68ooo... live with it!

 For some reason on the NTSC version, the energy bars for each player were prone to moving
 around the screen.  They have now been forced to be in the bottom right corner of your
 screen.  Top energy bar = player 1, bottom energy bar = player 2.
 
 Text positioning for the phrase 'ENTER YOUR NAME PLAYER' has now been forced to appear
 at the top of the hiscore.  Copper bug meant that it would appear in the middle of the
 hiscore text!
 
 There is also a secret part that was on the original disk, coded by Del/Scoopex, which
 incidentally is the same group that Tomas Dahlgren, the author of the titlemusic was in
 as Uncle Tom/Scoopex.  Utterly useless, hold down the two mouse buttons when the WHDLoad
 info screen switches to a black display.  Enjoy (!!)
 
 EXTRA NOTES
 -----------
 
So you think Dragons Lair is tricky huh?  Here are some stats for you to peruse over the
copy protection system on this game:

66  x Encrypted files
66  x Encrypted protection check code in each file
4   x Loaders (encrypted/non-encrypted) in code file
13  x Routines to access loader (activated by an address error!)
3   x Checksums (testing and shifting data on the stack)
1   x In game loader that decrypts when called, then re-encrypts itself after!
1   x MFM filesystem with $1800 data blocks the wrong way around
1   x protection track that was tested more times than Ben Johnson
1   x encrypted bootblock loader
235 x address errors, in Mr.Aplins vain attempt to 'disguise' his code!
16  x address errors in the copperlist

THAT.... was just the protection!  Never mind getting down to the actual job of
fixing the fucking game!

Quite inventive, and why oh why did Mr.Aplin decide he needed to disguise every access
to a custom register, no matter how mundane the operation, I don't know.

This is a case of a copy protection too far. The game doesn't work on AGA Amiga's because
of the stupid levels of copy protection, the game code itself is generally fine.

The way the code operates, meant that every piece of protection had to be removed BEFORE I 
could even start fixing it for WHDLoad!

I remember Richard Aplin bragging about how tricky this protection was.  Access fault city
aside, it took me 4 hours to pick apart the filesystem, have code to decrypt and disable 
their protection checks, and remove the ingame protection checks, perhaps if the protection
wasn't so formulaic (i.e. address error for every access to the loader, and 'RA89' as a 
decrypt key!!) then it might have been of some use.

To quote: Another attempt by Mr.Aplin!

Kindest Regards, Galahad of Fairlight

END.