;; http://www.cpcrulez.fr
;;

;; (C) TWO-MAG et l'Echo des Crocos 90

        ORG &9000               ; Ou aileurs si ca vous chante

        LD BC,&BC01             ; Ecran en overscan
        OUT (C),C
        LD BC,&BD32
        OUT (C),C
        LD BC,&BC02
        OUT (C),C
        LD BC,&BD31             ; ou 33 selon le CPC
        OUT (C),C
        LD BC,&BC07
        OUT (C),C
        LD BC,&BD17
        OUT (C),C
        LD BC,&BC06
        OUT (C),C
        LD BC,&BD15
        OUT (C),C

        XOR A
        CALL &BC0E              ; MODE 0

        LD HL,MESSAGE
        LD (PILE),HL
        LD A,3
        LD (PILE1),A
BOUCLE: CALL &BD19  ; Balayage ecran
        CALL SCROLL
        LD A,47   ; Test touche 47 ( espace )
        CALL &BB1E
        JR Z,BOUCLE

        LD BC,&BC01   ; Oui , on remet l'écran
        OUT (C),C     ; Normal
        LD  BC,&BD28
        OUT (C),C
        LD BC,&BC02   ;
        OUT (C),C
        LD  BC,&BD2E
        OUT (C),C
        LD BC,&BC07
        OUT (C),C
        LD  BC,&BD1E
        OUT (C),C
        LD BC,&BC06   ;
        OUT (C),C
        LD  BC,&BD19
        OUT (C),C
        RET ; C'EST FINI

SCROLL:  LD A,(PILE1)
         INC A
         AND 3
         LD (PILE1),A
         JR NZ,ECRAN
         LD HL,(PILE)
         LD A,(HL)
         INC HL
         OR A   ; SI 0 on boucle
         JR NZ,AFFICH
         LD HL,MESSAGE
         LD A,(HL)
         INC HL
AFFICH: LD (PILE),HL   ;  On affiche
         CALL &BBA5
         LD DE,&A000
         LD (PILE2),DE
         CALL &BC53
ECRAN: LD HL,&C640
        LD DE,(PILE2)
        INC DE
         LD (PILE2),DE
         DEC DE
         LD BC,&308
DEPLACE: PUSH BC
DEPLACE1: LD A,(DE)
        AND &C0
        PUSH DE
        PUSH BC
        PUSH HL
        LD E,L
        LD D,H
        INC HL
        LD BC,&5E
        LDIR
        LD (DE),A
        POP HL
        POP BC
        LD A,H
        ADD A,8
        LD H,A
        JR NC,FRAME
        LD DE,&C064
        ADD HL,DE
FRAME: POP DE
        DJNZ DEPLACE1
        INC DE     ; TIENS 16 DE HAUT
        INC DE
        INC DE
        INC DE
        POP BC
        DEC C
        JR NZ,DEPLACE
        RET
PILE    DEFB 2,0
PILE1   DEFB 1,0
PILE2   DEFB 5,0
MESSAGE DB "UN P'TI SCROLL"
        DB "ET EN OVERSCAN EN PLUS"
        DB ", SYMPA NON ????"
        DB "                   "
        DB "LISEZ L'ECHO DES CROCOS!"
        DB " ET CA BOUCLE ...",&00