en fait, la prog du DMA pour les transferts, je sais faire, j'ai plein plein de docs là-dessus. Pour faire 2 transferts DMA en même temps, je pensais faire un truc de ce style (pour floppy et disque dur par exemple):
1 2 3 4 5 6 7 8 9
|
- intialiser le floppy
- intialiser le DD
- initialiser le DMA floppy avec 64k de transfert
- initialiser le DMA DD avec 64k de trasnfert
- lancer le transfert floppy
- lancer le transfert DD
- questionner le DMA floppy pour savoir s'il a terminé (1)
- Si le floppy n'est pas terminé (1), questionner le DMA DD pour savoir s'il est lancé (2) |
Comme ça, avec (1) et (2), je sais si les transferts s'effectuent en même temps ou l'un à la suite de l'autre. Je pense qu'avec 64k, le DMA ne doit pas avoir le temps de terminé le floppy avant que je le questionne (si tout va bien
![:?](https://www.developpez.net/forums/images/smilies/icon_confused.gif)
) Le problème c'est que je ne sais pas comment testé si le transfert DMA est terminé ou non ? Y'a-t-il une commande propre à adresser au DMA ou je viens de penser à un autre truc, dois-je attendre une IRQ floppy et une IRQ DD ????
il ne se font pas exactement en même temps, ne serait ce que par la gestion des irq,priorités etc
Là tu me poses une colle, on peut déterminer un ordre de priorité pour les transferts DMA ??? Je vois pas ce que les IRQ ont à voir ici ????
![:?](https://www.developpez.net/forums/images/smilies/icon_confused.gif)
Partager