;
;                PROT-LOGO
;
;              MAGIC SOFTWARE
;
;        SYSTEME PROTECTION POUR NEWLOG4
;
ORG #9000
;
IMPLANT EQU #9900
LONG EQU #BC0
LONG1 EQU #BB0
LONG2 EQU #BA0
LONG3 EQU #B90
LONG4 EQU #B80
VALSYNC EQU #39
ALEATUS EQU #21
VALDEC EQU #1234
;
DEBUT
DI
LD HL,#C000
LD BC,LONG
LD D,VALSYNC
IM 1
LD A,ALEATUS
LD R,A
DEC1
LD A,(HL)
XOR D
LD D,A
LD (HL),A
INC HL
DEC BC
LD A,B
OR C
DECOD1 JR NZ,DEC1
;
;
LD IY,BOUCLE
LD DE,LONG1
LD HL,#C000
BOUCLE
LD A,R
XOR (HL)
XOR (IY+5)
LD (HL),A
DEC DE
LD A,D
INC HL
OR E
JR NZ,DEC2
DEC2
JR Z,SUITE
DECOD2 JP (IY)
;
;
SUITE
LD HL,#C000
LD BC,LONG2
DEC3 LD A,R
XOR (HL)
DEC BC
LD (HL),A
LD A,B
INC HL
OR C
DECOD3 JR NZ,DEC3
;
;
LD HL,#C000
LD SP,PILE
PILE LD DE,LONG3
EXX
CALL DEC4
DEC4 POP HL
LD BC,8
ADD HL,BC
PUSH HL
POP HL
EXX
LD A,R
XOR D
XOR (HL)
XOR E
LD (HL),A
DEC SP
DEC DE
INC HL
DEC SP
EX DE,HL
LD A,L
EX DE,HL
OR D
DECOD4 RET NZ
;
;
LD BC,LONG4
LD HL,IMPLANT+#86
LD DE,VALDEC
EXX
LD HL,DEC5
DEC5 EXX
LD A,R
XOR (HL)
XOR E
XOR D
XOR C
XOR B
INC DE
LD (HL),A
DEC BC
LD A,C
INC HL
OR B
JR Z,CONTI
EXX
DECOD5 JP (HL)
;
;
CONTI
PROG
;
;
;
;                 BLOC 2
;
;
;
DEBUTW
LD HL,#C000
LD BC,LONG
LD D,VALSYNC
IM 1
LD A,ALEATUS
LD R,A
DEC1W
LD A,(HL)
XOR D
LD D,A
LD (HL),A
INC HL
DEC BC
LD A,B
OR C
DECOD1W JR NZ,DEC1W
;
;
LD IY,BOUCLEW
LD DE,LONG1
LD HL,#C000
BOUCLEW
LD A,R
XOR (HL)
XOR (IY+5)
LD (HL),A
DEC DE
LD A,D
INC HL
OR E
JR NZ,DEC2W
DEC2W
JR Z,SUITEW
DECOD2W JP (IY)
;
;
SUITEW
LD HL,#C000
LD BC,LONG2
DEC3W LD A,R
XOR (HL)
DEC BC
LD (HL),A
LD A,B
INC HL
OR C
DECOD3W JR NZ,DEC3W
;
;
LD HL,IMPLANT+#67
LD SP,#C000
LD DE,LONG3
EXX
CALL DEC4W
DEC4W POP HL
LD BC,8
ADD HL,BC
PUSH HL
POP HL
EXX
LD A,R
XOR D
XOR (HL)
XOR E
LD (HL),A
DEC SP
DEC DE
INC HL
DEC SP
EX DE,HL
LD A,L
EX DE,HL
OR D
DECOD4W RET NZ
;
;
;               BLOC NO 3
;
;
DEBUTX
LD HL,#C000
LD BC,LONG
LD D,VALSYNC
IM 1
LD A,ALEATUS
LD R,A
DEC1X
LD A,(HL)
XOR D
LD D,A
LD (HL),A
INC HL
DEC BC
LD A,B
OR C
DECOD1X JR NZ,DEC1X
;
;
LD IY,BOUCLEX
LD DE,LONG1
LD HL,#C000
BOUCLEX
LD A,R
XOR (HL)
XOR (IY+5)
LD (HL),A
DEC DE
LD A,D
INC HL
OR E
JR NZ,DEC2X
DEC2X
JR Z,SUITEX
DECOD2X JP (IY)
;
;
SUITEX
LD HL,IMPLANT+#43
LD BC,LONG2
DEC3X LD A,R
XOR (HL)
DEC BC
LD (HL),A
LD A,B
INC HL
OR C
DECOD3X JR NZ,DEC3X
;
;
;                      BLOC NO3
;
;
DEBUTY
LD HL,#C000
LD BC,LONG
LD D,VALSYNC
IM 1
LD A,ALEATUS
LD R,A
DEC1Y
LD A,(HL)
XOR D
LD D,A
LD (HL),A
INC HL
DEC BC
LD A,B
OR C
DECOD1Y JR NZ,DEC1Y
;
;
LD IY,BOUCLEY
LD DE,LONG1
LD HL,IMPLANT+#33
BOUCLEY
LD A,R
XOR (HL)
XOR (IY+5)
LD (HL),A
DEC DE
LD A,D
INC HL
OR E
JR NZ,DEC2Y
DEC2Y
JR Z,SUITEY
DECOD2Y JP (IY)
;
SUITEY
;
DEBUTZ
LD HL,IMPLANT+#18
LD BC,LONG
LD D,VALSYNC
DEC1Z
LD A,(HL)
PUSH AF
XOR D
LD (HL),A
POP AF
LD D,A
INC HL
DEC BC
LD A,B
OR C
DECOD1Z JR NZ,DEC1Z
;
;
;
;
;             PROGRAMME CODE !!
;
;
JP #1000