2,274 bytes added,
09:38, 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 automatiquement choisie.
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 second aux drapeaux affectant ce canal et le troisième à la valeur de délai 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 combinables en partie 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 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.
Exemple : CTC_StartChannel HL++
*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.
Exemple : CTC_StartChannel ctc.chan2,HL++
*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
Exemple : CTC_StartChannel ctc.chan.3,ctc.int | ctc.timer | ctc.prescale256 | ctc.reset, (HL)