le problème a été mainte fois évoqué , ce n' est pas mach3 le responsable , mais Microsoft ..... qui n' a pas été foutu de développer un drivers de port parallèle pour Windows 64 bits , il fonctionne parfaitement en 32 bits ....
Mach3 ne ce sert pas du port parallèle comme d'un port de communication, mais détourne son utilisation en carte E/S en accédant directement aux adresses physique du port. C'est pour cela que les adaptateurs USB ne fonctionnent pas. ils n'ont pas d'adresses I/O physiques.
Mach3 ne se sert pas du driver Microsoft mais a écrit sont propre driver pour accéder a ces adresses, et aussi pour générer des signaux à haute fréquence. Ce n'est pas du tout prévu dans le driver d'origine.
Ce Driver doit ce trouver dans le dossier c:\windows\system32\drivers et avoir une extension .sys. il doit aussi être visible dans "services" dans la gestion de l'ordinateur.
Le code source du driver Lpt est disponible avec le DDK NT4, il est toujours téléchargeable.
Je m'en suis servi de 1997 à 2007 quand ma carte communiquait par le port parallèle, J'ai dus modifier le code pour être compatible avec le handshake de ma carte.
http://retired.beyondlogic.org/epp/epp.htm
Sur ce lien on peut ce rendre compte que l'assignation des PIN du port parallèle, ici en EPP, n'a rien a voir avec un usage CNC comme Mach3 le fait.
Sur ce lien il y a aussi les adresses physiques du port parallèle, pour les sorties, Mach3 ce sert de l'adresse base+0, pour lire les entrées il lit l'adresse Base+1 et pour modifier le mode de fonctionnement du le port Base+2.
Ce mode de fonctionnement est resté depuis l'utilisation du 82c55 pour le gestion des E/S parallèle sur les premiers PC (j'ai des liens). Si ce circuit à disparu depuis longtemps son fonctionnement est toujours émulé sur les ports parallèles.
Si ça intéresse quelqu'un voici le code du driver lpt que j'avais modifié pour ma carte. Mach3 c'est surement servi du même code. les adresses I/O sont définies dans le fichier h.