| ★ APPLICATIONS ★ DIVERS ★ S.A.O / I.A.O / C.I.A.O (RADIO-PLANS N°482/484/485) ★ |
| S.A.O / I.A.O / C.I.A.O Cadeaux ... (Radio-Plans n°482) | SAO sans merge, et sans le 8e bit sur 464 et Co. (Radio-Plans n°484) | I.A.O / C.I.A.O v2 (Radio-Plans n°485) |
Une méthode simple pour faire de la place dans des ficMers basic, un SAO sans merge (les 40 dessins à accès immédiat), des hardcopy ne nécessitant pas la modification hard « 8 bits », la nouvelle norme logique sans SAO, un lanceur pour tous les fichiers, l'assassinat d'un bug vicieux... voilà en bref le contenu des pages qui suivent.Informations Après la parution du numéro de janvier dernier, un tollé général des possesseurs de 464 fut lancé (parfois même de avec agressivité !), sur la ligne directe de l'auteur : « N'y a-t-il pas possibilité d'améliorer SAO pour approcher de la version TURBO ? », « Publierez-vous les listings de la version TURBO?», « Mon revendeur m'interdit de procéder à la modif 8 bits qui ne marche soit-disant pas », « Je viens d'acheter mon AMSTRAD et si je modifie quoi que ce soit, je perds la garantie. 'Que faire pour conserver malgré tout l'échelle dans CIAO ? », etc... Le courrier non plus n'est pas resté muet, mais lui ne réveille pas à 11 H du matin quand on s'est couché à 10 H ! Il est vrai que nous avions omis de préciser d'appeler le soir, ou mieux la nuit (passé 23 h). Avant d'aller plus loin, merci à tous ceux qui ont eu la gentillesse de présenter aux auteurs leurs vœux pour 88. Nous répondrons à chacun, mais ne croyez pas à de la négligeance ou à l'indifférence si vous recevez une lettre en mars ! Quelles modifs ? Il est vrai que l'étude entreprise pour la version turbo sur 6128 a apporté des éléments adaptables aussi sur 464. Ainsi, le grappin planté dans Alain CAPO pendant les vacances de Noël lui a fait mal, mais pour le bien de tous : plus besoin de modifier les machines pour profiter de tous les avantages (et même plus !) du 8e bit. Notez pourtant une dernière fois que la modif est sans danger si elle est faite correctement (coupure à ras de la broche 9 et non après la pastille métallisée qui force au 0 Volt). Si il n'est plus indispensable de l'effectuer pour SAO etc., elle apportera parfois des possibilités très intéressantes à vos applications personnelles. Bref, on ne touche à rien, sinon au clavier pour taper les listings : Bit 8, affaire classée. Pour le MERGE (ralentissant considérablement l'accès aux polices) il faudra se rappeler de la procédure miracle donnée ci-après, et adapter les fichiers. La correction a été faite pour SAO, et nous publions le nouveau listing ainsi qu'un nouveau lanceur, un nouveau PLUS et les deux nouvelles hardcopy. Le mois prochain, vous compléterez par IAO et CIAO. En effet, dans CIAO, de nombreuses améliorations telles que sécurité des saisies, rotation des 41162, impression de contrôle ech 1 intégrée, etc..., apportent un confort bien supérieur à la première version. Un bug rôde, sordide et perfide. Personne ne l'a signalé, mais nous l'avons rencontré... Au cours d'un essai de la version TURBO, nous tapions, tranquilles, nos 4 pages de texte quand au détour d'une sauvegarde nous fûmes sauvagement agressés par un « LINE DO NOT EXISTIN... » ! La bataille fit rage une nuit tout entière, contre l'escroc sournois qui -« foutait » tout en l'air., (lire ces Alexandrins avec le ton qui convient s'il vous plait !). Le lendemain seulement notre compère STOFFEL, trouvait la solution et tuait le fourbe et cruel. Il traîne dans l'ALPHA sur-util-sé, et même si Monsieur STOFFEL fit la remarque que SAO n'est pas un traitement de texte, il fallait que « ça marche » quand même dans toutes les positions. Notez qu'il est fort possible que personne n'ait ressenti les méfaits de l'alphanumérique, car c'est en remplissant 4 écrans sans faire appel à d'autres dessins que le phénomène s'est manifesté : chaque caractère abaisse le stock de mémoire disponible jusqu'à l'user au point de planter allègrement. La solution a consisté à introduire une fonction ménage de la mémoire, à la fois dans la boucle de travail (les déplacements aussi auraient tendance à produire le même phénomène, mais plus lentement), et dans la fonction ALPHA. Ainsi, la réserve disponible pour travailler cherche perpétuellement à se stabiliser autour d'une valeur optimum. Pour ce qui concerne les listings de la version TURBO, il n'est pas envisageable de les publier sans déplaire aux lecteurs qui ne se sentiraient pas concernés, car à titre d'exemple, il fau- drait multiplier par 8 environ les listings fournis dans ces pages. De plus certaines commandes abrégées ne seraient pas lista-bles et devraient être converties en « traditionnel », modifiant de ce fait la réserve de mémoire disponible. Le fichier SAO listé plus loin fait 18 Ko. SAO turbo fait appel à 4 fichiers de 35 Ko en moyenne et CIAO, deux de 25 Ko, plus les fichiers binaires modifiés, aux joyeux DATAs... Celà vous donne une idée de l'ensemble. De plus, le mode d'emploi détaillé (indispensable à une bonne utilisation d'un logiciel), comportera plus de 25 pages. A moins que la rédaction de RADIO-PLANS ne l'exige sous la menace, c'est hors de question. NDLR : mais elle ne le fera pas ! Il est amusant de noter d'ailleurs que les performances annoncées en janvier sont largement dépassées (plus de merge du tout sur les 80 polices, ZONARD incorporé dans CIAO, les inversions se font maintenant dans la zone saisie), impressions programmables, réduction de contrôle des 4 écrans, agrandissement d'un écran en 4 (donc possibilité d'imprimer échelle 4 ou de passer IAO à l'échelle 2 et d'écrire dedans ech 1..) mode permutation, grille au pas de 1.27 dans CIAO, permettant aussi d'introduire un mode rapide de COPY, etc...). Bien sûr, toujours le hors pas qui fait rêver beaucoup de monde par sa simplicité : deux pastilles doivent être espacées de 5 cm ? A la question espacement (fois 1.27), il suffit de répondre par 39.37 (50/ 1.27 = 39.37) et c'est fait ! Puisque nous parlons de logiciel, permettez deux remarques :
Dans RADIO-PLANS cette année, HARD et SOFT pour AMSTRAD, devraient vous surprendre agréablement. Méthode Il est bien évident que nous n'allons pas ici reprendre tous les points qui ont conduit au fonctionnement de SAO et Co. Seuls les nouveaux listings seront intégralement donnés, et quelques indications précieuses indispensables, comme la méthode de saisie. Car il ne faut pas tout retaper ! Voyons donc comment procéder : 1. Faire le ménage... En effet, la saisie d'un listing est sujette à de nombreuses variantes, fonction des individus et des procédés utilisés pour accélérer la manœuvre. Ainsi, PAUL et PIERRE saisissant le même fichier peuvent parfois constater des écarts d'occupation mémoire allant jusqu'à 10 %. C'est parfois trop, et un lecteur ayant tapé CIAO s'est vu obligé de retirer la fonction SHADOW pour quitter le MEMORY FULL. Voici une méthode simple, un peu longue (quelques minutes !) mais très efficace
Attention, votre fichier qui faisait 18 Ko peut passer à 25, c'est normal, mais prévoyez une disquette disposant d'assez de place.
Pour constater l'effet, faites un reset, puis load « CIAO+E2.SCH », et PRINT FRE (0) : la différence entre le nombre affiché et celui que vous aviez noté avant correspond à l'économie réelle. Une photographie vous montre l'expérience faite sur une disquette SAO TURBO : 5 Ko (disc) de gagné ! Qu'a fait le POKE MIRACLE ? Il a supprimé tous les espaces inutiles à la syntaxe. Ainsi, un A)4 THEN devient A)4THEN : c'est un octet de gagné. Si vous reprenez une ligne par copy, et que pour aller vite vous débordiez de la ligne de 5 espaces, c'est 5 octets de perdus, invisibles, sauf pour POKE et AC00,1. ATTENTION, nous n'avons rien inventé, mais cette instruction que l'on conseille parfois à l'écriture du programme, ne trouve sa pleine dynamique que dans la méthode décrite ci dessus, car elle permet de saisir à sa convenance, de faire des RESET, des RUN, des modifs, puis enfin le ménage. Autrement, après chaque RESET il faudrait retaper le POKE, et ce serait lassant. Les REMS ou (') sont parfois de trop. Elles permettent une plus grande clarté du listing, mais occupent de la place. Pour les retirer c'est simple, mais il faut veiller à ceci : Supposons 10 GOTO 1000 La ligne 1000 est une rem qui prend de la place en mémoire et qui ne sert à rien dans l'exécution du programme. Supprimons-la. Aïe, un RUN donne cette fois un LINE NOT EXIST IN 10 ! C'est normal, le GOTO devrait être passé à 1005. Comment faire vite et bien ? Supprimez les REM, puis lancez le logiciel. Quand un message LINE NOT EXIST IN.. s'affiche, faites un list de la ligne indiquée (dans l'exemple LIST 10). Puis list du ou des GOTO (GOSUB) de la ligne. Ici, un LIST 1000 donne READY. Donc 1000 n'existe plus. Faites alors list 1000- et arrêtez vite le défilement, car la ligne qui nous intéresse est celle qui suivait immédiatement 1000, donc 1005 et tout rentre dans l'ordre. D'accord, ce serait aux auteurs de ne pas faire appel à des REM ou encore de ne pas en mettre I Mais (et votre courrier en témoigne) vous aimez comprendre un peu comment ça marche (ne pas taper bêtement...) et les auteurs ont bien besoin de REM pendant le développement. D'accord aussi pour le fait que le RENUM n'existe pas pour les chiens, mais c'est trop facile ! Oh oui, tiens, un RENUM maintenant juste avant de vous donner les listings, voilà une bonne façon de jouer les SUPERMEN : plus aucun repère, tout à retaper, rien pour comprendre les modifs. Nous ne mangeons pas de ce pain là, et vos encouragements nous incitent à persévérer dans ce sens. ATTENTION : En voulant effacer les REM, on peut aller trop vite et fElire par exemple 330 ENTER au lieu de 3300 ENTER. Dans ce cas, si la ligne 330 est encore sur l'écran, la reprendre par COPY sinon noter sur papier « 330 ». Il suffira d'aller rechercher ensuite la ligne dans une ancienne version, pour la réinserer. 3. Ménage (fin ?) Tout ce qui vient d'être dit peut s'appliquer à tous les logiciels que voxis concevrez ou avez conçu, à l'exception les protégés auxquels nous n'avons pas à toucher (certains « planquent des trucs » dans les REM) .Eh ce qui nous concerne, on peut aller plus loin, et c'est cé que nous avons fait : ainsi, NLEC ! = et XXXX et COB ! = etYYYY sont deux variables qui, si elles ne sont pas utilisées plus de 3 ou 4 fois, peuvent disparaître totalement et POKE NLEC !, 1 devient POKE et XXXX.1. C'est plus direct, plus « rapide », et surtout moins encombrant (mais moins lisible !). Pour les fameux POKE com-mut !, 0 : CALL trans ! et POKE commut.l : CALL trans !, nous avons fait un GOSUB 2 et GOSUB 3 très économique (environ 400 octets par logiciel). Nous pourrions aller au delà et donner des astuces pour les IF.. THEN comme : 10 IF x = 1 then 30 que l'on peut remplacer par : 10 IF x = 1 then PRINT « X = 1 » ELSE PRINT « X() 1 » où 20 et 30 s'en vont. Tout ceci a été utilisé, rendant les logiciels moins lisibles mais plus performants. Ne vous laissez pas abuser par de nouvelles ügnes : ce ne sont que des simplifications ou alors des modifs, et dans ce cas vous les détecterez vite, et comprendrez aussi vite leur raison d'être. Pour les débutants, voici la raison différenciant un GOSUB 10 d'un GOTO 10 : un GOSUB fait revenir (après RETURN) à la suite de la ligne. Un GOTO envoie à une ligne et lui laisse ensuite la main. Donc si une ligne comporte un GOTO 10 et une autre GOSUB 10, c'est que la première profite du RETURN pour conclure, alors que la seconde doit terminer sa tâche avant un RETURN final qu'elle donnera elle-même en temps voulu. Un exemple : 10 Print « on est pressé » : RETURN 1000 GOSUB 10 : RETURN Il faut écrire 1000 GOTO 10 Celà, vous le rencontrerez souvent pour les envois à 2 et 3 (POKE comut ! X, CALL trans !) 4. COB ! NLEC ! changent. L'auteur ne touche pas aux précieux fichiers binaires de' ses amis, mais il râle quand ceux-ci choisissent des adresses qui contiennent des indications précieuses, uniquement 'sauvegar-dables par déclaration d'une variable. C'est le cas rencontré pour COB ! et NLEC !. Restons simples : COB !, c'est la Couleur du Border et NLEC !, le Nombre de LECteur(s) de disquettes. Ces indications viennent du lanceur (ce sont vos choix), et deux adresses contiennent des valeurs appropriées en fonction de vos réponses. Puis le BASIC du lanceur est effacé afin de laisser place au programme par lui-même, qui lui, récupère les valeurs sauvegardées afin de les convertir en variables dès le début, et donc avoir souvenance de vos choix. Parfait ! Seulement si plus loin, le logiciel utilise ces adresses, seules les variables conservent vos options, et si vous faites BREAK — une modif — RUN, plus de mémorisation des choix ! . Econome OUI, mais pas radin. Pour deux octets, on peut se simplifier la vie : & A625 & A626, personne n'y touche, même la SOURIS de Monsieur MAESTRI ! Alors ne vous étonnez pas de ce changement bien simple et tellement plus sympatique pendant les essais. 5. Plus besoins du 8e bit ? Pourquoi avoir imposé une modif 8 BITS alors que ce n'était pas indispensable ? Parce que nous sommes comme vous : Chaque jour apporte un petit plus à notre façon de voir les choses et tout peut (doit) être remis en question à chaque instant. Ainsi, notre ami A.CAPO a planché sur une hard-copy 6 BITS, plus lente, traitant les 640 points horizontaux en deux fois 320 et donc compatible AMSTRAD. Il y est arrivé (le bougre), et un pas de plus était franchi. Comme il lui restait 5 minutes à perdre, il a créé un fichier « ALLCOPY » que votre serviteur s'est empressé de lui faire convertir en « plus V2 ». Afin de comporter l'option REDUCTION-SAUVEGARDE de TTO et éliminer ce fichier devenu inutile puisque toutes les autres options étaient intégrées dans SAO et CIAO. Les lecteurs de RADIO-PLANS intéressés par cette fonction se souviennent peut-être du n° 469 où nous vous avions déjà proposé un programme de copie d'écran pour AMSTRAD CPC et imprimantes compatibles EPSON. Ceux qui l'utilisent se sont sans doute rendu compte de quelques défauts. Par exemple, l'impossibilité d'imprimer la dernière ligne à droite. C'est qu'imprimer en 7 bits n'est pas des plus évidents. En effet, 7 n'est pas un nombre pair... Puis nous trouvâmes le 8e bit, jusque-là perdu dans le câble en nappe. Cette découverte nous permit d'accéder aux joies de la simple densité sans défaut, du rattrapage d'échelle, et de la réduction éch : 2/ éch : 1. Et nous nous fimes un plaisir de vous communiquer cette liesse dans RADIO-PLANS à travers SAO, CIAO et TTC). La seule ombre au tableau était que la récupération de ce 8® bit nécessitait une légère modification de l'ordinateur. Et certains d'entre vous nous ont avoué hésiter à franchir ce pas : risque de mauvaise manip, perte de la garantie... PLUS V2 résoud le problème. Cette utilitaire propose des RSX destinées à imprimer des déssins réalisés en mode 2. Elles fonctionnent toutes en 7 bits, donc sans modification de l'ordinateur et conservent tous les avantages de l'impression 8 bits. Elles permettent d'effectuer une ou plusieurs passes sur une même ligne afin de compenser un ruban fatigué. Ce programme s'adresse donc à tous les possesseurs d'un AMSTRAD CPC et d'une imprimante compatible EPSON. Bien sur, les utilisateurs de SAO et CIAO vont pouvoir remplacer COPY-8B.SCH ET IMP-CIAO.SCH (qui exigeaient 8 bits) par de nouveaux fichiers remplissant exactement les mêmes fonctions : COPY.SCH et IMP-CIAO.SCH. Les cinq modes d'impressions de PLUS V2 sont :
Vous voilà informés pour l'essentiel. Passons maintenant à la pratique. Schema.SCH La figure 1 contient l'intégralité du fichier. Plus de COL-3 à 5, ils sont inclus dans SCHEMA.SCH. Nous vous conseillons de sauver ce fichier et les suivants sur une disquette système vierge. Nouvelle norme Si vous tapez les données de la figure 2 à la place de celles existantes dans le fichier précédent, les symboles logiques seront représentés avec le nouveau graphisme en vigueur. La figure 3 vous montre le résultat obtenu. Nouveau lanceur Il est donné à la figure 4 et permet d'accéder aux 5 programmes (SAO.IAO.CIAO.ZONARD et PLUS V2). Pour le lancer, faire RUN ”AC” Pensez à vous faire des écrans de présentation ou alors supprimez la ligne 345. Plus. bas La figure 5 donne ce fichier. Les REM situées entre 2 et 9 peuvent; ne pas être tapées, mais vous serons peut-être bien utiles un jour, comme la 8 qui vous dit comment sauver le fichier binaire (quand celui-ci est installé !) Plus, bin Les DATAs sont listés figure 6, et un nouveau détecteur d'erreur a été implanté. Si dans certaines conditions il ne donne pas automatiquement la ligne exacte, il suffit de faire PR1NT CP, pour qu'elle soit affichée. Comme d'habitude, RUN jusqu'à ce que le message de sauvegarde apparaisse (au bout d'une dizaine de seconde). Vous pouvez maintenant faire RUN « PLUS » (après un reset). L'écran conclut par READY. Tapez D2,3 et vous obtiendrez la figure 7. C'est la double densité, triple passes avec un ruban HS... Copy.dat et impciao.dat Ces deux fichiers de Hardcopy complètent la nouvelle disquette : l'un pour SAO et IAO (simple — double densité) l'autre pour CIAO (ECH2 — ECH1). Tous les "deux ont le nombre de passes programmables. Ils sont donnés aux figures 8 et 9 et bénéficient également du nouveau détecteur d'erreur. Conclusion Le travail effectué astucieusement (réfléchir d'abord sur papier avant de foncer sur le clavier) devrait vous permettre d'accéder à un sympathique logiciel sur 464. Vous disposez ici du lanceur, de SAO, PLUS V2, et des deux hardcopy spécialisées. En préparant bien le travail, une journée devrait suffire pour tout mettre à neuf. Le mois prochain, votre disquette sera complète, et vous vous demanderez comment vous avez pu vous satisfaire de la précédente, qui pourtant vous avait déjà enchanté ! Alain CAPO et Jean ALARY Note de dernière minute de J. Alary : J'ai eu du mal à tenir les cadences de corrections (environ 30 par semaine plus une vingtaine de lettres) aussi je me vois obligé de donner une limite temporelle à ce service gratuit : à partir de fin mai, il sera désactivité. Cela vous aura laissé 10 mois pour saisir quelques Ko, ce qui devrait être suffisant. Cette mesure concerne SAO...CIAO, mais la formule sera réinstaurée pour les autres logiciels publiés ultérieurement, car elle vous a, semblerait-il, bien plus ! J.A |
| ![]() |
|