jeudi 1 mars 2012

1230scsi fix

Les extensions Scsi pour cartes Blizzard ont un léger soucis dans leur driver (1230scsi.device v8.5)...

... qui est contenu dans cette otprom :

Une otprom est tout comme une eprom classique sauf qu'il n'est possible de la programmer qu'une fois (One Time Programmable).

Une nouvelle est donc arrivée hier les amis :

Le soucis est que le driver utilise dix fois un accès à la chipmem comme temps d'attente. Le contrôleur Scsi (un FAS216) est indépendant du chipset AGA, et n'a pas à accéder à la mémoire chip pour quoique que ce soit, surtout d'une manière si directe... En désassemblant le driver, voici par exemple un "tst.w $000FFFF0" à remplacer, entre les deux nop. Il y en a donc dix comme celui-ci :

Ils ont donc été tous ôté et trois "move.l a0,a0" (qui certes n'ont pas exactement le même temps d'exécution mais qui fonctionnent très bien) sont venus à la place, qui eux n'accèdent en rien à la mémoire :

La version du driver passe à 8.6 maintenant :

Ne reste plus qu'à flasher le tout :

Et à installer :

C'est bien le Scsi : presque 6 Mo/s avec cette Blizzard 030@50 :

Voilà, c'est bien mieux comme ceci maintenant !
 

14 commentaires:

  1. Salut Cosmos. Tu veux pas en programmer d'autres ?
    Moi j'ai 2 ou 3 cartes SCSI à améliorer...
    :)

    RépondreSupprimer
    Réponses
    1. Ouaip, si tu veux : le driver est un peu plus rapide, environ 50-60 Ko/s de bonus !

      Supprimer
    2. Bah c'est cool mais c'est pas hyper spectaculaire... Ca va être un peu compliqué à organiser depuis l'Australie juste pour 400-500 KB/s.

      Cela dit ce que j'aime avec tes bidouilles c'est que tu les fais non seulement PARCE QUE C'EST POSSIBLE, mais aussi parce que tu amènes le matos dans ses derniers retranchements, mais proprement. Bravo!

      Supprimer
  2. j'aurais mis un 'tst.b $bfe001' à la place :)

    RépondreSupprimer
    Réponses
    1. Ouaip, mais mes 3 move sont plus rapides : résultat, le taux de transfère à bondit de 50 Ko/s environ...

      Supprimer
  3. OTProm commandé, y'a plus qu'a :)
    Si on peut gagner qques secondes sur les gros chargements, tout est bon à prendre :D

    RépondreSupprimer
    Réponses
    1. Y'a aussi les 29F256 qui sont compatibles, et qui sont surtout reflashables !!

      Supprimer
  4. Merci pour le tuyau mais impossible de trouver des 29f256 et je viens d'annuler ma commande de AT27c256 (delai incertain etc...).
    T'as trouvé ça où ?

    RépondreSupprimer
    Réponses
    1. Ah oui, zut, z'ont l'air dur à trouver ces 29F256...

      Supprimer
  5. Ralph Schmidt, the guy who tried to get the driver working with the HW.

    If the whole wait states or bogus cpu instructions make no sense don't try to find some explanation for it. The Blizzard III scsi module had random transfer errors and we tried to fool around finding some voodoo getting it going but nothing really worked at least for my HW setup or the one at Phase5 back at the time. And we really fooled around for months trying all kinds of nonsense to find some magic software fix.
    I don't remember what the flaw was in the design but the scsi module just was not reliable as it mangled random bytes during the transfer. If you got it working by changing the wait state voodoo there good luck with your data.

    P.S. The whole experience with the 1200 HW was such a huge disappointment back then I haven't touched a 1200 until BlizzardPPC 1997 and that only for 3 days. I'm still pissed just thinking about the Blizzard III. Luckily the IV was a really stable design.

    RépondreSupprimer
  6. Yop,

    Il y avait... surement une excellente raison à l'accès en CHIP. le move.l a0,a0 a des vitesses d'éxecution qui varie sur chaque enfant de la famille 68k et aussi en fonction des options de cache activées.

    La question est de savoir pourquoi ce choix de tester de façon 'bidon' une adresse en chip. C'est clairement unetemporisation 'sale' mais qui a l'avantage d'etre peu couteuse à mettre en oeuvre. Avant de flasher des tonnes de otprom, je testerai un paquet de disque dur divers et varié ainsi qu'une chaine SCSI un peu complexe (plusieurs disques, réglage agressif des options SCSI, panachage 68/50, lecteur CD/DVD) histoire de voir si cette temporisation n'est finalement pas indispensable pour la fiabilité.

    ++

    RépondreSupprimer
    Réponses
    1. Tu as raison, il faut faire des tests plus approfondis...

      Supprimer

Posté vos remarques :