Welcome, Guest. Please login or register.

Author Topic: Identifying an old Amiga user handle.  (Read 1064 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline SkippyTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2002
  • Posts: 710
Identifying an old Amiga user handle.
« on: December 11, 2009, 10:30:57 AM »
Does anyone recall who "GREMLIN of MAYHEM" is?

Basically this interesting article regarding the Action Replay Amiga Cartridge:

http://www.mways.co.uk/amiga/howtocode/text/actionreplay.php

was written by the named individual and is hosted on Mysterious Ways website formed by Jolyon Ralph, author of ZAP V1.41 (C)1990 and The Zowee Demo - Amiga Computing 1989 amongst others.

I was wondering if it was Mr Richard Aplin as the article quotes "see the Double Dragon ][/Shinobi protection that I coded a while back) ". As he was the coder of those games but whether its his protection I don't know, although here:

http://www.whdload.de/games/DoubleDragon2.html

it states "I remember Richard Aplin bragging about how tricky this protection was..".

The article only covers the Mk I and II releases but not Mk III. As the Mk III used a completely revised approach and was not detectable using previous methods I've always wanted to know what the technique was used in DDII.

If I recall correctly the methods from MKII didn't work for MKIII but instead test for the 24 bit event timer addresses as I once did in this old example.



       ****************************************************
       * ACTION REPLAY 3.              ©1991 PAUL ANDREWS *
       ****************************************************
SECTION PUBLIC,CODE_C   

   OPT O+,D+,C-
   
STALLSYSTEM   EQU   0         Kill system dead         
RAMFLASH   EQU   0         Clear RAM fast!
TRASHCOPPER   EQU   1         Trash the copperlist

***************************************************************************

EVENTLOW   EQU   $BFE801         24 bit event timer
EVENTMED   EQU   $BFE901         addresses
EVENTHIGH   EQU   $BFEA01




PROT:   SUBQ.B   #1,WAIT(A6)
   BNE.S   .EXIT
   MOVE.B   #20,WAIT(A6)
   MOVEQ.L   #0,D0
   
   MOVE.B   EVENTHIGH,D0
   LSL.L   #8,D0
   MOVE.B   EVENTMED,D0
   LSL.L   #8,D0
   MOVE.B   EVENTLOW,D0
   CMP.L   LASTTIME(A6),D0         Same as last value saved
   BNE.S   .OK

.LOP   IFNE   STALLSYSTEM
   MOVE.L   #-1,$A00000                  
   ENDC
   
   IFNE   RAMFLASH
   LEA   $0,A0
.ALLR   MOVE.L   #0,(A0)+
   BRA.S   .ALLR      
   ENDC   
   
   IFNE   TRASHCOPPER
   LEA   COPPER,A0
.TRCO   MOVE.L   #-1,(A0)+
   BRA.S   .TRCO
   ENDC
   
   RTS
   
.OK   MOVE.L   D0,LASTTIME(A6)
   
.EXIT   RTS


      RSRESET
WAIT:      RS.B   1
LASTTIME:   RS.L   1
ARIIIDATA:   DS.W   __RS

---------



       ****************************************************
       * QUICK ARA PRESENCES TESTER.   ©1991 PAUL ANDREWS *
       ****************************************************

   SECTION SKIPPY,CODE_C
;   ====================   
   MOVEM.L   D0-D7/A0-A6,-(SP)      SAVE REG$ TO SP
   MOVE.L   $4.W,A6            Get Execbase
   LEA   DOS,A1            Get library name
   MOVEQ   #0,D0            Universal Version
   JSR   -552(A6)         Open library
   MOVE.L   D0,A6            Dos library
   BEQ   END            Error? end!
   
CARTTST:CMP.L   #$C5F00006,$7C.W
   BNE.S   .TST1
   BSR   CARTI   ;ACTION REPLAY I FOUND
   RTS

.TST1:   CMP.L   #$390000,$80.W
   BNE.S   .TST2
   BSR   CARTII   ;ACTION REPLAY II FOUND
   BRA.S   END

.TST2:   CMP.L   #$BFD100,$84.W
   BNE.S   .TST3
   BSR   CARTII   ;ACTION REPLAY II FOUND
   BRA.S   END

.TST3:   CMP.L   #$60F660F4,$88.W
   BNE.S   END
   BSR   CARTII   ;ACTION REPLAY I FOUND
END   MOVEM.L   (SP)+,D0-D7/A0-A6
   RTS

CARTI   JSR   -60(A6)            Get output address
   MOVE.L   D0,D1
   MOVE.L   #TXT1,D2
   MOVE.L   #TXT1L,D3
   JSR   -48(A6)
PAL1   BTST   #6,$BFE001
   BNE.S   PAL1
   RTS
   
CARTII   JSR   -60(A6)            Get output address
   MOVE.L   D0,D1
   MOVE.L   #TXT2,D2
   MOVE.L   #TXT2L,D3
   JSR   -48(A6)
PAL   BTST   #6,$BFE001
   BNE.S   PAL
   RTS

DOS   DC.B   "dos.library",0
   EVEN
TXT1   DC.B   $9b,"1;33;40",$6D,$0A,"* ACTION_REPLAY_AMIGA I HAS BEEN FOUND! (LEFT MOUSE TO CONTINUE!)",$0A
   EVEN
TXT1L   EQU   *-(TXT1)
   EVEN
TXT2   DC.B   $9b,"1;33;40",$6D,$0A,"* ACTION REPLAY AMIGA II HAS BEEN FOUND! (LEFT MOUSE TO CONTINUE!)",$0A
   EVEN
TXT2L   EQU   *-(TXT2)
   EVEN

Thanks in advance for any enlightenment.

Skipster.
Squareroot of all fluffiness.