Obligement - L'Amiga au maximum

Samedi 19 août 2017 - 01:54  

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


Contact

David Brunet

Courriel

 


Programmation : GFA Basic - gestion des disquettes
(Article écrit par Pierre-Philippe Launay et extrait d'Amiga News - mai 1991)


Ce chapitre permet de mieux comprendre les accès d'écriture et de lecture de la disquette. Le bout de code présenté ci-après nous demande avant tout quel est notre type de lecture puis il en vérifie la bonne moralité. Il marque alors de son sceau "Lu et approuvé" et comme tout censeur qui se respecte, il ne respecte rien et détruit l'original.

En fait, il y a bel et bien trois erreurs dont la première est une simple faute de syntaxe. Pour vous aider, je précise que tout se passe avant la boucle "REPEAT...UNTIL". La deuxième erreur est plus fine et s'avère au contraire un avantage quand on maîtrise bien le langage. Cette deuxième erreur est répétée puis arrive la troisième erreur, tout à fait impardonnable mais un "!" (point d'exclamation) permet de sauter par-dessus.

Je vous accorde que cette dernière erreur n'est pas évidente tant que n'est pas présente la routine "test.répertoire" mais un peu de logique et surtout les commentaires et les noms en français permettent malgré tout de la déceler.

Pour confirmer vos soupçons, je vous indique que la deuxième erreur s'avère désastreuse pour un programme dépassant 32767 octets. En effet, GFA distingue six espèces de farfadets selon la longueur de leur heu...structure :
  • (1) Le BOOL! -1 à 0
  • (1) Le BYTE! 0 à 255
  • (2) Le WORD& -32768 à 32767
  • (4) Le LONG% -2147483648 à 2147483647
  • (8) L'EXPO# 2.225073858507E-308 à 3.595386269725E+308
  • (n) Le TEXT$ 0 à 32767 lettres
Plus c'est petit, plus c'est rapide mais nous verrons que l'on peut ruser. La routine "test.info" permet de tester l'état de la disquette insérée. Notre logiciel n'acceptera ainsi que le format AmigaDOS. Le principe d'utilisation d'une routine du système d'exploitation se révèle donc particulièrement simple sous GFA. La Bible de l'Amiga de chez Micro Application nous indique que la routine "Info" utilise une structure de 36 octets : on réserve donc 36 octets. La position relative 8 à 12 montre l'état de la disquette (DiskState) tandis que la position relative 24 à 28 montre l'état (DiskType).

Bien. Supprimez la ligne "VOID MFREE" et lancez le programme : rien ne semble modifié et pourtant, nous venons de créer un virus de l'espèce octetophage. En assembleur, cela correspond à un AllocMem sans le FreeMem. Ça marche jusqu'à ce que trop de mémoire soit grignotée. Et après, trop c'est trop : on se convertit à Krishna et quel triste résultat ! Voyez donc Guru Nicholas Chertier et ses Félés. Ainsi, c'est une excellente protection pour les programmes de démonstration ou l'erreur par excellence des programmeurs de PC. Ah, si tout avait été conçu comme un Amiga, c'est pourtant simple de ne pas se tromper : il suffit de laisser en partant les lieux aussi propres qu'on les a trouvés en entrant. Sinon ça golfe à tous les coups.

GFA Basic


[Retour en haut] / [Retour aux articles] [Article précédent] / [Article suivant]