******************************* MultiLink version 2.07 *************

  MLINK207.UNP

  The following is a method to unprotect MultiLink Ver 2.07 to allow
  booting directly from another disk without the need to insert the
  MultiLink distribution disk.

   ENTER                         COMMENTS
-------------------------    ---------------------------------------
C>copy mlink.com mlink.bak   Make a backup first!
C>debug mlink.com            Start debug session.
-u 33EC                      Unassemble from address 33EC.
                             You should see:

                             xxxx:33EC       CALL     34DF
                             xxxx:33EF       JNB      340D
                             xxxx:33F1       MOV      CX,2908
                             xxxx:33F4       CALL     34DF
                             xxxx:33F7       JNB      340D
                             xxxx:33F9       DEC      BYTE PTR [2544]
                             xxxx:33FD       JG       33E9
                             xxxx:33FF       INC      BYTE PTR [2543]
                             xxxx:3403       CMP      BYTE PTR [2543],01
                             xxxx:3408       JBE      33E9
                             xxxx:340A       JMP      07C4
                             If you don't see this, you have another
                             version.  If so, enter 'q' to quit the
                             debug session.  Otherwise, continue.
                             The instructions at
                             xxxx:33EC, xxxx:33F4, and xxxx:3414
                             xxxx:34B8, xxxx:34BC, and xxxx34BE
                             xxxx:34C0, xxxx:34C1
                             need to be replaced.

-e 33EC F8 90 90
-e 33F4 F8 90 90
-e 3414 90 90
-e 34B8 90 90 90 90
-e 34BC 90 90
-e 34BE 90 90
-e 34CO 90
-e 34C1 90 90
-w                           Save the changes to disk
-q                           End the debug session.


*End of MLINK207.UNP*

*********************** MultiLink versions 2.08, 2.08c, 3.00c *********

FOR THE USERS THAT HAVE 'MULTILINK' VER. 2.08 and 2.08c and 3.00c
----------------------------------------------------------------------------

THIS IS DATED OCT 18, 1984 AND SUPERSEDES ALL UNDATED
VERSIONS OR DATED VERSIONS PRIOR TO THIS DATE

FROM : THE A.S.P ; (Against Software Protection)

ORIGINALLY SUBMITTED TO ASA FULTON'S BBS (SHINING SUN - 305-273-0020)
                 AND TO LEE NELSON'S BBS (PC-FORUM    - 404-761-3635)

PLEASE NOTE THAT THESE UNPROTECT PROCEDURES INVOLVE FROM 4 HOURS TO
___________________________________________________________________

40 OR MORE HOURS ( 6+ HOURS FOR 'MULTILINK') OF

SINGLE STEPPING THRU CODE AND FIGURING OUT THE

INTENT OF THE ORIGINAL CODE.. SO I WOULD APPRECIATE IT WHEN U PASS

THIS ON TO OTHER BOARDS YOU DO NOT ALTER THIS OR TRY TO TAKE CREDIT

FOR MY LOST SLEEP.... THE A.S.P...  (J.P. TO HIS FRIENDS)


IF YOU HAVE A HARD DISK OR WANT TO CREATE A BACKUP COPY THAT IS NOT
TIED INTO THE 'MULTILINK'  DISKETTE...IN CASE YOUR ONLY COPY GOES BAD
.. THIS PATCH WILL REMOVE THE COPY PROTECTION COMPLETELY....

  AS ALWAYS THIS IS FOR YOUR PERSONAL PEACE OF MIND ONLY
IT IS NOT MEANT TO BYPASS ANY COPYRIGHTS..YOU ARE BY LAW BOUND BY
YOUR PURCHASE LICENSE AGREEMENT.

  IF YOU HAVE A HARD DISK AND WANT TO PUT THE PROGRAM ON SUCH
WHY SHOULD YOU BE TIED TO A FLOPPY. YOU HAD TO GIVE UP A LOT OF
'BIG MACS' TO GET YOUR HARD DISK.


1). FORMAT 1 SYSTEM DISK UNDER DOS 2.0 OR 2.1 OR 3.0 FOR VER 3.00C OF ML

2). LABEL IT ACCORDING TO THE ORIGINAL 'MULTILINK' DISKETTE

3). COPY THE FILES FROM THE ORIGINAL DISKETTE TO THE CORRESPONDING
   2.X FORMATTED DISKETTE OR 3.X DISKETTE.

4). PLACE THE ORIGINAL 'MULTILINK' DISKETTE BACK IN THE MANUAL
   WE WILL NO LONGER USE THEM.

5). I WONT  TELL U HOW TO USE DEBUG OR  ANY 'PATCHER' PROGRAMS
   ON THE BBS'S.

6). FIRST WE WILL NEED TO CHANGE A PROGRAM CALLED 'MLINK.COM'

7). DEBUG  MLINK.COM

8)  THIS is for one version of 2.08

    E 32BE 5A:20 5A:20 5A:20

    E 3A11 E8:F8 FF:90 00:90

    E 3A19 E8:F8 F7:90 00:90

    E 3A39 75:90 E9:90

    E 3A4B 7C:90 47:90

    E 3AEA 74:90 0B:90

    E 3AF4 FA:90 EB:90 FE:90

8A)  THIS is for another version of 2.08 ( 2.08c it would appear)

    E 32F6 5A:20 5A:20 5A:20

    E 3A49 E8:F8 FF:90 00:90

    E 3A51 E8:F8 F7:90 00:90

    E 3A71 75:90 E9:90

    E 3A83 7C:90 47:90

    E 3B22 74:90 0B:90

    E 3B2C FA:90 EB:90 FE:90


8b)  THIS is for a version of 3.00 ( 3.00c it would appear)

    E 33C0 5A:20 5A:20 5A:20

    E 3B69 E8:F8 FF:90 00:90

    E 3B71 E8:F8 F7:90 00:90

    E 3B91 75:90 E9:90

    E 3BA3 7C:90 47:90

    E 3C42 74:90 0B:90

    E 3C4C FA:90 EB:90 FE:90

9). W

10). Q

NOTE: NOW ALL OF 'MULTILINK' COPY PROTECTION IS REMOVED, AND U MAY DISKCOPY
     THE UNPROTECTED DISKS AS REQUIRED.

OTHER NOTES:
-------------------------------------------------------------------------

1). CHECKS FOR SPECIALLY FORMATTED TRACKS COMPLETELY REMOVED


2). U MAY LOAD ALL THE FILES ON THE NEWLY FORMATTED AND UNPROTECTED
   DISKETTE DIRECTLY TO HARD OR RAM DISK, IN ANY SUB-DIRECTORY U
   SET UP.

3). 'MULTILINK' DISK NO LONGER REQUIRED TO BE IN DRIVE WHEN INVOKING IT.


  ENJOY YOUR NEW FOUND FREEDOM..HARD DISKS FOREVER!!!!!

*********************** MultiLink version 3.01 ***********************

The following is a method to unprotect MultiLink ver 3.01 to allow
booting directly from a hard disk without the need to insert the
MultiLink distribution diskette.

  ENTER                          COMMENTS
----------------               ------------------------------------
C>copy mlink.com mlink.bak     Make a backup first!
C>debug mlink.com              Start the debug session.
-u 4269                        Unassemble from address 4269; you should
                               see the following. If you don't, enter
                               'q' to quit the debug session.

                   xxxx:4269 8036A14132    XOR     BYTE PTR [41A1],32
                   xxxx:426E B90329        MOV     CX,2903
                   xxxx:4271 E81E00        CALL    4292    <-+
                   xxxx:4274 732D          JNB     42A3      |_ need to
                   xxxx:4276 B90829        MOV     CX,2908   |  change
                   xxxx:4279 E81600        CALL    4292    <-+
                   xxxx:427C 7325          JNB     42A3
                   xxxx:427E FE0E602F      DEC     BYTE PTR [2F60]
                   xxxx:4282 7FEA          JG      426E
                   xxxx:4284 FE065F2F      INC     BYTE PTR [2F5F]
                   xxxx:4288 803E5F2F01    CMP     BYTE PTR [2F5F],01

-e 4271 f8 90 90               Change CALL 4292 to CLC, NOP, NOP
-e 4279 f8 90 90               Change CALL 4292 to CLC, NOP, NOP

-u 42a0                        Unassemble from address 42a0.

                   xxxx:42A0 CD21          INT     21
                   xxxx:42A2 C3            RET
                   xxxx:42A3 A17333        MOV     AX,[3373]
                   xxxx:42A6 39067038      CMP     [3870],AX  <- need to
                   xxxx:42AA 75D8          JNZ     4284       <- change --+
                   xxxx:42AC 8036A14132    XOR     BYTE PTR [41A1],32 <---+
                   xxxx:42B1 EB02          JMP     42B5
                   xxxx:42B3 51            PUSH    CX
                   xxxx:42B4 06            PUSH    ES
                   xxxx:42B5 B8E8FF        MOV     AX,FFE8
                   xxxx:42B8 50            PUSH    AX
                   xxxx:42B9 8B365600      MOV     SI,[0056]
                   xxxx:42BD E871EC        CALL    2F31

-e 42a6 90 90 90 90 90 90 90 90 90 90 90
                               Change CMP [3870],AX, JNZ 4284, & XOR
                               BYTE PTR [41A1],32 to all NOPs (11 bytes)

-u 4370                        Unassemble from address 4370.

                   xxxx:4370 F8            CLC
                   xxxx:4371 3B17          CMP     DX,[BX]
                   xxxx:4373 740B          JZ      4380
                   xxxx:4375 8D161638      LEA     DX,[3816]
                   xxxx:4379 B409          MOV     AH,09
                   xxxx:437B CD21          INT     21
                   xxxx:437D FA            CLI             <-- need to
                   xxxx:437E EBFE          JMP     437E    <-- change
                   xxxx:4380 C606DB0DFF    MOV     BYTE PTR [0DDB],FF
                   xxxx:4385 33C0          XOR     AX,AX
                   xxxx:4387 803E9C0D00    CMP     BYTE PTR [0D9C],00
                   xxxx:438C 740B          JZ      4399
                   xxxx:438E B80031        MOV     AX,3100

-e 437d 90 90 90               Change CLI, JMP 437E, to NOP, NOP, NOP

-e 3916 20 20 20               Also change "ZZZ" to blank-blank-blank.

-w                             Write out the changes.

-q                             Quit the debug session.


*End of MLINK301.UNP*

