Pilote CTDURON.SYS

Corriger le pilote pour l'AMD Duron est un peu plus complexe que pour un TO16. L'IRQ2 est utilisée sur AT pour gérer le deuxième contrôleur d'interruption interne à la machine. Le signal IRQ2 du bus ISA est routé sur la ligne IRQ2 du deuxième contrôleur, c'est-à-dire l'IRQ9 au niveau du logiciel.

La première grosse modification a donc consisté à corriger le code pour utiliser l'IRQ9. Cette information est codée en dur dans le programme. Il faut corriger plusieurs endroits, des adresses de vecteurs et des masques.

Le Duron est évidemment beaucoup plus rapide qu'un 8088. Il est tellement rapide que la routine d'interruption qui reçoit et décode les trames est prête avant que les données n'arrivent. Sur un PC-XT, les données arrivent avant que la routine d'interruption ne commence à s'exécuter.

Une deuxième grosse modification a été la manière dont les données sont récupérées au début de la routine d'interruption. On va faire un polling sur le statut pour chaque nouvel octet reçu. Le PC-XT est tellement lent que non seulement ce polling n'était pas nécessaire, mais sa seule présence aurait eu pour conséquence qu'on n'a pas le temps de lire l'octet courant avant que le suivant n'arrive.