Pour ceux qui ont raté les premiers épisodes (les messages sont disséminés dans différents topics), il y a un petit résumé là : http://removers.free.fr/spip/article.php?id_article=88
Gwile :
Sinon j'ai quand même regardé un peu STeADIER : avancé le désassemblage, trouvé encore 2 ou 3 bugs potentiels (à se demander comment ça réussissait à marcher), re-réflechi un peu à tout ça, potassé le 68040 User's Manual, chapitre PMMU, verset format des tables : pour le 040/060 ça pourrait être jouable pour du code non-STe n'accédant pas trop souvent aux registres vidéo (l'écrasante majorité des jeux ST quand même !).
moi j'ai (bien) bossé sur les docs du FDC!
Gwile :
En plus sur 030 et 040/060 on devrait pouvoir faire un mode d'émulation "léger" qui ne fasse que gérer les images disques sans pousser l'émulation ST(e) plus loin, et qui puisse être compatible avec la Fast-RAM (voire le TT et autres machines avec cartes accélératrices 030) pour plus de confort...
Gwile :
Si jamais je fais marcher ce truc sur 040/060, alors quelque pourra peut être un jour s'amuser à gérer les Hadès/Milan/Medusa voire ARanyM !![]()
Plus de détails par courriel demain soir ou ce WE au pire !
frost :
Tiens, ça serait peut-être une bonne idée de regarder du côté d'ULS du groupe DBUG.
Voir http://www.atari-forum.com/viewforum.php?f=45&sid=f0733b2201488219dc57eaf5adc4beb0
) pour se brancher sur leur loader qui est capable de restaurer l'état complet de la machine après le jeu ou la démo.
Sinon, on aurait eu la même idée qu'eux, qui finalement, n'est pas tellement compliquée! 

pour voir comment le système exploite le Status Register du FDC. C'est le point faible de STeADIER qui renseigne encore trop peu ce registre.
Tu reçois mes emails?
stabylo :En m'appuyant sur le livre du lecteur de disquette, je pense avoir amélioré la qualité des statuts du FDC émulé par STeADIER, mais ça n'a malheureusement pas corrigé le problème du blocage du système quand on boote sur la disquette émulée. Bon, au moins la mauvaise gestion des status est une hypothèse de moins à investiguer.
il va falloir encore approfondirpour voir comment le système exploite le Status Register du FDC. C'est le point faible de STeADIER qui renseigne encore trop peu ce registre.
), ça essaye de lire le premier secteur, ça essaye encore de placer la tête au début, pluis plus rien.
. Pour l'instant je m'interroge sur le fait que STeADIER simule la levée d'une interruption (avec la commande Force Interrupt) après chaque commande FDC émulée. Est-ce vraiment ce que fait le FDC en temps normal? Je m'interroge car la routine d'interruption semble exécuter des Restore, comme si elle se considérait en situation d'erreur d'accès disquette.
stabylo :Ca reste à investiquer, et ça devrait être très instructif. J'ai aussi d'autres idées
tout ce boulot a déjà dû être fait par les émulateurs sur PC, et surement Aranym. Faudrait aller voir comment ils font...
: faire un STeADIER transparent qui ne fait que prendre en note tous les appels FDC faits par le système au boot (et qui laisse les accès se faire sur la vraie disquette), et détourner l'interruption FDC pour en logger également les appels. Ca permettrait de répondre à mes questions.
Steadier ne vérifie pas l'état du bit Interrupt Enable du MFP avant de forcer l'interruption FDC correspondante. Il est très probable qu'au boot, cette interruption soit inhibée et qu'il faille donc faire attention à ce bit. (et ça expliquerait pourquoi le vecteur d'interruption FDC placé par NVDI n'est pas réinitialisé!
)
]stabylo
:si on arrive à mettre STeADIER en TT RAM
stabylo :J'ai mis à contribution mon exemplaire de la bible du ST qui contient un désassemblage du BIOS du TOS 1.0. Hyper intéressant!
le système abandonne trop tôt, comme s'il décrétait que le lecteur était hors d'usage.
Certaines parties n'ont pas beaucoup changé dans le TOS 4! (normal aussi, il n'y a pas 50 méthodes pour booter sur une disquette
) Donc les commentaires de la Bible du ST sur le TOS 1.0 m'ont aidé à comprendre ce qui se passe dans le TOS 4.04 (j'aurais jamais cru ça quand j'ai acheté ce vieux bouquin autrefois!). J'ai donc pu identifier que la séquence de commandes FDC reçues par STeADIER pour être émulées provient de la routine hdv_boot du TOS (sur laquelle STeADIER place son principal hook pour effectuer ses initialisations).
)
stabylo :J'ai pu voir que oui, la méthode est correcte pour passer le bit 5 du GPIP à 0 (passage obligé car le TOS teste ce bit pour savoir si la commande est terminée, même s'il n'y a aucune interruption de lancée)
Est-ce vraiment ce que fait le FDC en temps normal?
stabylo :Hypothèse erronnée, c'est plutôt le hdv_boot du TOS qui est en cause
Je m'interroge car la routine d'interruption semble exécuter des Restore, comme si elle se considérait en situation d'erreur d'accès disquette.
stabylo :Pas de besoin en fin de compte. Le MFP est assez grand pour ne pas faire de bêtise ; quand une interruption est disabled, il ne va pas s'amuser à appeler la routine correspondante
Steadier ne vérifie pas l'état du bit Interrupt Enable du MFP
(trop fatigué moi
)
Strider :En fait, on est encore un peu loin de l'envisager... Quand on arrivera (enfin) à booter sur une disquette, ce sera déjà bien. Pour l'instant ça s'avère pas simple...
Les images MSA seront aussi en TT RAM ?
Strider :Oui, je garde ça en tête. Pour l'instant, le disque dur n'est pas dispo au boot.
Parce qu'il serait peut-être bon de désactiver l'IDE pendant l'émulation... au cas où un jeu mal programmé taperait dans les mauvais registres du YM![]()


Seb m'a transmis la gestion du FDC de STonX et j'ai taillé dans gras de STeADIER [...].
Les images MSA seront aussi en TT RAM ?
Parce qu'il serait peut-être bon de désactiver l'IDE pendant l'émulation... au cas où un jeu mal programmé taperait dans les mauvais registres du YM