CODINGSOURCES ★ CODING Source &021 - EQUALISERS ★

Ces 2 sources ce compile sans problème sous l'assembleur de WinAPE, elles indépendantent l'une de l'autre bien sur.

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

         ORG  #A000

         LD   A,#02                     ;)
         CALL #BC0E                     ; mode 2

BOUCLE   DI                             ; arret des interruptions
         LD   B,#F5                     ;)
FRAME    IN   A,(C)                     ;)synchronisation avec le balayage
         RRA                            ;)
         JR   NC,FRAME                  ;)

         ; ADRESSE D'EXECUTION DE LA MUSIQUE
;         CALL #8FF3
call &2240

         LD   HL,VOIE1                  ;HL pointe sur VOIE1
         LD   C,#08                     ; correspond a la voie A
         CALL TEST
         INC  HL
         LD   C,#09                     ; voie B
         CALL TEST
         INC  HL
         LD   C,#0A                     ; voie C
         CALL TEST
         LD   HL,#FFA3                  ; adresse d'effacement de la voie A
         CALL EFFACE
         LD   HL,#FFA7                  ; adresse d'effacement de la voie B
         CALL EFFACE
         LD   HL,#FFAB                  ; adresse d'effacement de la voie C
         CALL EFFACE
         LD   A,(VOIE1)
         LD   HL,#FFA3                  ; adresse d'affichage de la voie A
         CALL AFFICHE
         LD   A,(VOIE2)
         LD   HL,#FFA7                  ; adresse d'affichage de la voie B
         CALL AFFICHE
         LD   A,(VOIE3)
         LD   HL,#FFAB                  ; adresse d'affichage de la voie C
         CALL AFFICHE
         CALL #BB09                     ;test touche espace
         RET  C                         ;si C=1 RET
         JP   BOUCLE                    ; sinon on boucle

EFFACE   LD   B,32
EFF1     PUSH BC
         LD   (HL),#00
         INC  HL
         LD   (HL),#00
         CALL RBC29
         POP  BC
         DJNZ EFF1
         RET

AFFICHE  OR   A
         RET  Z
         ADD  A,A
         LD   B,A
AFF1     PUSH BC
         LD   (HL),#FF
         INC  HL
         LD   (HL),#FF
         CALL RBC29
         POP  BC
         DJNZ AFF1
         RET

TEST     LD   B,#F4
         OUT  (C),C
         LD   BC,#F6C0
         OUT  (C),C
         LD   BC,#F600
         OUT  (C),C
         LD   BC,#F792
         OUT  (C),C
         LD   BC,#F640
         OUT  (C),C
         LD   BC,#F400
         IN   A,(C)
         LD   (HL),A
         LD   BC,#F782
         OUT  (C),C
         LD   BC,#F600
         OUT  (C),C
         RET
RBC29    LD   BC,#DFFF
         ADD  HL,BC
         LD   A,H
         CP   #C0
         RET  P
         LD   BC,#3FB0
         ADD  HL,BC
         RET

VOIE1    DEFB #0
VOIE2    DEFB #0
VOIE3    DEFB #0

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

         ORG  #A000

         LD   A,#02
         CALL #BC0E

BOUCLE   DI
         LD   B,#F5
FRAME    IN   A,(C)
         RRA
         JR   NC,FRAME

         ; ADRESSE D'EXECUTION DE LA MUSIQUE
         ;CALL #8FF3
call &2240

         LD   HL,VOIE1
         LD   C,#08
         CALL TEST
         INC  HL
         LD   C,#09
         CALL TEST
         INC  HL
         LD   C,#0A
         CALL TEST
         LD   HL,#C780
         CALL EFFACE
         LD   HL,#C730
         CALL EFFACE
         LD   HL,#C6E0
         CALL EFFACE
         LD   A,(VOIE1)
         LD   HL,#C6E0
         CALL AFFICHE
         LD   A,(VOIE2)
         LD   HL,#C730
         CALL AFFICHE
         LD   A,(VOIE3)
         LD   HL,#C780
         CALL AFFICHE
         CALL #BB09
         RET  C
         JP   BOUCLE

EFFACE   LD   B,32
EFF1     PUSH BC
         PUSH HL
         LD   BC,#0800
         LD   (HL),#00
         ADD  HL,BC
         LD   (HL),#00
         ADD  HL,BC
         LD   (HL),#00
         ADD  HL,BC
         LD   (HL),#00
         POP  HL
         INC  HL
         INC  HL
         POP  BC
         DJNZ EFF1
         RET

AFFICHE  OR   A
         RET  Z
         ADD  A,A
         LD   B,A
AFF1     PUSH BC
         PUSH HL
         LD   BC,#0800
         LD   (HL),#FF
         ADD  HL,BC
         LD   (HL),#FF
         ADD  HL,BC
         LD   (HL),#FF
         ADD  HL,BC
         LD   (HL),#FF
         POP  HL
         INC  HL
         INC  HL
         POP  BC
         DJNZ AFF1
         RET

TEST     LD   B,#F4
         OUT  (C),C
         LD   BC,#F6C0
         OUT  (C),C
         LD   BC,#F600
         OUT  (C),C
         LD   BC,#F792
         OUT  (C),C
         LD   BC,#F640
         OUT  (C),C
         LD   BC,#F400
         IN   A,(C)
         LD   (HL),A
         LD   BC,#F782
         OUT  (C),C
         LD   BC,#F600
         OUT  (C),C
         RET

VOIE1    DEFB #0
VOIE2    DEFB #0
VOIE3    DEFB #0

http://cpcrulez.fr

[next=coding_src]

A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

» Coding Listing - Rsx - Bankcat - Screencopy   (Computing With The Amstrad)
» Coding Listing - Mastercontrol   (CPC Amstrad International)
» Coding Listing - Rosette   (CPC Amstrad International)
» Coding Source 26 Rasters Bigtube
» Coding Listing - Schneelandschaft   (CPC Amstrad International)
» Coding Listing - Restore Utility   (Computing With The Amstrad)
» Coding Listing - Pattern Generator   (Amstrad Action)
» Coding Listing - Zirkusdirektor   (CPC Amstrad International)
» Coding Listing - Patch Muss In Artworx   (CPC Amstrad International)
CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ CPC RULEZ
CPCrulez[Content Management System] v8.00 par hERMOL
Page créée en 448 millisecondes et consultée 159 fois