Text content (OCR)
tremplin
micro
tremplin-micro ne
fpprenez @ programmer i
Demandezlmeure Connent doniner votre
votre ARBIe fois
On indicat Qos t Profs
musical Mi tas de petites routines
La pseudo pagers)
un
perpetuel
- Dessinezides Efoil
Apple et ProDOS (noms et
logos) sont des marques dépo-
sées d’Apple Computer, Inc.
BIMESTRIEL
Le numéro : 30 F
Abonnement d'un an 180 F
(6 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 :
Joelle (méme numéro)
Commission paritaire :
Demande en cours.
Les revues qui choisissent
d'étre réellement au ser-
vice du Lecteur, en ne
Vobligeant pas 4 glaner,
dans plusieurs magazines,
les renseignements con-
cernant sa machine, ne
bénéficient pas du numé-
ro de Commission Pari-
taire, et pas davantage
des tarifs postaux réduits.
Vous étes formidables
ES LECTRICES et LECTEURS de Tremplin Micro
sont réellement formidables, et j'en ai quoti-
diennement la preuve, en lisant leurs lettres ou
en leur parlant... au téléphone.
J’en connais pourtant trois qui vont m’accuser de ne
voir que le bon cété des choses, et de ne point publier
leurs critiques. Pourquoi, en vérité, vanterais-je les
“mérites” que s‘attribue l'un d’eux ; heureux de pira-
ter logiciels et disquettes, et de photocopier — dit-il
— les soixante pages d’une revue inintéressante (la
nétre)... plutét que de l'acheter. Que de temps et de
papier perdus pour des informations dépeurvues
d'intérét ! Je n’aimerais pas étre a la place du cochon
de payant (car il existe) victime de cette inutile et
onéreuse hémorragie de feuilles volantes !
Oui, vous &tes formidables, et nous commengons
dans ce numéro, 4 publier certains de vos program-
mes. Nous avons d’ailleurs, dans ce domaine, beau-
coup d’autres projets. Nous en reparlerons bientét.
La majorité des Lectrices et Lecteurs de Tremplin
Micro est favorable 4 la présence, dans la revue,
d'une publicité informative (voir formative).
Tremplin Micro ouvrira bientét ses colonnes aux
annonceurs, mais le nombre des pages rédactionnel-
les\n'en souffrira pas, au contraire. La publicité doit
apporter un plus... ou ne pas @tre.
Une bonne nouvelle pour 1986: votre magazine
paraitra 6 fois par an (au lieu de 5). Le prochain
numéro sera mis en vente le 9 janvier.
Et maintenant, place 4 la programmation !
Amicalement
GUY-HACHETTE.
aaah a Eee EEE Eee
TREMPLIN MICRO
1
Sommaire 5
Initiation
© USR(?) voeccceece cece seeseees 24
© La pseudo page 3 graphique ...... 27
© Déplacement et comparaison
des zones de mémoire .........-- 51
Des trucs
© Trois mystérieuses instructions
de 'PFOCODE . casts ta samae as a 19
Micro-basic
© Uncalendrier perpétuel
proposé par Michel Edelin ........ 36
PROGRAMMES UTILITAIRES
™ Correction avancée ......--.-+++5+ W
™ Des pokes utiles pour modifier
le catalog ProDOS ............-5++ 29
™ Ecrans condensés,
un programme de Maurice Chavelli .. 40
H RAM.COPIE ov comment transférer
vos programmes-disquette sur /RAM. 52
MUSIQUE | e par Jacques Saussard @
Un indicatif musical ......... 30
ESSAIS DE LOGICIELS
* Il y aun abonné au numéro que votre
Apple a demandé ... 10
(Version Com — Telplus — Transcan)
* Gestion Il de Version Soft ........--- 23
SON © avec Richard Thibert
De quoi mettre une certaine
animation dans vos jeux ..... 14
What time is it Miss Mouse ?
© par Claude Aubry °
Demandez l'heure 4 la souris
DARE | oslo Som Maes 20 3
GRAPHISME
Tracer un cadre dans une page
graphique ........ 66 psesie de cece eee ee sees 46
Dessine-moi
des
étoiles
Une méthode 4 la fois simple et efficace
pour tracer des étoiles ...........-..5-- 49
2
J LISEZ AUSSI :
WE LGVFES). os ocx csisacawia are ne erenereeany ee mes 8
@ Questions et réponses .
B Votre bibliotheque
informatique .........---- 20 —39 — 48
NOS LECTEURS ONT DES IDEES
* Caractéres francais transposés en
page graphique par M. Devaux ...... 33
™ Votre fiche n°5 ......--..5--555 21—22
™ Le courrier des lecteurs ......-..--- 55
Mi Index: wai so assies sa oa onsen em oa oe 60
™@ Bulletin de commande
et d’abonnement ........--.555++5 62
TREMPLIN MICRO
Le numéro 6 paraitra le 9 janvier.
GUY-HACHETTE
Pre Oe header
OUTTVNTTH b0s3.3. | propos | carte souris |
What time is it
Miss Mouse 2
par Claude AUBRY
Quelle heure est-il ? Demandez-le a la souris APPLE,
elle vous répondra en affichant constamment, précisé-
ment, et imperturbablement I’heure, la minute et la
seconde dans un coin de votre écran.
Pour afficher le compteur, il suffit d’appeler le pro-
gramme par CALL 768. Il restera présent sur |’écran
tant que vous ne taperez pas CTRL RESET, et comptera
soigneusement le temps quelle que soit votre activité (il
marque tout de méme une pause durant les accés dis-
que, le temps de respirer, en somme !).
Pour le mettre a I’heure, il faut “POKER” les valeurs
convenables aux adresses ’"COMPTEUR”.
—— LE PROGRAMME
Le court programme en assembleur
6502 (il “tient” dans la zone $300-
3CF) utilise la possibilité pour l’inter-
face souris de générer des interrup-
tions tous les soixantieémes de
seconde lorsqu'on choisit le mode
interruption @ chaque rafraichisse-
ment d'écran.
Lorsque ce mode est choisi, l’ordina-
teur interrompt la tache qu'il était en
train d'accomplir et va exécuter un
programme dont l’adresse est don-
née en $3FE-3FF. II suffit de fournir a
ce vecteur l’adresse de notre pro-
gramme d’horloge et le tour est gen-
timent joué.
Cette horloge peut étre utilisée avec
n‘importe quel programme ne faisant
pas appel 4 la souris et j'espére
qu’elle vous amusera : vous pourrez
compter le temps passé 4 répondre a
un INPUT, fabriquer un réveil, etc.
Naturellement, toute routine utili-
sant la plage $300-3CF détraquera
irrémédiablement votre Apple-
chrono... 2
TREMPLIN MICRO
seomessmaesausnmesnzernensnsssesnezocsneneessonsasenesnsssensReesesssusssesoeEeneneeNTeRNseoesSeseeeT
Assemblage par ProCODE
300: 78 30
301: 26 35 03 31
304: AY 74 32
306: A2 G3 33
308: 8D FE 03 34
30B: 8E FF 03 35
30E: AG 19 37
310: 29 1¢ 03 38
313: AO 12 39
315: Ad 99 4G
317: 20 1¢ 03 4l
SIA: 58 43
3IB: 60 44
31C: 48 50
31D: Bl G6 51
SIF: AE 30 03 52
322: AC 31 03 53
325: 8D 33 03 54
328: 8E 34 03 55
32B: 68 56
32C: 26 32 03 57
32F: 60 58
WHAT TIME IS IT MISS MOUSE ?
Une utilisation originale de la
souris pour Apple /Icet Ile.
Claude AUBRY (septembre 1985)
*
TMP EQU $6
SETMOUSE EQU $12
SERVEMOUSE EQU $13
INITMOUSE EQU $19
WARM EQU $300 i
VECINT EQU $3FE
ECRAN EQU $400
couT EQU $FDED ;
DEBUT DU PROGRAMME
ed
Programme appelé par CALL 768
ORG $300
BEGIN SEI
JSR = CHECKSLOT
LDA £ INTERUP ;
LDX £ INTERUP B
STA VECINT :
STX VECINT+1
LDY £INITMOUSE
JSR = CALLCARD
LDY £SETMOUSE
LDA £%000G1001
JSR CALLCARD
CLI
RTS
| SOUS PROGRAMME CALLCARD
CALLCARD PHA :
LDA (TMP),Y ‘
LDX CN i
LDY NO ;
STA TOCARD+1 ;
STX TOCARD+2 ‘
PLA ‘
JSR = TOCARD ;
RTS i
POINTEUR TEMPORAIRE
RESTART PRODOS
VECTEUR interruption
Début de l’écran
SORTIE DE 1 CARACTERE
*
Interdit les interruptions
OU EST LA CARTE SOURIS
LSB programme inter
HSB programme inter
LSB VECTEUR interruption
HSB
Pour syncro
Pour mode
Sélection mode inter
Par screen refresh
Rétablit interruptions
Retour basic
*
‘on sauve l’accu
recherche offset
adresse (HSB) carte
et N° de slot
vectorisé
pour saut indirect
recupére accu
saut indirect 4 la carte
et retour
(Suite page 5)
GUY-HACHETTE
——
ee eae
Salalah alae earl a re alee eed
330: ag 69 CN HEX G0 ; stock HSB AD carte
331: og 61 NO HEX 60 ; stock Numéro slot
62 *
332: 4c o@ oO 63 TOCARD IMP $0600 ; opérand modifie par prog
64 *
65 * *
66 .
67 Recherche du slot ou est la carte MOUSE |
68
69 . ,
70 | Doc. page 54 Apple mouse user's manual
a ® -
72 *
335: A2 07 73 CHECKSLOT LDX £$07 ; on teste 7 slots
337: A? OO 74 LDA £$00 ; on commence la recherche
339: 85 06 75 STA TMP ; aux adresses hautes
33B: AQ C8 76 LDA £$C8 ; soit $C700
33D: 85 07 77 STA TMP+1 ; en fait C800 décrémenté
33F: Cé 07 78 LOOPI DEC TMP+1 ; on décrémente
341: CA 79 DEX ; X sert de compteur
342: 39 21 80 BMI EXIT ; si @ erreur @ carte
344: AQ OC 81 LDY £$0C ; octet de signature
346: BI 06 82 LDA (TMP), ; doit étre la
348: ¢c9 20 83 CMP £$20 ; et égal 4 $20
34A: DO F3 84 BNE LOOP] ; pas la ! slot précédent
34C: AQ FB 85 LDY £$FB ; 2' test de signature
34E: Bl 06 86 LDA (TMP).Y ; en CN $FB
350: C9 D6 87 CMP £$D6 ; est-ce bien $D6 ?
352: DO EB 88 BNE LOOP! ; non slot précédent
354: AS O7 89 LDA TMP+1 ; oui on sauve l’adresse
356: 8D 34 03 90 STA TOCARD+2 ; pour plus tard
359: 8D 30 93 91 STA CN ; utilisé par callcard
35C: GA 92 ASL ; on décale
35D: OA 93 ASL ; de 4 octets
35E: OA 94 ASL ; pour faire passer
35F: OA 95 ASL ; HSB en LSB
360: 8D 31 G3 % STA NO ; numéro de slot
363: DO GE 97 BNE START ; et retour
98 *
365: AQ @5 99 EXIT LDY £$05 ; message d’erreur
367: B9 CA @3 106 ERRLOOP LDA NOCARDMSG-1,Y ; si pas de carte
36A: 20 ED FD 101 JSR COUT ; on envoie le message
36D: 88 192 DEY ; £CARD et on arréte
36E: DO F7 103 BNE ERRLOOP
104 *
370: 4C DO G3 105 WARMSTART JMP WARM
106 *
373: 60 107 START RTS
108 *
109 * a
116
uy PROGRAMME D'INTERRUPTION
1
lis * =
114+
115 * Ce programme est effectué 60 fois
116 * par seconde.
17 *
118 INTERUP. EQU *
374: 78 9 SEI ; On interdit les interruptions
126 *
375: 48 121 PHA ; SAUVEGARDE DU CONTEXTE
376: BA 122 TXA (Sulteipages)
TREMPLIN MICRO 5
377: 48 123 PHA
378: 98 124 TYA
379: 48 125 PHA
126 *
37A: AG 13 127 LDY £SERVEMOUSE ; Lasouris est-elle cause inter ?
37C: 20 1C G3 128 JSR = CALLCARD
37F: EE C4 93 129 INC SOIXANT ; Compte les 6Ge de seconde
382: AD C4 03 130 LDA SOIXANT ; Cela fait-il une seconde ?
131 *
385: C9 3B 132 CMP £59
387: D@ 29 133 BNE SKIP ; Pas encore : on saute
134 *
389: AY OO 135 LDA £0 ; Oui : onremet a0
38B.: 8D C4 G3 136 STA SOIXANT ; Le compteur des soixantiémes
137. *
38E- A2 G5 138 LDX £5 ; 6DIGITS
139 *
140 LOOPTIME EQU *
41 *
390: FE C5 63 142 INC TEMPS,X ; Eton incrémente les unités
393: BD C5 @3 143 LDA TEMPS,X ; Combien d'unités ?
144 *
396: C9 3A 145 CMP £'9+1 : +de9?
398: 90 18 146 BCC SKIP ; Non : on saute la suite
147 *
389A: AY 30 148 LDA £0 ; Sinon on remet les unités...
39C: 9D C5 03 149 STA TEMPS,X poe OO...
39F: CA 150 DEX
3AG: FE CS 03 151 INC TEMPS,X ; ... et on incrémente les dizaines
3A3: BD C5 03 152 LDA TEMPS,X ; Combien de dizaines ?
153 *
3A6: C9 36 154 CMP £'6 ; +de6?
3A8: DO 68 155 BNE SKIP ; Non : saute la suite
156 *
3AA: AI 30 157 LDA £0 ; Sinon on remet les DZ a0
3AC: 9D C5 G3 158 STA TEMPS,X
159 =
3AF: CA 160 DEX ; Les 6 chiffres ?
3B0: 10 DE 161 BPL LOOPTIME ; Non : on boucle
162 *
163 *
164 SKIP EQU *
165 *
166 * ~
167
ve PROGRAMME D’AFFICHAGE
170 * =
71 *
172. * On peut ruser et supprimer |'affichage (mais non le cumul du temps)
173 * en poquant un code bidon 4 la place du STA ECRAN,X en le chan-
174 * geant en LDA par exemple.
175 *
176 * ainsi POKE 951,189 ; arréte l'affichage
77 * POKE 951,157 ; LERETABLIT
178 *
3B2: A2 @5 79 LDX £5 ; 6 CHIFFRES
3B4: BD C5 03 186 LOOP LDA TEMPS,X ; On récupére...
3B7: 9D 00 G4 181 STA ECRAN,X } ... et on affiche
SBA: CA 182 DEX Encore ?
3BB: 10 F7 183 BPL LOOP ; Oui
184 *
3BD: 68 185 PLA
(Suite page 7)
GUY-HACHETTE
ves
0 ee ee ee ee
SBE :
SBF :
3C0 :
3Cl :
3C2 :
3C3::
3C4 :
3C5 :
3CB :
98
68
68
58
40
30 30 «30
30 30 «30
C4
c3
D2 Cl
A3
186
187
188
189
196
191
192
193
194
195
196
197
198
199
200
201
202
263
204
205
206
207
208
TYA
PLA
TXA
PLA
cul
RTI
ON RESTITUE LE CONTEXTE
; On rétablit les inter...
: ...eton repart
COMPTEURS
*
SOIXANT HEX 00
TEMPS ASC
*
000000"
POKE 965+ Y,X pour mise a l'heure
+o *
MESSAGE ERREUR
NOCARDMSG ASC "“DRACE£”
; MESSAGE si pas de carte
Si vous ne possédez pas d’assembleur, vous pouvez saisir les 26 lignes ci-aprés. Tapez,
d'abord CALL-151, suivi de RETURN, puis la valeur indiquée, sans oublier un RETURN a la fin
de chaque ligne.
Quand vous aurez terminé, enregistrez votre programme sur disquette par un BSAVE
MOUSE.TIMER,A768,L208 (A$30G,L$D@).
ERIFICATION (en mode direct, aprés CTRL-RESET) :
T=06
300: 78 20 35
308: 8D FE 03
310: 26 1C G3
318: 1C G3 58
320: 30 03 AC
328: 8E 34 G3
330: 00 GO 4C
338: 00 85 G6
340: 07 CA 36
348: C9 20 DO
350: C9 D6 DO
358: 03 8D 36
360: 8D 31 G3
63
8E
AG
60
31
68
oo
Ag
21
F3
EB
63
DG
: FOR I = 768 TO 975: T = T + PEEK(I) : NEXT : PRINT T
1
5
16
15
20
25
PRINT CHR$(4);""PREQ”
PRINT CHR$(13); CHR$(4); "BRUN MOUSE TIMER”
HOME
VTAB 6: HTAB 7: PRINT "PROGRAMME DE MISE A L'HEURE”
VTAB 12: PRINT “Donnez l'heure sous la forme HHMMSS”
VTAB 17: HTAB 17
Le résultat devra étre 21212.
AI 74 A2 G3 368: CB 03 26 ED FD 88 DO F7
FF 03 AG 19 370 : 4C DO G3 66 78 48 8A 48
12 AY 69 20 378: 98 48 AG 13 26 1C @3 EE
48 @6 AE 380 : C4 03 AD C4 G3 C9 3B DO
03 8D 33 @3 388: 29 AY GB 8D C4 G3 A2 OS
20 32 G3 60 390 : FE C5 63 BD C5 03 C9 3A
OG A2 07 AI 398: 99 18 AI 36 9D C5 G3 CA
C8 85 07 Cé SAG: FE C5 03 BD C5 63 C9 36
AG OC Bl 06 3A8: DG G8 AI 36 9D C5 B3 CA
AG FB Bl G6 3B0: 10 DE A2 G5 BD C5 @3 9D
AS @7 8D 34 3B8 : 0G G4 CA 10 F7 68 98 68
GA GA OA GA 3C0.: 8A 68 58 40 GO 30 36 30
GE AO G5 BI 3C8: 36 36 30 C4 D2 Cl C3 AZ
MOUSE.DEMO
30 FORI=@TOS
40 GET H$:
IFH$ < "G" ORH$ > "9" THEN 40
45 PRINT H$;
50 POKE 965 + |, ASC(H$)
60 NEXT
TREMPLIN MICRO
Nous répondons ici
aux questions de
lecteurs néophytes.
© L'Apple Ile 65C@2 est-il vraiment compatible
avec ses prédécesseurs ? Est-il plus intéressant
et plus rapide ?
Il est entierement compatible avec |'Apple
lic dont il utilise notamment les nouveaux
jogiciels basés sur le concept graphique sou-
ris (4 condition d'étre équipé de la souris et
d'une carte 80 colonnes, bien entendu).
Pour le reste, Apple annonce une compatibi-
lité 493% avec les anciens Apple /le, toutes
versions confondues, ce qui n’est pas si mal.
Incontestablement, quand il est totalement
utilisé, le 65C@2 est plus rapide que le 6502.
Il dispose en effet de 10 instructions supplé-
mentaires et de 27 nouvelles possibilités
d’adressage, autorisant des routines plus
courtes.
* Quels sont les pokes permettant d’écrire
dans les pages graphiques | et 2, puis de les
afficher ?
10 HGR : HGR2 : TEXT : HOME
26 HCOLOR = 3: POKE 236,32: REM ECRI-
TURE PAGE 1
30 HPLOT G,0 TO 279,191
4G POKE 236,64: REM ECRITURE PAGE 2
50 HPLOT G,191 TO 279,0: GOSUB 200:
VTAB 22: PRINT’ RAGE | AVECTEXTE®
60 REM PAGE 1 AVEC 4 LIGNES DE TEXTE
70 POKE 492360: POKE 49235,0: POKE
49239,0: POKE 49232,6
80 GOSUB 200: REM PAGE 1 SANS TEXTE
90 POKE 49234,0
100 GOSUB 200: REM PAGE 2
110 POKE 49237,0
126 GOSUB 200: REM PAGE 1
130. POKE 49236,0
140° GOSUB 20@: REM PAGE 1 AVEC TEXTE
150 POKE 49235,0: HOME : VTAB 22: PRINT
"PAGE 1 AVEC TEXTE”
169 END
200 VTAB 1: CALL — 198: GET R$: PRINT :
GRAPHISME ET SON SUR APPLE“
Avez-vous déja traité le graphisme sur votre Apple
(I+, He ou lic) ? Quelle que soit votre réponse,
sachez que, de toute facon, vous apprendrez quel-
que chose dans le troisiéme volet de “PRATIQUE DES
APPLE", consacré au graphisme et au son.
J.-C. Fantou, auteur de cet guyrage, mérite des élo-
ce: FOniey; QUrSer Se CEt SUV age: Mens Ses Sie
ges. Voila de la bonne besogne ! Tout est clair,
exact, documenté. Gageons que, grace aux conseils
et routines de ce spécialiste, bon nombre de pro-
grammeurs (débutants ou non) vont s'intéresser au
graphisme et au son.
Cela nous promet, pour les mois 4 venir, d'inédits lis-
tages, capables de générer de fantastiques ima-
ges... ou les mesures inattendues de compositeurs
en herbe. * EDITIONS RADIO 9, rue Jacob — 75006 PARIS (145 F)
LE FUTUR AUJOURD’HUI
On ne présente pas Albert Ducrocq, professeur 4 la
Fondation nationale des Sciences politiques, journa-
liste, écrivain et chroniqueur écouté a Europe 1.
On ne présente pas davantage son livre, accueilli par
des critiques élogieuses dans toute la presse,
lorsqu'il a paru, en 1984, chez Plon.
Les 15 années qui vont changer notre vie : I'informa-
tique, I’électronique, les robots, mais aussi la bio-
industrie, etc.
Le Futur aujourd'hui, publié en livre de poche, dans
la collection Marabout Université, va toucher de nou-
veaux et nombreux lecteurs... vous peut-étre !
Clément RENARD.
GUY-HACHETTE
Communications
Il y aun abonné au numéro
que votre Apple a demandé...
Branché, cablé : la communication est a l’ordre du jour.
Malheureusement, nos beaux ordinateurs n’aiment guére
communiquer; et le jour ow |’on pourra raccorder une
machine au téléphone aussi simplement qu’on branche
aujourd’hui une prise de courant ou un moniteur vidéo
ne semble pas encore arrivé...
Connecter son Apple au téléphone
Cest, soudain, pouvoir communiquer
avec le monde entier comme avec son
voisin, pour transmettre, recevoir ou
échanger informations, graphismes ou
programmes,
Pour cela, il faut disposer d’une inter-
face RS-232 (carte’ Série) et d’un
modem ou, solution de luxe, d’une
carte-modem directement enfichable
dans |'Apple. A cela il faut ajouter un
logiciel de communication sans lequel
votre machine serait incapable du
moindre dialogue intelligent. Car la
communication, ¢a se gere.
Si certains modems, comme la carte
Appletell par exemple, sont directe-
ment livrés avec un logiciel performant,
il n’en est pas de méme pour d'autres.
Aussi les concepteurs de softs se sont-
ils penchés sur la question et
Proposent-ils désormais des solutions.
Pour vous, nous venons de tester Ver-
sion Com, de la turbulente société fran-
¢aise Version Soft, et Telplus de Micro-
mat, une autre société francaise.
Version-Com
Un joli coffret, un manuel copieux, une
disquette : il n’en faut pas plus pour
gérer les communications sur un
Apple. Mais pas n’importe lequel :
Version-Com ne reconnait que deux
machines, |’Apple IIc et le nouvel
Apple lle (version 65C02). Si vous pos-
TREMPLIN MICRO
sédez un Apple plus ancien, il vous fau-
dra donc retourner a la case départ et
passer chez votre revendeur pour faire
monter le kit de mise a niveau.
Cété modems, Version-Com est plus
souple et supporte tous les modems
externes raccordés a la carte SSC Super-
Série ou la sortie série du IIc, ainsi
que les modems Apple-Sectrad, Digite-
lec et Ultec. II reconnait également les
cartes Appletell, Apple-Cat Il (de Nova-
tion) et les MID Supercom ou $2. Un
bel exploit quand on sait que pratique-
ment aucune de ces cartes ne fonc-
tionne sur les mémes parametres !
Avant d’acheter Version-Com, il sera
donc prudent de vous assurer que le
matériel dont vous disposez déja est
bien compris dans la liste ci-dessus. II
vous suffira alors de vous reporter au
chapitre qui lui est consacré dans la
documentation livrée avec le logiciel
pour savoir dans quel slot insérer la
carte (c’est parfois essentiel !) ou com-
ment régler les micro-switches de votre
interface. Les explications de |’auteur,
bien que parfois un peu disséminées,
ont le mérite d’amener tres vite au
réglage idéal et donc a un fonctionne-
ment correct... Bravo !
Fidéle au concept de la souris, Version-
Com vous obligera a cliquer. Quelques
secondes aprés |'installation du logi-
ciel, une ligne de commandes apparait
en haut de |’écran et permet d’ouvrir
des fenétres pour choisir la fonction
désirée : numérotation automatique,
opérations sur fichier, édition, transfert,
appel de procédure, etc. On ne jongle
done plus avec des codes-contréle et
cette conception est bien pratique.
Version-Com est aussi capable de tra-
vailler tout seul. Pour cela, il faut
d’abord cliquer l’option Commencer
lVapprentissage; le programme mémo-
rise alors toutes les opérations que vous
exécutez a partir de ce moment: il
enregistre la procédure. Laquelle peut
ensuite étre stockée sur disquette et étre
exécutée automatiquement par la suite.
On retrouve Ia I’une des fonctions
ayant contribué au succes de la carte
Appletell, et il faut reconfaitre que
c'est trés pratique, méme s’il y a des
limitations (par exemple un numéro qui
ne répond pas, alors que vous étes en
mode apprentissage).
Version-Com autorise le transfert de
fichiers en émission comme en récep-
tion, la mémorisation, l’impression et
permet, en fait, de travailler a distance
avec une autre machine sans se préoc-
cuper de la liaison téléphonique. La
seule limitation concernera évidem-
ment la vitesse de transmission : 300,
600 ou 1200 bauds, ce n’est pas bien
rapide !
Communiquer
avec qui ?
Version-Com se révéle trés utile dans
tous les cas ot if est nécessaire de relier
deux machines, méme de marques dif-
férentes, pour des échanges d’informa-
tions. C’est alors un logiciel souple et
fiable.
En revanche, dés que l’on commence a
vouloir varier les plaisirs en multipliant
le nombre de correspondants, on se
heurte a de petits problémes. Par exem-
ple, ne comptez pas transformer votre
sucoosenssucnmencesuennosenssssseesenseEsesssaseseossesesessseNesesssnenesuessensscossesesaerseeseeaee
Apple lic en Minitel : l’interface série
du llc refusant la norme V 23 (75/1200
bps). Méme chose, d’ailleurs, sur le Ile
et la plupart des modems : seules les
cartes Appletell et Novation permettent
l'accés aux serveurs a la norme Vidéo-
tex. Les serveurs américains (norme
Bell 103) sont, quant a eux, réservés
aux possesseurs d’une carte Appletell,
la seule qui accepte le 300 bauds full
duplex. Autant de limitations parfois
bien frustrantes, qui s’expliquent
davantage par les limitations des
modems que par celles du logiciel, évi-
demment incapable d’appeler des fonc-
tions qui n’existent pas.
L’autre probleme rencontré concerne la
numérotation et la réponse automati-
que. Malgré son prix élevé, le modem
Apple, fabriqué par Sectrad, ne sait pas
composer les numéros ni se connecter
automatiquement. Adieu donc les pro-
cédures de Version-Com !
Version-Com met enfin en évidence les
dramatiques limitations de |’Apple llc
“pour ce qui concerne les communica-
tions, de nombreuses options, prévues
par le programme, étant interdites par
les lacunes de la machine.
Telplus
Produit par Micromat, Telplus ne fonc-
tionne que sur les Apple II et Ile dotés
d’une carte Super-Série et d'un modem
ou de la carte Adaptel Micromat.
— version série : la SSC Apple doit étre
raccordée a tout modem conforme aux
normes V21 (Transpac 300 bauds), V23
(émission 75 bps, réception 1200 bps) ;
— version Adaptel : cette carte spécifi-
que, reliée a un Minitel, permet d’utili-
ser le modem intégré du Minitel en
mode V22 (1200/1200 bps).
Cette derniére solution est fort attirante
pour tous ceux qui habitent en zone
annuaire électronique et qui disposent
donc d’un Minitel gratuit. La carte
Adaptel est annoncée par Micromat au
prix de 450 F... Nous ne vous en dirons
Prix & adresses
Version-Com : chez tous les revendeurs
Apple. Prix : 900 a 1 000 F.
Version-Soft, 19 rue Ganneron, 75018
Paris. Tél.: (1) 43-87-94-87.
Telplus: en vente chez International
Computer (26 rue du Renard, 75004
Paris), Microshop (6 rue de Chateaudun,
75009 Paris), IVS (10 rue de Montesson,
95870 Bezons) ou par correspondance
chez Micromat. Telplus : 800 F. Trans-
can : 450 F.
Micromat, BP 63, 93130 Noisy-le-Sec.
Tél.: (1) 48-49-16-29.
BRERA RSRSSSSSSSSSD NASTTEEIISSSADED LESSENS SOLOM SOOT SUESOLAEAALISSOSSTASSSSGTITVLIRTSS DAR Be SS LESTST SS
pas plus sur son fonctionnement car il
nous a été impossible de nous la
procurer.
Si le coffret de Telplus est prometteur,
la doc livrée avec le logiciel est, elle, a
la limite de l'indigence. Au lieu d’indi-
quer en quelques lignes les réglages 4
effectuer sur la carte Super-Série pour
une configuration rapide, on se con-
tente de vous renvoyer 4 son mode
d’emploi. Léger...
Heureusement, une fois "interface
paramétrée, les menus (au nombre de
deux) sont clairs. On choisit une
option, le programme se charge et
s'exécute. Le démarrage d'une commu-
nication est simple, de méme que le
choix d’un mode de communication ou
d’une configuration. Avec deux drives,
Ga va méme trés vite: disquette pro-
gramme dans |’un, disquette fichier
dans l'autre, tout tourne sans la moin-
dre intervention. Avec un seul drive, en
revanche, on n‘arréte pas de changer
de disquettes. Enervant.
Vendu 800 F, Telplus a des ambitions
limitées et se contente d'une émulation
Minitel simplifiée. Les touches de fonc-
tion du Minitel sont simulées par I’asso-
ciation de Escape et d’une lettre clé
(ESC-E = envoi, ESC-S = sommaire,
etc.). Quant au graphisme, il est «sim-
plifié», ce qui, en clair, veut dire qu'il
est remplacé par des signes étranges,
sans signification. Si le serveur Minitel
appelé n’envoie que des pages graphi-
ques, bonjour les dégats ! S‘il envoie
beaucoup de texte, vous pourrez I'utili-
ser. C’est le cas de |’annuaire électroni-
que et de certaines banques de
données.
Telplus permet, en mode terminal,
d‘imprimer les pages affichées ou de
les stocker sur disquette en DOS 3.3. II
est aussi livré avec un utilitaire qui
assure la conversion des fichiers
Wordstar, Applewriter ou Visicalc, ce
qui ouvre de nombreuses possibilités
dans le cas d’échanges avec un autre
utilisateur doté d’une configuration
identique.
Transcan
Dans la foulée, nous avons aussi testé
Transcan. C’est un petit logiciel sans
prétentions (450 F), construit sur les
mémes bases que Telplus et dont le
seul réle consiste a se connecter 4
Transpac et a rechercher des numéros
d’accés aux banques de données. On
indique au logiciel le numéro de départ
et il «scanne» jusqu’a ce qu’une con-
nexion intervienne. Transcan_ signale
alors sa réussite, stocke le numéro sur
disque et continue. Vous pouvez ainsi
vous constituer un véritable annuaire
des banques de données, y compris de
celles dont le numéro est confidentiel.
Reste a savoir comment vous |'exploite-
rez ensuite. N’oubliez pas que cette
recherche suppose que vous soyez
d’abord connecté a Transpac et que les
PTT commencent a facturer la commu-
nication a ce moment-la. Un «scan-
ning» de deux heures risque donc de
cotter cher.
Rendre
les modems
intelligents
Un Apple tout seul ou avec modem ne
sait pas communiquer. Un_ logiciel
d’exploitation est donc indispensable
dés lors que l'on souhaite imprimer,
mémoriser ou transmettre des données.
Version-Com est le premier logiciel
réellement universel.... ou presque.
Facile 4 paramétrer et a utiliser, il
résout bien des problémes de compati-
bilité et constitue un excellent outil
pour qui souhaite relier plusieurs
machines par téléphone interposé. II
autorise aussi l’accés aux banques de
données a vocation professionnelle. En
revanche, les applications grand
public, normalement accessibles par
Minitel, restent difficiles 4 exploiter et,
faute d'une carte Appletell, il ne faut
pas espérer afficher les graphismes que
diffusent les serveurs comme le Pari-
sien Libéré, AZ et les autres.”
Telplus peut, quant a lui, constituer un
pont entre deux machines, d’autant que
le logiciel n'est pas protégé et peut
donc étre ouvert et modifié par tout
bon programmeur. Sa fonction émula-
tion Minitel permet effectivement de
dialoguer avec des serveurs grand
public, a condition de se satisfaire de
Vaffichage sans graphisme.
Si vous connaissez vos correspondants,
Version-Com vous permettra de dispo-
ser d’un excellent utilitaire de commu-
nication pour transmettre ou recevoir
des données, méme en votre absence.
Les fanas de Calvados apprécieront
aussi les fonctions d’apprentissage et la
politique «souris» qui, associées aux
possibilités de mémorisation des pages,
permettent de diminuer les temps de
transmission, donc les coats et d’amor-
tir ainsi le logiciel.
En revanche, si votre seul but est de
transformer votre Apple en Minitel
pour accéder aux services Télétel, con-
tinuez a utiliser I'horrible joujou des
PTT... ou pensez a la carte Appletell,
solution de luxe peut-étre, mais pres-
que parfaite.
Guy-Michel Cogné
GUY-HACHETTE
1@ X$ doit étre la
premiére variable du
programme.
30 Au départ, on
initialise les poin-
teurs 26 et 27 ($1A-
$1B)
110 CALL-998
monte le curseur
($FCIA-VP)
130 CALL-922
envoie un saut de
ligne ($FC66-LF)
150 CALL-1036
avance le curseur
($FBF4-ADVANCE)
220° CALL-1008 le
recule ($FC1G-BS)
250 CALL-198, c'est
BELL ($FF3A)
300 Dans cette
ligne, @ I'affichage,
tous les caractéres
insérés entre les
symboles § et §§
apparaitront en mo-
de inverse (voir ligne
330)
16
26
38
40
5a
48
78
EL)
OG
108
118
128
136
148
158
168
178
188
198
288
216
228
238
246
250
268
278
288
298
306
BASIC ET LANGAGE MACHINE [iGXoSa are toe NESTOR
CORRECTION AVANCEE
Insérer ou supprimer un caractére (et méme plusieurs) dans une variable n‘est pas d'une réelle simpli-
cité... notamment en Basic, mais il est possible de traiter le probleme autrement. Voici une premiére
approche. Gageons qu'elle nous vaudra des développements intéressants (c'est 4 dessein que je ne
reprends pas, une 4 une, les explications du programme en L.M... cherchez un peu !)
XB = "": PRINT CHR (21): TEXT : HOME : NORMAL : GO
SUB 326
N= 6: REM 4 LIGNES DE TEXTE MAXIMUM <VTAB 3 A 4)
POKE 26,0: POKE 27,2
GOSUB 368:x$ = FS
“TAB 3: HTAB 1: CALL 768
VTAB PEEK (27) + 1: HTAB PEEK (26) + 1
GET R#:A = ASC CR$I:V = PEEK (37)
IF A = 9 THEN CALL 815: GOTO 5a
IF A = 127 THEN CALL 8446: GOTO 5@
IF A > 31 THEN CALL 872: GOTO 56
IF A = 11 ANDY > 2 THEN CALL - 998: GOTO 74
IF Y= 2 AND PEEK (36) = 8 AND A = 8 THEN 78
IF ¥V ¢ N AND A = 1@ THEN CALL - 922: GOTO 70
IF Y= N AND “A = 18 OR PEEK (34) = 39) AND A = 21
THEN 70
IF A = 21 THEN CALL - 1836: GOTO 7a
IF A > 8 THEN 78
ON A GOTO 186,198,238,206,298,219,70,220
HTAB 1: GOTO 76
HTAB 48: GOTO 78
VTAB 3: HTAB 1: GOTO 7@
VTAB 3: HTAB PEEK (24): GOTO 7@
CALL - 1988: GOTO 78
CALL - 198: VTAB 22: HTAB 6: PRINT " <8188> SUITE
CORRECTION <8288> FIN "3: GET R#: PRINT RS
IF R$ = "1" THEN 58
CALL - 198: VTAB 22: HTAB 1: PRINT "<SE88)NCORE (§
MSS)ENU DE DISQUETTE ¢8TS88)ERMINE "3: GET R#: PRINT
: IF R& = "T" THEN HOME : END
IF R@ = "E" THEN VTAB 22: CALL - 868: GOTO 238
IF R$ = "M" THEN PRINT CHR* ¢4)"RUN MENU"
GOTO 258
VTAB 14: PRINT : CALL - 958: FOR I = 1 TO 16: PRIN
T 2 "ss NEXT : PRINT
PRINT "INSERER : CTRL-3188 SUPPRIMER : SDEL8§
CTRL-SA8S: Début ligne CTRL-SBS8: Fin ligne CTRL
-8D88: Début texte CTRL-SFS§: Fin texte
CTRL-SC8S: Terminé
CTRL-SS8E88: Dépannage"
TREMBLIN MICRO
316
326
338
348
358
368
CALL - 198: POKE - 16368,0: WAIT - 16384,128,127
: POKE - 14368,0: VTAB 14: PRINT : CALL - 958: GOT
0 66
PRINT CHR® (4)"BLOAD COR.LM": CALL 936: REM ROUTIN
E CORRIGER DE 768 A 835 ET ROUTINE INVERSE DE 9346 A
948
VTAB 13: PRINT " UTILISEZ LES SQUATRES§ FLECHES DE
L’APPLE MAIS NE DEPASSEZ PAS LE POINT... FINAL"
UTAB 22: PRINT "“ SCTRL-ES$ = TABLEA DES COMMAN
DES"
RETURN
Fé = "CECI EST UN SIMPLE ESSAI, ET CETTE VARIABLE DE
YRA, PAR LA SUITE, PROVENIR D’UN FICHIER DIRECT DONT
LES ENREGISTREMENTS NE DEPASSERONT PAS 4 LIGNES DE
TEXTE. ALLONS-Y."
310 SEQUENCE
D'ATTENTE BIEN
CONNUE
320 CALL 936 met
en service la routine
d'affichage en mode
inverse (obtenue,
dans le programme,
par l'insertion d'un
CTRL-I, symbolisé,
dans notre listage,
par §, et stoppée par
un CTRL-N, symbolisé
378 RETURN par-deux §§):
.
COR.LM (PREMIERE PARTIE)
8306- AS 6? LDA 69 9342- c4 19 CcPY $19
§302- 18 CLE 8344- Da FS BNE $833B
8303- 6? 82 ADC £02 8346- AY 28 LDA £$28
8305- 85 a6 STA $06 9348- 99 88 24 STA $2008 ,Y
@387- AS 6A LDA 6A @34B- 4C 7B 83 JMP $0378
a389- 69? 88 ADC £$00 @34E- 26 8C 3 JSR $838C
@36B- 85 67 STA $07 @351- C4 18 DEC $18
838D- Ag a1 LDY £301 8353- Ag 19 LDY $19
@3GF- B1 06 LDA ($06) ,¥ @355- BY @1 28 LDA $2001 ,7
Q3l11- 43 PHA 6358- 99 8 28 STA $2000,
@312- C8 INY @35B- ce INY
8313- Bi G4 LDA ($06),7 a35C- C4 18 CcPY $18
a315- AS TAY @35E- DB FS BNE $0355
O314- 68 » PLA 8346- AS 28 LbA £420
@317- 85 @8 STA $08 83462- 99 88 28 STA $2008 ,7
B319- B4 89 STY $09 @365- 4C 7B 63 JMP $037B
B31B- 28 3A DB JSR $DB3A a36e- AD 88 82 LDA $9208
@31E- AG Oa LDY £08 @36B- 48 PHA
4328- Bl a4 LDA ($04) ,¥ @36C- 28 8C 63 JSR $838C
@322- 85 18 STA $18 Q34F- Aq 19 LDY $19
9324- a4 18 LDY $18 @371- 68 PLA
8326- 88 DEY 6372- 99 GH 28 STA $2000,1
6327- Bi ag LDA ($08) ,¥ 6375- 28 F4 FB JSR $FBF4
@329- 99 G8 26 STA $2008, @378- 4C 8C 63 JMP. $838C
@32C- Da FS BNE $0326 @37B- AG 48 LDY £308
@32E- 6a RTS @37D- A5 18 LDA $18
@32F- 26 8C 83 JSR $8380 @37F- 91 84 STA ($06) ,¥
8332- E4 18 INC $18 B381- ce INY
@334- Ad 18 LDY $18 @382- A? BB LDA £$09
8336- AP 68 LDA £300 @384- 91 86 STA ($86),
@338- 99 68 24 STA $2006, 0386- cs INY
633B- a8 DEY @387- AP 28 LDA £920 ,
833C- B9 FF 1F LDA S1FFF,Y 8389- 91 G6 STA ($06),
@33F- 99 88 28 STA $2008,Y @38B- 68 RTS
12 GUY-HACHETTE
aueononsuceseoosonseesceooeeseseeoeoeeeeee eee es een esses ee sewoTesos sees eeeeeeeeeeeeeeneeEeeeeS
} 24 LDA = $24 $300-$32E :
\ ore ee ere .
{ 1A STA 1A Cette routine lit l'adresse de la variable X$ (qui
25 LDA $25 est la premiére du programme). Elle affiche la
18 STA $18 chaine pointée par Y et A (grace au sous-
c
c programme $DB3A-STROUT), puis elle la recopie
2 SBC £3
a 42 & partir de l'adresse $2000.
ay BEG $03A2
TAX $32F-$38B :
58 LDA £880 Du basic, on y va par un CALL 815. C'est la routine
5 cle — d'insertion. Notez qu'elle utilise un sous-
ee 0G) £928 programme ($38C-$3A7) facile &@ comprendre
DEX 7 quand on sait lire, en $24 la position horizontale
6 FA BNE $829C du curseur et en $25 sa position verticale. Le JMP
ELE de la ligne $34B saute la routine de suppression
24 ADC $24 de caractéres (CALL 846) qui commence @
19 STA #19 ‘adresse $34E.
83A7- 6a RTS
DEUXIEME PARTIE En $368 (CALL 872) on lit le caractére qui est dans
le buffer (mais seulement si celui-ci dépasse la
(AFFICHAGE MODE INVERSE) valeur décimale 31, ce qui élimine les caractéres
g348- A? BB LDA = £$B3 de contréle), on le recopie 4 l'adresse 2000 + Y,
B3AA- «85 36 STA $36 puis on avance le curseur grace au sous-
@3AC- AS G3 LDA £393 programme $FBF4. On notera tous les sauts 4
Q3AE- 85 37 STA 37 $38C o¥, nous l’avons déja vu, la position du cur-
@2Ba- 4C EA a3 JMP #03EA seur est diment sauvegardée en $1A et $1B
@3B2- C9 39 CMP ¢$89 (adresses lues 4 partir du Basic, 4 la ligne 60).
93B5- ba as BNE $O3BC 2
3B7- AS 3F LDA £83 Pausisens purse’:
83B9- 85.32 STA $32 Elle concerne l'affichage en mode _ inverse,
@3BB- 68 RTS obtenu, dans la liste du programme, par un
@3BC- C9 BE CMP = «£$8E CTRL-I (symbolisé par §) et interrompu par un
Q@3BE- D@ 65 BNE $83C5 CTRL-N (symbolisé par §§). Pour sortir de ce mode
g3c@- A? FF LDA £$FF d'affichage, faites un RESET.
93C2- 85 32 STA $32 Avec ProDOS, remplacez $3EA (ligne 3B0) par
63c4- 48 RTS $F26F (4CF26F). De plus, dans le programme en
83C5- 28 FG FD JSR $FDFG Basic, placez un CALL 936 au début des lignes
Q3C8- 48 RTS 230, 250 et 300.
COR.LM 8308- A5 49 18 69 82 85 a6 AS 8348- AD @@ 82 48 28 SC 93 Ad
8208- 6A 49 68 85 87 AB A1 BI 8370- 19 68 99 88 26 20 F4 FB
: 6318- 86 48 C8 Bl 6 AB 68 A5 6378- 4C 8C 83 AB 8B AS 18 91
@318- 98 84 89 28 3A DB AG BB @388- 86 C8 AP BB 91 G4 CB AP
BSAVE 0320- B1 96 85 18 A4 18 88 BI 9388- 20 91 84 46 AS 24 85 1A
COR.LM 8328- 88 99 G@ 26 DA FS 68 24 @396- AS 25 85 1B 38 E? @2 FB
~~" @338- 8C @3 Eé 18 A4 18 AP 88 8398- 49 AA AP GB 18 469 28 CA
AS300, @338- 99 08 28 88 B9 FF IF 99 @3AG- DA FA 18 65 24 85 19 48
L$co @348- 88 20 C4 19 D@ FS AD 28 @3A8- AP B3 85 36 AP B3 85 37
8348- 99 86 28 4C 7B 63 28 8C @3BQ- 4C EA 63 C9 89 DB 45 AP
@350- 63 C46 18 A4 19 BP G1 26 @3B8- 3F 85 32 68 C9 BE DB 85
9358- 99 88 28 C8 C4 18 DA FS @3CG- A9 FF 85 32 68 26 F@ FD
@368- AD 28 99 88 28 4C 7B 83 @3C8- 68
VERIFICATIO T = @: FORI = 768 TO 968: T = T + PEEK(I) : NEXT : PRINT T
Résultat exact: 28248
TREMPLIN MICRO 13
ESSNUMUET vos 3.3. | propos |
NOVA UpWNE @
FEKRSAKAALAAA KAA AAK RASA SASK S KAKA K KERR EERE KR E
*
* HEHE HeEe * 7 *
* = * * * oe * *
+ . * * * * *
* SHEE = * * * *
* * * * * x * *
* * * + * * ae *
¥ ees HERS * * *
* al
= Voici tout un ensemble de routines *
* trés Bbruyantes: de quoi mettre une *
* certaine animation dans vos jeux *
% =
HRERK ARRAS KARAS ELAR AERA RE RE EK EKER KERR REE
ORG #7000
* Ce programme s’assemble avec ProCODE, en un
* Vous pourrez insérer ces petites routines e&
* of bon vous semblera, mais je vous recomman
* utilisation depuis un programme en Basic, de les placer
* au-dessus de HIMEM (#73, #74), puis: de desc
KE MACRO SON He
bo a
SON MAC
LDA £.6
LDX £.1
LOY £2
JMP SOND
EOM
FIN
ERERAXKAKRERRKRE SERRE
* *
* DES INDICATIFS *
* ¥
HEXELEREREL EKER ERKKES
* Voici quelques sons trés courts qui vont vo
* de bruiter vos jeux, ou de remplacer un bip
* que bref, le fameux CTRL-G ¢BELL).
INDICATIF SON $67,%32,%32
MUSIQUE SON $16,%75,%01
PROMPT SON $81 ,8FF,%23
SIRENE SON $61,¢FF,$FF
TUUT SON #61,¢FF,¢01
SLURP SON $86,%06,¢FE
Assemblage avec ProCODE
e seule fois
nh assembleur
de, pour une
endre HIMEM.
us permettre
aussi connu
4
GUY-HACHETTE
983A: 8D
983D: BC
9048: SE
9043: a9
9045; 30
9048: 88
9849: 78
984A: AE
904D; AD
9058; 6D
9853: 8D
9056: AS
9057; 88
9858: DO
985A; AD
905D: 3A
9O5E: AB
9O5F: 88
9068; DB
9862: AD
9065: CA
9066; 0G
9868: CE
906B: 08
986D: 28
9O6E: 69
36
37
38
66
38
39
37
39
FD
38
FD
38
ES
36
oD
78
96
96
98
8
98
98
98
98
RHEE E EEE HELE EHLERS
* SONQ *
FEHR KEKE REE ERE REE ERE EEE
* Ce sous-programme génére les sons. Pour y parveniry i7
* lui faut 3 paramétres, contenus dans (a) (x) et Cys
* (a) nombre de répétitions de la cellule de base
* (x) fréquence de base
* Cy) incrément pour modifier la fréquence de base
* Donc, si vous entrez par SONOI1, les paramétres doivent
* @tre placés dans CONT INCR et FREQ.
CONT DS
INCR DS
FREQ DS
SPK = $0838
SONO STA CONT ; sauve les paramétres
STY INCR
STX FREQ
SONO1 LDA £8 ; init. pointeur d’incrémentation
STA P
PHP. } pas d’interruption...
SEI jo++.Si on utilise la souris
81 LDX FREQ 3 génération du son
ADC INCR
STA P
TAY
§3 DEY j boucle d’attente
LDA SPK youn crack
TXA
TAY
84 DEY ; boucle d’attente
BNE 8&4
LDA SPK
DEX
DEC cont
BNE §1
PLP
RTS
rétablit les interruptions
TREMPLIN MICRO
‘SOW avec Richard THIBERT (uite)
LBB RRR H RHA RHEE KEES REESE
194 * *
105 * UNE VRAIE SIRENE *
166 * *
1G 7 RHR KAKA AHHH EEK AHH E RHEE
168
109 * Cette routine imite une siréne classique avec une modu-
11@ * lation de la fréquence qui monte, puis qui descend. Une
111 * simple pression sur une touche interrompra la siréne.
112
113 * Vous pouvez essayer STfreq = $28
114 # Lfreq = $26
1150 # Hfreq = $30
116 * Le son est beaucoup plus désagréable, parfaitement!
AL?
118 STFREQ SAG
119 LFREO $58
126 HFREQ = $AG
121
122 KBD al $0008
123 KBDST = $CO16
124
9O6F: 88 125 SIR PHP } pas d’interruption
9670: 78 126 SEI
9671: AD 146 CB 127 LDA KBDST 3 le clavier remis a zéro
9074: A2 AG 128 LDX £STFREG 3 fréquence de départ
129
9876: BA 138 81 TxA 3 (x) est sauvé dans (a)
9877: CA 131 82 DEX ; boucle d’attente
9878: EA 132 NOP
9879: D@ FC 133 BNE 82
987B: AA 134 TAX j Pestore ¢x)
987C: AD 38 C@ 135 LDA SPK youn crack
987F: AD G8 CB 136 LDA KBD j une touche ?
9882: 38 GE 137 BMI 84 3 oul
9084: 98 86 138 BCC 83 3 ‘c) dit si on monte ou pas
139
9086: CA 148 DEX } on descend
9887: EG 56 141 CPX £LFREQ j est-on trop bas ? |
142
9089: 4C 76 98 143 JMP 81 3 (c) est positionné
144
908C: ES 145 §3 INX ; de m*eme pour le haut
988D: E@ AG 146 CPX £HFREG
9O8F: 4C 76 98 147 JMP 81
148
9692: 28 149 84 PLP
9093: 68 158 RTS
151
16 GUY-HACHETTE
9896:
9097:
68
9898:
9B9B:
9O9E:
9O9F:
AD
Ac
88
08
38
9S
FD
BAL:
9OA2:
CA
DG 87
9004:
9BA7:
CE
08
94
EF
9BA9:
IBAA:
28
68
9QAB:
9BAC:
9BAE:
EA
24
4c
66
98
ce
98
98
98
152
153
154
155
156
157
158
159
168
161
162
163
164
165
166
167
168
169
176
171
172
173
174
176
177
178
179
186
181
182
183
184
185
186
187
188
189
198
191
192
193
194
195
196
197
198
199
288
281
HEHE R AREER EEE HERE E ERE REN
* *
* ETES-VOUS JEUNE ? *
* *
HEH AE LAK AER E REE E EERE KEK
La faculté d’audition de hautes fréquences diminue avec
1’Gge, et d’une maniére trés sensible. Pour tester vos
propres facultés d’audition, voici une routine qui vous
permettra de connaitre la fréquence émise par le haut-
parleur de votre Apple.
On imagine déja le programme Basic qui, par une suite
de tests, déterminera vos limites et votre age (tout &
fait approximatif, rassurez-yous, Madame!).
* OK OK OK OK OR OK OK
F est la fréquence. Nous avons la correspondance avec F
511500/(20 + 5 * F) = F en Hz (F valeur de l’octet). Je
vous signale que je détecte un (faible) sifflement pour
14613 Hz, mais plus rien & 17088. Une mesure plus fine
m’a permis de conclure que j’entends jusqu’a 14988 Hz.
Bien str, ce n’est qu’une indication, compte tenu de la
bande passante du haut-parleur de I’Apple.
OR ROR OK Ok
*
Définissez les paramétres et faites un JMP test ou CALL
* test (TEST étant bien sir remplacé par l’adresse de la
* routine),
T oS i ; détermine la durée
F DS 1 3 la fréquence
TEST PHP
SEI
$1 LDA SPK 3 4 cycles
LDY F 3 4
§2 DEY rz
BNE §&2 72,3
DEX 32 oJ
BNE 83 3 2,3
DEC T 346
BNE §1 33
PLP
RTS
§3 NOP 32
BIT $8 3 3 pour 3 cycles
JMP §1 33
TREMPLIN MICRO
17
SON avec Richard THIBERT uite)
Table des symboles ordre alphabétique
-CONT. 1.4. 639835 “Fee c eee BIBIS FREQ. .....39038 -HFREQ.....$86A8
-INCR......$9837 ? -INDICATIF.$9088 -KBDST.....$C010
“LFREQ.....$085 7 -MUSIQUE...$9009 ee ? -PROMPT....$9012
2? -SIR.......3986F 2 -SIRENE....$981B ? -SLURP M-SON...... +8131
“SONG: 11120$983A ? -SONO1...5.39043 =SPK =STFREQ... + $6608
Teseeeeees$9O94 (7 -TEST......898946 ? -TUUT.....
Si vous ne disposez pas d’un assembleur, voici les 177 octets générés par ProCODE :
PHB8- AY 467 AZ 32 AG B2 40 3A 7066- D&B FD AD 34 CH CA DG ES
7O08- 90 AF 16 AZ 78 AB O1 40 7868- CE 34 78 D@ DD 23 68 a8
761G- SA 74 AF G1 AZ FF AB 23 a7G- 73 AD 16 CB AZ AB SA CA
?G18- 40 3A 94 AY B1 AZ FF AB ?a75- EA DG FC AA AD 34 CH AD
7026- FF 40 3A 98 AY G1 AZ FF 7a86- 66 CH 34 BE 74 44 CA EB
7028- AB 41 4C 3A 70 AP BH AZ P88s- Sa 4C 76 76 ES EB AB 40
F830- 46 AG FE 40 3A 74 ao aa PO9G- 76 96 28 46 G6 4H 48 78
7838- G6 4H 8b 36 9H BC 37 96 9a98- AD 34 CH AC F5 78 88 DA
7640- SE 38 78 AP 84 SD 39 96 S@AG- FD CA Da a7 CE 94 7G DB
7048- 88 78 AE 38 94 AD 39 90 ?HAS- EF 28 68 EA 24 64 4C 98
7656- 6D 37 94 8D 39 96 AS 88 PaBG- 96
9658- D@ FD AD 38 CB BA AS 8g BSAVE SON.C, A36864, L177
VERIFICATION Taper, en mode direct :
T = 6: FOR! = 36864 TO 36863 + 177: T = T + PEEK(I) : NEXT : PRINT : PRINT T Le résultat devra étre 22342
SON.DEMO (pour essayer les routines !)
168
288
218
228
238
246
258
HIMEM: 36863: TEXT : HOME : PRINT CHR# ¢4)"BLOAD SON.C"
INVERSE : PRINT "SONO": NORMAL : RESTORE
VTAB 22: PRINT "APPUYEZ SUR UNE TOUCHE APRES CHAQUE SON": VTAB 3
READ AS: PRINT A$: READ CA: CALL CA
POKE ~- 16368,6: WAIT - 16384,129: POKE - 16368,@: PRINT
X= XM +1: IF X < 6 THEN 48
HOME : INVERSE : PRINT "SIRENE": NORMAL : VTAB 22: PRINT "APPUYEZ SUR U
NE TOUCHE POUR FAIRE CESSER"
CALL 36975: HOME : INVERSE : PRINT “ETES-VOUS JEUNE ?": NORMAL :F = 8
VTAB 3:F = F - 1: POKE 37013,F: VTAB 7: CALL - 958: PRINT "FREQUENCE =
"; INT (511500 / (28 + 5 *# F))" Hz": CALL 37014
IF F > 2 THEN 96 ‘
DATA "INDICATIF SON $67,%32,%82 (183 58 138)",36864
DATA "MUSIQUE SON $16,%78,$81 ¢ 16 120 1)" 36873
DATA "PROMPT SON $01,$FF,$23 ¢ 1 255 35)",36882
DATA "SIRENE SON $01,$FF,$FF ¢ 1 255 255)",36891
DATA "TUUT SON $61,$FF,$@1 ¢ 1 255 1)>",36908
DATA "SLURP SON $86,306,$FE (128 86 254)",36909
18
GUY-HACHETTE
¢ Complément au programme SON
¢ Trois mystérieuses instructions de ProCODE
En complément au programme son, je propose ici
quelques informations trés utiles au musicien pro-
grammeur. Vous savez tous que chaque note de la
gamme correspond 4 une fréquence définie.
ll existe des tableaux de conversion, mais ils sont
toujours difficiles d'emploi, car non compris dans
le principe de calcul. Voici la méthode pour calcu-
ler les relations notes et fréquences. Sachez
d'abord que la plus petite division du ton est le
COMA : dans un ton il y a 9 comas et, bien sor,
comme les nombres décimaux ne sont pas utilisés,
on divise ce ton en deux types de demi-tons : le
demi-ton diatonique 4 comas et le chromatique 5
comas.
Nous allons chercher la valeur absolue du coma.
Vous savez que I'oreille percoit une variation de
fréquence logarithmiquement. Donc une variation
d'un coma se traduit par un coefficient pour multi-
plier la fréquence de la note précédente. Tout ceci
al'air compliqué, mais la réalité est fort simple.
Une variation d'une octave correspond 4 une mul-
tiplication par 2 de la fréquence. Or une octave
comprend 5 tons et 2 demi-tons diatoniques donc
53 comas.
On a, si X est la valeur absolue du coma
X 453 = 2d'ob on tire X = 104 (LOG2/53)
Finalement on a F* 1.0131644 N = Fou Nest la
distance en comas des deux notes.
On peut alors calculer le tableau suivant :
0 la 444Hz | 66 do | 1053 Hz
9 si 499Hz | 75 ré 1184 Hz
13 do 526 Hz 84 mi | 1332 Hz
22 ré 592Hz | 88 fa | 1403 Hz
31 mi | 666Hz | 97 sol | 1579 Hz
35 fa | 702Hz | 106 | la | 1776 Hz
44 sol | 789Hz | 115 | si | 1998 Hz
53 la 888 Hz 119 | do | 2105 Hz
62 si 999 Hz
Voici pour finir quelques indications trés confiden-
tielles sur ProCODE. En effet, le programme, dans
sa version 1.23, comprend 3 instructions non expli-
citées dans le manuel, et ceci pour des raisons
TREMPLIN MICRO
de délai, la documentation étant terminée bien
avant la mise en vente, et pour des raisons de fia-
bilité, une longue période de test étant de rigueur.
Passons aux choses sérieuses... voila les 3 instruc-
tions méconnues : SHK ON, SHK OFF, NODSK.
Pour les utilisateurs de ProCODE voici, sous la
méme forme que dans le manuel, la description de
ces instructions.
SHK ON
— SHK ON — ProCODE permet de gérer un dou-
ble octet de contréle, appelé SHECK SUM en
anglais ; l'instruction SHK ON indique 4 ProCODE
que chaque octet de code généré va étre addi-
tionné @ une variable prédéfinie sur 16 bits : 4,
dans cette variable, la valeur actuelle de la som-
mation est toujours accessible.
SHK OFF
— SHK OFF — Cette instruction demande l'arrét
de mise 4 jour de la variable & qui contient le
SHECK SUM.
Exemple d'utilisation de ces instructions ; le pro-
gramme est entre test et fin s‘il y a un octet diffé-
rent lors de l'appel de vérif il n'y aura pas de
retour.
SHK ON §0 LDA TEST,X CMP £<a
TEST LDA £$10 ADC P BNE ERR
LDA £$24 STA P LDA P+1
FIN = * BCC §1 CMP £>a
INC P+1 BNE ERR
SHK OFF | §1 INX RTS
VERIF LDX £0 CPX £FIN-TEST
SIX P. BCC §0 ERR JMP ERR
STX P+] LDA P
NODSK
—NODSK — Cette instruction s’utilise avec DSK,
elle permet d’arréter la génération du code sur
disque, ou par exemple de créer plusieurs fichiers
code avec la méme source.
Exemple : ce petit programme : créer 4 |'assem-
blage 2 fichiers objet! et objet2.
DSK OBJETI
ASC “FICHIER OBJET NUMERO 1”
NODSK
DSK OBJET2
ASC “FICHIER OBJET NUMERO 2”
NODSK
Votre bibliothéque
INFORMATIQUE J par clement RENARD
© Apprivoiser ordinateur : pourquoi pas ?
Dans Vous ef l’ordinateur Apple, Edward H. Carlson se pro-
pose d’aider les débutants & apprivoiser leur machine
(Cedic/Nathan).
U'auteur n'est probablement pas médecin, mais il a choisi |
de répartir cette initiation sur 33 lecons trés pédagogiques APPLE
iN AMAT Leagan ADDL!
et réellement a la portée de toutes et de tous.
Naturellement, le langage utilisé est le Basic. Chaque lecon
comprend, outre des notes destinées au professeur (ou aux
parents de l'enfant) de nombreuses questions, explications
et embryons de programmes.
Est-il possible d’apprendre @ programmer a partir des
exemples fournis dans cet ouvrage ? La réponse est oui.
Personnellement, ‘ai aimé le style alerte de l’auteur et sa
maniére d’aborder chaque instruction du Basic. Je pense
que Vous et l'ordinateur Apple mérite de figurer, en bonne
place, dans la bibliothéque des classes de micro-
informatique.
C'est un abc qui s‘adresse surtout aux jeunes (il est illustré
de nombreux dessins amusants), mais qui se révélera capa-
ble d'intéresser les adultes.
a
@ Une auto-formation bien comprise
Avez-vous eu la curiosité de feuilleter, dans la collection
Micropratiques (Hachette Informatique), Les Ecrans de
l'Apple lle ? \'éditeur annonce “un langage simple, acces-
sible 4 tous. Une présentation claire et utilisant largement
la couleur pour une initiation progressive au Basic”
Je m'attendais 4 retrouver, sous une présentation
luxueuse, une nouvelle compilation des manuels diffusés
par Apple. Nous en avons I'habitude, pas vrai ?
Surprise, et de taille : si le luxe est bien présent dans les
deux livrets de cet ouvrage d'auto-formation (mais qui s‘en
plaindrait ?), on a le plaisir — méme quand on connait déja
son Apple Ile — d'y trouver de trés bons exemples de
program-mation. On se prend 4 regretter que tout cela soit
l'ceuvre d'un sujet de Sa Gracieuse Majesté : Phil Robinson
(traduction signée par Denis Pellerin). Bravo ! Phil ! c'est
de la belle besogne, et j'espére que les nouveaux posses-
seurs d'Apple (ainsi que ceux pour lesquels |'Applesoft res-
&.._3 : semble encore aux caractéres étrusques) s’offriront ce dou-
SAVOIR PLUS EN PROGRAMMATION — ble guide de la programmation sur Apple /le.
HEE eee i eae f ‘aurais souhaité la méme chose, mais sous
esecee E orme de fiches... C.R
ee} OUR EN
20 GUY-HACHETTE
SIMPLIFICATION DE LA GESTION DU BUDGET PERSONNALISE AVEC
B® GESTION II de Version Soft
G ESTION II intéressera bon
nombre de Lectrices et
Lecteurs de Tremplin Micro,
mais seulement s'ils sont les
heureux possesseurs d'un
Apple lic ou Ile... équipé du
65C@2 (n’oublions pas qu'il
existe un kit de mise & niveau
trés bon marché).
Gestion II s'adresse, en prio-
rité, aux membres des profes-
sions libérales placés sous le
régime des Bénéfices Non
Commerciaux (médecins, avo-
cats, etc.), mais aussi aux res-
ponsables de multiples clubs,
associations et syndicats (type
loi de 1901).
Ce logiciel, facile & maitriser,
est d’ailleurs capable de
s'adapter, aprés quelques
heures d'apprentissage, aux
besoins de quiconque désire
réaliser une gestion logique,
sére et approfondie de ses
divers revenus.
Miners FewSiws,
Un large éventail
de comptes
Uutilisateur dispose de 60
comptes (dont plusieurs comp-
tes bancaires), de 100 écritu-
res mensuelles et de 1 mou-
vements automatiques (trés
pratique pour prévoir le rem-
boursement d'un emprunt !).
La souris commande tous les
menus déroulants et la ges-
tion des fenétres.
Avec Gestion Il, on retrouve
les facilités déja offertes par
Version Graph et les autres
produits de Version Soft.
Toutes les saisies peuvent
&tre modifiées ou supprimées
par des commandes aussi sim-
ples que... Modifier... et
Supprimer.
Avec Gestion Il, il est com-
mode de prévoir son budget
pour l'année 4 venir, puis de
comparer les prévisions aux
dépenses réelles.
Des états... a imprimer
Tous les rapports peuvent étre
imprimés tels qu’ils apparais-
sent sur I'écran. On pourra
ainsi éditer, suivant les
besoins :
¢ Une liste mensuelle des
écritures (en totalité ou
par catégorie) ;
* La liste mensuelle des écri-
tures retenues pour une
future déclaration de reve-
nus ;
* La liste des soldes de tou-
tes les catégories ;
¢ Une analyse détaillée de
revenus, avec calcul du
revenu net ;
® Un bilan complet avec le
résultat.
A noter que Gestion Il per-
met |'établissement d’un bud-
get prévisionnel détaillé, pour
une année compléte, puis la
comparaison des prévisions
avec les dépenses réelles.
Le contréle des relevés ban-
caires n’a pas été oublié ;
quant a la documentation, elle
est fidéle a la philosophie de
Version Soft : claire, concise,
mais capable d’étre comprise
sans effort, grace 4 des exem-
ples judicieusement choisis.
Demandez une démonstration
4 votre revendeur !
Clément RENARD.
Considérations générales
Comment peut-on encore vendre — en 1985 — un Apple /le sans
carte 80 colonnes, alors que celle-ci est incorporée dans |'Apple
lic? Certes, la plupart des revendeurs la proposent 4 leurs
clients, mais elle reste — hélas ! — une option (4 noter que la
carte texte Apple a récemment subi une baisse de plus de 200 F).
On constate que la plupart des nouveaux logiciels travaillent non
seulement en 80 colonnes, mais utilisent la totalité des ressour-
ces du 65C02, et exigent 128 K.
Indéniablement, le concept graphique souris fait recette et
devient méme le standard Apple. Les menus déroulants rempla-
cent les classiques présentations d’hier. C'est beau. C'est prati-
que, mais gourmand en mémoire !
La double haute résolution devient une régle dans les logiciels
trés élaborés. C'est notamment vrai chez Version.Soft, l'un des
meilleurs compagnons de route de I’Apple //.
Uordinateur personnel de papy a vécu, mais il existe encore et se
révéle parfois capable, avec ses slots bien garnis, et grace a de
multiples bidouillages, de rivaliser avec I'Apple IIc. NESTOR.
TREMPLIN MICRO
23
| USR (2)
‘instruction USR(X) de son Apple, mais il sera bien inspiré en réalisant lui-
méme plusieurs routines d‘application.
En recopiant attentivement ce pro-
gramme de démonstration, le néophyte
comprendra certainement & quoi sert
16
15
28
P
TEXT
CHRS (21):
1:@
> NORMAL
P
HOME
INVERSE :T# = "
PRINT CHRE
FONCTION USR
(1293
“PA
Lorsque vous lancerez votre program-
me, vous obtiendrez successivement
ces écrans :
GE ZERO) ":; GOSUB 2386
FONCTION USR (PAGE ZERO)
PRINT "POKE 14,76
é 22 > POKE 10,76 (0a)
($BA)POKE 12,ADR/25¢6 POKE 12,ADR/256 (#00)
*$GC)POKE 11,ADR-PE POKE 11,ADR-PEEK(12)*256 ($B)
BUC | 208208 e688)" Ces 3 POKES tial t la fonct USR
PRINT : PRINT "Ces 3 POKES initia be! Gr eee ataiaaier
lisent ja fonction USR De cette maniére, un appel & USR renver-
be Gat ra automatiquement & un sous-programme
; - = en langage machine débutant & |’adresse
te maniére, un appel & USR renver- ADR.
ra automatiquement 4 un sous-pragr
On sait que cette fonction permet d’éta-
amme en langage machine débutant
ee blir un lien entre un programme en Basic
a l’adresse ADR. et un autre en assembleur, auquel elle
35° PRINT : PRINT "On sait que cette transmet des paramétres avant de retour-
fonction permet d’éta-blir un lien VED Supe eon anmelpel net pay «
entre un programme en Basicet un PRESSEZ UNE FLECHE <- OU -> POUR SUITE
autre en assembleur, auquel elle
transmet des paramétres avant de r
etour-ner au programme principal."
48 GOTO 285
45 INVERSE PRINT "EXEMPLES:": NORM
AL_: PRINT : PRINT : PRINT "194 PR Teen
INT USRiG) CORGUMENT=6) 188 PRINT USR(8) CARGUMENT=8)
588 X=2eUSROY+1)" 588 X=2xUSR(Y+1) *
5@ PRINT PRINT "Exemple absurde, ¢
upposons qu’une petiteroutine en 1 Exemple absurde, supposons qu’une petite
. 7 : J routine en langage machine soit chargée
angage machine soit chargée d’affi d’afficher |’argument multiplié par 18,
cher l’argument multiplié par 14, comme ceci:
SORTED Resse 308 28 39 EA JSR $EA39 (FAC * 18)
55 PRINT-: PRINT "368 28 39 EA JSR 303 60 RTS (Basic)
$EA39 (FAC # 18) 303 68
nro éBaniess CPOSLLAS “SCOPE er ARCERSTESUEAS 728 SR
68 PRINT : PRINT "POKE1@,74:POKE12,7 a 3
68/256 :POKE11,768-PEEK(12)*254 va Rem losna citer tt iee ae ee
initialiser la fonction USR"
65 PRINT : PRINT "Ensuite, si I’on t PRESSEZ UNE FLECHE <- OU -> POUR SUITE
ape un RUN 188, c’est le nombre ";
INVERSE PRINT 88;: NORMAL : PR
INT “ qui s‘affichera.": GOTO 285
eoneeeuseecoseosnensoeeenenosueeemoseesconsane
24
GUY-HACHETTE
7a
75
138
146
206
7a
75
80
a5
98
188
114
215
228
225
236
PRINT “La valeur de l“argument se
trouve dans le registre accumula
teur ($9D a $A2), olla routine en
langage machine devra doncla récup
érer."
PRINT : PRINT : PRINT "La NOUVELL
E VALEUR de la fonction USR sera
celle figurant dans ]’accumulateu
ryau moment du RTS renvoyant au Ba
sic."
GOTO 285
PRINT "FAITES UN ESSAI AVEC CE PR
OGRAMME, EN DONNANT DES VALEURS
DIFFERENTES A B:": LIST 160,148: G
OTO 285
LIST 108,146
POKE 16,76: POKE 12,768 / 256: PO
KE 11,768 - PEEK ©12) * 256
POKE 768,32: POKE 769,57: POKE 77
8,234: POKE 771,96: REM ROUTINE L
M
VTAB HTAB 2: CALL
NT "B= “3: GET R$:S =
(R$): GOSUB 298
PRINT R#;: INPUT "";B¢:B =
R$ + BS): IF NOT B THEN 348
VTAB 22: HTAB 20: CALL - 848: PR
INT USR <B>: GOTO 128
VTAB 3: PRINT "Dans notre exemple
» OM pouvait accéder ala routine $
EA39 (MUL18) sans passer parle pro
gramme de |’adresse $340, de cette
maniére:"
PRINT : PRINT “POKE 18,76: POKE 1
1,57: POKE 12,234: REM #4C 39 EA"
PRINT : PRINT “Temps avec:
FOR I
1 TO 5@80:A=10: A = A * 14:NEXT
- 198: PRI
1:R = ASC
VAL ¢
38 SECONDES"
+ PRINT “Temps avec:
FOR 1
USR(A) NEXT
PRINT
1 TO S5866:A=10: A
27 SECONDES"
GOTO 285
VTAB 3: HTAB 28: INVERSE
“AUTRE EXEMPLE": NORMAL : VTAB 3
TS = "300 20 63 EB JSR $EB43303 2
4 86 EB JSR $EB80386 28 82 E9 JS
R $E982389 46 RTS oF
: PRINT"
valeur de 1’argument se trouve dans
registre accumulateur ($9D & $A2), ou
routine en langage machine devra donc
récupérer.
La NOUVELLE VALEUR de 1a fonction USR
sera celle figurant dans 1’accumulateur,
au moment du RTS renvoyant au Basic.
PRESSEZ UNE FLECHE <- OU -> POUR SUITE
FAITES UN ESSAI AVEC CE PROGRAMME, EN
DONNANT DES VALEURS DIFFERENTES A B:
108 POKE 16,76: POKE 12,768 / 25
6: POKE 11,768 —- PEEK (12) *
256
118 POKE 768,32: POKE 749,57: POKE
778,234: POKE 771,96: REM R
OUTINE LM
128 VTAB 22: HTAB 2: CALL - 198
: PRINT "B= ";: GET R&:S =
1:R = ASC (R$): GOSUB 296
138 PRINT R$;: INPUT "";B$:B = VAL.
(R$ + 8%): IF NOT B THEN 34
C)
148 VTAB 22: HTAB 26: CALL - 86
8: PRINT USR (B): GOTO 128
PRESSEZ UNE FLECHE <- OU -> POUR SUITE
Dans notre exemple, on pouvait accéder &
la routine $EA39 (MUL1@) sans passer par
le programme de 1’adresse $308, de cette
maniére:
POKE 1@,76: POKE 11,57: POKE 12,234: REM
Fol TO 5808:A=18: A
A * 18:NEXT
38 SECONDES
Temps avec:
FOR I = 1 TO 5@66:A=18: A USR(A) :NEXT
27 SECONDES
TREMPLIN MICRO
25
325
346
345
OR 1 = 1 TO LEN (T$) STEP LEN ¢T
$) / 4: PRINT MIDS (73,1, LEN (TS
) 4 4): NEXT
PRINT : PRINT "*EB63 recopie l’ac
cumulateur en $A5-$AA": PRINT
PRINT "SER8@ détermine les signes
des nombres de $9D a $A2
et de $A5 & $AAD": PRINT
PRINT "$E982 multiplie le contenu
de 1’ accumu- Jateur par cel
ui de la zone allant de $A5 &
AA, puis place le résul- ta
t dans |l’accumulateur"
PRINT : PRINT "Comme on le voit,
la routine éléve l‘ar-qgument au ca
reé...”
POKE 768,32: POKE 749,99: POKE 77
@,235: POKE 771,32: POKE 772,128:
POKE 773,235: POKE 774,32: POKE 77
5,130: POKE 776,233: POKE 777,96
VTAB 22: HTAB 2: CALL - 198: PRI
AUTRE EXEMPLE
308 20 63 EB JSR $EB63
303 26 88 EB JSR SEBS
306 28 82 EP JSR $E982
BOF 66 RTS
$EBS63 recopie |’accumulateur en $A5-AA
$EBS@ détermine les signes des nombres
(de $9D A AZ et de $AS a SAAD
E982 multiplie le contenu de 1’accumu-
lateur par celui de la zone allant
de $A5 & $AA, puis place le résul-
tat dans 1’accumulateur
Comme on le voit, 1a routine éléve 1/ar-
gument au carré...
B= 45
2025
NT "B= "3: GET R$:S = 1:R = ASC
«RS): GOSUB 298 © La ligne 255 poque les 10 octets de
PRINT R;: INPUT "";B%:B = VAL ¢ la routine en langage machine que
R& + BS): IF NOT B THEN 340 vous montre I'écran ci-dessus.
VTAB 22: HTAB 28: CALL - 868: PR
INT USR ¢B): GOTO 260 © Ala ligne 265, si R est égal 4G, on
passe a la page suivante.
GOTO 285
PRINT : VTAB 1: HTAB (41 - LEN ¢ © Les fléches de l'Apple permettent
T$)) / 2: INVERSE : PRINT T#: NORM d'aller de l'avant... ou de revoir les
AL : POKE 34,2: VTAB 3: RETURN pages précédentes.
VTAB 24: HTAB 1: PRINT "PRESSEZ U
NE FLECHE <- OU -> POUR SUITE "3:
GET R$:R = ASC (R$): POKE - 143
48,8
IF R= 8 THEN P = P - 1; GOTO 305
IF R= 21 THEN P= P + 1: GOTO 36
5
IF 5 = 1 THEN § = @: RETURN
IF NOT P THEN P = 1
IF S$ = 1 THEN S = @: POP
IF R= 4 THEN TEXT : HOME : END
IF R= 3 THEN TAB 22: PRINT
PRINT CHR® ¢4)"RUN MENU" CTRL-C POUR MENU DE DISQUETTE
IF P = 9 THEN P = 8 CTRL-F POUR TERMINER
IF P = @ THEN 285
PRINT :@ = P: VTAB 3: CALL - 958
: ON P GOTO 25,45,78,85, 90,200,225
6345
P= P+ 1: GOTO 338
VTAB 12: HTAB 6: PRINT "CTRL-C PO
UR MENU DE DISQUETTE
CTRL-F POUR TERMINER": GOTO 285
26
GUY-HACHETTE
INITIATION
| LA PSEUDO PAGE 3 GRAPHIQUE
| L existe une pseudo PAGE 3 (que vous pouvez protéger par un LOMEM : 32768) et vous allez la rencontrer...
En effet, alors que POKE 230,32 et 230,64 permettent respectivement d’écrire dans
les pages 1 et 2, un POKE 230,96 vous ouvre des horizons nouveaux... puisqu’il vous
autorise 4 écrire dans une pseudo PAGE 3.
Ne jubilez pas trop vite: pas question d’afficher instantanément cette fameuse
PAGE 3. Il est indispensable de la recopier dans I’'une des deux pages graphiques
autorisées par votre Apple.
Mais cela est simple, grace & la routine MOVE(SFEC)... poquée par las lignes 310 at
320 de notre programme (mais on prend la peine de vous les expliquer ! is
Pour le reste, tapez ce petit programme de démonstration (vous pouvez vous faire
aider si vous avez un poil dans la main). Vous comprendrez tout, je vous le promets !
Nestor.
1@ TEXT : NORMAL : PRINT CHR# (12); CHR® (21): HOME
26 GOSUB 316: REM ROUTINE TRANSFERT PAGES VERS PAGEZ
30 POKE 49234,0: REM MODE GRAPHIQUE PLEINE PAGE
48 GOSUB 248: HGR : HGR2 :x = @
58 POKE 230,96: REM PERMET DE TRACER DANS UNE PSEUDO PAGES
4@ POKE 49236,0: POKE 49233,4: REM PASSAGE EN MODE TEXT PAGE!
76 HCOLOR= @: HPLOT @,@: CALL - 3082; REM EFFACE LA PAGES
88 HCOLOR= 2: HPLOT 1,1 TO 279,189: HPLOT 279,1 TO 1,187: REM TRACE PAGES
90 LIST 36,60: LIST 70,88: LIST 106,118: VTAB 23: INVERSE : HTAB 6: PRINT
_ “BENSE2 & ESCAPE BOUR TERMINER*: NORMAL : GOSUE 288
180 POKE 49237,0: POKE 49232,8: REM PASSAGE EN MODE GRAPHIQUE PAGE?
116 CALL 768: REM TRANSFERT PAGE2
128 PRINT : PRINT CHR# (4)"BLOAD ETO,A$2008"
138 FOR I = 1 TO 10: POKE 49237,0: GOSUB 234: POKE 492346,0: GOSUB 230: NEXT
I
148 HOME : POKE 49235,0: UTAB 22: PRINT "HGR2 VA EFFACER LA PAGEZ": GOSUB 2
aa: HGR2
15 POKE 49236,0: HOME : POKE 492350: UTAB 22: PRINT "CALL 748 VA RECUPERE
R LA PAGES": GOSUB 280: POKE 49234,0: POKE 49237,0: CALL 768
168 GOSUB 286: POKE 49236,0: REM PAGE!
176 GOSUB 200: POKE 49237,8: REM PAGEZ
199 X =X + 1: IF X <8 THEN 140
19@ GOSUB 200: GOTO 198
200 CALL - 198: POKE --16368,0: WAIT - 14384,128,127: POKE - 163468,0:R
= PEEK ( - 14384)
210 IF R = 27 THEN 250
220 RETURN »
TREMPLIN MICRO 27
sggueuescoosoeoneaeeseoeesessoonesaossesoesoneeeoereoeseecoesssosoeeseReeeeeenoneeeReweseeeseeooeEsEES
236 FOR J = 1 TO 4@@: NEXT : RETURN
248 HCOLOR= @: FOR I = 1 TO 3:X = 32 * I: POKE 236,X%: HPLOT @,@: CALL - 36
82: NEXT : RETURN : REM EFFACEMENT DES PAGES! .2.3
25@ POKE 49236,0: POKE 49235,@: HOME :
266 VTAB 22: PRINT "(MENU DE DISQUETTE (E)NCORE (T)ERMINE "3: GET R$: PRI
NT
276 IF R$ = "M" THEN PRINT : PRINT CHR ¢4)"RUN MENU"
286 IF R$ = "E" THEN RUN
290 IF R$ < > "T" THEN HOME : POKE 49234,@: RETURN
366 TEXT : HOME :; END
316 POKE 768,168: POKE 749,8: POKE 776,132: POKE 771,68: POKE 772,169: POKE
773,96: POKE 774,133: POKE 775,61: POKE 776,169: POKE 777,255: POKE 778
:133: POKE 779,62: POKE 788,169
326 POKE 781,127: POKE 782,133: POKE 783,63: POKE 784,169: POKE 785,64: POK
E 786, 133: POKE 787,67: POKE 788,132: POKE 789,66: POKE 798,32: POKE 791
944: POKE 792,254: POKE 793,96: RETURN
TRANSFERT PAGE 3 DANS PAGE 2 (LES POKES)
g300- AB HB LOY £900
@362- 84 3c STY $3C ;
$384- AS 28 ita bece Page 3 (début de la zane & copier) $6006 (24576)
@306- 85 3D STA $30
a308- AS FF LDA = €$FF
304-85 3 ;
cree | ap oe BIR SE Page 3 (fin de la zone & copier) $7FFF (32767)
@36E- 85 3F STA $3F
@31g- A? 46 LDA = £#4a
@312- 85 49 STA #43 | Destination Page 2 $4000 (16384)
a3i4- 84 42 STY #42
@316- 28 2C FE JSR $FE2C
aZi9- 48 RTS
MOVE déplace la zone $3C-3D ($6000), finissant en $3E-3F ($7FFF) vers la zone commengant en $42-43 ($4000).
Des adresses nullement mystérieuses, et fort utiles !
$E4 (228) Contient le code de la couleur en HGR
$E6 (239) On y trouve $20 pour HGR, $40 pour HGR2... et $60 pour la pseudo
PAGE 3
En Basic, cela se traduit par Poke 230,32 — Poke 230,64 — Poke
230,96
$E7 (231) Valeur de SCALE
$E8-$E9 (232-233) Adresse de la table de formes
° Pour effacer la page courante, en haute résolution, vous aurez une alliée puissante
dans la routine BKGND ($F3F4). Par exemple :
300: A9 55 LDA £$AA » $55 = Bleu
302: 20 F4 FS JSR $F3F4 ——» Routine BKGND
305: 60
squnsunsenanenenussessesenseneoneneonssesuussescooesssousnecaeseeeeeeseeceousueseoessszoneeusanosssce
28 GUY-HACHETTE
| DES POKES UTILES
pour modifier le catalog ProDOS
Ouvrez dés maintenant un répertoire des POKES-ProDOS et'si vous disposez de
la version 1.1.1 (Septembre 1984) de ce systeme d’exploitation, essayez le petit
programme DEMO :
E PRODOS APPLE "
2 UNE TOUCHE POUR FAIRE UN ESSAI
44 POKE 45201,131
-> "5: GET RS
48 IF RS
58 IF R# = "R" THEN RUN
54 TEXT : HOME : END
ETURN
16 TEXT : HOME : PRINT CHR (4)"PRE£3"
12. PRINT " CES POKES NE SONT UTILISABLES QU’AVEC LA VERSION 1.1.1 DU SYSTEM
14 VTAB 2: FOR I = 1 TO 28: PRINT "----";: NEXT : PRINT : POKE 34,3
16 PRINT "POKE 42198,8 (128) = TITRES DES FICHIERS EN MODE INVERSE"
18 POKE 42198,0: GOSUB 56: POKE 42198,128
28 PRINT "POKE 42316,96 £162) = ELIMINE LES DATES DU CATALOG “NON DU CAT?
22 POKE 42316,96: GOSUB 5Sé: POKE 42316,162
24 PRINT "POKE 42344,173 (178) = LOCK (*) DEVIENT (->"
26 POKE 42344,173: GOSUB 56: POKE 42344,170
28 PRINT "POKE 42402,8 (18) = REMPLACE LES DATES PAR <NO DATE>"
3 POKE 42402,@: GOSUB 56: POKE 42462,18
32 PRINT "POKE 42483,96 152) = ELIMINE LA MENTION <NO DATE>"
34 POKE 42403,96: GOSUB 5é: POKE 42403,152
36 PRINT “POKE 42496,175 (173) = CHANGE LE / DES DATES POUR UN TIRET ¢-)"
38 POKE 42498,175: GOSUB Sé: POKE 42496,173
40 PRINT "POKE 45201,155 (131) = ESCAPE STOPPE LE CATALOGUE "
42 POKE 45201,155: PRINT CHR$ (4)"CATALOG": PRINT : PRINT : PRINT "ENFONCE
46 VTAB 22: PRINT "(M)ENU DE LA DISQUETTE DRIVE! ¢RDECOMMENCER ‘T)ERMINE
“M" THEN PRINT : PRINT CHR® (4)"-/TMS/MENU"
52 IF R@ < > "T" THEN PRINT : GOTO 46
56 POKE 34,6: PRINT CHR (4)"CATALOG": GET RS: PRINT : POKE 34,3: HOME : R
";: GET R$: PRINT : HOME : GOSUB 56
POKE 42198,0 (128)
POKE 42316,96 (162)
POKE 42344,173 (179)
POKE 42402,0 (18)
POKE 42403,96 (152)
POKE 42490,175 (173)
POKE 45201,155 (131)
ME Nous indiquons entre parenthéses la valeur normale
Titres des fichiers en mode inverse
Les dates ne sont plus visibles
* devient un tiret (fichiers protégés)
Les dates sont remplacées par "NO DATE”
La mention "NO DATE" n‘apparait plus
Troque le tiret des dates pour un /
ESCAPE stoppe le catalogue.
TREMPLIN MICRO
29
faitement en mode TEXT.
INDICATIF
(6 combien !) musical
18 REM INDICATIF “RETROUVE D’OREILLE)
26° REM "MUSIC.INIT" (D’APRES N,.BREAUD-POULIGUEN, PSI)
EST DISSIMULE DANS MUSIC.DIATM, A PARTIR DE L’ADRE
SSE 24752
34° PRINT CHR® ¢4)"BLOAD MUSIC.DIATM": REM "DIA.LM +
DIA.CARAC" DE "TREMPLIN MICRO 2"
44 TEXT : PRINT CHRS (21): HOME : HCOLOR= @: POKE 23
6,64: CALL - 3086: HCOLOR= 3: REM EFFACEMENT DE H
GR2
5@ DS = CHR$ (4):TR = 24576:IN = 24752:10 = IN + 1:1P
= IN+ 2
60 POKE 49239,0; POKE 49232,@: POKE 49237,6: POKE 492
34,8
74° YTAB 1: HTAB 11:T% = " "s INVE
RSE : FOR I = 1 TO 3: HTAB 11: PRINT T#: NEXT : VTA
B 2:73 = " ": PRINT TS): HTAB 31: PRINT TS
8G VTAB 24: FOR I = 39 TO 1 STEP - 1: PRINT " "3: NE
XT : FOR I = 23 TO 2 STEP - 1: VTAB I: HTAB 1: PRI
NT " "3: HTAB 48: PRINT " "3: NEXT : POKE 2839,32:
VTAB 2: HTAB 12: NORMAL ;: PRINT" INDICATIF
9@ CALL TR: REM PAGE TEXT COPIEE EN HGR2
166 VTAB 6: HTAB 3: PRINT "VERSION ORIGINALE": CALL TR
118 READ 1,J: IF J = @ THEN 136
128 POKE IN,I: POKE I10,J: CALL IP: GOTO 118
13@ RESTORE : VTAB 9: HTAB 3: PRINT "VERSION MANDOLINE
+e": CALL TR
14@ READ I,J: IF J = 8 THEN 148
30
© par Jacques Saussard
Ce programme utilise DIA.LM et DIA.CARAC
(Tremplin Micro n°2), mais fonctionne par-
On ne transfére le texte en page graphi-
que... que pour l'amour de l'art !
Si vous ne possédez pas
Tremplin Micro n°2, sup-
primez la partie graphique
du programme... ou com-
mandez-le !
TR = Adresse de Ia routine
de transfert ($6000)
IN = Routine Music
($6080)
La ligne 68 vous montre
comment passer en mode
HGR2 (sans rien effacer).
onseecseersonseeuseereT
GUY-HACHETTE
Vous apprécierez tout
particuligrement la
version enrouée !
na
Quant @ la version
bourrée (rien & voir
avec la bourrée auver-
gnate !) je vous la
recommande pour les
jours sans alcool...
France-Culture, c'est
tout de méme quelque
chose, non ?
augeoeneeneeoneeeoeeoees
TREMPLIN MICRO
158
168
178
186
196
268
218
220
270
288
298
388
318
326
338
346
358
368
378
338
396
40a
416
420
438
448
456
468
478
488
490
N
kg
FOR K = 1 TO (J / 16): POKE IN,I: POKE 10,12: CALL
IP: NEXT : GOTO 146
RESTORE : VTAB 12: HTAB 3: PRINT "VERSION ENROUEE
"sy CALL TR
READ I,J: IF J = 6 THEN 198
FOR L= 1 70 (J 4 16) + 2: POKE IN,I: POKE 101,6:
CALL IP: NEXT : GOTO 178
RESTORE : YTAB 15: HTAB 3: PRINT "VERSION JAZZ...
CA SWINGUE PRESQUE !":: CALL TR
READ I,J: IF J = @ THEN 268
IF J > 32 THEN POKE IN,I: POKE 10,90: CALL IP:M
@: GOTO 208
IF J < 32 THEN POKE IN,I: POKE 10,38: CALL IP:M
8: GOTO 288
IF M = @ THEN POKE IN,I: POKE 10,68: CALL IP:M
1: GOTO 208
IF M = 1 THEN
8
GOTO 208
RESTORE : VTAB 18: HTAB 3: PRINT
¢SAOUL-MUSIC !)": CALL TR
READ I,J: IF J = @ THEN 358
"
POKE IN,I: POKE 10,24: CALL IP:M
"VERSION BOURREE
= INT ¢ RND (1) # 38)
=yYr#ti
POKE IN,J: POKE 10,146: CALL IP
IF ¥ > <N 4 2) THEN FOR TI = 1 TO 206: NEXT TI: G
OSUB 420: a
POKE IN,I + N: POKE 10,1 + N: CALL IP
GOTO 270
GOSUB 426
GOSUB 428
POKE 32,2: POKE 33,34: POKE 34,4: POKE 35,22: PRIN
T : CALL - 198: GET RS: HOME : VTAB 7: LIST 440,49
@: FOR 1 = 7 TO 13: VTAB I: PRINT “ "3 NEXT
: POKE 32,0: POKE 33,46: POKE 34,8: POKE 35,24: CAL
L - 3086: CALL TR
VTAB 28: HTAB 18: CALL - 198: PRINT "“EXNCORE (M)
ENU ¢TERMINE "3: CALL TR: GET RS
IF R$ = "E" THEN RESTORE : HOME : GOTO 48
IF R$ = "M" THEN PRINT : PRINT D$"RUN MENU"
IF R$ = "T" THEN TEXT : HOME : END
GOTO 376
FOR P= 1 TO 2@:W = PEEK ¢49200):¥ = PEEK ¢ - 16
336): NEXT : RETURN
REM 4#44HHHEAEHEERES ES EERE ERE
REM L’INDICATIF EST CELUI
REM DE L’EMISSION
REM ALLEGRO MA NON TROPPO
REM DIFFUSEE A 11H3@ (1!)
REM SUR LES CHAINES DE
REM FRANCE-CULTURE LE DIMANCHE !
31
sueareouesenooreeensneseee sees sees esee sews oe escooeeoesenese oe eeeeeeeees eee eee eee ee
IN DICATIE (suite)
500 DATA 35,32,34,32,30,32,30,32,34,3 64,36 Sans ces lignes de
,32,34,32,38,32,30,32,3 DATA, je ne vous pro-
,30,22,30,32,30,32,22,32, mets plus rien !
519 DATA 34,32,38,32,26,32,23,32
132,17,32,19,32,23,32,
135, 32,30,32,22,32,35,32,34
452422564
528 DATA 45,16,35,16,34,16,22,32,0,4 u
MUSIC.DIATM Si vous possédez les programmes DIAGRAMME du n°2 de
_ Tremplin Micro, inutile de retaper DIA.LM et DIA.CARAC.
Pour obtenir MUSIC.DIATM, contentez-vous de taper ces
quelques lignes, puis de lancer le programme. Les lignes de Pokes installeront la rou-
tine MUSIC a l'adresse 24752 ($60B@). Tout est automatique !
14 TEXT : HOME : PRINT "DISQUETTE DIAGRAMME SVP ";: GET R$: PRINT
2@ PRINT CHRS (4)"BLOAD DIA.LM,A$688@": PRINT CHR$ (4)"BLOAD DIA.CARAC,
Ag6100"
34 4GOSUB 5@: PRINT : PRINT "DISQUETTE MUSIC SUP ";: GET R&: PRINT
44 PRINT CHR$ ¢4)"BSAVE MUSIC.DIATM,A$4800,L$408": END
5@ POKE 24752,164: POKE 24753,255: POKE 24754,173: POKE 24755,48: POKE 24
756,192: POKE 24757,136: POKE 24758,208: POKE 24759,5: POKE 24760,206:
POKE 24761,177: POKE 24762,96
466 POKE 24763,240: POKE 24764,9: POKE 24765,202: POKE 24744,208: POKE 247
$7,245: POKE 24768,174: POKE 24769,176: POKE 24770,96: POKE 24771,76: P
OKE 24772,178: POKE 24773,96: POKE 24774,96: RETURN
* Maintenant, pour celles et ceux qui se moquent du graphisme, voici les mémes
POKES pour MUSIC. INIT, & installer 4 l'adresse 768 ($300).
Bien sdr, il conviendra d’éliminer tous les CALL TR, ainsi que les accés 4 la page gra-
phique HGR2. De plus on aura IN = 768. Le programme ne s’en portera pas plus mal,
je vous l'affirme, foi de Nestor !
MUSIC. NIT Remplacez la ligne 30 par : 36 GOSUB 530
538 POKE 768,164: POKE 769,255: POKE 778,173: POKE 771,48: POKE 772,192: P
OKE 773,136: POKE 774,208: POKE 775,5: POKE 776,206: POKE 777,1: POKE 7
78,3
548 POKE 779,240: POKE 780,9: POKE 781,282: POKE 782,268: POKE 783,245: PO
KE 784,174: POKE 785,0: POKE 786,3: POKE 787,76: POKE 788,2: POKE 789,3
: POKE 790,96: RETURN
32 GUY-HACHETTE
ECRITUREHGR [GfeeaiGieetesa
Nos lecteurs ont des idées
| Caractéres frangais
transposés en page graphique par M. Devaux
Appeler la routine par
un BLOAD FONTE.LM
avant de faire un RUN
FONTE.DEMO.
POKE 49235,0
rétablit les 4 lignes de
texte dans la page HGR
CALL — 998
monte le curseur
CALL — 1008
recule le curseur
CALL 16384
est l'adresse de la rou-
tine LM ($4000)
CALL — 990
déplace le curseur 4 la
ligne figurant a l'adres-
se $25 (CV)
18
28
38
46
178
218
FONTE.DEMO
TEXT : NORMAL : PRINT CHR (21)
HGR : TEXT : HOME :T = 1
UTAB 21: PRINT "CTRL-T = TEXT - _CTRL-F = FINI DE J
QUER" + "CTRL-C = TERMINE ET LA PAGE HGR APPARAIT" +
" UTILISEZ LES QUATRE FLECHES DE L’APPLE "
UVTAB 1: HTAB 1: IF T = @ THEN T = 1: TEXT : GOSUB 21
tc]
GET At:A = ASC (AB)
IF A= 6 THEN POKE 49235,0: GOTO 148
IF A = 28 THEN TEXT : GOSUB 216: GOTO 54
IF A = 11 THEN CALL - 998
IF A = 127 THEN : CALL - 1608:AS =" ":D=1
PRINT A%;: IF D = 1 THEN D = @: CALL - 1888
Ys PEEK (37): IF Y= 19 THEN CALL - 958
H = PEEK (34)
IF A < > 3 THEN 56
POKE 49234,0: POKE 49234,8: POKE 49239,0: POKE 49232
4:7 = @
CALL 16384: GOSUB 216: GOTO 56
UTAB 22: HTAB 1: PRINT "¢M)ENU DE DISQUETTE ‘ENCORE
{TIERMINE";: GET RS: PRINT
IF R$ = "M" THEN PRINT CHR® <4)"RUN MENU"
IF R$ = "E" THEN 46
IF R$ ¢ > "T" THEN 148
TEXT : HOME : END
POKE 36,H: POKE 37,¥: CALL - 996: RETURN
Nous publions in-extenso le programme (inspiré de DIA.LM) que nous a adressé M. Devaux,
mais nous I’avons complété par une petite routine de démonstration qui se suffit 4 elle-méme.
UTILISATION : Sauvez FONTE.LM (pages 34-35) par un BSAVE FONTE.LM, A$4000, L$680.
ATTENTION ! Ce programme ne supporte pas les modes INVERSE et nash |
VERIFICA T = @: FOR! = 16384 TO 18047 : T = T + PEEK(I) : NEXT : PRINT T 65526
TREMPLIN MICRO
33
FONTE.LM 1
s80a- Ae 81 85 EF EA EA EA EA 41Aa- 29 2D
23 26 2
Fé
oe
ce
A
Aé
F4
a?
Fé
28
28
60 00 G8 86 Ga aa o6 aa 68 oo
36 @D 24 a7 Ba a8 ag BE GE OS
4G 85 8G 86 B88 OB OB 86 68 6B
2D DE 33 15 3F GE BE 3F 86 68
2D 2D 8G 4G BB ao as oo 84 OB
8D 3F BF 8D 15 3F 97 GE BE 1E 16 1E 86
75 24 GD 16 46 Ba Bo ao eC ee)
31 25 4D BA 17 17 17 4D 2D 15 1£ 16 Bs a7
25 2F 69 66 a6 oo Be OB 80 66 40 56 Ba BB
4008- 89 15 Bé GD 1E GE DE 38 25 AS 16 36 3E SF
4aDS- iC 20 Ef SC aa a8 Ba ae
4HEG- 45 36 44 89 Bo Oo GA aM
40ES- 60 80 86 55 oe ae ao Be if 17 Bé OB Bo oO
4HFG- 45 1E 16 36 5E 8E a5 aa 36 2E 2D 95 2a 10
40FS- 94 69 a6 Bo oo BB BB AB 21 10 3F 86 36 a6
41G0- 49 GE GE 34 1E 1E 87 aa 15 DF 33 36 76 2D
60 20 G5 96 88 Ga BB a6 80 6 66 Ha BG BO
GE 2D 1E 17
§
FE 2 36 2E 2D a5 26 24
15 1F 1F 4E a5 60 a6
F
B
86 66 66 66 46 6
SF 4E 2E 46 FS DB 36 2D FS 1B
66 66 66 468 66 6a BH 2D 44 86 G8 G6 4B
4° 92 32 1E a7 06 96 o8 FS DB 36 2D DE 36
4138- 69 88 66 49 44 85 Be OB 46 66 86 46 46 46
si4a- 91 24 2D 2D 44 G8 46 Ba FS DB 36 36 BE 2D
4145- 64 88 66 46 88 G6 BG oo > 7? 86 86 88 46 Be
S1i50- 49 92 72 47 55 44 48 oo 36 2E 49 24 3C SF
4158- 66 44 44 86 OF 8 86 oO 3C 48 86 48 8G a6
sish- 49 87 17 17 17 17 87 aG 1E 346 36 15 SF a7
41463- 64 46 86 HH HA BO 88 Be 46 66 66 66 66 84
417@- 49 20 15 DF 33 36 346 29
4178- 2D 20 24 F7 1E @6 64 46
4130- 49 SE GE 34 AE SF a7 46
4198- 84 66 66 56 O86 Ho OH 88
4i9@- GA @C 2D 15 BE BF 17 2E
4178- 2D 2D 84 84 AG GG 46 aB
36 36 Fé SF 10 6
56 86 64 84 86 66
34 6E a 10 10 1c
BC 85 66 86 66 O68
36 2E 2D 2D 46 G@
68 65 64 46 G& oa
GUY-HACHETTE
4378-
380-
4388-2
4390-2
q37e- 38
Snuneaag
eons y
TREMPLIN MICRO
35
a >
a OE INSEE Dos | propos |
Michel EDELIN
vous propose son
CALENDRIER
PERPETUEL
Chaque année,
vous |’éditerez sur :
© IMAGEWRITER ou
© EPSON RX 89 (voir page 38)
Janvien
reverey
Wm ee hans
1 Wm eee
Ne ee mea sary
Mr eRe eee
emia
"uae
wn
CeO ae
MAnawy
* Pw
CEE nly be a2
ONwuD
ee Pe
Pamey
Ba Meunan
a
tin
durer
sour
1 me ee
Um eee Wwe eee
Win a Gy 4
n a4 FAs.
Wee wn y
Pen as
Cary Cary
”
SE NURI) titra gece
wan
PNA emi gee
uDaDn wanns
un lle eae en ee MP Oe men H
”
»
Burnwny
servenane
ocroar
Novenene re
tee
UUme eee a ata
Maaesay UW ewe
TOW Riau | 5
Ci aaa or i
ue
founn an
cy ea a a rw
ua Tee ect es
2aNBuas Anaws
%
"HRW Sr wee a
vienna
a
van nanny
a MBuDa wy Py
van _
TEXT : NORMAL : PRINT CHR$ (21); CHR$ (12): HOME
18
15 PRINT "%4## #4 #4 HEHEHE EEE EK HEHE ERE LEE ERE RHEE"
20 PRINT "xxxKe« CALENDRIER kkxxex* Sous ProDOS, remplacer
25° PRINT "*####% PERPET UE L REREEE" PRE] par PRINT CHRS(4);
BO PRINT "#848 XX HEH RRR HERR E EEE E EK EE KEKE RRR" “PREI" (ligne 215), puis
35 FOR I = 1 TO 1504: NEXT I PREG par PRINT CHR$(4);
46 GOTO 485 “PREO" (ligne 350)
45:
5@ REM SOUS PROGAMME D’ECRITURE DE CHAINES DE CARACTERES
5S 3
68 ESS = "": FOR X = 1 TO ES:ES$ = ESS + E$: NEXT X: RETURN
65 3
CALCUL ET POSITION DU 1 JOUR
78 REM
75:
88 P= (U- 1) 4 188:Q = INT (P / 4) + INT (05 *# CU - 120 7 4) - 1
NT (P) + @
85 Y=M- (7 * INT (M 4 72) + 1: IF INT CU 4 4) = U / 4 THEN B = 1:MC2) =
29
7H ACID = MCL) :CC1) = Y: FOR W = 2 TO 11:ACW) = ACW - 1) + MCWOECKW = Y + ¢
IF CCW) > 7 THEN CiW) = CiW) - 7
Ad - 1) - € INT (AGW - 1) 4 7) *# 7d):
95° NEXT W
166 IF Y= < @ THENY =7+ ¥Y
185 N= MCI): IF I = 2 AND B = 1 THEN N = 29
118 PAS = " PATIENTE 7
115 HOME : VTAB 12: FOR PA = 1 TO 3@ STEP 18: INVERSE : HTAB 15: PRINT MIDS
<PAS,PA,18): NEXT : NORMAL
128 IF Y = 1 THEN E1$ = "": GOTO 136
125 ES = Y - 1:E$ = " "; GOSUB 6@:E1$ = ESS
GUY-HACHETTE
36
136
135
148
145
156
155
168
165
178
175
188
185
196
195
208
205
218
215
228
225
238
235
248
245
258
255
268
265
270
275
288
285
298
295
306
385
318
315
328
325
338
335
348
EES =" ":MOs¢I) = ""
FOR K = 1 TON: IF LEN ¢ STR@ ¢K)) = 1 THEN KB =" " 4 STRB CK): GOTO
145
KS = STRB ¢K)
MOS¢T> = MOS¢1) + KS + EES
NEXT K
NM = LEN (MOS(I> + E1$):ES = 148 - NMrES = " ": GOSUB 4@:E2% = ES*
MOS(I) = E1S + MOSC1) + E2%
T= 1+ 1:Y = ¥ + (N - 28): IF ¥Y > ? THEN Y = ¥ - 7
IF 1 = 13 THEN GOSUB 185: GOSUB 245: GOTO 494
GOTO 185
“REM COUPURE DU MOIS EN SEMAINE
FOR G = 1 70 12:P = 1: FOR D = 1 TO 6:MI$(G,D) = MIDS (MOS(G),P,28):P =
P + 28: NEXT D: NEXT G: RETURN
REM EDITION DE L“ANNEE
PRE 1: PRINT CHR ¢27);"N"3 CHR® (15); CHRS (9);"136N"
US = "": FOR 1 = 1 TO 3:U$ = US + MIDS ¢ STRB (U),T,1) + " "3 NEXT :US
= US + RIGHTS ¢ STR® (U),1)
E$ = "*":ES = 88: GOSUB 6@: PRINT ES$: PRINT
PRINT CHR$ ¢27);"N"3 CHR (14); TABS 15);U$: PRINT : PRINT CHR (15);E
S$: PRINT : PRINT : PRINT
RETURN
REM EDITION DU CALENDRIER
FOR H
= 1 TO NE: IF H > 1 THEN PRINT CHR (12)
GOSUB 265
FOR G = 1 70 12 STEP ML: IF ML = 4 THEN 295
IF ML = 2 THEN 285
TA = 12: PRINT CHRS (27)3;"N"3 CHRS (14): IF (G 4 2) - INT (6 4 2) =4T
HEN PRINT +: PRINT : PRINT : GOTO 308
IF G > 1 THEN PRINT CHR$ £12): GOSUB 285: PRINT CHRS (14): GOTO 308
IF G = 7 THEN PRINT CHR (12): GOSUB 265
TA = 11:ES = 23:6 = " ": GOSUB 60: GOTO 308
TA = 1@:ES = 146:E% = " ": GOSUB 4@: PRINT CHRS (27);"Q"; CHR® (15);
PRINT TAB¢ TA) ;MAS<G);: IF ML = 1 THEN PRINT “": PRINT : PRINT : PRINT
!TA = S1E8$ = “": GOTO 315
PRINT ES$;MAS(G + 133: IF ML = 2 THEN PRINT "": PRINT :TA = 6:ES = 12:
GOSUB 6@: GOTO 315
PRINT ES$;MAS(G + 2) ;ES$;MAS(G + 3): PRINT :TA = 6:ES = 5: GOSUB 68
PRINT TABS TA);: FOR Z = 1 TO ML: PRINT JO$;ES$;: NEXT 2: PRINT : IF ML
= 4 THEN PRINT CHRS ¢€27)"r": PRINT CHR® (27) i
PRINT TABC TA): FOR Z = 1 TO ML: PRINT SOS;ES$;: NEXT 2: PRINT : IF ML
= 4 THEN PRINT CHRS (27)"r"i PRINT CHR® (27)"4"5
FOR D=1 70 6
PRINT TABS TA);MI$<G,D)3;: IF ML = 1 THEN PRINT "": PRINT : PRINT : GOT
0 345
PRINT ES$;MI$(G + 1,D);: IF ML = 2 THEN PRINT “": PRINT : GOTO 345
PRINT ES#;MIS<G + 2,D);ES$;MI$<G + 3,D): PRINT (SUITE PAGE 38)
TREMPLIN MICRO 37
—
345
350
355
368
365
378
375
388
385
398
395
408
485
416
415
426
425
438
435
440
445
458
455
468
465
470
475
486
485
498
NEXT D: IF ML = 4 THEN PRINT : PRINT
NEXT G: NEXT H: PRE @: RETURN
REM ENTREE DES DONNEES
Bs =" ENTRE2Z L“ANNE
E CONSIDEREE *
HOME : VTAB 2: FOR J = 1 TO 190 STEP 2@: HTAB 10: INVERSE : PRINT MIDS
(BS,J,20): NEXT J
VTAB 12: HTAB 16: PRINT "-> ": NORMAL
VTAB 12: HTAB 20: PRINT "1900";: HTAB 26: INPUT ""3U$:U = VAL CUS): IF
U > 2888 THEN 385
IF NOT U THEN TEXT : HOME : END
HOME : VTAB 4: HTAB 11: INVERSE : PRINT "POUR L’ANNEE ";U: NORMAL
VTAB 8: PRINT : PRINT "NOMBRE DE MOIS PAR LIGNE (1/2/4) -> "3: GET ML$:M
L = VAL (MLS): IF ML < 1 OR ML = 3 OR ML > 4 THEN 408
PRINT ML#
IF ML = 1 THEN NP = 6:S% = "S"; GOTO 425
IF ML = 2 THEN NP = 2:S% = "S": GOTO 425
NP = 1:65 = ""
PRINT : PRINT “EDITION DU CALENDRIER SUR ";NP;" PAGE" ;5$
PRINT : INPUT "NOMBRE D’EDITION DESIREE -> ";NE
NP = NP # NE: IF NP > 1 THEN S$ = "S"
PRINT : PRINT "CHARGER AU MOINS ";NP;" FEUILLE" ;S8
VTAB 28: HTAB 1: PRINT "VALIDATION (O/N) "3: GET AS
IF A’ ¢ > "O" AND AS < > "N" THEN 445
PRINT AS
IF AS = "N" THEN 368
GOTO 86
REM VARIABLES DIVERSES
DIM MC12) ,AC12) ,C612) ,MOSC12) ,MISC1Z,12) ,MAS<12)
B= @:MC1) = 31:M(3) = 31:M¢5) = 91:MC7) = 31:M(8) = 31:MC18) = 313M(12)
= 31:M¢4) = 30:M(6) = 30:M¢9) = 3O:MC11)
495 JO$ = "DI LU MA ME JE VE SA ":S0% *
Sa@MASC1>) =" JANYVIER “iMag¢(9) = "S ="
MARS "3MAaS(4) = " MAT "3M
AS(6) = JUIN
585 MAS(7) = a a a i "sMAS(11) = "N
OQVEMBRE "sMA#(12) =" D ECE " FPEVRIER
518 GOTO 368
MODIFICATIONS POUR EPSON RX 80
215 PREV : PRINT CHRS(27); "a"; CHRS(27); "G" CHRS(27); "W"; CHRS(1) : GOTO 300
220 US = STRS(U) : & =” ": US = LEFTS(US,1) + ES + 285 IF G = 7 THEN PRINT CHRS(12) : GOSUB 205 : GOTO 290
‘MIDS(US,2,1) + ES + MIDS(U$,3.1) + ES + RIGHTS(US,1) 290 a ur = 23: 6$ =" ": GOSUB 60 : PRINT CHRS(18); :
230 PRINT CHRS(27); "W’; CHRS(1); TAB(15); US; CHRS(27); "W"; SyaTESS IBM Mg : ;
CHRS(0) : PRINT : PRINT ESS : PRINT : PRINT : PRINT s Ta as lee JG MU PRIOR: EET:
275 TA = 12: PRINT CHRS(27); "W"; CHRS(1) : IF (G/2) — PRINT MTA: . —— °
INT(G/2) = 0 THEN PRINT : PRINT: PRINT : GOTO 908 320. PRINT TAB(TA) : FOR Z = 1 TO ML : PRINT SOS; ESS; : NEXT Z
280 IF G 1 THEN PRINT CHRS(12) : GOSUB 205 : PRINT PRINT”
38 GUY-HACHETTE
Votre bibliotheque
INFORMATIQUE
@ Créez vos jeux d'aventure sur micro-ordinateur
C'est le titre du livre d'un auteur francais, J.-M.
PEZERET (Eyrolles), et cela méritait d’étre souligné,
amon avis du moins.
Comment élaborer un scénario, choisir un theme,
structurer les données et le programme lui-méme,
utiliser le graphisme ? Le sujet est vaste et le pro-
jet ambitieux !
L'’ouvrage se propose de donner un support techni-
que 4 votre imagination, et de décrire une métho-
dologie de programmation pour la réalisation de
jeux d’aventure, notamment au travers d'un exem-
ple concret, que vous batirez de A 4 Z. Il semble
qu'il y parvienne, mais le Basic est celui du TO7 et
du MOS, c'est-a-dire un langage qui, notamment
sur le plan du graphisme, différe trés sensible-
ment de celui de l'Apple. Il serait intéressant de
réaliser le méme ouvrage en Applesoft.
Pourtant, si vous le pouvez, lisez le livre de J.-M.
Pézeret et notamment son chapitre 6, consacré
aux modules de base.
par Guy-HACHETTE
CREEZ vos
JEUX p:AVENTURE
SUR MICRO-ORDINATEUR
JM. PEZERET
ae @ Le Basic vu par des pédagogues
| | LE MANUEL
fe 01
Se,
HACHETTE
Snformaticnie
Connaitre le Basic est 4 l’ordre du jour, notamment
dans l’enseignement. Les ouvrages en frangais
sont déja nombreux, mais ne résultent pas tou-
jours de travaux récents. Est-ce la raison qui a con-
duit Hachette Informatique 4 publier une excel-
lente traduction de ce Manuel du Basic (par M.
Waite et M. Pardee) ? Peut-étre.
Il reste que les Francais disposent maintenant d’un
véritable cours qui leur permettra de se familiari-
ser avec le Basic ou d’en approfondir la pratique.
Un détail : le chapitre 7 y est consacré 4 un pro-
gramme de simulation du Rubik's cube sur ordina-
teur personnel.
Le Manuel du Basic comporte de nombreuses rou-
tines développées avec le Basic IBM. On sait qu’il
s'agit du Basic Microsoft. Ce n'est évidemment pas
l"'idéal pour qui posséde un Apple, mais la décou-
verte d'un autre langage, surtout lorsqu’il est trés
proche du vétre, se révéle généralement passion-
nante, n’est-il pas vrai ? G.-H.
TREMPLIN MICRO
39
ECRANS CONDENSES |
UN PROGRAMME DE MAURICE CHAVELLI
ANS la série "Ecrans condensés”, le numéro 3 de Tremplin Micro pré-
sentait le programme "ECRANLM” permettant d’économiser de la
place sur les disquettes pour mémoriser des masques en 40 colonnes.
Le présent programme va plus loin sur deux plans :
oO Les masques sont codés suivant un principe
simple: tout caractére qui se répéte est
détecté et a partir du troisieme, on se contente
de compter ces caractéres. A la fin du comp-
tage, on inscrit le nombre obtenu. Cette techni-
que permet d'économiser facilement la moitié
de la mémoire. Pour ne pas trop compliquer le
programme, j'ai “ignoré” le cas ot un caractére
se répéte plus de 256 fois. Si cela se produit sur
un masque, vous aurez des mélanges. Si tous
vos masques comportent un cadre, il n'y aura
aucun probléme.
Les masques sont regroupés dans une TABLE
qui est ensuite mémorisée sur disquette. Il suf-
fit donc de caser cette table quelque part en
mémoire, l’appel d'un masque se faisant sim-
plement en indiquant son numéro.
Le programme basic ECR.CREER permet de créer la TABLE 4 partir de masques(*) déja stockés sur dis-
quette. II suffit de suivre les instructions du programme ; la table se construit 4 partir de l’adresse $2000
(8192 en décimal). La ‘routine ECR.IN est chargée du codage et du transfert, elle a été agrémentée de
nombreux commentaires et, pour ne pas dépayser le lecteur, elle utilise le méme principe d’exploration
de |'écran que ECRANLM du numéro 3. J'ai d’ailleurs supprimé la référence 4 l’adresse $25 qui corres-
pond 4 la position verticale du curseur (VTAB), celle-ci est en effet inutile car elle est ignorée par la rou-
tine BASCALC ($FBC1) qui utilise "A" comme indicateur de ligne... le hasard fait parfois bien les choses !
La table contient en téte les adresses de début de chaque masque (2 octets par masque), puis les mas-
ques codés 4 la file. Attention 4 l’occupation mémoire ! Le programme vous |'indique en permanence.
LECTU
Le programme basic ECR.LIRE vous montre comment utiliser la routine ECR.OUT qui permet de lire une
TABLE. Le programme est prévu pour lire l’adresse $2006 (il faut donc au préalable charger une table
par BLOAD TABLE,A$200@), mais il est trés facile 4 modifier (ligne 55) ; d’ailleurs la TABLE est relogea-
ble, mais attention 4 ne pas "écraser” un programme ! Pour changer un peu, la routine ECR.OUT écrit
les lignes en bas de |'écran, puis fait un scolling (montée de I’écran d'une ligne), ce qui est plus agréable
4l'ceil | Vous pouvez imaginer d'autres transferts : de haut en bas ; de droite 4 gauche... si vous avez
du temps et du courage. Maurice CHAVELLI.
(*) Commencez donc par les créer, en utilisant le programme paru dans Tremplin Micro n°1 (de la page 17 4 la page 23).
Attention ! il s‘agit d’écrans TEXT et non de pages graphiques.
40 GUY-HACHETTE
SS
158
168
176
186
184
185
186
198
208
204
285
266
216
220
238
TEXT :D$ = CHR (4): POKE 6,0: POKE 7,33:N = @:AD = 8194: POKE AD - 2,
a: POKE AD - 1,39
REM sence aenene nr emesaeenne
REN CHARGEMENT ROUTINE cope le outing EERIN po 2)
" 8 sauvez-la sur disquette par un
cane De LOAD. EERWIN ECR.IN, A$300, L$67
REM MENU
REM <-->
SUSUB 378: VTAB 2@: INVERSE : PRINT "ENTRER “C’ POUR LE CATALOGUE": HTA
B 6: PRINT "ENTRER ‘F’ POUR TERMINER ": NORMAL : YTAB 16: HTAB 6: INP
UT "NOM DU MASQUE ? ";A%
IF AS = "C" THEN HOME : PRINT D&"CATALOG": PRINT : PRINT "TOUCHE QUELC
ONGUE POUR LA SUITE": GOSUB 574: GOTO 30
IF AS = "F" THEN 146
B= PEEK (6):C = PEEK (7)
ONERR GOTO 538
BREN) serra eeeccme sree
REM CHARGEMENT MASQUE Sous ProDOS, transformez ainsi
REN emeasees ence aes la ligne 86 :
PRINT D$"BLOAD" ;A$: POKE 214,08
POKE 6,B: POKE 7,
GOSUB 570: IF A$ = CHR$ (27) THEN 38
IF A$ = CHR (13) THEN 138
CALL - 198: GOTO 168
REM ----------------------
REM APPEL ROUTINE
REM ET MISE A JOUR ADRESSE
REM
80 POKE 48984,0 PRINT D$
“BLOAD";A$: POKE 216,0
Cela vous évitera
message d’erreur :
NO BUFFERS AVAILABLE
l'inévitable
CALL 768:N = N + 1: POKE AD, PEEK (4): POKE AD + 1, PEEK (7):AD = AD +
2: GOTO 30
GOSUB 620: HTAB 12: PRINT "<S)AUVEGARDE": PRINT : HTAB 12: PRINT "(A)NN
ULATION"
GOSUB 570: IF A’ = "A" THEN RUN
IF A$ = "S" THEN 188
CALL - 198: GOTO 158
GOSUB 628: HTAB 6: INPUT "SOUS QUEL NOM? ";A%
Re
REM COMPACTAGE TABLE
REM. os<s=eeneseee=
POKE 66,8: POKE 61,33: POKE 62, PEEK (6): POKE 63, PEEK (7): PQKE 66,N
* 2: POKE 67,32: CALL 865
FOR E = 8 T0 2. *N - 2 STEP 2:V =
256 - 256 + 2 * NiH =
193 + E,H: NEXT
REM
REM SAUVEGARDE TABLE
REM
PRINT D$"BSAVE" ;A$;" ,A$2608,L" 3D
GOSUB 620: HTAB 6: PRINT
GOSUB 576: IF A’ = "0" THEN RUN
“UNE AUTRE TABLE ?"
PEEK (8192 + E) + PEEK (8193 + E) *
INT <¥ / 256): POKE 8192 + E,V - H * 256: POKE 8
SUITE PAGE 42
TREMPLIN MICRO
4!
248
258
268
278
288
290
300
316
328
338
340
358
368
378
388
398
408
418
428
438
456
468
478
488
498
586
518
528
538
546
55@
546
578
588
596
688
618
626
638
IF AS = "N" THEN 296
CALL - 198: GOTO 236
REM: => —-
REM POUR LE PLAISIR
AS = "ALORS SALUT... A LA PROCHAINE... ET BONJOUR CHEZ TOI...":B$ = "":
HOME : VTAB 18
FOR C = 1 TO LEN (AS): FOR D = 1 TO 5@: NEXT D: IF PEEK ¢ - 16384) >
128 THEN 338
IF LEN (BS) < 39 THEN BS = BE + MIDS (A$,C,1): HTAB 4@ - LEN (BS): P
RINT B%;: NEXT C
BS = RIGHT (BS, LEN <BS) - 1) + MIDS (A$,C,1): HTAB 1: PRINT B%;: NEX
TC: GOTO 308
NORMAL : HOME : END
HOME : VTAB 1: HTAB 8
PRINT "CREATION TABLE DE MASQUES"
HTAB 8: FOR E = 1 TO 25: PRINT "-"3: NEXT
VTAB S: HTAB 1: GOSUB 498
D = PEEK (6) + PEEK (7) * 256 - 8448 + 2 *N
VTAB 8: HTAB 5S: PRINT "LONGUEUR DE LA TABLE : "3D
VTAB 19: HTAB 5: PRINT “NOMBRE DE MASQUES : "3N
VTAB 12: GOSUB 498: VTAB 22: GOSUB 498
VTAB 22: FOR E = 1 TO 40: PRINT "_"3: NEXT
PRINT : PRINT " <ESC>: NON VALIDE ... <RETURN>: VALIDE";
VTAB 16: HTAB 6
RETURN
FOR E = 1 TO 4@: PRINT “_";: NEXT : RETURN
REM aman
REM TRAITEMENT ERREUR
HOME : VTAB 16: HTAB 12: FLASH : PRINT "INTROUVABLE !": NORMAL : FOR E
= 170 10: CALL ~- 198: NEXT : GOTO 38
REN SS ei
REM S/P ATTENTE TOUCHE
REM - = =
IF PEEK ¢ - 16384) < 128 THEN 578
GET AS: RETURN
REM seme mrnsnncnenimnsnnamiann
REM S/P EFFACE LIGN. 16 A 21
POKE 34,15: POKE 35,21: CALL - 936
POKE34,@: POKE35,24: RETURN
Faites connaitre TREMPLIN MICRO a ceux de vos amis qui
possédent un Apple (et n’oubliez pas qu’un numéro de la revue
ne coiite pas plus cher que quelques mauvaises photocopies !).
42
GUY-HACHETTE
6300: A? 81
6302; 85 1A
6304: A? 98
6306: 85 88
6368: 85 1B
836A: 85 89
VON BON eS
Assemblage par ProCODE
BAS
HAUT
LIGNE
SYA
DBLE
NBR
BASL
BASCALC
MOVE
*
DEBUT
BCLY
SUITE1
SUITE2
SUITES
SUITE4
QU
Eou
EGU
EQU
Eau
EQu
EQu
Eau
EGU
ORG
LDA
STA
LDA
STA
STA
STA
JSR
LDY
LDA
LOX
BNE
CMP
BNE
INC
UMP
PHA
LDA
STA
LDA
JSR
LDA
STA
PLA
JMP
CMP
LDX
STX
JSR
INY
cPyY
BNE
INC
LDA
CMP
LDA
BNE
$28
$FBC1
$FE2C
$268
£$1
OBLE
£36
LIGNE
NBR
SUVA
BASCALC
£30
¢BASL) ,¥
OBLE
SUITE2
SUA
SUITE!
NBR
SUITES
£$1
DOBLE
NBR
ECRIT
£S8
NBR
SUITES
SUA
SUITES
£38
DBLE
ECRIT
£328
BCLY
LIGNE
LIGNE
£318
DEBUT
DBLE
SUITES
C0
Adresse de...
sela table
Sauvegarde A
@ si méme caractére
Nbr de caracteres identiques
Adresse premiére colonne
Calcule l’adresse de
Déplacement mémoire
* Base BASL d’aprés A
Initialisations
OK OK KOK
Début de boucle ¥
On va chercher le caractére
Est-on en "double" ?
Non alors...
Qui -> toujours le méme ?
Non alors...
Qui -> on incrémente NBR
On mémorise A sur la pile
On "marque"
DBLE -> plus en "double"
et on écrit le...
«NBR & 1a suite
Gn initialise...
eeele NBR
On récupére A
Est-ce le meme ?
Non, alors on poursuit
Qui, alors on...
..."margue" DBLE -> @
On écrit le caractére
Un caractére de plus
Est-on & 48 ?
Non -> on tourne
Qui -> + une ligne
24 lignes ?
Non -> on tourne
Est-on en "double" ?
Non -> terminé SUITE PAGE 44
TREMPLIN MICRO
43
Q34E: AS 1B 49 LDA NBR 3 Gui -> on écrit NBR
0358: 26 5403 50 JSR ECRIT
6353: 48 51 SUITES RTS
52 *448xeee SYP d’écriture en mémoire ##¥eteEH
O354: AZ 98 53. ECRIT LOX £88
54 STA <BAS,X)
55 STA SVA
56 INC BAS
5? BNE ECRIT1 4
5€ INC HAUT LVAD
59 ECRIT! RTS COT)
SO FERRER REE S/P de transfert FERRER EE -
8361: AG BB 41 LDY £90
@363: 20 20 FE 62 JSR MOVE
Q366: 68 63 RTS
BSAVE ECR.IN,A$308,L*#67
Table des symboles ordre alphabetique
“BAS. ee. $O805 ~BASCALC...$FBC1 ~BASL..... $8828 ~BCLY......96311
-DBLE. $0018 ~DEBUT.....$830C -ECRIT.... .$0354 $8360
“HAUT... 4.38087 ~LIGNE.....$8608 “MOVE 0.006 SFE2C $0018
“SUITE... .$6328 ~SUITE2....$8332 ~SUITE3....$833A ~SUITE4....$033D
SUITES... .$6353 WSVA woe BOBOF
¢ ECR.OUT
Assemblage par ProCODE
8 DEP EQU $6
1 ARR EQU $8
2 DBLE EQU S14 ; @ si un caractére se reproduit
3 SVA EQU 1B ; Mémorise A
4 LIGNE EQuU $1C i Ligne courante
5 NBR EQU $1E ; Nbr de caractéres identiques
$ SCROLL E@U sFC7a j Monte 1’ecran d*une tigne
a ORG $386
8386: AP B7 8 LDA $7 i Adresse...
@302: 85 49 # STA ARR+1 3 de la
8304: AP DB 14 LDA £8D8 : ligne
0306: 85 68 11 STA ARR } numéro 24
@3@8: A? a8 12 LDA £88
@30A: 85 1C 13 STA LIGNE 3: *
@30C: 85 1B 14 STA SVA i * Initialisations
@3BE: AP B1 15 LDA £1 i *
9310: 85 14 16 STA DBLE 3 *
@312: 20 76 FC 17 DEBUT JSR SCROLL 3; On remonte d’une ligne
9315: Ad aa 18 LDY £88
317: AS IA 19 BCLY LDX DBLE 3 Est-ce en double ?
G319: D@ aD 28 BNE SUITE2 ; Non, alors un autre caractére
@31B: Cé 1E 21 DEC NBR ; Oui, alors un de moins
8310: DB a4 22 BNE SUITE1 3 Si @ -> fin de double
44 GUY-HACHETTE
@31F: A2 O1 23 LDX £$1 3; On "marque"
8321: 86 1A 24 STX DBLE ; DBLE
$323: AS 1B 25 SUITE1 LDA SVA
0325: 4C 3E 63 26 JMP = SUITE4
6328: 36 56 63 27 SUITES JSR LIT ; On iit jie caractére
@32B: C5 1B 28 CMP = SVA ; Le meme caractére ?
@32D: D@ OF 29 BNE SUITE4 ; Non, alors on tourne
O32F: 28 58 83 38 JSR LIT ; Qui, alors on va chercher NBR
6332: C9 08 31 CMP £30 ; Est-il 69a) & zéro ?
0334: FB 86 32 BEQ SUITES ; Qui, alors pas de troisiéme
9336: 85 1E 33 STA NBR 3; Non, alors on le mémorise
8338: A? 88 34 LDA £48 ; On "marque"
833A: 25 1A 35 STA DBLE } DBLE
833C: AS 1B 36 SUITES LDA SVA
O33E: 91 68 37 SUITE4 STA ARR) ,Y ; On écrit le caractére
6348: 85 1B 38 STA SVA ; On mémorise le caractére
39 * DETECTER LES "DOUBLES"
9342: C8 48 INY j Un caractére de plus
8343: CO 28 41 CPY £%28 3 Est-on & 40 ?
9345: D@ DB 42 BNE BCLY ; Non, alors on remet ca!
0347: £6 1C 43 INC LIGNE ; Oui, alors une ligne...
6349; AS 1C 44 LDA LIGNE 3 seede plus
@34B: C9 18 45 CMP £418 j Est-on a 24 ?
@34D: D@ C3 46 BNE DEBUT ; Non, alors on repart
O34F: 48 47 RTS
48 ####*ee* S/P DE LECTURE DE CARACTERE **¥*#*#%
@358: A2 66 49 LIT LDX £48
8352: Al 86 5@ LDA <DEP,X) ; On lit le caractére
0354: Eé 66 Si INC DEP ; On avance en mémoire
9356: Da 42 52 BNE LIT1 ; Si on a @, on incrémente...
0358: Eé 67 53 INC DEP+1 j ...aussi la partie haute
B35A: 68 54 LIT RTS
BSAVE ECR.OUT ,A%3@0,L$5B
Table des symboles ordre alphabétique
“ARR. + $6088 -BCLY. + $0317 -DBLE......$001A -DEBUT.....$0312
=DEP., + $0006 -LIGNE.....$681C LIT one oe 38350 -LIT1.. +$835A
“NBR... SOBLE -SCROLL....$FC70 -SUITEL....$8323 -SUITEZ....$6328
-SUITE3....$833C -SUITE4....$033E -SVA. +6... .$001B
16 ONERR GOTO 48
26 TEXT : HOME :D$ = CHRS (4)
38 PRINT D$"BLOAD ECR.OUT"
46 HOME : VTAB 3: HTAB 5S: INVERSE : PRINT "LECTURE D’UNE TABLE DE MASQUES":
NORMAL
58 VTAB 1@: HTAB 16: INPUT "NUMERO DU MASQUE ? ";A
SS AD = 8192: REM CORRESPOND A #2008, A DETERMINER SELON L’ADRESSE DE C
HARGEMENT
68 POKE 6, PEEK ‘AD - 2 + 2 * A): POKE 7, PEEK ‘AD - 1 + 2 * A): CALL 768
7@ IF PEEK ¢ - 16384) < 128 THEN 76
88 GET At: GOTO 48 |
TREMPLIN MICRO 45
GRAPHISME Basic et langage machine
TRACER UN CADRE
dans une page graphique
ASIC ou LANGAGE MACHINE ? La seconde méthode est un peu plus rapide (notam-
ment pour effacer I’écran), mais le programme en Basic est tellement simple... que
l'on hésite 4 aller plus loin.
Il tient en effet en 3 lignes : 40, 50 et 60 et donne un bon résultat.
Gageons qu'il se trouvera, parmi nos Lectrices et Lecteurs, quelque génie capable de
rendre la routine en langage machine plus performante.
PROGRAMME DE DEMONSTRATION
10 TEXT : PRINT CHRS (21); CHR$ (12): HOME : GOSUB 168
28 VTAB 12: PRINT "PROGRAMME EN BASIC (7@ OCTETS)": PRINT : PRINT : LIST 4
8,58
38 GOSUB 158
48 HGR : POKE 49234,0: HCOLOR= 2: HPLOT 4,8: CALL ~- 3082
50 HCOLOR= @
68 FOR 1 = 18 TO 184: HPLOT 18,1 TO 248,11 NEXT
78 GOSUB 158: HOME : TEXT
8@ \VTAB 12: PRINT "PROGRAMME EN ASSEMBLEUR (57 OCTETS)": GOSUB 158
98 CALL 768: GOSUB 15@
108 POKE 49235,8: PRINT : VTAB 22: PRINT "(ENCORE M¢ENU DE DISQUETTE TCE
RMINE)": GOSUB 158
110 R= PEEK ¢ - 16384) - 128: IF R = 69 THEN 16
128 IF R= 7? THEN PRINT : PRINT CHR$ (¢4)"RUN MENU"
138 IF R< > 84 THEN GOSUB 15@: GOTO 118
148 TEXT : HOME : END
158 CALL - 198: POKE ~- 16368,@: WAIT - 16384,128,127: POKE - 146384,0: C
ALL - 198: RETURN
160 POKE 768,169: POKE 769,32: POKE 770,133: POKE 771,230: POKE 772,173: PO
KE 773,84: POKE 774,192: POKE 775,173: POKE 776,82: POKE 777,192: POKE 7
78,173: POKE 779,87: POKE 784,192: POKE 781,173: POKE 782,80
178 POKE 783,192: POKE 784,149: POKE 785,85: POKE 786,32: POKE 787,244: POK
E 788,243: POKE 789,149: POKE 798,16: POKE 791,133: POKE 792,4: POKE 793
162: POKE 794,@: POKE 795,32: POKE 796,236: POKE 797,246: POKE 798,142
180 POKE 799,10: POKE 804,16: POKE 81,0: POKE 882,165: POKE 803,46: POKE 8
84,32: POKE 885,17: POKE 806,244: POKE 807,169: POKE 808,12: POKE 889,16
2: POKE 810,1: POKE 811,164: POKE 812,46: POKE 813,32: POKE 914,58
190 POKE 815,245: POKE 816,230: POKE 817,46: POKE 818,165: POKE 819,46: POKE
820,201: POKE 821,181: POKE 822,288: POKE 823,230: POKE 824,96
286 RETURN »
46 GUY-HACHETTE
f ROUTINE EN LANGAGE MACHINE
Q368- AP 24 LDA
0302- 85 ES STA
0304- AD S4 CO LDA
6367- AD 52 CO LDA
@30A- AD 57 CB LDA
8300D- AD S@ CO LDA
8310- A 55 LDA
312-28 Fa F3 JSR
@315- AY BA LDA
@317- 85 86 STA
4319- A2 68 LDX
Q31B- 28 EC Fé JSR
O31E- A2 BA LDX
0228- Ab GB LDY
@322- AS 86 LDA
@324- 28 11 F4 JSR
@327- AY BC LDA
8329- AZ B1 LDX
@32B- Ad 06 LDY
@32D- 28 3A FS JSR
8338= Eé 06 INC
@332- AS 66 LDA
@334- C9 BS CMP
0336- Da E6 BNE
@338- 68 RTS
(lignes de pokes)
EFFACER ET COLORER HGR
£$20 $E6 doit contenir $20 quand on trace dans la page | et $40
$E6 pour la page 2~ octet de poids fort de $2000 ou $4000
$0054 On commute la page 1...
$CG52 sans ses 4 lignes de texte...
$CO57 Puis le mode haute résolution...
$0058 et le mode graphique.
£$55 Le code du rouge est chargé
$F3F4 BKGND donne 4 la page courante la couleur qui est dans A.
NE LAISSER QUE LE CADRE
£300 $GA est mis dans l’accumulateur et
$06 stocké & l'adresse $6 (page zéro).
£306 Registre X40
SFSEC Couleur fixée 46
£S0A Partie basse abscisse
£900 Partie haute abscisse | Début de la ligne
$06 Ordonnée (pointeur $6)
$F411 HPOSN positionne le curseur sans tracer
£$0C Partie basse abscisse
£$01 Partie haute abscisse | Fin de la ligne
$06 Ordonnée (pointeur $6)
$F53A HLIN trace la ligne ainsi délimitée
$86 Blis 1 pour le pointeuF...
$06 «+. que l'on charge en mémoire
£$B5 Est-il égal a $B5 ?
SO31E Si non, encore une ligne |
Retour au Basic. a
Offrez-vous les disquettes
de programmes de
TREMPLIN MICRO
Au choix : DOS 3.3. ou ProDOS.
(ProDOS ne fonctionne qu’aprés avoir
lancé le systeme avec une disquette
MASTER).
Utilisez le bulletin de commande de la
page 62... ou recopiez-le.
TREMPLIN MICRO
AT
Votre bibliothéque
INFORMATIQUE J parciement renaro
: la ais en ” questions ousiiiiti I in IV CR O
ignore si le guide réalisé par Bruno de Latour saura répon-
dre aux questions que vous vous posez encore sur la micro- EN 100 QUESTIONS
informatique, sujet d’actualité s'il en est.
; F CO erp
Sur Apple, sans doute n’apprendrez-vous rien que vous ne monde
sachiez déja, Et d’ailleurs, que vous importe le passé de Ste-
phen G. Wozniak ou celui de Steeve Jobs... puisque le pre-
mier s'est remercié lui-méme, tandis que le second se
voyait détréné par John Sculley ? Vous vous en fichez roya-
lement, et davantage encore du fait que, en juin 1983 (quel
jour... et @ quelle heure ?), Madame Thatcher autorisait
Mister Sinclair 4 devenir Sir Clive !
C'est pourtant cela, La Micro en 100 questions, mais aussi
la réponse 4 "comment mesure-t-on la mémoire ?”, “Com-
ment reconnaitre un bon clavier ?” ou “Qu'est-ce qu'un
logiciel intégré ?”.
Le choix des questions pourra vous paraitre agagant,
orienté, original ou judicieux. Il est certain que la
Showing the first 100000 of 142304 characters.