Obligement - L'Amiga au maximum

Jeudi 25 avril 2024 - 09:22  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Test d'iopack.library 1.04 et con.library 2.0
(Article écrit par Réginald Balès et extrait d'AmigaDP - octobre 1992)


Ces deux bibliothèques permettent de réduire les affres de l'apprentissage de l'assembleur ou du C, en offrant à l'utilisateur une interface Intuition simplifiée, qui lui offre ainsi des entrées/sorties plus explicites qu'un déploiement de registres machines, incompréhensibles pour le commun des programmeurs débutants, mortels ou pas.

Le débutant modèle standard, formé à l'école du BASIC, s'étonne de ne pas trouver d'équivalents aux PRINT, INPUT, et autres commandes fort commodes. Il se retrouve plutôt avec des notions abstraites, et avant de se familiariser avec Intuition ou la programmation du matériel, c'est la grande galère. Avec ces deux programmes, notre cobaye peut afficher textes et résultats mathématiques, réaliser rapidement un exécutable, qui aurait sinon nécessité de fastidieuses ouvertures de bibliothèques et des heures de saisies de structures ineptes.

IOPack

Ce programme n'est pas une bibliothèque proprement dite : c'est un ensemble de routines, qui restent sur votre disque, et qui s'incorporent à votre code exécutable lors de l'édition de liens, IOPack étant prévu pour l'assembleur Devpac. Pour les utilisateurs d'A68K ou autres, il faudra soit patienter jusqu'à la sortie d'une version spécifique, qui sera disponible incessamment sous peu aux dires de l'auteur, soit faire les modifications qui s'imposent (fichiers d'inclusion, etc.).

Une fois le source assemblé avec l'option "-1", histoire d'obtenir un fichier objet "prog.o" et non pas un exécutable, liez la chose avec Blink (de Software Distillery) de la sorte : "Blink from iopack.o prog.o to prog" et vous obtenez votre exécutable.

Venons-en aux routines elles-mêmes : elles sont prévues pour le débutant par excellence. Pour ne citer que les plus représentatives, MakeWindow qui ouvre une fenêtre CON, ClearWindow qui efface cette fenêtre, Setfont qui change le style d'affichage de la police (italique, souligné...), Cstrout qui affiche une chaîne de caractères, Cstrin qui est l'Input du BASIC, AskYesNo qui est une requête qui fait ce que vous avez compris, WaitForEvent qui attend la pression d'une touche quelconque et d'autres gadgets, du genre générateur de nombres aléatoires ou convertisseurs numériques.

Pour afficher un texte, on s'y prend comme ça :

INCLUDE 'IOPackDefs.txt'
LIST
main: lea windowname,a0
  jsr MakeWindow  ;Ouvre la fenêtre
  beqend
  lea text,a0
  jsr Cstrout     ;affiche le contenu de "text:"
  jsrWaitForEvent ;attend un "press key"
end: jsr exit
windowname:
  dc.b 'Ceci est une fenêtre(juré!)',0
  ;ne pas oublier le 0 à la fin des textes ou titres.
text:
  dc.b 'Voilà le texte:',13,10
  dc.b 'Une touche pour sortir' ,0

Le "13,10" signifie "retour à la ligne" et évite de devoir faire sans arrêt des jsr Newline. Relativement court, pour un source assembleur, et de plus, on n'ouvre pas la moindre bibliothèque.

La documentation est dans un anglais facile, et la mise en oeuvre des fonctions ne pose pas de problèmes. Bref, de quoi satisfaire vos instincts IOesques, le temps de se familiariser avec...

con.library 2.00

Dans le même ordre d'idée, mais avec une touche bien plus "pro", et par conséquent des possibilités sans commune mesure avec la bibliothèque de fonctions d'IOPack, con.library a été conçu pour éviter de perdre du temps dans des routines sans intérêt aucun. C'est pour cela, plutôt que pour éviter au novice des débuts trop difficiles, que le créateur a officié.

C'est donc une bibliothèque, à mettre dans votre répertoire Libs:, accompagnée d'un environnement complet pour chaque langage, Assembleur, C, Modula (!), KickPascal (!), Oberon (!). Inutile de préciser que votre serviteur n'a pas testé les en-têtes pour des langages si exotiques, pas même pour le C, qui me semble un peu pédant sur nos 68000 qui rament au possible...

L'auteur de cet excellent programme ne s'y est pas trompé, et avait d'ailleurs prévu initialement ledit programme pour l'assembleur AsmOne. Mais on peut sans peine utiliser la con.library avec DevPac et d'autres, voire avec les compilateurs cités plus haut, pour les inconditionnels. Cette bibliothèque comporte de nombreuses fonctions qui vont rendre hyper rapide l'élaboration de programmes ne nécessitant qu'une interface CON:. OpenCON ouvre une fenêtre CON:, CloseCON la ferme, DoFormat "formate" des chaînes de caractères pour les afficher avec Display dans une fenêtre CON:, DisplayRaw affiche un texte fait à la main (méthode brutale), Accept intercepte les interventions au clavier, AcceptString, idem, mais là, c'est pour les chaînes de caractères (équivalent d'Input), et d'autres, aux noms explicites, tels que GotoXY, Scroll, Convert(Hex,Bin,Dec).

A noter que, contrairement à IOPack, on peut avoir accès aux structures des fenêtres ou autres.

Le tout est très bien expliqué et illustré par des exemples qui rivalisent de simplicité, en raison de l'utilisation de macros, et d'une phraséologie claire et efficace. A ce propos, dans le paquet con.library, l'auteur a laissé traîner une sorte de guide de bonne conduite en assembleur, où il donne des conventions, censées réduire le temps de développement, et de débogage. Ça a l'air d'être très efficace à condition de s'y habituer. Toutes les documentations sont bien sûr en anglais.

Le verdict

Pour une utilisation un tantinet poussée, mieux vaut utiliser la con.library, qui offre plus de possibilités qu'IOPack. Malgré une plus grande simplicité d'utilisation pour IOPack, le débutant courageux pourra relativement vite trouver son bonheur avec la con.library, même si pour ça, il faut qu'il se préoccupe d'ouvrir la bibliothèque, et de remplir lui-même quelques structures. De plus, on peut utiliser la con.library avec d'autres langages que l'Assembleur, contrairement à IOPack.

Bref, deux bons programmes très utiles, avec un "plus" subjectif pour la con.library, à laquelle on peut reprocher de ne pas être en ROM...

Nom : iopack.library et con.library 2.0.
Développeurs : respectivement Mark Thomas et Bjorn Reese.
Genre : bibliothèques pour programmeurs.
Date : 1992.
Configuration minimale : Amiga OCS, 68000, AmigaOS 1.3.
Licence : gratuiciel.
Téléchargement : CAM 594 et CAM 608.


[Retour en haut] / [Retour aux articles]