Au début, il y avait le MMC2IEC
Depuis quelques semaines, je me penche sur cet émulateur de disquettes remplaçant en partie le fonctionnement d’un lecteur Commodore 1541 pour C64/128. La disponibilité des sources du firmware a permis de faire évoluer cette interface en améliorant sa compatibilité avec le lecteur original. D’un autre côté, l’implantation hard et schématique des composants a laissé libre au cours au clonage intensif !
Bref pour s’y retrouver dans cette jungle de clones, je suis parti du schéma de base de Lars Pontoppidan pour effectuer mes premiers tests. Cette interface utilise un µc Atmega32 en support DIP que l’on peut trouver facilement dans le commerce. L’oscillateur interne réglé à 8Mhz suffit au fonctionnement de cet émulateur hard mais certaines fonctionnalités comme le chargement rapide ou « Fast Loader » n’est pas émulé. L’ajout d’un quartz externe peut améliorer cette compatibilité qui n’est pas aujourd’hui parfaite. Toujours est-il que le firmware de base est arrêté à la version 0.8 dont les sources et les fichiers binaires sont disponibles ici.
De ce travail naquis le SD2IEC
Pour tirer la quintescence de cette interface, il nous faut passer la vitesse supérieure. On garde le circuit imprimé existant en remplaçant le µc par un Atmega644 (c’est le nouveau micro-contrôleur choisi pour poursuivre le développement de cette carte). Celui ci est compatible « pin à pin » avec son prédécesseur. La mise à jour du firmware est disponible ici. Les avantages de cette dernière évolution sont :
- mise à jour du firmware via l’installation d’un bootloader au préalable
- gestion de plusieurs « fast loaders » (l’execution de code sur le 1541 ne fonctionne pas)
- compatible avec le design MM2IEC
Concernant ma version, j’ai ajouté un régulateur 5V et 3.3V respectivement à base de 7805 et LM317 (je n’avais pas de LF33 en stock). J’ai cablé un connecteur HE10 coudé pour connecter le programmateur ISP.
Chargement du firmware ou du bootloader
Pour se faire, j’ai utilisé un programmateur ISP maison à travers le port // dont le schéma de principe est ici. Ce type de programmation est préconisée puisque le mode JTAG doit être désactivé pour que le microcode fonctionne correctement !
J’ai utilisé PonyProg. Il existe une version patchée de ce logiciel qui prend mieux en charge l’atmega644p. Pour ma part et avant d’être au courant, je n’ai eu qu’à forcer la programmation une à deux fois après avoir préalablement choisi le µc Atmega 644 dans la liste proposée.
Liens
La base du projet MMC2IEC par Lars Pontoppidan (en Anglais)




