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

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
m (Macros)
m (Macros)
Line 19: Line 19:
  
 
Configure la fréquence des deux YM.  
 
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 :
 
Usage :
 
*CTC_SetYM d (défaut : 1)
 
*CTC_SetYM d (défaut : 1)
 +
 +
Si le paramètre est omis, c'est la fréquence du CPC qui est choisie par défaut.
  
  
Line 57: Line 57:
 
*CTC_StartChannel d,rr
 
*CTC_StartChannel d,rr
  
Le premier paramètre est donné 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.
+
Le premier paramètre est donné sous la forme d'une valeur immédiate. Les deux suivants seront chargés en (rr) ou (ii). La pré/post imcrémentation/décrementation est possible dans ce cas.
  
 
Exemple : CTC_StartChannel ctc.chan2,HL++
 
Exemple : CTC_StartChannel ctc.chan2,HL++
Line 85: Line 85:
 
*ctc.chan2 : Canal 2
 
*ctc.chan2 : Canal 2
 
*ctc.chan3 : Canal 3
 
*ctc.chan3 : Canal 3
 +
 +
 +
'''CTC_StartNMI'''
 +
 +
 +
Démarre le canal 0 pour déclencher une interruption NMI à l'adresse CRTC indiquée.
 +
 +
 +
Usages possibles :
 +
 +
*CTC_StartNMI
 +
Sans paramètre , le CTC est configuré pour produire l'interruption non masquable à l'adresse indiquée par les registres 14 et 15 du CRTC. Les registres de début et de fin de curseur (registres 10 et 11 du CRTC) doivent être correctement configurés avant l'usage de CTC_StartNMI.
 +
 +
*CTC_StartNMI d/r/(rr)/(ii),d/r/(rr)/(ii)
 +
Le premier paramètre correspond à la partie haute de l'adresse CRTC à laquelle l'interruption non masquable doit se produire , la deuxième à la partie basse. Les paramètres peuvent être une valeur immédiate, un registre 8 bits (D,E,H,L) ou une référence à un registre 16bits ou d'index. La pré/post imcrémentation/décrementation est possible dans ce cas.
 +
 +
Exemple : CTC_StartNMI (DE++),(DE)
 +
 +
*CTC_StarNMI dd
 +
Le paramètre correspond à l'adresse CRTC 16bits complète.

Revision as of 07:30, 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.

Usage :

  • CTC_SetYM d (défaut : 1)

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


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 à une constante de temps qui sera chargée dans le compteur du canalinterne immédiatement, puis à chaque fois que ce compteur arrivera à zéro.

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 interne 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é sous la forme d'une valeur immédiate. Les deux suivants seront chargés en (rr) ou (ii). La pré/post imcrémentation/décrementation est possible dans ce cas.

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)


CTC_StopChannel


Arrête un des canaux du CTC. Le paramètre correspond à un des canaux du CTC.


Usage :

  • CTC_StopChannel d (defaut 0)

En cas d'omission du paramètre, c'est le canal 0 qui est arrêté, ce qui a pour effet de fixer la fréquence des deux YM à 2Mhz (Atari ST)

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


CTC_StartNMI


Démarre le canal 0 pour déclencher une interruption NMI à l'adresse CRTC indiquée.


Usages possibles :

  • CTC_StartNMI

Sans paramètre , le CTC est configuré pour produire l'interruption non masquable à l'adresse indiquée par les registres 14 et 15 du CRTC. Les registres de début et de fin de curseur (registres 10 et 11 du CRTC) doivent être correctement configurés avant l'usage de CTC_StartNMI.

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

Le premier paramètre correspond à la partie haute de l'adresse CRTC à laquelle l'interruption non masquable doit se produire , la deuxième à la partie basse. Les paramètres peuvent être une valeur immédiate, un registre 8 bits (D,E,H,L) ou une référence à un registre 16bits ou d'index. La pré/post imcrémentation/décrementation est possible dans ce cas.

Exemple : CTC_StartNMI (DE++),(DE)

  • CTC_StarNMI dd

Le paramètre correspond à l'adresse CRTC 16bits complète.