CODINGSOURCES ★ CODING Source &021 - EQUALISERS ★

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

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; https://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

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; https://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

https://CPCrulez.fr

★ ANNÉE: ???
★ AUTEUR(S): ???

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

Lien(s):
» Coding Src's » Triangles (The Amstrad User)
» Coding Src's » Graphic - Crtc - On - Screen Effects On the CPC464 (Popular Computing Weekly)
» Coding Src's » Relocating Z80 Code (The Amstrad User)
» Coding Src's » Intro Musicale
» Coding Src's » PlayCity Examples (SyX)
» Coding Src's » Fast Dragon (Computing with the Amstrad)
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 445 millisecondes et consultée 1718 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.