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: 155
TYPE: ASM
SiZE: 4Ko
NOTE:

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

» SamplerDATE: 2008-01-06
DL: 421
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 275 millisecondes et consultée 2488 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.