Difference between revisions of "CTC-AY SDK libCTC fr"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
m (Macros)
Line 17: Line 17:
 
'''CTC_SetYM'''
 
'''CTC_SetYM'''
  
Configure la fréquence des deux YM.Si le paramètre est omis, c'est la fréquence du CPC qui est automatiquement choisie.
+
Configure la fréquence des deux YM.  
 +
Si le paramètre est omis, c'est la fréquence du CPC qui est choisie par défaut.
  
  
Line 27: Line 28:
  
  
Démarre un des canaux du CTC , le premier paramètre correspond au canal choisi , le second aux drapeaux affectant ce canal et le troisième à la valeur du compteur du canal.
+
Démarre un des canaux du CTC.
 +
Le premier paramètre correspond au canal choisi, le deuxième aux drapeaux affectant ce canal et le troisième à la constante de temps du canal.
  
 
Les canaux sont définis par les valeurs suivantes :
 
Les canaux sont définis par les valeurs suivantes :
*ctc.chan0 : canal 0
+
*ctc.chan0 : Canal 0
*ctc.chan1 : canal 1
+
*ctc.chan1 : Canal 1
*ctc.chan2 : canal 2
+
*ctc.chan2 : Canal 2
*ctc.chan3 : canal 3
+
*ctc.chan3 : Canal 3
  
Les valeurs suivantes sont possibles et combinables en partie pour les drapeaux :
+
Les valeurs suivantes sont possibles et en partie combinables pour les drapeaux :
*ctc.int : une interruption est déclenchée quand le compteur du canal atteint 0
+
*ctc.int : Une interruption est déclenchée quand le compteur du canal atteint 0
*ctc.counter : le canal est en mode counter
+
*ctc.counter : Le canal est en mode counter
*ctc.timer : le canal est en mode timer
+
*ctc.timer : Le canal est en mode timer
*ctc.prescale256 : choisi une échelle de temps de 64µs pour le canal (mode timer uniquement)
+
*ctc.prescale256 : Choisi une échelle de temps de 64µs pour le canal ''(mode timer uniquement)''
*ctc.prescale16 : choisi une échelle de temps de 16µs pour le canal (mode timer uniquement)
+
*ctc.prescale16 : Choisi une échelle de temps de 16µs pour le canal ''(mode timer uniquement)''
*ctc.reset : redémarre le canal avant de le mettre en route.
+
*ctc.reset : Redémarre le canal avant de le mettre en route.
  
  
Line 48: Line 50:
 
*CTC_StartChannel rr/ii
 
*CTC_StartChannel rr/ii
  
les paramètres seront charges à la suite en (rr) ou (ii).Il est possible d'ajouter un post ou un pré incrément/décrement pour incrément/décrementer rr/ii.
+
les paramètres seront chargés à la suite en (rr) ou (ii). Il est possible d'ajouter un post ou un pré incrément/décrement pour incrément/décrementer rr/ii.
  
 
Exemple : CTC_StartChannel HL++
 
Exemple : CTC_StartChannel HL++
Line 54: Line 56:
 
*CTC_StartChannel d,rr
 
*CTC_StartChannel d,rr
  
Le premier paramètre est donnée sous forme de valeur immédiate.Les deux derniers seront chargés à la suite en (rr) ou (ii).Il est possible d'ajouter un post ou un pré incrément/décrement pour incrément/décrementer rr/ii.
+
Le premier paramètre est donnée sous la forme d'une valeur immédiate. Les deux suivants seront chargés en (rr) ou (ii). Il est possible d'ajouter un post ou un pré incrément/décrement pour incrément/décrementer rr/ii.
  
 
Exemple : CTC_StartChannel ctc.chan2,HL++
 
Exemple : CTC_StartChannel ctc.chan2,HL++
Line 60: Line 62:
 
*CTC_StartChannel d,d,d/r/(rr)/(ii)
 
*CTC_StartChannel d,d,d/r/(rr)/(ii)
  
Les premiers et second paramètres sont des valeurs immédiates.Les troisième peut être donné sous forme de valeur immédiate , registre 8 bits ou une référence à un registre 16bits ou d'index
+
Les deux premiers paramètres sont des valeurs immédiates. Le troisième peut être donné sous la forme d'une valeur immédiate, d'un registre 8 bits ou d'une référence à un registre 16bits ou d'index.
  
 
Exemple : CTC_StartChannel ctc.chan.3,ctc.int | ctc.timer | ctc.prescale256 | ctc.reset, (HL)
 
Exemple : CTC_StartChannel ctc.chan.3,ctc.int | ctc.timer | ctc.prescale256 | ctc.reset, (HL)

Revision as of 06:50, 11 July 2013

Bibliotheque de prise en charge du CTC

Localisation : lib/ctc.asm

Cette bibliothèque est composée de macros ainsi que de définitions des drapeaux pour la configuration du CTC.

Rappel des abréviations :

  • d valeur 8 bits (0-0xFF)
  • dd valeur 16 bits (0-0xFFFF)
  • r registre 8 bits (A,B,C,D,E,H,L)
  • rr registre 16 bits (HL/BC/DE)
  • ii registre d'index (IX/IY)

Macros

CTC_SetYM

Configure la fréquence des deux YM. Si le paramètre est omis, c'est la fréquence du CPC qui est choisie par défaut.


Usage :

  • CTC_SetYM d (défaut : 1)


CTC_StartChannel


Démarre un des canaux du CTC. Le premier paramètre correspond au canal choisi, le deuxième aux drapeaux affectant ce canal et le troisième à la constante de temps du canal.

Les canaux sont définis par les valeurs suivantes :

  • ctc.chan0 : Canal 0
  • ctc.chan1 : Canal 1
  • ctc.chan2 : Canal 2
  • ctc.chan3 : Canal 3

Les valeurs suivantes sont possibles et en partie combinables pour les drapeaux :

  • ctc.int : Une interruption est déclenchée quand le compteur du canal atteint 0
  • ctc.counter : Le canal est en mode counter
  • ctc.timer : Le canal est en mode timer
  • ctc.prescale256 : Choisi une échelle de temps de 64µs pour le canal (mode timer uniquement)
  • ctc.prescale16 : Choisi une échelle de temps de 16µs pour le canal (mode timer uniquement)
  • ctc.reset : Redémarre le canal avant de le mettre en route.


Usages possibles :

  • CTC_StartChannel rr/ii

les paramètres seront chargés à la suite en (rr) ou (ii). Il est possible d'ajouter un post ou un pré incrément/décrement pour incrément/décrementer rr/ii.

Exemple : CTC_StartChannel HL++

  • CTC_StartChannel d,rr

Le premier paramètre est donnée sous la forme d'une valeur immédiate. Les deux suivants seront chargés en (rr) ou (ii). Il est possible d'ajouter un post ou un pré incrément/décrement pour incrément/décrementer rr/ii.

Exemple : CTC_StartChannel ctc.chan2,HL++

  • CTC_StartChannel d,d,d/r/(rr)/(ii)

Les deux premiers paramètres sont des valeurs immédiates. Le troisième peut être donné sous la forme d'une valeur immédiate, d'un registre 8 bits ou d'une référence à un registre 16bits ou d'index.

Exemple : CTC_StartChannel ctc.chan.3,ctc.int | ctc.timer | ctc.prescale256 | ctc.reset, (HL)