Obligement - L'Amiga au maximum

Lundi 27 mars 2017 - 02:46  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


Bidouille : Fabriquer une réinitialisation intégrale pour Amiga 500 (Mega Reset)
(Article écrit par Christophe Tual et extrait d'A-News (Amiga News) - mars 1990)


Fini les séries de réinitialisations inefficaces consécutives à des programmes qui le bloquent volontairement et obligent à éteindre la machine. Ce mois-ci je vous propose un montage qui va vous permettre d'avoir une réinitialisation intégrale.

Une histoire de réinitialisation

Il s'agit d'un ajout visant à modifier la séquence de réinitialisation de l'Amiga. En effet, lorsque l'on appuie sur les trois touches A-A-Ctrl, la réinitialisation engendrée est différente de ce qui se passe quand on allume l'Amiga par l'interrupteur. En d'autres termes, la réinitialisation clavier est moins puissante que la réinitialisation initiale. En voici trois preuves :
  • Les virus ne sont bien souvent pas affectés par une réinitialisation clavier.
  • Pour les possesseurs d'une extension de mémoire munie d'un interrupteur 1 Mo/512 ko, une fois mis en position 512 ko, il est impossible de revenir sur la totalité de la mémoire sans éteindre l'Amiga et le rallumer.
  • Certains logiciels ou démos détournent le vecteur "Reset" (tout comme certains virus d'ailleurs...) et une réinitialisation clavier vous laisse inlassablement sur le même écran. Ici encore, la seule solution est d'éteindre et de rallumer.
Le but du montage

Alors un peu de pitié pour nos circuits car il faut savoir qu'un appareil électrique tombe en panne dans 95% des cas lors de l'allumage. Donc avec ce montage, une réinitialisation clavier...
  • Vous débarrassera de tout virus en mémoire (sauf de ceux qui se logent dans l'horloge bien sûr).
  • Vous rendra toute la mémoire dont vous disposez.
  • Vous fait apparaître le logo de départ à tous les coups (la fameuse main avec la disquette).
En définitive, tout se passe exactement comme si l'Amiga avait été éteint puis rallumé, et ce, sans avoir imposé de coupure de courant à nos précieux circuits !

Pour comprendre le fonctionnement théorique, il faut regarder ce qui se passe lors d'une réinitialisation. En effet, après une réinitialisation, le 68000 cherche l'adresse du premier ordre à exécuter à l'adresse 4 (en mémoire Chip) qui tient lieu de vecteur. Seulement ce vecteur ne pointe pas systématiquement sur la routine de réinitialisation en ROM (et peut donc être facilement détourné : voir les virus...).

La solution utilisée par l'Amiga est la suivante : il existe un signal OVL issu du CIA-B (port A, broche 2) qui, de par son état, va modifier la configuration mémoire de l'Amiga par le biais de Gary comme suit :
  • OVL à l'état 0 : c'est la configuration normale où on trouve la mémoire Chip de $000000 à $07FFFF.
  • OVL à l'état 1 : utilisé lors de l'allumage de la bécane, on a alors la zone de mémoire Chip citée plus haut qui est masquée par la zone de ROM de $F80000 à SFFFFFF.
Il faut par conséquent faire en sorte que le 68000 se dirige toujours vers la vraie routine de réinitialisation qui se trouve en ROM. Il faut donc que la réinitialisation clavier masque la mémoire Chip par la ROM afin que le 68000 trouve son vecteur de "Reset" à l'adresse $F80004 et non en $000004.

Montages

Le montage de la figure 1 va donc intercepter le signal OVL entre CIA-B et Gary et lui imposer un état haut pendant le temps que va durer la routine de réinitialisation en ROM (la vraie !) puis va remettre la ligne à l'état bas pour que l'on puisse disposer de la mémoire Chip normalement et le tour est joué. L'interrupteur mentionné sur le schéma permet de choisir entre la réinitialisation classique et la réinitialisation intégrale (que j'ai nommée "Mega-Reset").

Mega-Reset
Figure 1

Enfin, vous trouverez sur la figure 2 le chronogramme du circuit et sur la figure 3 un exemple de montage des fils sur Gary à l'aide de deux autres supports, et le tout sans soudure sur la carte mère.

Mega-Reset
Figure 2

Mega-Reset
Figure 3

Dernier détail qui a son importance : ce montage est temporisé pour un Amiga 500 possédant une extension de 512 ko. Il faudra revoir la temporisation de la deuxième partie du circuit (produit RC) pour une autre configuration. Mais le montage fonctionne indifféremment avec les ROM 1.2 et 1.3.

Ceci dit, longue vie à nos circuits et bon amusement !


[Retour en haut] / [Retour aux articles]