Text content (OCR)
BIMESTRIEL
Le numéro : 30 F
Abonnement d'un an 150 F
{5 numéros}
EDITIONS JIBENA
Direction-Rédaction :
Editions JIBENA
Guy-HACHETTE
la Petite Motte — Senillé
86100 CHATELLERAULT,
Téléphone :
(49) 93-66-66
PUBLICITE +
Joatie (méme numéro)
Commission paritaire :
Demande en cours.
D’abord déroutant,
puis absolument captivant
A PROGRAMMATION vous tente, mais vous parait d'un
accés difficile. Ce que vous en savez déja comporte un
aspect déroutant...
redoutez |'échec.
Je ne vais pas vous dresser, ici, un tableau idyllique de l'appren-
tissage du Basic, et moins encore de celui de l'assembleur. L'un et
lautre exigent en effet un effort personnel et, surtout, la volonté
de bien en assimiler |'abc.
Aucune revue — et la pédagogie, mot arrangé 4 toutes les sau-
ces, n’a rien 4 voir la-dedans — ne fera de vous, simple débu-
tant(e), un(e) champion(ne) de la programmation... si vous n'y
mettez pas (un peu) du votre.
Mais, croyez-moi — et je ne m'adresse ici qu’aux débutant(e)s —
l'effort se révéle toujours payant.
Bien des satisfactions sont réservées a celles et 4 ceux qui, inlas-
sablement, alignent les précieux octets sur leur écran.
Cela vaut pour le Basic et pour l‘assembleur, mais plus encore
pour ce dernier, tout 4 fait incompréhensible quand on en ignore
les principes, mais super-puissant et rapide quand, aprés bien
des tentatives infructueuses, on parvient 4 le dompter.
Mais pourquoi programmer, alors que tan‘ de génies produisent
des logiciels et progiciels autorisant toutes les fantaisies ? Peut-
tre, tout simplement, pour ne pas mourir idiot !
Notre intellect, passif devant l'audiovisuel, habitué aux stéréoty-
pes et aux informations prédigérées, ressent inconsciemment le
besoin de se libérer, d’abord en luttant pour comprendre, ensuite
en tirant le meilleur protit de ce qu'il a réussi 6 dominer.
Bonne programmation, et rendez-vous le 20 septembre dans le
numéro 4 de Tremplin Micro.
sinon inquiétant. En clair; vous
GUY-HACHETTE.
TREMPLIN MICRO
scennneneneenseenunnenseeresEERERnUesnEseSEeRUESRANTeeNeTSATEEERAE ESTAS TeSSASE SSNS TL ATT EAU E LEANN EEE SEES
Sommaire 3
Jouer sur un Apple
© La Personne X ........-+. 7
Wi QUGSEERE occsssienceessees se 38
© Ouvrez l'oeil ............ 52
Jeu du numéro 2
Coder ou décoder ? ...,.05500s5005 13
Initiation
* Générateur
de programmes ........-
Une
autre
maniere
de
visualiser
vos nombres
Les Lectrices et Lecteurs de Tremplin Micro
ont beaucoup aimé les HISTOGRAMMES et
DIAGRAMMES. Voici les VISUBLOCS
PROGRAMMES UTILITAIRES
@ Boutabout ......-5.---2 ee ei vee 30
® Ecrans condensés ........---. 6-555 36
® Lignes Data ov de Pokes ......---.- 55
LANGAGE MACHINE
* Saisie d'un texte .....-.--.5 eee eee 45
+ Les variables en mémoire ......-5.- 46
LISEZ AUSSI :
®@ Partez en voyage avec Max .......-. 12
® Découvrez l'Assembleur -.........- 15
® Dessine-moi un cercle -. wdewnee 47
® Quelques notes pour votre Apple Wanita
Sits b So ehbem © wee FRED ea ||
© Votre fiche n°S:,....----.+++ ee!
* Le courrier des lecteurs ....-.-..+-- 7
* Bulletin de commande
et d'abonnement ......---.+ FNAL |
Le numéro 4 de
paraitra le 20 septembre.
UTILITAIRE
APPLE He
APPLE lc
Créer des écrans
sur 80 colonnes 2
Bien sir que c’est possible !
OURQUO! ALLONGER démesurément certains de vos programmes, alors qu'il est tellement
commode de stocker, x pages d'informations sur la disquette ? Cela est possible avec
''écran normal (40 colonnes), et nous avons vu comment dans le numéro | de Tremplin
Micro, mais vous disposerez désormais des mémes facilités sur 80 colonnes.
Le programme que nous vous proposons fonctionne sur un Apple /le équipé d'une carte 80 colonnes
(64 ov 128k).
Lo version destinée & l'Apple /ic comporte un certain nombre de modifications (récapitulées page
11), ainsi qu‘un sous-programme supplémentaire, en langage machine (lire page 11).
=)
Commencez par taper la routine ECRANS.LM,
différente suivant le matériel dont vous dispo-
sez. Elle trace instantanément, et sur 80 colon-
nes, un cadre en mode inverse, mais alle ne
fait pos que celo (les pages 5 et 6 vous la décri-
vent), Mémorisez cette routine par un
BSAVE ECRANS.LM, AS$300, LS9D ou
BSAVE ECRANS.LM, A$300, L$9C pour le Iic,
Passez ensuite 4 Ia partie la plus importante
du travail : le programme en BASIC.
Dans un premier temps, ajoutez provisoire-
ment une ligne 55 GOTO 80 qui vous évitera
de recharger ECRANS.LM lors de vos essais (il
restera en mémoire si vous n'éteignez pas
votre micro, et si vous ne l'écrasez pas avec
une autre routine, occupant les mémes adres-
ses), et escamotera également le chargement
de ECRCI et ECRC2 (encore inexistants).
Tapez minutieusement toutes les instructions,
en les vérifiant au fur et @ mesure.
Sauvez votre programme @ plusieurs reprises
(ESSAI.1, ESSAI.2... ou TOTO.1, TOTO.2, etc.).
Quand vous estimerez que votre travail est
bien avancé, copiez aussi sa derniére version
sur une outre disquette. Ces précautions vous
éviterons de réécrire deux fois le méme pro-
gramme... 4 la suite de quelque manipulation
contraire aux principes de votre Apple chéri.
Ne souriez pas : celo orrive !
Tenez ; je connais quelqu'un qui. aprés avoir
tapé 200 lignes de programme. s'est apercu
qu'il n‘avait pas (ou plus) le DOS. Heureuse-
ment, il lui restait la ressource du magnéto-
phone (voir Tremplin Micro numéro 2) !
Si tout fonctionne normalement, un RUN
devrait vider I'écran, afficher un cadre en
mode inverse, et un curseur en haut et a gau-
che. Si vous n'obtenez pos cela, vérifiez que
ECRANS.LM est encore en mémoire et, sur-
tout, qu’il est rigoureusement exact, puis reli-
sez chaque ligne du programme en BASIC [il
n'y o pas d’autre solution),
Si tout va bien, tapez n'importe quoi (un mot
suffira), puis essayez la commande CTRL-S
(BSAVE). Donnez ECRC comme titre. Conti-
nuez par CTRIi-F (Fin). Profitez de l'occasion
pour vérifier qu'un GOTO 2000 vous restitue
I'écran...
Normalement, vous devez maintenant trouver
ECRCI et ECRC2 sur votre disquette, Vous
pouvez supprimer la ligne 55, puis relancer
Voction par un nouveau RUN.
Cette fois, vous allez passer aux choses sérieu-
ses. Le lecteur ronronne, émet peut-étre des
bruits bizarres (horribles !), mais le cadre appa-
rait. Parfait, Tapez CTRL-A (accent circonflexe).
(suite page 4).
_ SEREETSESSESENSSS SST ESET TIN NTESE Eas See ee ens TeRE TENN SSsee Tees cerns TeSAAESesnsersseseSEaeneEsEEsesensees
3
TREMPLIN MICRO
neeAnanesnnnersnnueesnenannevssnaUanunnaesRCEnESESEssueeEneeeeseSUNEeeReeesseEEAeTeReOREeRESASe SSNS
ECRANS 86 COLONNES
Vous devez obtenir le mot que vous aviez ren-
1ré plus haut, avant le BSAVE. C'est votre futur
écran de commandes. Enfoncez une touche :
vous retrouver un écran vierge (cadre
excepté).
Tapez alors votre écran de commandes (ci-
dessous), en utilisant toutes les ressources
offertes par les divers CTRL.
Ainsi, le centrage s'obtient par CTRL-C, mois
on peut centrer une ligne en se plagant au
début et en topant CTRL-P (plus une case) ou
DELETE (moins une case).
Si vous tapez un malencontreux CTRL-O
(effacement du bas de |'écran, sous le cur-
seur), sachez qu'un CTRL-W (comme WRITE)
vous permettra de retrouver I'écran précé-
dent... intact. Pas beau cela ?
Pa =
u
Lo barre d'espacement permet effectivement
d'avancer (de méme que la fléche —e sur
l'Apple le), mais n’efface pas le caractére qui
se trouve sous le curseur. Pour taper un
“espace-effaceur” (ou "marqueur", dans le cas
du mode inverse), il convient de taper CTRL-E
{comme espace).
Et puis, il y a des astuces. Ainsi, pour passer
une ligne en mode inverse, il suffit de placer
le curseur au début, de taper CTRL-V, puis de
posser sur la ligne en actionnant la barre
d'espacement (ou la flache —», sur \'Apple
te).
Autre technique : faire un CTRL-C (centrage)
qui inverse directement toute la ligne.
APPLE Ile SOUS ProDOS : Une seule modification, Vajout d'une ligne 1295,
afin de pouvoir charger un écran G l’adresse $400
(Texte do cette ligne : 1295 POKE 48984 ,0)
VOTRE PREMIER ECRAN SERA CELUI-Cl (SOIGNEZ-LE : IL REVIENDRA SOUVENT !)
RAN DE MMANDES
GUY-HACHETTE
(POURRA ETRE RAPPELE PAR UN [UIE )
[Oy DEPLACEMENTS : UTILISER LES FLECHES DU CLAVIER, MAIS
* CTRL-A raméne 4 Ia premiere ligne de I'écran N
© CTRL-Z conduit a la fin de la derniére ligne de I'écran RL-F
* CTRL-D positionne le curseur au début de Ia ligne en cours
.
CTRL-I (c’est la fléche TAB, sous ESC) le met en bout de ligne
NE PAS UTILISER LES FONCTIONS ESCAPE DE LA CARTE 89 COLONNES
i 2 | ECRITURE : Tous les caractéres sont utilisables, mais l'—ESPACE n'efface pas un
coractére existant. Pour imprimer un espace, taper un | CTRL-E
© CTRL-G efface la page, 4 partir du curseur.
° permet de centrer une ligne et de l'effacer.
« CTRL-P crée un espace pour ajouter un caractére et Ia touche Del supprime au
contraire le caractére qui se trouve sous le curseur.
TIEN = Rappeldel'écranmémoire [SEIS = INVERSE
[EIEN = Loo QGRIES = esAve GEIB = SAVE LiGnes [SG = mPREsSION
Tee = NORMAL
ECRANS.LM (pour APPLE tle)
300: 20 58 FC JSR S$FC58 Home
303: 6D @1 CO STA $C@O1 Mise & 1 de 80 STORE (utilisation MEM.AUX)
306: 20 GC 03 JSR $G63GC ROUTINE n°
369: 4C 2—F G3 JMP $032F Entrée n°2 ST
30C: A200 LOX £$00 Boucle initialisée & zéro ROUTINE 1°
30E: A? 20 LDA £$20 Accumulateur chargé avec $20 (espace)
310: 8D 55 CO STA $CO55 Ecriture en mémoire auxiliaire
313 20 FO FD «JSR $FDFO COUT! : affiche le caractére dont le code ASCII est dans A
316 20 10 FC «JSR $FCIG BS : recule le curseur
319: 8D 54 CO STA $CO054 Ecriture en mémoire résidente
31C: 20 FO FD JSR $FOFO COUT! de nouveau
SIF Es INX Incrémentation de la boucle
320 eo 28 CPX £$28 Sommes-nous 4 4G ($28) ?
322: DO EC BNE $0316 Un autre tour s'il n'y a pas égalité
324 60 RTS Retour au basic en
325: A227 LDX £$27 Registre X chargé avec $27 (39)... — _—
327: 86 24 STX $24 «.. et versé dans CH ($24), position horizontale du curseur,
329: 8D 54 CO STA $C054 Ecriture mémoire résidente
32C: 20 FO FD JSR $FOFO cout! ——_—_—_————_
ENTREE N°2
32F: 20 62 FC JSR $FC62 CR : retour chariot ————
332: A? 20 LDA £$20 Espace chargé dans l'Accumulateur
334: 8D 55 CO STA $CO55 Ecriture en mémoire auxiliaire
337: 20 FO FD JSR $FDFG couTl
338A: Ad 25 LDY $25 Position verticale du curseur (CV) chargée dans Y¥
33C; CO 17 CPY £$17 Est-elle égale 4 $17 (23) ?
33E: DO ES BNE $0325 Sinon, vers routine n°2
340: 20 10 FC JSR $FCIG BS : recule le curseur
343: FO C7 BEQ $030C Vers routine numéro 1 (tracé du bas de I'écran)
345: AD 59 03 LDA $6359 Recopie de la valeur ROUTINE N°3
348: 8D 63 03 STA $0363 poquée depuis le Basic lecture d'une
348; ADSA 03 LDA $035A ligne écran)
34E: 8D 64 03 STA $0364 a a
351: A200 LOX £$00 initialisation
353: AG OO LDY £506
355: 8D 55 CO STA $C@55 Page 2 commutée
358: BD OO GO LDA $0000,X Lecture (adresse poquée depuis le Basic)
35B: 99 00 48 STA $4809,Y Ecriture pour constituer lo variable X$
SSE: C8 INY Plus 1 pour mémoire
35F : 80 54 CO STA $COS4 Page 1 commutée
362: BD OO 00 LDA $0000,X Lecture
365: 99 00 48 STA $4800,Y Ecriture (suite variable X$)
368: C8 INY Plus 1 pour mémoire
369: EB INX Plus 1 pour Ia boucle
36A Eo 28 CPX £$28 A-t-on lu 2 fois 4G caractéres ?
36C: DO E7 BNE $6355 Un autre tour si ce n'est pas terminé | suite PAGES |
TREMPLIN MICRO
ECRANS.LM (eour APPLE Ile) (suite)
36E: AS 69 LDA $69 LOMEM pour I’adresse de X$
370: 18 cic Annulation de la retenue
371: 69 02 ADC £$02 Plus 2 pour obtenir l'adresse
373: 8D 83 03 STA $0383 Préparation de la boucle (partie basse)
376: AS 6A LDA $6A LOMEM + 1 portie haute
378: 69 00 ADC £$00 Plus retenue éventuelle
37A; 8D 84 G3 STA $0384 Préparation de la boucle (partie haute)
37D; A2 G0 LOX £$00 Mise 4 zéro
37F: BD 8B G3 LDA $038B,X Lecture
382: 9D 00 0G STA $0000.X Ecriture
385: &8 INX Plus un
386: EG 03 CPX £$03 Retour au Bosic si on a lu 3 adresses
388: DO FS BNE $037F Encore un tour ?
38A: 60 RTS BASIC
388: 50 00 BVC $038D Longueur de Ia variable ($50 = 80) et
38D 48 RTS adresse (parties basse et haute)
38E: 38 SEC Retenve 4 zéro ou | (poquée depuis le Basic) ROUTINE N°4
$8F: 20 11 C3 JRS $C311 AUXMOVE (AUXMOVE)
392: 60 RTS Retour au Basic ——
393: 68 PLA POUR TERMINER : ROUTINE N°5
394: AB TAY BSAVE ECRANS.LM. (traitement
395: 68 PLA AS300, LS9D des erreurs)
396: A6 DF LDX SDF SS eee _———ns
398; 9A TXS
399: 48 PHA
39A: 98 TYA VERIFICATION Taper la ligne suivante, en mode direct :
398: 48 PHA T =@: FOR! = 768 TO 924: T = T + PEEK (I) : NEXT : PRINTT
39C: 60 RTS Le résultat doit étre 18234.
iA
ECRANS.Lm2c * 300 : 26 58 FC A9 26 20 GB G3 20 16 G3 A2 GG 20 FG FD E8 EG
POUR APPLE lic
La routine pour
Apple lic est
différente.
La voici,
condensée
SAUVEGARDE AVEC
BSAVE ECRANS.LM,
A$300, LSC
GUY-HACHETTE
50 DG F8 60 20 FO FD A2 4F 86 24 20 FO FD A4 25 CG 16 DG FO
60 AD 3B G3 8D 45 G3 AD 3C 3 8D 46 G3 A2 G0 Ad GG 8D 55
CG BD GG GG 26 6D G3 C8 8D 54 CG BD G0 00 26 6D G3 CB E8 EG
28 DG E7 RETURN, PUIS DE NOUVEAU :
* 350 : AS 69 18 69 G2 BD 65 G3 A5 6A 69 GG BD 66 G3 A2 OG
BD 8A G3 9D G0 GG E8 EG G3 DO F5 60 C9 EG 30 06 G9 80 C9 EG
10 OB G9 CO C9 EG 30 G9 49 40 4C 86 G3 C9 FF FG F7 99 OG 48 66
50 GG 48 18 26 11 C3 60 68 AB 68 Aé DF 9A 48 98 48 60
... ET UN DERNIER RETURN !
T = @:FORI = 768TO 923: T = T + PEEK (I): NEXT: PRINTT
| VERIFICATION Tapez, en mode direct, la ligne suivante :
Le résultat devra étre 17044.
PORN REESE REE E TET ANSE OR NEST NENA SK ESE CSS SSAAT SSSR ASSES TSS as TEES SUAS T LES Tee Eee eee SS SENSES SESS SESS ST
A propos de la variable es
X$, reliser la page 44
du numéro 2 de Tremplin
Micro.
Cette ligne installe une»
fenétre 4 lintérieur du
cadre.
Si lon tape CTRL-6, >
cCest-d-dire CHRS(@), RS
est égol... a rien,
Si RS est une lettre, on >
passe immédictement
a Vattichoge, ce qui per-
met de gagner du temps,
en évitant lo longue série
des “IF”.
Lo ligne 289 co 616 ajoutée
pour la méme raison. SiR
est plus grand que 14, il
est intéressant de sauter
par-dessus les lignes
inutiles.
ECRANS.BAS
Version Apple fle
106
118
126
138
148
158
168
178
188
198
288
218
228
238
246
258
278
288
298
388
318
328
338
348
358
348
378
388
398
488
X$ = * ": REM VARIABLE A NE PAS DEPLACER
?
R= ASC (RB)
Pour un Apple lic, méme programme, mais
avec les corrections indiquées page 11,
LOMEM: 19888
FOR I = 1 TO 20:TRS = TRS + * “: NEXT
TEXT : PRINT CHR® (4)"PRE3": HOME : PRINT
DIM L$(24):LL = 837:ER = 915:M0 = 918
PRINT CHR® (4)"BLOAD ECRANS.LM": PRINT
PRINT CHRS (4)"BLOADECRC! ,A$2080": PRINT CHR® (4
)*BLOADECRC2 ,A$2466": PRINT
CALL 748: GOSUB 98: GOTO 158
POKE 34,2: POKE 35,23: POKE 32,2: POKE 33,76: RETU
RN
REM ## eee ee eee e ee HERR eRe HER EERE
REM #*# SAISIE DE VOTRE ECRAN #*
REM #HRHHERERRERERA ER HARE ERR H EH
PRINT 1V = 31H = @
1F V ¢ 3 THEN V = 31 CALL - 198
IF V > 22 THEN V = 22: CALL - 198
IF H ¢ @ THEN H = 72sV = V - 13 GOTO 148
IF H > 72 THEN KH = 0:1 = V + 1: GOTO 176
VTAB VY: POKE 1483,H: PRINT "";: GET RS
IF R$ = *" THEN GOSUB 15@6: TEXT : GOTO 86
IF R = 127 THEN 558: REM DEL, SUPPRESSION
IF R = 5 THEN R$ = “ *: GOTO 276: REM CTRL-E, ESPA
CE MATERIALISE
IF R = 32 OR R= 21 THENH =H + 1; GOTO 198
IF R ¢ 32 THEN 286
PRINT R$:H = H + 1: GOTO 168
1F R > 14 THEN 408
IF R = 1 THEN H = O:V = 3: GOTO 208
1F R = 3 THEN 718: REM CTRL-C,CENTRAGE
IF R = 4 THEN H = 8; GOTO 268
IF R = 6 THEN GOSUB 1588: GOTO 1738: REM CTRL-F,
FIN
IF R= 7 THEN GOSUB 1566: NORMAL : CALL - 958: G
OTO 286: REM CTRL-G, EFFACEMENT A PARTIR ET SOUS LE
CURSEUR
IF R= 8 THEN H =H —- 1: GOTO /88
IF R = 9 THEN H = 72: GOTO 208
IF R = 18 THEN V = V+ 1: GOTO 178
IF R= 11 THEN VY = V - 11 GOTO 168
IF R= 12 THEN GOTO 1278: REM CTRL-L,LOAD ECRAN
IF R = 14 THEN NORMAL :ET = 8: GOTO 280; REM CTRL
~1 ,NORMAL
IF R = 15 THEN H = @: VTAB V:H = 6: POKE 1463,H: N
ORMAL : CALL - 848: GOTO 206: REM CTRL-O, EFFACER
LA LIGNE EN COURS (SUITE PAGE 8)
TREMPLIN MICRO
Scere eeesnaEcn dasa ceee EEE ee EEE SET EE ESTEE TESTS ULES TETAS e Ss SONU ETOOSSESULSSSSS TSS ES SEEN TA NweE eS
418
428
438
448
458
468
478
488
496
586
Sie
528
538
548
358
578
598
768
778
788
798
888
818
828
838
IF R = 16 THEN 638: REM CTRL-P, LETTRE EN PLUS
IF R = 19 THEN 1898: REM CTRL-S,BSAVE ECR1,ECR2
IF R = 2@ THEN 1188: REM CTRL-7,SAVE FICHIER TEXT
IF R = 22 THEN INVERSE :ET = 1: GOTO 208: REM CTR
L-V, INVERSE
IF R = 23 THEN GOSUB 1588: GOTO 156: REM CTRL-W,
RAPPEL DE L’ECRAN EN MEMOIRE AUXILIAIRE (DE DERNIER
)
IF R = 24 THEN 1388: REM CTRL-X,EDITION SUR IMPRIM
ANTE
IF R = 26 THEN H = 72:V = 22: GOTO 268
IF R = 30 THEN GOSUB 1588: GOSUB 14668: GOTO 208;
REM CTRL-FLEX, ECRAN DE COMMANDES
GOTO 1468
"REM CCH Ee EH E RRR RR ERR
REM ** SUPPRESSION DE CARACTERE #*
REM #HeRORRHE RSE RES ER ERE RRR EH EEED
|
GOSUB 846
VTAB V: POKE 1483,H: PRINT MIDS (L$,H + 2) +" *
GOTO 268
!
REM K#RHRRHREHERHEREERES ER ERE HERS
REM «* CARACTERE SUPPLEMENTAIRE #*
REM SHES ERE ERT ER SEHR HEHEHE REESE
:
GOSUB 848
VTAB V: POKE 1463,H: PRINT * " +
2. =)
GOTO 268
t
REM CHRMHMNHRRHEHERHHMH EERE ER EH ENE
REM ## CENTRAGE O° UNE LIGNE bahed
REM S2eeeneeenenneeseneeeeereeeeee
MIDS (L$,H + 1,7
t
GOSUB 846:L = LEN (L®)
ONERR GOTO 188¢
IF ASC ¢ MIDS (L$,L,1)) = 168 THEN L = L - 1: GOT
0 738
L$ = LEFTS (L$,L)
FOR 1 = 1 TOL: IF ASC ¢ MIDS (L$,1,1)) = 168 THE
N NEXT
NORMAL : VTAB V: POKE 1483,8; CALL - 868: IF ET =
1 THEN INVERSE ;
L=L+1- 1::H = INT (74-1) / 2: POKE 14863,H:
PRINT RIGHTS (L#,L)
POKE 214,81 GOTO 208
:
REM KHHEHHEHRRHHHRMERRREEM ER RHE EEE
REM #* LECTURE D°UNE LIGNE ##
REM ##EESSER SERED HEHE RHEE HERR ERE
t
GUY-HACHETTE
ECRANS.BAS
(SUITE)
ra les commondes de
Vimprimante (voir plus
loin) concernent IMAGE
WRITER ou DMP Apple.
STR Accent circon-
flexe) permet de revoir
\écran de commandes
{attention | il faut d’abord
Vevoir taps... ef mémo-
risé |).
+ Yon est en mode
INVERSE, les effets sont
trés... spdécioux : toute lo
inverse, espaces compris,
6 portir du coroctére &
supprimer. Pour que tout
rentre dans l'ordre, posser
en mode NORMAL
(CTRL-N), placer le cur-
sour immrédiatemont 6 la
suite du dernier coractére
utile... @t retaper DEL
(Delete). On assiste au
méme phénomene avec le
caractére supplémentaire
(ligne 639).
On pourrait faire précéder
les deux GOSUB (550 et
630) por "NORMAL -",
mais les lignes en mode
INVERSE passeraient alors
en mode NORMAL.
@NOTA: CTRL-C (cen-
trage) fait passer une
ligne normale en mode
INVERSE si l'on a pris lo
précaution de taper ou
préoiable un CTRL-V
(INVERSE)... et rassurez-
vous, sur votre écran, tout
cela deviendra beoucoup
plus clair |
84@ RESTORE : FOR 1 = 1 TO Vs READ L: NEXT
85@ POKE LL + 28,1 - INT (L / 256) * 256: POKE LL + 2
1, INT (L / 256): CALL LL:T$ = MIDS (X$,1)
86@ L$ = MIDS (X$,5,73): RETURN
878 :
B80 REM ##¥eeeeeeeeteeeHeneeeeeeeeeeee
89@ REM #* TITRE O° UN FICHIER +
900 REM FHNHHHHHRHEHKHHEN NR RR RHE RE ER
918 :
le programme véritio 928 NORMAL : TEXT : VTAB 17: CALL - 958: PRINT 1: PRIN
Vexistence d'un fichier T TRs
et vous prévient si le titre
existe déja, 93@ VTAB 28: POKE 1463,8: PRINT “TITRE PROPOSE (? POUR
Un conseil; "“LOCKEZ” OBTENIR LE MENU) “3: CALL - 198: INPUT “";F$: IF
votre éeran de comman- Fe = "* THEN RETURN
des dis quil sera instollé. | 948 IF F$ = "2" THEN HOME : PRINT CHR® (4)"CATALOG":
eaten techatne seroceriants GET R$: POKE ~ 16368,8: HOME : GOTO 928
de cette belle page | 95@ IF ASC (FS) < 65 OR ASC (F$) > 98 THEN 938
968 ONERR GOTO 1618
978 G$ = FS + "1"
988 PRINT : PRINT CHR® ¢4)"VERIFY*G$: IF LT = 1 THEN
LT = 8: GOTO 1888
998 \VTAB 28; CALL - 958; INVERSE : PRINT F$;: NORMAL
+ CALL - 196: PRINT * EXISTE —- 1) TITRE MAINTENU
<2) AUTRE TITRE "3: GET RB: POKE - 16368,8: IF RS
< > "1" THEN 928
1068 POKE 216,08: RETURN
1618 CALL ER: POKE 216,6: IF PEEK (222) <¢ > 6 THEN 17
98
1028 IF LT = 6 THEN RETURN
1938 VTAB 28: CALL - 958: INVERSE : PRINT F$;: NORMAL
+ CALL - 198: PRINT “ N’EXISTE PAS - APPUYE2 SUR U
NE TOUCHE SVP ";: GET R$: POKE ~- 16368,8: GOTO 928
1848 :
1050 REM #8eeeeeeeeeeenedeneesecueneeee
106@ REM ** SAUVEGARDE DE L’ECRAN a
1078 REM ####+¢¢44eeeeeeeReE RRR ERR ERS
1088 :
1698 GOSUB 15@0;:LT = 0: GOSUB 92@: GOSUB 1580
118@ GOSUB 1588: IF F$ = "" THEN 158
Vous mémoriser deux y | 1118 F1$ = FS + "1":F26 = FS + "2"
erons (chacun deux"? | i429 PRINT : UTAB 2: PRINT CHR$ (4)"BSAVE"F1$" ,A8408,L
me 1016": POKE - 16299,8: PRINT CHRS (4)*BSAVE"F28",
A$400,L1016"; POKE - 14388,0: GOTO 200
1136 :
1140 REM S#8eeeeeREHHRERHE HAE REE HERES
115@ REM ## SAUVEGARDE EN FICHIER T ##
1168 REM ###HHHHRHRHH RRR EHR RRR R ER
1178 :
Cette partie du Pro: 1186 N = V;V = 8;F% = "ECR,T*
gramme ne présente 1196 IF V ¢ 23 THEN VY = V + 1: GOSUB 848:L$(V) = T$: GO
pas une réelle utilité, Elle To 1198
mémorise, sous forme de
fichier T, 23 lignes d'écran, 1288 V = N: VTAB 2: PRINT : PRINT CHRS (4)"OPEN"FS: PRI
(SUITE PAGE 10)
(Anecceccssaessnnesseases
9 TREMPLIN MICRO
1218
1228
1238
1248
1256
1268
1278
1288
1298
1380
1328
1338
1948
1356
1368
1378
13988
1398
1488
1418
1428
1438
1448
1458
1468
1478
1488
1498
1586
1518
1528
1538
1548
1558
1568
1578
1588
1598
NT CHRS (4)"WRITE"F$: PRINT 23: FOR I = 1 TO 23: P
RINT CHRS (34) + L$CI): NEXT : PRINT CHRS (4)*CLO
SE“FS
GOTO 268
3
REM #8 ee HTH HSER eRe eee ee Tee eeeEe
REM #* CHARGER UN ECRAN ”
REM *HAe ee RRM R RRR RRR Ree EEE ED
:
GOSUB 1588:LT = 1: GOSUB 928
IF F% = *" THEN GOSUB 1588: GOTO 1326
Fig = FS + "1":F2S = FS + "2"
POKE - 16368,8:; VTAB 2: PRINT CHR® (4)"BLOAD"F1$
*,A$496": POKE - 16299,6: PRINT CHRS (4)*BLOAD"F2
$" ,AS400": POKE - 16380,0
GOSUB 98: GOTO 158
‘
REM 4H RMR RR ERS RRR ER
REM **# COPIE DE L’ECRAN 8@ #*
REM SHNEAAER SHEESH ER ER ERR ROSH ERE ES
'
N= Vi¥ = 6; NORMAL
IF V ¢ 23 THENV = V + 1: GOSUB 840:LS(Y) = TS: 6D
TO 1398
GOSUB 1586
PRINT CHRS (21): HOME : PRINT CHR (4)"PREI"1 PR
INT CHR® (27)"E": PRINT CHR® (27)"L@18": PRINT C
HR® (27)"!": PRINT CHRS (9)*GIN"
FOR 1 = 1 TO 23: PRINT L$(I): NEXT : PRINT : PRINT
CHR (12): PRINT CHR® (4)"PREG"
PRINT CHRS (4)"PRE3"*: HOME : PRIN( . SASUB 1588
Y= N: GOTO 288
t
REM KHRRRERHREEEN HMR M HMR e Kee
REM #* TRANSFERT ECRAN MEM AUX #8
REM #HERHERHEH EERE R HERE E REE EEEH
:
POKE MO,56: POKE 68,8: POKE 61,4: POKE 62,248: POK
E 63,7: POKE 66,0: POKE 67,64: CALL MO
POKE —- 16299,8: POKE 66,8: POKE 61,4: POKE 62,248
: POKE 63,7: POKE 66,8: POKE 67,68: CALL MO: POKE
- 16388,8
RETURN
:
REM FHMERHRRHER TREN H HHH ERR
REM #* RECUPERATION DE L“ECRAN ##
REM #£#eeHRRSERRRE SEHR KERN ER ERE HE
:
POKE MO,24: POKE 68,8: POKE 61,44: POKE 62,248: PO
KE 63,67; POKE 66,0; POKE 67,4: CALL MO
POKE ~ 16299,8: POKE 68,8: POKE 61,68: POKE 62,24
8: POKE 63,71: POKE 64,8: POKE 67,4: CALL MO: POKE
~ 16388,8
GUY-HACHETTE
ECRANS.BAS
(SUITE)
Avec ProDOS. prévoyez
une ligne 1295, ainsi rédi-
3. (quel style {) :
1295 POKE 48984,0
Cela évitera 4 votre Apple
de vous faire une scéne,
consistant tout bonnement
6 refuser de charger votre
écran |
@ DMP Apple ou IMAGE
WRITER. . Avec d'autres
mi » sent tenir &
PR CHRS(9) "BIN". ov
“B9N", selon les cas.
Attention | avec un Apple
lic, plusieurs lignes sont &
modifier et d'outres &
gjovter, Lisez le détail ci-
contre.
les routines en ossem- 1688 GOTO 78
bleur reprennent des pro- 1610
Wr ceiceae one tes 1620 REM ####teneeeeerecaeenteeeeereseee
deux premiers numéros 1636 REM ** AFFICHAGE ECRAN COMMANDES «*
do Tremplin Micro. 1640 REM #HHORHRERRHEHM MEH HH RRR R RRR S
1658 :
1668 POKE MO,56; REM RETENUE A 1
1678 POKE 60,8: POKE 61,32: POKE 62,248: POKE 63,35: PO
KE 66,6: POKE 67,4: CALL MO
1686 POKE MO,5é: REM RETENUE A 1
1698 POKE - 16299,8: POKE 68,6: POKE 61,36: POKE 62,24
8: POKE 63,39: POKE 66,0: POKE 67,4: CALL MO: POKE
- 16386 ,6
1708 CALL - 198: POKE - 16368,8: WAIT - 16384,128,12
7: POKE - 16368,8: GOTO 1588
1718 :
1728 DATA 1824,1152,1280,14968,1536,1664,1792,1926,1064,
1192,1328 ,1448,1576,1784,1832,1960,1184,1232,1368,1
4988 ,1616,1744,1872,2608
1736 TEXT : HOME : END
1748 :
1756 REM #H##eee Reed eRe ee eee
1766 REM ** AUTRES ERREURS baie
1778 REM ##Fteeseeeeeeeeeeeeeeeeeerenae
1788 :
1798 PRINT : VTAB 28: CALL - 958: PRINT "ERREUR NUMERO
syne sed see enentcr * PEEK (222)" LIGNE " PEEK (218) + PEEK (219) * 2
CTRL-F (FIN), tapez un 56" -- PRESSEZ UNE TOUCHE *;: CALL - 198; GET RS:
porch Ntodela pire tantric POKE - 16368,0: RETURN
Geran et le DOS (eno! | 1888 CALL 915: POKE 216,8: GOTO 208
erreur 1). 2088 POKE 51,8: GOSUB 1566: GOTO 206 =
ROUTINE ECR.MEM2C | APPLE IIc (onirications Dt EcRANS.BAS)
ee
Rentrez et sauvez ce petit programme en uti- 5Q DIMLS(24): LL = 897: ER = 914: MO = 07
lisant la technique habituelle ; CALL-151, etc 55 Ml = 7744 :; M2 = 7600 : PRINT CHR${4) "BLOAD
puis BSAVE ECR.MEM2C, ASIE4O, L$70 ECR.MEM2C"
* 1E40.1EAF 90 POKE 34,3 : POKE 35,22 : POKE 32,3 - POKE 33,76 :RETURN
ic 188 IFH @THENH = 73:V = V—1:GOTO10
1E40; A2 G0 BD 78 G4 9D OO IE 190 IFH 73THENH =0;V=V+1:GOTOI70
1648: BD F8 G4 9D GB IE BD 78 SUPPRIMER LES LIGNES 246 - 250
1650; 05 9D 10 1E BD F8 O5 9D i Encore, alga rave
1658: 18 1E BD 78 G6 9D 20 IE ar iw :
1660; BD F8 06 9D 28 1E BD 78 | 0 prripreas resets srs
1668: 07 9D 30 1E BD FB 07 9D | jae camo ee
1€7G; 38 1E E8 EG G8 DO CB 460 1400 IM = 1: GOSUB 1580
1€78; A2 GG BD GG 1E 9D 78 G4 1515 IFIM = 1 THENIM =@
1E8G; BD G8 JE 90 F& G4 BD 10 1665 CALLM)
1688; 1E 9D 78 G5 BD 18 IE 9D 1695 CALL M2
1690: FB GS BD 20 1E 9D 78 G6 Dans le tobleau de commandes, CTRL-E devient inutile. Sur ‘Apple Jic,
1E98: BD 26 1E 9D F8 G6 BD 30 lespace joue son réle normal et lo fldche droite provoque un déplace-
\EAG: IE 9D 78 G7 BD 38 IE 9D ment vers la droite, Attention | Sauvegardez votre écran sur disquette
1EA8; F8 G7 EB EG G8 DO CB 60 avant de l'imprimer, car il sera ensuite efface |
"
TREMPLIN MICRO
LOGICIEL
Si votre anglais laisse encore a désirer...
Partez en voyage
avec MAX !
Od en est votre anglais ? Sauriez-vous vous faire com-
prendre si vous étiez parachuté 4 Londres ? Si la réponse
est oui, MAX The Globe Trotter ne vous intéresse pos,
encore que, possesseur d'un Apple, il ne saurait vous
laisser totalement indifférent... pour la simple, mais
excellente raison qu'il utilise votre ordinateur personnel, dont il tire d‘ailleurs le meilleur parti.
Pour utiliser MAX — 4 disquettes, 2 casset-
tes, et un Microlingua Book de 180 pages — il
suffit de disposer d'un Apple Hic ou fle
équipé d'une carte 80 colonnes, ainsi que
d'un lecteur de cassettes.
Si vous désirez une bonne qualité sonore, je
vous conseille le lecteur de votre radio, pré-
férable, et de loin, 4 votre magnétocassette
portable.
Si vous n'avez vraiment aucune connaissance
en anglais, MAX ne deviendra pus votre ami
sans de sérieux efforts de votre part.
Par contre, si votre vocabulaire (anglais) de
base atteint déja une centaine de mots,
demandez & MAX, soit de vous rafraichir la
mémoire, soit de vous en apprendre davan-
tage, ce qui revient au méme.
Que |'on ne s'y trompe pas : il s‘agit d'une ini-
tiation sérieuse 4 l'anglais (et 4 l'américain)
de tous les jours, et non d'une approche plus
ou moins réussie de |'étude de cette langue.
Avec MAX, vous apprendrez réellement 4
vous débrouiller, par le son, le texte et
Vimage (celle-ci ne constitue d'ailleurs pas
l'intérét numéro 1 de ce logiciel).
Avec la Computercassette (c'est aussi la pre-
miére), vous accompagnerez MAX en
bateau, dans le train, en avion, 4 I'hétel et au
restaurant, Dans le méme temps, votre
Apple chéri vous invitera & répondre & des
questions plus ou moins difficiles, tout cela
avec un accompagnement musical et un cer-
tain nombre de bruitages.
Par le truchement du mode inverse, votre
attention sera attirée sur les mots pouvant
poser un probléme de comprenette. Ils vous
seront bien sr expliqués... dans un anglais
moins obscur,
Sketches, exercices, jeux ; le cours n'est pas
seulement didactique, mais se veut ludique.
Un bon point pour lui. A noter que vous n’étes
jomais obligé de subir le programme, la tou-
che ESCAPE vous permettant de revenir au
menu si tel est votre bon plaisir... et aussi de
recommencer @ tel ou tel niveau du cours.
Le manuel de référence parait complet, mais
je n'ai pas aime ses couleurs (beaucoup trop
vives), sans doute destinées 4 interdire la
photocopie. C'est un peu dommage car il est
bien concgu. Ceci dit, le Microlingua Book
reste un bon ouvrage d'accompagnement, ot
chaque exercice est clairement expliqué en
francais. Il est indispensable aux vrais
débutants.
Nestor.
Vous pouvez recevoir une disquette Démo,
fort bien présentée d'ailleurs, en utilisant le
bulletin de commande de la page 62.
(MAX The Globe Trotter est vendu 1200 F
T.T.C., prix justifié).
GUY-HACHETTE
eR SARNESERSAENSRUSSSESS SSE SSSR SSS SESSA STRAT RSA TSRSSR SOREL RSS ESTES SNE SRESSRNERSETRERESEESRESEOEEEE
Jeu du numéro 2
Cryptotexte
RYPTOTEXTE permet
de décrypter ou coder
un programme préala-
blement tronsformé en
fichier EXEC (voir la fiche
n°l de Tremplin Micro).
Nous vous donnons, page
suivante, le listage de Ia
petite routine en assem-
bleur qui correspond & la
ligne 450 (DATA) du pro-
gramme en BASIC.
18 TEXT : PRINT CHRS (21): HOME
BESS ee TEXTE ORIGINAL
24 PRINT "VOULEZ~VOUS DEVINER UN NOMBRE CHOISI PAR L’ORDINATEUR 2*
30 VTAB 4: HTAB 1: INPUT "OUI OU NON ? "3RS
rr
58
IF R$ = "NON" OR RS = "N* THEN 168
IF R6 << > "OUI" AND RS ¢ > "0" THEN 38
68@N=1 + INT ( RND (1) ® 108) a
78 PRINT : PRINT "CE NOMBRE EST COMPRIS ENTRE ";: INVERSE : PRINT 1
i: NORMAL : PRINT * ET *;: INVERSE : PRINT 188; NORMAL
88 VTAB 18: HTAB 1: CALL - G48: INPUT "VOTRE NOMBRE -) "yNS
98 X = VAL (NS): IF X = @ THEN $8
186 IF X = N THEN Rb = * VOUS AVEZ GAGNE !*: GOTO 128 7
118 R$ = “PERDU! TROP PETIT!*: IF X ) N THEN R$ = "PERDU! TROP GRAND! —
1@CaC+l
138 VTAB 13; HTAB 1: CALL ~ B68: PRINT R63" - ESSAI NUMERO "3: INVE.
RSE : PRINT C: NORMAL
148 IF X<¢ ) 6 THEN 88 ae
1s PRINT + PRINT : PRINT "PRESSEZ UNE TOUCHE SVP *;: GET RS: GTO 18
168 PRINT : PRINT 1 PRINT "DOMMAGE, NOUS NOUS SERIONS BIEN AMUISES'*
DS*CLOSE"F2$: HOME : RUN
20 DS = CHRE (4) 8
30 DIM Le(i5@) 298 REM eEELLEILirti iii it itt t tt}
40 GOTO 448 300 REM * DECRYPTER OU CRYPTER 8
Wo: 318 REM SCCSEPEEPECEU SEER TEOEECEROEEEE
68 REM CEPPEREONESSRHTSERENEEHESE REED 328.
78 REM * LECTURE ET RE...CREATION # 338 INVERSE : PRINT" CRYPTER OU DECRYPTER
88 REM eri irrreciiiit tires UN FICHIER (T) *: NORMAL
v8: 348 FOR 1 = 1 TO 18:78 = 18 + *___*: NEXT
108. L = O:N = O:L6 = ** 358 VIAB 28; PRINT TS
118 ONERR GOTO 248 368 VTAB 22: HTAB 2: PRINT "(1) CRYPTER (2
128 PRINT : VTAB 15; PRINT DS"OPEN"FIS
138 PRINT DS*READ"Fis
) DECRYPTER <3) FIN *y: GET R%: PRINT
RE:R = ASC (RS) ~ 48: IF R= 1 ORR=2
148 GET Cas THEN 398
158 CALL 768 378 IF R< > 3 THEN 368
168 CA = PEEK (4): IF CA = 13 THEN 188 388 TEXT : HOME : END
390 IF R= 1 THEN Fi8= "JEU*SF26 = "JEU."V
178 L$ = 18 +
CHR (CA): GOTO 148
188. L=L + ISLS(L) = LosL6 = *"; GOTO 148
$ = “AEIOUOAUEI": GOTO 418
1%: 400 F28 = *JEUTSFIS = "JEU.*:U8 = “OAUETAEIOU
208 REM UILCIretii iii iiittrrt ttt "
218 REM * EORITURE OU FICHTER F2s « 410 FOR | = 797 TO 686: POKE 1, ASC ( MIDS ¢
228 REM WHeSEREEOEDOO REESE ES EEHEORORES VS,1 ~ 796,1)): NEXT
238 : 428 VTAB 6: PRINT "ON PART DE ";: INVERSE :
248 IF PEEK (222) = 5 THEN PRINT : PRINT D PRINT F183: NORMAL + PRINT * POUR CREER *
S*CLOSE*Fi$: POKE 216,8: GOTO 268 i+ INVERSE : PRINT F2$: NORMAL
256 VTAB 22: CALL - B48: PRINT "PROBLEME NO 438 GOTO 188
N PREVU AU PROGRAMME": STOP $48 FOR I = 768 TO 796; READ R: POKE I,R: NE
268 PRINT DS*PRES": PRINT : HOME ; FOR 1 = 1 XT : RESTORE ; GOTO 338
TO Ls PRINT L8(1): NEXT 458 DATA 173,8,2,281,13,288,2,248,18,162,8,
PRINT OS*OPEN"F2$: PRINT DG*WRITE*F28: F
OR 1 = 1 TO Ls PRINT L$<I): NEXT : PRINT
221 ,29,3,288,6,189,34,3,133,6,96,232,224,
5,288,248, 248,246 i
13 TREMPLIN MICRO
Cryptotexte : =
ryptotexte : PAR ProCODE
3
Les données de la section 4
encadrée 5
fen hexadécimal) aux 6
valeurs décimales de la 7
ligne 450 (DATA) du pro- B ORG ORG $300
gramme en Basic. 9
10 BUFFER EQU $200 ; GET 4 partir d'un fichier T
11 CSR EQU $06 ; Case-réponse “poquée" en basic
12
13
4 LDA BUFFER
15 CMP £$0D ; Si"return”, retour au basic !
16 BNE INIT
17 BEQ REPONSE ; _ ...si la réponse est positive
18
19 INIT LDX £$00 ; Pour tester les 5 voyelles
26 BOUCLE CMP ASCI.X : Vraie comparée au contenu de A
21 BNE INC ; Sinégatif, on continue
22 LDA ASC2.X =; Fousse est mise dons A
23
24 REPONSE STA CSR : Etc'est la réponse...
25 RTS ; ... Suivie du retour
26
27_~‘INC INX ; Plus} dans la boucle
28 CPX £$05 : ly aS comparisons 4 faire
29 BNE BOUCLE
30 BEQ REPONSE ; Cen‘est pos AEIOU
3
32 ASC ASC "AEIOU" ; Les vraies
33 ASC2 ASC "OAUEI" ; Les fausses
34
eee $031D ASC2.,...., $0322 BOUCLE ...$030B BUFFER ..., $0200
PeOvS $0006 = INC ....... $0316 INIT ........ $9309 REPONSE... $0313
A partir du méme canevas, il est évidemment possible d'utiliser une autre clé pour coder un texte. Si
le nombre des caractéres 4 permuter est différent de 5, il faut alors modifier la valeur indiquée 4 la
ligne 28 (octet $318). Les adresses $31D et $322, ici fournies par ProCODE, seront facilement recal-
culées si l'on ne dispose pas d'un assembleur. Je vous rappelle que créer une ligne de DATA 4 partir
d'une routine en assembleur est absolument enfantin, Prenons l'exemple de cette page (adresse 768
8796). Il suffit de taper, en mode direct :
PRINT “]450 DATA” ; : FOR | = 768 TO 796: PRINT PEEK (1) :"." ; : NEXT, puis un RETURN,
Une ligne 450 va s'afficher. Passer en mode ESCAPE, et la valider en allant de la premiére 4 la der-
niére lettre, en utilisant la flache droite —». Effacer la derniére virgule avant le RETURN final.
NESTOR.
Nota : Le ] (clavier américain) correspond ou § du clavier AZERTY, Qu’on se le dise dans les chaumiéres |
SNS SSNS SSNS TERENCE ES TSREN VAS SSE TELAT CTE T RES SSSSDOSSIN WOON BU OOSS SAN OHE OSE SOLE SSOSSOSSESS SESE SEES
GUY-HACHETTE 4
INITIATION
Utilisez d'abord
le mini-assembleur
Le mini-assembleur vous
est expliqué dans “Lo pra-
tique de |'Apple Il". C’est
une facilité que donne le
systéme pour écrire de
petites routines et les tes-
ter rapidement, sans pas-
ser par tout le circuit des
ossembleurs. Circuit qui
implique, outre l'écriture
du programme, son enre-
gistrement, et son assem-
blage avec manipulation
de disquettes, erreurs
variées 4 corriger, etc,
Le mini-assembleur est
trés simple, et il vous suf-
fira amplement pour véri-
fier par de petits tests les
mécanismes que vous
voudrez étudier. Il pré-
sente pour le débutant un
triple avantage ;
1. il nécessite trés peu de
Découvrez
l’assembleur
avec Madeleine HODE,
‘auteur de GRIBOUILLE
Programmer en assembleur, c'est le jeu le
plus merveilleux que l'on puisse imaginer.
Aprés une pareille affirmation, beaucoup de
lecteurs ont tourné la page. Je peux supposer que nous sommes seuls, vous qui étes
tenté por cette “récréation”, moi qui voudrais vous aider 6 l’apprendre.
Toutefois, jeu n'est pas toujours synonyme de facilité, comme vous le savez déja.
D’accord ? Alors, nous pouvons commencer.
connaissances (deux ou
trois pages d'explications,
alors qu'un manuel d’as-
sembleur peut en compter
50 4 89).
2. il vous donne I’habitu-
de de tester en direct vos
idées avant de les intégrer
& un programme en for-
me, plus ov moins lourd et
plus ou moins rigide.
3. enfin, vous n’avez pas
4 Vacheter ; il est dans
votre machine.
Quand vous serez sir de
votre vocation, achetez un
assembleur. ProCODE,
por exemple. Cela dit,
votre liberté de choix
reste entiére, et personne
ne se permettrait, ici, de
vous influencer.
Materiel
Si vous étes réellement
tenté por l’assembleur, si
vous étes en fonds, et si
vous voulez que votre équi-
pement soit vraiment com-
plet, achetez-vous :
* une calculette de pro-
grammeur, qui fonctionne
en hexadécimal aussi bien
qu'en décimal, et qui traite
les opérations logiques
(AND ORA EOR),
Sachez tout de méme que
votre Apple fait les addi-
tions et les soustractions en
hexadécimal. Sur un seul
octet, et avec seulement
deux nombres, certes, mais
c'est déja mieux que vos
doigts. Comment ? Tapez
CALL-151, Vous avez le
moniteur. Tapez alors votre
opération. Par exemple 79
+ 32 RETURN vous améne
le résultat = AB. A vous de
penser aux retenues et d’en
tenir compte.
* si vous avez un Apple /le,
(suite page 16)
TREMPLIN MICRO
sRRREeSresvnssersneeenss TEERR ATER ESSERE TOS Eee e EU ARR ENA EA SETAE NSS ASS SSS USSSE STEN ASAT AS eeAeeeeT SEE
achetez le kit qui lui don-
nera le processeur, la
ROM et le décodeur de
caractéres du Iie. Vous
aurez ainsi une machine
plus rapide, plus puis-
sante, avec un mini-
assembleur trés bien
concu et trés commode qui
vous fera passer sur votre
clavier des nuits réelle-
ment magiques.
Pratique et exercices
Choisissez entre deux
méthodes :
* utiliser un manuel d’ini-
tiation qui comporte beau-
coup d'exercices. Si vous
trouvez que les ouvrages
qui sont indiqués ci-dessous
n’en présentent pas suffi-
samment, demandez con-
seil 4 votre vendeur.
* explorer, difficilement,
lentement, mais fructueu-
sement, les routines du
moniteur.
Et pourquoi
tout cet effort ?
Pour le plaisir. Pour la paix
de |'ame, pour la vigueur et
la santé du neurone.
Mais encore ?
Tout dépend de votre ima-
gination. Si vous concevez
facilement tout ce qu'un
ordinateur pourrait faire
pour vous amuser, ou
pour vous aider, si vous
avez des envies, des be-
soins, des projets, aucun
probléme. Vous finirez
por écrire vos program-
mes, et vous verrez que
Vossembleur, pour certai-
nes routines, est l'outil le
plus adéquat, le plus élé-
gant et le plus rapide.
Vous passerez avec vir-
tuosité du Basic ou du Pas-
cal & l'assembleur, selon
des ragles et des propor-
tions que vous détermine-
rez 4 votre guise.
Et ceux qui n'ont pos cette
forme d'imagination ?
Ceux-la, il y a longtemps,
nWest-ce pas, quills ont
tourné la page !...
BibliDgraplnbe esas scape: vue por A andr
et G. Creuzet. Editions Radio.
“Programmation du 6582” de Rodnay Zaks, éditions Sybex. (Vous pouvez vous arréter avant le cha-
pitre “Techniques d'entrées-sorties").
Pour passer des connaissances théoriques données par Rodnay Zaks au pilotage de l'ossembleur
sur un Apple //; “La pratique de l'Apple if", 3° volume, de Nicole Bréaud-Pouliquen et Daniel-Jean
David, éditions du P.S.1.
Voila déja de bons pavés sur la route de I’assembleur. Il y a certainement d'autres excellents
ouvrages d'initiation. Mais ne les connaissant pas, je n'en parlerai pas.
Il yo aussi les ouvrages spécialisés. Voici quelques titres, mais gardez-vous de les acheter avant
d'avoir assimilé l'un des précédents :
* Manuels de référence Apple Me ov ile édités par Apple.
* Manuels ProDOS édités par Apple (ProDOS User's Kit etc.).
"Beneath Apple ProDOS", by Don Worth and Pieter Lechner, éditions Quality Software. L'ouvrage
précédent des mémes auteurs (“Beneath Apple Dos”), a livré les secrets du Dos 3.3 4 tous les pro-
grammeurs de ma génération, et tous le connaissent — ou devraient le connaitre — par coour. i}
reste l'ouvrage fondamental pour le Dos 3.3, dont la documentation est moins abondante que celle
du ProDOS.
D'une maniére générale, les ouvrages techniques édités par Apple sont clairs et complets. Ils
apportent au programmeur expérimenté une satisfaction proche de la béatitude. Mais ils sont dif-
ficiles pour des débutants. Attendez un peu. Ainsi, quand vous les aborderez, vous découvrirez
qu'ils répondent @ des problémes que vous vous serez déja posés. Vous les comprendrez plus faci-
lement, alors que leur intérét vous échappera en grande partie si vous les attoquez trop tét.
lly a enfin tous les ouvrages que vous irez feuilleter dans les boutiques, et por lesquels vous
vous laisserez tenter, & tort ou 4 raison. A dose modérée, les achats stupides sont quand
méme le sel de l'existence. .
GUY-HACHETTE %
MICRO-RECRE
Logique élémentaire
IX personnes (désignées par leur prénom,
c'est plus sympa !) sont ceci... ef ne sont pas
cela. D’oprés les renseignements, le pro-
gramme trace le portrait-robot de /a personne
X, qu'll s'agit évidemment d'identifier,
Ce jeu repose sur une logique élémentaire qu'il
nest pas interdit de développer (4 vous de jouer |),
Le programme actuel peut étre complété par une
poge d'explications et por d'autres lignes de don-
nées (DATA),
18 TEXT : PRINT CHRS (21): HOME : CLEAR
il est plus simple eae \ > 28 DIM $8(4),S1846,3) ,$2%(4,3):S8B = 3
ser plusieurs sdéries
ald compan eal pt 30 FOR 1 = 1 TO 18:T$ = TS + "=---": NEXT
40 FOR I = 1 TO 19:8 = Ve + * ": NEXT
Se:
6B REM +x HREM ERHE MH HR REE R ES
76 REM # GAISTE OU DONVEES EN DATA +
BO REM ##kHASE SHR HE ER EERE eRe eR RR Ree
78 :
% ee
Se nee ® 10@ VTAB 8: HTAB 6: INVERSE ; PRINT 13: NORMAL i PRINT
gromme : c'est plus rapide " SAISIE DES ELEMENTS": PRINT : PRINT : HTAB 8: IN
ee do lob colate: VERSE ; PRINT 2;: NORMAL : PRINT * ELEMENTS DU PROG
RAMME"
118 GOSUB 190: IF W = 1 THEN 426
128 IF W= 2 THEN GOSUB 1168:5 = 6; GOTO 4698
136 GOTO 118
146;
150 REM *#¥tteteeeeeeteneeeeeereenneen
168 REM * ATTENTE SANS CURSEUR .
170 REM HAee eR RHR RRR R EHR RRR RRR SEED
188 :
CAiterge actionne la clo- gm 1198 CALL ~ 1981 POKE - 16368,0: WAIT - 16984,128,12
erat 7: POKE - 16368,0:;W = PEEK ‘¢ ~ 16384) - 48: RETUR
N
208 :
210 REM HHH HHH R RRR RR RR RHR RRR eRe
228 REM * CHASSE AUX REPETITIONS *
230 REM ##¢ Fee ee eee EH e Hee eee RH eee eee
248:
Aucune logique n'est pos: 4 =| 259 TR® = “MOT DEJA UTILISE - A CHANGER®
sible at on onne ie | 268 IF LEN (S1$¢S,51)) > 18 OR LEN (S28¢S,82)) > 1@
plusieurs personnes THEN TR® = “UN SYNONYME DE MOINS DE 11 LETTRES SVP*
: GOTO 368
278 FOR 1 = 1 TO Si: FOR J = 1 TO SB: IF PR = 3 THEN 32
8
(suite aw verso)
Vv TREMPLIN MICRO
‘ASO R EEN ST ASSURE ESE Ree S NES eENR ETT wee ee ssoSeeeseesensneNssnsSesoessaeesesewens sane Eases
288
298
386
318
326
338
348
358
368
376
388
396
408
418
428
438
448
458
468
478
488
498
586
518
328
530
548
558
568
s7e
588
598
688
618
628
638
648
658
668
678
688
698
IF S$ = 1 AND Si = J THEN 308
IF S$1$(S,S1) = S$1$¢1,J) THEN 368
IF $1$¢S,51) = $2$¢1,J) THEN 348
GOTO 358
IF S = I AND S2 = J THEN 348
IF $2$(S,S2) = $28(1,J) THEN 368
IF $28(S,S2) = S1$(1,J) THEN 368
NEXT : NEXT : RETURN
PRINT : VTAB 22: CALL
PR GOTO 518,518,558
3
REM Steen tena eee RRR REE ERR EHR EE
REM * SAISIE *
REM S#etet ees eeeeeeeeseeeeeeesanee
~ 958: PRINT TR$: POP : ON
;
$ = 8:81 = @:S2 = 6
HOME : INVERSE : PRINT “LE SUJET";: NORMAL : PRINT
“ (UN SEUL MOT-4 SUJETS AU TOTAL)"
VTAB 2: PRINT TS
S$} = 6:82 = 8
S = $ + 1;PR = 1: PRINT ; VTAB 4; CALL - 958
PRINT : VTAB 4: INVERSE : CALL - 198: PRINT 53: N
ORMAL : INPUT “ -> “;S$(S): IF S$(S) = "" THEN 478
GOSUB 618
PRINT : VTAB 4: CALL ~- 958: INVERSE : PRINT LEFT
$ ($$(S),19);: NORMAL : PRINT * EST:":PR = 2
Si=Si+t
PRINT : VTAB Si + 5S: CALL - 198: PRINT Si" - "43
INPUT *";$19¢S,91); IF $19¢S,S1) = “* THEN 516
GOSUB 258; GOSUB 618
IF Si < 3 THEN 568
$2=S2+1
PRINT : VTAB 4: HTAB 28: INVERSE : PRINT LEFTS (S
$(S),18);2 NORMAL : PRINT “ N’EST PAS:":PR = 3
PRINT +: VTAB S2 + Si HTAB 28; CALL ~- 198; PRINT S
2" - "33 INPUT *";528(8,52): IF S2$(S,S2) = "" THEN
568
GOSUB 258: GOSUB 618
IF $2 ¢ 3 THEN 548
1F S ¢ 6 THEN 458
GOTO 698
POKE ~- 16368,8: VTAB 22: CALL - 868: CALL - 198
t INVERSE : PRINT "RETURN";: NORMAL : PRINT “ POUR
CONTINUER OU ESCAPE *;: GET R$:R = ASC (RB): IF R
= 13 THEN RETURN
PRINT : IF R < > 27 THEN PRINT : GOTO 618
POP ; ON PR GOTO 478,516,558
:
REM S##eeeeeeeR SRE HERR R ERROR EH EES
REM * LA PERSONNE X PREND FORME *#
REM FEN HHREN EH RRM NRE eee R EEE
3
Qli=1+
) * SB)
INT ¢ RND (1) * $):02 = 1 + INT ¢ RND (1
GUY-HACHETTE
ee chasse aux répéti-
tlons doit tenir compte
des deux séries de rensel-
gnements: EST — N'EST
PAS.
@ est un pointeur qui
renvoie exactement ou i!
fout.
CALL-958 vide le bas de
lécran.
¢ le sujet comporte plus
de 13 coractéres, ceux-ci
ne sont pas aftichés.
lo longueur des rensei-
ts est limitde & 10
coractores, Elle est
contrélée au début du
sous-programme “Chasse
aux répétitions”, ligne 260.
Pour chaque mot rentré,
il est demandé de confir-
mer par un RETURN.
QI at Q2 déterminent quel
en le renseignement
permettant d'identifier
la personne X.
anuscoemeenscaeesewsnes
8
Copie de I’écran,
obtenue a l’issue
de la saisie
des données.
autre choix aléatoire = | 799 xX = INT ¢ RND (1) * 2):ER = @11C = ER:IP = ER:FIN
re = ER
Ces quelques lignes gro. | 718 FOR I= 170 S:H= 14 INT ¢ RND (1) © SBD
biisscnt lo vornonrober | 720X =X + t1 IF X= 2 THNX = 0
de Ja personne X. 738 #1F G1 < > I THEN 768
a 748 «IF X = @ THEN IP = IP + 1:919(8,1P> = $1$(1,02): G
OTO 788
758 IC = IC + 1:829¢@,1C) = $28¢1,@2): GOTO 768
768 «IF X = 1 THEN IC = IC + 1:528(8,1C) = S18¢1,H): GO
TO 788
778 IP = IP + 1:818(8,1P) = $28¢1,H)
788 NEXT I
798 +
BOG REM #84 HHHSERAHH EAHA RHEE RRR RRR RHE
818 REM * IL S’AGIT DE L°IDENTIFIER *
820 REM #eteeteeeeeeeeneereeeeteteetee
830 :
F 846 TEXT : HOME
Laltichage obtenu icles! | 358 HTAB 8: INVERSE : PRINT* LA PERSONNE X
donnons une reproduction ": NORMAL : PRINT TS
‘en haut de la page. 868 VTAB 4: INVERSE : PRINT Vj: HTAB 22: PRINT V8: VT
AB 14: PRINT VS;: HTAB 22: PRINT V8: FOR 1 = 5S TO 1
3: VTAB I: HTAB 1: PRINT " "5: HTAB 19: PRINT “ "qe
HTAB 22: PRINT “ "3: HTAB 4@: PRINT " ": NEXT
87@ VTAB 6: HTAB 3: PRINT "EST:";: HTAB 24: PRINT "N’E
ST PAS!" NORMAL
886 FOR I = 1 TO 3: VTAB 6 + I # 2: HTAB 3: PRINT Si9¢
@,1);: HTAB 24: PRINT S28(8,1): NEXT
898 POKE 34,15: PRINT : HOME
988 VTAB 16: PRINT “QUEL EST LE NOM DE ";: INVERSE : P
RINT *X": NORMAL : PRINT LEFTS (T$,20)
91@ FOR I = 1 TO 3: VIAB 17 + I: HTAB 1: INVERSE : PRI
(suite av verso)
hd TREMPLIN MICRO
eae
928
938
948
958
968
978
998
1888
1616
1828
1838
1048
1056
1860
1878
1888
1098
1188
1118
1128
1138
1148
1156
1168
1178
1188
1198
LA PERSONNE X (suite et fin)
NT Ij: HTAB 19: PRINT I + 3: NORMAL : HTAB 3: PRIN
T S$(1);: HTAB 21: PRINT S$(I + 3): NEXT
VTAB 16: HTAB 22: FLASH : PRINT * "j: NORMAL +: CAL
L = 198: GET R$: POKE - 16368,0:R = ASC (RS) - 4
8: 1F R¢ 1 OR R > 6 THEN 928
VTAB 16: HTAB 22: IF R = Q1 THEN CALL
NT "VOUS AVEZ GAGNE!":FIN = 1: GOTO 9758
PRINT "HELAS! NON":ER = ER + 1
CALL - 958: PRINT : PRINT "CAR “S$(R)1 PRINT : PR
INT "- EST: "ys FOR I = 1 TO 3: PRINT SISCR,1D" “G2
NEXT : PRINT "": PRINT "~ N’EST PAS: "7: FOR I = 1
TO 3: PRINT S2$(R,1)* "+ NEXT : PRINT "*
VTAB 23: PRINT “AVEC *ER* ERREUR";: IF ER > 1 THEN
PRINT “S"
GOSUB 19¢
IF FIN = 1 THEN 1018
IF ER ¢ 6 THEN 898
FIN = 1: VTAB 161 HTAB 22: CALL - 868: INVERSE + P
RINT S$(Q1): NORMAL :R = @1: GOTO 958
GOSUB 198
!
REM Kx SSHRSSH HRN REN RRR ES ERE OTe
REM * A SUIVRE OU FIN DE JEU .
REM see eeeeeede ese eH HERE RHE EEH EE
:
VTAB 22: PRINT ; CALL - 178: INVERSE + PRINT 14:
NORMAL :; PRINT " AUTRE VERSION "ys INVERSE : PRINT
23: NORMAL ; PRINT " JEU COMPLET "3: INVERSE : PRIN
T 33: NORMAL : PRINT * TERMINE*;: GET RS
POKE - 16368,8:R = ASC (R$) - 48: IF R¢ 1 ORR
> 3 THEN 1878
ON R GOTO 698,10,1188
TEXT ; HOME : END
:
REM ##RSSRHRANH TREE ERE R EERE REE e
REM * POUR TOUS LES PARESSEUX *
REM tt tee Hee R eee H Ree RRR Re REET Ee
:
FOR I = 1 TO 6: READ S$(1): FOR J = 1 TO 3: READ S
1$(1,J): NEXT J: FOR K = 1 TO 3: READ S28(1,K): NEX
T K: NEXT I: RETURN
DATA LOUISE, TIMIDE,GRANDE ,FERMIERE ,POITEVINE , RAPID
E, BRUNE ,ALBERTINE ,MENTEUSE , FACETIEUSE ,RIEUSE , PARISI
ENNE , RIDEE , TOUCHANTE
DATA ANTOINETTE, BLONDE, GAIE, BELLE , SENSIBLE ,AFFABLE
,REVEUSE , EULALIE , PAUVRE , FAIBLE , DOUCE , GROSSE ,ANGEVIN
E,MARIEE
DATA COLETTE, OUBLIEUSE, INSENSIBLE ,CORIACE ,RANCUNIE
RE, EPICIERE, SECHE ,CHRISTINE ,GENTILLE ,MEDECIN,POTELE
— ,ROUSSE ,CURTEUSE ,VELLEITAIRE s
~ 198: PRI
GUY-HACHETTE
oa On comptabilise som:
mairement les erreurs.
ae En 190 se trouve Io bou-
cle dattente.
+ le nombre d'erreurs
otteint 6, il faut en tout
cas afficher lo réponse.
te jeu peut recommen-
cor autant de fois que
fon veut avec les mémes
données. Uidentification de
la Personne X n’en devient
pos, pour autant, enfantine
(contrairement 4 ce que l'on
pourrait penser).
Naturelloment, vous pouvez
modifier et compléter cette
partie du programme. Il
serait alors possible d'aller
aléatoirement & Io péche
aux renseignements !
neaessennQEneenrsonecss
20
Une autre
maniére
de
visualiser
vos
nombres
I VISUBLOCS I
PROPORTION DE FEMMES CHEZ LES PLUS DE 6@ ANS
ORTEZ de I'ordinaire et donnez de nouvelles dimensions aux
chiffres qui émaillent vos rapports... ou, plus simplement, 4 ceux
qui traduisent vos dépenses annuelles (les loisirs par exemple).
Le programme VISUBLOCS travaille dans la page graphique
numéro 2 (HGR2), a l'adresse $4000 (16384), et nous avons installé la
FONTE de caractéres a I'adresse 12288 ($3000). En supprimant tous
les REM, il est possible d'utiliser la page HGR, mais cela ne présente
pas d'intérét particulier sur les APPLE actuels.
Vous comprendrez facilement le fonctionnement de VISUBLOCS, au
fur et a mesure de la copie de son listage.
Un conseil : Plutét que de suivre l'ordre logique des lignes de pro-
gramme, essayez de taper Jes instructions dans Iordre exact ou elles
vont se dérouler. Ainsi, aprés la ligne 20, passez a l'adresse 2060,
puis G la ligne 310, etc. C'est une démarche apparemment désordon-
née, mais qui a le mérite de respecter Ja structure (bonne ou mau-
vaise) du programme que Ion étudie.
Saisie des données :Le menu ne comporte pas d'option "Correction
de données", mais celle-ci existe, en passant par "Créer un fichier de
données". Si l'on choisit l'option "Modifications" (ligne 1270), les
données en mémoire sont visualisées et on peut ou bien les modifier,
ou Jes conserver par un simple RETURN. p39)
2)
TREMPLIN MICRO
_gunsewavasusesrsvencsenseansensesanenesnessssrssn se sar esaEETesneN Ae ress eSsEST EST eSTSSVSSTSEUSTUSSU SSUES
1 VISUBLOCS.2 &
1@ LOMEM: 24588
28 GOSUB 2068; GOTO 318
38:
40 REM Setter eeeeeneeeeReeereeereeee
5@ REM *** ATTENTE SANS CURSEUR ##*
60 REM steteetesneereerereneeeseeeeee
78:
88 CALL - 198: POKE - 146368,0: WAIT - 16384,128,127: POKE - 146368,8:
B= PEEK < - 16384)
98 IF B= 9 THEN POKE 34,21: GOTO 1998
106 IF B = 1@ THEN POKE 34,21: GOTO 1986
11@ IF 8 = 18 THEN GOSUB 2126: POP : GOTO 318
12@ IF B = 63 THEN HOME : PRINT : PRINT DS"CATALOG": GET R$: PRINT :RS =
"*; POP :; GOTO 318
138 RETURN
148:
158 REM #HeMHR ERR Ree H RE RSE HMR R EH REE
168 REM #e* BOUCLE D’ATTENTE oon
170 REM s#tteeeeeeedsreeerseesteeerene
188 :
196 FOR E = 1 TO 1580: NEXT E: RETURN
208 :
210 REM 4#seeed enon eee eeeeeee eee eeeee
22@ REM ### CONFIRMER LE CHOIX «#8
250 REM Fe¥ eee eee eee R HERR R RR RRR eee
240:
258 PRINT *Confirmez votre choix par un * CHR® (34)"oui" CHR® (34): RET
URN
268
270 REM seeeteeeeeteseereeeeeenerteeee
288 REM #** MENU GENERAL eee
290 REM HeeeeeeeeeeHeeeeneHeneneeeee ee
366 :
318 GOSUB 1118
326 PRL: ' HOME : VTAB 1: INVERSE : PRINT * QUEL EST VOTRE CHOIX
"s: NORMAL + PRINT “-------- ~--+-----------~ -- --
33@ FOR 1 = 1 TOM: HTAB 1: VTAB 2+ 3 # 2: INVERSE : PRINT 15: NORMAL ;
PRINT “> " MIDS (M$,1 *# 38 - 29,38): NEXT
349 FOR I = 1 TO Ms HTAB 32: VTAB 2 + I # 2: PRINT “seeeeseee”t NEXT
358 CALL - 958
36@ IF R= 1 THEN R = @: GOTO 426
378 VTAB 22: PRINT " * TAPER UN <"5: INVERSE : PRINT *?"3: NORMAL : PR
INT "> POUR LE CATALOGUE"
388 GOSUB 88:C = 8 - 48: IF C <1 OR C > M THEN 360
398 VTAB 2 + (B - 48) * 2: HTAB 38: PRINT "<-"3: FLASH : PRINT Cr: NORMAL
: VTAB 22: HTAB 4: GOSUB 258: GOSUB 80: IF B < > ASC ("0") AND B ¢
> ASC ¢"o") THEN 340
400 VTAB 22: HTAB 1: PRINT TS
418 SPEED= 158; INVERSE : FOR I = 37 TO 32 STEP ~- 1: HTAB I: VTAB 2 + C
* 2: PRINT * “1: NEXT : NORMAL : SPEED= 255
428 ON C GOTO 1230,1768,448,438,1648,518,2230, 2388
GUY-HACHETTE 22
AUPE ROSS ARE SEREE ARTE SSS cesses een TeAET SSN ETE Se aes Sees eV SRN ESE ESE SAUNT RREEEAETAAReeeeeERensEeeeNEEED
436
448
458
468
478
488
498
See
518
528
536
548
558
548
578
586
598
680
618
$28
438
648
658
668
678
688
698
788
718
720
738
748
758
768
778
788
798
868
816
826
836
I VISUBLOCS.3 §
GOSUB 1858: HTAB 1: VTAB 22: CALL ~ 958: INVERSE : PRINT "PAGE GRAPH
IQUE EFFACEE": NORMAL : GOTO 346
IF HG = 6 THEN 2238
GOSUB 998: GOSUB 8G: GOSUB 1114: GOTO 348
t
REM cteee eee Ree EES EERE ETHER ESSE
REM #** PAGE GRAPHIQUE (TRACE) #*#
REM sexeneeeeenseeeseceenenneenons
3
IF N ¢ 2 THEN VTAB 20: HTAB 5S: INVERSE : PRINT “DONNEES TOTALEMENT 1
NEXISTANTES": NORMAL : GOSUB 1176: GOTO 348
HGR2 : HCOLOR= 3: VTAB 19: CALL - 958
G= INT (N/ 2): IF G< >N/2THENG=6 +41
J = 278: FOR I = 1706 - 133 = J = 11.5: NEXT
F=8
FOR 1 = 1 TON - 1: IF VAL (A8(I,1)) > = VAL (ASCI + 1,1)) THEN 58
8
AS = ASCII) SAS(1,1) = ACT + 1,1) :ASCT + 1,1) = ASIAS = ABCI,O):A8¢I,
@) = ASCI + 1,8):ASCI + 1,8) = ASIAS = AS(I,2):A8(1,2) = ASCI + 1,2)30
(1 + 1,2) = ASIF = 1
NEXT : IF F = 1 THEN 550
T = 8:8 = T:X = TY = G: FOR I = 1 TON STEP 2:X =X # 1:Y Y +
BS(1,8) = AS(X,8)1BS(1,2) = AS(X,2):BS(1,1) = AS(T,1): IF Y < = N THE
N BS<T + 1,8) = AB(Y,6):88(1 + 1,2) = ASCY,2);B8CI + 1,1) = AsCT + 1,1
)
T=T + VAL (B9¢1,2)): NEXT
VeI/TK = 6:0 = ~ 16:P = 16:0 = 1:50 = OW = 132 = 6
K=K+1
S = ¢ VAL (BS(K,2))) # Ys IF K = 1 AND S + 35 + ¢ VAL (BS(K * 1,220) #
V > 165 THEN P= P+ .18:V = - 18: GOTO 4648
HCOLOR= 2:U =U + 1: IF U= 1 THENO=0+0+ PW = 1
IF U= 2 THENW=2 + 25:0 = 8
FOR i =WTOW + S - 1 STEP .41; HPLOT 0 ¢ S - 1,1 TO 0,1: NEXT
HCOLOR= 7: IF K = G THEN SS=0O+6 47
HPLOT O,WTOOW+S-1T00+S-1,W+S-1700+ 5 - 1,W TO OW
3
REM seen eeeeeneeeeneeNReeRCeE EH
REM *** LEGENDES DES ALOCS +e
REM S44 HERHH EER EHHSS ERE HREM HOR R HH
t
VT =W +S + 83L = LEN (88(K,@)): IF L > (S + 7) / 6 THEN L = (8 4 7)
/ 6:B% = LEFTS (8$(K,8),L): GOTO 778
BS = BS(K,8)
DE=|S-L * 6:DE = DE+L #6
IF GO > t THENH = 0+ 2+ S - DE; GOTO Bea
H=1+S - DE: IF H< 1 THENH = 1
FOR I = 1 TO L:AS = ASC ¢ MIDS (B$,1,1)) - 31: DRAW AS AT H,VT:H = H
+ 6: NEXT
HPLOT OW+S-1700+6W+S+5T00+S+5W+S5+5T00+5
-~iW+S-1
HPLOTO+S+S5,W+S+5T00+S+5,W+ 6700+ 5 - 1,W
IF S$ > 2 THENZ2 = § DD
23
a
i VISUBLOCS.4 #
1318 N= 8
1328 N=N + 1: IFN > 12 THENN=N ~ 13 GOTO 1536
1338 VTAB 3 + N:E® =" “: IF N > 9 THEN E® = *"
134@ CALL - 868: PRINT ESN" -> ccvveveeeeee" gt IF MOK > 8 THEN HTAB 7:
PRINT AS(N,@);
1358 CALL - 198: HTAB 7: INPUT "*;AS: IF AS = "FIN" OR AS = “Fin” OR AS =
“Fin* THEN N =N - 1: GOTO 1538
1360 IF AS = "#" AND N ) 1 THENN =N - 2: GOTO 1328
1378 IF AS = "ee" OR (N = 1 AND AS = “#") THEN 328
138@ IF A’ = "" AND MO < > 8 THEN AS = AS(N,8): GOTO 1418
1398 IF A$ = "" THEN 1336
1408 IF LEN (AS) > 12 THEN AS = LEFT® (AS,12)
1418 VTAB 3 +N: HTAB 7: CALL - 868: PRINT AS}: HTAB 25: PRINT “seeeeeeee
."g: IF 40 < > @ THEN HTAB 25: PRINT AS<N,1)3
1428 CALL - 198: HTAB 25: INPUT "";8%: IF BS = "* AND MO < > @ THEN BS =
ASCN, 1)
1438 IF BS = "* OR BS = "#* THEN 1338
1440 FOR 1 = 1 TO LEN (BS): IF ASC ¢ MIDS (BS,1,1)) ¢ 48 OR ASC ¢ MIDS
(B$,1,1)) > 57 THEN VTAB 3 + Ni HTAB 24 ¢ I: FLASH : PRINT MIDS (BS,
1,1): NORMAL ; CALL - 198: CALL - 1978: GOSUB 190: GOTO 1418
1456 NEXT
1448 VTAB 20; HTAB 1: GOSUB 25@: GOSUe 8@: IF B < > ASC ¢*O") AND B ¢ >
ASC ("0") THEN 1418
1478 TAB 28: CALL - 868
1486 HTAB 24: VTAB 3+ Nz: CALL - 868: HTAB 24 + 18 - LEN (BS): PRINT BS:
AS(N,@) = ASSAS(N,1) = BS:AS = “":B% = °"
1498 T= 8: FOR 1 = 1 TON:T = 7 + VAL (A8CI,1)) NEXT I
1586 FOR 1 = 1 TO N:A$(1,2) = STR® ¢ INT ¢ VAL CASCI,1)) / T * 10868) Figs |
@8): NEXT : IF A = 1 THEN A = @: RETURN
1518 FOR I = 1 TON: VTAB 3+ I: HTAB 35: CALL - 868: HTAB 38 - LEN ¢ ST
RS (INT ¢ VAL (AS(1,2))2)2: PRINT AS(1,2): NEXT
1528 GOTO 1328
1538 R = 1: GOSUB 1648
1548 \VTAB 28: HTAB 1: CALL - 868:F$ = "*
155@ INPUT "TITRE DU FICHIER ";F$: IF F% = "* THEN VTAB 20: HTAB 1: INV
ERSE : PRINT "CONFIRMEZ NON-ENREGISTREMENT PAR * CHR® (34)"NON" CHRS
(34): NORMAL : GOSUB 88: IF 8B < > ASC ("N*) AND B¢ > ASC ("A") T
HEN 154@
156@ IF F% = *" THEN 1596
157@ VTAB 20: HTAB 1: CALL - 868: INVERSE : PRINT “ENREGISTREMENT “F%: NO
RMAL : VTAB 19: PRINT DS*OPEN"F$: PRINT DS*WRITE"F$: PRINT Nz PRINT CE
: FOR 1 = 1 TON: PRINT AS(1,0): PRINT A$(1,1): NEXT + PRINT DS*CLOSE*
Fs
1588 D = 1: GOTO 318
1598 :
14668 REM SSFSSHSEE ESSERE HRES EERE HT ESE
1616 REM #** TITRE DU FICHIER bidad
1628 REM RRR ESESA EEE OER TREE REESE EEE
1638 :
1648 HTAB 1: VTAB 26: CALL - 958: INVERSE : PRINT "TITRE DU GRAPHIQUE": N
ORMAL
1658 VTAB 22: HTAB 4: FOR 1 = 1 TO 11: PRINT "..."%;% NEXT PRINT
GUY-HACHETTE 24
SEIT CSE as TUMSESANETINA GSTS SS SSS OT USER TU RNUAT SSS AES FAssETeeenvaserausaNessenscseesNaNessnsseseesnanns
# VISUBLOCS.5 #
1668 VTAB 22: HTAB 1: PRINT “-> *C%;: VTAB 22: HTAB 4: INPUT ""sAS: IF AS
= "" THEN 316
1678 IF LEN (A$) ) 44 THEN 1448
1688 VTAB 28: HTAB 1: CALL - 958: INVERSE : PRINT A$: NORMAL : VTAB 22: H
TAB 1: GOSUB 258: GOSUB 8@: IF 8B < » ASC ("0") ANDB< > ASC ("oO")
THEN 1648
1698 C$ = AS:AS = “*: IF R = 1 THEN R = @: RETURN
1788 GOTO 318
1718 :
1728 REM 80s een eRe RR EH OHH ROE e eee eee
173@ REM *#* CHARGER UN FICHIER ##.
1748 REM *##*eeee ee eeeeeeeereneneeneeee
1758 :
1768 VTAB 28: HTAB 1: CALL - 958: INVERSE : PRINT “TITRE DU FICHIER";: NO
RMAL : INPUT “ "“;F$: IF FS = "2" THEN TEXT : HOME ; PRINT : PRINT
CHR$ (4)"CATALOG";: GOSUB 88: HOME :R = 1:C = 2: GOTO 316
1770 «IF FS = “* THEN 318
1788 PRINT : VTAB 26: HTAB 1: CALL - 958: INVERSE : PRINT "CHARGEMENT DE
"F%: NORMAL : PRINT ; ONERR GOTO 182¢
1798 VTAB 18: PRINT : PRINT DS*OPEN*F$: PRINT DS"READ"FS: INPUT N: INPUT C
$: FOR I = 1 TON: INPUT A$¢1,@): INPUT ASCI,1): NEXT : PRINT D$"CLOSE
“FS
1608 A = 1: GOSUB 1490; POKE 216,86
1818 D = 1; GOTO 348
1628 IF PEEK (222) = 5 THEN PRINT CHR® (4)"DELETE"F$: VTAB 28: HTAB 1!
CALL - 958: FLASH : PRINT "FICHIER *F$" INEXISTANT*: NORMAL : GOSUB 1
170; GOSUB 68
1838 POKE 214,8: GOTO 1760
1848
1850 REM ##+#eeeeneeeerernneeeeeeseeeee
1668 REM *** FONTE DE CARACTERES ##*
1870 REM steve etereeeeeeeereeneneeeee
1888 :
1898 IF DL = 1 THEN RETURN
1988 AD = 12288: ROT= @: SCALE= 1:F% = *VISUFONTE*
1918 VTAB 21: PRINT 1 PRINT DS"BLOAD"FS* ,A*AD::DL = 1
1928 POKE 232,AD - INT (AD / 256) * 256: POKE 233, INT (AD / 256); RETURN
1938 :
1940 REM #84eeeeetenneeereeeneeeseseaen
1958 REM #*# EDITION (DMP+CARTE SIP) ###
1968 REM #e#eeH ROEM een eee ee eR ERE EEN
1978 :
1988 PRINT : PRINT D$"PRE1*: PRINT CHR$ (27)"L@@5": PRINT CHRS (9)*GLED2
*: GOTO 2808
1998 PRINT ; PRINT DS*PREI": PRINT CHR$ (27)*L@28": PRINT CHR® (9)*GLE2*
2008 =PRINT : PRINT CHRS (4)"PRE@": TEXT + GOTO 348
2018 +
2020 REM S#eeeekeeeeeeeceneeeeeeneRHnen
2038 REM +++ INTTIALI SATION ose
2040 REM *#+te HHO RHN EHR eH ESHER Me
2650 :
2068 TEXT : PRINT CHRS (12); CHRS (21): HOME : HGR2 »
25 TREMPLIN MICRO
seed eeennONsEseLSUTETARUN ES SS SENS SeNSNSS SNES ANA TSTARTTSASSER SESS Soe e eR SEUT ALES SEAT TOSS SSN TOUS LET ST
i VISUBLOCS.6 I
940 IF U=1 THENG=S
es@ IF K = 2 THEN UM = VT
868 IF K < N THEN 636
878 «IF C$ = *" THEN 936
868 L = LEN (C8):H = (279 - L ® 6) / 21VT = WM + 17
898 HPLOT H,VT + 18 TOH + L * 6,VT + 18
9e@ FOR 1 = 1 TO LiAC = ASC ¢ MIDS (C$,1,1)) - 31: IF AC = 32 THEN H = H
+ 6: GOTO 928
918 DRAW AC AT H,VT:H = H+ 6
928 NEXT
938 HG = 1: GOSUB 88: GOSUB 1118: GOTO 346
948 :
950 REM Heats eee ee Ee eEH SEER EERE OEE E®
960 REM *#* HGR2 SANS EFFACEMENT ###
970 REM ceseeeneeeseeeeeeeeeeesesaneee
988 +
998 X = PEEK (49232) + PEEK (49234) + PEEK (49237) + PEEK (49239); RET
1880 ;
1018 REM HxdHHRHAHHHHHRHH RRA R HERE HERO
102@ REM #** EFFACEMENT HGR2 $4008 +++
1630 REM sheveeneteeteedeeseeseanennes
1048 :
1058 POKE 23@,64: HCOLOR= 4: HPLOT @,@: CALL - 3@82:HG = @: RETURN
1660
1078 REM eeeeeeeeteeeeseeeeneeneneneeee
1890 REM ##* RETOUR MODE TEXT *e*
1898 REM £#xHeeHERHEHEHSE HEH HEH
1168 +
1118 TEXT : RETURN
1128;
1130 REM #eteeeneetereseseseseeeeeseeee
1148 REM ##* BRUIT DE BALLE Sill
1150 REM KeeteHHHHORHARHH ERNE e EER
1168 ¢
1178 FOR 1 = 6 TO 36: FOR J = 49268 TO 49238 ~ I1:X = PEEK (J): NEXT J,I:
RETURN
1188 ;
1190 REM #eekeRH RSH RH RHE RRR EERE EERE
1268 REM e** SAISIE DES DONNEES #2#
1218 REM seeeeesevereeesereeerereeeeses
1228 :
1238 GOSUB 1118
1248 HOME : VTAB 1: INVERSE : PRINT * SAISIE DES DONNEES
©53 NORMAL PRINT sees re .
1258 POKE 34,3:M0 = 6
1268 HTAB 1: INVERSE ; PRINT “MAXIMUM=12"; NORMAL ; GOSUB 1178: HOME
127@ VTAB 22: PRINT *<{@) MODIFICATIONS <1) NOUVELLES DONNEES": GOSUB 9@; I
F 8 = 49 THEN 1308
128@ IF B ¢ »> 48 THEN PRINT : GOTO 1270
1298 MO = N
138@ VTAB 22: PRINT T$: HTAB 8: PRINT “Taper “ CHRS (34)"fin" CHRS (34)" p
our terminer*
GUY-HACHETTE 26
2078
2686
2098
2168
2116
2120
2138
2148
2158
2148
2176
2188
2196
2208
2216
2228
2238
2248
2258
2268
2278
2288
2298
2308
I VISUBLOCS.7 §
DIM A$(13,2) ,88(13,2)
CHD i cecenesccccceenrevee™
FOR 1 = 1 TO 18:T$ = T# + * “; NEXT
O= - 10:2 = 1:P = 18:08 = CHRS (4)
M$ = "CREER UN FICHIER DE DONNEES CHARGER UN FICHIER EXISTANT VOIR
LA PAGE GRAPHIQUE EFFACER LA PAGE GRAPHI QUE CHANGER LE TIT
RE DE LA PAGE TRACER LA PAGE GRAPHIQUE ENREGISTRER LE GRAPHIQUE
FIN DE TRAVAIL"
TEXT : HOME :MB = R:M = B
VTAB 8: PRINT "CTRL-I PERMET D’EDITER LA PAGE GRAPHIQUE EN
FORMAT SIMPLE CTRL-J PERMET DE REALISER CETTE EDITION
EN FORMAT SIMPLE"
PRINT 1: PRINT “PENDANT LA SAISIE DES DONNEES 0 wet ennnnnenn ied
Arenepemetenes ta mrrrrinr rie UN * RENVOIE A LA DONNEE PRECEDENTE eT *
# RENVOIE AU MENU GENERAL, SANS POUR AUTANT ANNULER CE QUI A ETE
SAISI."
PRINT ; PRINT "CTRL-R REAFFICHE CETTE PAGE DE FONCTIONS"
GOSUB 1148: GOSUB 80; IF MB = 18 THEN MB = @: RETURN
TEXT : GOSUB 1898: RETURN
REM *#ekt eee ee eeeeeeeeee eee neee
REM #** ENREGISTRER LA PAGE 2 *##
REM #£##S4S see RENAE EERE RRA ES
IF HG = @ THEN VTAB 28: HTAB 6: INVERSE : PRINT “PAGE GRAPHIQUE ENCO
RE VIERGE": NORMAL : GOSUB 117@: GOTO 346
VTAB 2@: PRINT : INPUT "TITRE *;G$: IF GS = *" THEN 340
ONERR GOTO 2280
VTAB 28: PRINT : PRINT D$"BSAVE"GS" ,AS4688 ,L8192"
VTAB 2@: PRINT : PRINT "PAGE 2 SAUVEGARDEE SUR DISQUETTE*: GOSUB 196:
POKE 216,8: GOTO 348
POKE 214,08: VTAB 26: PRINT “ERREUR NUMERO * PEEK (222): GOSUB 198: GO
TO 346
POKE 51,8: GOTO 318
TEXT : HOME : VTAB 28: PRINT "SGOTO229@ VOUS RENVOIE AU MENU": VTAB 1
9: END »
ll
ITALIE
TAUX DE CHOMAGE COMPARE (EN 1984)
a7
3880- 64
3008- E8
3810- 29
3018- 53
3828- 74
3¢28- AS
3638- E2
3838- 15
3046- 4F
3848- 8D
365@- C7
3858- FC
3868- 37
3868- 79
3878- B4
3078- EE
3888- Dé
3088- 08
3698- DO
3698- De
38AB- DO
38A8- DO
30Be- De
38B8- De
38Ce- oe
3eCe- FD
38D8- 89
36D8- 88
38EG- 6D
S8ES- 469
30F@- 2D
38F8- 3E
3106- 6E
3168- 66
3118-17
3118- 68
3120- 6D
3128- 2D
313@- 1E
3138- 35
3i48- 68
3148- 1E
3158- a9
3158- 31
3168- Fé
VISUFONTE
i VISUBLOCS.8 FI
TAPEZ CALL-151, suivi de RETURN, puis enregistrez la
totalité des données (attention | chaque enregistrement
doit commencer par le numéro de ligne, suivi de deux
points, comme indiqué ci-aprés). Exemple :
* 3000 : 64 01 DO G0 D9 G0 EG OO (puis RETURN)
eh)
F9
2F
SE
7F
BS
EO
1c
SA
9B
oS
8B
48
89
cé
oe
06
08
oe
ba
08
be
oe
De
FS
22
92
36
3168-
3178-
3178-
3168-
3188-
3198-
3198-
3iAa-
31A8-
31Ba-
3168-
31ca-
31c8-
31D6-
31D8-
31E6-
3iEs-
S1F8-
31F8-
3266-
3288-
3218-
3218-
3228-
3228-
32386-
3238-
3248-
3248-
3258-
3258-
3268-
3268-
3276-
3278-
32806-
3288-
3296-
3298-
32A8-
32A8-
3288-
3288-
32ce-
32c8-
B7
4E
17
AD
40
6D
66
52
88
1E
DOF
FE
31
68
49
88
56
33
1B
77
2F
GUY-HACHETTE
28
32D6- 2D 75 @1 866 4A 4D 31 DF 3360- 69 FE 1B @E 2D 4E 81 88
32D8- 33 40 31 3F 3F 6E @9 FE 3388- 89 2D 2D DE 36 36 76 49
32E8- 18 SE 6S 4E 68 88 B89 2D 3398- 88 86 4D 4D 31 DF 33 4D
B2E8- 1E 36 346 17 2D 4E 66 686 3398- 31 OF 33 4D 31 DOF 73 2D
32Fe- @F 49 31 36 36 DF 73 2D 33A8- 4E 81 88 89 4D 31 DF 33
32F8- 4E @1 88 89 4D Fl DF 6E 33A8- 40 31 DF 33 40 Fi IF OE
3308- 1& 37 6D 15 OF SE 69 4E 3380- 4E 09 68 49 4D 31 OF 33
3308- @@ 08 89 36 36 36 2D 75 33B8- 4D 31 1F 1F 6E @D 3E IF
331@- @1 66 66 40 31 FF 37 6D 33C8- 37 4D 71 61 66 92 4D 31
3318- @D FE 1F 6€ 69 FE 1B 4E 33C8- DF 73 @D 1E 17 @D 15 DF
3328- 89 4E GO 08 49 4D 31 DF 3308- 33 4D 71 61 6@ 4A 4D 31
3328- 33 6D 31 1F 1F 6E 29 FE 33D8- DF 73 6D 1E 36 76 49 88
3338- 1B 6E 89 4E 88 88 89 29 33E8- 68 2D 2D 2D BE 1E 17 1E
3338- AD DF 33 4D 31 DF 33 4D S3E8- 2E 2D 75 61 88 4A 29 3E
3340- 31 DF 73 2D 4E 61 68 69 S3F@- 2E 3E 2E 3E 2E 3E 40 88
3348- 2D AD OF 33 4D Fl 3F 37 S3F8- 48 CB 48 43 66 19 86 48
3350- 36 4E 49 61 48 OY 29 AD 3400- 86 86 B68 G8 GB BB BB BB
3358- DF 33 40 31 OF 33 @D 8D 3488- DB 1B 3F 2E 2D 8D AD SF
3366- 1E OF BE 46D 4E 88 BB OF 3416- 1F 3F 4E 89 20 35 3F DF
3368- 2D AD DF 33 4D Fil 3F 37 3418- DB 2A 6D @9 20 3E 3F IF
3378- @0 iS OF SE @9 4E 0@ 60 3426- 3F 77 2D 6D 20 FE 11 SF
3378- 89 29 AD DF 33 4D 3A 77 3428- SF
Pour sauver ce programme, faites un BSAVE VISUFONTE, A$3000, $429
CONTROLE DE SAISIE Aprés avoir enregistré VISUFONTE sur disquette,
offrez-vous le luxe de le contréler rapidement.
DE VISUFONTE comment ? Tapez NEW, suivi de RETURN, puis :
I VISUBLOCS.9 I
1G FOR | = 12288 TO 12288 + 1064: C = C + PEEK (I) : NEXT : PRINT C
Ensuite : BLOAD VISUFONTE (et RETURN, bien sGr), puis RUN (et RETURN). Aprés quel-
ques secondes un total devra apparaitre sur votre écran, Si ce total est 75665... Bravo !
Dans le cas contraire, véritiez chaque ligne de VISUFONTE...
VISUBLOCS fonctionne sous DOS 3.3 et sous ProDOS et comprend deux parties :
— VISUBLOCS (BASIC), de la page 22 4 la page 27 ;
— VISUFONTE (LM), pages 28-29.
IMPRESSION : Les instructions des lignes 1980
-1996 concernent l'imprimante APPLE DMP, équi-
pée d'une interface-buffer de lo société BIP. Elles
devront étre revues et corrigées. en fonction du
matériel dont vous disposez. Notez que vous
avez la possibilité (dons le menu) de sauver
vos VISUBLOCS sur disquette, puis de les éditer,
par lo suite, en utilisant le programme de votre
choix. En général, linterface liveée avec les
imprimantes EPSON comporte une copie d'écran
graphique. Chez APPLE, une routine d’édition est
fournie sur la disquette accompognant la docu-
mentation (cas d'IMAGE WRITER, notamment).
LIMITATIONS : || est évident que certaines don-
nées se prétent mieux que d'autres 4 une trans-
formation en VISUBLOCS.
Par ailleurs, on comprendra facilement qu'un
nombre poir de blocs est visuellement plus satis-
faisant qu'un nombre impair,
On remerquero que, dans le cas d'un nombre
impair, c'est toujours lo premiére rangée qui
accueille le bloc “supplémentaire", Etant donné
qu'un tri place les valeurs les plus grandes en
1éte, une modification du programme pourrait au
cantraire renvoyer le bloc supplémentaire en bas
de I'écran... NESTOR.
2
TREMPLIN MICRO
Topez ces 55 octets
derriére un CALL-151,
et souver-ies por un
0308: A2 A0
8302: 8D 2F 63
6305: 90 81 a8
0388: E65
9387: £8 88
9308; 08 FS
838D;: AP a?
Q38F: 385 467
Q311: AF 38
0313; 85 48
0315: 40
8316: AS AF
8318: 38
0319; EF 82
8318; 85 67
6310: AS 86
@31F: EF 88
6321: 85 68
8323; 40
324; A? G1
0326; 85 67
0328: AY 96
832A: 85 68
032C: 4C 66 65
@32F: 09 88 BB
@8 BC 3A
88 80
45
HEERE ELA LAE E TAAL ALLEL ATL ELAA LASEK HERE HERE
BOUTABOUT :
SEERA EEE EHH EE EEE HEHE EERE EEE HEHEHE EEE EEE E
* Taper successivement: *
* -— NEW (attention av programme!) #
* — BRUN BOUTABOUT *
* ~ LOAD PROGRAMME! et CALL 796 * ASSEMBLAGE
* ~ LOAD PROGRAMME2 et CALL 804 * PAR ProCODE
FERIA II III IIA ISAIAH SSS CA-
ORG $308
LIGNEG EQU $32F gligne @ (LIST)
BASIC EQU $8¢1 yDébut du programme Basic
DEBUT EQU $67 jAdresse du programme Basic
FIN EQU SAF jAdresse de la fin du programme
RUN EQU $0566 yRun, tout simplement!
Hoenn enn -- ------------- ------- a aann--#
LDX £806 qInitialisation de la boucle
BOUCLE LDA LIGNE®@,X jInstallation de la ligne @
STA BASIC,X t
INX }
CPX £388 jy] n’y a que 8 caractéres
BNE BOUCLE 7S’il n’y a pas égalité...
LDA £3989 ;On trompe i ‘Appiesoft
STA DEBUT jpour qu’il n’écrase pas la
LDA £988 tligne 6, lorsqu’il ya charger
STA DEBUT+1 ile PROGRAMME!
RTS iVers LOAD PROGRAMME:
Hoenn ene + + - $$ - $$ - + $e eee *
LDA FIN 300 prend fin Programme! 7?
SEC yAttention! on va soustraire
sec £982 32 petits octets & soustraire
STA DEBUT jpour tromper de nouveau
LDA FINe! yce brave Apple
SBC £388 jSans oublier la retenue,
STA DEBUT+1 yet la partie haute de 1 ’adresse
RTS yVers LOAD PROGRAMME2
#----------------------------------------------- +--+ +--+ *
LDA £361 yEt quant @ tromper son meilleur
STA DEBUT jami, autant le faire une
LDA £389 jtroisieme (a cause du dicton),
STA DEBUT+1 jmais derniére fois!
JMP RUN yVoici la liste de PROGRAMME!-2
Baan nn nn nn nn ee nn nn nr rn nr *
HEX @90806@0BC39A8008 ;Fausse ligne 8
$1 VOUS ETES DEBUTANT, mettez votre Apple en route en utilisant votre disquotte MASTER.
Topez NEW, puis CALL-151. et ;
* 300 : A2 00 BD 2F G3 9D 01 G8 £8 EG 08 DG F5 AD G9 85 67 AD 08 85 68 60 AS AF 38 £9 02 85
67 AS BO E9 09 85 68 60 A? G1 85 67 AD 08 85 68 AC 66 D5 09 08 00 00 BC 3A 80 00, ot un
RETURN finol, Souvez ensuite votre programme par un : BSAVE BOUTABOUT, A$300,L$37
GUY-HACHETTE
30
PUTILITAIRE Bean
Datez vos programmes
d'od la raison d'étre du programme ci-aprés, Si vous le lisez atten-
tivement (mieux : si vous le disséquez), vous constaterez qu'il est possible d’obtenir le méme résultat en 12 lignes,
en éliminant les saisies et affichages sophistiqués, de méme que les barrages prévus pour interdire les erreurs de
L existe maintenant tout un arsenal dutilitaires ProDOS,
et Io plupart d’entre eux permettent une mise 4 jour de la
date... mais on ne peut pos toujours s‘offrir un ufilitaire...
manipulation. On est... ou pas pertectionniste. C'est l'atfaire de chacun ! NESTOR.
18 TEXT : PRINT CHRS (12); CHR (21): HOME : INVERSE
20 ANS = "JANFEVMARAVRMA! JUNJULADUSEPOCTNOVDEC®
38 FOR 1 = 1 TO 10:TRS = TRS + * ": NEXT
40 FOR I = 1 70 5S: VTAB I; HTAB 1: PRINT “ “zs IF 1 = 1 OR I = 5 THEN FO
RJ = 2 TO 3%: PRINT * "3: NEXT J
5@ HTAB 4a: PRINT " *: NEXT i: NORMAL ; VTAB 3: HTAB 7; PRINT "QUELLE EST
LA DATE DU JOUR ?"
68 VTAB 6: POKE 34,7
70 PRINT CHR® (4)"PREFIX": INPUT PR@: PRINT CHR® (4)"PREFIX*PRE
86 HOME : PRINT "PREFIX";: INVERSE + PRINT PR8: NORMAL + PRINT |
90 D1 = PEEK (49048) - INT ¢ PEEK (49840) / 32) *# 32:D2 = INT ( PEEK (4
9041) / 22:D3 = ¢ PEEK (49041) - D2 * 2) #84 INT ( PEEK (49040) / 32
)
19@ IF 03 ¢ > 0 THEN M@ = MIOS CANS,D3 * 3 - 2,3)
11@ PRINT "DATE DU SYSTEME : “js
120 PRINT RIGHTS ¢¢"6" + STRS (D1)),2) + "=" + M#y: IF M$ = "" THEN PRI
ae
130 PRINT "=" + RIGHTS (¢°O" # STRS (D2)),2)
140 VTAB 2@: PRINT TR$: VTAB 22: PRINT <1) CHANGER DE DATE (2) CONTINUER
=> "3
15@ CALL - 198: GET R$: IF ASC (RB) ¢ 49 OR ASC (RS) > S@ THEN 150
146 IF R® = "1" THEN 188
178 GOTO 468
186 J = *"
19@ VTAB 10: HTAB i%: CALL - 198: PRINT J$;+ GET RO: POKE - 16368,8: IF
ASC (R$) = 127 AND J@ = < ») *" THEN J@ = “": GOTD 1978
208 IF J = "" AND RS >) "3" THEN 190
218 IF R& < "B" OR R$ > "9" THEN 198
228 «IF J$ = "" THEN J$ = JS + RS: GOTO 198
230 IF VAL (3% + RS) ¢ 1 OR VAL (JS + RS) > 31 THEN 198
240 «PRINT R$:J$ = JS + RS
258 M=M + i: IF % = 13 THEN M =}
260 VTAB 10: HTAB 22: CALL - 198: PRINT MIDS (ANS,M * 3 ~ 2,333: HTAB 22
: GET R$: POKE -~ 16365,8
278 R= ASC (RB): IF R = 13 THEN 300
268 IF R= 127 OR R= 68 THENM = M - 2: IF M ¢ 8 THEN M = 11
298 GOTO 250
300 As = "* (SUITE AU VERSO)
TREMPLIN MICRO
DATEZ VOS PROGRAMMES | Guite et fin)
318 VTAB 1@: HTAB 26: CALL - 198: PRINT AS;: GET R$: POKE - 16368,6
328 IF 4% ¢ > ** AND ¢ ASC (R$) = 8 OR ASC (R$) = 127) THEN 308
338 «IF R® < "6" OR RS > "9" THEN 318
348 PRINT R8:A$ = AS + R$: IF LEN (AS) < 2 THEN 318
35@ VTAB 12: HTAB 1: CALL - 198: INPUT “HEURE ARRONDIE : ";R$:H = VAL (R
$): IF H <1 OR R > 24 THEN 358
368 POKE 49841, VAL (AS) # 2 + (MD 7)
378 #IF M ¢ 8 THEN POKE 49648,M * 32 + YAL (J$): GOTO 398
366 POKE 49848,(M - 8) * 32 + VAL (JS)
398 POKE 49843,H: POKE 49642,8
486 PRINT : VTAB 22: CALL =~ 198: PRINT "<1> CHANGER DE PREFIX (2) APPLESO
FT -> "3: GET RIS
418 IF RI® = “2° THEN 498
420 IF RI@ = "1" THEN CALL - 198: VTAB 12: HTAB 1: INPUT “NOUVEAU PREFIX
2 “gR$: IF RS = "* THEN 486
438 FOR 1 = 1 TO LEN (R$):R = ASC ( MIDS (R$,1,1)): IF (R > 45 ANDR <5
8) OR (R > 64 AND R ¢ 98) THEN NEXT I: GOTO 458
446 GOTO 428
45@ ONERR GOTO 488
466 IF LEFT@ (R$,1) ¢ > "/* THEN RS = */" + RS
476 =PRINT CHR® (4)"PREFIX"R$: GOTO 78
486 POKE 2146,@: IF PEEK (222) = 6 THEN VTAB 14: PRINT “PREFIX INCONNU":
GOTO 498
498 TEXT : HOME
ATTENTION | Ce programme ne fonctionne qu’en version ProDOS.
Cette routine permet, dans un menu par exemple, d’afficher
une ligne dont seules les MAJUSCULES sont en INVERSE.
U'essayer, c'est probablement I'adop- 6360- 26 BE DE JSR DEBE
ter. Nous la devons 4 Yvan KOENIG, un 8383- 26 76 DOD JSR $DD7B
expert (amateur) pour lequel le lan- 8386- 2@ FD ES JSR SE&SFD
je machine n'a pas plus de secrets 9389- 8S 68 STA = $68
Stemecdmuas 63eB- Aa 20 LDY €888
@38D- Bl SE LDA ($5E),Y
@36F- cy 41 CMP £$41
8311- 96 68 Bec $6316
6313- c? 3B CMP £358
6315- Be 84 Bcs $631B
6317- 29 3F AND £$3F
8319- 16 62 BPL $831D
831B- e9 88 OGRA £$80
831D- 2@ ED FD JSR FDED
6320- ce INY
9321- C4 68 CcPY $48
6323- 98 ES BCC $8380
8325- 68 RTS
GUY-HACHETTE 32
° Générateur
‘
UTILITAIRE [EeSeenite
de programmes
=|! vous désirez écrire une petite routine, destinée a sai-
sir x valeurs (numériques ou alphanumériques), puis
& les mémoriser dans un fichier, créé sur disquette,
utilisez plutét ce modeste générateur de programmes !
ll présente l'avantage d'étre réutilisable 4 I'infini, pour
d'autres applications.
CREATEFIC (c'est son nom de baptéme) se charge en effet
d'écrire autant de clones que vous le désirez, et en quelques
minutes.
Aprés le RUN hobituel, répondez
aux quelques questions qui vous
seront posées, puis laissez votre Apple tourner. Un fichier
EXEC, intitulé PROGRAMME I, sera automatiquement ins-
tallé sur votre disquette, puis chargé en mémoire, 4 la place
de CREATEFIC (qui sera effacé... d'ou l'impérieuse nécessité
de le sauvegarder en priorité, avant la premiére utilisation).
Faites alors un SAVE FIC (ou tout autre titre, choisi par
vous), puis un RUN, Et c'est parti !
1068
1628
1638 T
1848
1858
1888
1098
1108
1128
1138
1148
1168
1178
1188
1198
1206
1218
1238
1248
1258
1278
1288
1298
1388
1316
1328
1338
1368
1378 :
GENERATEUR DE PROGRAMMES (suite)
TEXT : PRINT CHRS (12); CHRS (21): HOME
1018 0$ = CHRS (4):G8 = CHRS (34)
DIM L$<25)
3 = " CREATION D’UN PROGRAMME DE SAISIE ": VTAB 1: HTAB 21 - LEN (TS)
/ 2: PRINT T$
FOR I = 1 TO 16:TRS = TRS + * *; NEXT : VTAB 2: PRINT TRS
VTAB 4: HTAB 1: CALL - 958: PRINT "DESIREZ-VOUS ENREGISTRER :": VTAB
$: HTAB 2: CALL - 198: PRINT *<1) DES CHIFFRES <2> DES LETTRES ? *;:
ET RS
1868 NA = ASC (R$) - 48: IF NA ¢ 1 OR NA > 2 THEN 1858
1678 Vs = “E": IF NA = 2 THEN V$ = "ES"
INVERSE : PRINT R$: NORMAL
GOSUB 133@
VTAB 1@: HTAB 1: PRINT "VOTRE VARIABLE EST DONC *j: INVERSE : PRINT ES
: NORMAL
1118 R = 1: GOSUB 1288: IF W = 78 THEN 1050
VUTAB 12: HTAB 1: CALL - 958: CALL - 198: INPUT "TITRE DE VOTRE FICHI
ER ? “;TIS
IF T1$ = "2?" THEN R = 2; GOSUB 1288: GOTO 1128
IF TI$ = "#" THEN 1858
1158 Tl = LEN (TIS): IF TI = ® THEN 1128
FOR 1 = 1 TO TIiA = ASC ¢ MIDS (TI$,1,1)): IF (A ¢ 65 OR A > 98> AND
‘A ( 48 OR A > 57) ANDA¢ ) ASC (*.") THEN TIS = "2"; GOTO 1136
NEXT
VTAB 12: HTA® 26: INVERSE : PRINT TI: NORMAL :R = 1: GOSUB 1288: IF W
= 78 THEN 1120
UTAB 14: HTAB 1: CALL - 198: INPUT “NOMBRE D’ENREGISTREMENTS ? “;NE¢
IF NE@ = "2?" THEN R = 3: GOSUB 1288: GOTO 1198
IF NE@ = "#* THEN 1126
1228 NE = VAL (NES): IF NE ¢ 1 THEN 1198
GOSUB 1330
VTAB 3: CALL - 958: PRINT 1 PRINT “FICHIER ";: INVERSE : PRINT T18j:
NORMAL : PRINT " DIM “y: INVERSE : PRINT E@: NORMAL
PRINT : PRINT "# L’enregistrement ZERO sera le pointeur*
1268 R = 1: GOSUB 1286: IF W = 78 THEN 1198
GOTO 1428
VTAB 16: HTAB 1: CALL - 958: PRINT TRS
ON R GOTO 1308,1316,1328,1865
INVERSE : PRINT "O";: NORMAL 1: PRINT "UI OU "1: INVERSE : PRINT "N"j:
NORMAL : PRINT “ON EN CAS DE DESACCORD": GOTO 13468
PRINT “*AUTORISES: CAPITALES, CHIFFRES ET POINT": GOTO 1348
PRINT "ATTENTION! LA MEMOIRE A DES LIMITES!": GOTO 1368
IF NES = “" THEN NES = “X*
1340 ES = VS + "(* + NES
1356 E@ = ES + ")": RETURN
CALL - 198: POKE - 16368,6: WAIT - 16384,128,127: POKE - 16368,6:W
= PEEK ¢ - 16384): RETURN
6
GUY-HACHETTE
34
—
SEUSEWSCENESRENSSsEeN sas Sees Teneee sere ssSS ESTES EER ESRUE SSS AAESES ASAT SE EETASS ESTES ETS eK NS SSREET SESS TOSS
1388
1398
1468
1418
1428
1438
1448
1458
1468
1976
1488
1498
1588
1518
1526
1538
1548
1558
1568
1576
1598
1608
1618
1628
1638
1646
1658
14668
1678
168@
1698
1768
1718
REM S#*CCee POPES TERRE EHR E ERE RRR EHH R Eee
REM * PROGRAMME COMPLET DE SAISIE .
REM ##ekMRE TPR HERR RSS SSS HER OE RRR RARE EERE ES
;
L¢¢1) = "18 TEXT:PRINT CHR$(12);CHRS(21) :HOME"
L$(2) = "28 ONERR GOTO 238"
L$(3) = "38 DIM" + ES + *:DS=CHRS(4):F8=" + GS + TIS + GS + “IN=" + NES
L$(4) = "4@ FORI=1TO19:TRS=TRS+" + GS + * “+ GS + "INEXT"
L$(5) = "S@ Ts=" + GS + “SAISIE DES VALEURS DE “ + GS + “+FS"
L$(6) = *68 HTAB 21-(LEN(T$)/2):PRINT T$:PRINT TRS:POKE 34,3"
L$¢7) = "78 I=8:VTAB26:PRINT TR8:VTAB22:PRINT " + G$ + "?=CORRECTION -
*=TERMINE - &=8 DERNIERS" + GS + “1:POKE35,19"
L$(8) = "88 J=I+1:;VTABS:HTAB :CALL-958: INVERSE:PRINT 1 :NORMAL"
L$¢9) = "98 VTAB7:HTABI:INPUT " + GS + "--> " + CHRS (7) + GS + "FEST
FES=" + GS + G& + “THEN 98”
L$(1@) = "188 IF 1)1 AND ES=CHRS(43)THEN I=1-1:VTABS:HTABI :CALL-9581 INV
ERSE:PRINTI :NORMAL :VTAB7:HTABS:PRINT E$(1) :GOTO98"
L${11) = "$18 IF ES=CHR8(42) THEN I=1-1:G0T0248"
L(12) = "120 1F ES<>CHRS(38)THEN 158°
L$(13) = “138 HOME:R=1-8:1FR<1THENR=1"
L$(14) = "148 V=4:FORJ=RTOI-1 :VTABV tHTABI t INVERSE :PRINTJ 5 tNORMAL : PRINT
TABC4) 7" + VS + 45) :VeV42 NEXT 1CALL-198sPOKE-14968 ,@ 1WAIT-16384,128:P0
KE-16366,8:PRINT:HOME:I=1-1 ;GOTO6O"
IF NA = 1 THEN L$(15) = "150 * + US + "CT)SUAL(ES)1ES=" + GS + GS + “s
IF I(N THEN 88"; GOTO 1588
L9<¢15) = "158 ES(1)=ES:EG=" + GS + GS + “SIF I¢N THEN 80°
L$(16) = "168 GOTO 248"
L$¢17) = "178 PRINT D$;" + GS + "OPEN " + TIS + GS ¢ ":PRINT DS;" + GS
+ "WRITE " + TIS + GS + ":PRINT I:FORE=1TOI:PRINT * + VS + “(ED :NEXT:PR
INT 0$;" + GS + "CLOSE “ + GS
L$(16) = "166 TEXT:HOME:PRINT D;" + GS + "CATALOG" + GF
L$(19) = "198 GETRS:PRINT:HOME:PRINT " + G$ + "RELECTURE DU FICHIER " +
GS + ";FS sPRINT TR#:POKE34,3:PRINTiLIST260;GOTO 210"
L$(28) = "288 PRINT D$;" + GS + "OPEN " + TIS + G$ + “:PRINT D$;* + GS
+ "READ “ + TIS # GS + "SINPUT I:FORE=1TOI:INPUT * + VS + "CED :NEXT:PRI
NT D8;" + G$ + "CLOSE * + GS
L$¢21) = "218 PRINT:PRINT TR$:PRINT" + GS # "ET MAINTENANT, A VOUS DE J
QUER!" + 6S
L$(22) = "228 CALL-198:POKE-16368,@:WAIT-14384 ,128:POKE-146368,6 END"
L8(23) = "238 I=I-1:1FPEEK(222)<>255STHEN VTABIS8:PRINT" + GS + “PROBLEME
IMPREVU!" + GS + ":END"
L6(24) = "248 VTABI18:CALL-848:CALL-198:PRINT" + GS + “1) ENREGISTRER -
2) DERNIER SAIS] " + GS + ";:GETR®:PRINTRS:IFRS=CHRS(49) THEN 178"
L$(25) = "250 1=14+11ES=CHRS$( 63) :GOTO106"
VTAB 17: PRINT
PRINT D$"OPEN PROGRAMMEI"; POKE 33,33: PRINT DS"WRITE PROGRAMME1": FOR
1 = 1 TO 25: PRINT L$(1): NEXT : PRINT D$"CLOSE": POKE 33,4@
HOME : PRINT ; PRINT CHR® (4)"EXEC PROGRAMME!"
DEL 1808,1718
ee Compléter cet embryon de «générateur de programmes»,
de maniére & ce qu'il prévoie un menu, ainsi que la lecture
du fichier créé,
TREMPLIN MICRO
Economisez les (précieux) secteurs de vos
disquettes avec :
ECRANS CONDENSES
A
UTILITAIRE fakes
QUO! bon mémoriser, sur une disquette, les 64 octets inutiles d'un écran qui, dans Ia réali-
té, n’en exige que 960 (24 fois 49) ? Le mini-programme ci-dessous n'est qu'une démonstra-
tion, destinée & vous montrer comment fonctionne la routine ECRANLMde la page suivante,
18
28
38
48
58
68
78
8e
98
166
118
128
138
148
156
168
178
188
198
208
218
228
238
248
TEXT ; HOME ; PRINT CHRS (12); CHRS (21)
PRINT CHR® ¢4)"BLOAD ECRANLM*
PRINT “ECONOMISONS LES SECTEURS DE NOS DISQUET-TES EN
NE MEMORISANT QUE LA PARTIE TEXTEDE NOS ECRANS (EN 48
COLONNES>.
COMMENT ? VOICI] UNE SOLUTION:
~#- APPUYE2 SUR UNE TOUCHE SVP -#-
TAB 22: PRINT *
GOSUB 248
FOR I = 1 TO 23: VTAB I: FOR J = 1 TO 39: PRINT CHRS
(1 + 64)3: NEXT : IF 1 ¢ > 23. THEN PRINT CHRS (1 +
64): NEXT
POKE 1911,215: NEXT
FOR 1 = 2680 TO 203%: POKE 1,216; NEXT
VTAB 11 HTAB 1: GOSUB 240
CALL 768
FOR I = 8 TO 141 YTAB I: HTAB 5: PRINT "
"¢ NEXT
UTAB 18: HTAB 7: PRINT "L’ECRAN PLEIN DE LETTRES EST"
VTAB 11: HTAB 7: PRINT “ACTUELLEMENT MEMORISE A UNE *
VTAB 12: HTAB 7: PRINT "ADRESSE CONNUE: $2008 ET ON *
VTAB 13: HTAB 7: PRINT "PEUT L’ECRIRE SUR DISQUETTE."
PRINT *": UTAB 14: HTAB 7: PRINT CHRS (4)*BSAVE ECRD
EMO ,A$2008,L83C8"
GOSUB 248
HOME : VTAB 12: PRINT " APPUYER SUR UNE TOUCHE POUR L
E REVOIR": GOSUB 248
CALL 8146: GOSUB 248
HOME
VTAB 122 PRINT “CELA EST POSSIBLE GRACE A UN PETIT PR
O- GRAMME EN ASSEMBLEUR (76 OCTETS), QUI SECHARGE DES
TRANSFERTS."
PRINT + PRINT “IL FAUT EVIDEMMENT LE CHARGER EN MEMOI
RECAS308,L84C), PUIS PREVOIR + - CALL 7
68 vers $2868 - BSAVE ECRAN,AS2000,L
$38 - BLOAD ECRAN pour le relire
- CALL816 pour l’afficher.*
GOSUB 24@: HOME : END
CALL - 198: POKE - 16368,0: WAIT
POKE - 16368,8: RETURN
= 16384,128,127:
GUY-HACHETTE
ll reste que cette
fagon de faire pré-
sente non seule-
ment |'avantage
d'économiser un
secteur por écran*
mais celui de ne
plus heurter la sus-
ceptibilité de |' Ap-
ple... en Wobli-
geant 4 ingurgiter
64 octets d'intor-
mations incompati-
bles avec sa fonc-
tion du moment.
En effet, il ne faut
pas oublier que les
64 octets en ques-
tion représentent
notamment les N
fois 8 octets de
MEV réservés 6
chaque carte inter-
face de périphé-
rique.
*On économise en
tout cas | secteur en
souvant un écran texte
avec LIDI6 (qui esca-
mote les 8 derniers
octets, inutilisés pour
loffichage).
36
EC RAN L M Ce programme lit les 24 lignes de I'écran en 40 colonnes,
et les recopie & partir de l'adresse $2000 (qui peut évi-
demment &tre modifiée). On sauve I'écran par CALL 768,
puis BSAVE ECRDEMO, A$200G, L$3C0.
Bien entendu, il devra étre rechargé 4 la méme adresse... & moins de modifier la
routine ci-dessous. Un simple BLOAD ECRDEMO provoquera l'effet souhaité, puis
un CALL 816 entrainera l’affichage.
saen pe rd aN ae” On utilise les mémoires 06 et 07 de la Page
8304- As ae LDA = e808 Hee oem Pe eee. peer ee
@3046- 85 a6 Sta tse | See ‘
eses- 85 es STA $68
638A- 85 25 STA $25 ™) ~— $25 = CV, position verticale du curseur
63ec- 28 Ci FB JSR $FBC1 — Colcule l'odresse de lo ligne courante
@30F- Ae GO LDY £800 — Début de boucle
6311- Bi 28 LDA {B28),¥ | — En $28. et$29se trouve l'odresse de la ligne
9313- 91 86 STA (S06) ,¥ | — Réécriture dl'odresse $—7+Y
6315- cs INY — Plus un dans fa boucle
@316- C® 28 CcPY £%28 — A-t-on atteint 49 ?
8318- 08 F7 BNE 28311 — —Non ? olors, un outre tour |
@31A- AS a6 LDA SB6 7
@31C- is cLe
Beike P28 apc = £628 Llodresse de rédcriture est incrémentée de 40
O31F- BS 86 STA B46 : i y y
e32i- As oF LDA 807 Wm Roper Sa ee eter eae
§323- 6? 60 ADC £$06
@325- aS a7 STA 87 = |
9327- Es 08 INC $08 ==
8329- AS ee LDA $08 al En $8 est stocké le nombre de lignes
@32B- cy 18 CMP £318 ~] ~— Eston 624?
@32D- be DB BNE SB3G4 _!| —Non? on recommence
@32F- 68 RTS
8336- AP B46 LDA £SO6 =
6332- 8D 12 63 STA #0312
6335- A? 28 LDA £%28
6337- 80 14 43 STA $6314
@33A- = 28 88 O83 JSR #$03e@ Réaffichage. Cette partie du programme modi-
@33D- A? 28 LDA £$28 fie les adresses, puisqu’il fout lire & partir de
@33F- 8D 12 63 STA $8312 $2000, et réécrire & portir de $499.
@342- AP 86 LDA £306 Ensuite, on remet les choses en place,
@3494- 80 14 83 STA $6314
@347- A? 88 LOA £S60
6349- 85 25 STA $25
634B8- 6a RTS =
Pour rentrer cette routine, tapez CALL-151 et RETURN, puis | VERIFICATION (mode direct)
* 300 : A920 85 G7 A9 G0 85 96 85 96 85 2520. Cl FBAGGG61 289106 | FOR! = 768 TO 843: E = E + PEEK (|) :
CB CO 28 DG F7 AS G6 18 69 28 65 06 AS G7 69 0G 85.07 £608 A508C9 | NEXT: PRINTE
18 DO DB 60 A9 G6 BD 12.03 A9 28 BD 1403 2000 03 A928 8D 1203 a9 | ——_________
06 8D 1403 A9 G0 85.25 BSAVE ECRANLM, A300, 1$4C. | Le résultat doit étre 6955.
ee RG RCE SANRTSEUET TEU AS TESTA SR OU SEARS Sens seesnanersnvowercsuesrEs het T SUE TPS ROUETSSOUSESESULUSSETEEES
37 TREMPLIN MICRO
18
28
36
48
56
78
88
99
108
118
128
138
148
158
148
178
188
198
208
218
228
230
246
25¢
268
278
288
468 :
TEXT ; PRINT CHRS (12); CHRS (21): HOME
INVERSE : FOR I = 1@ TO 14: HTAB 19: VTAB I: PRINT
" "3: IF 1 = 18 OR I = 14 THEN FOR J = 11 TO 29:
PRINT " * 2 NEXT
HTAB 36; PRINT " ":; NEXT : NORMAL
Bee" CUE ST ss eR 8: T"
GOTO 198
ttte: REM s##seeeeeeeenseexa eeeeneseeee
tet: REM ©* SOUS-PROGRAMMES ”
322% REM HEP M RRR eR RRO RR eee EN eee eee
FOR 82 = 1 TO F:X = PEEK (49200): IF PEEK (49249
) > 128 AND F ¢ > 5 THEN FIN = 1
NEXT : RETURN
FOR 1 = 1 TO 3800: NEXT + RETURN
1
Titt: REM *#eseeeseseeeeeeeneeeeeeeeeees
sete REM ++ AFFICHAGE DU TITRE -
titt: REM s#eeeeeteseeeeeeeeeeeseseceeee
UTAB 12: HTAB 12: PRINT AS + “ *;: INVERSE +: PRINT
BS
F = 30: GOSUB 116
VTAB 12: HTAB 12: PRINT B$;: NORMAL : PRINT " * +
A$: IF FIN = 1 THEN 238
GOSUB 118:A =A + 1: IF A < 8 THEN 198
A = 8: VTAB 16: PRINT “Voulez-vous jouer avec moi:
Qui - Non ?*
VTAB 16: HTAB 48: CALL - 198: GET RS
IF ASC (R$) = 79 THEN 338
IF ASC (R$) = 78 THEN PRINT RS: PRINT "
' ce sera pour une autre fois! “: END
PRINT “": YTAB 18: PRINT " OUVREZ MIEUX LES YEUX S
‘IL VOUS PLAIT!": VTAB 16: HTAB 29: INVERSE : PRINT
"O";: HTAB 35: PRINT "N*: NORMAL : GOTO 248
t
Dommage
GUY-HACHETTE
Ouest-Est
OTRE entourage (vos éléves, peut-
&tre ?) connait-il sa géographie ? Rien
ne vous interdit de le soumettre 4 un
petit test, rapidement mis au point sur
votre ordinateur personnel.
@ Cadre mode inverse
ee Bruit dont la durée dé-
pend de ia variable F.
e Boucle d'attente,
@une maniére plus ou
moins éiégonte (ca
dépend des goits |) de
déplacer un mot.
Si FIN= | (Pomme ouverte
enfonede ; ligne 116). on
posse immeédiatement 4 la
suite.
+ Rappel 4 lordre... sans
aménits,
_UUSEUSSUSE SSS Ree RRERSSSTERERETTRSTETsTT STS SRESSESSAETRSAR SANS SSSRE ATES RATES ASS SSE ESTES SESE SSESAE SSO
CALL-958 vide I'écran,
& partir et ou-dastous P
du curseur,
Un bruit occompagne
Vatfichoge de chaque.
lettre.
CALL-913 fait remonter lo
totalité de I"écran d'une
ligne.
des trois villes 3
pars son isant la fonction
RND de l'Apple.
Si R=63, c'est que loy
touche Del o été enfon-
cée, ef on revient en
arriére.
On stocke dans lo va-
pale RXS les véponees?
trois
SPEED = 255, vitesse
maximum d’affichage.
318
328
338
348
356
368
37¢
388
398
400
418
428
438
448
458
468
478
480
498
308
518
526
538
548
558
548
578
588
598
; REM se sesceeeeeeeeeeeeeeeenesentee
LA PARTIE bead
teres + REM WORE RRS S SES RES HERS RRS HERS E REET
8
PRINT : VTAB 16: CALL - 958
T$ = "Le programme va successivement vous pro-poser
18 fois trois noms de villes... Cesera & vous de d
ésigner la ville qui estapproximativement située en
tre les deux autres, et les positions de celles-ci.
F = 3; FOR I = 1 TO LEN (T$)1 PRINT MIDS (TS,1,1)
¢: GOSUB 118: NEXT I: PRINT
F = 20: FOR I = 1 TO 9: GOSUB 119: CALL - 912: NEX
T : REM SCROLL (Déroulement vers le haut?
POKE 34,6: HOME
JEU = JEU + 1: VTAB 8: INVERSE : PRINT “QUESTION "J
EU;: NORMAL : PRINT TAB( 15);PT;" POINT*;: IF PT >
1 THEN PRINT "S*;
PRINT TAB( 29)"ERREUR = Del*: PRINT
FOR i = 1 TO 3: READ V6¢I): NEXT
Utd) = 104 INT ¢ RND (1) # 302MK2) = 1 +
D <1) # 3): IF VC) = UC2) THEN 418
V3) = 6 - VOI) - VC2)9 FOR T= 1 TO 3:xX8CI) = VECV
€1))a NEXT
FOR 1 = 1 TO 3: INVERSE i PRINT CHR® (I + 64931 .N
ORMAL : PRINT * "X#¢(I}: PRINT : NEXT
PRINT : vTAB 20: CALL - 958: FOR 1 = 1 TO 16: PRI
NT " “3: NEXT : PRINT
PRINT “TAPEZ LES LETTRES-CLES DANS L“ORORE QUE
YOUS ESTIME2 ETRE LE BON"
X = 1:kXs ="
INT (¢ RN
UTAB 17: HTAB 1: INVERSE : PRINT "REPONSE:*;+ NORM
AL : CALL - 198: PRINT " "RX$;: GET RS: POKE - 16
368,0;R = ASC (RB) - 64
IF R = 63 AND X = 2 THEN X = 1:RX$ = *"; GOTO 470
IF R = 63 AND X = 3 THEN X = 2:RX$ = LEFTS (RXS,!
>: GOTO 478
IF R <1 OR R > 3 THEN 478
IF X = 1 THEN 548
FOR 1 = 1 TOX - 1: IF MIDS CRXS,I1,1) = R® THEN 4
78
NEXT I: PRINT RS
RX = RXS + RB: VIAB B + R * 2: HTAB 2: CALL
: HTAB - 9 ¢ X # 123 PRINT X8<R)
IF X ¢ 3 THEN X = X + 1: GOTO 478
VTAB 17: HTAB 14
FOR I = 1 TO 3: IF VSC1) = XS¢ ASC ¢ MIDS (RXS,I,1
>) - 64) THEN NEXT : GOTO 416
PRINT “REPONSE INEXACTE": GOSUB 13@
SPEED= 40; FOR 1 = 1 TO 3: YTAB 8 + 1 * 2: HTAB 2:
- 868
CALL - 86@: HTAB - 9 + VCL) # 12: PRINT X$(1): N
EXT
(suite av verso)
TREMPLIN MICRO
408
618
628
636
648
658
666
678
686
698
708
718
728
738
748
758
768
OuUEST-EST (sult et FIN)
SPEED= 255: GOSUB 13@: 60TO 628
SPEED= 68: PRINT “REPONSE EXACTE: + 1 POINT!*:PT =
PT + 1: SPEED= 255: GOSUB 758
IF JEU ¢ 1@ THEN HOME : GOTO 388
HOME : PRINT : PRINT : INVERSE ; PRINT PT" POINT";
1 IF PT > 3 THEN PRINT *S";
NORMAL : PRINT : PRINT : PRINT : IF PT > 8 THEN P
RINT “TRES BON SCORE": GOTO 788
IF PT > 5S THEN PRINT “RESULTAT HONORABLE": GOTO 7
68
IF PT > 3 THEN PRINT “PEUT MIEUX FAIRE“; GOTO 768
IF PT > 1 THEN PRINT “DOIT MIEUX FAIRE"; GOTO 768
PRINT “OUILLE' UN VRAI DESASTRE! A REFAIRE!*: GOSU
6B 138
HOME ; CLEAR : GOTO 388
VTAB 22: HTAB 1: PRINT “41> JE RECOMMENCE
ST TERMINE “;; CALL - 198: GET RS
IF R$ = "1" THEN 696
TEXT : HOME : END
DATA LE MANS, ORLEANS ,MONTARGIS , PERI GUEUX ,BRIVE ,AUR
ILLAC, CAEN, LISIEUX VERNON , BOURGES ,NEVERS , AUTUN , CHAT
ELLERAULT , CHATEAUROUX , VERNON
DATA DINAN, FOUGERES ,ALENCON ,ANGERS , TOURS ,BLOIS, DAX
yAUCH, CASTRES ,MONTLUCON ,VICHY , ROANNE , CHAUMONT , EP INA
L, COLMAR ,AUXERRE ,VESOUL , BELFORT
FOR S = 748 TO 786: POKE S, VAL ¢ MIDO® ("681738481
921342080041 990072400082022092441 44004674008883894"
,¢S - 767) * 3,3)): NEXT S: FOR U = 18 TO 98 STEP 5
: POKE 6,U: POKE 7,15: CALL 768: NEXT U
RETURN
<2) €°2
Pour les commentaires,
donnez libre cours 4
votre inspiration per-
sonnelle, sdrement
meilieure...
ee CLEAR permet de re-
mettre toutes les varia-
bles 4 zéro et dvite la com-
mande RESTORE.
Cest une utilisation du
son" de notre poge 51.
Normolement, il est inu-
tile de la relancer 4 cho-
que foils, mais cela vaut
bien une boucle de
temps |
MASTER).
Offrez-vous les disquettes
de programmes de
Au choix : DOS 3.3 ou ProDOS.
(ProDOS ne fonctionne qu’aprés avoir
lancé le systeme avec une disquette
Utilisez le bulletin de commande de la
page 62... ou recopiez-le.
GUY-HACHETTE
40
[TREMPLIN MICROFICHE 3
CARTE LANGAGE _ TRANSFERT ET RECUPERATION
Fee Ora esac mers DE DEUX ECRANS TEXTE
La routine n°] transfére un écran de 1024 octets en MEV, Bloc 1, & partir de l'adresse DGGO [il
suffit de toper CALL 768). La récupération est obtenue par un CALL 806. Lo routine n°2 utilise la
méme adresse, mais vers le Bloc 2 (transfert : CALL 841 ; retour : CALL 879).
Utilisable 6 partir d'un programme en Basic, ov en mode direct. Un RESET est sans effet sur les
écrans ainsi mémorisés.
Restriction : il ne faut évidemment pos avoir chargé le BASIC INTEGER sur la carte langage.
1 MEV1 2. MEV2
0300 : AD 89 CO LDA $cas9 | 0349 : AD 81 CO LDA $08)
0303 : AD 89 CO LDA $cga9 @34C : AD 81 CO LDA $cga!
0306 : AY 00 LDA £$00 G34F ; AY OO LDA £$00
0308 : 85 3C STA §3C 0351 : 85 3C STA $3C
O3GA: AY O4 LDA £$04 0353 : AY O4 LDA £$04
G30C : 85 3D STA $3D 0355 : B5 3D STA $3D
O3GE : AY DO LDA £$D0 G357 ; AY DO LDA £$00
0310 ; 85 3E STA $3E 0359 : 85 3E STA $3E
0312 : A9 07 LDA £$07 G358 : A9 07 LDA £$07
0314 : 65 3F STA $3F G35D : 85 3F STA $3F
0316: A9 00 LDA £$00 O35F : AY OO LDA £$06
O318 : 85 42 STA $42 0361 : 85 42 STA $42
G31A: AY DO LDA £$D0 0363 : AY DG LDA £$D0
G31C ; 85 43 STA $43 0365 : 85 43 STA $43
O3IE ; 38 SEC 0367 : 38 SEC
O31F : 20 11 C3 JSR = $C311 0368 : 20 11 C3 JSR $C311
9322 : AD 8A CO LDA $casA 0368 : AD 82 CO LDA $cas2
0325: 60 RTS O36E : 60 RTS
0326 : AD 88 CO LDA $co8s G36F : AD 80 CO LDA $Ca8d
0329 : Ad OO LDA £$00 0372 : Ad OO LDA £800
0328 : 85 3C STA $3C 0374 : 85 3C STA $3C
0320 : AI DO LDA £$D0 0376 : A? DO LDA £$D0
Q32F : 85 3D STA $3D 0378 : 85 3D STA $3D
0331 : A9 DG LDA £$D9 Q37A : AY DO LDA £$D9
0333 : 85 3E STA $3 G37C : 85 3E STA $3E
0335 : AY D3 LDA £$D3 Q37E - AY D3 LDA £$D3
0337 : 85 3F STA $3F 0389 : 85 3F STA $3F
@339 : AY oo LDA _£$00 9382 : AY OO LDA £$00
Q33B : 85 42 STA $42 G384 : 85 42 STA $42
G33D : AY O4 LDA £$04 0386 ; AY 04 LDA £804
O33F : 85 43 STA $43 g2e8 ; 85 43 STA $43
0341 : 18 cLC Q38A ; 18 - cic
0342 : 20 11 C3 JSR $C311 0388 : 20 11 C3 JSR = $C311
0345 : AD 8A CO LDA $COBA Q38E : AD 82 CO LDA $C082
0348 - 69 RTS @391 : 60 RTS
ECRITURE SUR DISQUETTE :
BSAVE MEV1, A$30G, L$49 BSAVE MEV2, A$349, L$49
Si vous réunissez les deux routines ; BSAVE MEV1.2, A$300, L$92
UTILISATION : BLOAD MEV1, ou BLOAD MEV2 (dans un programme : PRINT CHRS$(4) ; "BLOAD MEV1"}.
GUY HACHETTE TREMPLIN MICRO
FICHE 3)
| TREMPLIN MICRO
TRANSFERT D’ECRANS TEXTE
Avec ProDOS. on ne peut utiliser que MEV2
CARTE LANGAGE
Il n'est évidemment pas nécessaire d'utiliser les deux routines (exposées au recto de cette
fiche) pour transférer plusieurs écrans sur la corte langage, mais quelques pokes doivent
alors précéder chaque opération.
Le programme en BASIC ressemblera 4 ceci (nous avons escamoté les numéros des lignes) :
ECRAN 1 VERS MEV1 ($D000-D3D0)
POKE 769,137 : POKE 772,137 : POKE
ECRAN 2 VERS MEV2 ($D000-D3D6)
POKE 769,129 : POKE 772,129 : POKE
803,138 ; POKE 795,268 : CALL 768
MEV1 VERS ECRAN ($0406-07D0)
POKE 807,136 : POKE 838,138 : POKE
814,208 : POKE 822,211 : CALL 806
ECRAN 3 VERS MEV1_ ($D40G-D7D0)
POKE 769,137 : POKE 772,137 : POKE
803,138 ; POKE 795,212 : CALL 768
MEV1 VERS ECRAN ($0490-07DG)
POKE 807,136 : POKE 838,138 : POKE
814,212 ; POKE 822,215 : CALL 806
803,130 : POKE 795,208 : CALL 768
MEV2 VERS ECRAN ($0460-07D9)
POKE 807,128 : POKE 838,130 : POKE 814,
208 : POKE 822,211 ; CALL 806
ECRAN 4 VERS MEV2_ (SD400-D7D9)
POKE 769,129 ; POKE 772,129 : POKE
803,130 : POKE 795,212 : CALL 768
MEV2 VERS ECRAN ($0490-07D9)
POKE 807,128 : POKE 838,130 : POKE
814,212 ; POKE 822,215 : CALL 806
Quant 4 votre routine unique, la voici, & taper aprés le CALL-151 habituel ({) = RETURN)
300 ; AD 89 CG AD 89 CO A9 00 85 3C AD G4 85 3D A® DG B5 3E A9 G7 85 3F AD
G0 85 42 A9 DG 85 43 38 20 11 C3 AD BA CO 69 AD 88 CO A9 GG 85 3C AP DO 85
3D A9 DG 85 3E A9 D3 85 3F A9 GG 85 42 AI G4 85 43 18 26 11 C3 AD BA CO 60 +)
BSAVE MEV, A$300, L$49 |»)
Telle qu'elle se présente au départ, et aprés un BLOAD MEV, cette routine ne transfére
qu'un écran, vers MEV1. Pour les écrans 2, 3 et 4, les lignes de POKES sont obligotoires,
Notez que vous moditiez alors votre programme, d’ou la nécessité d'utiliser TOUS LES
POKES, y compris pour I'écran numéro 1.
RAPPEL DES INSTRUCTIONS UTILISEES ICI
GUY-HACHETTE TREMPLIN MICRO
eee eee
———
ProDOS et la carte langage
ProDOS va se loger sur !a carte langage, et il n‘est donc pas possible d’utiliser la MEV! de
celle-ci (notre Fiche n°3). Le programme DEMO ci-aprés nous montre comment transtérer 4
écrans en MEV2 (avec ProDOS ou DOS 3.3 d'ailleurs). Son apparente complexité est due au
simple fait qu'il est destiné & une démonstration... sur écran, Ne vous affolez pas !
5 PRINT CHR$ (4)*BLOADMEV2"
10
20
30 78 = *": FOR 1 = 1 TO 10:T$ = TS + * “: NEXT + PRINT TS
225
230
235
240
245
250
(C'est lo petite routine MEY, de la fiche ci-contre).
TEXT : PRINT CHR® (12); CHR® (21): HOME
PRINT “TRANSFERT DE 4 ECRANS TEXTE EN D000-D7D0";
VTAB 10: LIST 50: LIST 210
REM ECRAN 1 EN $0000-D3D0 (MEV1) - ECRAN 2 EN $D000-D3D0 (MEV2)
REM ECRAN 3 EN $D400-D7D0 (MEV1) - ECRAN 4 EN $D400-D7D0 (MEV2>
GOSUB 210: POKE 795,208: CALL 768: REM TRANSFERT ECRAN 1
GOSUB 220: VTAB 10: LIST 70: LIST 210
GOSUB 210: POKE 795,212: CALL 768: REM TRANSFERT ECRAN 2
GOSUB 220: VTAB 10: LIST 90: LIST 210
GOSUB 210: POKE 795,216: CALL 748: REM TRANSFERT ECRAN 3
GOSUB
GosuB
:
220; VTAB 10: LIST 110: LIST 210
210: POKE 795,220: CALL 768: REM TRANSFERT ECRAN 4
REM RAPPEL DES 4 ECRANS A L’ADRESSE
t
G6OSUB
220: YTAB 12: PRINT “RECUPERATION DES ECRANS 1 2 3 ET 4
GOSUB
GosuB
60SUB
6OSUB
GosuB
6OSUB
GOSsUB
GOSUB
GOSUB
POKE 769,129: POKE 772,129: POKE 803,130: GOSUB 255: RETURN
~ 198: VTAB 22: PRINT "“APPUYEZ SUR UNE TOUCHE POUR CONTINUER"
127: POKE - 16368,0: VTAB 3: CALL
220: LIST 140: LIST 230: LIST
230: GOSUB 235: CALL 806: REM
220: LIST 160: LIST 230: LIST
230; GOSUB 240: CALL 606: REM
220; LIST 180; LIST 230: LIST
230: GOSUB 245: CALL 806: REM
220: LIST 190: LIST 230: LIST
230: GOSUB 250: CALL 806: REM
220: END
CALL
1 POKE - 16368,0: WAIT - 16384,128,
- 958: RETURN
CALL
~- 198; VTAB 22: INVERSE : PRINT “PRESSEZ UNE TOUCHE POUR LE R
EVOIR";: NORMAL : POKE - 16368,0: WAI
68,0: VTAB 3: RETURN
POKE 807,128: POKE 838,130: RETURN
POKE 814,208: POKE 822,211: RETURN
POKE 814,212: POKE 822,215: RETURN
POKE 814,216: POKE 822,219: RETURN
POKE 814,220: POKE 822,223: RETURN
255 X = X
+ 1: VTAB 20: HTAB 33:
$0400-0700
235: GOSUB 225
RETOUR ECRAN 1
240: GOSUB 225
RETOUR ECRAN 2
248: GOSUB 225
RETOUR ECRAN 3
250: GOSUB 225
RETOUR ECRAN 4
T - 16384,126,127: POKE - 163
Un détail : le disque virtuel /RAM vous
permet, sous ProDOS, de mémoriser...
puis de récupérer instantanément vos
écrans...
INVERSE : PRINT “*ECRAN "X: NORMAL : RETURN
Dons un
programme,
tout ce
blablablo
est inutile.
Méme remarque
que ci-dessus.
Une boucle
bien orgonisée
fera votre
bonheur |!
43
TREMPLIN MICRO
ProDOS et VOUS
ETIT & petit, le systéme d’exploitation
ProDOS remplacera le bon vieux DOS
3.3, archi connu et non moins tolérant,
mais moins évolué que son cadet.
comme... son ancétre.
RAM Premier avantage de ProDOS —
important, 6 mes yeux du moins —
Vemploi de la mémoire auxiliaire de la carte 80
colonnes étendue, sous forme d'un disque-
mémoire de 61 K. Comment y accéder ? por la
commande /RAM, simplement...
Ainsi, vous pouvez stocker un écran sur ce troi-
siame drive en topant BSAVE/RAM/ECRAN,
A$40G, L$3D0, puis le récupérer par BLOAD
/RAM/ECRAN. Ca ne marche pas ? (NO BUFFERS
AVAILABLE) Normal. Faites précéder le BLOAD
por POKE 48984,0... et vous verrez bel et bien
votre écran. Détail qui a son importonce, /RAM
est occessible & tout moment, y compris
lorsqu’on se trouve dans un sovs-volume (ou
répertoire) de type DIR. Pratique, non ?
CATALOG \e commande CATALOG
ne présente d'intérét que
si l'on est en 80 colonnes. Sinon, lui préférer
CAT, surtout si l'on est paresseux, CAT ou CATA-
LOG présente le cotalogue de la disquette dont
ProDOS a enregisiré le PREFIX. Si la disquette o
été changée au profit d'une autre, le systéme va
lo rechercher en vain... et il y aura un message
d'erreur (PATH NOT FOUND), Par contre CAT,D1
ou CAT,D2, de méme que CAT/RAM, comblent
ProDOS de joie (mais i! n’oublie pas l'ancien
PREFIX pour outant).
Comment accéder directement, sans changer de
PREFIX, au sous-catalogue d'une disquette de
préfixe TM2 ? Pas compliqué (si les titres sont
Puisque vous avez le privilége de posséder
un Apple, apprenez donc & utiliser le petit
nouveau, Pro comme professionnel et DOS
courts |); CAT/TM2/TOTO. Notez que l'indica-
tion du DRIVE est inutile : ProDOS le cherche... et
le trouve. Quelle belle intelligence |
RUN ef BRUN Ceauisuit est égale-
ment valable pour
LOAD et BLOAD. Quand le programme que vous
désirez charger ov loncer n'est pas dans un
sous-volume (DIR), vous l'obtenez en tapant
directement RUN NOM ou BRUN NOM... ov
encore — NOM (efficoce dans un cas comme
dons l'autre). Ceci dit, rien ne vous empéche
dialler charger le programme d'un sous-
volume... sans changer de PREFIX, mais n‘oubliez
jamais que ProDOS ne conserve en mémoire que
le PREFIX qui lui o formellement été indiqué por
syne commande de type PREFIX,DI ou PREFIX
/NOM (nom = prétixe en question). Si vous char-
gez un programme LILI dons le sous-volume
TOTO, alors que Je PREFIX fourni actuellement 4
ProDOS est celui de la disquette (TMI, par exem-
ple), vous allez toper LOAD/TMI/TOTO/LILI, et
cela va marcher. Toutefois, attention | Si votre
programme fait appel 4 un fichier écrit dans le
sous-volume TOTO (c'est fréquent), il va se plan-
ter... & moins que votre commande en Basic n'uti-
lise elle-mame la formule ci-dessus /TM1/TOTO
/FICHIER, par exemple.
li est donc souhaitable, avec ProDOS et les sous-
catalogues DIR, de changer de PREFIX avant de
taper un RUN. Dans le cas évoqué ci-dessus,
commencez
Showing the first 100000 of 150894 characters.