Parce que tu doutais que ça fonctionne avec ???
non , mais ça n'avait jamais été testé sur Amiga 1200!
En revanche, j'ai testé quelques disques au format ipf, et certains ne sont pas
passés... Je ne sais pas si ce sont les ipfs qui sont foireux, ou un bug de
l'émulateur...
Il y a moyen d'avoir des logs pour diagnostiquer un problème ?
Pour les ipf il y a plusieurs truc a savoir:
l'interface n'émule les disquettes en bitrate constant uniquement. Ceci signifie que les jeux utilisant des protections basé sur les variations de densité de bit on de forte chance de ne pas démarré.
Ceci dit je suis aussi tombé sur des images qui posent problèmes et qui ne semblaient pas utiliser de bitrate variable (comme prince of persia). Il y a donc probablement un bug a ce niveau là, que je dois investiguer.
De plus Il faudrait effectivement que je mette un message de warning lors d'un chargement d'une image a bitrate variable.
Au fait, tu n'as pas répondu à ma demande de sources pour le soft de pilotage :
veux-tu bien les rendre disponibles ? (PS: j'aime beaucoup ton menu "about"
Oui c'est prévu. en fait je suis en train (a petit pas) de restructurer et de réécrire le soft pour facilité le portage. Tant que ce travail ne sera pas terminé
je ne pense pas que les sources soient utiles a quelqu'un d'autre. Patience c'est pour bientôt
Par contre, un truc qui aurait été cool, c'est que l'émulateur puisse émuler
plusieurs lecteurs de disquettes en même temps : ça éviterait des message du genre
"insert disk X" pour les softs qui tiennent sur plusieurs disques !
Je suppose qu'au niveau hardware c'est possible, puisque les signaux DSx sont gérés. il suffirait peut-être de simplement remanier un peu le soft ?
A moins que la gestion des pages mémoire sur le CPLD pose problème ?
En fait le problème se situe plutôt coté cpld et gestion position tête de lecture:
A l'heure actuelle c'est le cpld qui gère la position de de la tête de lecture et le signal associé track00. La position de la tête de lecture est simplement stocké dans un registre 7 bits dans le CPLD. Sa valeur est envoyé régulièrement au pc pour demander un nouveau paquet.
Pour pouvoir gérer plusieurs 2 lecteurs il "suffirait" de rajouter un autre registre pour contenir la position de la tête du deuxième lecteur mais malheureusement le cpld MAX7128 est déjà saturé (~127 macrocell/128).
L'autre piste serait de donner la gestion de la position au pc, en envoyant à celui-ci uniquement un déplacement relatif (un peu comme la gestion de déplacement d'une souris), et non plus la position absolue. mais avec ce système, la gestion du signal Track00 pose problème : ce signal est censé tomber a 0 lorsque la tête de lecture de se trouve en position 0. La latence de l'usb fait que gérer ce signal a partir du pc me semble difficile.
Solution de facilité : on peut aussi imaginer une modification de l'ihm pour pouvoir changer de disquette de façon rapide.
voila
jf