CODINGSOURCES ★ CODING Source &053 - Sampler : Enregistrement / Restitution d'une source sonore branchee sur le port K7 ★

Sampler (enregistrement / restitution d'une source sonore branchee sur le port K7)Coding Sources

;
;
;     * SAMPLER * AMELIORATION PAR FREDERIC BELLEC 03-90
;      ; 105 OCTETS RELOGEABLES
;
;     CALL &A000,Type,Adresse,Longueur
;
;     https://cpcrulez.fr
;
    ORG  #a000
    CP   3     ;3 param}tres?
    RET  nz    ;si non retour basic
    LD   l,(ix+2) ;     HL=Adresse
    LD   h,(ix+3) ;     DE=longueur
    LD   a,(ix+4) ;     Type
    CP   1     ;si TYPE=1 alors ENREGISTREMENT
    JR   z,record
    CP   0     ;si TYPE=0 alors RESTITUTION
    JR   z,play
    RET     ;retour BASIC sinon
;     -------------------------------
;    ; ENREGISTREMENT
;     -------------------------------
record  DI
    LD   b,#f5 ;port B
lis  LD   c,8  ;8 bits @ lire
;
read_   IN   a,(c) ;lecture {tat cassette
    SLA  a    ;etat 0 ou 1 ?
    RL   (hl) ;mettre en m{moire le flag C
tp2  LD   a,11 ;mettre tempo {ventuellement
wait2   DEC  a
    JR   nz,wait2
    DEC  c    ;prochain bit
    JR   nz,read ;on continue pour les bits suivants
;
    INC  hl   ;adresse suivante
    DEC  de   ;un autre octet?
    LD   a,e
    OR   d
    JR   nz,lis  ;si oui on continue
    EI
    RET    ;retour Basic
;     -------------------------------
;      ; RESTITUTION
;     -------------------------------
play DI
cont LD   c,8  ;8 bits par octet
;
;     SORTIE D'UN OCTET SUR CANAL B
;
sortie  PUSH de
    LD   e,(hl)  ;octet @ sortir
next SLA  e    ;tester bit de gauche
    LD   a,0
    JR   nc,outreg
    LD   a,15 ;volume maximum
outreg  LD   b,#f4 ;port A
    LD   d,9  ;registre 9 (Volume) du PSG
    OUT  (c),d ;selectionner ce registre
    LD   d,a  ;volume a sortir
    LD   b,#f6 ;port C
    IN   a,(c)
    OR   #c0
    OUT  (c),a ;cette manipulation de bits a pour but
    AND  #3f  ;de preserver l'etat du port C
    OUT  (c),a ;afin de garder le moteur K7
    LD   b,#f4 ;en marche, entre autres
    OUT  (c),d ;volume
    LD   b,#f6
    LD   d,a
    OR   #80
    OUT  (c),a
    OUT  (c),d
;
    DEC  c
    JR   nz,next
    POP  de
;
    INC  hl
    DEC  de
    LD   a,d
    OR   e
    JR   nz,cont
  EI
  RET

★ ANNÉE: 1990
★ AUTEUR: FREDERIC BELLEC

★ AMSTRAD CPC ★ DOWNLOAD ★

Other platform tools:
» coding  src53  samplerDATE: 1970-01-01
DL: 211
TYPE: ASM
SiZE: 4Ko
NOTE:

» coding  src53  samplerDATE: 2013-08-28
DL: 578
TYPE: text
SiZE: 3Ko
NOTE:

» SamplerDATE: 2008-01-06
DL: 497
TYPE: ZIP
SiZE: 23Ko
NOTE: 42 Cyls
.HFE: Χ

Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» 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.732-desktop/c
Page créée en 956 millisecondes et consultée 2781 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.