CALCEDK SET 0

; PROTFCHECK
; PROTGCHECK
; PROTHCHECK
; PROTICHECK a0
; PROTKCHECK a0
; PROTLCHECK a0
; PROTMCHECK a0


; Protcheck a-f are protsetup decoding parts.
; Protchech G is the call to PROTSETUP and must
; be well protected.
; Protcheck H is the call to DEFAULTGAME.
; Protcheck I is the call to the protection
; routine for the second time.
; J is the protection setup routine (encrypted.)
; needs to be checksummed before and after use.
; K is the hidden routine iteslf. Also needs checking
; L is the initial check for correct entering of
; the protection code.
; M is a random addition to RVAL2
; N is an addition to RVAL1

PROTACALC MACRO
 ENDM

PROTACHECK MACRO
 ENDM
 

PROTBCALC MACRO
 ENDM

PROTBCHECK MACRO
 ENDM
 
 
PROTCCALC MACRO
 ENDM

PROTCCHECK MACRO
 ENDM
 

PROTDCALC MACRO
 ENDM

PROTDCHECK MACRO
 ENDM
 
 
PROTECALC MACRO
 ENDM

PROTECHECK MACRO
 ENDM
 

PROTFCALC MACRO
 ENDM

PROTFCHECK MACRO
 ENDM
 
 
PROTGCALC MACRO
 ENDM

PROTGCHECK MACRO
 ENDM
 
 
PROTHCALC MACRO
 move.l ProtChkHLev1,d0
 add.l ProtChkHLev1+4,d0
 move.l d0,ProtValH
 ENDM

PROTHCHECK MACRO
; move.l ProtChkHLev1,d0
; add.l ProtChkHLev1+4,d0
; cmp.l #$f5a70d5b,d0
; beq.s NOBLOWI
; rts
;NOBLOWI:
; 
 ENDM
 
 
PROTICALC MACRO
 ENDM

PROTICHECK MACRO
;
; lea ProtChkILev1-2300,\1
; cmp.l #RealTable-2000,2300+2(\1)
; bne.s .BLOWUPH
; cmp.l #PROTCALC-5000,2300+6+2(\1)
; bne.s .BLOWUPH
; cmp.l #ASKFORPROT-10000,2300+12+2(\1)
; bne.s .BLOWUPH
; cmp.l #PROTCALLENC-800,2300+18+2(\1)
; bne.s .BLOWUPH
; cmp.l #800,26+2300(\1)
; beq.s .NOBLOWUPH
;.BLOWUPH:
; sub.l #4001,a7
; jmp $504000
;.NOBLOWUPH:
;

 ENDM
 
 
PROTJCALC MACRO

 ENDM

PROTJCHECK MACRO

 ENDM

PROTKCALC MACRO

 move.l #PROTCALLENC,a0
 move.l #(ENDPROT-PROTCALLENC)/4-1,d1
 move.l #0,d0
codeitup:
 add.l (a0)+,d0
 ror.l #1,d0
 dbra d1,codeitup
 
 move.l d0,ProtValK
 
 ENDM

PROTKCHECK MACRO
; move.l #PROTCALLENC-2500,\1
; add.l #2500,\1
; move.l #(ENDPROT-PROTCALLENC)/4-1,d1
; move.l #0,d0
;codeitupk:
; add.l (\1)+,d0
; ror.l #1,d0
; dbra d1,codeitupk
;
; cmp.l #$CEE52EF9,d0
; beq.s .NOBLOWUPK
; movem.l (a7)+,d0/d3/d5/d7/a2/a4/a6
; rts
;.NOBLOWUPK:

 ENDM



PROTLCALC MACRO

 ENDM

PROTLCHECK MACRO
; move.l #ProtChkLLev1-4000,\1
; add.l #4000,\1
; cmp.l #protA,2(\1)
; bne.s .BLOWUP
; cmp.l #$66062e7c,6(\1)
; bne.s .BLOWUP
; tst.l 10(\1)
; beq.s .NOBLOWUP
;.BLOWUP
; addq #8,a7
;.NOBLOWUP:
;
 ENDM
 
PROTMCALC MACRO

; move.l #ProtChkMLev1,a0
; moveq #0,d0
; add.l (a0)+,d0
; sub.l (a0)+,d0
; add.l (a0)+,d0
; add.w (a0)+,d0
; move.l d0,ProtValM

 ENDM

PROTMCHECK MACRO
; move.l #ProtChkMLev1-3400,\1
; add.l #3400,\1
; moveq #0,d0
; add.l (\1)+,d0
; sub.l (\1)+,d0
; add.l (\1)+,d0
; add.w (\1)+,d0
; cmp.l #$888990b1,d0
; beq.s .NOBLOWUPM
;
; add.l #2000,a7
; jmp $40000
;
;.NOBLOWUPM:
;
 ENDM
PROTNCALC MACRO

 ENDM

PROTNCHECK MACRO

 ENDM
 