22 DISQUffiES ET MINI DISQUffiES TOUTES CONFIGURATIONS - Certification unitaire 100% sans erreur. - Durée de vie : 30 millions de révolutions (standard de l'Industrie 3,5 millions de révolutions). - Anneau de renforcement en standard sur le 5 1/4 ". - 5 1/4 " en 48 et 96 TPI, simple et double face. Importateur exclusil : BFI ElECTRONIQUE - 9 RUE YVART - 75015 PARIS. Tél. 533-01-37. <strong>Pom's</strong> n 9 l
Deux méthodes sont a priori envisageables pour réaliser un programme de puzzle sur micro-ordinateur. La première serait une présentation des pièces morceau par morceau; en d'autres tennes, J'Apple afficherait successivement de façon aléatoire chaque case du dessin et attendrait que le joueur <strong>la</strong> situe correctement sur l'original. La seconde, qui vous est ici proposée, affiche J'ensemble des pièces mé<strong>la</strong>ngées et vous <strong>la</strong>isse le soin de remettre les choses en ordre. Un premier conseil : ne vous <strong>la</strong>issez pas effrayer par <strong>la</strong> difficulté apparente du problème. Le monde peut se reconstituer en moins de deux heures, je l'ai fait ! 120 morceaux sont à remettre en p<strong>la</strong>ce ; ce n'est pas <strong>la</strong> mer à boire. Aussi, pour corser <strong>la</strong> difficulté, l'Apple va tester votre mémoire visuelle et votre sens de l'analyse en comptant soigneusement le nombre de vos recours au dessin original. Il ne vous <strong>la</strong>issera d'ailleurs que quelques secondes pour 1'0bseIVer et, lorsque le puzzle sera intégralement reconstitué, il vous gratifiera de quelques qualificatifs que vous aurez sans doute mérités et qu'il vous appartiendra d'interpréter. En ce qui concerne le programme lui-même, il n'y a que deux parties importantes : mé<strong>la</strong>nge des morceaux et affichage, puis attente des directives du joueur. Mé<strong>la</strong>nge et affichage Le mé<strong>la</strong>nge et l'affichage se trouvent aux lignes 800 à 930 (ou 935 pour <strong>la</strong> couleur) du programme BASIC, qui renvoient aux lignes 100 à 140 dans lesquelles est exécuté l'appel au sous-programme en <strong>la</strong>ngage-machine imp<strong>la</strong>nté de 8460 â 84C3. Ils utilisent une zone de mémoire tampon située â l'adresse 17232 correspondant â J'adresse initiale d'un morceau d'écran p<strong>la</strong>cé en bas et à gauche sur <strong>la</strong> page HGRZ. Une fois le mé<strong>la</strong>nge effectué, le traitement d'affichage prend le premier morceau d'écran qu'il met en mémoire tampon (17232), puis le second qu'il met à l'adresse du premier, puis le troisième qu'il met à <strong>la</strong> p<strong>la</strong>ce du second, et ainsi de suite jusqu'au 120ème, après lequel il reprend le premier <strong>Pom's</strong> n° 9 Reconstituez le puzzle pour le mettre à l'adresse du 120ème. La boucle étant ainsi bouclée, c'est alors â vous de jouer. Attente des directives Les lignes 1000 à 1030 du programmme correspondent à l'attente de vos directives. Les deux morceaux qui se trouvent échangéS par ces dernières transitent toujours par <strong>la</strong> zone tampon et <strong>la</strong> routine en <strong>la</strong>ngage-machine. Conception du programme Le programme peut traiter n'importe quel dessin enregistré sur disquette. Il uti lise des modules en <strong>la</strong>ngage machine dont vous trouverez plus loin <strong>la</strong> récapitu<strong>la</strong>tion et qui assurent les fonctions suivantes : 1) Module ONNER-128 - 300 à 309 : routine de ONNER GOTO (cf page 124 du manuel de l'Applesoft). - 30A à 32B : mise à zéro des octets qui sont à 128. Sans cette routine, le programme, qui fait pour sa part <strong>la</strong> différence entre les 0 et les 128, n'annoncerait jamais que le puzzle est entièrement reconstitué. 2) Module TRANS - 8000 â 802B : transfert de <strong>la</strong> page HGR à <strong>la</strong> page HGRZ. - 8030 à 8417 : shapes HGR contenant \' alphabet, les chiffres, le point, le point d'exc<strong>la</strong>mation et l'étoile. - 8418 à 8443 : comparaison des deux pages HGR, octet par octet, pour savoir si le puzzle est reconstitué. - 844D à 845F : musique. - 8460 à 84C3 : échange des morceaux du puzzle. - 8500 à 872A : routine de chargement rapide de fichiers binaires de Jacques Tran-Van (cf <strong>Pom's</strong> 4). Remarques sur le programme en Applesoft : - Ligne 100 : BI, 82, Cl et C2 sont les parties hautes et basses des adresses de début de chaque mor- Joël Lecoeur ceau du puzzle. Elles sont p<strong>la</strong>cées aux adresses 250, 251, 252 et 253 pour <strong>la</strong> sous-routine d'échange des morceaux. - Ligne 300 : cet échange nécessite une zone tampon, d'où les 3 appels â <strong>la</strong> sous-routine. - Ligne 400 : début du programme. - Ligne 498 : CALL -31488 <strong>la</strong>nce le programme de chargement rapide. - Ligne 500 : c'est ici que commence le programme pour un nouveau dessin. - Ligne 560 : appel du module de transfert d'image. - Ligne 600 : effacement des zones d'écran nécessaires et mise en p<strong>la</strong>ce des coordonnées. Puis mise en p<strong>la</strong>ce de l'Image finie sur <strong>la</strong> page 1. - Lignes 800 à 930 : mé<strong>la</strong>nge des morceaux et affichage. - Ligne 890 : adresse de début de <strong>la</strong> zone tampon. - Ligne 915 : possibilité d'interrompre le programme pendant l'affichage par CTRL-Z. - ligne 940 : effacement de <strong>la</strong> zone tampon sur HGRZ. - ligne 980 : affichage de l'étoile sur HGR. - lignes 1000 à 1030 : le programme attend 4 données représentant les coordonnées des pièces à échanger. Accessoirement, il traite les erreurs d'entrée, émet sons et cloches, et autorise le passage au dessin original ou aux règles du jeu. - ligne 1040 : transfonnation des 'coordonnées en numéros pennettant <strong>la</strong> recherche des DATA correspondants. - ligne 1100 : B(El) et B(Cl) sont les adresses des deux morceaux qui vont être échangés. - ligne 1120 : effacement de l'étoile sur <strong>la</strong> page puzzle et effacement de <strong>la</strong> zone tampon sur <strong>la</strong> page de l'original afin de voir si <strong>la</strong> reconstitution est terminée (CAU. -31720). - ligne 1150 : remise en p<strong>la</strong>ce de J'étoile. - ligne 1160 : si ]' adresse 254 est à zéro, c'est gagné 1 - ligne 1200 : flip-flop entre les deux pages.