Skip to main content

Full text of "magazine poms14"

See other formats


es bra 



Pour tous les passionnes de; Ibrdinatejjrpersonnel, 



■ — i — " ; • — f | 1 .... — —[■—■— ■■ — _ P" * f . ; L IX. : 

indies et ceux qui le sont mbins, Apple lance le Club Apple 
Enfin un cl ub avec des idees £t des services 
pour cornlprendre, pour gagner, pour s'evader. 
Le Clu b A pple, c'est Tes ^rit App I e . 




Pour en savoir plus sur le Club Apple • le fr uil de Id passion • el connaitre tous les avantages que nous reservons aux 
membres du club, decoupez des aujourd'hui le bon et retournez-le a Club Apple, avenue de I'0c6anic ZA de Courtabceuf - BP 131, 
Les Ulis cedex 91944. Vous recevrez sans engagement de votre parttoutes les informations pour devenir membre du club. 



Norn _ 
Adresse 



Prenom 



Code poslal 



pom's ni4 



SEPTEMDRE-OCTOBRE 1984 



Sommaire P 


age 


Langage * 


Niveau * * 


Editorial par Herve Thiriez 


5 






Initiation a Passembleur par Gerard Michel 


7 


B-A 


T 


Procedure & pai Philippe Le Dru 


15 


A 


M-T 


Disque virtuel 64K par Jacques Rey 


19 


A 


M-T 


Appleworks a 1'essai par Guy Lapautre 


23 






Jane : L'Apple II saurp Macintosh oar Jean-Michel Gourwitrh 


24 






Amper-interpreteur ICARE uai Pascal Cantot 


25 


R-A 




Visicalc Advanced Version par Herve Thiriez 


37 






Les essais du Macintosh par Bervg Thiriez 


43 






De MacWrite a Apple Writer He par Pom s 


45 


R 
i— * 


T 


Les tokens du Basic Microsoft par Jean-Luc Bazaneyue 


46 




T 


Gestion de masques amelioree nar Jacaues Tran-Van 
et Maurice Schapiro 


47 


B-A 


T 


Leve-toi et brille par Alexandre Avrane 


53 




T 


217 fichiers par disquette par Marcel Cottini 


55 


B 


M 


Conversion minuscuies/MAJUSCULES par Alexandre Avrane 


56 


A 


M 


Un catalogue general par Michel Baudrand 


57 


B-A 


T 


Koala pad a 1'essai par Marcel Cottini 


67 






Micro-informations par Jean-Michel Gourevitch 


69 






Lecture/ ecriture rapide de tableaux par Jacques Duma 


73 


B 


T 


INPUT generalise miniature par Jacques Duma 


73 


B 


T 


Courrier des lecteurs par Alexandre Duback 


75 







Longage : B(osic) AiwembJeui) - P(dscal). (B) slgnlfle : relatif au BASIC. 
f* Niveau . Debutant) - M(uyen) - P(rofesslonnel) - T(ous) 

P-T signtOe : ptuyramme unusable par les debutants, mas dont la comprehension est de niveau "Professionner. 



Les annonccurs 

ACER MICRO :p 18. Apple : p, 
COMPUTER : p. 77 HELLO : p i 
M.B.U.C. : p. 13 MEMSOFT : 
SATELCOM : p. 77 SICOB : p 4 



38-39 ASAP : p 72 B.F.I. : p. 79 Club Apple : p 2 COMPUTER 3 : p 74 DYNAMITE 
1 HIT Microsysteme : p 80 IEEE : p. 68 INFORTEC : p 68 KARDF.X t p 13 LIST : P . 51 
p. 44 LOrdinateur Individuel : p. 6 / PFACHTRFF ■ p 40 41 P.S.I. Diffusion i p. 42 
INFOSOFT ; p. 66 TELECOMPO : p 74 



Edition MEV — 64-70 rue des Chantiers — 78000 Versailles 

Diroctour dc la publication : Herve Thiriez. Imprimerie Rosay. 94300 Viucennes. Imprlme en France. Depdl legal : 3* Illmeslre 1984. 



Pom's n* 14 



f .1 -\h.-& r -:--.nrf?-. Sg 




QUESTIONS 
D'AUXXIRD'HUl ? 



REPONSES 
AU SICOB. 




' I COB 84 



CNIT-PARISLA DEFENSE 
DU22AU28SEPTEMBRE 

(SAUF DIMANCHE 23) DE 9HA 18H. 

JOURNEES PROFESSIONNELLES: 19.20.Z1SEPT 



4 



Pom's n° 14 



Editorial 



I Wis ans deja 1 Tmls annees pendant lesquelles Pom's a augment* so pagination (ce numero comporte 
80 pages), sa frequence de paiution. son tirage. et m€me son prix de vente. quoique moins de 15 % 
d augmentation en trois ans. cela soit tin record en maiiere d' inflation ! Surtout avec le papier qui a 
pratiquement triple et les frais postaus qui n'ont pas respect? les consigns du guuvermment en mature 
de con ti die des prix... 

Trois articles de ce numero valent chaeun le prix dun abonnement annuel ; tout d'abord le catalogue 
general de Michel Baudrand, et le programme kare de Pascal Cantot qui regroupe (tel Haifa) Lin 
paquet de routines routes plus interessantes les unes que les autres. sous le contrnle rlu ceiebre &. Puis, 
inspire par I'article de Michel Haag paru dans le numero 12. la transformation par Jacques Rev de 
votre carte 80 colonnes "etendue" en un disque virtue! de 64K. 

Marcel Cottini stocke 217 fichiers sur une disquette. I! vous propose egalement un e-ssai de Koala 
Pad. Dans le domaine des essais. vous trouverez cgalcment le bgiciel Jane presente par Jean-Michel 
Gourevitch, et Applewoiks. loyiciel Integra vu par Guy Lapautre. Pour ma part, j ai pu tester Visicatc 
Advanced Version, le dernier developpement de> Visieak. 

Deux articles originaux d Alexandre Avranc : dune port une routine de conversion de I'affichage 
minuscule en majuscule pour que vos programmes concus sur e et c soient utilisables sur Apple fi 
sans ROM LC. et d'autre part, une contribution originate en Uisicalc qui vous donnera les heures de 
lever et couchcr du soleiJ. 

Jacques Tran-Van et Maurice Schapiro ont modi fie le programme de gestion de masque ecrit par 
Gerard Michel. Ce dernier pnimnit par ailleurs sa serie d'initiation a lasscmbleur pour laquelle nous 
recevons toujours un courtier enthousiaste. 

Philippe Le Dru ajoute a f Applesoft une routine de gestion de procedure avec des variables locales 
tout a fait "pascaliennes". Quant a Jacques Duma, i! vous delivre des problemes de virgules et deux- 
points dans les JNPUTs en deux lignes d'Applesoft. En deux lignes egalement vous pourrez sauvegarder 
et recharger des tableaux de variables sur disquettes. 

La rubrique Macintosh grandit et va devenir. probablement a partir du numero de novembre. un cahier 
complet. Je vous y presente une analyse de deux livres et deux togfciels de jeu. Jean-Luc Bazanegue 
a recherche pour vous fes tokens du Basic Microsoft du Macintosh, et Pom's vou$ donne le moyen 
denvoyer a votre brave Apple des tcxtes ecrits avec MacWrite Vous etes en effet de plus en plus 
nombreux a disposer d'un Mac. et Pom's tient a apporter son soutien aussi aux utilisateurs a ce nou- 
veau bourreau des cceurs. 

Nous avons encore de nombreux programmes passionnants en resetve et prions les auteurs qui nous 
envoient leurs contributions de bien vouloir prendre patience. Dans le prochain numero (novembre) 
entre autres beautes. vous aure? "Mobby Disk", un programme qui permct danahser ou de modifier 
un disque a volonte. 

Enfin, Pom's continue a rechercher un collaborates connaissant parfaitement bien I'assembleur et le 
Basic Applesoft, sachant sexprimer clairement et sans fautes d ortogmphe. pour un travail de redaction 
pouvont aller du mi- temps au temps complet 

Hervc Thiricz 



Erratum : sur la couvertuie. il b'dyissai! de Bill Budge el non Bodge. Devons-nous y voir l'lnfluence 
nefaste de la traduction de bug en Bogue ? 

Ont rnllabore a c* numero : Alexandre Avnsne - Michel Baudrand - Pascal Caiiioi - Marcel Coitlnl - Alexandre Pubach - 
Jacques Duma Jean Michel Gourevitch - Guy Lapaulre - Philippe Le Dai - Gerard Michel - Jacques Rey - Maunc'e Schapiro - 
Herve Thiriez - Jacques Tian Van Redacieurs : Alexandre Avrane - Gerard Michel Directeur de !a publication, redacteur 
en chef : Herve Thiiie? Dessin : Laurent Bidot. 

Siege social et abonnements : Editions MEV 64 70. rue desChantiers 78<K>0 Versailles TpI |31 451 24 43 
Redaction et eourrier des lecteurs : 59. bd de Glatigny 7Hf)l)(l Versailles 

Regie publicitalre : Fnrro 7 Anne Jourdan 5. place du Colonel Fahien 7501(1 Paris Tel 240.22 01 
Diffusion N.M.P.P, : Sophie Marnc? Tel 111 241)22 01 

Composition : Telecompo 13-15. avenue du Pelit Pare 94300 Vincennes Tel .528 IfS<).i 
Impression : Rosay 47. avenue de Pans 94300 Vincennes 1 el 32«S 1863 



Pom's n° 14 




1980: il etait deja la avant meme 1'explosium de la rtiicru- 
informatlque . pret a evcluer avec elle d'annee en annee. 

1984/I985:il est *'la T Bible.Sontitre.sesfideles leluiont donne, 
naturellement: "LE" GUIDE. 

Instrument de premiere approche des neophytes. 
Reference des passionnes. des vrais amateurs, des profes- 
Gionncls. des constructors, des vendeurs. 

1984/1985 : LE GUIDE MICRO presente : 

- les 216 riches techniques detaillees des micro-ordinateurs 
du marche (de 500 FF a 50000 FF). 

le tableau cxclusif dc plus de 1 30 irnprimantes, 
-un panorama des 60 logiciels a connaitre clans toutes 

les applications, 
-pres de 2000 adresses de constructeurs, dc clubs et 

de boutiques, par ordre alphabetique et par departement, 

- I8S mots clefs de I'informatique. 



1 er septembre1984: 
LE GUIDE MICRO est vendu 35 FF 
chez votre marchand de journaux. 

1984/1985: elabore par une equipe de journalistes, LE GUIDE 
MICRO explique :qu'est-cequ'un ordinateurV Que permet-il? 
LE GUIDE MICRO prend parti et dit pourquoi : pour ou contre 
55 ordinateurs individuels. II commente les grandes manoeu- 
vres de I'annee 84. II tutoie Tavenir * les ordinateurs de janvier 
85 sont au rendez-vous. 

LE GUIDE DE 

I'l LORDINATEUR 
1 1— Jj IIME3IVIDUEL 



Initiation a l'assembleur (4) 

Gerard Michel 



L'articlc precedent nous a donne 
l'occasion de rentrer un peu dans le 
detail du content! des octets manipu- 
les par votre Apple et de voir 
comment certaines instructions de 
"assemble!!* travaillent au niveau des 
bits d' information. 

En analysant les traitements presen- 
ts au sujet des instructions ADC ou 
SBC, vous ovez pu constater qu'il 
n'y a flnalement rien de bien myste- 
rieux dans revolution de ces suites 
de 1 et de qui constituent les 
octets. L'application nqoureuse de 
regies arithmetiques simples permet 
en effet de prevoir le resultat des 
operations binaires et. par voie de 
consequence, de comprendre le 
fonctionnement et les conditions 
d'emploi des instructions du langage 
assembleur realisant ces operations.^ 

Nous pouvons done maintenant 
aborder d' autres instructions plus 
"fines" quant a leur champ d'appli- 
cation. Si, comrne toujours, elles ma- 
nipulent la quantite economique d'in- 
formation quest r octet, les con- 
sequences de cette manipulation ne 
peuvent etre totalement comprises 
qu'a 1'aide d'un examen bit a bit. 
Des regies simples conduisent la en- 
core a la prediction du resultaL, el 
e'est bien normal lorsque les objets 
du traitement sont aussi "pauvres" et 
peu nombreux que et 1. 

Les operateurs logiques 

Nous retrouvons la des instructions 
presentcs cgalernent dans TApplesoft. 
Lorsque vous ecrivez '"IF A=2 AND 
B=3" vous savez que la condition ne 
sera satisfaite que si Ton a a la fois 
"A=2" et ,, B=3". De meme, si la 
condition devient "IF A=2 OR 
B=3" vous savez qu'il suffira que 
"A=2" ou que "B=3" pour qu"e!le 
soit satisfaite. meme si I on na pas 
"B-3" lorsque "A=2'\ ou "A=2" 
lorsque "B=3" 

Si I on considere que "vrai" est code 
par "1" et que "faux" est code par 
"0". "A=2 AND B=3" ne sera vrai 
que si "A=2" donne 1 et si "R=3" 
donne 1. En revanche, pour que 
"A =2 OR B=3" soit vrai, il suffit 
que I'un des deux elements "A=2" 
ou "B— 3" donne 1. Des principes 
ideriiiques sont utilises pour les ope- 
rateurs logiques en assembleur. avec 
toutefois une distinction supplemen 
taire poui le "OR". 

Le ET loglque 

Le code mnemonique de 1' instruction 
est AND. Elle realise un "ET logi- 



que" entre l'accumulateur et ce qui 
suit le code AND. c est-a-dire un 
nombre ou le contenu d'une case- 
memoire designee par Tun des 
modes d'adressage deja erudies. Le 
resultat est remis dans Taccumula 
teur. 

Le ET s'effectue bit a bit, selon la 
table de verite suivante : 
AND = 

AND 1 = 

1 AND = 
1 AND 1 = 1 

Si le bit 3 de F accumulates est a 1 
au moment du AND et que le bit 3 
de T element "compare" est a 0, on 
retrouvera le bit 3 de l'accumulateur 
a a Tissue du AND. 
Supposons ainsi que l'accumulateur 
contienne "01001101" (soit #$4D) 
et 1'adresse $18 "HOllOOO 71 (soit 
#$D8). Apres un AND avec le 
contenu de Kadresse $18, on trou- 
vera dans l'accumulateur la valeur 
"01001000" (soit #$48) ; sur le bit 
(le plus a droite) on a 1 et qui 
donnent 0. sur le bit 1 on a et 
qui donnent 0, sur le bit 2 on a 1 et 
qui donnent 0, sur le bit 3 on a 1 
et 1 qui donnent 1... et ainsi de 
suite. 

Cette instruction AND permet en 
particulier de "forcer" des bits de 
l'accumulateur a 0. Prenons la valeur 
#$EF, par exemple, soit en binaire 
"11101111". Un AND #$EF forcera 
le bit 4 <le cinquieme en paitant de 
la droite) de l'accumulateur a sans 
modifier les autres bits. Si l'accumu- 
lateur contenait "01110101", on au- 
rait alors : 

01110101 AND 11101111 -> 
01100101 

Tous les bits de Tdccumulateur de- 
rneurent inchanges, sauf le bit 4 qui 
passe a 0. Si ce bit 4 avait deja etc a 
avant AND, il le serait resie apres. 
En tout etat de cause, on est certain 
de trouver dans ce bit 4 apres 
AND. 

En assembleur. cela s'ecrirait : 
LDA #$75 
AND #$EF 

et Faccumulateur conricnt maintenant 
#$65 (01100101). 

Kevenons un instant sur I'un des 
programmes d'illustration proposes 
dans f article precedent. Nous avions 
vu qu'il tallait retirer # $80 au code- 
clavier d'un chiffre pour obtenir son 
code-ecran en mode INVERSE. Pour 
ce faire. nous avions utilise SBC 
#$80. Or les codes ecran concernes 



sont superieurs a #$80 et leur bit 7 
(le plus a gauche) est done a 1. En 
binaire, #$80 vaut 10000000 et le 
complement a 2 de #$80 vaut ega- 
lement 10000000 (calculez-le pour 
vous en convaincre). Retirer #$80 
d'un uctet dunt le bit 7 est a 1 re- 
vient done finalement a mettre sim- 
plement son bit 7 a (1 + 1 - 0) 
sans modifier ses duties bits. On 
pourrait obtenir le meme resultat par 
un AND #$7F (#$7F = 01111111) 
qui force le bit 7 a sans affecter les 
autres. Dans la mesure ou Ton ne 
connatt pas toujours la valeur du bit 
C avanL d'executer SBC. cette se- 
conde solution peut nous perrnettre 
de faire 1' economic d'une instruction 
SEC en yaranUssant un resultat equi- 
valent En resume, si le bit 7 de l'ac- 
cumulateur est a 1, AND #$7F est 
equivalent a SEC suivl de SBC 
#$80. 

Les dtfferents formats de 1'insmicrion 
AND sont (ADS designant une 
adresse symbolique) : 

• AND nombre = AND #$NN - 
29 NN (par exemple 29 7F) 

• AND adresse page = AND ADS 
= AND $aa = 25 aa (le ET est 
effectue entre l'accumulateur et le 
contenu de I' adresse aa) 

• AND adresse quelconque = AND 
ADS = AND $aaaa = 2D octet 
has/octet haut (AND $ED42 = 2D 
42 ED) 

• AND adresse page zero.X = AND 
ADS,X = AND $aa,X = 35 aa 

• AND adresse quelconque, X — 
AND ADS.X = AND Jaaaa.X = 
3D octet bas/octet haut 

• AND adresse quelconque,Y = 
AND ADS.Y = AND Saaaa.Y = 
39 octet" bas/octet haut 

• AND (adresse.X) = AND (ADS.X) 
= AND ($aa,X) = 21 aa 

• AND (adresse).Y = AND (ADS),Y 
= AND ($aa).Y = 31 aa 

L' execution de AND exerce une ac- 
tion sur le registre d'etat : le bit Z (in- 
dicateur de resultat nul) vaudra 1 si 
l'accumulateur content apres AND 
et dans le cas contraire, tandis que 
le bit N (indicateur de signe) sera a 1 
ou selon que le bit 7 de I'accumu- 
lateur sera lui aussi a 1 ou apres 
AND. 



Le ET logique 'Virtuer 

[-'instruction BIT realise le meme 
traitement que AND mais ne remet 
pas le resultat dans l'accumulateur 
qui reste done inchange (d'ou le 
qualificatif 'Virtuel''). En revanche, le 



Pom's ri° 14 



registre d'elaL se trouve affects par 
BIT. D'une part. Findicateur Z est 
positionne commc pour AND et, 
d'autre pait. les bits 6 et 7 du 
contenu de F adresse donnee apres 
BIT sont copies dans les bits 6 et 7 
du registre d'etaL (indicaLeurs V et 
IN). 

Supposons ainsi que vous vouliez sa- 
voir a un instant donne si le bit 7 du 
contenu de i'adresse $25 est a ou 
1 (nombre positif ou negatif en 
complement a 2), mais sons pouvoir 
modifier le contenu des registres A. X 
et Y. Apres une instruction BIT $25. 
un test par BPL (branchement si in- 
dicates N = 0) ou par BMI (bran- 
chement si N = 1) vous donnera 
reformation souhaitee et vous per- 
mettra d'orienter vos traitements en 
consequence De meme, si c'est le 
bit 6 qui vous interesse, BIT $25 
suivi de BVC ou BVS conduira au 
resultat. 

[-'instruction BIT ne possede que 
deux formats ; 

• BIT adresse page = BIT ADS - 
BIT $aa = 24 

• BIT adresse quelconque = BIT 
ADS = BIT $aaaa = 2C octet 
bas/octet haut 

Le OU exclusif 

L'instruction FOR realise un traite- 
ment bit par bit avec les memes ope- 
randes et operateurs que AND : ac- 
r.umulateur et autre chose, avec 
resultat de Tope ration remis dans 
l'accumulateur. La table de vente de 
EOR est : 

EOR 0=0 

FOR 1 = 1 

1 EOR = 1 
1 EOR 1 = 

Un bit du resultat ne &eia "viai" que 
si Tun des bits de depart est faux et 
Pautre vrai; un EOR sur deux bits 
identiques (0 ou 1) donne toujouis 
0. 

LOR #SFF permet de oalculer |e 
complement a 1 de l'accumulateur, 
par exemple : 

U1101001 EOR 11111111 -> 
10010110 

L'accumulateur contenait #$69 
(01101001) et. apres EOR #$FF 
(11111111). tous les bits a 1 se re- 
trouvant a et reciproquement, il 
contiendra #$96 (100 101 10). En as- 
sembler, cela s'ecrirait ; 
LDA #$69 
EOR #$FF 

En revanche, COR #$00 laisse le 
contenu de l'accumulateur inchange, 
romme vous n'aurez aucune peine a 
le verifier, 

L'execution de EOR affecte les indi- 
cateurs N et Z dans les memes 
conditions que cclle de AND. Les 



formats possibles sont : 

• EOR nombre = EOR #$NN - 49 
NN 

• FOR adresse page = EOR ADS 
= EOR $aa = 45 aa 

• EOR adresse quelconque = EOR 
ADS = EOR $aaaa = 4D octet 
bas/octet haut 

• EOR adresse paqe 0,X = EOR 
ADS.X = EOR $aa,X = 55 aa 

• EOR adresse quelconque, X — 
EOR ADS.X = EOR $aaaa.X = 
5D octet bas/octet haut 

• EOR adresse quelconque.Y - 
EOR ADS,Y = EOR $aaaa,Y = 
Fi9 octet bas/octet haut 

• EOR (adresse.X) = EOR (ADS,X) 
= EOR ($aa,X) = 41 aa 

• EOR (adresse).Y = EOR (ADS).Y 
= EOR ($aa),Y = 51 aa 



Le OU inclusif 

C'est le meme, sur le principe, que 
celui de F Applesoft. Pour que le re- 
sultat soit "vrai", il suffit cette fois 
que Tun des deux elements de de- 
part le soit sans que Fautre doive ne- 
cessairement etre "faux 1 ". Le code de 
Finstruction est ORA et elle ulilise la 
table de verite : 
ORA = 

ORA 1 = 1 

1 ORA = 1 
1 ORA 1 = 1 

Le ORA se fait entre l'accumulateur 
et autre chose, le resultat etant tou- 
jours remis dans Faccumulateur. 
Cette instruction permet notamment 
de forcer des bits a 1 sans modifier 
ics autres. Par exemple. ORA #$10 
(00010000 en binaire) force le bit 4 
de l'accumulateur a 1 : 
10001 Oil ORA 00010000 -+ 
10011011 

En assembleur, cela s'enrirait ■ 
LDA #$8B 
ORA #$10 

et Ton aurait alors #$9R (1001 1 01 1 ) 
dans Faccumulateur. 

A noter que si le bit 7 de l'accumula- 
teur est a 0. ORA #$80 (10000000) 



Etop* 3 




est equivalent a CLC suivi de ADC 
#$80 Si le hit 7 de rarcumulateur 
est a 1. vous aurez sans doute cons- 
tate que c'est AND #$7F 
(01111111) qui equiuaut a CLC 
suivi de ADC #$80 puisque, une fois 



eliminees les consequences de la va- 
leur de Findicateur C, ADC #$80 
dunne le meme resultat que SBC 
#$80 (-128 = 128 = $80). 
De m£me. lorsque le bit 7 de Faccu- 
mulateur est a 0, ORA #$80 revient 
a lui retirer #$80 (le bit 7 passe a 1 
lorsqu'on ajoute le complement a 2 
de #$80 qui nest autre que 
#$80...). 

Cette equivalence entre operateurs 
loyiques et ADC 'SBC ne peut toute- 
fois etre exploitee simplement que 
pour des calculs sur un octet, car 
AND et ORA ne nidiiipulenL pas la 
retenue dont on a besoin des que 
Fon passe a des operations sur deux 
octets. 

ORA affecte le registre d'etat exacte- 
ment comme AND et EOR (bits N et 
Z); les formats de Finstruction sont : 

• ORA nombre = ORA #$NN = 
09 NN 

• ORA adresse page = ORA ADS 
= ORA $aa = 05 aa 

• ORA adresse quelconque = ORA 
ADS = ORA $aaaa = 0D octet 
bas/'octet haut 

• ORA adresse page 0.X - ORA 
ADS.X = ORA $aa,X = 15 aa 

• ORA adresse quelconque.X = 
ORA ADS.X = ORA $aaaa,X = 
1 D octet bas/octet haut 

• ORA adresse quelconque.Y = 
ORA ADS,Y = ORA $aaaa,Y = 
19 octet bas/octet haut 

• ORA (adresse,X) = ORA (ADS.X) 
= ORA (Saa.X) = 01 aa 

• ORA (adresse).Y = ORA (ADS),Y 
= ORA <$aa),Y= 11 aa 

Decalages et rotations 

Decalage a gauche : ASL 

L'instruction ASL agit sur un octet 
selon le principe suivant ; 

- un entre dans Foctet par la 
droite; 

- tous les bits de F octet sont done 
pousses vers la gauche; 

- le bit 7, qui etait le plus a gauche, 
n'a plus de place dans Foctet et il 
"tombe'" dans le bit de retenue C. 



Prenons par exemple Foctet 
"101001 11" Si on lui fait subir un 
decalage a gauche, il deviendra 
"01001110" et le bit 7 qui etait a 1 
se retrouve dans la retenue : C = l 
apres cette operation. 



ASL 



Etope 1 



Porn's n° 14 



Ouvrons maintenant une petite pa- 
renthese sur le systeme decimal. II 
est evident pour tout le monde que 
2-10 = 20. Si Ton examine ce resul- 
tat de plus pres. on peut dire que le 
chiffre 2 est en fait poussc vers la 
gauche pai un qui entre par la 
droite et meme. en raisonnant sur un 
seul chiffre, qu'il tombe finalernent 
dans un chiffre de retenue C que 
Ton remet ensuite devant le resultat 
(en binaire, une retenue ne peut va- 
loir que ou 1, mais elle peut pren- 
dre toute valeur entiere entre et 9 
en decimal). Finalernent, la multipli 
cation par 10 en decimal n'est rien 
d'autre qu'un decalage des chiffres 
vers la gauche, pousses par un qui 
rentre par la droite. 
En binaire, et en toute logique, un 
decalage a gauche rcvient a multi- 
plier par 2 r octet qui fait I'objet du 
decalage. 

Soit par exemple 1'octet "01110101" 
(117 en decimal); a Tissue du deca- 
lage, on a "11101010" et 00; on 
verifie bien que "11101010" = 234 
en decimal = 2*117. 
De meme. si on decale a qauche 
"10100111" (167 en decimal), on 
obticnt "01001110" (78) et C=l. Si 
Ton consldere cette retenue de 1 
comme le poids fort du resultat, on 
verifie que 256 I 78 = 334 = 2*167. 

Voyons maintenant les formats de 
nnstructjon ASL avant d'examiner 
plus en detail le probleme de la mul- 
tiplication par 2 sur deux octets ; 

t ASL accumulateur = ASL = OA 

• ASL adresse page = ASL ADS 
= ASL $aa = 06 aa 

• ASL adresse quelconque = ASL 
ADS - ASL $aaaa = OE octet 
bas/octet haut 

• ASL adresse page 0,X - ASL 
ADS.X = ASL $ad,X = 16 aa 

• ASL adresse quelconque. X = 
ASL ADS.X - ASL $aaaa,X = 
IE octet bas/octet haut 

Soit un nombre stocke sur deux 
octets 01 (poids faible) ct 02 (poids 
fort). Multiplier ce nombre par 2 re- 
vient a : 

- decaler Ol a gauche 

- decaler 02 a gauche 

- ajouter a 1'octet 02 ainsi multiple 
la retenue eventuelle provenant du 
decalage (multiplication) de Ol. 

Les lignes 1 a 17 du Programme 1 
vous presentent une premiere me- 
thode pour effectuer ce calcul, a 
Faide des instructions que nous 
connaissons de)a. On initialise une 
variable R (retenue) a 0, mais on la 
fait passer a 1 si le test BCC echoue 
apres ASL 01 (Pechec signifle que 
e'est un 1 qui est tombe dans la rete- 
nue C). Ensuite, on charge 1* accumu- 
lateur avec 02, on le decale, on lui 
ajoute la valeur de R (0 ou 1) et on 
remet le resultat dans 02. Le sto- 



ckage intermediate de la retenue 
nous est impose par le fait que ASL 
02 modifierait le bit C qui ne pour- 
rait done garder a coup sur la valeur 
qu'il avait apres ASL Ol 
Ne regardez pas trop vite la suite du 
Programme 1, mais sachez nean- 
moins qu'il exisre une maniere plus 
simple de parvenir au meme resul- 
tat... 

Precisons pour finir que ['execution 
de ASL agit sur le bit C, bien sur, 
mais aussi sur I'indicateur N (mis cj 1 
si le bit 7 de 1'octet est a 1 apres 
ASL, et a sinon) et I'indicateur Z 
(mis a 1 si 1'octet ne contient plub 
que des apres A5L, a sinon). 

Decalage a droite : LSR 

Memes causes, memes effets, mais 
dans 1' autre sens ! 

- un entre dans 1'octet par la gau- 
che; 

- tous les bits sont repousses vers la 
droite; 

- le bit 0, le plus a droite, n'a plus 
de place et il tombe dans la retenue. 



poids fort (02) par 2. S'il est bien di- 
visible par 2, cest-a-dire si son bit 
est a 0, on auia C=0 apres LSR 
Dans le cas contraire. on aura une 
retenue C=l qu'il faudra remettre 
dans le bit 7 de 1'octet de poids fai- 
ble (Ol) apres avoir egalement divise 
ce dernier par 2. Reprenons 1'exem- 
ple de 334/2 pour illustrer la chose. 

Nous avons deja vu que 
"10100111" (167) * 2 = 
"01001110" (78) plus une retenue 
C=l qui est en fait un octet de poids 
fort "00000001". 

Si Ton divise "01001110" par 2 au 
rnoyen de LSR, on obiient 
"00100111", soit 39 qui est bien la 
moitie de 78. mais, pour retrouver 
noire 167 de depart, il nous manque 
128, soit la moitie de 256 Aver le 
bit 7 a 1, "00100111" devient 
"10100111", soit 167, et Ton peut 
prendre ce 1 dans C qui sera juste- 
ment a 1 aprds le decalage a droite 
de "00000001". 

Supposons maintenant que le poids 
fort soit "00000010" et le poids fai- 



Etope 1 



L S H 



Etope 3 

















. V V 

i 



Etop* 

Sans revenir sur les subtilites de la 
division par 10. et compte tenu de ce 
qui precede, vous avez deja devine 
que Tinstruction LSR permet notam- 
ment de diviser un octet par 2. Par 
exemple : 

"01001110" (78 en decimal) devient 
"00100111" (39) apres LSR, avec 
G-0. 

"11101010" (234) devient 
"01110101" (117) apres LSR, avec 
C=0. 

Mais pour retrouver le resultat de 
334/2, puisque nous avions calcule 
tout a l'heure que 167*2 = 334, il 
faut de nouveau travailler sur deux 
octets. Nous y leviendrons apres 
avoir donne les formats de LSR. 

• LSR accumulates = LSR = 4A 

• LSR adresse page = LSR ADS 
= LSR $aa - 46 aa 

• LSR adresse quelconque = LSR 
ADS = LSR Saaaa = 4E octet 
bas/octet haut 

• LSR adresse page 0,X = LSR 
ADS.X = LSR $aa,X = 56 aa 

• LSR adresse quelconque.X - 
LSR ADS.X = LSR Saaaa.X = 
5E octet bas/octet haut 

Pour diviser par 2 sur deux octets, il 
faut tout d'abord diviser 1'octet de 



2 



ble "01001110". ce qui correspond 
a (2*256) + 78 = 590. La division 
de "00000010" par LSR donne 
"00000001" avec C=0, et celle de 
f 0100111U" donne toujours 
"00100111", d'ou un resultat a ce 
stade de (1*256) + 39 = 295. qui 
est bien la moirje de 590. 11 n'est pas 
necessaire cette fois de modifier le bit 
7 de 1'octet de poids faible. car le 
poids tort de depart etait pair, ce que 
C=0 apres LSR pourra nous indi 
quei. 

Ce mecanisme des divisions par 2 
serait bien sur plus facile a analyser si 
Ton travaillait directement sur 16 bits 
Reprenons ainsi nos deux exemples : 

• 334 = 0000000101001110 
LSR 0000000101001110 donne 
0000000010100111 ou encore 
"00000000" et "10100111" 

• 590 - 0000001001001110 
LSR 0000001001001110 donne 
0000000100100111 ou encore 

^ "00000001" et "00100111" 
Comme nous somrnes obliges de tra- 
vailler sur 8 bits, e'est le bit C apres 
LSR sur le poids fort qui sert de 
"pont" entre les deux parties du 
nombre sur 16 bits 

Les lignes 19 a 30 du Programme 1 
vous presentent une premiere irie- 



Pom's n° 14 



thode pour efiectuer ce type de cal- 
cul. On initialise une variable R a 
#$80, soil 10000000, et on decale 
le poids fort 02 par LSR. Si le test 
BCS echoue. e'est que C=0 apres 
ce premier LSR, dans ce cas, ASL R 
nous donnera simplement 00000000 
dans R. Ensuite, on charge I'accumu- 
lateur avec le poids faible Ol et on 
le decale. Avec I instruction OKA R ( 
on fait done ORA 10000000 si C 
etait a 1 aprei; LSR 02. ce qui force 
le bit 7 de 1'accumulateur a 1. ou 
ORA 00000000 qui laisse 1'accumu- 
lateur inchange dans le cas contraire. 
Le resultat est enfin remis dans 01. 

A noter que le bit N du registre 
d'etat est toujours a apres LSR, 
puisque le bit 7 du "dernier resultat" 
devient jusfement le hit C prend 
la valeur du bit qui tombe dedans, et 
Tindicateur Z est posttionne comme 
pour ASL. 

Rotation a gauche : ROL 

L'instruction ROL fonctionnc comrne 
ASL. sauf sur un point fondamental : 
ce n'est pas systematiquement un 
qui rentrc dans 1* octet par la droite, 
mais la valeur du bit de retenue C (0 
ou L). Le mecanisme est done le sui- 
vant : 

— le bit de retenue C rentre par la 



— les bits sont pousscs vers la gau 
die; 

- le bit 7 de 1' octet tombe dans la 
retenue. 



poids fort revient a le decaler vers la 
gauche, puis a donner a son bit de 
droite la valeur de la retenue resul- 
tant du decalage du poids faible. On 
obtiendrait le meme resultat si le bit 
rentxaiit lors du decalage etait juste- 
ment ce bit de retenue. et c est exac- 
tcmcnt ce que permet de faire l'ins- 
truction ROL. 

Vous trouvere2 cette seconde me- 
thodc de calcul dans les lignes 32 a 
36 du Programme 1. Nul doute 
quelle vous paraitra plus simple que 
la premiere. 

Autre exemple d'utilisation de ROL, 
le decoupage des octets. Supposons 
ainsi que vous voulie2 recuperer dans 
un octet 02 les 4 bits de gauche 
d'un octet Ol. qui. a eux seuls, 
constituent une information don t 
vous avez besoin (si 01=#$A2, e'est 
devoir O2=#$0A qui vous inte- 
resse) Le petit programme suivant 
vous permertrait d'y parvenir : 

LDX #4 

LDA #0 

STA 02 

LDA Ol 
B0 ROL 

ROL 02 

DEX 

BNE B0 

Formats de riiislruction ROL : 

• ROL accumulates = ROL = 2A 

• ROL adresse page = ROL ADS 
= ROL $aa = 26 aa 

• ROL adresse quelconque = ROL 



Etope 3 



ROL 



Etop* 1 




5 




Etooe 2 



Si le bit C est a avant ('execution 
de ROL, cette derniere est equiva- 
lente a ASl . mais le fait important 
est que ROL permet de modifier I'or- 
dre des bits a Hnteneur d'un octet 
on de faire passer des bits d'un octet 
a un autre. 

Reprenons notre problems de la 
multiplication par 2 sur deux octets. 
31 est simple de multiplier le poids fai- 
ble grace a ASL. mais la difficulle re- 
sulte ensuite de Ja prise en compte 
d'une eventuelle retenue apres la 
multiplication du puids fort par ce 
meme ASL. La multiplication par 2 
consiste en un decalage a gauche 
avec entree d'un a droite: lorsque 
l'on aloute une retenue ou 1 a un 
octet ainsi multiple, son bit de droite 
ne peut prendie que les valeurs ou 
1 sans qu'il y ait de retenue se pro- 
pageant a Tinterieur de 1' octet. En 
d'autres ferrrses, la multiplication du 



ADS = ROL $aaaa - 2E octet 
bas octet haut 

• ROL adresse page 0.X = ROL 
ADS.X - ROL Saa.X - 36 aa 

• ROL adresse quelconque.X = 
ROL ADS.X = ROL Saaaa.X = 
3E octet bas/octet haut 

L" execution de ROL affecte le regis - 
tre d'etat comme ceile de ASL. 

Rotation a droite : ROR 

ROR est a ROL ce que LSR est a 
ASL ! Cette foib, le bit C rentre par 



la gauche, repousse les autres bits 
vers la droite et le bit tornbe par 
consequent dans la retenue. Si C =0, 
ROR est equivalent a LSR. 

Vous coneevez sans doute, surtout si 
vous lisez le Programme 1 plus vite 
que prevu. que ROR peut nous etre 
fort utile pour notre division par 2 
sur deux octets. Tout le problems 
consistait justement a faire prendre 
au bit 7 du poids faible decale a 
droite la meme valeur que ce'ile du 
bit C apres le decalage a droite du 
poids fort. II est done bien agreable 
de pouvoir decaler ce poids faible en 
faisant rentrer a la place du bit 7 la 
retenue en question, comme vous le 
verrez dans les lignes 38 a 42 du 
Programme 1. 

Pour en revenir maintenant au de- 
coupage Hes octets, si I on vent recu- 
perer dans 02 les 4 bits de droite de 
Ol.il suffit de remplacer dans le pro- 
gramme precedent "BO ROL" par 
"B0 ROR". C'est bien toujours par 
"ROL 02" qu'il faut faire rentrer les 
bits dans 02 : si vous faites "ROR 
02" et si 01 = #$2F. par exemple. 
vous retrouverez #$F0 dans 02 et 
non #$0F 

Formats de Tinstruction ROR : 

• ROR accumulateur = ROK = 6A 

• ROR adresse page - ROR ADS 
= ROR $aa = 66 aa 

• ROK adresse quelconque = ROR 
ADS - ROR $aaaa - 6E octet 
bas/octel haut 

• ROR adresse page 0.X = KOR 
ADS,X = ROR Saa.X = 76 aa 

• ROR adresbe quelconque.X = 
HOK ADS.X = KOR Saaaa.X = 
7E octet bas octet haut 

L 1 execution de ROR affecte les 
memes indicateurs du registre d'etat 

que celle de ROl 

Decoupage du registre 
d'etat 

Toutes ces instructions de decalage 
et de rotation permettent de faire 
sortir des bits d'un octet, de les faire 
rentrer dans un autre... et nous 
allons maintenant les utiliser pour de- 
couper et analyser un octet bien spe- 
cial . le registre d'etat du micro-pro- 
cesseur. Pour ce faire. nous evo- 
querons d'abord deux nouvelles ins- 
tructions tenant a 1'usage de la pile. 

Nous avons deja vu qu'il etait possi- 



Etop* 1 



ROR 




Etope2 



10 



Pom's n° 14 



ble de deposer le contenu de I'accu- 
mulateur au sommet de la pile par 
PHA et de recuperer le sommet de la 
pile dans T accumulates par PLA. 
Ces memes manipulations sont possi- 
bles avcc le registre d'etat au mpyen 
de PHP (08). correspondant a PHA. 
et de PLP (28), correspondant a 
PLA. Alors qu'il nexiste pas d'ins- 
trucrJon equivalente a 5TA pour sta- 
cker ie registre d'etat dans une case- 
m£moire, on peut y parvenir malgre 
tout grace a PHP suivi de PLA. qui 
permertent de recuperer le contenu 
du registre d'etat dans I'accuniula- 
teur. 

Les liqnes 44 a 66 du Programme 1 
constituent une sous-routine qui de- 
coupe et affiche a Tecran le registre 
d'etat bit par bit. Nous allons en de- 
tailler le fonctionncment 

- Lignes 45 et 46 ; le registre .sera 
stocke dans la variable P des Fappel 
de la routine et c'est done le contenu 
du registre au moment de ret appel 
que nous analyscrons. M sera utilise 
pour Taffichdye : il contiendra ou 1 
selon la ualeur des indicateurs du re- 
gistre d'etat et "*" pour le bit inuti- 

m 

- Lignes 47 a 49 : on recupere le 
registre par le biais de la pile et on le 
stocke dans P. 

- Lignes 50 a 52 : X servira de 
compteur de bouclc (il y a 8 bits a 
decouper) et on initialise Ma 0. 

- Lignes 53 et 54: par ASL P. on 
fait sortir les indicateurs du registre 

dans Turdre "bit 7", "bit 6" "bit 

0". Par ROL M. le bit sorti du regis- 
tre et tombe dans la retenue rentre 
dans M par la droite, ce qui garantit 
que M contiendra toujour? 
"00000000" ou "00000001", done 
Oou 1. 

- Lignes 55 et 56: si X=6, on est 
au bit 5 du registre qui n'est pas un 
indicateur. On saute alors en SO 
pour afficher (#$AA est le code- 
ecran de '***' en mode NORMAL). 

- Lignes 57 a 60 : pour afficher 1 
ou : on ajoute #$B0 au contenu de 
M afin d'obtenir le code-ecran en 
mode NORMAL de "1" ou "0". On 
utilise ensuite la routine standard 
daffichage du rnoniteur qui debute 
en $FDF0. 

- Lignes 61 a 64 : LSR M permet 
de faire rentrer un dans M par la 
gauche et de faire ressortir le bit qui 
etait entre par la droite lors du ROL 
M; apres cette instruction. M est done 
re-initialise a "00000000". Tant que 
X est different de apres DEX, on 
boucle pour traiter tous les bits du 
legistre en sequence. Si X=0. on 
sort de la routine. 

Le Programme 2 sert de jeu d'essai 
pour la routine analysee ci-dessus. 
On fait executer certames instruc- 
tions, puis on va afficher le registre 
d'etat qui en decode par un JSR 



TEST (TEST appelle la routine du 
Programme 1 en $32F, puis une 
routine du rnoniteur en $FC62 qui 
envoie un RETURN a Tecran, et ce 
afin de n'afftcher qu'un registre par 
ligne). 

Le programme Basic P2.DEMO 
lance ce Programme 2 et vous 
donne fmalernent a Tecran une suc- 
cession de registre? dont chacun cor- 
respond a Tetat des indicateurs a Tis- 
sue des instructions qui precedent le 
JSR TEST ayant provoque son affi- 
chage. Intcressez-vous surtout aux 
deux bits de gauche (indicateurs N et 
V) et aux deux bits dp. droite (indica- 
teurs 2 et C). 

Sur la premiere ligne. par exemple, 
vous voyez : 
11*10000. soit: 
N=l. V=l, 2=0 et C=0. 
Cet etat resulte de t operation #$40 
+ #$40. ou encore 64 i 64 en de- 
cimal, ou enfln "01000000" + 
"01U00O00" en binaire A Tissue de 
cette operation, le "dernier resultat" 
est "1000000" : il est negatif (bit 7 a 
1). d'ou N=l, il y a eu debordement 
(retenue du bit 6 sur le bit 7), d'ou 
V=l, le resultat est different de 0, 
d'ou Z=0, et il n'y a pas eu de rete- 
nue extericure. d'ou C=0. 

Amusez-vous (mais oui !) a analyser 
de cette facon les indicateurs corres- 
pondant aux autres operations du jeu 
d'essai. Ceci vous permettra de veri- 
fier les indications "litteraires" don- 
nees pour chaque instruction etudiee 
quant a son influence sur le registre 
d'6tat et leur donnera un caractere 
plus concret. 

Recodage des caracteres 

Les codes ASCII, sous la forme des- 
quels les caracteres disponibles au 
clavier de votre Apple sunt stockes 
en memoire. sont tous inferieurs a 
128. Ce n'est que pour Taffichage a 
Tecran et la saisie-clavier que Ton 
peut trouver des codes de valeur su- 
perieure a 127. 

Si Ton se rappelle que 127 = #$7F 
en hexa et "01111111" en binaire, 
on en deduit que tous les nombres 
compris entre et 127 en decimal 
ont un bit 7 a et que ce bit. ayant 
la meme valeur pour tous, ne peut 
servir a differencier un nombre d'uii 
autre. En d'autres termes. 7 bits suffi- 
sent pour coder tous les caracteres 
disponibles : le huitieme n'apporte 
aucune information supplemental. 

Par voie de consequence, il doit em? 
possible de coder 8 caracteres en 7 
octets : si Ton recupere pour les 7 
premiers caracteres la place occupee 
par les bits "inutiles". on dispose de 
7 bits libres qui permettent de coder 
un huitierne caractere. Cette possibi- 
lity presente un interet certain pour 
quiconque voudrait un jour develop- 



per son propre systeme de gestion 
de fichiers de dunnees. sans passer 
par DOS 3.3 ou autre, car si une dis- 
quette de 140K, par exemple. peut 
contenir 1 433G0 caracteres de 8 bits, 
elle peut stocker 163840 caracteres 
de 7 bits. Le gain de capacite n'est 
pas tout a fait negligeable... 

Nous nous bornerons pour Tinstant a 
voir comment on peut recoder 8 ca- 
racteres en 7 octets et les recuperer 
ensuite en 8 octets pour qu'ils restent 
exploitables par T Applesoft, le rnoni- 
teur ou le DOS. 

Le programmme Basic PR3.DEMO 
demande 8 caracteres an clavier et 
les POKE a partir de 1'adresse 
$9000. II appelle alors une routine, 
dont le source est Programme 3, qui 
recode le tout en 7 octets, les de- 
place a Tadresse $9100 (afin qu'il 
n'y ait pas de doute sur refrioacire du 
recodage) et les reconstitue en 8 
octets. Le programme Basic recupere 
enfin ]es 8 caracteres par des PEEKs 
a partir dc Tadresse $9100. 

Pour vous aider dans Tanaiyse de let 
routine en assembleur. voici les prin- 
cipes du traitement realise : 

• Sur le premier octet, il v a un bit a 
recuperer a gauche. On fait sortir le 
bit 7 de Toctet par ASL. Pai un LSR 
sur le deuxieme octet, on fait tomber 
dans la retenue son bit puis, par 
un ROR sur le premier octet, on fail 
rentrer ce bit du deuxieme octet 
dans le premier tout en remettant a 
leur place les bits a de celui-ci. 

• Sur le deuxieme octet, il y a done 
maintenant 2 bits a recuperer. Par 
deux ASL successifs, on fait sortir les 
bits 6 (ancien bit 7) et 7 (0 entre lors 
du LSR). En faisant ensuite deux fois 
"LSR sur le troisieme octet suivi de 
ROR sur le deuxieme". on recupere 
dans les bits 6 et 7 du deuxieme les 
bits et 1 du troisieme. 

• Et ainsi de suite jusqu'au septieme 
octet sur lequel on fait sept fois ASL, 
puis sept fois "LSR le huitieme - 
ROR le septieme". Dans ce dernier 
octet, on a finalement le bit 6 du 
septieme de depart en posiUon 0. et 
les bits a 6 du huitieme octet aux 
positions 1 a 7. 

• Pour retrouver 8 octets a partir de 
7, on commence par faire tomber le 
bit 7 du premier octet dans la rete- 
nue par ASL. Puis on enchaine HOL 
sur le deuxieme, ROL sur le troi 
sieme... ROL sur le huitieme : le bit 
7 de chacun des 7 octets se retrouve 
ainsi en bit dans le suivant. Un 
LSR sur le premier octet lui redonne 
alors sa forme de depart (remise en 
place des bits decales a gauche par 
ASL et rentree d'un en position 7). 

• Le deuxieme octet a maintenant 
recupere ses 7 bits "utiles"; il lui 
reste a en ceder un (son bit 7 actuel) 
qui apparent au troisieme (c' etait 



Pom's rr 14 



11 



son bit de depart). On fait done 
ASL sui le deux&me, buivi de ROL 
sur le troisieme. KOL sur le qua- 
trieme... ROL sur le huitieme. Un 
LSR sur le deuxieme octet lui re- 
donne enfin sa forme intiale. 



• Ce mccanismc se poursuit jusqu'a 
que Ton ait traits de rnSrne sep- 
tieme octet (ASL octet 7 - KOL octet 
8 - LSR octet 7). Le huitieme octet a 
des lois retiouve $et> 7 bits utiles, et 
un AND #$7F force son bit 7 a 



pour garantir un code ASCI! inferieur 
a 128. II ne reste plus qu'a rendre la 
main au Basic pour qu i] recupere les 
8 caracteres et les affiche 



Programme 1 




0325 
0325 


31 
32 


■ 

MULTIPLICATION PAR 2 SUR 2 OCTETS 








0325 


33 


; DEUXIEME METH00E 








0325 0606 


34 


ASL OI 


**END OF PASS 


1 




0327 2607 


35 


ROL 02 


**END OF PASS 


2 




0329 60 
032A 


36 
37 


RTS 

I 


0300 


1 


ORG *300 


032A 


38 


;DIUIS1UN PAR 2 SUR 2 OCTETS 


U3UU 


2 


; MUL 1 1 PL i CAT 1 UN PAK 2 SUK 2 UC1EIS 


032A 


39 


: DEUXIEME METH0DE 


0300 


3 


; PREMIERE METH0DE 


032A 4607 


40 


LSR U2 


0300 


4 


01 EPZ %6 


032C 6606 


41 


R0R 01 


0300 


5 


02 EPZ %7 


032E 60 


42 


RTS 


0300 


6 


R EPZ *8 


032F 


43 


1 


0300 A900 


7 


LDA HO 


032F 


44 


;DEC0UPAGE DU RE6ISTRE D'ETAT 


030? 850S 


R 


STA R 


032F 


45 


P EPZ 118 


0304 0606 


9 


asi ni 


032F 


46 


M EPZ *19 


0306 9002 


10 


BCC SUITE1 


032F 08 


47 


PHP 


0308 E608 


1 1 


INC R 


0330 68 


48 
49 


PLA 


030A A50? 


12 


SUITE1 LDA 02 


0331 8518 


STA P 


030C OA 


1 3 


ACL 


0333 A208 


50 


LDX «8 


030D 18 


1 4 


CLC 


0335 A900 


51 


LDA 440 


030E 6508 


1 5 


ADC R 


0337 8519 


52 


STA M 


0310 8507 


1 6 


STA 02 


0339 0618 


53 


SI ASL P 


031 2 60 


17 


RTS 


U33B 261 y 


04 


KUL. tl 


0313 


18 




033D E006 


55 


CPX #6 


0313 
0313 


19 


^DIVISION PAR 2 SUR 2 OCTETS 


033F F00E 
0341 A519 


56 

57 


BEG SO 
LDA M 


20 


; PREMIERE^METHODE 


0313 A980 


21 




0343 18 


58 


CLC 


0315 8508 


22 


STA R 


0344 69B0 


59 


ADC BSBO 


0317 4607 


23 


LSR 02 


0346 2OF0FD 


60 


S2 JSR *FDF0 


0319 B002 


24 


BCS SUTTF? 


0349 4619 


61 


1 SR M 


031B 0608 


25 


ASL R 


034B CA 


62 


DEX 


031D A506 


26 


SUITE2 LDA 01 


034C DOES 


63 
64 


BNE SI 


031F 4A 


27 


LSR 


034E 60 


RTS 


0320 0500 


28 


ORA R 


034F A9AA 


65 


SO LDA H*AA 


0322 8306 


29 


STA 01 


0351 D0F3 


66 


BNE S2 


032** 60 


30 


RTS 


0353 


67 


i 



Recapitulation 1 

* 300. 352 

0300- A9 00 85 08 06 06 90 02 



Programme l.DEMO 



REM DEMONSTRATION DES MULT I PL I 
CATIONS ET DIVISIONS PAR 2 SU 
R 2 OCTETS 

REM LA DIVISION PAR 2 D' UN N0M 
BRE IMPAIR DONNE BI EN SUR UN 
RESULTAT APPR0CHE PAR DEFAUT 
< LE CALCUL NE PORTE QUE SUR D 
ES N OMBRES ENTIERS) 

REM 

REM 

PRINT CHR* <4)"BL0AD PROGRAMS 

E 1 .OBJ" 
TEXT : HOME : INPUT "VOTRE NOM 

BRE : ";Z: IF 2 > 32767 THEN 

20 

POKE 7,Z / 256: POKE 6,2 - 256 
* PEEK <7>: PRINT : CALL 76 
8-R = PEEK (6) + 256 * PEEK 



0308- £6 08 A5 07 OA 18 65 08 
0310- 85 07 60 A9 80 85 08 46 
G318- 07 BO 02 06 08 A5 06 4A 
0320- 05 08 85 06 60 06 06 26 
0328- 07 60 46 07 66 06 60 08 



0330- 68 85 18 A2 08 A9 00 8b 

0338- 19 06 18 26 19 EO 06 FO 

0340- OE A5 19 19 69 BO 20 PO 

0348- FD 46 1 9 CA DO EB 60 A? 
0350- AA DO F3 



5 
6 
10 

20 



30 



<7>: PRINT " MULT I PL I CAT I ON 1 
: "R 

40 POKE 7,2 / 256: POKE 6,Z - 256 

* PEEK <7>: PRINT ; CALL 76 
8 + 1?:R = PEEK (6) + 256 * 

PEEK <7>: PRINT "DIVISION 1 
2 "R 

50 POKE 7,2 / 256: POKE 6,2 - 256 

* PEEK <7>: PRINT : CALL 76 
8 + 37:R = PEEK (6) + 256 * 

PEEK <7>: PRINT "MULT I PL I CAT 
ION 2 : "R 
60 POKE 7,2 / 256: POKE 6,2 - 256 

* PEEK (7): PRINT : CALL 76 
Q + 42sR - PEEK <6> + 256 * 

PEEK (7): PRINT "DIVISION 2 
s "R 

80 PRINT : PRINT "MULT. BASIC : " 
Z * 2: PRINT : PRINT "DIVISIO 
N BASIC : "2/2: PRINT : GET 
ZS: GOTO 20 



12 



Pom's n H 14 



LILLE.;. .■ LILLE LILL 



m ^ ^j c Apple //e, Apple ///, Mac-lntoch, 

BFM 186. dragon, oric, alice, casio 

m b d C disc l uettes > F'exettes, 3M, Verbatim 
* listing, rubans encreurs. 



m.b.d.C. Ie consell » ,e materiel, les peripheriques 
# les logiciels, les consommables, 

m.b.d.C, ,e S.A.V. sur place. 

Ie Service Complet. 

rfflk m.b.d.C. 1 72 - RUE SOLFERINO. 59800 LILLE - TEL. (20) 57.91 .87 
Us*U OUVERT DU MARDI AU SAMEDI DE 9h30 £ 12h ET DE 14h30 a 19h 




fiine de bureau 
ordinateur 




• La nouvelle t 

la machine- | ecrire AE s» comporte une eiectromque de pomte qui en 
fait une machine hautemcnt pcrfccEionnee : introduction electronique du 
papier, tabulation electroniquu deuimale, repusitionnement automatique 
apres correction, regulation eiectromque de la force compression, centrage 
et souligne. marges en fetrait pour paragraphs fit alineas touche 
1/2 espace .., et la qualite "courrier" de ses marguerites. 

• De hautes performances. 

Cette machine presente une fiabilite exceptionneUe : clavier de 46 touches 
(100 caracteres et slgnes) T clavier pour signes et symboles particuliers. 
grande ligne d'ecnture 292 mm, curscur do rappel des marges, memoire 
de correction automatique d'une ligne complete, ^eleutiun de pas d'ecriture 
(10, 12, 15), 6 rappels lumlneux, conservanon marges-tabulatians : 7 jours. 





KARDEX 



WS1RI8UTEUR 
NATIONAL 




• AE 355, la super compact qui vort loin : 
une machine a ecrire electronique de bureau 
J^une imprimante pour micro-ordinateur 

La NAKAJIMA AE 355 repond deja aux exigences nouvcllcs de llnformatique 
EIlc pcut etre irtilisee en parailele comme imprimante tenninale De plus, elle 
ueui eire liunnectee en serie avec un ordinateur par I intermediaire d'un boluef 
\Y2 qui dispose d'une memoire tampon de 2K. 



201 , rue Carnot 
94120 FONTENAY-S/BOIS 
Tel. :(l) 876.11.10 ^ 



9ie< * "Wh> >'< 21 




Pom's n 14 



J 

13 



Programme 2 




1049 20A4 10 
104C A9FF 


39 
40 


JSR 
LDA 


TFKT 
t**FF 










104E 


2980 


41 


AND 


M»80 










1OS0 


20A410 


42 


JSR 


TEST 










1053 


A980 


43 


LDA 


M»80 


**END OF PASS 1 




1055 2901 


44 


AND 


HI 


**END OF PASS 






1 057 


20A410 


45 


JSR 


TEST 










1 03A 


A9FF 


46 


LDA 


t**FF 


1000 






UKu ♦ 1UUU 


1 05C 


85CE 


47 


5TA 


*CE 


1000 




2 ; JEU 




105E 


24CE 


48 


til 1 


*Cb 


1000 




3 j 




1060 


20A41 


49 


JSR 


TEST 


1000 


A?O0 


*t 


LU*A flU 


1063 


A9FF 


50 


LDA 


tt$FF 


1002 48 


5 


PHA 


1065 


A200 


51 


LDX 


HO 


1003 


28 


«D 


PLP 


1067 


86CE 


52 


STX 


»CE 


1004 


A940 


—y 

7 




1069 




53 


BIT 


*CE 


1006 


18 


e 
o 


CLC 


1068 


20A4 1 n 


54 


JSR 


TEST 


1007 


6940 


Q 

r 


AUL *f*4U 


106E 


A91 1 


55 


LDA 


04 1 1 


1 009 


70A41 


1 f\ 
1 u 


TQp TCQT 

JbK 1 CO 1 


1070 


491 1 


56 


EOR 


tt*l 1 


100C 


A94Q 


1 I 




1072 


20A410 


57 


JSR 


TEST 


100E 


38 






1075 


A9FF 


50 


LDA 


#%rr 


1O0F E930 




car m on 


1077 


4980 


59 


EOR 


«»80 


101 1 


20A410 




tCD X C CX 


1079 


20A410 


60 


JSR TEST 


1014 


A940 


1 5 




10 7C 


AV/F 


61 


LDA **7F 


1016 


38 


I A, 
I O 


fr~i i 


107E 


0980 


62 


0RA 


#*8U 


1U1 / 


hVbU 


1 7 


CQf |H fi 


1 080 


20A410 


63 


JSR 


TEST 


101? 


20A410 


1 o 
1 O 


ICO X E CX 

JbK Itol 


1083 A940 


64 


LDA 


**40 


101C 


A940 


1 o 

i y 


t r i ui * n 
LUH W»**U 


1085 


0940 


65 


0RA 


»*40 


I01E 


38 


£ u 


act 


108? 


20A410 


66 


JSR 


TEST 


101F 


E?50 


21 


bbiL »»OU 


1 08A 


A940 


67 


LDA #*40 


1021 


E900 


22 


cop un 


108C 0900 


68 


ORA »*0 


\(\9'A 


206410 




ion TrrT 
JbK leal 


108E 


20A410 


69 


J5R 


TEST 


1026 


A900 


24 


LDA BO 


1 091 


A900 


70 


LDA 


tto 


1028 


20 A4 1 


25 


JSR TEST 


1093 


0900 


71 


ORA 


HO 


102D 


A9Fr 


26 


LDA #*FF 


1 095 


20A410 


72 


JGR 


TCCT 


102D 


20A410 


27 


JSR TEST 


1 098 


A9FF 


73 


LDA 


H*FF 


1030 


A908 


28 


LDA M8 


1 09A 


85CE 


74 


ST A «CE 


1032 


C908 


29 


Lrlr Ho 


109U 


C6CE 


75 


DEC *CE 


1034 


2UA41 U 


30 


JSR TEST 


109E 


24CE 


76 


Bl 1 


*CE 


103/ 


Ayuo 


31 


LDA W8 


10A0 


20A410 


77 


JSR 


1 EST 


103V 


C910 


32 


CMP Wi 1 


10A3 


60 


78 


RTS 




103B 


20A410 


33 


JSR TEST 


1 0A4 


202F03 


79 TEST 


JSR 


*32F 


103E 


A908 


34 


LDA «8 


10A7 


2062FC 


80 


JSR 


*FC62 


1040 


C902 


35 


CMP «2 


10AA 


A900 


81 




**0 


104? 


20A410 


36 


JSR TEST 


1 0AC 


48 


82 


PHA 




1045 A9FF 


97 


LDA **FF 


10AO 


28 


83 


PIP 




1047 297F 


38 


AND fr*7F 


10AE 60 


84 


RTS 





Recapitulation 2 









1020- 


50 


F9 


00 


20 


A4 


10 


A9 


00 


1068- 


CE 


24 


CE 


20 


A4 


10 


A9 


11 








1028- 20 


A4 


10 


A9 FF 


20 


A4 


10 


1070- 


49 


1 1 


20 


A4 


1 


A9 


FF 


49 








1030- 


A9 


08 


C9 


08 


20 


A4 


10 


A9 


1070 


80 


20 


A4 


10 


A9 


7F 


09 


80 








1038- 


08 


C9 


10 


20 


A4 


10 


A9 


08 


1080- 


20 


A4 


10 


A9 


40 


09 


40 


20 








1040- 


C9 


02 


20 


A4 


10 


A9 


FF 


29 


1088- 


A4 


10 


A9 


40 


09 


00 


20 


A4 


40 


18 


69 


1048- 


7F 


20 


A4 


10 


A9 


FF 


29 


80 


1090- 


10 


A9 


00 


09 


on 


20 


A4 


10 


40 


38 


E9 


1050- 


20 


A4 


10 


A9 


80 


29 


01 


20 


1098- 


A9 


FF 


85 


CE 


C6 


CE 


24 


CE 


40 


38 


E9 


1 U58- 


A4 


10 


A9 


FF 


85 


CE 


24 


CE 


10A0- 


20 


A4 


10 


60 


20 


2F 


03 


20 


40 


38 E9 


1060- 


20 


A4 


10 


A9 


FF 


A2 


00 


86 


10A8- 


62 


FC 


A9 


00 


48 


20 


6U 





Programme 2. DEMO 

1 REM JEU D'ESSAI POUR LE DEC0UP 
AGE DU REGISTRE D'ETAT 

5 REM 



6 REM 

10 W = CHR* <4>: PRINT D*"BL0AD 
PROGRAMME 1.0BJ"; PRINT D*" BL 
OAD PROGRAMME 2. OBJ't TEXT 2 HOME 
: CALL 40?<S 



Programme 3 






030F 
0312 


5E0090 
CA 


14 
15 




LSR 01 ,X 
DEX 










0313 


7E0090 


16 




ROR 01 ,X 


**END OF PASS 


1 






0316 


88 


17 




DEY 


**END OF PARR 


a 






0317 
0319 


D0F5 
A40 6 


18 
19 




BNE SI 

LDY SY 


0300 


i 




ORG *300 


0318 


ce 


20 




I NY 


0300 


2 


1 




031C 


E6 


21 




IN* 


0300 


3 


:C0DAGC DE O CARACTERES EN 7 OCTETS 


031D 


E00 7 


22 




CPX H7 


0300 


4 


sv 


EPZ *6 


031F 


D0E3 


23 




BNE S3 


0300 


5 


01 


EOU *9000 


0321 




24 


! 




0300 A200 


6 




LDX ttO 


0321 




25 


jTRANSFERT DES 7 


030 2 AUDI 


7 




LDY HI 


0321 




26 





EQU *9100 


0304 8406 


8 


S3 


STY SY 


0321 


A206 


27 




LDX If 6 


0306 1E0090 


9 


SO 


ASL 01 ,X 


0323 


BD0070 


28 


TO 


LDA 01 ,X 


030 9 88 


10 




DEY 


0326 


9D0091 


29 




STA 0,X 


030A DO FA 


1 1 




BNE SO 


0329 


CA 


30 




DEX 


030C A406 


12 




LDY SY 


032A 


10F7 


31 




BPL TO 


030 E E9 


13 


SI 


INX 


032C 




32 


; 





OCTETS REC0DES 



Pom's if 14 



032C 


33 


jRECONSTITUTION DE 8 CARACTERES A PART I R DE 7 DUETS 




032C 


34 


sxo 


EPZ %M 








032C 


33 




FP7 49 








A200 


36 




\ dy tin 


0343 B8 


48 




U3ZE 8608 


37 


S6 


STX SXO 


0344 50F3 


49 


BVC S4 


0330 860? 


38 




cry cyi 


0346 68 


50 S5 


PLA 


0332 E609 


39 




I NC ^X 1 


0347 A60 8 


51 


LDX SXO 


0334 IE0091 


40 




ASL X 


0349 5E0091 


52 


LSR 0,X 


0337 A609 


41 




I DX SX1 


034C E8 


53 


INX 


0339 3P0091 


42 


S4 


ROL 0,X 


034D E007 


54 


npx *7 


033C 08 


43 




PHP 


034F DODO 


55 


BNE S6- 


0330 E8 


14 




INX 


0351 BD0091 


54 


LDA 0,X 


033E E008 


45 




CPX H8 


0354 297F 


5? 


S+iD ***7F 


0340 T004 


46 




BEG SS 


0356 9D0091 


58 


STA 0,X 


0342 28 


47 




PLP 


0359 60 


59 


RTS 



Recapitulation 3 

0300- A2 00 AO 01 84 06 IE 00 
0308- ?6 88 DO FA A4 06 fcb 5E 
0310- 00 90 CA 7E 00 90 88 DO 

Programme 3.DEMO 

] LOAD PR3.DEM0 
] LI ST 



1 REM DEMONSTRATION DU CODAGE DE 
8 CARACTERES EN 7 OCTETS 

5 REM 

6 REM 

10 HI MEM : 9 * 4094 - 1 

20 PRINT CHR* <4>"BL0AD PROGRAhM 



0318- F5 A4 06 C8 E8 EO 07 DO 

0320- E3 A2 06 BD 00 90 90 00 

0328- 91 CA 10 F7 A2 00 B6 08 

0330- 86 0? E6 09 IE 00 91 A6 

0338- 09 3E 00 91 08 E8 EO 08 



0340- FO 04 28 B8 50 F3 68 A6 

0348- 08 5E 00 91 E8 FO 07 DO 

0350- DD BD 00 91 29 7F 90 00 
0358- 91 60 



30 



40 



50 



E 3.0BJ":01 = ? * 4096:0 = 01 
+ 256 

TEXT i HOME : FOR I = 
"CARACTERE NO ■ I " : 
*< I ) : PRINT C*< I ) 



TO 7: PRINT 
■ ; : GET C 
POKE 01 + 



NEXT : PRINT 
: PRINT : CALL 768 
FOR I « TO 7:CC*<I> = CHR* 
C PEEK (0+1))- PRINT - CARAC 
TERE NO -I" = -CC*<I>: NEXT 
PRINT : GET 2*: GOTO 30 



Une des contraintes du Basic reside 
dans la definition de ses variables : 
en effet. toutes les variables d'un 
programme sont globalcs, e'est-a-dire 
que les valeurs de chacune sont, a 
un instant donne. identiques quelque 
soit le niveau ou Ton se situe dans le 
programme. 

U utilisation de variables locales, en 
revanche, perrnet. lors de I'ecriture 
d'un sous programme, d'affecter les 
noms des variables internes a ce 
sous-programme sans devoir se soun- 
der si ccs noms sont deja utilises par 
ailleurs. D'oQ une approche modu- 
laire plus simple des problemes, et 
unc programmation structuree plus 
efficace. 

La routine de PROCEDURE s inspire 
du HBASIC et de HAIFA; elle per- 
rnet 1' utilisation de sous-programmes 



recursifs avec passage de parametres. 

Trois commandes sont disponibles : 

* & HOME initialise la pile et la 
place sur la carte langage (pour un 
Apple II Plus) on dans les 16K 
supplementaires pour le //e ou le 
//c, pour evlter d'encombrer la 
rnemoire centraie. 

• & DEF <nom>;<varlables even- 
tuellement precedees de "!"> 
marque le debut d'un sous-pro- 
gramme. Le nom doit correspon- 
dre aux regies de syntaxe des ins- 
tructions DEF FN de I'Applesoft. 
Les variables suivant le point-vir- 
gule sont internes a 1* exception de 
celles precedees par un point 
d'exclamation, qui sont alors glo- 
bales. 

Exempie : & DEF Pl.A.BJC 

Les variables glubales ne peuvent 



Procedure & 

Philippe Le Dru 

etre des chaines de caracteres. At- 
tention : celles-ci peuvent en outre 
etre perdues si un nettoyagc me 
moire intervient avant leur "resto- 
ration". 

• & FN <nom>;<variables ou ex- 
pressions numeriques> 
appelle le sous programme. Les 
valeurs des variables ou expres- 
sions numeriques sont calculees et 
affectees aux variables locales. 
L'ordre FN doit cornporter le 
meme nombre d'expressions que 
le sous-programme comportc de 
variables. 

Comme dans le cas de 1' instruction 
FN, ou comme pour les PROCEDU- 
RES en Pascal, ta definition d'une 
procedure doit en pr^ceder i'appel. 



PROCEDURE . DEMO 

CHR* <4>-BRUNPR0CEDURE. 



REM 

1 REM 
5 PRINT 

0B JO" 
10 HOME 
1 1 GOSUB 100 
20 FOR I = 1 TO 11 
30 L FN PROC; I ,TEST 



34 TEST = TEST + 1 

35 PRINT " GLOBAL :TEST= B TEST 
40 NEXT : END 

100 & DEF PROC; ! I ,TEST 
120 I = I :TEST = TEST * 2 
125 PRINT "PROC: TEST="TEST 
1 30 & END 
140 RETURN 



Pom's n° 14 



lb 



Procedure OBJO 



8000- 


A9 


4C 


8D 


F5 


03 


A9 


10 


8D 


8008- 


FA 


03 


A9 


RO 


80 


F7 


03 


40 


80 1 0- 


C9 


97 


DO 


03 


4C 


A6 


80 


C9 


80 I 8- 


B8 


DO 


03 


4C 


2F 


80 


C9 


C2 


8020- 


DO 


03 


4C 


F6 


UO 


C9 


WU 


UU 


8028- 


03 


4C 


FD 


81 


4C 


7C 


09 


20 


8030- 


Bl 


00 


09 


80 


85 


14 


20 


EA 


8038- 


DF 


85 


8A 


84 


8B 


20 


6A 


DO 


8040- 


20 


06 


E3 


A? 


38 


20 


CO 


DE 


8048- 


A5 


82 


48 


A5 


81 


48 


A 5 


B9 


8050- 


48 


A5 


88 


48 


A9 


1 


85 


1C 


8058- 


20 


Bi 


00 


FO 


08 


C9 


2C 


DO 


8060 


F7 


E6 


1C 


DO 


F3 


A5 


1C 


48 


806&- 


AO 


00 


68 


91 


8A 


C8 


CO 


05 


80 70- 


DO 


F8 


20 


B7 


n n 
00 


uy 


■uu 


FU 


8078- 


14 


20 Bl 


00 


C9 


00 


F0 


OF 


8080 - 


Cv 


AF 


DO 


F5 


"in 
20 


Bl 


n ft 

00 


C9 


8088- 


GO 


DO 


EE 


20 


Dl 


00 


60 


AO 


8090- 


02 


Bl 


B8 


FO 


OE 


1 8 


A5 


B8 


8098- 


69 


04 85 


DO 

B8 


on 

90 


n o 

0^ 


E6 


DO 

89 


80AO- 


4C 


79 8(1 


4C 


10 


D4 


20 


Bl 


80A8- 


00 


A9 


00 


80 


DA 


80 


8D 


E5 


80B0- 


80 


A9 


E0 


8D 


DB 


80 


80 


E6 


8088- 


80 


60 


CE 


DA 


SO 


CE 


E5 


80 


80C0- 


AE 


DA 80 


E8 


DO 


06 


CE 


DB 



8UC8- 


80 


CE 


E6 


80 


AE 


DB 


80 


EO 


80DO- 


DO 


BO 


06 


2C 


82 


CO 


4C 


10 


80D8- 


D4 


8D 


00 


EO 


40 


AE 


DB 


80 


80E0- 


E0 


EO 


BO 


EF 


AD 


00 


EO 


EE 


80 E 8- 


DA 


80 


EE 


E5 


80 


DO 


06 


EE 


80FO- 


DB 


80 


EE 


E6 


80 


60 


20 


Bl 


80F8- 


00 


09 


80 


85 


1 4 


20 


EA 


DF 


81 00- 


85 


8A 


84 


8B 


AO 


1 


Bl 


8A 


81 08- 


85 


1A 


C8 


Bl 


8A 


85 


IB 


A9 


81 10- 


3B 


20 


CO 


DE 


A9 


1 


85 


1C 


81 18- 


A5 


B8 


85 


38 


A5 


B9 


85 


1? 


81 20- 


20 


Bl 


00 


FO 


08 


C9 


2C 


DO 


81 28- 


F7 


E6 


IC 


DO 


F3 


AO 


00 


Bl 


01 30 


OA 


C5 


1C 


ro 


05 


A2 


2A 


4C 


81 38- 


12 


D4 


A5 


1A 


85 


B8 


A5 


IB 


81 40- 


85 


B9 


A2 


00 


20 


B7 


UO 


C9 


81 48- 


21 


DO 


04 


20 


Bl 


00 


E8 


86 


81 50- 


ID 


20 


E3 


DF 


85 


85 


85 


06 


S158- 


84 


86 


84 


07 


20 


B7 


00 


FO 


81 60- 


03 


20 


BE 


DE 


A5 


B8 


85 


1A 


81 68- 


A5 


89 


85 


IB 


2C 


83 


CO 


2C 


8170- 


83 


CO 


AO 


04 


Bl 


06 


20 


BA 


81 78- 


80 


88 


10 


F8 


A5 


06 


20 


BA 


81 80 - 


80 


A5 


07 


20 


BA 


80 


2C 


82 


81 88- 


CO 


A5 


18 


85 


B8 


A5 


19 


85 


8190- 


89 


A5 


ID 


DO 


OB 


85 


08 


85 


8198- 


09 


20 


52 


DA 


A5 


09 


FO 


07 



81A0- 


20 


E3 


DF 


85 


08 


84 


09 


2C 


81A8- 


83 


CO 


2C 


83 


CO 


A5 


8 


20 


81 Rfl - 


RA 


90 


A5 


09 


20 


RA 


80 


2C 


81B8- 


82 


CO 


20 


B7 


00 


FO 


OE 


20 


81C0- 


BE 


DE 


A5 


BS 


85 


18 


A5 


B9 


81C8- 


85 


19 


4C 


3A 


SI 


2C 


83 


CO 


81D0- 


2C 


83 


CO 


A5 


IC 


20 


BA 


80 


81D8- 


A5 


B8 


20 


BA 


80 


A5 


B9 


20 


81E0- 


BA 


80 


A.5 


75 


20 


BA 


80 


A5 


81E8- 


76 


20 


E*A 


80 


A9 


C2 


20 


BA 


81F0- 


80 


2C 


82 


CO 


AS 


1A 


85 


B8 


81F8- 


A5 


IB 


85 


B9 


60 


20 


Bl 


00 


8200- 


2C 


80 


CO 


20 


DD 


80 


C9 


C2 


8208- 


FO 


06 


2C 


82 


CO 


4C 


79 


09 


8210- 


20 


DO 


80 


80 


76 


20 


00 


80 


8218- 


85 


/5 


2U 


DD 


m 


85 


89 


20 


8220- 


DO 


80 


85 


B8 


20 


DD 


80 


85 


8228- 


1C 


C9 00 


DO 


04 


2C 


82 CO 


8230- 


60 


20 


OD 


80 


85 


09 


20 


DD 


8238- 


80 


85 


08 


20 


DD 


80 


85 


07 


8240- 


20 


DD 


80 


85 


06 


A5 


09 


FO 


8248- 


09 


AO 


05 


88 


Bl 


06 


48 


88 


8250- 


10 


FA AO 


00 


20 


DO 


80 


91 


8258- 


06 


C8 


CO 


05 


DO 


F6 


A5 09 


8260- 


FO 


OA AO 


00 


68 


91 


08 C8 


8268- CO 


05 DO 


F8 


C6 


IC 


A5 


IC 


8270- 


DO 


RF 


Fn 


RS 











Programme PROCEDURE 


42 




BNE >1 


86 


PHA 








LISA 2 5 


43 




JMP ADHGME 


87 


LDY 


UO 






44 


- 1 


CMP #*B8 


88 


'0 PLA 




l 


; ****************** 


45 




BNE >2 


89 


STA 


<*«*>, Y 


2 


;4c HOME 




44 




JMP ADDEF 


90 


I NY 


3 


;& DEF 


NOM;A,B p !C 


47 


•2 


CMP tt*C2 


9i 


CPY 


**5 


4 


;& END 




48 




BNE >3 


92 


RNF 


<0 


5 


;& FN NOM ;X*Y,C< i > 


49 




JMP AD FN 


93 


JSR 


CHRGOT 


6 


;*****♦♦*********** 


50 


'3 


CMP *t*80 


94 


CMP 


ItQ 


—> 

7 




ORG *800O 


51 




BNE >4 


95 


BEG 


>4 


8 




OBJ *800 


52 




JMP ADEND 


96 


i NECHERCHE &END 


o 




53 


* 4 


JMP *D97C 


97 


'3 JSR 


CHRGET 


V 


i 






-1 ft 

1 


;VARIA8LES 


54 






98 


CMP 


HO 


1 i 


BAS 


EPZ *D0 


55 


;&DEF NOM; A , B , !C 


99 


BEQ 


>4 


1 2 


l*AUT 


EP2 *E0 


54 






100 


CMP 


tt*AF 






13 


NU 


EPZ *1C 


57 


ADDEF 


JSR UHRGtT 


101 


BNfc 


<3 


14 


FN 


EP2 *1A 


58 


; ADRESSE UAR . NOM 


102 


JSR 


CHRGET 


15 


TX 


EPZ %l& 


59 




ORA #*80 


103 


CMP 


1**80 


16 


EJRT 


EQU *C083 


60 




STA %XA 


104 


RNF 


<3 


1 7 


RAM 


EQU *C080 


61 




JSR FNGET 


105 


JSR 


CHRGET 


18 


ROM 


EQU $C082 


62 




STA *8A 


106 


RTS 




19 


TP 


EPZ ^06 


43 




STY *8B 


107 


jFIN LIGNE 




20 


; ROUTINES APPLESOFT 


64 




JSR CHKNUM 


108 


"4 LDY 


«2 


21 


CHRGET 


EQU *O0Bl 


65 




JSR ERRDIR 


109 


LDA 


(*B8> ,Y 


22 


CHRGOT 


EQU *O0B7 


66 




LDA 


110 


BEQ 


>5 


23 


FN GET 


EQU *DFEA 


67 




JSR SYNCHR 


1 1 1 


CLC 




24 


CHKNUM 


EQU *DD6A 


69 




LDA *82 


112 


LDA 


*BQ 


25 


ERRD1R 


EQU 4E3D6 


69 




PHA 


113 


ADC 


UA 


26 


SYNCHR 


EQU *DECO 


70 




LDA *81 


114 


STA 


*B8 


27 


PTRGET 


EQU *DFE3 


71 




PHA 


115 


BCC 


>6 


28 


CHKOOM 


EOII tOFBF 


72 




LDA *B9 


116 


INC 


4R9 


29 


LET 


EQU *DA52 


73 




PHA 


117 


'6 JMP 


<3 


30 


RETERR 


EQU $D979 


74 




LDA *B8 


118 


'5 JMP 


*D410 


31 

32 






75 
76 




PHA 
=NB DE , +1 


119 

120 






* 

: INITIALl SE & 


;NB VAR 


:&HQME 




33 




LDA «*4C 


77 




I DA ttl 


121 


; < INITIALl SAT I ON) 


34 




ST A *3F3 


78 




STA NV 


122 














35 




LDA ttLABEL 


79 


' 1 


JSR CHRGET 


123 


ADHOME JSR 


CHRGET 


36 




STA *3F<6 


80 




BEQ >2 


124 


LDA 


ttO 


37 




LDA /LABEL 


81 




CMP " , 


125 


STA 


PI + 1 


38 




STA *3F7 


82 




RMF <1 


124 


STA 


P2+1 


39 




RTS 


83 




INC NV 


127 


LDA 


ttHAUT 


40 


;AI GUI LLAGE 


84 




BNE <1 


1 28 


STA 


Pl+2 


41 


LABEL 


CMP **97 


85 


' 2 


LDA W 


129 


STA 


P2*2 



nanram 

Pom's n° 14 



130 
131 
132 




RTS 




200 
201 


; SP EMPILE 


====== 


202 


133 
134 


. 






203 
204 


EMPILE 




DEC 


Pl + 1 


135 




DEC 


P2*l 


205 


13-6 




LDX 


Pl + 1 


206 


137 




I NX 




207 


138 




BNE 


>0 


208 


139 




DEC 


PI+2 


209 


140 




DEC 


P2+2 


210 


141 




LDX 


PI +2 


211 


142 




rpy 


ttBAS 


212 


143 




BGE 


PI 


213 


144 


MEMERR 


BIT 


ROM 


214 


143 




JMP 




215 


14-6 


PI 


STA 


HAUT*256 


216 


147 




RTS 




217 


148 








218 








149 


; SP DEPILE 




219 


150 








220 








151 


DEPILE 


LDX 


Pl+2 


221 


152 




CPX 


ttHAUT 


222 


153 




BGE 


MEMERR 


223 


154 


P2 


LDA 


HAUT*256 


224 


155 




INC 


Pl + 1 


225 


isi 




INC 


P2+1 


226 


157 




BNE 


>0 


227 


158 




INC 


PI +9 


228 


159 




INC 


P2+2 


229 


160 
141 
162 


"0 


RTS 




230 
231 
232 


FN NOM ;X*Y,B<1> 


163 


. 






233 








164 


: ADRESSE FONCTI ON 


234 


165 


ADFN 


JSR 


CHRGET 


235 


166 




ORA 


«*80 


236 


167 




STA 


*14 


237 


168 




JSR 


FN RET 


238 


169 




STA 


*8A 


239 


1/0 




STY 


*8B 


240 


171 




LDY 


#1 


241 


172 




LDA 


<*8A> ,Y 


242 


173 




STA 


FN 


243 


174 




I NY 




244 


175 




LDA 


<*8A) ,Y 


245 


176 




STA 


FNM 


246 


177 




LDA 


'; 


247 


179 




JSR 


SYKJCHR 


248 


179 


jVERIF NB VARIABLES 


249 


180 




LDA 


til 


250 


181 




STA 


NV 


251 


182 


; EMPILE 


TXTPTR 


252 


183 




LDA *B8 


253 


184 




STA 


TX 


254 


185 




LDA %B9 


255 


186 




STA 


TX* 1 


256 


187 


;COMPTE 


LES VIRGULES 


257 


188 


* 1 


JSR 


CHRGET 


258 


189 




BEG 


>2 


259 


190 




CMP 


/ 

J 


260 


191 




BNE 


<1 


261 


192 




INC W 


262 


193 




BNE 


<1 


263 


194 


'2 


LDY 


no 


^64 


195 




LDA 


(*8A) , Y 


265 


196 




CMP 


NV 


266 


197 




BFO 


>0 


267 


190 




LDX 


tt*2A 


268 


3 99 




JMP *D4J2 


269 



; STOCKABE VARIABLES 



; RECH VAR MUETTE 
A LDA FN 

STA *B8 
LDA FN+I 
STA *B9 
;TEST TRANSFERT 
LDX «0 
JSR CHRGOT 
CMP ' ! 
BNE >4 
JSR CHRGET 
I NX 

A 4 STX *1D 

;P0S VAR MUETTE 

JSR PTRGET 
STA *85 
STA *06 
STY *86 
STY ftO 7 

; SAUTE VI RGULE 

JSR CHRGOT 
BEQ >1 
JSR CHKCOM 

* 1 LDA *B8 

STA FN 
LDA $B9 
STA FN+1 

;EMPI LE VAR MUETTE 
BIT UIRT 
BIT UIRT 
LDY »4 

*2 LDA <*06> ,Y 

JSR EMPILE 

DEY 

BPL <2 
;EMPILF POSITION 
LDA *06 
JSR EMPILE 
LDA *07 
JSR EMPILE 
BIT ROM 
j RESTAURE TXTPTR 
LDA TX 
STA *B8 
LDA TX+1 
STA *B9 

;TEST 

LDA SID 
BNE >5 
; CHARGE VAR MUETTE 
STA *08 
STA *09 
JSR LET 
LDA *Q9 
BEQ >6 
jUAR A TRANSFERER 
"5 JSR PTRGET 

STA *08 
STY *09 
; EMPILE POS TRANSF 
*6 BIT WRT 

BIT WRT 
LDA <08 
JSR EMPILE 
LDA *09 
JSR EMPILE 
BIT ROM 



270 
271 
272 
273 
274 
275 
276 
277 
278 
279 
280 
281 
282 
283 
284 
285 
286 
287 
288 
269 
290 
291 
292 
293 
294 
295 
296 
297 
298 
299 
300 
301 
302 
303 
304 
305 
306 
307 
308 
309 

3in 

31 1 
312 
313 
314 
315 
316 
317 
318 
319 
320 
321 
322 
323 
324 
325 
326 
327 
328 
329 
330 
331 
332 
333 
334 
335 
336 
337 
338 
339 



;FIN D' INSTRUCTION 





JSR CHRGOT 




BEQ 


>3 




JSR 


CHKCOM 


STOCKE LE PTR 




LDA 


*B8 




STA 


TX 




LDA 


*B9 




STA 


TX+1 




JMP 


<0 


EMPILE 


RETOUR 


3 


BIT 


WRT 




BIT 


WRT 




LDA 


N"v" 




JSR 


EMPILE 




LDA 


*B8 




JSR 


EMPILE 




LDA 


*B9 




JSR 


EMPILE 




LDA 


*75 




JSR 


EMPILE 




LDA 


%76 




JSR 


EMPILE 




LDA 


a*c? 




JSR 


EMPILE 




BIT 


ROM 


EXECUTION SP 




LDA 


FN 




STA 


*B8 




LDA 


FN+1 




STA $B9 




RTS 




it END 


*DEND 


JSR 


CHRGET 




BIT 


RAM 




JSR 


DEPILE 




CMP 


tt*C2 




BEQ 


>0 




BIT 


ROM 




JMP 


RETERR 





JSR 


DEPILE 




STA 


*76 




JSR 


DEPILE 




STA 


*75 




JSR 


DEPILE 




STA 


*B9 




JSR 


DEPILE 




STA 


*B8 


DEPILE NB UAR 




JSR 


DEPILE 




STA 


HJ 


SI NUL 


- > RETOUR 


3 


CMP 


ttO 




BNE 


>i 




BIT 


ROM 




RTS 




1 


JSR 


DEPILE 




STA 


*09 




JSR 


DEPILE 




STA 


*08 




JSR 


DEPILE 




STA 


*0 7 




JSR 


DEPILE 




STA 


♦06 




LDA 


*09 




BEG 


>4 



; STOCKAGE PROVISOIR 
LDY *5 



Pom's n° 14 



17 



RENDEZ VOTRE APPLE* ENCORE "PLUS" 

Cartes et accessoires 
additionnels compatibles APPLE II 



POUR JEUX VIDEO ET 

MICRO- 
ORDINATEURS 



INTERFACE 
PUS GO 
UNIVERSELLE 
Compatible 

triiis micro-ordinateurs 
el ieux video. 
Entree PERITEL. 

Sortie UHF - 5tWM L 
Reguiateui de lension mcorpo 




FLOPPY DRIVE 
pour APPLE 
5 POUCES 



2599* 




SUPER 
PROMO 
3 POUCES 
MD3 HITACHI 



PROMOTION DlSQUEWS POUB FLOPPY ^ 

y Sf-nn 48TPI. •'unit* •- lop 
j, S ttpite wl»r, pa,50p ie ces«un,, B 18P 



J OOUtH I o-e DD £03 K flCWt Lumle. 

-.a simple race DO 80 v«w i-''-™ •• 



63 F 
69 F 



«MONITOR BASB» 
SOCLE ORIENTABLE POUR 
MONITEURS NB OH COTJLETO 



S'oriente en wuies 
aiieciiv's • 

Angle de 12.? en 
position avant w arnere 

ladM 25 4 ) 

.Mobile on iixe avec olocage 
. Paiins anlidetapants 
• SiODOrte plus aeSQKg 



199 F 



CARTE LAN GAGE 16 K RAM 




Pour extension du 4B K RAM en G-* K Cympaiible 
fORTRAN PAGCAL. LISP. DASIC | _ m 



CARTE ©'EXTENSION 
128 K RAM 





Emulation drsk-dnve 
sous UUS. PASCAL ou UP II 
Enticement $quip£e 



CARTE SO COLONNES 



CARTE Z 80 




80 car »24lignes Resolution 7*9. Compatible avec 
la nlnpart Hps fraitRmfinls rin text* BASIC 
PASCAL. CP.'M. MODEM CLj A p I 

Entierement eouipe f %y 




honciionne sous CP>M 

Utilisation de iuui iitymel tm CPM 

Entierement Cqutpcc 



7Wk 



CARTE INTERFACE POUR 2 
FLOPPY-DRIVE 




Emiecemeni e*outpee 



5m 



CARTE DE PR06RAMMATI0N 
2716-2732-2764 




Prnfltamnlation IWrturR.fiopift 
charrjemenl de programme direciemem sur 2716 
EmieVemem equipee 



CARTE DE CONNECTION 
serie RS 232 C 




JOY-5TIOK 



equioe 2 Inmes PROMO 1 1 A Q F 
pour recherche du point zero Lfjl^ 



4 



TABLE O-RAPHIQPE 999 F 

VENTILATEUR «FAN» 



pour Apple 



498 F 



1" Version 



KITS EN PROMOTION 



CARTE RVB 




CARTE D'UNITE CENT RALE 

doable prooesecur 6802 et Z 80. 64 K 

RAM 7 slots d" extensions, fonctionne sou3 CPrM 

■ft Enlieremeni earn pee 
. J^fc I sans RDM) 

3350 F 

CLAVIER ASC IZ 



68 touches. Alphas umeri que. 
Majuscules minuscules, decimales. 
8toiffh«rtelorK:timfiryf^ranimflhJe« 950 P 

ALIMENTATION ??o v 5 A 779 F 

COFFRET pour carta dp base 698 F 
clavier et pave numenque. 

LCSSCHBLC: 5199 F 



%* Version 



(modules montes. cables, equipes* 



Carte {funde 

cfnlwlp avpr fiSfl? pvins ROM) 



Clavier ASC II 980 F 

Alimentation 220 V. 5 A 779 F 

Coffrei / i 698 F 




CARTE INTERFACE BtTFFERISEE 
IMPRIMANTE 





L CNSCMOLC 

Ctwyue element peui-eire adieu* stipsftOMmt. 



47W-F 

1 4490 ; i 



Pour mules marques sortie CENTRONICS - Butter 
64 K RAM | . „ J 

jvree equiofie en 16 K 1690 



■ extension jusqu'a W Kl 

CARTE INTERFACE POUR 4 
IMPRIMANTE S EN BATTERIE 

Interface senc pcrmot do 
brgncher He 1 a & impri- 
maniefi 



CARTE «SPEETCH» 




en Anglais el phonemes 



MONITEURS 
. «^=n ZENITH 12 

iBMiW ecranvert 



TAX AN 

Coulee 

Monileur ccufcui RTC 

en nWuie sisals a mower. Aw; PeiiteL 




ALBER XIV 

le moniteur couleur 14" 
do votre micro 

- '0': »SQ H:. PWiunw 
co-omr.^ « ft nomiriti 

0»iairr«nUllC-lO*i.TiiM .nag; 

Sijia' d'enl'ee videc RVB 
goiili' t V'retKfSte Se'^iC' 

'OV sepa-ee oji cim»att. Gol-« aoMi«C'j.ifiMhi- mik 
tic-nM auio-rol^onctt N'vcat 'abis 11 V co^rjKitr 

d'eii'te vdea "VB 5 T chaqu? :araJ Fnimieva l ows 1^ fi2? 
KH: cat 50 Kg «1lcate*W1 15.750 W: mm 60 »*: Hrtttie- 
t;i| ^lfcLficrfifeaLiaril.Cier-e-,1 





8990 £ | 



EFFAGEUR D'EPROM 

EN KIT ronpin 1 1 



IMPRIMANTE 

GP 80A SEIKOSHA 

• Entrainemem a fnciion • Graofiique 

• 2 fipaisseuis de caracteres 

• interlace psralieie 

COmpatlDie CENTRONICS 

gp50oa 2390 F 

SrsR GEMINI ID * 3390 F 

EPSON Hx 60 3600 F 



1280 r 



ALIMENTATION A DEGOUPAGE 
COMPATIBLE «APPLE» 



- 5 V - 5 A. 



12 V- 



779 F 




• APPLE esl une marque deposee et appartieni a APPLE COMPUTER S.A. 



crwnmrws gfnfrues de ventes pah corresponoanc£ 

Pour e<itr les toil de conite-temDo./semem. nou$ vous co-iseitlcms oe reg'o' vos 

CommjnwisimegriMpiiiBfiiiy tuir.uii»ti-rsuB(.y.i/ FORFAIT OE PORT K f 



ACER MICRO 

42, rue de Chabrol. 75010 Paris. 
Tel. 770.28.31. 



340 




DEY 


349 




1 NY 




3by 




I NY 


341 




LDA (*06) ,Y 


350 




CPY 


»5 


359 




CPY #5 


342 




PHA 


351 




BNE 


<2 


360 




BNE <6 


343 




DEY 


352 


:TRANSFERT 




361 


;TEST 


FIN 


344 




BPL <5 


353 




LDA 


%09 


362 


'7 


DEC NV 


345 


; RESTAURS VAR MUET 


354 




BEG 


>7 


363 




LDm Nv 


346 


*4 


1 DY ttO 


355 




LDY 


ttO 


364 




BNE <1 


347 


"2 


JSR DEFILE 


336 




PLA 




365 




BEQ <3 


348 




ST A ($06) ,Y 


357 




ST A 


($08) ,Y 


366 
367 










;===== 


END 



Disque virtuel 64K 



Si l'apprentissage du Basic ne me 
pose pas trop de problemes. luthsa- 
tion de I assembleur ne me parait 
pas aussi evidente. 

En consequence, un bon exercice 
consiste. selon moi, « decortiquer les 
routines publiees dans Pom's pour 
les adapter a de nouvelles situations. 

Ainsi. j'ai pense qu'une modification 
de la routine de disquetle virtuelle 
16K de Michel Haag (Pom's 12) 
pourrast rendre quelques services aux 
nossesseurs de carte 80 colonnes 
"etendue" en transformant cette le- 
serve d'octets en un pseudo-disque 
bien pratique. 

Les deux programmes publies ici 
permettenl d'aUeindre cet objectlf : 

• La routine RWAUX proprement 
dite, qui sera logee a la place du 
secteur $F du directory dans la 
carte langage. afin de la rendre in- 
dependante des cummuldleuis 
RAMRD et RAMWRT. et qui 
rionne acces a la pseudo-dis- 
quette. 

• La routine RWAUXINIT qui se 
charge de la mise en place de 
RWAUX. du VTOC, du directory 



et d'un patch du DOS qui perrnet 
F appel du disque virtuel. 

Pour plus de commodite. les deux 
routines sont regroupees dans un 
meme code objet AUTO RWAUXI 
NIT. Apres Texecution de ce pro- 
gramme par BRUM tout appel au 
second Jecteur D2 sera dirige sur le 
disque virtuel loge dans 1'extension 
memoire de la carte 80 colonnes 
etendue. Le disque ainsi constitue se 
compose 11 pistes completes, 
d'une piste de 12 secteurs et d*une 
piste affectee au catalogue et a la 
routine d'exploitation. 

Cette nouvelle version de pseudo- 
disquerte n'est pas moins volatile que 
la precedenfe, bien sur. Avant 
d'eteindre votre Apple, n'oubliez 
done pas de transferer les informa- 
tions stockees en RAM sur nne veri- 
table disquctte dans le lecteur Dl. 
Vous pouvez realiser ce transfert di- 
rectement a partir de vos program- 
mes, en mode immediat pour les 
programmes et fichiers binaires. ou. 



Jacques Rey 

de fac,on gcncrale. au moyen du FID 
classique. 

Si vous possedez deux lecteurs de 
disquettes. vous pouvez reconnecter 
le second en D2 par POKE 48372.0. 
Un POKE 48372.2 redirigera tout 
appel a D2 sur la carte d' extension. 

Les pistes $11. $12 ct $13 sc trou 
vanL dans la carte langage. il peut 
etre utile de verrouiller les huit der- 
niers secteurs de la piste $13 pour y 
logei line cupie du rnoniteur. ce qui 
permet. par exemple. d'examiner le 
VTOC et le directory avec la 
commande "IT* du iiiuniieui etendu. 
Pour ce taire. "bootez" avec une dis- 
quette contenant le fichier INTBASIC 
puis passe* en rnoniteur et tapez : 
C08B N C0m N D084:00 00 
Les secteurs $8 a $F de la piste $13 
sont ainsi verrouilles et le rnoniteur 
ne sera pas ecrase par les informa 
tions chargees dans le pseudo-dis- 
que. 



l 
2 
3 
4 
5 
6 
7 
8 
9 
1 
1 1 
1 2 
i 3 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 



;* 
s* 
;* 

5* 

;* 
;* 



* 

* 

* 
* 

; ****#**#*«****##*##*-*##-#»♦-*« 



RWAUXINIT 
J. REY CJUIN 84) 
(D'APRES M.HAAG) 



LISA 1.5 



PTR 
INIT 



81 



B2 



ORG *4F00 

EP2 *2A 

LDA *C08B 
LDA *C08B 
LDA tt*00 
STA PTR 

i da w*nn 

STA PTR * 1 

LDA ttSOO 

LDY tt*00 

STA <PTR>,Y 



jWLIDATION DU 1 EK BANC 



;MISE A ZERU DU V1DC ET DU DIR 



Pom*s R° 14 



25 DEY 

26 BNE B2 

27 INC PTR+1 

28 LDA PTR+1 

29 CMP tt«EO 

30 BNE Bl 

31 ; 

32 ; INITIAL! SAT I ON DU UTOC 

33 ; 

LDA tt*D0 
ST A PTR+1 
LDY **06 
LDA MTBLi ,Y 

ST A <PTR!j ,Y 
DEY 

BPL B3 
LDA »*7A 
ST A 4D0 77 
LDA #*0D 
STA *D0 30 
LDA H*23 
STA *D034 
LDA tt*10 
STA *D035 
LDA tt*01 
STA *D037 
LDA **CC 
STA *D04? 



;INIT DES OCTETS *0 A *37 DU VTOC 



34 
35 
36 

37 B3 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 

53 ; 
54 
55 

54 94 
57 
58 
59 
60 ; 
61 
62 
63 

64 B5 
65 
66 
67 
68 
69 
70 
71 

72 

73 B6 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 

84 B7 
85 
86 
87 

88 ; 

89 -DECONNECT I ON DE LA CARTE LAN GAGE 

90 ; 

91 CLC 

92 LDA *C082 

93 LDA *COSA 

94 ; 

95 ;MISE EN PLACE DU PATCH PERMETTANT L ' APPEL DE RWAUX 

96 : 



jINHIBE LES SECTEURS 0,1,4,5 DE LA PISTE *04 



5 LIBERATION DPS PISTES *5 ,8 , 9 , A , B , C , D , E , F, 1 2 ET13 
; PAR M1SE A *FF DES OCTETS CORRESPONDANTS 
;DU VTOC 



; 1 N I T I AL I SAT I ON DES OCTETS DE 
; CHAINAGE DES PAGES DU DIRECTORY 



LDA tt*FF 

LDX 

LDY UTBL2,X 
STA <PTR) ,Y 
DEX 

BPL B4 

LDA «*D2 
STA PTR+1 
LDY tt*01 
I DA tt«fcl 1 
STA (PTR) ,Y 
INC PTR+1 
LDA PTR+1 
CMP «*DF 
BNE B5 
DEC PTR+1 
LDY **02 
LDX tt*QD 
TXA 

STA (PTR),Y 
DEC PTR+1 
DEX 

BNE B6 

CHAR6EMENT DE LA ROUTINE RUAUX A LA PLACE DU SECTEUR *F DU DIR 



LDA tt*DF 
STA PTR+1 

LDY tt*QQ 

LDA $5000, Y 

STA (PTR>,Y 
DEY 

BNE B7 



20 



Pom's n° 14 



97 

98 B8 
99 



LDY #*18 
LDA PATB,Y 
ST A *BCEB,Y 
DEY 
BPL B8 
RTS 



100 
101 
102 
103 ; 
101 y TABLES 

105 ; 

106 VTBL1 HEX 0411 QE030000FE 

10? <^TBL2 HEX 31 484C4D58595C5D6061 646368696C6D707 1 74 758081 8485EA 

108 PATB HEX 84488549A002B1 48C902D00 DAD8BC0AD8BC04C6EDF4CEBBCEA 

109 FND 



;* 

;* 
i* 
i* 
* 



RUAUX 

JACQUES REY (JUIN 84) 



ADAPTATION DE L'IDEE DE 
M. HAAG 



ORG *DF67 
OBJ $5067 



EPZ *40 
EPZ 



* 
* 

* 

* 



4 

5 
6 
7 

a 

9 

10 I**************************** 
1 1 
12 
13 
14 

15 ; emulateur de d1suuette sur carte auxiliaire 
ia ; 

17 IOBP 

18 PTR 

19 BliFPTR EP2 *3E 
SECT EPZ *2D 
[ RACK EPZ $2E 



20 
21 

22 ; 

23 TRK 

24 SEC 

25 BUF 

26 CMD 



DRV 
p 

TBI 
TB2 

J 

jTRANShERT 



27 
28 
29 
30 
31 
32 
33 

34 RWAUX 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 



EQU *4 
EQU *5 
EQU *8 
EQU *0C 
EQU *02 



HEX 
HEX 



1 UU /U6 

onn i 0405 

DES POINTEURS 



iPlSTES INTERDITES 
jSECTEURS INTERDITS 



LDY ttBUF 

LDA < IOBP) ( Y 

ST A BUFPTR 
I NY 

LDA C IOBP) ,Y 

ST A BUFPTR* 1 

LDY *SEC 

LDA ( IORP) ,Y 

ST A GECT 

LDY BTRK 

LDA (IOBP) ,Y 

STA TRACK 



; DETERMINATION DES PISTES CT SECTEURS 

; ERREUR SI PISTE > %\ 3 



CMP M*14 
BPL ERR 
CMP W*l 1 
BEQ DIR 
CMP tt*04 
BMI ERR 



AUTO RWAUXINIT.OBJ 



; BRANCHE SUR VTOC OU DIR 
; ERREUR SI PISTE < *U4 



4F00- 

4F08- 

4F1D- 

4F18- 

4P70- 

4F28- 

4F30- 

4F38- 

4F40- 

4F48- 

4F50- 

4F38- 

4F60- 

4F68- 

4F70- 

4F78- 

4F80- 

4F88- 

4F90- 

4F98- 

4FA0- 

4FA8- 

4FB0- 

4FB8- 

4FC0- 

4FC8- 

4FD0- 

4FD8- 

4FE0- 

4FE8- 

4FF0- 

4FF8- 

5000- 

3008- 

5010- 

5018- 

5020- 

5028 

5030- 

5038- 

5040- 

5048- 

3030- 

5058- 

5060- 

5068- 

5070- 

3078- 

5080- 

50R8- 

5090- 

5098- 

5OA0- 

50A8- 

5080- 

50B8- 

50CO- 

50C8- 

50DO- 

5008- 

50EO- 

50E8- 

50 FO- 

50F9- 



AD 88 
85 2A 
AO 00 
2B A5 
DO 85 
91 2A 
27 DO 
23 8D 
DO A9 
8D 49 
9F 4F 
D2 85 
2A E6 
F4 C6 
91 2A 
DF 85 
91 2A 
CO AD 
4F 99 
04 11 
48 4C 
61 64 
71 74 
84 48 
C9 02 
88 CO 
EA EA 
EA EA 
EA EA 
EA EA 
EA EA 
EA EA 
00 D2 
AO AO 
AO AO 
AO AO 
00 CD 
Ar AO 
AO AO 
AO AO 
00 00 
AO Bl 
AO AO 
AO AO 
00 00 
07 04 
Bl 48 
3F AO 
04 81 
4F C9 
47 AO 
88 10 
2E 38 
65 2D 
DF FO 
DF A9 
C9 OF 
AO OC 
C9 01 
38 8D 
8A CO 
2A 91 
E8 AO 
91 2A 



CO AD 
A9 DO 
91 2A 
2B C9 
2B AO 
88 10 
A? OD 
34 DO 
01 8D 
DO A9 
91 2A 
2b AU 
2B A5 
2B AO 
C6 2B 
2B AO 
88 DO 
8A CO 
EB BC 
OE 03 
4D 58 
65 68 
75 80 
85 49 
DO OD 
4C 6E 
EA EA 
EA EA 
EA EA 
tA fcA 
EA EA 
EA EA 
CF D5 
D2 D7 
AO AO 
AO AO 
AE 08 
CA AE 
AO AO 
AO AO 
00 CA 
B9 B8 
AO AO 
AO AO 
00 00 
00 01 
85 3E 
05 Bl 
48 85 
1 1 FO 
02 09 
F8 A9 
E9 04 
85 2B 
25 88 
00 85 
t-U 14 
Bl 48 
FO OE 
02 CO 
AO 00 
3E S8 
00 8C 
89 DO 



8B CO 
85 2B 
88 DO 
EO DO 
06 B9 
F8 A9 
8D 30 
A9 10 
37 DO 
FF A2 
CA 10 

01 A9 
2B C9 

02 A2 
CA DO 
00 BV 
F8 18 
AO 18 
88 10 
00 00 
59 5L 
69 6C 
81 84 
AO 02 
AD 8B 
DF 4C 
EA EA 
EA EA 
EA EA 
EA EA 
EA EA 
EA EA 
D4 C9 
CI D5 
AO AO 

AO AO 
CI Cl 
D2 C5 
AO AO 
AO AO 
D5 C9 
B4 00 
AO AO 
AO AO 

oo on 

04 05 
C8 Bl 
48 «5 
2E C9 
2C C9 
•67 DF 
00 85 
OA OA 
AO 03 
10 F8 
2A 18 
69 DO 
C9 00 
C9 02 
OD 04 
8C 3 
DO F9 

05 CO 
F9 18 



A9 00 
*9 00 
FB E6 
EF A9 
98 4F 
7A OD 
DO A9 
8D 35 
A9 CC 
17 BC 
F8 A? 
11 91 
DF DO 
OD 8A 
F8 A9 
UU 50 
AD 82 
B9 Bfl 
F7 60 
FE 31 
bD 60 
6D 70 
85 EA 
Bl 40 
CO AD 
E8 BC 
EA EA 
EA EA 
EA EA 
EA EA 
EA EA 
EA EA 
CE C5 
D8 00 
AO AO 
AO AO 
C7 AO 
D9 OO 
AU AO 
AO AO 
CE AO 
00 00 
AO AO 
AO AO 
00 10 
AO 08 
48 85 
2D AO 
14 10 
4 30 
FO 40 
2A A5 
OA OA 
D9 6A 
4C CQ 
A3 2D 
85 2B 
FO 09 
FO 19 
CO AD 
CO Bl 
18 90 
81 3E 
90 



Pom'S n 14 



ASH 



21 



55 LDY «*02 ; 

56 VERIF1 CriP TBI ,Y j 

57 BEG ERR ; ERREUR SI PISTE = *O6,*07 OU *10 

58 DEY ;<PAGE GRAPH I QUE ET PORTS) 

59 BPL VERIF1 ; 
40 LDA tt*00 

61 STA PTR 

62 LDA TRACK 

63 SEC 

64 SBC **0 4 ; 

65 ASL ; 

66 ASL ; PAGE MFMfll RE= *1 0*<TRACK-4> 

67 ASL ;PLUS SECT 

68 ASL 

69 ADC SECT ; 

70 STA PTR+1 

71 LDY tt*03 5 

72 VERIF2 CMP TB2,Y ; 

73 BEQ ERR ; ERREUR SI PISTE *04 SECTEURS *0 ,*1 ,*4 ,*5 

74 DEY ;< PAGES 0,1 ET TEXTE 80COL) 

75 BPL VERIF2 ; 

76 JMP EXQ 

77 ; 

78 j D I RECTORY 

79 ; 

80 DIR LDA tt*00 

81 STA PTR 

82 CLC 

83 LDA SECT ;CALCUL DE LA PAGE DU CATALOGUE 

84 CMP tt*0F jERREUR SI SECTEUR *0F 

85 BEQ ERR ;< EMPLACEMENT DE LA ROUTINE) 

86 ADC tt*D0 ; 

87 SI A PTR+1 

88 ; 

89 j EXECUTION DE LA COW"¥*NDE 

90 ; 

91 EXQ LDY ttCMD 

92 LDA < IOBP) ,Y 

93 CMP tt*O0 

94 BEQ RET 

95 CMP **01 

96 BEQ READ 

97 CMP tt*02 

98 BEQ WRITE 

99 ; 

100 ERR SEC i PROROGUE I/O ERROR 

101 ; 

102 RET STA *C002 ; REMET LES COMMUTATFURS EN POSITION 

103 STA *C004 ; LECT/ECRIT EN MEMO I RE PRINCIPALE 

104 LDA *C08A ;COMUTE LA MEM EN *DFE2 HUI CONTIENT RTS 

105 ; 

106 READ LDY tt*O0 

107 STY SC003 ;MEM AUX EN LECTURE 

108 BR1 LDA <PTR) ,Y 

109 STA < BUFPTR) ,Y 

110 DEY 

Ul BNE BRI 

112 CLC 

113 BCC RET 

114 ; 

115 URITE LDY tt*O0 

116 STY *C005 ;MEM AUX EN ECRITURE 

117 BW1 LDA < BUFP1 R> ,Y 

1 1 8 STA <PTR) ,Y 

119 DEY 

120 BNE BUI 

121 CLC 

122 BCC RET 

123 DCM "BSAgERWAUX. 08^*5000^*100' 

124 END 



Premier contact 

Conception du logiciel 

Appleworks est un logiciel presente 
comme "integre". II comporte : 

• un traitement de texte. parent 
d* Apple writer ; 

• un gestionnaire de fichier. tres 
proche de Quick File : 

• un tableur. compromis entre Visi- 
ble (ou plutdt Maglcalc) et Multi- 
plan. 

II nest fin fait que partiellement inte- 
gre. En effet : 

1 • II est possible de "couper/'coller" 
a Finterieur d'un document, ou entre 

2 documents DE MEME TYPE (2 ta- 
bleaux par exempleh mais non entre 
documents de types differents (on ne 
peut effectuer de calculs par le ta- 
bleur sur les donnees d'un fichier, 
sauf, et uniquement au moment 
d'une creation de document nou- 
veau. a transiter par un fichier DIF I). 

2-11 est egalement possible, mais 
moins direct, de passer d'un tableau 
ou d'un elal compose a partir d'un 
fichier. vers le traitement de texte (on 
utilise alors une sous option "clip 
board" de l'option d*impressiuii). 

La gestion du "clip board" n'est pas 
tres simple. Par la pratique, nous 
avons cru comprendre que les ex- 
traits DE MEME NATURE sentas- 
saient et etaient ensuite repris en 
bloc, alors qu'un extrait d'un autre 
type vtdait le clip board. 
Tout a ete fait pour faciliter Yapprm- 
tissagc : nombreuses fonctions "help" 
a differents niveaux. identite des 
commandes dans les diverses 
composantes, utilisation relativement 
alsee de toutes les commandes de 
I' Apple f/a (les 4 fleches de direction 
et les "pommes'l. 

Le traitement de texte 

Forces 

Option "coupercoller" puissante et 
commode (mais avec deux modes 
d' utilisation di fferp nts selon qu on 
travaille entre textes, ou bien entre fi- 
chier ou tableau et texte). 
Designation pratique des 2ones a 
supprimer. deplacer, dupliquer. "cou- 
percoller". 

Nombreuses options d'impression. 
tres puissantes quand on en a bien 
acquis le mecanisme. Possibilite d'in- 
tervention au clavier en cours d'im- 
pression. 

Faiblesses 

Absence d'une function Glossaire. 
Pas de notion de paragraphes (mais 
il existe un systeme de "mar 
queurs"). 

Quelques problemes de justification 
(il n'existe pas de justification gauche 



Appleworks a l'essai 

Guy Lapautre 



ou droit©, et les options d'impression 
perturbent la justification Lotale). 

Synthase 

S'il ne s'agissait que d'un nouveau 
traitement de texte. il ny aurait pas 
de quoi declencher Fenthousiasme, 
11 faut done voir celui-ci uniquement 
dans le cadre de Integration avec ta- 
bleur et gestionnaire de fichier. Alors. 
on ne peut qu'etre seduit par le fonc- 
tionnement du "couper coller" direct 
(entre textes). ou indirect, par l'inter- 
mediaire de F option d'impression 
(entre etat ou tableau et texte). 

Le gestionnaire de 
fichier 

Forces 

Ce sont essentiellement celles de 
Quick File (simplicite et souplesse. 
travail tres commode a Ferran. 
confection aisee d'etats et d'etiquet 

tes...). 

A ces avantages. il convient d'ajouter 
bien entendu "la fonction "cou- 
percoller" dans un fichier ou entre 
deux fichiers et la fonction impres- 
sion sur "clip board" a destination du 
traitement de texte. 

Faiblesses 

Comme les avantages. les inconve- 
nients sont essentiellement ceux de 
Quick File (insuffisance de contrOles 
d'entree. quelques difficultes de ma- 
nipulation du curseur. capacitc asscz 
limitee). 

Attention aux "sorties du systeme" 
dans le cas de certaines options im 
primante non admises. 

Synthase 

Plus encore que dans le cas du trai- 
tement de texte. on pourrait etre 
lente de dirt que nouveau ges- 
tionnaire de fichiers est un de trop : 
Quick File suffisait. 

Bien entendu. e'est encore dans Fin- 
tegration (entre fichiers. et avec le 
traitement de texte) qu'il faut en re- 
chercher la justification. 
On peut alors regretter qu'il n y ait 
pas une communication directe pos- 
sible avec le loyiciel tableur pour ef- 
fectuer facilement des cakuls a partir 
d'elcmcnts puises dans un fichier et 
retourner les resultats vers le fichier. 

Le tableur 

Forces 

Maniement comrnode de groupes de 
rangees. colonnes ou cases. 



Possibilite de faire apparaitrc ct d'im 
primer le tableau des formules de 
calcul, de trier en ordre alphanumeri- 
quc ou numerique dans une co- 
lonne, de rechercher une case par 
son contenu (alphabetique) 
Et bien entendu, fonctions "cou 
per/coller" et impression sur "clip 
board", ainsi que possibilite d'utiliser 
un format DIF (en entree et en sor 
tie). 

Faiblesses 

Pas de ligne de rappel des comman- 
des disponibles (i! faut passer par 
"help") et pas de "help'* pour les 
fonctions de calcul. 
Dans la duplication des formules. 
"no change" en option par defaut 
(chacun sait qu'on utilise beaucoup 
plus souvent "relative"'). 
Pas de fonction de consolidation de 
plusieurs tableaux. 

Synth ese. 

Un nouveau tableur. qui a pris beau- 
coup des fonctionnalites apparues 
progressivement dans ce domaine 
depuis "Fancetre" Visicalc. II est tou- 
tefois fort regrettable que les auteurs 
n'aient pas cru devoir y adjoindre 
une fonction de consolidation. 
Pai dilleuis, rnemes observations que 
pour le gestionnaire de fichiers en ce 
qui concerne r aspect d'integration. 

En resume 

Appleworks est probablement proche 
de ce qu'on peut faire de mieux en 
maLieie de loyiciel inleyie, comple 
tenu de la capacite et des performan- 
ces de !* Apple ''e, meme si quelques 
details irritenL 

II serait interessant de le comparer de 
fagon detaillee a Jane, autre logiciel 
inleyre pour la meme machine, fonc- 
tionnant selon le principe. cher a 
Apple, de la souris graphique exploi- 
tant un jeu d'icones. Jane possede 
en outre une gestion multifenetres. 

Forces 

Avant tout, d'honnetes possibility 
d'integration entre trois logiciels : 
passage tres simple entre des taches 
de meme type, asses simple entre ta- 
bleur ou gestionnaire de fichiers et 
traitemenl de texte. un peu plus 
complique et moins eomplet entre 
gestionnaire de fichiers et tableur 
Fonctions communes (gestion de dis- 
que et de fichiers. hard copy. 
' help".... ) pratiques et efficaces. 
Tres bonne standardisation des 
commandes des diverses composan- 
tes. 



Pom's n° 14 



23 



S'agissant de chanin des logiciels ; 
Traitement de texte assez classique. 
avec de bonnes facilites pour desi- 
gner des zones de travail et de norn- 
breuses options d'impression. 

Gestionnaire de fichiers presque 
identique a Quick File, simple d'ern 
ploi, souple et efficace. avec confec- 
tion d etats aisee. 

Tableur proposant une bonne syn- 
thase des realisations dans ce do- 
rnaine. avec une gestion commode 
par groupes de llgnes. colonnes ou 
cases. 

Faiblesses 

On peut regretter (mais 1'Apple //e 
est ce qu'il est), qu'il n'y ait pas une 



Un traitement de texte. un tableur et 
une base de donnees reunis dans le 
meme programme, sur la meme dls- 
quette. avec des ponts permettant de. 
passer d'unc application a 1' autre. 
Une des premieres applications de la 
"souris". utilisable sur Apple II. II -K 
' e et tic, voici Jane, un logiciel a la 
presentation yeniale. mais dons le ra- 
rnage rfegale pas tout a fait, helas. le 
plumage. II a etc ecrit par deux pcrits 
yenies de 21 ans dont Tun. Howard 
Marks fit ses etudes secondares che? 
nous, au Lycee Janson de Sailly de 
Paiis. Ce deLail n'est pas inutile : il 
explique pourquoi ce programme de- 
veloppe aux Etats Unis (la societe 
distributee a ere creee avec les 
fonds d'une societe d' exploitation de 
casinos) est aussi parfaitement fran- 
cise. 

Ce n'est pas la moindre des qualites 
d'un logiciel parfaitement "bluffaiiL" 
D'abord un mot sur son aspect phy- 
sique Avouons-le tout de suite, cette 
Jane-la est diabiement seduisante. 
Apres une demonstration bien 
rnenee. il est difficile de ne pas cra- 
quer pour la belle... 
Le mannel representerait ce qu'on 
peut attendre de mieux d'un manuel 
(clair. illustre d'exemples et de des- 
sins) s'il n'etait parfaitement inutile 
Jane est en effet livre en quatre dis- 
quettes. L'une est une auto-demons- 
tration parfaitement menee et qui 
donne envie de prendre de suite la 
souris en mam. La seconde (de cou- 
leur grise) est la disquette systeme. 
Le coeur du logiciel. La troisieme 
(noire) est une disquette de donnees. 
qui ronrient aussi des exemples et 
des utilitaires. La derniere (jaune) est 
la disquette d'aide. A chaque fois 
qu'il en est besoin. le programme de- 
mande d'inserer la disquette neces- 
saire dans le second drive en la desi- 
gnant par sa couleur (avis aux 
pirates). Si ce n'est pas la bonne, it 
insiste... 



option "coupercoller" generalisee 
entre les trois logiciels qui composent 
Appleworks. On peut eqalement re- 
gretter qu'al n'y ait pas un quatrieme 
logiciel. un editeur graphique. Notons 
toutefois que le format DIF permet 
theoriquernpnt d'utiliser Visicalc. Mais 
ce dernier fonctionne sous DOS 
3.3... 

Nous avons connu a plusieurs repri- 
ses des problemes de sortie irreme- 
diable du logiciel. avec perte du der- 
nier travail execute, lors de P utili- 
sation de certaines options d'impres- 
sion. 

Pour chacun des logiciels pris indivi- 
duellement : 

Traitement de texte dans lequel on 
aurait aime* rctrouvcr le glossaire 



Mais, c est une fois la disquette sys 
teme dans le lecleur et 1' Apple sous 
tension que le feu d' artifice 
commence. Jane utilise iconcs et 
souris comme Macintosh: a propos 
de souris. un detail important : la 
derniere version de Jane fonctionne 
avec la soui is d" Apple, et meme. 
pour ceux qui en sont encore demu- 
nis -les possesseurs d' Apple II. 11+ et 
//e apprecieront-. avec un simple 
joystick (il faut alors reconfigurer la 
disquette grise). Les iconcs. confor 
mes a ce nouveau lanyage dont raf- 
folent les habitues des aeroports in- 
ternationaux. sont plutot bien 
reussies et different selon les applica- 
tions (celles de la base de donnees 
sont les rnoins claires}. On trouve. 
comme dans le Mac. une poubelle 
pour la destruction de fichiers. Et. 
comme avec le Lisa, une petite mon 
tre vous fail patienier lors des acces 
du logiciel a la disquette. 

Le premier probleme e'est. helas. 
que cette montre est bien neces.saire 
Les acces disquettes sont frequents et 
tents. Une fois qu'on designe un dos- 
sier a ouvrir en cliquant la souris. il 
faut par exemplc une bonne dizairie 
de secondes avant d'y avoir acces. 
C'est le prix a payer pour voir s'affi- 
cher sur le moniteur cVun Apple la 
replique de l'ecran de Mac tout en 
vert (ou presque). A partir de la. on 
deplacc sa fenetre sur l'ecran. on 
ouvre de nouveaux dossiers ou de 
nouvelles applications (on peut en- 
tasser jusqu a quatre dosssiers sur le 
"bureau"). On peut rrimbaler un ele- 
ment d'une application vers une 
autre, inserer par cxemple une liste 
de chiffres du tableur dans le traite- 
ment de texte (gracp aux iconps "ci- 
scaux". "camera" et "pot de colle ') 
plus facilement. il faut le reconnaitre. 
que dans Applewnrkc ['autre pro- 
gramme "integre" vendu. quant a 
iui. par Apple. On 1'aura compns. 



d'Applewriter. La justification des 
textes est traitee de fagon un peu 
sornmaire. 

Gestionnaire de ficliiers un peu limiie 
(comme Quick File) dans la structure 
des enregistrements. et sans controlc 
d' en trees. 

Tableur auqucl manque essentielle- 
ment la fonction de consolidation 
entre divers tableaux. De ce cote, 
pas de progrcs par rapport a Visicalc. 



En synthese 

Line note BIEN. mais il manque rela- 
tive ment peu de choses pour en faire 
une note TRES BIEN. 

■ 



tous ceux qui ne se sont jamais servis 
d'un tableur. d'un gestionnaire de fi 
chiers ou d'un liaitemenL de lextes 
(beaucoup de nouveaux possesseurs 
d' Apple ffc se reconnaTtront dans ce 
poitiait) seiont a la fete. Avec toute- 
fois une nuance : la frequence des 
acces disquette necessite plus que 
poui tout aulre logiciel un second 
drive. 

Pour les autres. les veterans d'Ap- 
plewriter, les Multiplanistes (-pla- 
neurs ?) chevronnes et les CX-Multi- 
gestionnaires rnnfirrnpf; Jane r<?le- 
vera plus du jeu de societe que de 
I'ouril de travail. Resumons en vrac : 
un traitement He rextp ne pouvant af- 
ficher (a condition d'avoir cnoisi les 
plus petits caracteres ecran) que 70 
colonnes. Toubli" d'un glnssairp. t>i 
un choix de codes d'impression etri- 
que: un gestionnaire de fichiers dont 
les rubriques sont limitees a ca- 
racteres et le total des informations 
par saisie (rubriques comprises! a 
250 caracteres i in tableur qui ne 
permet guere que de calculer un 
budget familial, sans pouvoir bien sur 
Her des feuilles entre elles safts nn- 
merotation des colonnes et avec un 
choix d'operations "riquiqui"... 

Pas besoin d'epiloguer. les createurs 
de Jane le reconnaissent eux-memes. 
leur programme ne vise pas les 
"pros". Ceux qui passeraient outre 
risquent la deception, et accuseront 
ce programme "bluffant" de tricherie. 
lis n'auront pas tout a fait raison. Car 
le merite de Jane, e'est d" ouvrir ce 
bon vieil Apple II aux techniques 
"d'avant-garde" de I integration, des 
souris et des fenetres. En fait de fe- 
netre. celle qu ouvre Jane sui 1 cive- 
nir est un aperitif tentateur. On se 
prend a rever d'un logiciel de meme 
principe tournant sur un Apple II 

muni d'un nouveau processeur 1.6 
bits (le 65816. par exemple. sur le- 
quel travaille Steve Wozniak voii la 
rubrique Micro-intormationsl et d une 
memoirt? portee a 512 K. II n'aurait 
guere a enviei a Lulus 1-2-3 "le ma- 
gnifique". Et si c etait pour clemain ?■ 
Poiri'a if 14 



Jane : la sauce Macintosh 

Jean-Michel Gourevitch 



Amper-interpreteur ICARE 

Pascal Cantot 



^Applesoft est pauvre. cest en- 
tendu, mais si Ton en juge par toutes 
les greffes qui lui ont deja ete faites 
par le biais de l'ampersand (&), il 
semble bipn que, finalement, on ne 
prete pas qu'aux riches... 

ICARE est un amper-interpi eteui 
assez complet, dont Tidee m'a ete 
inspire? par le programme "Print 
Using & Friend" de CALL 
A.P.P.L.E., et par le fameux "Haifa" 
publie dans Pom's numero 5. 
J ai ainsi voulu reunir dans un seul el 
meme programme de nombreuses 
routines, dont certaines ont ete em- 
pruntees a larticie de CALL 
A.P.P.L.E. deia mentionne. d'autres 
a Pom s, ou que j'avais developpees 
pour mes propres besoins. On dis- 
pose de cette facon de multiples ins- 
tructions nouvelles en Applesoft, en 
meme temps et avec un point d'en- 
tr£e unique. I! n'est done plus neces- 
sairp dp se preoccuper des proble- 
mes de compatibilite entre les 
differentes routines, ni de jongler 
avec les disquettes et les fichiers pour 
charger en memoire celles dont on a 

besoin. 

Nous examinerons d'abord les diffe- 
rentes instructions disponibles et leur 
syntax.*;, avanl de voir comment met- 
tre en oeuvre ICAKL. 

Les instructions 
d'ICARE 

PRINT USNG > 

& PRINT USNG > chame;exp 

(exp designe une expression numen- 

que) 

Exemple : 

Si A = 1234.56, 

& PRINT USNG >" .0CT;A 
dnnne 123456 

& PRINT USNG >"000000.00";A 
donne 001234.56 

& PRINT USNG >" , .00":A 
donne 1.234.56 

& PRINT USNG >-$ ,00':A 
donne $1234 56 

& PRINT USNG > "Total = 
. S.OO": A donne: Total = 
$1,234.56 

Si A = 9506789. 

& PRINT USNG > "Martin: 

A donne . Mai tin : 950-67-89 

Auteur: Craig Peterson - CALL 
A.P.P.L.E. 

NOISE 

& NOISE expl,exp2 

Produit un sun dunt la duree et la 



hauteur ( sont donnees par expl et 
exp2, 1'une pt 1'aufrp Hp.vant etre 
comprises entre et 255. 

Auteur : Craig Peterson - CALL 
A.P.P.L.E. 

WAIT 

& WAIT exp 

Attend "exp" dixiemes de seconde. 
Auteur : Craig Peterson - CALL 
A.P.P.L.E. 

SWAP > 

& SWAP > variable l.variable2 

Echange les contenus des variables 
"variablel" et "variable2", qui doi- 
vent erre dp meme type. Par exem- 
ple ; & SWAP > A$.B$ 

Auteur : Craig Peterson - CALL 
A.P.P.L.E. 

GOTO calcule 

& GOTO exp 




Execute un GO JO a la ligne dont le 
numero est donne par le calcul de 
"exp". Par exemple, si A=100, & 
GOTO A/2 est equivalent a GOTO 
50 (voir INTEGER BASIC). 

GOSUB calcule 

& GOSUB exp 

Execute un GOSUB selon les memcs 
regies que pour le GOTO calcule 
(voir INTEGER BASIC). 

DEL ARRAY > 

& DEL ARRAY > nom de tableau 



BELL 

& BELL exp 

Produit un son de cloche dont la 
duree est donnee par la valeur de 
"exp" qui doit eUe comprise entre 
et 255. 

RPT PRINT 

& RPT PRINT chame.exp 

Affiche "exp" fois la chaine (la valeur 
de exp doit etre comprise entre et 
255). 

PLAY 

& PLAY expl,exp2 

Joue une note de hauteur "expl" et 
de duree "exp2". II est possible dp 
donner plusieurs notes, mais il faut 
alors separer les couples note/duree 
par des ":" Par exemple : 
& PLAY 192.0 : 172,0 ; 152,0 ; 
144.0 : 128,0: 115,0 ; 102.0; 96.0 
joue 1 octave 1. 

Pour les octaves plus aigues, il suffit 
de dlviser par 2 a chaque octave, et 
pour obtenir les dieses, il faut faire la 
moyenne des deux notes adjacentcs. 

REG 

& REG 

he le contenu des rcgistres du 



BKGND 

& BKGNDexp 

Met tuus les octets de la page HGR 
courante a "exp". Par exemple. & 
BKGND255 blanchit la page cou 
rante (page 1 par defaut). 

HINV 

&HINV 

Inverse la page HGR courante (page 
1 par detaut). 

SYS 

& SYS 

Passage en mode moniteur (equiva- 
lent a CALL -151). 

MOVE 

& MOVE expl.exp2 TO exp3 

Fait executer la commande MOVE 
du moniteur et deplace a Tadresse 



Efface en memoire le tableau dont le " exp3" la zone de memoire comprise 
nom est precise dans rinstruction entre les adresses "expl " et *'exp2". 



(par exemple. 8c DEL ARRAY >A$ 
detruit le tableau A$h Le tableau 
peut etre de iVimporte quel type, 
mais il doit absolument exister. 

Auteur : Craig Peterson CALL 
A.P.P.L.E. 



Acces direct a la disquette 

& BUFFER = exp 

Selectionne la page du buffer qui 
sera utilise par RWTS dans les 
commandes de lecture / ecriture. Par 



Pom's n° 14 



e&ernpte, avec & BUFFER = 32. le 
buffer commence en 32 * 256 = 
8192. La valeur par defaut est $96. 
SOit le premier buffer du DOS avec 
MAXFILES 3. 

& READ P.S 

Lit le secteur S de la piste P dans le 
buffer. Le lecteur utilise esl le dernier 
lecteur selectionne par une com- 
mando DOS. 

& WRITE P,S 

Recopie le contenu du buffer sur le 
secteur S de Iq piste P. Meme remar- 
que que ci-dessus en ce qui 
concern*? le lecteur utilise. 

RESTORE 

& RESTORE exp 

Ajuste le pointeur de DATA au debut 
de la ligne dont le numero est donne 
par "exp" tin message d'erreur est 
envoye si la ligne n'existe pas ou ne 
contient pas de DATA. 

SUPER PRINT 

ICARE reserve une place pour Tim- 
plantation dc la routine dc SUPER 
PRINT de Denis Sureau publiee dans 
le Pom's 9. Vous trouverez dans la 
dcuxiemc partic dc l'article la procc 
dure a suivre pour joindre cette rou- 
tine aux autres. 

Si elle est implantee. la syntaxe de 
T instruction est : 

& SUPER PRINT:A$.X,Y+Zxhaine 
PRINT AT 

& PRINT chame AT H.V 

Affichc Ic contenu de la chaine a la 

colonne H de !a ligne V (H de 1 a 

40 et V de 1 a 24). Cette instruction 

ne modifie pas la position du cur- 

seur. 

GET 

& GET X 

Remet ie clavier a zero, attend 
qu'une touche soit pressee et met 
son code (infericur a 128 bit 7 a 0) 
dans X. Peut etre utilise en mode di- 
rect. 

TORTUE 

ICARE reserve egalement la possibi- 
lity d'implanter la Tortue de Jacques 
Duma publiee dans le Porn s 6 (voir 
seconde partie pour le mode opera- 
tone), 

La syntaxe dc cette commando est 
alors : 

& DO [ instruction ] 
Pour la description des instructions 
de la Tortue. se reporter au Pom's 6 
ou au Recueil 2. 

Touches de fonction 

& XFUNCT 

Initialise le programme de touches de 



fonction qui devie la routine d'entree 
de caracteres. Pour obtenir ensuite 
les fonctions, il faut appuyer simulta- 
nement sur "Pomme Ouverte' ; 
(Apple //e ou //c) ou sur un bouton 
de manette de jeu (Apple II -f-). et sur 
la touche concernee. 
En cas de Reset, le programme est 
deconnecte. Chaque touche "pom- 
mee" est ac.compagnee d'un "hip" 
Attention, 1' instruction & XFUNCT 
deconnecte la routine HCURSOR 
qui permet d'avoir un curseur visible 
en HGR (voir plus loin). 

Les touches de fonction disponibles 
sont les suivantes : 



• S'il s'agit d'un chiffre n, le pro- 
gramme va adresser le commuta- 
teur d'affichage situe a l'adresse 
$C050 + n. 

• CTRL-1 : envoie 8 espaces. 

• #: envoie N ED24G "RETURN" 
(conversion hexadecimal deci- 
mal). 

• % : fait afficher la valeur de 
LOMEM. 

• " : fait afficher la valeur de 
HIMEM. 

• * : fait entrer en mode moniteur. 

• /: execute TEXT: HOME "RE- 
TURN". 

• = : affiche COLOR = 

• C : envoie CATALOG 

• G : envoie GR 

• 1 : fait afficher INPUT 

• L : fait afficher LOAD 

• N: fait afficher NEXT 

• R : fait afficher RUN 

• T : fait afficher & DO[ 

• W : fait afficher & WAIT 

• Z : fait afficher &CIRCLE = 

• ] : fait afficher &NOISE 

• Del : recule le curseur en effacant 
le caractere precedent. 

• !: execute TEXT: NORMAL 

• $ ; fait afficher CHR$< 

• . : affiche HPLOT 

• < : affiche PEEK( 

• > : affiche POKE 

• B : affiche BRUN 

• E: affiche HOME: POKE 33.28: 
LIST 

• H : envoie HGR 

• K : affiche POKE -16368.0 : 

• M : affiche MID$( 

• P . affiche PRINT 

• S : affiche SAVE 

t LI : affiche & PRINT IJSNG > 

• X: affiche & XC1RCLE = 
t [ : affiche & PLAY 

CIRCLE 

& CIRCLE = X.Y.R 
Trace un cercle de rayon R et de 
centre de coordonnees X et Y. Les 
points en dehors de I'ecran sont 
ignores. La valeur de R doit etre ab- 
solument positive. 

Auteur : Dominique Bernardi - Pom's 
12. 



XCIRCLE 

& XCIRCLE = X.Y.R 

Comme precedemment. mais le cer- 
cle est rempli auec la couleur cou- 
rante. Le trace de points en dehors 
de I'ecran donne un resultat bizarre... 

Hard-Copy 

& HARDCOPY 

Recopie l ecran texte sur impnmante. 
Les caracteres en INVERSE et 
FLASH sont recodes. La routine ne 
foncbonne toutefois correctement 
que sur une Epson equipee d'une in- 
terface Epson. 

PLOT AT 

& PLOT exp AT X,Y 
Envoie sur I'ecran texte le caractere 
dont le code-ecran est donne par 
"exp", et re. a la position X-Y (X de 
a 39 et Y de a 23). 

HGR PRINT 

& HGR PRINT 

Connecte la routine de sortie de ca 
racteres HGR qui permet d'ecrire en 
page HGR avec des caracteres gra- 
phiques comme on ecrit en page 
TEXT. II faut utiliser une table de 96 
caracteres graphiques (une table de 
Haifa, par exemple) dont l'adrcssc 
de debut doit etre placee en 206-207 
(ce qui permet dp placer la table elle- 
meme n'importe ou en RAM). 
La table etant chargee. il suffit de 
faire HGR ou HGR2 apres & HGR 
PRINT pour ecrire en graphiquc. 
sans perdre pour autant "le contact" 
avec le moniteur et 1' Applesoft : les 
commandes sont toujours interprc 
tees et vous pouvez. si vous le desi- 
rez, programmer en Gothique ou en 
Hebreu... 

NORMAL PRINT 

& NORMAL PRINT 
Deconnecte HGR PRINT. 

TYPE 

& TYPE exp 

Definit la facon dont les octets sont 
envoyes vers la page graphique. Si 
on designe par T un octet de la table 
de caracteres et par E 1" octet de 
I'ecran qui se trouve a la position ou 
Ton va ecrire T. les differentes va- 
leurs possibles pour "exp" corres 
pondent a : 

: affiche T 

1 : affiche T ORA E (DRAW) 

2 : affiche T AND E 

3 • affiche T FOR F (XDRAW) 
1 : laisse E (pas d'affichage) 

SCROLL 

& SCROLL expl.exp2 

Scrolling HGR dans les limitcs dc la 

fenetre. "expl" determine la direc- 



Pom's n° 14 



tion et '"exp2" le code des octets qui 
vont combler le vide. Les valcurs 
possibles pour "expl" sont . 

1 : gauche 

2 ■ droits 

3 : bas 

4 : haut 

HOME 

& HOME 

Efface la page HGR courante dans 
les limites de la fenetre et positionnc 
le curseur en haut a gauche- 
Definition de caracteres 
graph iques 

& Dtt CHR$ (X) # expl. exp2 ... 



Redefinit le caractere dont le code 
ASCII est X (65 pour "A", par exem- 
ple) ayec. dans l'ordre, les valeurs 
expl " ... "exp8". II est possible dp 
donner moins de 8 valeurs (le carac- 
lere ne sera alors pas en Cerement 
defini) ou plus de 8 (les caracteres 
suivants dans la table seront alors 
egalement modifies). 
Cette commands est A utfliser dans le 
mode HGR PRINT et les nouveaux 
caracteres seront directement implan- 
tes dans la table courante 

USER 

& USER 

Execute un JMP " (CALL 

768) et permet a Tutilisateur ne pos 
sedant pas d'assembleur d'ajouter 
des commandes a ICAKE en implan- 
tant directement un code objet a par- 
tirde l'adresse $300. 

POKE 

& POKE adresse.exp 
Permet de POKEr une adies.se sui 
deux octets. Par exemple. & POKE 
206.16384 met en 206-207 1'adressc 
de debut d'une table de caracteres 
graphiques situee en $4000 (16384 
en decimal). 

PEEK 

& PEEK 

Revectorise la fonction USR vers une 
routine permettant de lire un PEEK 
sur deux octets. Par exemple. 
"PRINT USR(206)" apres initialisa- 
tion par & PEEK permet de connaT- 
tre l'adresse de la table de caracteres 
graphiques courante. 

Utilisation de la routine 
S.H.LAM 

& EXEC * "commande monlteur" 
Permet de faire executer des Instruc- 
tions moniteur a parnr de I' Applesoft, 
et par le biais de la routine 
S.H.LAM. plus facilement que pai 
lecture de DATA, suivie de POKEs et 
d'un CALL -144. 

Par exemple, & EXEC *"300<8000. 



8040M" provocjuera un MOVE de la 
portion de memoire comprise entre 
les adresses $8000 et $8040 a 
l'adresse $300. 

Utilisation de ICARE 

Pour initialiser ICARE, il suffit de 
faire un BRUN du code objet, ou de 
charger ce dernier en memoire et de 
faire "CALL 32768". Apres initialisa- 
tion du vecteur ampersand et de 
divers registres, 3a mam vous est ren- 
du# all niveau de l'Applesoft en 
mode direct. ICARE se charge a par- 
tir de l'adresse $8000 et place iui- 
meme le H1MFM en dessous de cette 
valeur. 



est reserved a ('implantation even- 
tuelle du code de la routine de 
SUPER PRINT. 

De $86FD a S886D : code a re- 
prendre tel quel. 

Le trou entre $886E et $8C74 est 
reserve a l'implantarion du code 
de la TORTUE. Une partie de ce 
code doit toutefois etre obligatoire- 
ment entree en machine car elle 
est utilisee par d'autres instructions 
de ICARE. Le code correspondant 
est a placer aux adresses $8AD1 a 
8AE3. Ces adresses sont identi- 
ques a celles qu occuperait la rou- 
tine concernee si Tensemble du 
code de la TORTUE etait impiante 
dans ICARE. 




Compte tenu de ses dimensions, il 
n'ast pas possible de lister dans la 
revue lintegralite du programme 
source (realise en assembleur BIG 
MAC - MERLIN, version 64K}. 
Vous trouverez toutefois ci-apres la 
liste de deux routines importantes 
dont je pense pouvoir affirmer le ca- 
ractere original. HGR PRINT et la 
routine de touches de fonction. Sur 
la disquette de ce numero de Pom's, 
ces deux routines se trouvent dans le 
fichier source ICARE II. 
Le trone-commun de F assemblage, 
qui contient la definition des etiquet- 
tes qeneraies et appelle les deux 
autres parties du source, est egale- 
ment liste. II se nomine ICARE 3. l.S 
sur la disquette. 

En ce qui concerns le code-objet, 
I' ensemble de la recapitulation vous 
est donnee, a I" exception des routi- 
nes deja publiees dans Pom's 
(SUPER PRINT de Denis Surcau et 
TORTUE de Jacques Duma). 
Comme il se divise en plusieurs 
blocs, quelques precisions peuvent 
etre utiles a sa bonne exploitation, si 
vous souhaitez le rentrer en machine 
a la main : 

• De $8000 a $8645 : code a re- 
prendre tel quel. 

• Le "trou" entre $8646 et $86FC 



• De $8C75 a S90B2 ; code a re- 
prendre tel quel. 

• Le trou entre $90D3 et $9252 
correspond a une table utilisee par 
ICARE; la valour initiale des adres 
ses de cette table n'a pas d'tmpor- 
tance et vous pouvez done sauter 
directement a la suite du code. 

• De $9253 a $94F5 : code a re- 
prendre tel quel. 

Implantation de SUPER PRINT 

II suffit de mettre en memoire a partir 
de l'adresse $8646 les codes corres- 
pondant aux hgnes 55 a 18i du pro- 
gramme source publie dans Pom's 9 
(SUPER PRINT est relogeabie). 

Implantation de la TORTUE 

Lc programme original a ete publie 
dans le Pom's 6 et dans le Recueil 2 
II but vous y reporter et lui apporter 
les adaptations suivantes : 

• Remplacer la derniere partie 
"Suite de I' instruction &" pai le 
programme "Suite instructions" 
lisfe ci-apres 

• Supprimer les lignes 65 a 90 du 
source onqinal. 

• Mettre "ORG $886E" et assem- 
bler le nouveau source ainsi COns- 
titue. 



Pom's n c 14 



27 



as 

99 



Le code objet resultant de ces adap- 
tations doit ensuite etre place aux 
adresses $886E a $8C74. 

Les fichiers ICARE sur 
la disquette Pom's 

Fichiers Source 

- 1CAKE 3.1.5 : tronc commun (voir 
listing), appelle ICARE 1 et ICARE IL 

— ICARE I : regroupe toutes les rou- 
tines autres que HGR PRINT et les 
touches de foncliuiL Ct; fichier 
contient des instructions "US" pour 
reserver la place de SUPER PRINT 
et TORTUE lors de I'assernblaye. 
Vous pouvez bien sQr remplacer ce!a 
par les sources de ces deux routines : 
lignes 55 a 181 du source original 
pour SUPER PRINT, et a partir de la 
ligne 91 pour TORTUE (avec route 
fois la modification deja siynalee 
pour la demiere partie "Suite instruc- 
tions"). 

Si vous desirez effectivetnent remet- 
tre ces deux sources, veillez cepen- 
dant a redonncr aux etiquettes utiii 
s6es dans les originaux les noms des 



etiquettes generates definies dans 
ICARE 3.1 iorsque ces noms diffe- 
rent. 

ICARE II : reprend HGR PRINT et 
les touches de foncQon. 

Pour assembler ICARE avec BIG 
MAC version 64K. les etapes sont les 
suivantes : 

- Doad de ICARE 3.1 

- Une fois dans rediteur'assembleur, 
tapez ASM ct repondez "N" a la 
question "UPDATE SOURCE 

- L'assembleur chargera a partir de 
la disquette les fichiers TEXT ICARE 
I et ICARE II en function de ses be- 
soins. L'assemblage complet dure 4 
a 5 minutes. 

Fichier Objet 

ICARE 3.1 correspond a l'assem- 
blage des trois fichiers source et au 
code liste dans la revue (les "trous" 
sont blen stir occupes, mais ne 
contiennent pas de codes significa- 
tifs). 

Pour rajouter SUPER PRINT et 



TORTUE a ICARE, vous pouve? 
done, soit remettre directement les 
codes correspondant dans le code 
objet. soit remettre les fichiers sour- 
ces adaptes de ces deux routines 
dans le source de ICARE (voir ci- 
dessus) et re-assembler le tout 

Le programme de demonstration 
eydleiiient lisle iu vous dvnneia une 
vue synthetique de I utilisation de 
LCARE (il doit etre lance apres initia- 
lisation du sysleine). Pout l'exploiter 
dans la version reduite, vous devrez 
supprimer les appels a la Tortue (& 
D0[> et a SUPER PRINT. En parti- 
culier. vous pouvez remplacer la 
ligne 12 par "12 HGR2", enlever 
Lous les aulies "& DO[" et rajouter 
une ligne "280 END". Le code 
POM'S. CHARSET correspond au 
contenu d'une table de caiacieieb 
graphiques utilisee dans le pro- 
gramme de demonstration et que 
vous pouvez prendre comme base, 
par exemple. pour definir d'autres 
caracteres par DEF CHR$. 



Programme DEMO ICARE 

5 TEXT : HOME 

8 HIMEM: 30719 

9 LOMEM." 24577 

10 DS = CHRS f4): PRINT DS"BLOAnCHARSET 

,AS7800": PRINT DS"BLOADPOK'S.CHA 
RSET .AS7B00" 

12 & DO"IlS: & DO" I2S 

13 & POKE 206,31488 
17 & HGR PRINT 

16 & TYPE = 

20 FOR I = 1 TO 12: & PRINT "ICARE 

u AT 15,1 
25 & PLAY I » 10,32 
27 & WAIT 2 

30 & PRINT " " AT 15,1: NEXT 

35 VTAB 13: HTAB 15: PRINT "1 C A K E" : 

PRINT : HC0L0R= 3 
37 HPLOT 92,92 TO 172,92 TO 172,108 TO 
92.108 TO 92,92 

36 HPLOT 93,93 TO 171,93 TO 171,107 TO 

93, 107 TO 93,93 
40 & D0-P116,100,0;B3S 

45 & WAIT 10: & HINV: & N0ISE0,0: & HI 

NV 

46 FOR 1=3 TO 4: HC0L0R= I: FOR J - 4 

5 TO 90 STEP 5: 6. CIRCLE = 132,10 
0,J: & NQISE50,50: NEXT : NEXT 

50 & WAIT 5: FOR I =■ 1 TO 5: & 3CR0LL4 

.0 

51 6. PLAY64,64 

52 NEXT 

53 & WAIT 5 

55 & BKGND171: & PRINT " 

AT 14,8: & TYPE = 3: FOR I = 1 TO 
8: & PRINT "I C A R E" AT 15,8: 
6, PLAY32,64: NEXT 
60 & TYPE = 

65 POKE 34,10: POKE 35,13: POKE 32,1: P 
OKE 33,38: & HOME 



70 & POKE 206,30720: VTAB 12 

72 AS = " ICARE - Amper-interpreteur App 

lesoft": GOSUB 500 
75 & TYPE = 3: FOR 1=1 TO 10: VTAB 12 

: HTAB i; PRINT ■■■■■■■■■■■■■■■■ 

■■■■■■■■■■■■■■■■■■■■■■";: & NOISE 

96,255: NEXT 
77 & TYPE = 

SO AS = » Par Pascal CANTOT 

GOSUB 500 

82 AS = " ••«»»*#» PROGRAMME DE DEMON 

STRATION" : GOSUB 500 
84 & WAIT 20: & NOISEO,0: & HUME : PR 

INT '" Co court programme va vou 

s donner un opercu des possibili 

tee d' ICARE. 
86 £, WAIT 20 

100 POKE 34,0: POKE 35,24: POKE 32,0: P 
OKE 33,40 

105 & D0'I3S; HC0L0R= 3: VTAB 24: & PO 

KE 206,31488: HTAB 12: PRINT "CIR 

CLE et XCIRCLE" 
10d FOR J = 3 TO 4: HC0L0R= J 
110 X = 5: FOR I = 3 TO 57 STEP 3: & CIR 

CLE = X,96,I:X = X * I / 3: NEXT 
115 & WAIT 10: NEXT 
120 POKE 35,22: & WAIT 10: £. HOME 
125 I = 50 ; FOR J = 7 TO STEP - 1 : HC 

OLOR= J: & XCIRCLE = 140,90,1:1 = 
I » .75: NEXT 
127 6. WAIT 10 

130 & XCIRCLE = 140,90,51: HC0L0R= 3 
132 & XCIRCLE = 140,90,50: HCOLOR= O: & 

XCIRCLE = 155,90,40 
135 POKE 35,24: & WAIT 10 

141 & WAIT 1 

142 & PLAY128,64;108,64;115,64;115 1 ,64;1 

28,0 

150 & D0'I3;B3S 

155 VTAB 24: HTAB 10: PRINT "TORTUE AMP 
ER3ANU";: HOME : POKE 3b, 22 



28 



Pom's n 6 14 



158 

160 



162 
163 
165 

169 
170 



172 



173 
175 



180 

184 
165 



ISO 

135 
197 
200 



210 
212 



215 
220 
230 
232 
235 
240 
242 
244 
250 
235 
260 
270 
297 
300 

305 

307 
310 



- 15 

= 1 TO 6: & 
DCTT12S: NEX 



FOR K = 35 TO 20 STEP 
FOR I = 1 TO 30: FOR J 

D0'AK:T6O§: NEXT r & 

T 

NEXT 

& M0VE8192, 16383 TO 16384 
& WAIT 20:1 = FRE CO) : FOR 1=1 
TO 31: £, HIWV: £, BELL20: NEXT 
T = FRE <0> :T - 
& WAIT 10: FOR I = 1 TO 700: POKE 
- 16299, 0:T = T ♦ T » T: POKE - 
16300, 0:T = T + T * T: NEXT 
& TYPE = 0: VTAB 24: HTAB 10: PRINT 
SCROLLINGS " ; : POKE 23 

0,64: HTAB 10: PRINT " SCROLL 
INGS »;• POKE 230,32 

& TYPE ^ 

& HINV: FOR I = 1 TO 25: & SCR0LL2, 
255: & SCROLLS, 255: & PLAY16,16: 
WEXT 

POKE - 16299,0: POKE 230,64: fi. WA 
IT 10 
J = 20 

FOR 1 = 1 TO 20: POKE 32,0: POKE 33 
,J: & SCROLL 1,0: POKE 32,20: POKE 
33,20: & SCR0LL2,0: fi. PLAY16,16: 
J - J - X; NEXT 

POKE 32,0: POKE 33.40: POKE 34,0: P 
OKE 35,24: HOME 

& NORMAL PRINT 

VTAB a 

INVERSE : & RPT PRINT a: VT 

AB 18: & KPT PRINT "++♦++". 8: NOR 
MAL : FOR 1=8 TO 17: £, PLOT 43 
AT 0,J; «, PLOT 43 AT 39,1: NEXT 



IF VAL ( MID£ <Aff 
PLOT 32 AT J + 5, 



- 16303,0 
RESTORE 9100 



& RESTORE 9000 

FOR I = 9 TO 15: READ AS: FOR J 
TO LEN (AS): 
,J,1>> THEN & 
1 

NEXT : NEXT 
POKE - 16300,0: POKE 
FOR I = 1 TO 3: & 
& WAIT 5 

FOR J = 1 TO 69: READ N,D 
D = D • 1.5: IF D > 255 THEN D = O 
IF I = 2 THEN N = N » .75 
IF I = 1 THEN N = N * 1 . 25 
& PLAYN , D 

FOR P = 1 TO 40: NEXT 

NEXT 

NEXT 

& HGR PRINT : & POKE 206,30720 
& DO '135: HC0LOR= 3: HPLOT 0,0 TO 2 

79, O TO 279,184 TO 0,184 TO 0,0 
HPLOT 6,7 TO 273,7 TO 273,177 TO 6, 

177 TO 6,7 
& TYPE = 1 : FOR J = 1 TO 2 
FOR I 1 TO 40: & PRINT 
1: & PRINT "+•' AT 1,23: 
2 TO 22: & PRINT 
PRINT 

5 

0: 



AT I, 



NEXT 



AT 



M AT 40,1: NEXT 
INVERSE : NEXT 



OR I 

,1: & 
312 & WAIT 
315 & TYPE 
320 NORMAL 
325 I = FRE (0) 

336 POKE 32,1: POKE 33,38: POKE 34,1: 
OKE 35,22 

335 & POKE 206,31488: & PRINT "I C A 
R E" AT 15,3: & POKE 206,30720 



340 



341 
342 

345 



350 



360 



365 
370 



375 



377 
400 

405 



407 
410 
420 
490 
500 
505 



VTAB 4: PRINT : & SUPER PRINT ;" 
Ceci n'etait qu'une deionstratioi, 
dee possibilitea graphiquea et" 
PRINT "aonorea de 

& POKE 206,31488: & SUPER PRINT ;" 
ICARE": & POKE 206,30720 

& SUPER PRINT ;" Car il en a beau 
coup d'autres, toutes aussi inter 
essantes, en particulier :" 

& GET X: PRINT » - PRINT USNG >»: 
PRINT M - GOTO/GOSUB" : PRINT " - 
READ/WRITE/BUFFER": PRINT M - XFU 
NCT" 

PRINT : & SUPER PRINT Ces inst 

ructions etant diffic?les a ntettr 
e en valeur dans un© 'demo'.", 

& SUPER PRINT ;"De meae. 1' instruct 
ion DEF CHRS, qui est tree puisso 
rite. Helas, je n'ai plus le temps 
d'en faire una 'demo' valable... 

PRINT : & GET 1 

& HOME : & SUPER PRINT ; " En att 
endant, voila un bel utilitaire. 
Et n'oubliez pas: 2 AMPER- TNTERPR 
ETEURS VALENT MIEUX OU'UKf . M 

PRINT : PRINT : PRINT TAB( 15) "Pas 
eal CANTOT" : PRINT TAB ( 20>"23y0 
6/1964" 

PRINT : & GET I 

PRINT : PRINT : HTAB 12: & POKE 20 
6,31468: PRINT "VIVE POM'S !" ; 

FOR I = 1 TO 20: HTAB 17: PRINT " 

";: & PLAY64,32: HTAB 17: PRIN 
T "POM'S"; : & PLAY64,32: NEXT 

& POKE 206,30720 

£. WAIT 50 

& NORMAL PRINT : TEXT : HOWE 
END 



FOR 1=1 TO LEN (AS): VTAB 12: HT 
AB 37; PRINT MIDS <AS,I,1>; & 5C 
ROLLUO: & PLAY11,16: NEXT 
HTAB 36; PRINT " 
VTAB 12: HTAB 37: PRINT " 
530 X = ERE C0>: & WAIT 10 
540 RETURN 

DATA 111001110000100011110011111 
DATA 010O100O10O1O100100O101 
DATA 01001000001000101000101 
DATA 01001000001000101111001111 
DATA 0100100O001111101010001 
DATA 01001000101000101001001 
DATA 111001110010001010001011111 
DATA 128,32,108,64,96,32,86,48,81 , 
16,86,32,96,64,115,32,128,48,136, 
16,128,32,115,64,136,32,172,64 
DATA 128, 32, 108 , 64 , 96 , 32 , 86 , 32 , 81 , 

32,86,32,96,64,115,32,144,48 
DATA 128,16,115,32,106,64, 128,32*1 

36,48.152,16,136,32,128,196 
DATA 72,96,72,32,76,16,86,32,96,64 

,115,32,144,48,128,16 
DATA 115,32,96,64,115,32,144,46,12 

8,16,115,32,108,64 
DATA 128,32,128,48,136,16, 128,32,1 
15 r 64, 136,32, 172,64,72,96,72,48,7 
6,16 

DATA 86,32,96,64,115,32,144,48,128 
,16,115,32,108,48,113,16,128,32,1 
36,32.152,32,136,32,128,196 



510 
512 



9000 
9002 
9004 
9006 
9008 

yoio 

9012 
9100 



3110 



9120 



9130 



9140 



9150 



9160 



Pom's n 14 



29 



1 ****##*»««*****»*««**#•#******■*** 


57 UARNAM 


— 


♦81 


113 GET BYT 


= 


♦F6F8 


2 * 






* 


58 




_ 


♦83 


114 


CON I NT 


_ 


♦E6FB 


3 N 








59 FORPNT 


m 


♦85 


1 1 j 


fiFTNI 1-1 




♦E746 


4 * 1 




1 


* 


60 


LOWTR 


_ 


♦9B 


1 1 A 


mMRYTF 




♦E74C 


5 * 1 


1 CAKE 1 


* 


61 


DPTR 


- 


♦AO 


1 1 7 


GETADR 




♦E752 


6 * 1 




1 


* 


62 


SGN 


= 


♦A 2 


1 18 


FADDH 




♦E7A0 


7 * 






* 


63 


CHRGET 


= 


♦Bl 


119 


FSUB 


= 


♦F7A7 


8 * Par 


Pace a 


CAMTOT 


* 


64 


CHRGOT 


= 


♦B7 


120 


FSUBT 


= 


♦E7AA 


9 « 


Copyright 20/06/1984* 


65 


TXTPTR 


= 


♦B8 


121 


FADD 




♦E7BE 


10 * 






* 


66 


TABLE 


= 


♦CE 


122 


FADDT 


— 


♦E7C1 


11 * Et CALL A 


P.P.L.E. , 


POM'S * 


67 


HPAG 


— 


♦E6 


123 


MUL10 


= 


♦EA39 


1? * 






* 


63 


XBUT 


= 


♦F9 


124 


FMULT 


— 


♦F97F 


1 3 


69 


YBUT 


- 


♦FB 


125 


FMULTT 




♦E982 


14 








70 


TORTCOL 


— 


♦ FC 


126 


CONUPK 


— 


♦E9E3 


13 


ORG 


$6000 




71 


ANGLE 


- 


*FD 


127 


FD1 V 


= 


♦EA66 


16 








72 








128 


MOUFM 




♦EAF9 


17 KEY 


= 


♦6 




73 


NMBR 




♦ 100 


129 


MfR-MF 


= 


♦ EB2B 


18 ERRBYTE 


— 


♦4 




74 


IN 




♦200 


1 30 


MOUFA 


— 


♦EB53 


19 RESULT 


= 


*6 




75 


INTDOS 


= 


♦3EA 


131 


RNDB 


m 


♦EB72 


20 XTORT 


= 


♦7 




76 


AMPV 


= 


♦03H5 


132 


ABS 


= 


♦EBAF 


21 YTORT 




♦y 




77 


DOS 


= 


♦9DBF 


133 


INT 


— 


♦EC23 


22 USR 


= 


♦ OA 




78 RUTS 


— 


♦R7R5 


134 


FOOT 


= 


♦ED34 


73 UALTYP 




♦ 1 1 




79 






135 


NEGOP 


= 


♦EEDO 


24 LONGMAR 


— 


♦ id 




80 


KBD 




♦COOO 


136 COS 


= 


♦EFCA 


25 ADRCOM 


= 


♦ 18 




81 


KBDSTRB 


= 


♦ CO 10 
♦C061 


137 SIN 


= 


♦EFF1 


26 HAUT 


= 


♦ 18 




82 


POME 


— 


138 


PI2 


= 


♦F06B 


27 




♦ 19 




83 SPKR 




♦C030 


139 


HCLR 


= 


♦F3F2 


28 CMD 


= 


♦ 19 




94 








140 


HPLOT 


= 


♦F457 


29 EDSC 


- 


♦ 19 




85 


CHKSTK 


= 


♦D3D6 


141 


HLIN 




♦F53A 


30 EDTL 


■ 


♦ 19 




86 


ERROR 


= 


♦D412 


142 


HCOLOR 


- 


♦ F6F0 


31 EDT 


= 


♦ 1A 




87 


FNDLJN 




♦D61A 


143 


GETARYPT 


= 


♦F7D9 


32 0EBLI6N 




♦ IB 




88 


NEWSTT 




♦D7D2 


144 


REGDSP 


= 


♦ FAD7 


33 SDSC 


= 


tic 




89 


GOTO 




♦D941 


145 


BASCALC 


— 


♦FBC1 


34 FINLIGN 


= 


♦ ID 




90 


ADDON 


— 


♦D998 


146 


DELL 


— 


♦ FBDD 


35 SFLD 


= 


♦ ID 




91 


SAVD 




♦DA9A 


147 


BELL2 




♦FBE4 


36 CNTR 




♦ IF 




92 


SAVSTR 




♦DAA1 


148 


VIAB 


= 


♦FC22 


37 WNDLFT 


= 


♦ 20 




93 


CRDO 


= 


♦DAFB 


149 


MONSCR 


= 


♦FC70 


38 WNDWDTH 




♦ 21 




94 


STROUT 




♦DB3A 


1 50 


RDKFY 




♦ FDOC 


39 UNDTOP 




♦ 22 




95 


STRPRT 


= 


♦DB3D 


151 


KEYIN 


= 


♦FD1B 


40 WNDBTM 


= 


♦ 23 




96 


OUTDO 


= 


♦DB5C 


152 


CROUT 


= 


♦FDOC 


41 CH 


= 


♦ 24 




97 


FRMNUM- 


= 


♦DD67 


153 


COUT 


— 


♦ FDED 


42 CV 




♦ 25 




98 


CHKNUM 




♦ DD6A 


154 


C0UT1 


— 


♦FDFO 


43 HBASE 


= 


♦26 




99 


CHKSTR 


- 


♦DD6C 


155 


MOUE 


= 


♦FE2C 


44 BASF 


=3 


♦ 28 




100 


hWCH 




♦DD76 


156 


SET I NU 


= 


*FE80 


45 DPLC 


a 


♦ IF 




101 FRMEVL 


= 


♦ DD7B 
♦DEBE 


157 GET NORM 




♦ FE84 


46 KSU 


— 


♦ 38 




102 CHKCOM 


= 


158 PRERR 


= 


♦ FF2D 


47 AIL 




♦3C 




103 SYNCHR 


= 


♦DECO 


159 


REST 


= 


♦FF3F 


48 A2L 


= 


♦ 3E 




104 SNTX 


= 


♦DEC9 


160 


SAUE 


= 


♦FF4A 


49 A4L 




♦ 42 




105 PTRGET 


= 


♦DFE3 


161 MONZ 


— 


♦FF69 


50 RND 




*4E 




106 


I GLCTC 




♦C07D 


162 SETV 




♦FF58 


51 LIWUM 




♦ 50 




107 


INT2 


_ 


♦EI 05 


163 


SHLAM 


= 


♦FF70 


52 STREND 




♦6D 




108 


AY I NT 




♦E10C 


164 








S3 HIMfcM 




♦ 73 




109 


ILLQ 




♦El 99 


165 




PUT 


I CARE 


54 CURLIN 




♦ 75 




no 


GIUAYF 




♦E2F2 


166 




PUT 


THARF 


55 DATLIN 


= 


♦7B 




111 


FTED 




♦E625 


167 








56 OATPTR 




♦7D 




112 


GET BYT C 




♦E6F5 


.168 


* I 


C f^, 



1 

2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 

14 

t5 
16 
17 
IS 
19 
20 
21 
22 
23 
24 
« 
26 
27 
28 
29 
30 
31 



« * * * 

* IH G R P R I NTI * 



* <C> Pascal OaWTOT - 20/06/84 * 

• * 
«**««**«*»**«*«*##****#»*«****** 



HGRPRINT JSR 

cur 

BEG 

STA 
IDA 
STA 
LOA 
STA 
LDA 
STA 
JSR 
LUA 
5TA 
STA 
RTS 



HKKINI 



INITHPOS 
• 37 

HXICOUT 
HPRINT 
H>HCOl/T 
*37 

MHrntfT 

♦36 

*>HCURS0R 

*3? 

MHCURSOR 

«38 

»3EA 

HCOUT 
HCURSQR 



HCOUT 



BIT COUT1 
STA CHAR 



3? 
33 
34 
35 
36 
37 
38 
3? 

40 HCOUT 

11 

42 

43 

44 

45 

46 

47 

48 HCOUT 1 

49 

50 

51 

52 

33 

54 

33 

36 

57 

58 

39 

60 HLUP 
41 



.TRR 
JSR 
LDX 
STX 
LDX 
EMI 
LDA 
STA 
LDA 
BMI 
LDX 
GTX 
AND 
CMP 
BCS 
ORA 
CMP 
BCC 



LDX 
STX 
LDA 
A3L 
ACL 
ASL 
STA 
LDA 
JSR 



SAUF 

RMARGIN 

HO 

MASK 

«32 

HCOUTO 

***7F 

MASK 

CHAR 

HCOUT 1 

ft»7F 

#»3F 
#♦20 
HCOUT 1 

H*ro 
Mao 

HPEND 



JSR FNDAOR 



CNTR 
CV 



LIME 
LINE 
HPnfiN 



; INVFLG 

iNORMAL? 

;MASK=*7F 



iSl NORMAL 

jliti U&l [fif 

jl« masque d' inversion 
jTransforme les car. 
;IMJERSE ou FLASH 



;CTRL? 

;0ui->pas d'af^ichaqe 



iA*tichage 

;Posl tion vert. *8 



Pom's n° 14 



62 


LDA 


CH 






63 


CLC 








6A 


ADC 


UNDLFT 






65 


TAY 








66 ADR 


— 


** 1 




;Comfrn< CHRfiFT . it c' 


67 


LDA 


92000 




;Val eur arbi trai re 


68 


EOR 


MASK 






69 TYPE 


STA 


< HBASE ) 


Y 


; STA/ORAXAND/EOR/LDA 


70 HLUP1 


STA 


(HBASE) 


Y 




71 


INC 


LINE 






72 


INC 


ADR 






73 


BNE 


HLUP2 






74 


1NU 


AUK*1 






7? HLUP2 


DEC 


CNTR 






76 


BNE 


HLUP 






77 










78 HPENO 


LDA 


CHAR 




;R**t*ure le caracte 


79 


LDX 


WNDBTM 






80 


DFX 








81 


STX 


LINE 






82 


LDX 


CV 




;T*ste le scrol 1 trig 




CPX 


LINE 






85 
86 


BCC 


HPEND0 






CMP 


«*8D 




; Re turn 


BEQ 


HPENDI 




87 


CMP 


H*8A 




iLtne feed 9 


88 


BfcU 


HPtNl) I 




89 


LDX 


CH 






90 


CPX 


WNDRGHT 






91 


BCC 


HPENDO 






92 


CMP 


W*9S 




i- >" 


93 


GEO 


HPENDI 






94 


TAX 









CHAR 

LINE 
MASK 
UNDRGHT 

TYPTBL 



95 
96 
97 
98 
99 
100 

1 fl 1 HPENDO 

l n? 
103 
104 
105 
106 
107 
108 
1C9 

11U HPtNUl 
1 1 I 
1 1 2 
1 1 3 
1 1 4 

115 PMARG1N 

I I A 

1 I 7 

118 

119 

120 

121 

122 FN DAD R 

123 

1*4 

125 

126 

127 



6 PL HPENDI 

CMP M*AO 

BCS HPENDI 

AND B*7F 

CMP »*20 

JSP PEST 

JMP COUT1 



;Car. affichable 9 



;Et af-fichage TEXT 



DS 1 

DS 1 

DS 1 

DS 1 

HEX ?1 11 315181 ;STA/ORA/ANP/EOR/LDA (adD.Y 

LDA M0 

SIA BY I E 

J5R SCROLL4 

JMP HPENDO 



LOA UNDUDTH 
CLC 

ADC LNDi FT 

STA UNDRGHT 

DEC UNDRGHT 
RTS 

SEC 

SBC #t20 

AND ff»7F 

S I A ADR 

LDA BO 

STA ADR* 1 



;Ca1cui adresse caratlere 



128 
129 
130 
131 
1 32 
1 33 
134 
135 
136 
1 37 
1 38 
1 39 
1-40 
Ml 
1-42 
143 
144 
145 
146 
147 
148 
149 
150 
151 
152 
153 
154 
155 
156 
157 
158 
159 
160 
161 
162 
163 
164 
165 
166 
167 
168 
169 
170 
171 

1/2 
173 
1 ^4 

i /a 

176 
177 

i7a 
17V 

180 
181 
182 
183 
184 
185 
186 
187 
188 
189 
190 
191 



CLC 
ROL 
ROL 
ROL 
ROL 
ROL 
ROL 
LOA 
ADC 
STA 
LDA 
ADC 
STA 
RTS 



AOR 
ADR* 1 
ADR 
ADR* 1 
ADR 
ADR* 1 
TABLE 
ADR 
ADR 

TABLE* 1 
AOR-M 
ADR* I 



»»#*«*#»»**»** ************ *••*«* 



DEFCHR JSR 
CMP 
BNE 
JSR 
JSR 
TXA 
JSR 
LDA 
STA 
LDA 
STA 
JSR 
CMP 
BNE 
LDA 
STA 

FNDCHRL JSR 
JSR 
JSR 
TXA 
LDY 
INC 
STA 
JSR 
CMP 
BEG 

RTS 



CHRGOT 
tt't' 
FNDCHER 
FRMNUM 
CON I NT 

FNDAjOR 

ADR 

LINNJU1 

ADR+1 

LINNUM* 1 

CHRGOT 

FNDCHER 
«0 

CNTR 
CHRGET 
FRMNUM 
CON I NT 

CNTR 
CNTR 

(LINNUM) ,Y 
CHRGOT 
»' .' 
FNDCHRL 



t-NDCHLR LDX H 1 6 
JMP 



;Sntx 



*•#««»«##»«#«*«*«»»##*«»##*.«.», 



b'b I YP 



JSR FRMNUM 

JSR CON I NT 

LPX »5 

BUS SETYPERR 

LDA IYPT8L.X 

STA TYPE 

RTS 



SETYPERR LDX 
JMP 



H53 
ERROR 



192 HCURSOR BIT 
193 
194 
195 



KEYIM 
JSR SAUE 
LOA CV 



ASL 
ASL 
ASL 

nr. 

Ann *7 

JSR HPOSN 

LDA T.H 



CLC 
ADC UNDl FT 
TAY 



LDA 
PHA 
LDA 



f HRASF) ,Y 



( BASF > ,Y 



•••**•***•*•«***•**••*■**•••***** 



19* 
197 
198 
199 
200 
201 
202 
203 
204 
205 
206 
207 
208 
209 
210 
211 
212 
213 
214 

215 HCURS 
216 
217 
218 
219 
220 
221 
222 
223 
224 

225 HCURS1 
226 
227 
228 
229 
230 
231 
232 
233 
234 

235 HCURS2 
236 
237 

238 *«ff*«x**«**«***«***«****«*«***** 
239 

240 N0RMPRT LDA «*4C 

241 STA HCOUT 

242 STA HCURSOR 

243 RTS 
244 

245 *#*»*«»#*«#-»«#«*«**#««#**»««**»« 
246 

247 HCLREOL JSR RMARGIN 
24tf LDA LV 

249 ASL 
2SU ASL 

231 ASL 

232 STA CNIR 

253 DEC UN IK 

254 LDA CH 

255 CLC 



STA CNTR 
PHA 

LDA **FF 

STA ( HBASE) ,Y 

LDA NK0U JUUJ 

EOR < HBASE) ,Y 

STA ( HBASE ).Y 

INC RND 

BNE HCURS I 

INC RND+1 

EOR (HBASE) ,Y 

STA ( HBASE) , Y 

LDA ( BASE ) , Y 
TAX 

LDA CNTR 

STA (BASE) ,Y 

STX CNTR 

BIT *C00O 

BPL HCURS 
PLA 

STA (BASE) ,Y 
PLA 

STA (HBASE) ,Y 

LDA tCOOO 

CMP tt*8D 

BNE HCURS2 

JSR HCLREOL 

JSR REST 

JMP AUTOCOM 



HE0L2 



256 
2S7 
258 
259 
260 
261 
262 
263 
264 
265 
266 
267 
268 
269 
270 
271 
272 
273 
274 
275 
276 

277 HGRCLR 

278 

779 

280 

2R1 

2fl? 

283 HOil UP 
284 
285 
7R6 
7B7 
288 
2B9 
290 

291 



ADC 
STA 
DEC 
LDX 
INC 
LDA 
JSR 
DEX 
BMI 
LDY 
LDA 



WNDLFT 

L I MITE 

LIMITE 

H8 

CNTR 

CNTR 

HPOSN 



HEOL3 
UNDRGHT 

no 

STA < HBASE) , Y 
DEY 

LIMITE 
HEOL2 



CPY 
BNE 



BEQ HEOL1 
HE0L3 RTS 

«»«•*•*•-**************«««-*»«*-*«* 



LDX 


LNDBTM 


STX 


LINE 


LDA 


MO 


STA 


CH 


TXA 




STA 


CV 


DEC 


CV 


JSR 


HCLREOL 


LDA 


CV 


CMP 


UNDTOP 


BNE 


HOMLUP 


RTS 





*#*»**«*««»#****#««»*»»*««*##»*# 



292 ADK1 


= 


♦ 6 


293 APH2 


= 


*a 


2y4 






295 SCROLL 


JSR 


GETNUM 


296 


STX 


BYTE 


297 


JSR 


RMARGIN 


298 


LDA 


LINNUM 


299 


CMP 


HI 


300 


BEO 


SCROLL 1 


301 


CMP 


H2 


302 


BEO 


SCROLL2 


303 


CMP 


113 


304 


BNE 


SCR 


305 


JMP 


SCR0LL3 


306 SCR 


CMP 


H4 


307 


BNE 


SCREPP 


308 


JMP 


SCROLL4 


3ft 9 SrRFRR 


i nx 


«S3 


3in 


.IMP 


FRRflR 


311 






312 






313 * 






314 






315 SCROLL1 


LDA 


LNDBTM 


316 


ASL 




317 


ASL 




318 


ASL 




319 


STA 


CNTR 



fill 0*y 



Pom's rr 14 



320 




JSR 


RMARGIN 


421 


STA 


ADR2 


521 


LDEP HEX 


00 






LDA 


WNDTOP 


422 


LDA 


HBASE* 1 


522 


LARR HEX 


00 






ASL 




423 


STA 


ADR2U 


523 


LIMITE DFB 


I?I 


3*3 




ASL 




424 


LDY 


UJNDRGHT 


524 






324 




ASL 




42* S3*UJF 


LDA 


(ADR 1 ) ,Y 


MS 


**»»««##*-#*»*»***■»*»*»*«*«»»»**• 


325 




STA 


LIM1TE 


426 


STA 


< ADR2) ,Y 


526 


* 


* 


326 


SCR! 


DEC 


CNTR 


<*/ / 

a in 


DEY 
f.PY 




527 


» Cette routine remp) a\ant * 


32? 




LDA 


CNTR 


1 riir 
1 1 NF 


328 


* HPOSN (*F41 


1 ) calculf 1 ' aUi . » 


320 




JSR 


HP09N 


529 


* de d<Dirt d' 


une 1 igne HOR1 *l * 


329 
330 




LDY 
I NY 


WNDLrT 


A "JO 

4<:r 
4 JU 


Due 

BFQ 


S3* 1 IIP 
S3 " NFUI 


530 
331 


» la met dan* HBASE <»26). * 
* * 


331 


61 -LUP 


LDA 


C HBASE > , Y 


431 


1 Pu*\ 

LUR 




532 


* Cette routi 


nf est beaucoup " 


332 




DEY 


1d£ 9J LLK 


LARR 


533 


* plus rftpide 
» une table d 


t car ell* utilise" 


333 




STA 


<HBASE> ,Y 


433 


CMP 


LIMITE 


S34 


adreasea, cr tCe » 


331 




I MY 




434 


BEG 


SCR3 ' A 


535 


* p.r INITHPOS. * 


335 




1 NY 




435 


SEC 




536 
S37 




H 


334 




CPY 


WNDRGHT 


436 


SBC 


Ml 


* En r*v*nchc 


, la table occupe » 


337 




ecc 


SI *LUP 


4 £/ 


STA 


LARR 


538 


* beaucoup de 

• Mii« 1 1 <al 


place en memoire.* 






t DA 


HhiTR 


438 


JSR 


HPOSN 


539 


1 4i t on scrolling » 


339 




.TSR 


hpopn 


439 


LDA 


HBASE 


S40 


• rapid*. 
* 


* 


340 




LDA 


BYTE 


A An 
440 


SI A 


ADR2 


541 


* 


341 




LDY 


WNDRGHT 


441 


LDA 


HBASE+ 1 


547 


*««******************••***•*#•** 


342 




STA 


C HBASE > ,Y 


442 


STA 


ADR2+ 1 


543 






343 




LDA 


CNTR 


443 


LDA 


BYTE 


544 






344 




CMP 


L1HITE 


444 


1 r\v 
LDY 


UJNDRGHT 

t £1 no 1 ? 1 v 


545 


INITHPOS LDA 


HI 92 


345 




8NE 


SCR1 




CTA 

S 1 H 


546 


STA 


CNTR 


346 




RTS 




446 


DbY 




547 


LDA 


HPAG 


347 








44/ 


1 py 


1 1 M>- 
1- 1 TNC 


548 


PHA 




3*48 


SCR0LL2 


LDt* 


WNDBTM 


HMO 






549 


LDA 
STA 


*0 


349 




ASL 




449 






550 


HPAG 


350 




ASL 










551 


351 




ASL 






PTC 

K 1 3 




552 


INITHP1 DEC 


CNTR 


352 




STA 


CNTR 






553 


LDA 


CNTR 


353 




JSR 


RMARGIN 


453 * 






554 


JSR 


4F4 11 ; HPOSN 










J34 




LDA 


WNDTOP 


454 




WNDTOP 


555 


LDY 


CNTR 


35b 




ASL 




455 SCR0LL4 


LDA 


556 


LDA 


HBASE* 1 


356 




ASL 




456 


ASL 




557 


STA 


ADRH,Y 


337 




ASL 




457 


ASL 




558 


LDA 




356 




STA 


LIMITE 


43B 


ASL 




55? 


STA 


ADRL.Y 


359 




LDY 


WNDLFT 


4»y 


StA 


LAKK 
LARR 


56U 


LDA 


LN I H 


360 




DEY 




460 


DLL 


561 


BNfc 


1NMHH1 


361 




STY 


LINE 


461 


CLC 




562 






3£2 


SCR2 


DEC 


CNTR 


462 


ADC 


¥17 


563 


PLA 




363 




LDA 


CNTR 


463 


STA 


LDEP 


564 


STA 


HPAG 


364 




JSR 


HPOSN 


464 


LDA 


WNDBTM 


563 


RTS 




365 




LDY 


WNDRGHT 


465 


ASL 




566 






366 




DEY 




466 


ASL 




067 


HPOSN TAY 


jA^l i gn» 


367 


S2" LUP 


LDA 


CUBASE) ,V 


467 


AOL 




568 


JSR 


FNDPAG 


369 




1 NY 




460 


STA 


LIMITE 


569 


LDA 


ADRL ,Y 


36 o 




STA 


CMBASE>,V 


•169 


JSR 


RMARGIN 


570 


STA 


HBASE 


370 




DEY 




4 70 






571 


LDA 


ADRH , Y 


371 




DEY 




471 S4NEUL 


LDA 


LDEP 


572 


ORA 


HPAG 


377 




CPY 


LINE 


472 


CLC 




573 


STA 


HBASE* 1 


373 




RNF 


S7'l IIP 


473 


ADC 


HI 


574 


RTS 




374 




LDA 


CNTR 


474 


cmp 


1 IMITF 


575 


FN D PAG LDA 


HPAG 


375 




JSR 


HPOSN 


475 


BCS 


S4-CLR 


576 


CMP 


HS40 


376 




LDA 


BYTE 


476 


STA 


LDEP 


5.77 


BFQ 


FNDPG 


377 




LDY 


WNDLFT 


477 


JSR 


HPOSN 


S7ft 


LDA 




378 






C HBASE) , Y 


478 


LDA 


HBASE 


579 


STA 


HPAG 


379 






CNTR 


479 


STA 


ADR] 


580 


FnDPG RTS 




380 




CMP 


L I MITE 


480 


LDA 


HBASE+ 1 


581 






381 




BNE 


SCR2 


481 


STA 


ADR1+ I 


582 






382 




RTS 




482 


LDA 


LA 


583 


* Tables des 


adr. HGR pour HPOSN 


383 








483 


CLC 




584 


» La paqe HGR 


est 1 par defaut 


384 








484 


ADC 


HI 


585 


* En cat de changement de page, 


385 SCROLL 3 


LDA 


WNDBTM 


485 


STA 


LARR 


586 


* il faudra rappeler INITHPOS 


386 




ASL 




486 


JSR 


HPOSN 


587 






3B/ 




ASL 




487 


LDA 


HBASE 


588 






38« 




ASL 




488 


STA 


ADR2 


589 


ADRH DS 


192 


389 




3TA 


LAKK 


48? 


LDA 


HBASE* I 


5?0 


ADRL DS 


l?2 


390 




SEL 




490 


STA 


ADR2+I 


591 






391 




SBC 


H8 


491 


LDY 


WNDRGHT 


5?2 


*.#*#*«***»«#».»«*«*»»»»»*«»•»*« 


392 




STA 


LDEP 


49? S4-LUP 


LDA 


<adri > ,y 


593 






393 




LDA 


WNDTOP 


493 


STA 


CADR2) ,Y 


5?4 






394 




ASL 




494 


CPY 


UNDLFT 


5?5 


PUKh JSR 


FRMNUM 


393 




ASL 




493 


BEG 


S4- • NEWL 


-3V6 


JSR 


GETrtDR 


396 




ASL 




496 


DEY 




597 


LDA 


L IHNUM 


397 




STA 


LIMITE 


497 


BPL 


S4-LUP 


598 


STA 


»6 


39G 




JSR 


RtlARGIN 


49Q 






599 


LDA 


LlNNi»1*l 


399 




LDY 


WNDLFT 


499 S4-CLR 


DEC 


LIMITE 


600 


STA 


»7 

CHKCOM 


400 




DEY 




500 S4-CL 


LDA 


LARR 


601 


JCR 


401 




STY 


LINE 


501 


CMP 


LIMITE 


602 


JCR 


FRMNUM 


402 








502 


BECJ 


SCRS'A 


603 


JSR 


GET ADR 


40 3 


S3-NEUL 


LDA 


LDEP 


503 


CLC 




604 


LDY 


HO 


404 




SEC 




504 


ADC 


HI 


605 


LDA 




405 




SBC 


Ml 


505 


STA 


LARR 


606 


STA 


<*6> ,Y 


406 




CMP 


LIMITE 


506 


JSR 


HPOSN 


607 


LDA 


l isrj(jM« 1 


407 




BED 


S3* CLR 


50 7 


LDA 


HBASE 


608 


INY 




4Hfi 




STA 


LDEP 


508 


STA 


ADR2 


609 


STA 


(*6) ,Y 


409 




JSR 


HPOSN 


sn? 


i OA 


HRASF+ 1 


610 


RTS 




410 




LDA 


HBASF 


510 


STA 


Ar>R7*l 


61 I 






41 1 




STA 


ADR1 


51 1 


LDA 


BYTE 


612 


•****«•••••• 




412 




LDA 


HBASE* 1 


512 


LDY 


WNDRGHT 


613 






41 3 




STA 


ADR1 * 1 


513 S4-CLUP 


STA 


(ADR2) ,Y 


614 


SETPEEK LDA 


H*4C 


41 4 




LDA 


LARR 


514 


CPY 


UNDLFT 


615 


STA 


USR 


41 5 




SEC 




515 


BEG 


SVCL 


616 


LDA 


HPEEK 


4L6 




SBC 


Ml 


51 6 


DEY 




617 


STA 


USR'l 


417 




STA 


LARR 


517 


BPL 


S4 ' CLUP 


618 


LDA 


M>PEEK 


418 




LDA 


LARR 


518 






620 


STA 


USR+2 


419 




JSR 


HPOSN 


51? 






RTS 




420 




LDA 


HBASF 


520 BYTE 


HEX 


00 


621 







Pom's n- 14 



0£Z rtCK 


JbK 


GETADR 


680 


CMP 


KEY 


738 


ASC 


"H- 


623 


LDY 


Ml 


6B1 


BEQ 


CFOUND 


739 


DA 


Cll 




LDA 


,<LInNUM) . Y 


682 


(NY 




740 


ASC 


•G" 


625 


TAX 




683 


I NY 




Hi 

742 


DA 


C12 
• i ■ 


626 


DEY 




684 


1 NY 




ASC 


62/ 


LDA 


(LINNUM) ,Y 


685 


JMP 


CFNDLUP 


743 


DA 


C13 


628 


I AY 




686 CFUUND 


I NY 




744 


ASC 


•L" 


629 


1 XA 




687 


CPA 


COMTAB.Y 


745 


DA 


C14 


630 


JMP 


UlVftYP 


688 


SIA 


ADRCOM 


746 


ASC 


"S" 


631 






687 


I NY 




/47 


DA 


C15 


632 






690 


s?S 


COMTAB.Y 


748 


ASC 


"B" 


633 






69 1 


STA 


ADRCOM* | 


749 


DA 


C16 


634 **«****«*•**«*»•** ••-•."».-..»»* 


492 


LDY 


HO 


750 


ASC 


• = • 


63G 

i O J _ - 






693 COM OUT 

69-4 

695 


LDA 
BEQ 
CMP 


<ADRC0M> ,Y 
COM END 
H*8D 


731 
732 
753 


DA 


CI 7 


" ———— —— - - — ■ 

637 # AUTOC0M: touches* 


ASC 
DA 


* , - 
f IS 


63Q * de rfonctlDtis 


496 


BEQ 


COMCR 


754 


ASC 


* K" 


439 * 




-* 


497 


STA 


IN,X 


755 
lit 


DA 


CI 9 






640 »par Postal CANTOT ■ 


498 


IMX 




ASC 


* Q" 


641 » 






699 


I MY 




757 


DA 


C20 










642 






700 


JSR 


COUT 


758 


ASC 


■\» 


643 * APPLE 


Appu>-eT cur 


70 1 


JMP 


COMOUT 


7S9 


DA 


C21 


644 * [opon-rtppi. 


J • t la louche 


707 COM END 


LDA 


*r*A0 


740 


ASC 


'M." 








7ns 


ers 




761 


DA 


C22 


646 






704 






762 


ASC 


■*" 


647 SFTrnM 


LDA 


WAUTOCQM 


705 COMCR 


.IMP 


CR0UT 


763 


DA 


C23 


648 


STA 


KSU 


706 






764 


ASC 


• <■ 


649 


i oa 


*>AliTOCCM 


707 CNOTFND 


LDA 


*»?n 


745 


DA 


C24 


650 


STA 


kOJ+1 


708 


RTS 




764 


ASC 


■ >■ 


651 


JMP 


IrJTDOS 


709 






767 


DA 


r.9S 


652 






710 DELCOM 


JSR 


*FC10 ;<- 


76B 


ASC 


"K" 


653 AUTOCOM 


JSR 


KEY IN 


71 1 


LDA 


Mao 


769 


DA 


C26 


654 


STA 


KEY 


71 2 


JSR 


COUT 


770 


ASC 


■N" 


655 


LDY 


P0MME 


713 


LDA 


«B8 ;<- 


771 


DA 


C27 


656 


BM1 


COMMAND 


7141 


RTS 




772 


ASC 


"Y* 


657 


LDY 


POMME+1 


715 






773 


DA 


C28 


658 


BMI 


COMMAND 


716 C0MTAB 


ASC 


■P" 


774 


ASC 


" * " 


659 


RTS 




717 


DA 


COMLIB 


775 


DA 


C29 


660 






718 


ASC 


"C 


776 


ASC 


"/.' 


661 COMMAND 


STX 


CNTR 


719 


DA 


CI 


777 


DA 


C30 


662 


LDY 


■24 


/2U 


ASC 


"E" 


778 


HEX 


89 


663 


JSR 


BELLS 


721 


DA 


C2 


779 


DA 


C31 


664 


LDY 


BU 


722 


ASC 


• »* 


780 


ASC 




663 


LDX 


UN ' K 


723 


DA 


C3 


781 


DA 


C32 


666 COMFND 


LDA 


KfcY 


724 


ASC 


■T" 


/82 


ASC 


"2" 


667 


CMP 


;Dfl 


723 


DA 


C4 


/83 


DA 


C33 


668 


BEQ 


DELCCM 


726 


ASC 


■ I " 


784 


ASC 


•X' 


669 


CMP 


*" 0" 


727 


DA 


C3 


78S 


DA 


U34 


670 


BCC 


CFNDLUP 


728 


ASC 


" t • 


786 


ASC 


-w- 


671 


CMP 


we" 


729 


DA 


C6 


787 


DA 


C35 


672 


ecs 


CFNDLUP 


730 


ASC 




788 


ASC 


•/' 


673 


SEC 




731 


DA 


C7 


789 


DA 


C36 


674 


GDC 


H*BO 


732 


ACC 


■J* 


790 


ASC 


• •>• 


475 


TAY 




733 


DA 


CO 


791 


DA 


C37 


476 


STA 


*C050,Y 


734 


ASC 


■ 3 ' 


792 


ASC 


a i m 


477 


JMP 


AUTOCOM 


735 


DA 


CP 


793 


DA 


C30 


678 CFNDLUP 


LDA 


COMTAB.Y 


736 


ASC 


•LT 


794 






*79 


BED 


CNOTFND 


737 


DA 


C10 


795 
794 


HEX 


00 



;Tab 



797 #***«#»»*»»»****«*»*»»*»«#»#**** 


/ve 






799 COML I 8 


ASC 


•PR1NI " 


800 


HEX 


00 


801 CI 


ASC 


" CATALOG' 


802 


1 icx 


OD00 


003 C2 


ASC 


■ HOME .P0KE33,28iLlST" 


R04 


HEX 


00 


805 C3 


ASC 


• CALL - 1 SI " 


804 


HEX 


aooo 


807 C4 


ASC 


■4 DOC 


808 


HEX 


00 


809 C5 


ASC 


■ INPUT" 


810 


HEX 


00 


811 C6 


ASC 


"4PLAY" 


812 


HEX 


00 


«ia ux 


ASC 


•ASSfcM" 


814 


HEX 


aooo 


815 C8 


ASC 


"&SUPER PRINT" 


816 


HEX 


DO 


817 C9 


AOC 


■ &N0 I CC * 


BIS 


HE* 


00 


819 CIO 


ASC 


■&PRINT USN6>" 


a?n 


HFX 


no 


821 Cll 


ASC 


■ HfiR" 


822 


HEX 


BDOO 


823 C12 


ASC 


"GR" 


824 


HEX 


8000 


825 C13 


ASC 


* TEXT iNORMAL 1 


824 


HEX 


800 


827 CI4 


ASC 


' LOAD" 




HfcX 


00 


III c " 


ASC 


•SAVE- 




HEX 


oo 


031 C14 


ADC 


■ QRUN ' 


032 


HEX 


00 


833 CI 7 


ASC 


"COLOR =• 


034 


HEX 


00 


835 csa 


AST- 


" HPI ITT" 


836 


HEX 


00 


837 CI9 


ASC 


•RUN- 


838 


HEX 


DO 


839 C20 


ASC 


'&GET ' 



840 


HEX 


00 


841 C21 


ASC 


"L1ST- 


842 


HEX 


00 


843 C22 


ASC 


•f1||>»( * 


844 


HEX 


00 


840 C23 


ASC 


-CHR»<- 


844 


HEX 


00 


047 C24 


ASC 


■PEEK< • 


040 


HEX 


00 


ft49 r?s 


ASC 


"POKE" 


850 


HFY 


nn 


851 C26 


ASC 


"POKE- 14368,0:" 


852 




00 


853 C27 




"NEXT" 


854 


HEX 


00 


855 C28 


ASC 


"CALL" 


856 


HEX 


00 


85/ L~2y 


ABC 


17'HIMEM - "PEEK 


858 


HEX 


aooo 


80? C30 


ASC 


'^'LOriEri » * PEEK 


860 


lot 


ODOO 


S41 C31 


ASC 


■ ■ 


862 


HEX 


00 


P.A3 C32 


ASC 


• N ED24G" 


R44 


HFX 


anno 


865 C33 


ASC 


*JrCIftCJ F=" 


866 


HEX 


00 


867 C34 


ASC 


"4<XC!RCLE=" 


868 


HEX 


00 


869 C35 


ASC 


"& WAIT " 


870 


HEX 


00 


8/1 C36 


ASC 


"TEXT ; HOME" 


872 


HEX 


BDOO 


873 C37 


ASC 


" RND<1>* " 


074 


HEX 


00 


875 C30 


ASC 


"IPROUT ■ 


974 


HEX 


00 


R77 






87ft 


HEX 


00 


879 






880 *a* 


881 







Pom's n" 14 



obiet ICARE 3.1 








8268- 


2E 


FO 


09 


C9 


2A 


DO 


01 


E8 




















8270- 


98 


DO 


E5 


AA 


86 


IF 


20 


67 


•8000 


8G45 














8278- 


DD 


A5 


IF 


FO 


07 


20 


39 


EVA 




















8280 


C6 


IF 


DO 


F9 


20 


72 


EB 


AS 


8000- 


A9 


7F 


85 


74 


AO 


FF 


85 


73 


8288- 


A2 


48 


20 


AF 


EB 


20 


AO 


E7 


8008- 


A2 


02 


BD 


25 


80 


9D 


F5 


03 


8290- 


20 


23 


EC 


68 


10 


03 


20 


DO 


801G- 


95 


4F 


CA 


10 


F5 


AO 


00 


B9 


8298- 


EE 


20 


34 


ED 


BA 


A? 


FF 


FB 


aoia- 


84 


80 


FO 


06 


20 


FD 


FD 


Crt 


82A0- 


BD 


Ol 


01 


DO 


FA 


A4 


19 


FO 


8020- 


DO 


F5 


4C 


BF 


9D 


4C 


28 


80 


82A8- 


5A 


98 


FO 


4E 


88 


BD 


00 


01 


8028- 


20 


B7 


00 


FO 


D3 


82 


OO 


as 


82B0- 


C9 


45 


FO 


46 


C9 


2D 


DO 


OD 


8030- 


19 


AO 


00 


BD 


IB 


til 


FO 


2A 


82B8- 


Bl 


1A 


C9 


2C 


FO 


1C 


C9 


30 


8038- 


C9 


FF 


FO 


08 


Dl 


B8 


DO 


17 


82C0- 


DO 


03 


98 


DO 


E4 


Bl 


1A 


C9 


8040- 


ca 


E8 


DO 


EF 


A9 


73 


AO 


80 


82C8- 


30 


FO 


OF 


C9 


20 


FO 


OB 


C9 


8048- 


20 


3A 


DB 


A3 


OO 


85 


50 


A2 


82D0- 


2A 


FO 


07 


C9 


24 


DO 


D2 


2C 


8050- 


FF 


20 


CO 


S3 


4C 


BF 


*2D 


E8 


82D8- 


58 


FF 


BD 


00 


01 


91 


1A 


CA 


8058- 


BD 


IB 


81 


DO 


FA 


E8 


E6 


19 


87F0- 


10 


C7 


9ft 


FO 


IE 


88 


Bl 


1A 


8O60- 


DO 


CF 


20 


9ft 


D9 


f)6 


1 9 


Ah 


82E8- 


50 


03 


A9 


24 


B8 


C9 


2C 


DO 


8068 


19 


BD 


DC 


31 


48 


BD 


DB 


81 


82F0- 


04 


C8 


Bl 


ID 


88 


91 


1A 


38 


8O70- 


48 


60 


80 


05 


CE 


CB 


CE 


CF 


82F8- 


BO 


E8 


A3 


23 


A4 


19 


88 


91 


8078- 


D7 


CE 


AO 


C3 


CF 


CD 


CD 


CI 


8300- 


1A 


DO 


FB 


A9 


IS 


AO 


00 


85 


8080- 


CE 


C4 


8D 


00 


8D 


8D 


AO 


AO 


8308- 


AO 


84 


Al 


20 


3D 


DB 


A5 


19 


8088- 


AO 


AO 


AO 


AO 


AO 


AO 


AO 


AO 


8310- 


20 


25 


E6 


20 


B7 


00 


C9 


2C 


8O90- 


AO 


20 


20 


20 


09 


03 


01 


12 


8318- 


DO 


03 


4C 


3£ 


8k? 


C9 


3B 


FO 


aoya- 


05 


20 


20 


20 


20 


8D 


8D 


CI 


8320- 


03 


4C 


FB 


DA 


4C 


Bl 


00 


20 


80AO- 


CD 


DO 


C5 


.02 


AD 


C9 


CE 


D4 


8328- 


7B 


DD 


20 


6C 


DD 


A5 


Al 


48 


fiOAft- 


C5 


D2 


DO 


D2 


C5 


D4 


C5 


DS 


8330- 


A5 


AO 


48 


20 


BE 


DE 


20 


67 


SOB0- 


D2 


AO 


CI 


DO 


DO 


CC 


CS 


D3 


8338- 


DD 


20 


F8 


E6 


68 


85 


AO 


68 


80B8- 


CF 


C6 


D4 


8D 


8D 


A8 


C3 


A9 


8340- 


85 


Al 


8A 


FO 


OB 


8D 


OA 


86 


8OC0- 


AO 


DO 


CI 


D3 


C3 


CI 


CC 


AO 


8348- 


20 


3D 


DB 


CE 


OA 


86 


DO 


F8 


80C8- 


C3 


CI 


CE 


D4 


CF 


D4 


AO 


AD 


8350- 


20 


B7 


00 


38 


BO 


C7 


20 


E3 


aoDO- 


AO 


81 


B9 


B8 


B4 


AO 


AD 


AO 


8358- 


DF 


85 


85 


84 


86 


A3 


81 


48 


80D6- 


C3 


D4 


AO 


CC 


C5 


D3 


6D 


AO 


8360- 


A5 


82 


48 


20 


Bb 


DE 


20 


E3 


aoto- 


AO 


AO 


AO 


AO 


AO 


AO 


AO 


AO 


8368- 


DF 


68 


45 


82 


30 


IF 


68 


45 


80E8- 


AO 


AO 


AO 


C3 CF AD CI 


D5 


8370- 


81 


30 


1A 


AO 


02 


24 


81 


30 


8OF0- 


r>4 


C5 


D5 


D2 


D3 


8D 


AO 


AO 


8378- 


10 


24 


82 


30 


02 


AO 


04 


Bl 


SOF8- 


AO 


AO 


AO 


AO 


AO 


AO 


AO 


AO 


8380- 


85 


48 


Bl 


83 


91 


85 


68 


91 


8100- 


C3 


CI 


CC 


CC 


AO 


CI 


AE 


DO 


8388- 


83 


88 


10 


F3 


60 


4C 


76 


DD 


8108- 


AE 


DO 


AE 


CC AE C5 AE 


AO 


8390- 


20 


D9 


F7 


AO 


02 


18 


A5 


9B 


8110- 


C5 


D4 


AO 


DO CF CD A7 


D3 


8398- 


85 


42 


71 


9R 8^ AS 


9C 


8118- 


AE 


8D 


00 


BA 55 S3 4£ 


47 


83A0 


65 43 


CS 


85 3D 38 A5 6D 


8120- 


CF 


00 


42 


45 


4C 


4C 


OO 


52 


83A8- 


85 3E 


88 


Fl 


9B 


85 6D A5 


8128- 


50 


54 


BA 


00 53 57 41 


50 


83B0- 


6E 85' 3F 


ca 


Fl 


9B 85 6E 


8130- 


CF 


00 


85 


41 


52 52 41 


59 


83B8- 


AO 


OO 


4C 


2C FE 20 46 


E7 


8138- 


cv 


00 


4E 


4F 


49 


53 


45 


00 


83C0- 


86 51 


A4 


50 


98 AA Ca 


DO 


8140- 


B5 


00 


50 


4C 


41 


59 


OO 


AB 


83C8- 


FD 2C 30 


CO 


45 


51 


A A CA 


8148- 


00 


BO 


00 


8D 


00 50 52 4F 


83D0- 


DO bU 2C 


30 CO 88 DO EC 


8150- 


55 


54 


00 


48 


41 52 44 


43 


83D8- 


60 


20 


67 


DD 20 FB E6 8A 


8158- 


4F 


50 


59 


00 


4? 4B 47 4C 


83E0- 


48 


20 


B7 


00 C9 05 DO 


1 1 


8160- 


44 


00 


48 


49 


4E 56 OO 52 


83E8 


20 Bl 


OO 


20 46 


E7 


8A 


A8 


8168- 


45 


47 


00 


53 


59 53 00 


4D 


83F0- 20 CI FB 


A4 


5o 


68 


91 


28 


8170- 


4K 


56 


45 


00 


42 


55 


46 


46 


83F8- 


60 A2 35 


4C 


12 


D4 


20 


67 


8178- 


45 


52 


DO 


00 


87 


00 


57 


52 


8400- 


DD 20 FB 


Efe A4 Al 4C E4 


8180- 


49 


54 


45 


00 


AE 


OO 


53 


55 


840S- 


FB 20 67 


DD 20 52 E7 A6 


8188- 


50 


45 


52 


BA 


00 


BA 


00 


BE 


8410- 


50 


A9 C7 


20 


A8 


FC CA 


DO 


8190- 


00 


43 


49 


52 


43 


4C 


45 


DO 


8418- 


KB Cfa 


51 


30 


04 


A2 


FF 


DO 


8198- 


00 


58 


43 


49 


52 


43 


4C 


45 


8420- 


FO 


60 


DO 


EC 


60 


20 


46 


E7 


aiAO- 


DO 


00 


91 


BA 


OO 


53 


43 


52 


8428- 


86 


51 


2C 


30 


CO 


88 


DO 


04 


81A8- 


4F 


4C 


4C 


00 


B8 


E7 


00 


54 


8430- 


C6 


51 


FO 


06 


CA 


DO 


F6 


A6 


81B0- 


59 


30 


45 


DO 


OO 


97 


00 


9D 


8438- 


50 


4C 


2A 


84 


20 


B7 


00 


C9 


81B8- 


BA 


00 


B9 


00 


E2 


00 


53 


48 


8440- 


3B 


DO 


05 


20 


Bl 


00 


DO 


DD 


81C0- 


4F 


4F 


54 


00 


44 


4F 


5B 


00 


8448- 


60 


A9 


01 


85 


18 


A9 


04 


85 


81C8- 


45 


58 


45 


43 


CA 


00 


58 


46 


8450 


IF 


06 


18 


FO 


10 


A5 


18 


85 


81DO 


55 


4E 


43 


54 


00 


55 


53 


45 


8438- 


50 


E6 


IF 


A6 


IF 


36 


51 


20 


81D8- 


52 


00 


FF 


2A 


*52 


FD 


83 


2b 


8460- 


2A 


£4 


4C 


51 


84 


60 


20 


7B 


81E0- 


83 


55 


83 


8F 


83 


BC 


83 


08 


8468- 


DD 


20 


52 


E7 


20 


1A 


D6 


90 


81E8- 


84 


24 


84 


65 


84 


78 


84 


D8 


8470- 


03 


4C 


41 


D9 


A2 


5A 


4C 


12 


81F0- 


83 


AO 


84 


DA 


84 


IF 


85 


47 


8478- 


D4 


20 


7B 


DD 


20 


52 


E7 


20 


81F8- 


80 


D6 


FA 


68 


FF 


5B 


85 


EH 


8480- 


1A 


D6 


90 


FO 


A9 


03 


20 


D6 


8200- 


85 


CA 


85 


E3 


85 


12 


86 


42 


8488- 


D3 


A5 


B9 


48 


A5 


B8 


48 


A5 


8208- 


86 


FC 


86 


50 


87 


71 


87 


5F 


8490- 


76 


48 


A5 


75 


48 


A9 


Rf> 


4A 


8210- 


88 


CA 


8C 


DC 


8E 


D8 


8D 


IB 


8496 


20 


B7 


00 


20 


4 1 


D9 


4C 


D2 


8218- 


8E 


C4 


8E 


66 


8E 


52 


92 


75 


84A0- 


D7 


20 


B7 


OO 


FO 


1A 


C9 


22 


8220- 


92 


48 


84 


67 


88 


74 


8C 


92 


84A8- 


FO 


17 


20 


67 


DD 


20 


FB 


E6 


8228- 


92 


FF 


02 


20 


7B 


DD 


20 


6C 


84B0- 


8A 


20 


D2 


84 


20 


B7 


00 


C9 


8230- 


DD 


A9 


1C 


AO 


OO 


as 


as 


84 


84B8- 


2C 


DO 


05 


20 


Bl 


OO 


DO 


El 


8238- 


86 


20 


9A 


DA 


A9 


3B 


20 


CO 


84C0- 


60 


20 


Bl 


00 


FO 


FA 


C9 


22 


8240- 


DE 


A9 


1C 


AO 


OO 


85 


AO 


84 


84CH- 


FO 


D7 


29 


7F 


20 


D2 


84 


4C 


8248- 


Al 


A9 


19 


85 


85 


84 


86 


20 


84D0- 


CI 


84 


2C 


CI 


CI 


30 


FB 


8D 


8250- 


Al 


DA 


A2 


00 


A4 


19 


FO 


1C 


84D8- 


90 


CO 


60 


A9 


00 


48 


48 


4A 


8258- 


88 


Bl 


1A 


C9 


30 


FO 


10 


C9 


84E0 


29 


03 


09 


04 


85 


51 


68 


29 


8260- 


20 


FO 


OC 


C9 


24 


FO 


08 


C9 


84E8- 


18 


90 


02 


69 


7F 


85 


50 


OA 



84F0- 


OA 


05 


50 


85 


50 


AO 


00 


Bl 


84FS- 


50 


30 


08 


29 


3F 


C9 


20 


BO 


8500- 


02 


09 


40 


49 


80 


20 


D2 


34 


8508- 


C6 


CO 


28 


DO 


EA 


AO 


OA 


20 


8510- 


V2 


84 


A9 


OD 


20 


D2 


84 


68 


8518- 


A8 


C8 


98 


C9 


18 


DO 


BE 


60 


8520- 


20 


67 


DD 


20 


FR 


R6 


AA 


20 


8528- 


37 


85 


AO 


00 


91 


50 


88 


DO 


8530- 


FB 


E6 


51 


CA 


DO 


F4 


60 


A2 


8538- 


00 


86 


50 


A6 


E6 


EO 


40 


FO 


8540- 


02 


A2 


20 


86 


51 


A2 


20 


60 


8548- 


20 


37 


85 


AO 


00 


Bl 


50 


49 


8550- 


FF 


91 


50 


88 


DO 


F7 


Eb 


51 


8558- 


CA 


DO 


FO 


60 


20 


67 


DD 


20 


8560- 


52 


E7 


A5 


50 


85 


3C 


A5 


51 


8568- 


85 


3D 


70 


R F 


DE 


20 


67 


DD 


8570- 


20 


52 


E7 


A5 


50 


85 


3E 


A5 


8578- 


51 


85 


3F 


A9 


CI 


20 


CO 


DE 


8580- 


20 


67 


DD 


20 


52 


E7 


A5 


50 


8588- 


85 


42 


A5 


51 


85 


43 


4C 


2C 


8590- 


FE 


AD 


EA 


B7 


8D 


00 


86 


AD 


8598- 


E9 


B7 


8D 


FF 


85 


AD 


FD 


85 


85A0- 


C9 


04 


BO 


OS 


A2 


35 


4C 


12 


85A8- 


D4 


8D 


07 


86 


A9 


00 


8D 


06 


85B0- 


86 


85 


06 


60 


20 


46 


E7 


FO 


85B8- 


io 


BO 


E9 


8E 


03 


86 


A6 


50 


85CQ- 


EO 


23 


BO 


EO 


8E 


02 


86 


20 


85C8- 


91 


85 


60 


20 


B4 


85 


A9 


01 


85DO- 


8D 


OA 


86 


A9 


85 


AO 


FE 


20 


S5D8- 


B5 


B7 


90 


07 


A9 


SO 


85 


06 


85E0- 


4C 


DD 


FB 


60 


20 


B4 


83 


A9 


85E8- 


02 


8D 


OA 


86 


4C 


D3 


85 


20 


85F0- 


67 


DD 


20 


FB 


E6 


EO 


04 


90 


85F8- 


AB 


Ac 


FD 


85 


60 


96 


01 


60 


860O- 


01 


OO 


12 


06 


OF 


86 


00 


96 


8608- 


00 


OO 


OO 


00 


00 


60 


01 


OO 


8610- 


01 


EF 


D8 


20 


67 


DD 


20 


52 


8618- 


E7 


20 


1A 


D6 


A2 


5A 


90 


20 


8620- 


AO 


04 


Bl 


9B 


C9 


83 


DO 


16 


8628- 


A5 


50 


85 


7B 


A5 


51 


65 


7C 


8630- 


18 


AS 


9B 


69 


04 


85 


7D 


A5 


8638- 


9C 


69 


00 


85 


7E 


60 


A9 


2A 


8640- 


4C 


12 


D4 


4C 


56 


86 







Supei PRINT de D. Sureau - 
Pom's 9 codes correspondant aux 
lignes 55 a 181 du source original, 
leloyes a $8646 



*86FD.886D 



86FD- 


20 


7B 


DD 












870O- 


20 


6C 


DD 


A9 


C5 


20 


CO 


DE 


8708- 


A5 


25 


48 


A5 


24 


48 


A5 


AO 


8710- 


48 


A5 


Al 


48 


20 


46 


E7 


8A 


8718- 


FO 


27 


EO 


19 


BO 


23 


CA 


iSb 


8720- 


25 


20 


22 


FC 


A6 


50 


FO 


19 


8728- 


EO 


29 


BO 


15 


CA 


86 


24 


68 


8730- 


85 


Al 


68 


85 


AO 


20 


3D 


DB 


8738- 


68 


85 


24 


68 


85 


25 


4C 


22 


8740- 


FC 


68 


68 


68 


85 


24 


68 


85 


8748- 


25 


20 


22 


FC 


A2 


35 


4C 


12 


8750- 


D4 


2C 


IO 


CO 


20 


OC 


FD 


29 


8758- 


7F 


AS 


A9 


00 


20 


F2 


E2 


20 


8760- 


Dl 


SA 


AA 


4C 


2B 


EB 


68 


87 


8768- 


DO 


OB 


C9 


18 


BO 


07 


AA 


C8 


8770- 


68 


48 


A9 


00 


SD 


71 


87 


20 


8778- 


67 


DD 


20 


52 


E7 


A5 


50 


SD 


87SO- 


67 


87 


8D 


6A 


87 


A5 


51 


8D 


8788- 


68 


87 


8D 


6B 


87 


20 


BE 


DE 


8790- 


20 


67 


DD 


20 


FB 


E6 


8E 


69 


8798- 


87 


BE 


6C 


87 


20 


BE 


DE 


20 


87A0- 


67 


DD 


20 


FB 


E6 


EO 


00 


FO 


87A8- 


A3 


at 


66 


a/ 


at 


70 


87 


A9 


87B0- 


00 


8D 


6E 


87 


8D 


6D 


87 


8D 


87B8- 


6F 


87 


20 


E7 


87 


18 


AD 


6D 


87CO 


87 


6D 


70 


87 


8D 


6D 


87 


90 



Pom's ir 14 



87C8- 


06 


EE 


6E 


87 20 E7 


87 


38 


37D0- 


AD 


6F 


87 


ED 6E 87 


3D 


6F 


87D8- 


87 


BO 


E2 


CE 70 87 


20 


E7 


87E0- 


87 


AD 


70 


87 DO D7 


60 


AD 


87E8- 


69 


87 


18 


6D 6E 87 


BO 


07 


87F0- 


C9 


CO 


BO 


03 20 00 


38 


38 


67F8- 


AD 


69 


87 


ED 6E 87 


90 


4B 


6600- 


48 


AD 


67 


87 18 6D 


70 


87 


8808- 


BO 


12 


AC 


68 87 FO 


04 


C9 


8810- 


18 


BO 


19 


AA 68 48 


20 


4C 


ssis- 


88 


4C 


2C 


fi8 AC 68 


37 


DO 


8320- 


OB 


C9 


18 


BO 07 A A 


C6 


68 


8*328- 


48 


20 


4C 


88 38 AD 


67 


87 


8830- 


ED 


70 


87 


90 OB AC 


68 


87 
38 


3833- 


AA 


68 


20 


4C 88 4C 


4B 


8340- 


AA 


68 


AC 


S3 87 FO 


04 


88 


8846- 


20 


4C 


88 


60 20 57 


F4 


AD 


8850- 


71 


87 


FO 


F7 AD 6A 


87 


AE 


8858- 


6B 


87 


AC 


feC 87 4C 


3A 


F5 


8360- 


A9 


AO 


8D 


71 67 4C 


77 


87 


8868- 


20 


B7 


00 


DO Ol 60 







ROUTINE VARIABLE 
de la Tortue 



XBAD1.BAE3 

MBL- A? 80 85 14 20 E3 DF 
8AD8- 24 11 30 05 24 12 30 01 
8rE0- 66 4C 76 DO 



Tortue d« DUMA - Pom's 6 a 
l'adresse SSS6E - avec modifications 
au-dessous. 



•6C75.90D2 



8C75 


A9 


00 


8D 










8C78- 


CA 


SC 


20 


7B 


DD 


20 


SC DD 


8C80- 


A5 


Al AO 02 Bl AO 99 IS 


8C88- 


00 


83 


10 


F3 


E6 


18 


A2 00 


SC90- 


CS 


Bl 


19 


09 


80 


9D 


OO 02 


6C96- 


ca 


E8 


C4 


18 


90 


F3 


CA AD 


8CA0- 


CA 


8C DO 


16 


A9 


AO 


8D CA 


8CA8- 


8C 


A9 8C 85 


1A 


A9 


CI 85 


8CB0- 


19 


A9 08 85 18 AO OO 4C 


op r*fl 


91 


ac 


A9 


OO 


85 


48 


4C 70 


8CC0- 


FF 


AO CE 


AO 


C4 


B7 


C4 B2 


8CC8- 


C7 


AO 00 


20 


91 


90 


A5 37 


8OD0- 


C9 


8C 


FO 


13 


A9 


SC 


85 37 


8CDS- 


A9 


FO 


85 


36 


A9 


8E 


05 39 


8CE0- 


A9 


32 


85 


38 


20 


EA 03 A9 


8CE8- 


2C 


8D 


FO 


8C 


3D 


32 8E 60 


8CF0- 


2C 


FO FD 


3D 


88 


8D 20 4A 


8CF8- 


FF 


20 9C 8D A2 OO 8E 8A 


8D00 


8D 


AG 


32 


30 


05 


A9 


7F 8D 


8D08- 


6A 


8D 


AD 


86 


8D 


30 


OD A2 


8D10- 


7F 


8E 


8A 


8D 


29 


3F 


C9 20 


8Dia- 


BO 


02 


09 


CO 


C9 


AO 


90 34 


8D20- 


20 


A8 


8D 


A2 


08 


86 


IF A5 


8D26- 


25 


OA 


OA 


OA 


3D 


89 


8D AD 


8D30- 


89 


8D 


20 


B7 


90 


A5 


24 18 


8D38- 


65 


20 


A8 


AD 


OO 


20 


4D SA 


8D40- 


8D 


91 


26 


91 


26 


EE 


89 8D 


3D4S- 


EE 


3C 


3D 


DO 


03 


EE 


3D 3D 


8D5Q- 


C6 


IF 


DO 


DB 


AD 


aa 


8D Afa 


8D58- 


23 


CA 


8E 


89 


3D 


A6 


25 EC 


3D60- 


39 


8D 


90 


IE 


C9 


8D 


FO 29 


8D68- 


C9 


8A 


FO 


25 


AG 


24 


EC 8B 


8D70- 


8D 


90 


OF 


C9 


95 


FO 


1A AA 



8D78- 


10 17 


C9 


AO 


BO 


13 


29 


7F 


SDSO- 


C9 20 20 


3F 


FF 


4C 


FO 


FD 


6D88- 


8D 17 


00 


27 


91 


11 


31 


51 


8D90- 


Bl 


A9 


OO 


8D 


8D 


90 


20 


OB 


8D98- 


90 4C 82 8D A5 21 


18 


65 


8DA0- 


70 «D 33 


3D 


CE 


8B 


3D 


60 


8DA8- 


38 E9 20 29 


7F 


SD 


3C 


8D 


3DB0- 


A9 


OO 


8D 


3D 


8D 


18 


2E 


3C 


8DB8- 


8D 


2E 


3D 


8D 


2E 3C 


8D 


2E 


8DC0- 


3D 8D 2E 3C 8D 2E 


3D 


8D 


SDC8- 


A5 CE 6D 3C 


3D 


SD 


3C 


3D 


ODDO- 


A5 


CF 


6D 


3D 


8D 


6D 


3D 


8D 


8DD8- 


60 20 


B7 


OO 


C9 


28 


DO 


37 


8DE0- 


20 67 DD 20 FB E6 


8A 


20 


8DE8- 


A8 8D AD 3C 3D 85 


50 


AD 


8DF0- 


3D 8D 85 51 20 B7 


00 


C9 


8DF8- 


23 


DO 


1C 


A9 


OO 


85 


IF 


20 


8E00- 


Bl 


OO 


20 


67 


DD 


20 


FB 


E6 


8E08- 


8A 


A4 


IF 


E6 


IF 


91 


50 


20 


8E10- 


B7 


00 C9 


2C 


FO 


E9 


60 


A2 


6E16- 


10 


4C 


12 


D4 


20 


67 


DD 


20 


3E20- 


FB 


E6 


EO 


Ob 


BO 07 


BD 


8C 


8E28- 


8D 


8D 


41 


8D 


60 


A2 


35 


4C 


8E30- 


12 


D4 


2C 


IB 


FD 


20 


4A 


FF 


8E38- 


A5 


25 


OA 


OA 


OA 


18 


69 


07 


8E40- 


20 


B7 


90 


A5 


24 


18 


65 


20 


8E48- 


A8 


Bl 


26 


48 


Bl 


28 


85 


IF 


8E50- 


48 


A9 


FF 


91 


26 


A9 


FF 


51 


8E58- 


26 


91 


26 


EG 


4E 


DO 


OF 


E6 


8E60- 


4F 


51 


26 


91 


26 


Bl 


28 


AA 


8E68- 


A5 


IF 


91 


28 


6b 


IF 


2C 


00 


8E70- 


CO 


10 


E8 


68 


91 


28 


88 


91 


8E78- 


26 


AD 


00 


CO 


C9 


3D 


DO 


03 


8E80- 


20 


92 


8E 


20 


3F 


FF 


4C 


9E 


8E88- 


92 


A9 


4C 


8D 


FO 


ac 


3D 


32 


8E90- 


8E 


60 


20 


9C 


8D 


A5 


25 


OA 


8E98- 


OA 


OA 


85 


IF 


C6 


IF 


A5 


24 


8EA0- 


18 


65 


20 


8D 


90 


90 


CE 


90 


6EA8- 


90 


A2 


08 


E6 


IF 


A5 


IF 


20 


8EB0- 


B7 


90 


CA 


30 


OF 


AC 


8B 


BD 


8EB8- 


A9 


00 


91 


26 


88 


CC 


90 


90 


8EC0- 


DO 


F8 


FO 


E7 


60 


A6 


23 


3E 


8EC3- 


89 


3D 


A9 


OO 


85 


24 


OA 


05 


SEDO- 


25 


C6 


25 


20 


92 


8E 


AS 


25 


8ED8- 


C5 


22 


DO 


F5 


60 


20 


46 


E7 


8EE0- 


SE 


8D 


90 


20 


9C 


8D 


A5 


50 


8EE8- 


C9 


Ol 


FO 


17 


C9 


02 


FO 


50 


8EF0- 


C9 


03 


DO 


03 


4C 


83 


8F 


C9 


8EF8- 


04 


DO 


Q'3 


4C 


OB 


90 


A2 


35 


8F00- 


4C 


12 


D4 


A5 


23 


OA 


OA 


OA 


3F08- 


85 


IF 


20 


9C 


3D 


A5 


22 


OA 


8F10- 


OA 


OA 


8D 


90 


90 


C6 


IF 


A5 


8F16- 


IF 


20 


B7 


90 


A4 


20 


C8 


Bl 


8F20- 


26 


88 


91 


26 


ca 


C8 


CC 


8B 


8F2S- 


8D 


90 


F4 


A5 


IF 


20 


B7 


90 


3F30- 


AD 


8D 


90 


AC 


8B 


8D 


91 


26 


0F38- 


A5 


IF 


CD 


90 


90 


DO 


D6 


60 


8F4Q- 


A5 


23 


OA 


OA 


OA 


85 


XV 


20 


8F48- 


9C 


8D 


A5 


22 


OA 


OA 


OA 


8D 


8F50- 


90 


90 


A4 


20 


88 


8C 


89 


3D 


8F5S- 


C6 


IF 


A5 


IF 20 


B7 


90 


AC 


8F60- 


8B SD 88 Bl 


26 


ca 


91 


26 


8F6S- 


88 88 CC 89 8D DO 


F4 


A5 


8F70- 


IF 


20 B7 


90 


AD 


3D 


90 


A4 


SF73- 


20 


91 


26 


A5 


IF 


CD 


90 


90 


8F0O- 


DO 


D6 


60 


AS 


23 


OA 


OA 


OA 


8F8S- 


SD 8F 90 38 E9 


08 


aD 


SE 


8F90- 


90 A5 22 OA OA OA 


3D 


90 


8F98- 


90 20 


9C 


SD 


A4 


20 


S3 


SC 


3FA0 


89 


OD 


AD 


6E 


90 


36 


E9 


01 


8FA8- 


CD 


90 


90 


FO 


34 


8D 


8E 


90 


8FB0- 


20 


B7 


90 


A5 


26 85 


06 


A5 


8FB8- 


27 35 07 AD ftF 90 


38 


E9 


SFCO- 


01 


3D 8F 


90 AD 


SF 


90 


20 


8FC8- 


B7 90 


A5 26 


85 08 


A5 


27 


8FD0- 


85 Oy AC 8B 


80 


Bl 


06 


91 


8FD3- 


08 88 CC 89 8D DO 


Fb 


FO 


AFEO- 


CI 


AD 


SF 


90 


CD 


90 


90 


FO 


8FE8- 


21 38 E9 01 8D 8F 


90 


20 


8FF0- 


B7 


90 


A5 


26 


85 08 


A5 


27 


8FF8- 


85 OS AD 8D 90 


AC 


8B 


8D 



90O0- 


91 08 


88 


CC 


A9 


AD 


DO 


Fa 


9O08- 


FO D7 


60 


A5 


22 


OA 


OA 


OA 


9010- 


OD 8F 


90 


CE 


8F 


90 


16 


D y 


9018- 


07 8D 


8E 


90 


A5 


23 


OA 


OA 


9020- 


OA 8D 


90 


90 


20 


9C 


8D 


AD 


9028- 


SE 90 


IS 


69 


01 


CD 


90 


90 


9030 


BO 30 


8D 


8E 


90 


20 


B7 


90 


9038- 


A3 26 


65 


06 


A5 


27 


85 


07 


9040- 


AD 8F 


90 


18 


69 


01 


8D 


OF 


9048- 


90 20 


B7 


90 


A5 


26 


85 


08 


9050- 


A5 27 


35 


09 


AC 


SB 


SD 


Bl 


9058- 


06 91 


08 


C4 


20 
90 


FO 


C8 


68 


9060- 


10 F5 


CE 


90 


AD 


8F 


90 


9068- 


CD 90 


90 


FO 


9D 


18 


£9 


1 


9070- 


8D 8F 


90 


20 


B7 


90 


A5 


26 


9070 


05 00 


A5 


27 


65 


OO 


AD 


OD 


9080- 


SO AC 


8B 


8D 


91 


08 


C4 


20 


9088- 


FO DB 


88 


10 


F7 


00 


00 


00 


9090- 


BF A9 


CO 


A5 


1 F 


AS 


FA 


48 


9098- 


A9 00 


85 


E6 


C6 


IF 


A5 


IF 


90AO- 


20 11 


F4 


A4 


IF 


A5 


27 


99 


90A8- 


D3 90 


A5 


26 


99 


93 


91 


A5 


90B0- 


IF DO 


E9 


68 


85 


£6 


60 


A8 


90B8- 


20 C8 


90 


B9 


93 


91 


85 


26 


90C0 


B9 D3 


90 


05 


EG 


65 


27 


60 


90CS- 


A5 E6 


C9 


40 


FO 


04 


A9 


20 


90D0- 


85 E6 


60 













Table 

•9253.94F5 



9253- 


20 


67 


DD 


20 


52 








9258- 


E7 


A5 


50 


85 


06 


A5 


51 


05 


3260- 


07 


20 


BE 


DE 


20 


67 


DD 


20 


9268- 


52 


E7 


AO 


00 


A5 


50 


91 


06 


9270- 


A5 


51 


C8 


91 


06 


60 


A9 


4C 


9278- 


85 


OA 


A9 


S3 


05 


OB 


A9 


92 


9280- 


as 


oc 


60 


20 


52 


E7 


AO 


01 


9288- 


Bl 


50 


AA 


88 


Bl 


50 


A8 


8A 


9290- 


4C 


F2 


E2 


A9 


9E 


85 


38 


A9 


9298- 


92 


85 


39 


4C 


EA 


03 


20 


IB 


92A0- 


FD 


85 


06 


AC 


61 


CO 


30 


06 


92A8- 


AC 


62 


CO 


30 


01 


so 


86 


IF 


92B0- 


AO 


18 


20 


E4 


FB 


AO 


00 


A6 


92BS- 


1F 


A5 


06 


C9 


FF 


FO 


4B 


C9 


92C0- 


BO 


90 


OE 


C9 


B8 


BO 


OA 


30 


92C8- 


E9 


BO 


A8 


99 


50 


CO 


4C 


9E 


92D0- 


92 


B9 


15 


93 


FO 


31 


C5 


06 


92D8- 


FO 


06 


C8 


C8 


C8 


4C 


Dl 


92 


92E0- 


C8 


B9 


15 


93 


85 


18 


C8 


B9 


92E0- 


15 


93 


65 


19 


AO 


OO 


Bl 


18 


92F0- 


FO 


OF 


cy 


ao 


FO 


OE 


yD 


00 


92F8- 


02 E8 


C8 


20 


ED 


FD 


4C 


EE 


9300- 


97 


A9 


AO 


60 


4C 


AF 


FD 


A9 


9308- 


20 


60 


20 


10 


FC 


A9 


AO 


20 


9310- 


ED 


FD 


A9 


88 


60 


DO 


8B 


93 


931S- 


C3 


91 


93 


C5 


9A 


93 


AA 


AE 


9320- 


93 


D4 


BS 


93 


C9 


BE 


93 


DB 


9328- 


C4 


93 


CO 


CA 


93 


CA 


Dl 


93 


9330- 


DD 


DE 


93 


D5 


E5 


S3 


C8 


F2 


9338- 


93 C7 


F7 


93 


Al 


KB 


93 


CC 


9340- 


08 


94 


D3 


OD 


94 


C2 


12 


94 


934A- 


BD 17 94 


AE 


IF 


94 


D2 


25 


9350- 


94 


Dl 


29 


94 


DC 


2E 


94 


CD 


9358- 


33 


94 


A4 


39 


94 


BC 


3F 


94 


9360- 


BE 


45 


94 


CB 


4A 


94 


CE 


58 


9368- 


94 D9 5D 


94 


DE 


62 


94 


A5 


9370- 


86 


94 


89 


AA 


94 


A3 


B3 


94 


9378- 


DA 


BD 94 


D8 


C6 


94 


D7 


DO 


9380- 


94 AF 


D8 


94 


BF 


E3 


94 


A7 


9388- 


ED 94 


00 


DO 


D2 


C9 


CE 


D4 


9390- 


OO C3 


CI 


D4 


CI 


CC 


CF 


C7 


9398- 


8D 


00 


C8 


CF 


CD 


C5 


BA 


DO 


93A0- 


CF 


CB 


C5 


B3 


B3 


AC 


B2 


B8 


93A8- 


BA 


CC 


C9 


D3 


D4 


00 


C3 


CI 


93B0- 


CC 


CC 


AD 


Bl 


B5 


Bl 


8D 


00 


93B8- 


A6 


AO 


C4 


CF 


DB 


00 


C9 


CE 


93C0- 


DO 


D5 


D4 


00 


A6 


DO 


CC 


CI 


93C8- 


D 1 ? 


00 


CI 


D3 


D3 


C5 


CD 


8D 



Pom's TT 14 



93DU- 


00 


A6 


D3 


05 


DO 


C5 


D2 


AO 


9438- 


00 


C3 


C8 


D2 


A4 


A8 


00 


DO 


94A0- 


Bl 


BO 


B6 


A9 


AA 


B2 


B5 


B6 


VJUo- 


DO 


D2 


C9 


CE 


D4 


00 


Ab 


CE 


9440- 


C5 


C5 


CB 


A8 


00 


DO 


CF 


CB 


94A8- 


AD 


00 


AO 


AO 


AO 


AO 


AO 


AO 


S3K0- 


CF 




D3 


C5 


00 


Afe 


DO 


D2 


9448- 


C5 


00 


DO 


CF 


CB 


C5 


AD 


Bl 


9460- 


AO 


AO 


00 


AO 


CE 


AO 


CS 


C4 


93E8- 


C9 


CE 


D4 


AO 


D5 


D3 


CE 


C7 


9<i50- 


B6 


B3 


B6 


B8 


AC 


BO 


BA 


OO 


94B8- 


B2 


B4 


C7 


8D 


OO 


A6 


C3 


C9 


93F0- 


BE 


00 


ca 


C7 


D2 


8D 


00 


C7 


9458- 


CE 


C5 


D8 


D4 


00 


C3 


CI 


CC 


94C0- 


02 


C3 


CC 


Cb 


BD 


00 


A6 


D8 


8- 


U2 


8D 


oo 


D4 


Cb 


D8 


D4 


BA 


9460- 


CC 


00 


BF 


A2 


C8 


C9 


CD 


C5 


94C8- 


C3 


C9 


D2 


C3 


CC 


C5 


BD 


00 


9400- 


CE 


CF 


D2 


CD 


CI 


CC 


8D 


00 


9468- 


CD 


AO 


BD 


AO 


A2 


DO 


C5 


C5 


94D0- 


A6 


AO 


D7 


CI 


C9 


D4 


AO 


00 


9408- 


CC 


CF 


CI 


C4 


00 


D3 


CI 


D6 


9470- 


CB 


A8 


Bl 


Bl 


B5 


A9 


AB 


DO 


94D8 


D4 


C5 


D6 


D4 


BA 


C8 


CF 


CD 


0410 - 


C5 


00 


C2 


D2 


D5 


CE 


00 


C3 


9478- 


C5 


C5 


CB 


A8 


Bl 


Bl 


B6 


AS 


94E0- 


C5 


8D 


00 


AO 


D2 


CE 


C4 


A8 


341S- 


CF 


CC 


CF 


D2 


AO 


BD 


00 


C8 


9480- 


AA 


B2 


Bb 


Bb 


8D 


OO 


BF 


A2 


94E8- 


Bl 


A9 


A A 


AO 


00 


A6 


DO 


D2, 


9420- 


DO 


CC 


CF 


D4 


00 


D2 


05 


CE 


9488- 


CC 


CF 


CD 


C5 


CD 


AO 


BD 


AO 


94F0- 


CF 


Dft 


r>4 


AO 


00 


00 




<*4?ft- 


00 


AS 


C7 


C5 


D4 


00 


CC 


C9 


9490- 


A2 


DO 


C5 


C5 


CB 


AS 


Bl 


BO 




















9430- 


D3 


D4 


00 


CD 


C9 


C4 


A4 


A8 


9498 


B5 


A9 


AB 


DO 


C5 


C5 


CB 


A8 





















* Remplacer suite Instruction" origi- 
nal par c«'ui-ci 

* Suppriinei les lignes 65 a 90 de 
I original. 

* Assembler a l'adresse S886E 



1 I<i<«*ii<ii**4li*iii*i**fi«**i<i 

2 

3 * Suite instructions 
4 

5 SORTIE JSfi *B7 

6 CMP VV 

7 BNE SSUITE 



8 JSfi «B1 

9 RTS 

10 SSUITE IDA 

11 JSR iDECO 

12 JHP $8848 
13 

1 4 ilHHHii<»HHHH«iHHHH 



•7000 


.7300 














70F6- 


7E 


42 


40 


78 


08 


00 


08 


00 


72O0- 


00 


00 


00 


00 


OO 


00 


00 00 




















7100 


3C 


24 


3C 


00 


OO 


OO 


00 


00 


7208- 


OO 


00 


3E 


20 


3E 


22 


3E 00 


700O- 


OO 


OO 


OO 


00 


00 


00 


00 


00 


7108- 


IF 


11 


3F 


21 


23 


23 


23 


00 


7210- 


02 


02 


3£ 


22 


22 


22 


3E 00 


7008 - 


1C 


1C 


1C 


1C 


1C 


00 


1C 


00 


7110- 


IF 


11 


3F 


21 


23 


23 


3F 


00 


7218- 


00 


00 


3E 


02 


02 


02 


3E 00 


7010- 


36 


36 


24 


12 


00 


00 


00 


00 


7118- 


3F 


21 


01 


03 


03 


23 


3F 


00 


7220- 


20 


20 


3E 


22 


22 


22 


3E 00 


7018- 


22 


7F 


22 


22 


22 


7F 


22 


OO 


7120- 


IF 


21 


21 


23 


23 


23 


IF 


OO 


7228- 


OO 


OO 


3E 


22 


3E 


02 


3E 00 


702O 


08 


3E 


02 


3E 


20 


3E 


08 


00 


7128- 


3F 


01 


OF 


01 


03 


03 


3F 


00 


7230- 


3C 


04 


IE 


04 


04 


04 


04 00 


7028- 


47 


25 


17 


08 


74 


52 


71 


OO 


7130- 


3F 


01 


IF 


01 


03 


03 


03 


00 


7238- 


OO 


OO 


3E 


22 


22 


3E 


20 3E 


7030- 


OC 


12 


02 


04 


OA 


12 


2E 


00 


7138- 


3F 


21 


01 


39 


23 


23 


3F 


00 


7240- 


02 


02 


3E 


22 


22 


22 


22 00 


7038- 


1C 


ie 


10 


OC 


00 


00 


00 


OO 


7140- 


21 


21 


3F 


21 


23 


23 


23 


OO 


7248- 


18 


00 


18 


18 


18 


18 


18 00 


7040- 


18 


oc 


06 


06 


06 


OC 


18 


OO 


7148 


04 


04 


04 


OC 


OC 


OC 


OC 


OO 


7250- 


OO 


10 


OO 


io 


10 


IO 


12 IE 


7048- 


06 


OC 


18 


18 


18 


OC 


06 


OO 


7150- 


20 


20 


20 


30 


30 


31 


IE 


OO 


7258- 


02 


02 


12 


OA 


06 


OA 


12 00 


v'ObO- 


84 


95 


8E 


84 


SE 


95 


84 


80 


7158- 


21 


11 


09 


OF 


13 


23 


23 


00 


7260- 


18 


18 


18 


18 


18 


18 


18 00 


7058- 


00 


08 


08 


3E 


18 


18 


00 


00 


7160- 


01 


01 


01 


03 


03 


03 


3F 


OO 


7268- 


00 


OO 


7F 


49 


49 


49 


49 00 


7060- 


00 


OO 


OO 


00 


1C 


1C 


10 


OC 


7168- 


3F 


49 


49 


49 


4B 


4B 


4B 


OO 


7270- 


OO 


OO 


3E 


22 


22 22 


22 00 


7068 


OO 


OO 


00 


3E 


3E 


00 


00 


00 


7170- 


27 


29 


29 


29 


2B 


2B 


33 


OO 


7276- 


00 


OO 


3E 


22 


22 22 


3E 00 


707O- 


OO 


OO 


OO 


00 


1C 


1C 


IC 


OO 


7178- 


3F 


21 


21 


21 


23 


23 


3F 


00 


7280- 


OO 


OO 


3E 


22 


22 


3E 


02 02 


7078- 


40 


20 


10 


08 


04 


02 


01 


OO 


7180- 


3F 


21 


21 


3F 


03 


03 


03 


00 


7288- 


00 


00 


3E 


22 


22 


3E 


20 20 


7080- 


IF 


11 


19 


15 


13 


13 


IF OO 


7188- 


3F 21 


21 


29 


2B 


13 


2F 


OO 


7290- 


OO 


OO 


3E 


22 


02 


02 


02 00 


7088- 


07 


04 


04 


04 


04 


04 


IF 


OO 


7190 


3F 21 


21 


3F 


13 


23 


23 


OO 


7298 


00 


00 


3E 


02 


3E 


20 


3E 00 


709O- 


3F 


20 


20 


3F 


03 


03 


3F 


OO 


7198- 


3F 01 


01 


3F 


30 


30 


3F 


OO 


72A0- 


00 04 


3E 


04 


04 


04 


3C 00 


7098- 


IE 


10 10 


IE 


16 


18 IF 00 


71A0- 


3F 04 


04 


04 


OC 


OC 


OC 


00 


72A8- 


00 00 


24 


24 


24 


24 


3C 00 


70AO- 


91 


91 91 


91 


BF 


98 98 


80 


71A8- 


21 


21 


21 


23 


23 


23 


3F 


OO 


72B0- 


00 00 


22 


22 


22 


14 


08 00 


70A8- 


IF 


01 


01 


IF 


16 


19 


1 F 


OO 


71B0- 


21 


21 


23 


23 


22 


14 


08 


OO 


72&8- 


00 


00 


41 


49 


49 


49 


7? 00 


70BO- 


9F 


91 


81 


9F 


93 


93 


9F 


80 


71B8- 


41 


41 


49 


49 


4B 


4B 


7F 


OO 


72C0- 


OO 


OO 


22 


14 


08 


14 


22 00 


70B8- 


9F 


91 


88 


84 


8b 


8b 


8b 


80 


71C0- 


21 


12 


OC 


OC 


12 


21 


21 


OO 


72C8- 


00 00 


22 


22 


22 


3E 


20 3E 


70CO- 


IF 


11 


11 


IF 


13 


13 


IF 


00 


71C8- 


21 


21 


21 


3F 


04 


OC 


OC 


00 


72D0- 


00 00 


3E 


10 


08 


04 


3E 00 


70C8- 


IF 


11 11 


IF 


16 


19 IF 00 


71D0- 


3F 


10 


08 


04 


02 


03 


3F 


00 


72D8- 


00 


00 


00 


00 


00 00 00 00 


70D0- 


OO 


1C 1C 


00 


1C 


1C 00 


OO 


71D3- 


IE 


02 


02 


02 


02 


02 


IE 


00 


72E0 


00 


08 


08 


OO 


06 06 06 06 


70D8- 


00 


1C 


1C 


00 


1C 


1C 10 OC 


71E0- 


01 


02 


04 


OS 


10 


20 


40 


00 


72E8- 00 00 


00 


OO 


00 


00 


00 00 


70EO- 


10 


08 04 


03 


04 


08 10 00 


71E8- 


3C 20 


20 


20 


20 


20 


3C 


00 


72F0- 00 00 


OO 


00 


00 


00 


00 00 


70E&- 


00 3E 3E 


00 


3E 


3E 


00 


00 


71F0- 


00 08 


1C 


36 


63 


00 


00 


00 


72FA- 


00 


00 


00 


00 


00 


00 


00 00 


70F0- 


01 


02 04 


18 


04 


02 01 OO 


71F8- 


00 00 


00 


OO 


OO 


OO 


OO 


OO 


7300.- 


FF 















Ecriture entrelacee/vertlcale 

Void deux pelites routines qui se suf- 
hsent a elles-memes et peuvent 
eventuellement dtre utilisees pour 
une presentation plus originate de 
vos programmes. 

Marcel CoWni 



5 TEXT : HOHE 

10 FOR I • 1 70 7: POKE 32.2 • t - IS P 
OKI: 33.1: HOME : READ A*: PRINT A 

HEXT I; TEXT ; VTAfi 23; END 



70 DATA I FrTIIBE . U I«i IftLPHENT, EH COLOM 
NES. VERTICALES.HIS AU POINT. PAR C 
OTTIMI NARCEL, POUR DEMONSTRATION. 



10 TEXT : HOHE 

A19 ■ "NorBoiatant.l'ecriture e'aliL 
che . 

330 A2* - "du haut vera le bas.et nun da 
droit*. 

340 A3« ■ "vtrt g«uch« ou invcr Ae «enL 

- 

350 A4* ^ "Ceci D'llt que deaon«tra t l t , a 

t arrong* 4" 

JfeO A3S ■ "c«t «JieL. 

370 AGD - "Las 1 iqn«a •'•nti *l«c«nL d* g 
•uch* a 

SAO A7« • "drnir»..l l nv*r»iant . 



390 FOR 1=1 TO 40 

400 VTAB 7: HTAB 41-1: PRINT LEFTS < 
AiS.l) 

410 VTAB fl: HTAB i: PRINT RIGHTS <A2S. 

I 3 

420 NEXT 

430 FOR I - 1 TO 40 

-140 VTAB 9: HTAB 41-1: PRINT LEFT* ' 
A3S.1> 

450 VTAB 11! HTAB IS PR TNT RIGHTS *A40 
,I> 

460 VTAB 12: HTAB 41-1: PRINT LEFTS 

IA5S.I ) 
470 NEXT 

4S0 FOR I - 1 TO 40 

490 VTAB 14: HTA& 1: PRINT RICIITO .AGO 
.3) 

*00 VTAB 15: HTAB 41-1: PRINT LEFTB 

<A7S.2> 
500 NEXT 



Pom's if 14 



Visicalc Advanced Version 



Visicalc Advanced Version (VAV) est 
deja sorti depuis quelque temps en 
version //e, mais je n'avais pas en- 
core eu 1' occasion de le tester et, 
partant. de vous en parler. VAV se 
presente sous la forme d'un classeur 
avec une documentation de plus de 
200 pages, une disquette de hoot et 
une disquette programme I presenta- 
tion piofessionnelle, II est indispensa- 
ble de disposer de 128K de me- 
moire, et tres souhaitable d'ovoir 
deux lecteurs de disquettes: il faut 
enfin pouvoir depenser 3.200 F HT 
prix public. 

Vitesse de calcul 

En quelque mots, c'est un tahleur 
presque aussi rapidc que Visicalc et 
plus puissant que Multiplan selon de 
nombreux criteres. Ainsi. j'ai 
compare diverses rnesures de temps 
et de place rnemoire pour !e tableau 
de tresorerie utilise dans les livres 
"Visicalc sur Apple" et "Multiplan 
pour Apple"; en voici les resultats : 

ViMcdc Mulnplan Magicalc V.ft.V. 

Chargemeni 60"' 15" S3" 11V 
Memoirelibre 21K 25K 76K 56K 
Temps de calcul 23" 50'" 25" 33" 

Un autre tableau tres simple a ete 
constitue. avec des chiffres dans les 
dix premieres cellules de la colonne 
1. puis 10 colonnes de 100 lignes ef- 
fectuant la somme des dix valeurs de 
la colonne 1. Le tableau suivant esl 
alors obtenu : 

Visicalc Multoplan Maggie VAV 

Memoirs libra 15K I«K 61K 50K 
Tpmp? de calcul 23*' 190" 40" 50" 

On constate que le classement selon 
la Vitesse de calcul reste le meme, 
aver toutefois des rapports de vitesse 
differents. Id les differences de Vi- 
tesse sont amplifiees. ce qui est nor- 
mal pour i in tableau plus grand. 

Visicalc et VAV ont un charqement 
sensiblement plus long, car celui-ci 
requiert un recalcul complet, contrai- 
rement au cas de Multiplan. Le char- 
gement de VAV est sensiblement 
plus long, ainsi que Fappel de nom- 
breuses commandes. En effet. VAV 
ne reside pas tout entier en rnemoire. 
ce qui a Favantage de laisser a !' utili- 
se teur 70K. contrairement aux 35K 
de Multiplan et aux 34K de Visicalc : 
seul Magicalc fait mieux avec 90K. 
On peut done utiliser avec VAV des 
tableaux deux fois plus importants. 
Cela se paye par la necessite de gar- 
der la disquette programme dans le 
premier lecteur (il faut done en avoir 
deux) et les va-et-vient ayant lieu lors 
des appels de commandes. 
Comparons a present VAV a Multi- 
plan, plutot qua son ancetre Visicalc. 
qui date franchement (ce qui a fait le 
succes de Magicalc. qui en est une 
amelioration sensible). Par rapport a 
Multiplan, VAV apporte de nouvelles 



possibility de formatage. des foiic- 
tions nouvelles et. surtout. la prepro- 
grammation de sequences de tou- 
ches. 

Formatage 

Comme dans Multiplan. le formatage 
comport e deux parties, 1'une relative 
au format proprement dit (le "code 
format" de Multiplan). I'autre au ca- 
drage. deux domaines dans Jesquels 
les options de VAV sont plus nom- 
breuses. Dans VAV, le format (/F 
nr le format /A pour les attri- 
ts) scrt aussi a definir le type d'in- 
formation autorisee. son cadrage 
dans la cellule (plus riche que pour 
Multiplan) et le fait de cacher (/AH 
pour Hide) ou non son contenu. 
L'utilisareur peut definir des formats 
rcpetitifs qui seront alors appeles di- 
rectement avec *VF=x". ou x est le 
code du carar.tere associe au format 
personnalise a utiliser. II y a 37 
commandes debutant par "/A" et 
neuf par 7F'\ Les formats, comme 
les attribute, sont reproductibles sepa- 
rement du contenu des cellules. 

Fonctions 

Par rapport aux fonctions dc Multi 
plan, il manque dans VAV les fonc- 
tions DELTA et NBITER (liees au 
calcul iteratif. et done inutiles dans 
VAV). CCARTYPE, STXT. SIGNE. 
LIGNE et COLONNL. 
Les fonctions nouvelles sont principa- 
lement les fonctions financieres. les 
fonctions de gestion de dates et 
DOTPROD. Cette dorniere fonction. 
introuvable dans les autres tableuib 
classiques (meme Lotus 1-2-3...). et- 
fectue la somme des produits de 
deux groupes de valeurs . le pioduit 
scalaire. 

Les fonctions financieres sont FV (va- 
leur future). PERIODS (calcul du 
nombre de periodes de rembourse- 
ment), PMT (mensualites a payer), et 
IRR (taux de rendement interne), en 
plus du desormais classique NPV (la 
valeur actuelle nette). 
II y a neuf fonctions de calcul de 
dates, permettant entre autres de cal* 
culer le nombre de jours entre deux 
dates. 

Preprogrammation 

On peut, a Patefe de 13 K= pro- 
grammer des sequences de touches 
completes, appelees simplement par 
"Ctil-S x". ou x sera le code de 
commande de la sequence souhai- 
tee. Certe capacite de preprogram 



Heive Thiriez 



uiei des traitemerits standards ne se 
trouve actuellement que dans Lotus 
1-2-3 : elle n'est disponible dans 
aucun tableur actuel sur Apple II. 
Cette preprogrammation permet de 
gagncr beaucoup de temps lors de la 
redlisdiion de tableaux, en evitant les 
operations reperitives. telles que I'in- 
sertion d'une colonne dc separation 
avec des l'insertion d'une ligne 
de titrage avec les mois de I'annee, 
ou la creation d'une formule de tota- 
lisation en ligne puis sa repetition 
vers le bas. 

La preprogrammation permet aussi 
par exempTe d'auioiiialisei des ope- 
rations dans lesquelles il est impor- 
tant d'eviter les crreurs, telles que la 
lecluie ou la sauveyarde partielte 
d un tableau en format DIF. 

Limites de VAV 

VAV est inferieur a Multiplan au ni- 
veau de la "consolidation", du fene- 
trage et de 1' utilisation de noms. II ne 
peut, comme Multiplan, lier deux ou 
plusieurs tableaux de facon active. II 
est limite a deux fenetres. plus Igs 
titres, ce qui [ail Loul de meme cinq 
fenetres par rapport aux huit (les 
titres en prennent quatre) de Multi- 
plan. II ne peut non plus utiliser des 
noms dans ses formules. pour definir 
par exemple une cellule de contribu- 
tion par "Px Venfe - Px Achat". 

Conclusion 

Comme je Favais dit dans la conclu- 
sion de I" analyse de Magicalc. il est 
difficile dc dire si un tableur est 
'"itieilleur* ' qu'un autre; cela n'a pas 
beaucoup de sens. Hnalement. VAV 
donne a Tutilisateur une p3us grandc 
capacite menioiie el des calculs plus 
rapides que ceux de Multiplan: sur 
ces points, il est par contrc inferieur a 
Magicalc. Ses fonctions financieres 
sont sensiblement plus riches, et il est 
le seul des tableurs sur Apple a offrir 
la preprogrammation de sequences 
de touches et la fonction DOTPROD 
En compensation, pas d'uttlisarion dc 
noms ni de liens extemes facilitant la 
consolidation, En conclusion, ce pro- 
duit possede un excellent rapport 
peiformance'prix. 

En ce qui concerne Multiplan. n'ou- 
blions pas la sortie (septembr* 84) 
de la version 1.07. qui ajoute des 
fonctions financieres (dont le taux de 
rendement interne), est rompafihle 
avec le /c et exploite les 64K de la 
carte 80 colonnes etendue. Quand je 
pense que j'ai deja plus de 10 ta- 
bleurs sur mon brave Apple IL., ■ 



Pom's n* 14 



II etait temps qu'un capitaliste 




LENIN 



KARL 

MARX 



OTSK 



DAS KAPITAL 



fasse une revolution. 



lfl..l-< Id.lM.l. I.%.IUIH ll><."!M 1lll«t jl,^ 





• 1 ». to** 

tr-H— 

■A 




















cm 


H — 



JWte. 



E9 




N'apprenez plus a devenir une machine, Apple a invente Macintosh 



PEACHTREE , LA COMP 
QUE C'EN EST PRESQU) 




La comptabilite, cest long, complique. 
fastidieux! 

Tout cela etait vrai avant Mac Accounting. Avec 
Mac Accounting, le nouveau logidel de comptabilite 
de Peaehtree, finis les livres de caisse en deux cxcm- 
plaires, finis les bons de caisse, finis les carbones, 
terminees les miscs a jour qui font perdre ciu temps. 
Mac Accounting est un programme comptable rieve- 
loppc spccialement par Peaehtree pour le Mac Intosh. 
Et dans le domaine particiilier de la comptabilite, 
la competence de Peaehtree nest plus a prouver. 
Avec plus de lOO.OOO utilisateUrs dans le monde 
entier, Peaehtree possede une ti es large experience 
des besoins des petites et moyennes entreprises 
en matiei e de comptabilite. Specialement etudie pour 
un utilisateur n'ayant aucune connaissance infor- 



matique prealable, Mac Accounting est concu pour 
etre le plus proche des systemes manuels... avec 
l'exactitudcctla rapiditc des solutions informatiques. 
Un comptable reconnait immediatement les pages 
d'un journal de caisse ou du Grand Livrc : cVst 
exactement ce ciu'tfretrouvora sur leeran du Mac 
Intosh lorsqu'il utilisera Mac Accounting. 

Mac Cash est le premier des deux program- 
mes qui constituent Mac Accounting. Cest un livrede 
caisse sur ecran. Ideal pour les PME, ses carac- 
lerisliques parlent d'elles-rnemes. La taille du journal, 
le titre des colonnes, la periode comptable et les 
formats monetaires sont definis par 1'utilisateur. 
Mac Cash accepte jusqu a cinq taux de taxe, et 
huit colonnes d'analyse des prix hors-taxes. sa raise 
a jour est automatique au fur et a mesure de la 



40 



Pom's rr 14 



TA DEVIENT SI SIMPLE 
E UN PECHE. 



3 
j 
"5 




saisie des operations, en fin 1'utilisateur specific lui- 

ru&ne les modules des etats de sortie et leurcontenu. 

Bref, un outil simple et performant. 

Mac Ledger est le second module de Mae 
Accounting, e'est la partie eomptabilite generate. 
Le format du journal est standard et pent etre utilise 
aussi bien pour les comptes fournisseurs que pour 
les comptes clients.. L'ufilisateur definit lui-merne le 
format des fiches comptables qui se seleelaonnent 
facilement a I'aide de la souris Mac Intosh. Les 
operations saisies peuvenl etre analysees par type 
de prod u it, par territoire, par vendeur ou par toute 
autre variable definie par I'ulilisateur,,, 
Les rreances sont analysees sur trois periodes, 
cc qui facilile conlrole ei reajustement. En resume 
le complement indispensable de Mac Cash. 



Pom's n" 14 



Dernier avantage : Mac Accounting a ete 
conp u en franrrais et peut etre utilise par n'importe 
quel uiilisaleur en moins de [rente minutes. 
Le doute nest plus permis : avec Mac Intosh et Mac 
Accou riling la com ptabilite devient si simple que e"est 
presque un peche. 



Peaditree est distribue par Logiciel PC: 113, bcl Pereire 
75017 Paris. Tel.: 763.62.88. 



Peachtree 



41 




avec les livres RS.I. 



tome ' 

Par Nicole Breaud-Pouliquen 
Cet ouvrage presence les ipec incites 
du Basic Applesoft a partir d'unc 
description du materiel ct du logiciel 
du systeme Apple. Les technique J 
de program mat ion. do composition 
ot d'artimation dc dc&sino ct graphp 
quel co lores / sont expliquccsd laidc 
d'exemples illustrati Is ct d'excrciccs 

128 pages - 80,00 FF 

-<k- >'Ap, 

tome I 

pat Nicole breaud-fouliquen 
Ce second volume de la pratique de 
I'Apple II est consacre au systeme 
d "exploitation disque. a la gestion 
des fichiers, a rimpression et aux 
imprtmantcs, a la cane horloge 
Appledock. De nombreux excmples 
de programmes lllusirent les fonc- 
tiom ei lei Luimiidiidcb decntcs. 
120 pages - 80,00 FF 

tome 3 

t>ar Nicole &Koud-PouliQuei\ 
et Dantel-lean David 
Ce volume est une initiation a. la 
programmation en langage machine 
6502 doni le jeu d'instrucuons est 
explique et utilise. L'asscmbleur 
symbol ique et ses logictels connexes 
y sont decrits. L'interaction avec le 
Basic ec avec le systeme y est ctudiee. 
176 pages ~ 90.00 FF 



par Nieal* Rie-aud Pouhqucn 
Un livre de reference, dans la collec- 
tion "Mementos ", destine a sc trou- 
wer en permanence a cote de I'ordi 
nateur Applu II. Son but est l accer. 
rapide a I'lnformanon syruaxe des 
rommandes. codes caractores. mei 
sages d prrpiirv rndps machine, 
adresses utiles II rnmpnrrp pgale- 
rnent un recuoil de ? $ "tnirV" i mlos. 
IfiS "Commerit... V 
144 pages - 100,00 FF 



par Jacques Bofsgonrier 
Pour apprendre progressivcment la 
ptugi diiuudKion des applications uti- 
liijnt lo fiOnurs, I'ouvrage com- 
nMSnCB pdi une piesentaiiun lUtitjSe 
ec ilkisli ee deb luniiiidiides du Syv 
tcme d'Exploitotion Dis-quc ct dci 
instructions du Basic Applesoft. Les 
instructions des fichiers sequentiels 
ct a a-cccs direct sonc cnsuiic decri- 
tcs ainsi que leur utilisation. Des 
methodes pratiques, souvent mal 
connues, montrenc commont utilizer 
au mi«uH des Ochiers a acces direct : 
accec indexo, liste inverse. Une 
wingtame de programmes illustrent 
('utilisation de ces techniques. 
Ic livrc : 176 pages - 90,00 FF 
La disquette d'accompagne- 
ment : 195,00 FF 
Pour Apple II, II plus. He - Dos S i - 
version 18 K ou plus. 

pur Herve Thtnez 

Multiplan est un progiciel qui per- 
met de gerer plusieurs tableaux 
simultanernent ; cet ouvrage sera 
pour les possesseurs d'ordinateurs 
Apple II Plus ou//e un veritable guide 
d'utilisation de Multiplan grace a des 
exemples progresses et a de nom- 
breux cas d'application (gestion de 
portefeuilles. de copropriete, feuille 
de pale, irnpots. tableaux de bord, 
etc). 

Le livre : 216 pages - 100,00 FF 
La disquette d'accornpagne- 
ment : 195,00 FF 

Pour Apple It plus, lie - Dos 3.3 
vmmn f»4 K ou plus (Disquette 
maiinpssp Miilriplan indispensable) 



Par Herve Thmez 

Apres une presentation progressive 
du modele Visicatt. I'ouvragc ecudie 
de nombreux cas d'application . 
feuille d'impot. gestion de copro- 
priete. paye. facturatton.... permet- 
tant d'introduire les differentes 
instructions et astuces d'uiilisation. 
Le livre : 1 76 pages - 90,00 FF 
l a disquette d'accompagne- 
mcnt : 195,00 FF 
Pour Apple II, II plus, lie - Dos 3.3 - 
version 48 K ou plus (Disquette 
maitresse Visicolc indispensable). 



par Jacques Rouault et Patrice Girard 
Lordinaieut Apple II, le langage 
Pascal et le systeme d'exploitation 
UCSU torment a eux seuis le plus 
pent ensemble de mtcro-inlormaii- 
que professionnelle. Une premiere 
parcie de cet ouvrage est consacree 
a I'etude de ces crois elements. Sont 
ensuiie abordes les programmes de 
mis* en route. Enfm les types 01 ins- 
nucnuni Pascal UCSD sont etudles 
en detail, lc qui penneuraau lecteur 
de 5c iciidie tujiiple de la richesse 
mats aussi de Id 'diilne: d'emploi du 
Pascal. 

232 pages - 1 10,00 FF 



por Herve Haul 

Co livre propose un moyen rapido 
et facile pour gorer les fichiers et les 
periphenquet sur Apple. De la ges- 
tion de bibliotheque a l ut'liution 
des ppnpheriques. I'auteur propose 
un empmhlp dp programmes utili- 
rairev errir* pn Paval I In oppose- 

des tGchniqiiPA Ip^ plin plahnrppt 
permettra d'atteindre Ip nivpan siif- 
fisant pour utiliser les methndp* rip 
pro^rammation mises en cenvrp 
I7& pages -95.00 FF 



por Michel Keller 

Lobjet de cct ouvrage est d'aider le 
lecteur a faire un choix parmi les 
nombreux: logicieis existants sur 
Apple. Quatre de ces logtciels sont 
selectionn.es ici . PF5 ec PFS/Report 
- DB Master - CX BASE 200 - DBASE 
II, Pour chacun on trouve une des- 
u ip uui i dctdillue du logiciel lui-meme 
et e ses pi txedur es de mise en route, 
de dedLimi de fiUiie't de saisie des 
dc uiaiiiLe.fUMie ct dcdi- 

tion. L'auteui tern line Leuc ciude 
par Texpose des avanidgcs ci des 
inconvcnicnts mhcrenis a cliaque 
logiciel. 

144 pagpi - 85.00 FF 

pui Ted Lewis 

Miciubuuk est un systeme de ges- 
tion de donriees el uu uuliI de 
dev eloppement de progiamntes 
concu pour transforme t ('Apple II er» 




tin outll de classement de (tchiers. 
de collecte et de recherche d'infor- 
mations. et de traiternent de don- 
nees. C'est un ensemble de pro- 
grammes ecrns en Pascal qui fait de 
I'ordinateur un veritable biblio- 
thecatre. 

Les emplois de Microbook sont 
multiples : il peut etre utilise pour 
quasimem toutcs les applications oil 
le stoclcage et la recherche de don- 
nees est tmportante. Les program- 
mes etant tres longs, il est recom- 
mande d'achcter egalement la dis- 
quette d'accompagnement. proposec 
en deux versions : Tune cotnpilee, 
("autre code source. 

U livre: 246 pages- 135,00 FF 



por Ted Lewis 



Apple II. It plur;.//c et^/c avec cysteine 
Pascal disquette simple face, compi 
tew. done "on modifiable. 

Prix: 195,00 FF 



pui Ted Lewis 

Apple II. II plus, ffa et //c avec sys- 
teme Pascal, disquette 2 faces em e- 
gistrees. 

Prix : 295,00 FF 

Le systeme Pascal amst que les const- 
gnes d'utilisation des programmes 
contenus dans le livre sont mdtspen- 

sables. Cette disquette existe en 

deux versions : I'une, double 
(ace, destinee aux passionnes 
de la progr animation en Pascal, 
qui pourront directement pro- 
grammer dans ce langage, et 
developper et ctendre a leur 
gre les facultes du systeme. La 
seconde, compilee, simple face, 
destinee aux personnes qui ne 
connaissent pas la programma- 
non en Pascal ou qui n'ont pas 
le temps de programmer elles- 
memes, et qui desirent utiliser 
directement les multiples pos- 
sibiliies de Microbook. 
To us les programmes proposes dans 
le livre soni presents dans chacune 
des dtsu,uei.ies- emepies les ordres 
puui niipi iiiuiiLu. 



POM 9 



Au Mar ot 

SMER DIFFUSION 
3, rue GhaHo 
Rubui 
MAROC 

Tel. : (7) 237.25 



P S.L DIFFUSION 

BP 86 - T7402 Laqny-S'Marne Cede* 
FRANCE 

Telephone <6) 006.44.35 f "^r^--_ 
P.S.I. BENELUX ^^S5?^5&^ 
5. avenue de la Ferme Rose / 

1100 DruxeHles 
BELGIOUE / 
Telephono <2) 345.0B.50 
PS I SUISSE 
Case po«lali> 
Route neuvel 



Eiixtvi^i ceonr« 
atcompagr* CJO »0l't 
ieqiene«i a 
PS * OIFFU5tON 
ou pcu' ia BekrQue at 
leLmemoouioa 
PS * BENELUX 
ou pout ia Suisse a 
PS I SUISSE 



►•fl.pmcf,! oa* cheque |»nl □ Paiement en FF pai carle Digue VISA 
laPfil DirruCIONuniquemoni) 



UbSIUNATlUN 


NOMBRE 


PRIX 




















00' C^n fljoulc rr (7S rQ i par inrc 


TOTAL 





S«unalijie (obngatoire pour paiemeni 



oaiemer-i suoeneu' a W FF 



Au Canada 

SCE Inc. 

65, avenue Hilbide 
Munlieul (Vfcslinuunli 
Ouebet M321W1 CANADA 

Tel. : (514) 935.13.14 



1701 Fribourg 
SUISSE 

Tel.: (037)23.18.28 
CCP 17.56 OA 




□ Je desire recevoir le catalogue P.S.I, gratuit; 



VillP 



Les essais du Macintosh 



Herve Thtriez 



Disquettes 

La Pieire Moile, Jeu realise par 
Bruno Rives el diffuse par ACI. 
Bruno Rives est le responsable de la 
iigne 68000 chez Apple Seedrin : ce 
n'est done pas le premier venu; il o 
meme signe des articles dans noire 
revue, c est tout dire ! 
La Pierre Molle est un jeu d'adresse 
necessitant aussi un certain sens stra- 
tegique. Vous tombez en panne avec 
votre soucoupe volantc sur une pla- 
nete ou trouve heureusement un 
bidon de carburant. Votre travail 
consistera a aller chercher ce bidon 
en sautant sui des pierres, certaines 
dures. d'autres molles. 
Ces pierres tombent du cicl ct vous 
devez les eviter iors de leur chute, 
puis les utiiiser. Ce jeu est une excel- 
lent^ demonstration de la capacite 
d'appienlrssaye de Tetre humain. Au 
debut, vous n'ailez franchement pas 
loin... un beau jour, vous devenez 
capitaine, puis commandant eL Si 
vous devenez ires tort, chevalier. 
Les effets visuels et sonorcs du jeu 
sont fort reussis : manifestement. 
1'Apple II est depasse sur ces deux 
plans. Nous avons regrette. apres un 
certain nombie de parties, que Ton 
ne puisse rendre la chute des pierres 
aleatoires. Autre regret, l'impossibilite 
de stocker le meilleur score de piu- 
sieurs loueurs sirnultanernent. Par 
contre, nous avons apprecic la possi 
bilite de chuisair entre deux vitesses 
de ieu, y compris en cours de partie. 
En conclusion, il s'agit la d'un jeu 
addictif qui m'a, a plusieurs reprises, 
force a me coucher plus tard que 
prevu Heureusement, il est possible 
de couper le son a loisir. 

Eleugram, disquette mensuelle de 
jeu vendue par CompuSoft 

Nous avons ete ahuns de voir que. 
des le lancempnt effectif du Macin- 
tosh en France, on pouvait ainsi 
trouver une disquette mensuelle de 
jeu. 

II s'agit d'une disquette comportant 
une vingtaine de problemes iogiques 
pour lesquels une grille d'analyse est 
proposee sur 1'ecran. C'est le type d*? 
probleme et de gnlie que Ton trouve 
dans la revue Eleusis (la similitude 
des noms n est pas due au hasard). 
Le programme fournit le cas echeant 
une assistance au joueur. II est possi- 
ble de faire remplir par le pro- 
gramme touies les cases directement 
"impliquees" par les rases que vous 
noircisscz a un moment donne. 
Les problemes sont vanes, la presen- 
tation soignee et I'assistance au 



joueur bien reglable. Mon seul regret, 
en tant que grand joueur. est qu'il 
n y ait sur la disquette qu un seul 
type de jeu. meme si cela correspond 
ade nombreux problemes. A moins 
d'etre un fana He jeux logiques de ce 
type, on preferera probablernent 
acheter une disquette de temps en 
temps plutot que de s'ahonner. 

Materiel 

Alpha Systemes an nonce des unites 
de disques durs pour le Macintosh : 
5 Mo sur cartouche amovible. 10 Mo 
fixe, 5 Mo fixe i 5 Mo amovible et 
10 Mo fixe + 5 Mo amovible. 
L unite se connecte sur la sortie RS 
432 du Mac, qui devra done choisir 
entre communiquer et acceder au 
disque... 

Enfin, ceux qui desiieul avoir le pro- 
cesses du Mac. le fameux 68000. 
sur leur Apple li-t- ou //e, seront 
combles par la carte 08000 SAY- 
BROOK (avec memoire de 128K) 
annoncee elle aussi par Alpha Syste- 
mes : 8 MHz (9.950 F) ou 12,5 MHz 
(12.950 F) ou enfin 14 MHz (14.950 
F). I.es programmes developpes en 
Applesoft tourneront 10 a 30 fois 
plus vite avec Tinterpreteur de la 
carte: \t>. Pascal p-UCSD version IV-I 
etant lui aussi foumi en standard, on 
pourra tourner 5 a 20 fois plus vite 
en Pascal et developper des pro- 
grammes destines aux IBM PC/XT. 
Rainbow 100... a partir du bon vieil 
Apple II 

Bibliographie 

Macintosh/Multiplan MacPaint. 

par Eddie Adamis. Cedic Nathan. 
142 pages. 89 F 

Realiser un livre d' initiation a Mac- 
Paint el a Multiplan sur le Macintosh 
correspond a une gageure Rn effet. 
la particularite dc ce materiel est de 
rendre aise tout apprentissage : a 
quoi peut alors servir un livre d initia- 
tion ? 

II est certain qu'un tel livre n est pas 
indispensable; il facilitera ceppndant 
le Cravail du debutant, en Fomenant 
a "realiser une demonstration*' livre a 
la main. 

Les deux premiers tiers du livre snnt 
consacres a Multiplan. La demonstra- 
tion est claire. mats on n'y trouvera 
ni astuces d utilisation. ni exemples 
divers. C'est une bonne demonstra 
tion. et rien de plus. Le reste de Fou- 
vrage est une "demo" de MacPaint 
En conclusion, le livre est clair et fa- 



cile d'acces. Ceci dit. 45 minutes de 
presentation par un utilisateur averti 
vous en apprendront autant. 

The Apple Macintosh Book, par 

Cary Lu. Microsoft Press, 385 pages. 
$18.95. 

Presentation : une couverture rouge 
traversee par un sigle "Mar", en 
rouge plus fonce et en forme de graf- 
fiti. 

Le seul reproche que Ton puisse 
faire a ce livre. c"est qu'il ne sort pas 
encore disponible en frangais. Vendu 
par Microsoft (en France aussi). ret 
ouvrage est la bible de I' utilisateur du 
Mac. Apres une breve section de 
presentation. Tauteur present? pn 
115 pages tous les logiciels tournant 
deja ou prSvus a court terme (y 
compris le Basic Apple, different du 
Basic Microsoft). Une troisieme sec- 
lion analyse le materiel, element par 
element: on trouve dans cette partie 
(136 pages) un chapitre sur le de- 
pannage, un sur I'entretien. et meme 
un chapitre de comparaison aver 
1'IBM PC. La dernicre partie de l'ou- 
viaye. paile de communications, de la 
fagon d'echanger des informations 
avec d'autres ordinateurs. montre 
comment photographier 1'ecran et 
enfin contient un chapitre technique 
plein de renseignements utiles. 
Le livre esl bien presents ; la table 
des matieres detaillee permet dp re- 
trouver rapidement ce que Ton cher- 
che. Cary Lu. editeur micro- in forma- 
tique de High Technology, profite de 
son experience pour parler des deve- 
loppements futurs du Macintosh 
comme de la micro-informatique en 
general. Les sujets couvcrts sont mul- 
tiples . il y d meme quatre pages 
s'adressant aux handicapes et leur 
montrant comment utiiiser au mieux 
le Macintosh. 

hn conclusion, ce livre est un must 
pour ceux qui souhaitent connaitre 
(el maitriser) routes les possibilites du 
Macintosh Feuilletez-le avant He 
1 acheter. vous screz convaincu. 

■ 



Avis aux auteurs : nous ne man- 
quons pas, loin de la, de contribu- 
tions interessantes pour la famille 
Apple //. Par contre. vu la nouveaute 
du sujet, nous n'avons pas encore 
recu de contributions pour le Macin- 
tosh. Faites partager votre savoir-faire 
et envoyez-nous vos trues et pro- 
grammes, 



Pom's n 9 14 



FAITES 
UN CADEAU 
A VOTRE APPLE 

POUR: 




Comme des milliers 
dutilisateurs en France, 
decouvrez avec 

BABY MEMDOS 

I'univers fabuleux des possibility de MEMDOS 

- un gestionnaire d ecran 

- un sequentiel indexe multicle 

- un gestionnaire d erreurs 

- la notion de sous-programmes avec passage de parametres 
et beaucoup plus... 

Pour Apple II lie, He et III. 
Disquette et Documentation. 




MCMD05 

Pomme d'Or du Meilleur Logiciel Systeme 

decerne par APPIF 



BON DE COMMANDE 

_ Je joins un cheque de 169 F 4- 15 F de port - Soit 184 F 

a I'ordre de Memsoft S.A. 

NOM 

ADRESSE „ 

Je suis Amateur □ Professionnel 
Je possede un Apple type 



MEMSOFT S.A. 3 rue Meyerbeer - 06000 Nice 
□ Centre remboursement 169 F + 30 F de port - Soit 199 F 

... SOCIETE 

TEL 

... peripheriques 



Mac Write vers Apple Writer //e 

Pom's 



Vous utilises maintenant un . 
tosh et Macwnte pour vos textes 
mais. rnrnme nous (voir Pom's 10. 
"La communication avec TApple'*). 
vous avez mis au point des applica- 
tions en WPL sur votre Apple //e. 
Lcs deux petits programmes toils en 
Basic ici' proposes vous permettent 
de transmettre vos textes depuis ie 
Mac vers F Apple //e t sans avoir re- 
cours a un loqiciel de communication 
cnmmp MacTerminal. 

Pour utiliser ces programmes, ii vous 
faut, outie le Mac et FAppie e. une 
carte super serie connectee dans !e 
slot 2. et une disquette MS-Basic. 
Pour relier les deux appareils, on 
branche t !e cable normalemenr dps- 
tine a 1'imprimantG ImageWriter sur 
la carte super serie. elle meme ainsi 
configuree : . 



SUM 



Le texte ecrit avec Mac Write doit etre 
sauvegarde avec 1'option "Le lexle 
seul" ei. si vous ne disposez que 



1 2 3 4 5 6 ? 

IBBIBBB 



SU)2 




TERMINAL 



d'un lecteur de disquettes. sur la dis- 
quette ou se trouve le programme 
"emetteui". Ensuile. toui est ires 
simple : 

• le Macintosh vous demande le 
nom du fichier a transferer; 

• le texte est transmis a 1'Apple ffe; 

• le //e vous demande le nom sous 
lequel vous desires conserver le fi- 
chier transmis, ainsi que le nu- 
mero du lecteur de destination: 

• le texte est stocks sur disquette, 
pret a etre cliaiye avec AppleWri- 
ter. 



Note c/a/is g& tains cas, la cane 
super serie annule le code 127 utilise 
pour marquer la fin du fichier. Si cela 
se pvoduit, il vuus suffit d'envoyer 
"manuellement" ce code pour que 
tout rendre dans Vordro (LPRINT 
CHR$\127). 



RECUP APPLE II 



1 PRINT CHR* <4>"BL0AD TEST 
5 TEXT : HOME 

7 REM LFS COMMAND ES CI-DESSOUS H F IV , 
"X E", " E D- COM PORTENT UN CTRL-A 
EN PRfcMl&R CARACTERE, JUSTE APRE 
S LE PREMIER " 
HI MEM : 4Q?5:AD = 40?6 
PRINT CHR* <4> I, PR£2'': PRINT "F D M 
PRINT "X E"! PRINT " E D" : PRINT C 

HR* <4)"PR£0" 
PRINT CHR* (4)"IN£2 B 

CALL 76Q-.Z = PEEK < 6> : IF Z = 127 T 
HEN 50 



10 
1 1 
12 

20 
30 

40 

50 



POKE AD + 1,2: PRINT CHR* <2>;:I = 

I + 1 : GOTO 30 
PRINT : PRINT CHR* <4>"IN£0': PRINT 
: PRINT ; INPUT "FICHIER ; ";FIC 



*: INPUT "DRIVE 



60 PRINT : INPUT ' 
2* < > "O 1 
100 PRINT : PRINT 
D M D: PRINT 



OK ? <0/. . . > " ;2*: IF 
THEN 50 

CHR* <4>"0PEN"FIC* n , 
CHR* <4>"WRITE'FIC*: 



FOR J* = TO I - 1 
105 PRINT CHR$ ( PEEK (AD + J)>; 
107 NEXT : PRINT : PRINT CUR* C4>"CLOS 

E 

110 PRINT CHR* <4)'PR£0" 



TEST 

0300- 20 05 C2 29 7F 85 06 60 



0300- 
0303- 
0305- 
0307- 



20 05 C2 
2? 7F 
85 06 
60 



JSR *C205 

AND £%7F 

STA *06 
RTS 



PROGRAMME MAC 

10 CLS.DEFiriTA-Z.CALL mOVETO(100, 100 
)£ALL TEXTFOnr(0).WIDTH "LPT!:". 
255:inPUT "Fichier ? "JT.OPEn T.l. 
fl 

20 IFEOF(l)THm230 
30UIU inPUT*!!* 

40 L=UX1(E| ) IS L-0 THET1 LPRinT: GOTO 20 
50 FOR 1=1 TO L;F0R D=0 TO 40n£XT: 

A-ASC(miD$(E$J,l)).IF A<32 THEH220 
60 IF A<127 THEF1 LPRII1T CHRt(A);:G0T0 

220 

70 IF A=i43 THET) LPRinT CHRJ(12S);: 
GOTO 220 



80IFA=142THmLPRinT CHR$(123);GOT0 
220 

90 IF A=l 36 THET1 LPRinT CHR$(64)."GOTO 
220 

100 IF A=157 THEI1 LPRinT CHB«124):: 

GOTO 220 

110 IF A-141 THET1 LPRIFIT CHR$(92);: 
GOTO 220 

120 IF A=137 THET) LPRinT CHRt(04): 

CHR$(97);;G0TO220 

130 IF A=m THET1 LPRinT CHR*(94); 

CHRt(101);:G0T0 220 

140 IF- A=14S THEI1 LPRinT CHR$(94); 

CHRJ(105);GOT0 220 

150 IF AMW THET1 LPRinT CHR$(W); 



CHRi(lll);:GOTO220 
100 IF A=15e THEIl LPRIFIT CHRK94); 

CHR$(117);13OTO220 
170 IF AM36 THEn LPRinT CHR*(126); 

CHPt(O7);:GOTO220 
180 IF A=145 THETl LPRinT CHR$(126); 

CHR$(t01);GOTO 220 
1«? IF A=H9 THEn LPRinT CHR$(120); 

CHRt(105);^0TO220 
200 IF A=154 THEn LPRinT CHR«(126); 

CHRJ(IU);^0TO220 
210 IF A-1&9 THEn LPRinT CHR$(120); 

CHRt(U7); 
220 nEXT:LPRinT:GOTO 20 
230CLOSE»1 :LPRinT " \ CHR$(127) : EHD 



PonVs if 14 



45 



Les tokens du Basic Microsoft 

Jean-Luc Bazanegue 



Le terme "token" rVest certainemenl 
pas inconnu des lecteurs de Pom's. 
Cependant. pour ceux d'entre-vous 
qui nous rejoignent a I' occasion de 
ce numero, il foul rappeler qu'un 
token est la representation interne 
d'un mot-cle du Basic. Ainsi. en 
Basic Microsoft (et sur le Macintosh), 
rinstruction PRINT devient. lorsque 
vous appuyez sur la touche RETURN 
pour valider unc Hgne. un octet 
contenant la valeur 172 ($AC en 
hexadecimal) I.es tokens permettent 
un gain de place en memoire non 



negligeable et facilitent le travail de 
Tinterpreteur. 

Void ce qui nous a pousse a recher- 
cher les tokens du Basic Microsoft . 
nous disposions d'un Mac depuis 
quplqu^ fpmns. mate c«?t ordinateur 
sans langage de programmation res- 
semblait etranqement a un presse- 
puree sans pornmes de terre; nous 
l'avions done quelque peu delaisse. 
Et puis, un matin, nous v'imes arriver 
Line disquette contenant le Basic. 
Voila qui etait de nature a redonner 



un peu de sang a la bete (an Mar 
bien sur...). Malheureusernent. la dis- 
quette en question nous est parve- 
nue sans rlorumentation- pour 
connaitre la liste des mots-cle de ce 
langage. il fallait trouver la table des 
tokens 

Nous remercions ceux qui se sont 
jetes sur leurs photocopieuses afin de 
nous envoyer une copie de Ipnr do- 
cumentation, mais cela est inutile : 
depuis que nous avons etablie la liste 
jointe. Microsoft nous a faif parvenir 
les precieux documents. g 



ABS 


$so 


128 


EXP 


190 


144 


MERGE 


SF& S9E 


248 138 


SAVE 


SFS SAB 


248 171 


ALL 


SP9 $FF 


249 233 


FIELD 


$91 


145 


MIDI 


SA5 


165 


SETCURSOR 


SFB SFD 


251 253 


AMD 


IFI 


241 


FILES 


SFS $94 


248 148 


MKDf 


SA6 


166 


SON 


$B4 


180 


APPEND 


$F9 $FE 


249 254 


FILLARC 


SFB $D8 


251 21* 


MKIS 


SA7 


167 


SHOWCURSOR 


SFB SFB 


251 251 


AS 


SF9 tFTJ 


249 253 


FILLOVAL 


tFR $F.2 


251 22A 


MKSf 


(AS 


168 


SHOWPEN 


SFB SF8 


251 248 


ASf 


Ml 


129 


FILLRECT 


sfb *E7 


251 231 


MOD 


SF6 


246 


SIN 


$B5 


ISI 


ATN 


$82 


130> 


FILLROUNDRECT 


SFB (DO 


251 221 


MOUSE 


SFA SB8 


248 18-4 


SPACES 


$86 


162 


AUTO 


JF8 $80 


248 128 


PIX 


in 


14* 


MOVE 


Sra IFI 


251 Ml 


SPC 


SF9 SFA 


249 250 


BAUCPA I 


skb m 


231 233 


FN 


$93 


147 


MOVFTO 


SFB SF2 


251 242 


SQR 


$87 


183 


BASE 


$F9 $FC 


249 252 


FOR 


494 


148 


NAME 


JF& S9F 


248 159 


STEP 

■n-op 


SF^ SF9 


249 249 


BEEP 


(F« SB3 


248 181 


FRAMEARC 


SFB IDC 


251 220 


NEW 


SFft SAO 


246 160 


sf« $An 


248 173 


CALL 


Ms 


131 


FSAMEOVAL 


SFB *E6 


551 230 


NETY 


SA9 


169 


STR* 


m 


184 


CDBL 


$84 


132 


FRAMEBECT 


IFB SEB 


251 235 


NOT 


SE7 


231 


STRINGS 


S89 


185 


CHAIN 


sfs lai 


248 m 


FRAMEROUNDRECT 


SFB $EI 


231 225 


OBSCURECtltSOR 


SFB SFA 


251 250 


SWAP 


SFS SAE 


248 174 


UU$ 


$83 


133 


FRE 


SFS $95 


248 149 


OCT* 


SF* SA1 


248 161 


SYSTEM 


SFS $AF 


248 175 


CINT 


$86 


IM 


GET 


$95 


149 


ON 


$AA 


170 


TAB 


SF9 $F8 


249 248 


CIRCLE 


SFS $B6 


248 182 


GETPEN 


SFB $F7 


251 247 


OPEN 


SAB 


171 


TAN 


SBA 


186 


CLEAR 


$F8 $82 


248 1*0 


GOSIIB 


$96 


150 


OPTION 


SSFS SA2 


248 162 


TETTFACE 


SFB SEE 


231 238 


CLOSE 


$87 


135 


GOTO 


$97 


151 


OR 


$F2 


242 


TEXTFONT 


SIT) SET 


251 239 


CLS 


$rs S83 


248 131 


HEX$ 


$F8 996 


248 130 


OUTPUT 


*F9 SFB 


249 231 


TETTMODE 


SFB SED 


231 237 


COMMON 


S8S 


136 


HIDECURSOK 


SFB $FC 


251 232 


PAINTARC 


SFB SDB 


251 219 


TETTSI2E 


SFB SEC 


251 236 


CONT 


SFS S84 


248 132 


HIDEPEN 


SFB $F9 


251 249 


PAINTOVAL 


SFB SE5 


251 229 


THEN 


SE6 


230 


COS 




137 


IF 


$98 


132 


PAINTRECT 


SFB SEA 


231 234 


TIME 


SFS SB0 


248 176 


CSNG 


sfs $S5 


248 133 


IMP 


$F5 


245 


PAlNTROlf NDRECT 


SFH tRfl 


251 224 


TIMER 


SF8 SBD 


248 189 


CVD 


SiA 


138 


iNlTCUftSOR 


*FB $FE 


251 254 


PEEK 


(FS CA3 


248 163 


TO 


IE5 


229 


CVI 


WD 


139 


INKEYS 


$99 


133 


PEN MODE 


SFB SF5 


251 245 


THOFT 


SFS SB2 


248 178 


CVS 


sac 


HO 


INPUT 


m 


154 


PEN NORMAL 


SPB SP3 


231 243 


IRON 


SFS SB I 


246 177 


DATA 


S8D 


141 


INSTR 


SF8 $97 


248 151 


PEN PAT 


SFB SF4 


231 244 


USING 


SE4 


228 


DATE* 


sfs m 


248 134 


INT 


$9B 


155 


PENSIZE 


SFB SF6 


251 346 


US* 


IF9 SF7 


249 247 


DEF 


sfs m 


248 139 


INVERTARC 


SFB 104 


251 217 


POINT 


SFS SB9 


248 185 


VAI. 


SBC 


188 


DEFDBL 


m is? 


248 137 


INVERTOVAL 


SFB SE3 


231 227 


POKE 


SFS SA4 


24S 164 


VARPTR 


SFS IB3 


248 179 


DEFINT 


SF8 *87 


248 135 


INVEXTRECT 


SFB SEfi 


251 232 


POS 


SF* SA5 


248 165 


WAIT 


1F9 SF6 


249 246 


DEFSNC 


SFS $88 


248 136 


IN VERTROU NDRECT 


|FB $DE 


23 t 222 


PRESET 


SFS SBA 


24A 186 


WEND 


SBD 


189 


DfchVTR 


$F8 $8A 


248 138 


KILL 


SFS $98 


248 152 


PRINT 


SAC 


172 


WHILE 


SBE 


190 


DELETE 


$FS SSC 


248 140 


LCOPY 


SFS $B7 


248 183 


PSET 


SFS SBB 


248 187 


WIDTH 


SFS SB4 


248 ISO 


DIM 


$F8 S8D 


248 |4I 


LEFT J 


$9C 


13* 


PTA8 


SFB SD7 


251 215 


WRITE 


SBF 


191 


RTJIT 


m m 


248 143 


LEN 


$9D 


157 


PUT 


SAD 


173 


XOR 


SF3 


243 


ELSE 


$8E 


143 


LET 


$9E 


158 


RANDOMIZE 


SFS SA6 


248 166 


- fplui) 


SEC 


236 


EKD 


m m 


248 143 


LINE 


•9F 


139 


BEAD 


SAE 


174 


- (MIDI) 


SED 


237 


EOF 


*6F 


143 


LINETO 


SFB $F0 


251 240 


REM 


SAh 






SEE 


238 


EQV 


$F« 


244 


LIST 


SFS $99 


248 153 


RENUM 


SFS SA7 


248 167 


/ 


SEF 


239 


□USE 


m m 


248 144 


LLIST 


SF8 $9A 


248 154 


RESET 


SFS SBC 


248 188 


* (DUillUCfll 


SFO 

SF7 


240 


EKASEARf 


SFR SUA 


231 218 


LOAD 


SFS f 9 B 


248 153 


RESTORE 


SFS SA8 


748 IM 


V 


247 


ERASEOVAL 


$fb m 


251 228 


LOC 


(A! 


161 


RESUME 


SFS SA9 


169 


(■{wiirophff) 


$E8 


232 


EHASERECT 


IFB $E9 


231 233 


LOP 


$A2 


162 


RETURN 


SB0 


«76 


> 


SE9 


233 


ERASEROUNDRUT 


in m 


231 223 


LOO 


SA3 


163 


RIGHTS 


SHI 


177 




SEA 


234 


EXL 


sfs $9i 


248 145 


LPOS 


SFS $9C 


248 13* 


RND 


SB2 


I7S 


< 


SEB 


235 


ESR 


SFS $93 


248 (47 


LPRINT 


SFS $9D 


248 157 


RSET 


SB3 


179 








ERROR 


SFS $92 


248 I46 


LSI 


$A4 


IM 


RUN 


SFS SAA 


248 170 









46 



Pom's n* 14 



Gestion de masques amelioree 



Pom's declare que si. au cours d'une 
annee. un Keul des programmes pre- 
serves repond aux besoins du lec- 
teur, il justifie a tui seul fabonnement 
a la revue Dans le Pom's 7, Gerard 
Michel nous a propose un pro- 
yramme pour creer ei modifier rapi- 
dement. a partir de masques, des 
ecrans tcxte. Pour ceux qui, comme 
rnoi, accordent une importance pri- 
mordiale a I ergonomie des program- 
mes, cet utilitaire tombe dans la cate- 
goric des programmes qui. a eux 
seuls. ... 

Pour font programme dont on fait 
une utilisation intensive, il arrive vite 
un moment ou Von eprouve les limi- 
fes du logiciel et ou Ton souhaite les 
depasser. Savoir ce qu'il faul modi- 
fier est une chose. le realiser en est 
une autre. Aussi est-ce Jacques Tran 
Van qui. par sa parfaile rnaTtrise de 
Fassembleur. a pu effectuer les modi- 
fications aboutissant a ce GESMASK 
MODIFIE que nous vous proposons. 



Mode <f utilisation 

Pour Futiliser. il faul rnettre sur la 
meme disquette les programmes 
GESMASK MODIFIE. INPUT. 
HCT.OBJ. MOVESCRLEN. GES- 
MASK 1, GESMASK 2 et BLOAD- 
TEXTS9200. ce dernier programme 
permettant de supprimei le bruit des 
dnves au chargement des ecrans. 

L'ensemble fonctionne parfaitement 
bien avec PLE (voir Pom's 1) si vous 
prenez soin. durant la phase de 
conception de voire programme. He 
positionner HIMEM a 35840. Exem- 
ple : 

96 REM Dons votre version defini- 
tive. HIMEM: 37376 

97 HIMEM- 35840 : PRINT 
CHR${4) "BLOAD BLOAD- 
TEXTS9200" 

98 POKE 782.136 - CALL 768 

99 REM Remettre M$=9200 dans la 
version definitive 

100 D$=CHR$(4) • M$='\A$8CO0" 

De cette facon. si au cours du derou- 
lement de votre piuyranime vous 
avez a nouveau besoin du dernier 
masque BLOADe. il sera inutile dc 
demander a votre pioyrcirnme de le 
recharger: il suffira dun simple 
CALL 768 pour ie rappeler a Tecran. 

Nouvelles commandes 

Les commandes de GESMASK MO- 
DIFIE ci-dessous s'obtiennent en 



Jacques Tran-Van 
Maurice Schapim 



\ 

2 
3 
4 
5 
6 
7 
8 
9 
10 
1 1 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
?? 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
30 



53 
54 
55 
54 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
91 
82 
83 
84 
85 
86 
87 
08 
89 
90 
91 
92 
93 
94 



*des des caract)res condenses - marge pour l'imprimante 



amUiorC par TRAN-VAN Jacques 
et SCHAPIRO maur ice 
le 15/12/83 



ft 



ST0PFLG 

CARTYPE 

DEB 

SAVCAR 

SAUFLAG 

SFNSFLG 

CUSAV 

PTR 

CH 

CV 

BASL 

BASH 

BUFFER 

BASCALC 

BS 

UTAB 

HOME 

CLRFOL 

RDKEY 

C0UT 



ORG *9200 



*6 
%7 
*8 
%9 

11 



S28 

%Z9 

*8000 

*FBC1 

4FC10 

♦ FC22 

*FC58 

4FC9C 

*FD0C 

*FDED 



;Pr imi t i vemen t %927C 



iDrapeau d'arr~t du curseur 

;Drapeau I NVERSE/NORMAL/hL^SH 
{Position de d<part du dCcallage 
jT&mpon de caract>re 
jDrapeau > range, sinon Cchange 
jDrapeau > insure, < efface 
; 9au '.< e gar dc d© la position vert. 
;Pnintpur de d(pl acemen t 
{Position hor . curspijp 

;Adresse l)re colonn.e 

jTampon d' tcran -%AO0 
;Calcul de 1'adresse de ligne 
jEnvui d'une <- 
;D<place curseur en CV 



jEfface fin de lione(A,Y dCt.) 
;Fntrfe d^ caractlre 
; Sor t i e d'un carart)re 



* EntrCe principale du programme auec effacement 
» de I' Ccran 

1NIT JSR HOME 

* Autre entr<e du prograrwne sans eff acement tie I "tcran 

* (pour modification) 



LDA HO 

STA ST0PFLG 

STA CARTYPE 

DEBUT LDA CV 

CMP **24 

BNfc fESTPOS 

LDA NO 

li§ SeTCMD 

TESTPOS LDA CH 

CMP tt*?8 

BN£ GETCMD 



{Initialise le drape a u 

;Derni 3re I igne ? 

;Retour l}re col/l>re ligne 



jDerni>re col. de la ligna ? 
* Passe 3 la ligne suiuante 

;Passer 9 1 >re col. Irgne suiuante 



NEXTLIN INC CV 

LDA HO 

STA CH 

BEG DEBUT 



* Lecture de la commande 

* Autre entrCe du programme<pour consultation) 



GETCMD 



RETURN 



JSR 


VTAB 


JSR 


RDKEY 


CMP 


«" * ■ 


BNE 


RETURN 


LDA 


W*DB 


CMP 


**8D 


BEO 


NEXTLIN 



* Sortie du programme 

EXITPGM CMP **80 

BNE N0M0VE 



;Positionne le curspun 
iEntrCe caract)re 

;Crochet fermant 

{Return 7 

jA la 1 i gne ! 



;CTRl -SHIFT-P^ 



* Immobi 1 i sat i on du curseur 
NOMOVE CMP ;CTRL-S ? 

i < 



CMP tt*?3 

DNE DOWN 

STA STOPFLG 

BEQ GETCMD 



* Curseur une 1 igne plus bas 



Pom's rr 14 



47 



mode CTRL ; on maintient la louche 
CTRL enfoncee. tout en appuyant 
sur la lettre de la commande. 

I : inverse 

F : flash 

N • normal 

W : monter 

Z : descends 

D • decalage a droite 

G : decalage a gauche 

V : repetition verticale 

Y ; insertion dans la ligne 

C : sort du mode insertion 

O : insertion d'une ligne vide 

P * -suppression d'une ligne 

R: sauvegarde du masque dans un 

buffer 

X : rappel du masque place dans le 
buffer 

E: efface un caractere a partir du 
ourseur 

K: efface la ligne a paitii du curseur 
S : empeche le curseur de bouger 
apres la frappe d'un caractere. On 
sort de ce mode avec les fitches gau- 
che et droite 

La touche RETURN renvoi? le cur- 
seur au debut de la ligne suivante. 
SHIFT-M engendre un crochet ou- 
vrant, et SH1FT-N un rrochet fer- 
mant. 



Sauvegarde du masque 

CTRL-SHIFT-P pose la question du 
nom a donner au masque. Quatre 
reponses sont possibles : 

• RETURN : le masque est enregis- 
tre sur la disquerte sous le nom 
que I on a donne dans le menu 
principal: 

• un nom : ce nom est alors attribuc 
au masque sauvegaide sur la dis- 
querte. On peut ainsi memoriser 
des variantes du masque appele 
dans Le menu principal; 

• # (diese) : annule le masque en 
cours et reuient au menu principal 
(le masque n'est alors pas sauve- 
qarde); 

• ? ; affiche le catalogue de la dis 
quette puis repose la question. 

A dire de demonstration, vous trou- 
verez le petit programme en Basic 
FRANCE, qui apprendra a vos en- 
fants a situer les departements sur la 
carte de France. Pour fonctiontw. il 
requiert lc masque CARTE. Utilisa- 
tion de ce programme est simple et 
ne necessite aucun rommentaire. 



Routine INPUT 

*9000 .9089 

9000- A9 80 A6 07 9D 11 03 CA 

9008- 10 FA A2 00 86 04 20 0C 

9010 FD C9 8D FO 72 E4 07 90 

9018- OA C9 88 F0 28 20 DD FB 

9020- 4C OE 90 C9 9B DO 09 E0 

9028- 00 DO 05 A9 09 85 OA 60 



95 
96 
97 
98 
99 
100 
101 
1 02 
103 
1 04 
1 05 
1 0* 
1 07 
108 
109 
1 10 
1 1 1 
112 
1 13 
1 1 4 
115 
1 16 
1 17 
1 1 8 
1 19 
120 

\U 

1 23 
1 24 
1 25 
126 
127 
128 
129 
1 30 
1 31 
1 32 
133 
1 34 
1 35 
136 
137 
1 38 
139 
1 40 
141 
142 
143 
144 
145 
1 46 
147 
148 
! 49 
150 
1 51 
J 32 
153 
1 54 
155 
1 56 
157 
1 58 
159 
160 
161 
162 
163 
1 64 
1 65 
166 
167 
168 
169 



DCWN 



CMP #*9A 

BNF FLFCHDR 

INC CV 

BNE DEBUT 



* Avance le curseur d'un 

FLECHDR CMP t**95 

BNE BACK 

LSR STOPFLG 

INC CH 

EXFLECH BPL TESTP0S 

* Recule le curseur d'un 

CMP «*88 

JSR BS 

LSR STOPFLG 

BPL OETCMD 

* Curseur une ligne plus 
UP 



jCTRL-Z ? 
;Lign* suiuante 

carac Or* 



CMP 
RNF 
DEC 

STA 
BNfc 



***97 
INUFRSF 
CV 

GETCMD 
#23 

CV 

btrUMD 



* Ecriture en inverse 



INVERSE 



MODE 



CMP 
BNE 
LDA 



* Ecr i t ure 



FLASH 



tt*89 
FLASH 

41 ash 



jAvance normale du curseur 
iCarac t )re su i van t 

rarac t >r* 
;'<-' ? 

;Recul du curseur 

;Avance normale du curseur 

haut 

jCTRL-W 7 

jLigne pr(c(dente 

;Si CV>=0 on posit ionne en CV 

;0n saute 3 la dern i >re 1 t gne 



i CTRL- I ? 
(Flag INVERSE 



* Ecriture en normal 



NORMAL 



CMP 
BNE 
LDA 
BEG 



»*8E 
DUPLIC 

MODE 



jCTRL-F 

•Flag < FLASH 



iCTRL-N ? 
;Flag NORMAL 



* Duplication du earact>re une ligne plus bas 



DUPLIC 



RELAI 



NO INC 



CMP 
BNE 
LDA 
5 1 A 
CMP 
BCS 
JSR 
LDY 
LDA 
INC 
JSR 
DEC 
BPL 



#*96 

E0L 

CV 

51 U Pi-Lb* 
«23 

OETCMD 

BASCALC 

CH 

<BASL>,Y 

OUTPUT 
CH 

EXFLECH 



;CTRL-V ? 

;Avance normale du curseur 
;Derni>re ligne => on ignore 

jCalcul adresse base ligne CV 

(Charge le car. sous le curseur 
;L i one suivante 
;A-f+iche le caract>re 
;Recul du curseur 



Retour en TESTP0S 



* fc+facement de la fin de la ligne 



EOL 



CMP 
BNE 



**8B 

RIGHT 
CLRE0L 



; CTRL-K ? 



* D{placem*nt de la fin de l'<cran d'un caract>re 

* ue-r* 1 a droi te 



RIGHT 



174 
1 75 
1 76 
1 77 
178 
1 79 
1 80 
1 81 
182 
1 83 
1 84 
185 
186 
187 
1 88 
1 89 
1 90 
1 91 
1 92 
1 93 
194 
195 
196 
197 
1 98 
199 
200 
201 
202 
203 
204 
705 



DROI TE 



CMP 
BNE 
LDA 

STA 

LDY 
STY 
JSR 
JSR 
LDY 
INC 
LDA 
CMP 
8CC 
PLA 



tt$84 
LEFT 
CV 

«- ■ 

SAVCAR 

CH 

DEB 

VTAS 

LIGNEDR 

tffl 

CV 

CV 

**24 

DROITE 



•LAI 



;CTRL-D ? 

;Sauve ta position verticale 

;Po5 i t i on horizontale 

;D<cal1e la ligne 3 droite 
;Ligne suivante 
;Derni )re 1 igne 

jR<cupJre la position verticale 
;JMP GETCMD 



* DCplacement de la fin de 1 ' Ccran d'un caracOre 

* vers la gauche 



LEFT 



GAUCHE 



CMP 
BNE 
LDA 
STA 
LDA 
STA 
LDA 
STA 
LDY 
LDA 
CMP 
BEG 



KS87 
INSERER 
**" a 

SAVCAR 
LV 

CVSAV 

#23 

CV 

CH 

CV 

CVSAV 
LAST 



;CTRL-6 ? 



Pom's n- 14 



LAST 

EX LEFT 
EXGAUCH 
* Insert 
INSERER 
LOOPlNS 



BCC 
i nv 
JSR 
JSR 
DEC 
BPL 
LDA 
STA 
JMP 



EXLEFT 
ttO 

UTAB 
LIGNEGA 

CV 

GAUCHE 

CVSAL; 
CV 

GETCMD 



SDfealle la ligne 3 gauche 



ion d'un caract)re dans unt 1 i gne 
iCTRL-Y 



CMP 
BNE 
JSR 



NO LA ST 



LDY 
sir 

CPT 
BCC 
ST A 
JSR 
LSR 
BPL 
PHA 
JSR 
PLA 
JSR 
BPL 



tt*99 
DELETE 
RDKEY 
#*83 
EXGAUCH 

D E B 
ft 3? 

N OLA ST 

STOPFLG 

OUT 

BBS* 

LIGNEDR 



INS 



;CTRL-C ? 

;On n'avance pas si dernier car. 

;Dfc*lle la 1 i gn© vers la droi te 
;Bouc 1 e 



* Effacement d'un caract>re d* la ligne 

* et dCcallage de la -fin vers la gauche 

DELETE 



CMP tt*85 
BNE ECHANGL 
LDA tt" - 

STA SAVCAR 
LDY CH 

.IGNEGA 
3AK 



; CTRL-E ? 



* Echange de I'frran actuel et de celui 

* sauv( dans le tampon 



ECrWNbfc 

DOIT 
MEXTLG 



CMP 

STA 
LDX 



n%?3 

RANGER 
SAVFLAG 



;CTRL-X ? 
iFlag < 



LOOPCHG 



TXA 
JSR 
LDA 
STA 
CLC 
LDA 
ADC 
STA 
LDY 
LDA 
BIT 
BPL 
PHA 
LDA 
STA 
PLA 

NOTCHANG STA 
DEY 
BPL 

BMI 

* Sauvegarde 
RANGER 



284 

285 

286 

287 

288 

289 

290 

291 

292 

293 

294 

295 

296 

297 

298 

299 

300 

301 

302 

303 

304 

305 

306 

307 

308 

309 

310 

31 1 

31? 

313 

314 

315 

316 



CMP 
BNE 

BPL 



BASCALC 

BA5L 

PTR 

BASH 
**>BUFFER 
PTR+1 
«39 

CBASL) .Y 

m^L 

<PTR> ,Y 

<eeaslJ ,Y 

(PTR) ,Y 

LOOPCHG 

NEXTLG 
BAK 

I ' <cran actuel dans un tampon 
5 CTRL -R ? 



tt*92 
LININSRT 
SAUFl AG 
DOIT 



;Se branch* toujours 



* Insertion d'une ligne blanche et dCcallage 

* de la +m de I'tcran d'une ligne vers le bas 



LININSRT CMP 
BNE 

LDX 
STX 

DPI. JSR 



BCS 

BLANKLIN JSR 
BMI 

: E f fnsE 

LINFKII I CMP 
BNE 
STA 
LDX 

NXTPRO I NX 
CPX 
BNE 
LDA 
JSR 
BMI 

KILLNXT JSR 
INX 



H*8F 

LINEKILL 
H22 

SENSFLG 
MOVELINE 



BLANKLIN 
DPL 



;CTRL-0 ? 

;Flag > vers I «? bas 

;DCp lace 1 a 1 i gne 



;Ef f ace la 1 i gne 



d'une ligne et d<c*11*ye de la fin 
1 igne vers le haut 



d'une 



***90 
DSPCAR 
SENSFLG 
CU 

H24 

KILLNXT 
#23 
BLANK 1 
BLANKLIN 
MOVELINE 



;CTRL-P ? 

;Flag < uers le haut 



^Efface la derni)n ligne 
sTou j our s 
;D<place 1* 1 igne 



9030- 

9038- 

9040- 

9048- 

9050- 

yU38- 

9060- 

9068- 

9070 

9078- 

9080- 

9088- 



C9 AC DU 
90 C9 AE 
OA E0 00 
4C 0E 90 
25 20 CI 
4C 7D 90 
DB BO AB 
OC C9 AF 
9D C9 BA 
04 C9 A2 
9D 11 03 
09 60 



U5 A9 

F0 40 

F0 06 

C9 95 

FB A4 

C9 AO 

A4 08 

B0 04 

B0 99 

F0 91 

E8 4C 



AE 4C 7D 
C9 88 DO 
CA C6 24 
DO OC A5 
24 Bl 28 
90 AF C9 
CO 01 F0 
C9 AD DO 
E0 00 DO 
20 ED FD 
OE 90 86 



Routine MOVESCREEN 



*2DC.2FD 

2DC- A9 00 85 FC 

02E0 85 FE AB AD FE 02 05 rr 

02E8- AD FF 02 85 FD A2 04 Bl 

02F0- FE 91 FC C8 DO F9 E6 FD 

02F8- E6 FF CA DO F2 60 



Routine HCT.OBJ 



#9465.9496 

9465- A9 00 85 

9468- 25 AO 00 20 CI FB Bl 28 

9470- CY 40 B0 0D C9 20 B0 06 

9478- 18 69 CO 4C 81 94 18 69 

9480- 80 20 ED FD C8 CO 28 DO 

9488- E5 A9 8D 20 ED FD E6 25 

9-490- Ab 23 C? 16 DO D3 60 



Routine BLOADTEXT 
$9200 

•(300. 31D 

0300- A2 17 BA 20 CI FB A5 28 

0308- 85 FE 18 A5 29 69 8E 85 

0310- FF AO 27 Bl FE 91 28 88 

0318- 10 F9 CA 10 E5 60 



Recapitulation MASK 



*V200.941E 



Pom's rr 14 



9200- 


20 


58 


FC 


A9 


00 


85 


06 


85 


9?nR- 


07 


AS 


25 


C9 


18 


on 


06 


A9 


921 0- 


00 


85 


25 


F0 


0E 


A5 


24 


C9 


9218- 


28 


DO 


08 


E6 


25 


A9 


00 


85 


9220- 


24 


F0 


E6 


20 


22 


FC 


20 


OC 


9228- 


FD 


C9 


DE 


DO 


02 


A9 


DB 


C9 


923U- 


HD 


F0 


tb 


C9 


BU 


DO 


01 


60 


9238- 


C9 


93 


DO 


04 


85 


06 


FO 


E3 


9240- 


C9 


9A 


DO 


04 


E6 


25 


DO 


CI 


9248 


C9 


95 


DO 


06 


46 


06 


C6 


24 


9250- 


10 


C3 


C9 


88 


DO 


07 


20 


10 


9258- 


FC 


46 


06 


10 


C6 


C9 


97 


DO 


9260- 


OA 


C6 


25 


10 


BE 


A9 


1 7 


85 


9268- 


25 


DO 


RR 


C9 


89 


DO 


07 


A9 


9270- 


01 


85 


07 


4C 


23 


92 


C9 


86 


9278- 


F0 


F7 


C9 


8E 


DO 


04 


A9 


00 




F0 


EF 


C9 


94 


DO 


18 


A5 


25 


9288- 


85 


06 


C? 


17 


BO 


95 


20 


CI 


9290- 


FB 


A4 


24 


Bl 


28 


fc6 


25 


20 


9298- 


A4 


93 


C6 


24 


10 


B2 


C9 


88 




DO 


05 


20 


9C 


FC 


BO 


E5 


C9 




84 


DO 


20 


A5 


25 


48 A9 


AO 



BPL NXTPRO ;Toujours 
* Afflchage du caracOre 



DSPCAR 
BAK 

OUT 



JSR 
JMP 



OUT 

TESTPOS 



LDX CARTYPF 

5 

sh 



\ o 



> inverse CARTYPE=0 => normal 
= > flasl 



j Norma I 
j I n verse 

* Affichage du caract)r* *t avanc* curseur 



BMI 
AND 



OUTPUT 
CLIGNO 
**«3F 



OUTPUT 



BASCALC 
CH 



RETOUR 
CLIGNO 



PHA 

LDA 
JSR 
LDY 
PLA 

STA ( BASL ) ,Y 
BIT STOPFLG 
BMI RETOUR 
INC CH 
RTS 



;SauM» \» earact>re 
;R<cup>re le caract)r* 

jEn -flash 



* D<callage de la 1 i gne d'un car«ct)re vers la droi te 



H3V 

(BASL) ,Y 



OR 
DEB 

PUSHDR 
SAUCAR 



;Sauve les c«ract>r«i *up la pile 



LIUNEDR LDY 

PUSHDR LDA 
PHA 
DEY 
BMI 
CPY 
BCS 

DR LDA 

PULLDR STA 
PLA 
I NY 
CPY 
BCC 

RTS 

* DCcal 1 ag* d* la 1 i gne d'un rang uers la gauche 
L I GNEGA STY DEB 
PUSHGA LDA < BASL) ,Y 



( BASL ) ,Y sOCcalle vers la droi te 



«40 

PULLDR 
SAVCAR 



PULLGA 



STOPULL 



LDA 
PHA 
I NY 

CPT 

BCC 
LDA 
DEY 

STA 
PLA 
DEY 
BMI 
CPY 
BCS 
STA 
CLC 
RTS 



#40 

PUSHGA 
SAVCAR 



<BASL> ,Y 



STOP'JLL 
DEB 

PULLGA 
SAUCAR 



k DCplacemen* d'une 1 i gne vers lc haut 
* ou vers le bas 



MOUFLINE TXA 
JSR 



BASCALC 



;No de la 1 i gn« 



7 C DU 




no 


A/ 

H *4 


"94 
« M 


P4 
OM 


n r 

U 


9fl 


99 


"iDO 


FP 


9n 

*£U 


RP 


TO 


An 

MU 


n n 

u u 


FA 
CO 


9S 


QOpfl _ 

y^LU" 


HD 


ZD 


PQ 

LY 


1 o 


on 
YU 


tt 


1 

60 


oD 




9S 


pn 


P 1 


ro 
l> y 


07 


nn 

l/U 


99 
£.7 


My 




HU 


OO 


u y 


RO 


*o 


OJ 


1 y 


Hy 


C"3PiQ — 


1 / 


at 


ZD 


MM 




A.S 

r* O 


9"S 


pc 




1 Q 

i y 


pn 

r U 


n 4 


on 
7V 


U L- 


^■n 
HU 


n n 


ZU 


norn 
itLU 




rp 


on 


I/O 


Q1 
7J 


PA 


9^ 


1 n 




CA 

tH 


MO 


1 9 
l y 


OO 






AO 


y *s 




t-y 


99 

y y 


nn 

uu 


99 


on 
^u 


n p 

U U 


FPi 


po 


oonn - 
yauu 




FH 


F ? 


Mm 


94 
j£M 


fti4 
O-M 


OR 

u 


pn 


y.iuo 


97 


9n 


09 

u y 




n a 

LI 


9n 


op 

y i_> 


9^ 

y -j 


9^1 n - 

7 O 1 U 


MO 


n a 

u o 


1 u 


FR 

CO 


4R 
MO 


£ u 


RP 


OQ 
y 


9T. 1 ft« 


Aft 

DO 




7 L- 


3* J 


1 n 

1 u 




PO 

L> y 


O J 


ooon- 
7 o.t u 


on 

L/U 


OR 


A9 
M y 


MU 


P.S 


n 9 

U 7 


A4 


24 

A- M 


V'JVH- 


VII 


11 A 
L*o 


V'-t 
TO 


Vf) 

y u 


AI " 


O- y 


UU 
TO 


nn 


OOOft- 


9R 


RS 
oo 


n 9 
u y 


A? 


1 7 


OA 
OtH 


9fl 


Pi 




r d 


rlJ 


?n 

£0 


O nJ 


n c 


1 ft 
1 O 


A"i 
M J 


99 




A9 




ft^L 


cc 
r r 


An 




ft 1 


9R 


' _) H o 


*TM 


no 
uy 


i n 


u O 


MO 


R 1 

O- 1 


cc 
r C 


91 
y 1 


9^sn - 


Oft 


Aft 
OB 


9 1 
y l 




Pft 


1 n 

1 u 


PP 


ra 


■ J <J o 


1 


DR 

Li D 


*30 


3D 


P9 
w 7 


7 a 


DO 


04 


9'3A0 - 


MO 


no 

u • 


i n 

I u 


re 
i — i 


ro 

1 * 


ftF 


DO 

uu 


1 4 

1 M 


oozo_ 

» OOO 


AO 
M t 


\ A 
1 o 


RA 
oo 


fl9 
u y 


£ u 


F 1 


00 
y 


PA 

1_<*M 


~ o> / u 


P£ 


"30 


fid 

UH 


F4 
Cm 


£ -J 


R0 
DU 


r j 


9fl 
ZU" 




1 9 
1 t 


Qi 
XH 


Qn 


1 Pi 
J U 


ro 

uy 


90 

y u 


nn 


1 A. 
1 O 




PS 


n 9 
u y 


HO 


9S 


Pft 

CO 


F 

c u 


1 


nn 


y ooo 


n T 
U / 


/, y 
M7 


* -y 
1 / 


on 


1 A 
I M 


O A 
7 M 


9PJ 
OU 


t r 


oaon _ 
707U 


?n 


C 1 

r i 


oo 
7 <3 


cro 
C O 


1 n 


F P 
C C 


?n 


op 
y i— 


OOOQ — 
7 J/O 


9°. 
7 9 


4P 


1 >^ 


y ^ 


AA 
MO 


n 7 

u * 


cn 
r u 


04 

U M 1 


7 OMU 


^tn 


1 4 


£ 7 


*^F 

Or 


MO 


M w 


^ -— 


90 


~ Or 1 O 




CD 
i o 


A4 


•C M 


Afl 
00 


9 1 


9P 


94 


7 JDU 


n a 
u o 


^n 




FA 

CO 


94 

£- M 


Afl 
u 


00 
£. 7 


«r- 

r 


OORQ- 

7 


09 


40 


DO 


E8 


AO 


27 


91 


28 


oorn _ 


4ft 


Op 


opj 
oil 


■ It 


P4 

L-M 


n ft 


pi' 


PA 


oorp_ 




no 
uy 


PO 


» 1 


90. 


AQ 
00 


ro 

L- O 


prr 

L>U 


oonfi - 


9R 


9H 

y u 


Fft 
r o 


OO 


n9 
u y 


a n 
ou 


fid 
OM 


ft 

u 


yjutf- 




/.a 


MO 


to 






on 
y U 


ro 


"OCU 


MO 


u y 


ftft 


y 1 


^8 


Aft 



ftp 
00 


OU 


7 JLO 


fid 
UM 


C4 


Ud 




P6 


us 

O vj 


oy 


18 


?3FQ- 


60 


8A 


20 


CI 


FB 


AO 


27 


51 


93F8- 


28 


48 


88 


10 


FA 


24 


09 


10 


9400- 


03 


CA 


10 


01 


E8 


8A 


20 


CI 


940 e- 


FB 


CO 


o8 


91 


28 


CO 


27 


90 




F8 


AO A5 




fo° 




FB A9 




AO 


91 


28 






60 





397 




LDY 


3?8 


L00P1 


LDA 


399 




PHA 


400 




DEY 


m01 




BPL 


40 2 




BIT 


403 




BPL 


404 




DEX 


405 




BPL 


40 6 


INSRT 


INX 


40 7 


CONTMOU 


TXA 


40 8 




JSR 


40 9 


LO0P2 


I NY 


410 




PLA 


41 1 




bin 


412 




CPY 


413 




BCC 


414 




RTS 


415 






41o 


* E-f-facement 


417 






418 


BLANK 


LDA 


41 9 


BLANK! 


JSR 


420 




LDA 


421 


BKL0OP 


STA 


422 




DEY 


423 




BPL 






RT5 


1 




LST 



»39 

( BASL) ,Y 

L00P1 

SENSFLG 

INSRT 

CONTMOV 
BASCALC 



< BASL) ,Y 

»39 

L00P2 



de la I i gne 

CU 

BASCALC 
tt' " 

< BASL) ,Y 
BKL0OP 

OFF 



GESMASK MODIFIE 

10 HI MEM : 32768: REM *8000 

15 MOVE = 732: DP = 766 : BT = 767 

20 D* = CHF?* <4) :D1* - CHR* < 1 3) * ; 

PRINT DS-BLOAD iNPUT" : PRINT US" 
BL0AD MASK - : PRINT D*' BL0AD HCT . 
BJ": PRINT Dl *" BLOAD MOVESCREEN " 
30 0NERR GOTO 9000 
40 GOTO 300 

70 VTAB 22: HTAB 1: INVERSE : PRINT ^M* 

j: NORMAL : INPUT ■ ? ■ ; 2* : UTAB 
22; CALL - 868:2* = LEFT* <Z*,1 
): IF Z$ = -0" OR 2* = "N" THEN 
RETURN 

71 GOTO 70 



80 REM 

90 REM ROUTINE D' INPUT 
100 REM 

149 V/TAB U: HTAB H: PRINT LEFT* < PO* , L 

0>" ■ ; : VTAB V: HTAB Hs IF ME = 
2 OR X = 1 THEN PRINT 7Y*CLL>: I 
F BX - 8 THEN 168 

150 VTAB V: PUKE 8,TY: POKE 36.H - U P 

0KE 7,L0: CALL 3o8o4 
154 LC = PEEK (9):E = PEEK <6>: IF E = 

9 THEN RETURN 
156 22* = PRINT SPC< LO - LC> ! IF L 

C = THEN 168 
158 FOR 22 = \ TO LC:2 = PEEK (784 + Z 

Z> - 128:ZZ* = ZZ* + CHR* <Z>: N 

EXT 



50 



Pom's n" 14 





programmer 
un ordinateur est 
devenu pour vous 
un loisir, un plaisir... 
une passion, sachez que LIST a ete cree 
pour vous. LIST vous aide a tirer davantage 
de votre materiel, a vous perfectionner 
dans la conception des programmes 
qui "tourneront" sur votre machine. 
LIST vous initie aux langages informatiques 
et selectionne les meilleurs livres pour 
progresses LIST vous informe de I'actualite 
et vous fournit trues, astuces et idees 
pourmieux programmer... 
Pour £tre sur de ne rater aucun numero 
et pour recevoir LIST chez vous, 
abonnez-vous ! 



P BULLETIN 

D'ABONNEMENT 

a retourner a LIST 
(sen/ice abonnement) 
5, place du Colonel-Fabien, 
75491 Pr* 







Norn:, 
Adresse : 
Ville: 




Code postal ; I i i 



Pays: 




20 F chez votre ma. 



I 



Veuiilez m'abonner pour 10 numeros a : 
avantageux de 160 F* au lieu de 200 F. Je fals ainsi 
une econornie de 40 F sur le prix de vente au numero. 

Je joins rnon reglement indispensable libelle 
a I'ordre de LIST. 



Belgique : 1330 FB ; Suisse : 50 FS ; Canada ; 30 $C ; 
autres pays: 210 FF 




162 
163 

164 



145 
166 



167 
168 



16? 
180 
190 



300 
310 

320 
400 



405 

410 
420 

430 
440 
450 
460 



470 

480 

490 

500 
510 
520 



525 E 



530 

540 
550 



560 

570 

600 
602 



IF TY < 3 THEN RETURN 

IF MID* (ZZ*,2,1> = THEN 22* = 

"0" t ZZ* 
IF MID* <ZZ*,5,1> = V THEN ZZ* = 
LEFT* (ZZ*,3) -*■ "0" ♦ RIGHT* ( 
Z2*,4> 

IF LEN (2Z*> < > 9 THEN Z* = ME*< 
3) : GOSUB 190: GOTO 149 
24 = UAl ( MID* (Z?*,4,2)): IF UAL 
< LEFT* <ZZ*,2>> > 31 OR 24 > 12 
OR Z4 * VAL ( RIGHT* <ZZ*,2>) < 
= THEN Z* - ME*<3)i GOSUB 190 
: GOTO 14? 
RETURN 

IF ME = 2 OR X = 1 THEN VTAB V: HT 
AB H:ZZ* = ZY*(LL): PRINT ZZ* SPC 
( LO - LEN (22*) > 
RETURN 
RFM 

VTAB 21: HTAB 1; CALL - 868: INVER 
SE : FOR Z = 1 TO 150:21 = PEEK 
( - 16336): NEXT : PRINT 2* j i NOR 
MAL : FOR Z = 1 TO 2500: NEXT : H 
TAB 1 : CALL - 868: RETURN 

DATA 9,29,1,2,17,36,1,1 

FOR I = 1 TO 2: READ ZWC I ) ,ZHX( I ) , 
ZL*/.( I ) ,TYX( I ) s NEXT 
PO* = ■ 

TEXT : HOME : PRINT Dl*"BLOAD GESMA 
SK1,D1": REM PREMIER WSGUE DU 
PROGRAM-IE 

V = 14sH = 28:L0 = 1 :TY = 2:X = Q:ME 

- 0:BK - 
E = 0: GOSUB 149: IF E = 9 THEN 410 
Z'A = UAL <ZZ*): IF Z'A < 1 OR Z'A > 6 

THEN 410 
IF Z'A = 6 THEN HOME : END 

V - 1?:H - 24;L0 - 9:TY - 1 : LL - 1 

E m 0: GOSUB 14?: IF E = 9 THEN 405 
ZY*(1) = ZZ*:M* = 22*;2M* = ■ ENREGI S 
TREMENT CONFIRMED GOSUB 70: IF 2 
* m -N" THEN X = Is GOTO 450 
HOME : PRINT D*" BLOAD GESMASK2* :X = 
0:ME = 0:BX = 0: REM DEUX1EME M 
ASQUE DU PROGPtf*ME 

V = 7;H = 2?;TY = 2sL0 = IsE = 0; GO 

SUB 149: IF E = 9 THEN 400 
ZY*(1) = ZZ*iD = UAL CZZ*>! IF D < 

1 OR D > 2 THEN X = 1 : GOTO 480 
IF 2'A < > 4 THEN 560 

ME = OzOY. = 2tX = 
FOR LL - D% TO 3:L1 = LL - 1 :V « 2U 
X(L1):H = ZHXCLDiLO = ZL>C<Ll>iTY 
= TYX < L 1 ) 
= 0: GOSUB 149: IF E = 9 AND LL = 

2 THEN LL = 3s NEXT ;X = 1 : GOTO 
480 

IF E = 9 THEN LL = 1 iX = 1 : GOTO 55 


ZY*(LL> = ZZ* 
NEXT :S - VAL <ZY*(2>>:E* = ZY*<3> 
s IF S < 1 OR S > 5 OR (E* < > " 
0" AND E* < > "N"> THEN O'A = 3sX 
= 1 : GOTO 320 
GOSUB 70: IF Z* = "N" THEN X = 1: G 
OTO 480 

Z - 0: HOME s PRINT Dl*"BLOAD"M*" ,D" 
D: ON 2 m A GOTO 600,610,620,630,650 
IF Z = THEN 9010 

CALL 37376: REM ROUTINE DE GESTIO 
N DE MASQUES 



603 POKE DP, 4: POKE BT,136: CALL MOVE: 

REM DEPLACEMENT DE *400 EN *8800 

604 HOME : VTAB 10 

605 INPUT ■ SOUS QUEL NOM LE SAWER : "; 

NLd*: IF NUJ* = "?" THEN PRINT Dl* 
"CATALOG"; GET WW*; PRINT : GOTO 



606 
60 7 
608 
60 9 



605 
IF NU* = 
IF NW* < > 
POKE DP, 136! 



THEN 400 
" THEN M* = NW* 
POKE BT,4: CALL MOUE 
POKE 34,24: PRINT D**BSAVE"M*" ,A102 
4 f Li024": GOTO 400 
610 CALL 37379: GOTO 603« REM ON SAUTE 

LE "HOME" DE LA ROUT1NL 
620 POKE 36,0: POKE 37,23? CALL 37411: 
GOTO 40 0: REM ONSAUTEDI RECTEMENTA 
U"JSR VTAB"DELAROUTINE 
630 PRINT D*"PRtt"S: IF E* = -O" THEN P 

RINT CHR* <9)-80N B 
640 CALL 37989: PRINT Dl*"PRttO" : GOTO 4 
00: REM ROUTINE DE HARD-COPY TEX 
T 

650 ZM* m "ANNULATI ON CONFIRMEE": GOSUB 

70: IF 2* — "N" THEN 400 
660 PRINT Dl*" DELETE D M* : GOTO 400 
9000 Z = PEEK (222): IF 2 - 6 AND Z'A = 
1 THEN 600 

9010 IF TA = 1 THEN Z* = "CE MASQUE EXI 
STE DEJA" : GOSUB 190: GOTO 400 

9020 2* = "CE MASQUE N' EXI STE PAS": GOSU 
B 190: GOTO 400 

*-****»».»***** *************************** 
* GESTION DF MASQUES * 



* 

* 1 
* 

* 3 
* 

* 5 



CREATION 
CONSULTATION 
ANNULATI ON 



2 - MODIFICATION * 



4 - IMPRESSION * 
6 - FIN * 
* 

* VOTRE CHOIX : * 

* * 

* NOM DU MASQUE : * 

* # 

K * 
a***************************-*** ********* 
**************************************** 

* « 

* GESTION DE h^SGUES - PARAMETRES * 

* * 

* 



* 
* 

* 

* 



NUMERO DU DRIVE (1/2) : . 
SLOT DE L'IMPRIMANTE : . 



* 

* 

* 

VOTRE INTERFACE- IMPRIMANTE FAIT * 

* 

ELLE UN AFFICHAGE A L * ECRAN AU * 

* 

MOMENT DE L' IMPRESSION (O/N) : . * 

x 

**************************************** 



Pom"s n" 14 



Visicalc est vraiment formidable ! 
Pour la gestion financiers ou 
cornmerctale bien sur, rnais egalc 
merit pour bien d'autres choses : Oli- 
vier Herz vous a presente un calen- 
drier perpetuel dans le numero 10 de 
Pom's: aujourd'hui. je vous propose 
de calculer les heures de lever et 
coucher du soleil. 

Pout utiliser cc tableau, il suffit de le 
chdryer a parrir de la disquette 
Pom's; si vous ne la xp.cpvp? pas. 
vous trouveroz ci dessous la liste du 
tableau obtenue avec le programme 
LISTE de la disquette d'accompa- 
gnernent "Visicalc sur Apple v (Edi- 
tions du PSI). 

La feuille affiche deux fenetres : sur 
la premiere, vous entrez le jour et le 
mois. la latitude et longitude du point 
considered (format degres. minutes, 
positif pour le nord et I'ouest. negatif 
pour le sud et Test) ainsi que le de- 
calage horaire officiel par rapport au 
meridien de Greenwich. 

Le tableau utilise par defaut les coor- 
donnees geuyiaphiques de Paris; les 
coordonnees de quelques grandes 
villes en France et aillcurs sc trouvent 
sur la droite du tableau; vous pouvez 
bien entendu en ajouter d'autres en 
consultant un atlas. N'oubliez pas 
d'indiquei ie decalaye horaire ( + 1 
en hiver et +2 en ete pour la 
France); vous pourrez trouver eclui 
de n'importe quel pays sur un indica- 
tes d'Air France. 

La deuxieme fen«2tre affir. he les resul- 
tats en heures locales sous le format 
heures. minutes, ainsi que la duree 
totale du jour 



Leve-toi et brille ! 

Alexandre Avrane 

Quelques tests sont inclus pour ven- et la refraction atmospherique ne 
fier la saisie: le message "Error" s'af- sont pas pris en compte et peuvent 
fiche en cas d' incoherence. Dans cer- conduire a des erreurs de I'ordre de 
tains cas extremes (en partculier en 5 minutes. Enfin. cette grille ne 
Siherie). il est possible que le soleil tourne pas sur certains simili-Visicalc, 
se leve avant heure ou se couche en particulier Magicalc qui n'accepte 
apres minuit; la gnlle affichera alors pas les formules trigonometriques. ou 
un asterisque a la suite de 1'heure lo- Multiplan qui ignore Arcosinus: il fau- 
cale. drait revoir la grille et utilise i les de- 

veloppements limites : un lecteur re- 
Attention : I aplatisseme.nt des poles levera-t-il le defi ? ■ 

A B C D 
1HEURES DE LEVER & COUCHER DU SOLEIL 
2 

3C0PYRIGHT A. AVRANE ET POM'S - 1984 
4= ====== ============================= 

5 

6J0UR > 14 

7M0IS > 7 • 

©LATITUDE <DD.MM)-> 48.52 N=* S=- 

9L0NGITUDE(DD.MM>-> -2.23 W=- E = - 

10DECALAGE HORAIRE-> 2 . OO 

11 

A B C D 

16 

17RESULTATS < HEURES LOCALES HH.MM> 
18 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

19 

20LEVER > 6.09 

21COUCHER > 21.44 

22DUREE DU JOUR > 15.35 



FICHIER VI SXCALC 

/X!/X>A16: >B19: ; 

/GC9 

/X!/X>Al:>C6: -./GtL, 

>B5:/TH 

/X>Al:>Bi:/TV 

/GC9 

/GFL 

/XH12 

/GRA 

/GOR 

/Wl 

>A1 : "HEURES DE 
>Bl:" LEVER & 
>C1 : "COUCHER D 
>Dl:"U SOLEIL 
>E1 : " ! 

>A2:" 

>B2:" 

>C2: " 

>D2:" 

>E2:"! 

>A3 : "COPYRIGHT 



>B3: 
>C3: 
>D3: 
>E3: 
>A4: 
>B4: 
>C4; 

>D4: 
>E4: 
>A6: 
>B6: 
>C6: 
>D6: 
>F6: 
>G6: 
>H6: 
>I6: 
>J6: 
>K6: 
>L6: 
>M6: 
>N6: 



SOL.EI 

" A. AVRAN 

"£ ET POM J 

"S - 1984 
•■ t 

••= = = = = = = = = 

" } 

"JOUR 

" > 

/h'L14 



/F "GIF ( GOR < Cb< 1 , C6>31 } , ©ERROR .0) 

"PARIS 

"MARSEILLE 

" LILLE 

"BREST 

"STRASBOUR 

"G OSLO 

"ATHENES 

"SINGAPOUR 

" LE CAP 



Pom's n ' 14 



>06 : "MELBOURNE 
>P6:" NEW YORK 
>Qfe:' fc ANCHORALx 
>R6:"E LIMA 

>Sb : "Tahiti 

>A7:"M0IS 

>B7 : " > 

>C7 : / FL7 

>D7 : / F » 81 F < ©OR < C7<1 9 C7 V 12 ) .TERROR. 0) 

>A8 : / FL" LATITUDE 

>B6:"<DD.MM)-> 

>C8: /FS48.52 

>D6:" N = + 5=- 

>F8:48.52 

>G8:43.26 

>H8:50.34 

>I8:445.27 

>J8:48.32 

>K8;59.54 

>L8:37.54 

>M8:i.21 

>N8:-33.58 

>0S: -37.44 

>P8:40.4fc 



>08:61,11 
>R8:-12.02 
>S8:-17.33 
>A9 : "LONGITUDE 
>B9 : " ( DD . MM ) -> 
>C9:/FS-2.23 
>D9:" W= + E = - 
>F9: -2- 23 
>G9:-5.13 
>H9:-3.05 
>I9:4.25 
>J9:-7.38 
>K9:-10.38 
>L9: -23.44 
>M9: -103.54 
>N9: -18 .3b 
>09: -144-54 
>P9:73.53 
>Q9: 149.59 
>R9:77.07 
>S9! 149.37 
>A10: "DECALAGE 
>B10 ; "HORAIRE- > 
>C10:/FS2 



>Dio: 
>A12: 
>B12: 
>C12: 
>D12: 
>E12: 
>A13: 
>B13: 
>ci3: 
>D13: 
>A14 : 
>Bi4 : 
>C14: 
>D14: 
>Aib : 
>A17: 
>B17: 
>C17: 
>D17: 
>A18 : 
>B18 : 
>C18: 

>D18 : 
>A20: 
>B20: 
>C20: 
>D20: 
>E20: 
>A21 : 
>B21 : 
>C2l: 
>D2i : 

>E21 ; 
>A22: 
>B22: 
>C22: 



/F»©IF(OOR(C8<-90.C8>90.C9<-90.C9>90.C10<-12,C10>12; , TERROR. 0) 

/F*+<C8-©INT< CS) ) /.£ 

/F*+ <09-©INT (C9> ) /-6 

/F*+©INT(C8) +A12 

/F-+©1NT<09) + B12 

/F»©PI/180 

/F« + . 988* ( Cb + i 30. 3* ( C7 -1) ) ) 
/F»+23.5»@C0S< ( A13+10) *E12; 

/F*+( . 1^3*U?CUS< <A1* + 87)»E12.>-C (1/6) »@SIN ( 2* ( A13 + 10) *E12) ) 

/F**< 180/SPI) »©AC0S(©TAN(B13»E12> »0TAN (C12*E12> > 

/F* +12+010-013+ ( (1/15)*<D12-D13) ) 

/F»@IF(A14<0.24+A14. A14 

/F* +12+010-01 3+ ( 11/15) * (D12+D13) ) 

/F*fiIF(C14>24, 014-24,014 

/F*+014-A14 

,% RESULT ATS 

" i HEURES 

"LOCALES H 

"H.MM) 



" = = = = = 

"LEVER 

» > 

/FS + ©INT< B2 4 ) + ( (6/10) * ( B14-SINT ( B14 ) ) ) 

/F»®IF(A14<0,QEXP<99) ,0 

"VE1LLE 

"COUCHER - 

" > 

/FS+01NT(D14J + ( (6/10) » < D14-©INT(D14) ) J 

/F*©IF(C14>24,©EXP<99> ,0 

"LENDEMA1N 

"DUREE DU 

"JOUR > 

/FS-@INT<A15.>-< Cb/lO) * <A15-6l»T(A15) ) ) 



Pom s n° 14 



217 fichiers par disquette 

Marcel Cottihi 



Suite au counter des lecteurs (Pom's 
11-12) demandant la maniere d'aug- 
menter le nombre dc fichiers disponi- 
bles sur une disquette, volci un petit 
programme de 9 secteurs qui repond 
au probleme. 

Une disquette DOS 3.3 ne peut sta- 
cker plus de 105 programmes ou fi 
chiers dans son catalogue (manue! 
du DOS. page 123). Pour forcer la 
main a la routine de formatage. il 
suffit de lui faire ingurgiter quelques 
POKEs et Je tour est joue. Une fois 
"traitee" par le programme, une dis- 
quette voit sa capacity en nombre de 
fichiers passer de 105 a 217. 
Comme il ne peut y avoir de crca 
tion spontanee d'espdce disque, le 
nombre de secteurs disponibles pour 
les donnees passe, quant a lui. de 
496 a 480. 

La VTOC conserve sa place habi- 
tuelle sur la piste $11, secteur $00. 
Le directory, pour sa part, s'etend 
non seulernent sur Ees 15 autrcs sec 
teurs de la piste $11. rnais egalement 
sur l'ensembie de la piste S10 (tou- 
jours dans Tordre decroissant des 



secteurs). A raison de 7 noms de fi- 
chiers par secteur de catalogue, on 
peut done en conserver 31*7 soit 
217. 

II n'est pas necessaire d'inirialiser une 
disquette vierge; une disquette en 
cours d'ntilisation peut etre modifiee. 
pourvu qu'elle n'exploite pas encore 
la piste $10 (e'est normalement une 
des dernieres pistes allouees par le 
DOS). La carte d'occupation (VTOC) 
est automatiquement mise a iour par 
le programme ci-joint. 

Ce proqramme necessite un Apple II 
(n'importe quelle cuvee) et le DOS 
3.3 charge. Verifie2 bien que ce der- 
nier possede une commande INfT 
valide (pas de DOS modifie par un 
des nombreux patches recuperanl la 
place memoire d'INIT). En cas de 
doute... Apple vous a fourni une dis- 
quette MASTER, utilisez-la ! 

Fonctionnement 
du programme 

Ligne 80 : routine RWTS "pokee" a 
l'adresse 768. 



Ligne 90 : adresse du tampon utilise 
par RWTS. 

Ligne 100 : met le volume a zero. 
Liqne 190 a 210: fixe la variable 
PK$ selon le type du programme de 
boot (Applesoft, binaire ou Exec). 
Ligne 230 a 240 : initialisation de la 
disquette. 

Ligne 270: controle si la piste $10 
(16) est deja occupee. en consultant 
la VTOC actuelle (piste $11. secteur 
$0). 

Liqne 290 : fixe le pointeur vers la 
piste $10. 

Ligne 300 ; pointeur des procl iains 
secteurs. 

Ligne 320 a 350 : lecture/ecriture des 
pastes/secteurs par RWTS. 

La disquette peut etre ylubalement 
copiee par n'importe quel pro- 
gramme comme COPYA. Les fichiers 
peuvent egalement etre copies indivi- 
duellement, mais pas par tous les 
programmes : FID fonctionne correc- 
tement, en revanche Super Disk 
Copy devoile des lacunes... 



ao rem — ■ 

20 REM 2 PISTES CATALOG 
30 REM PAR MARCEL COTTIN1 
-30 REM COPYRIGHT 84 
50 REM =================== 

70 GOSUB 1?0 

SO POKE 768,32: POKE 769,227: POKE 770,3: POKE 
771,76: POKE 772,217: POKE 773,3: REM SA 
UT A LA ROUTINE RWTS 

90 LUO = 100O0: POKE 47088, L0C - INT (L0C / 256 
) - 256: POKE 47089, INT (LOC / ?56>: REM 
ADRESSAGE MEMQTRF 

100 POKE 47083, O: POKE 47091,0: REM MET LE VOLU 
ME A 

HO RETURN 

120 TEXT : HOME : INVERSE : PRINT " 2 PISTES CA 

TALOG ": NORMAL : PRINT : PRINT "UTILISE 

AUSSI LA PISTE 16 COMME CATALOG" : PRINT " 

(IL FAUT OU ' ELLE SOIT LIBRE . > " : PRINT 
130 FOR X - 1 TO 40: PRINT "-";: NEXT X: PRINT 
140 VTAB 8: INPUT " V0ULEZ-V0U5 INITlALiSbK LE D 

I5K ? REP0NDE2 PAR '001' OU * N' : "; 

INS: IF INS = "N" THEN GOTO 250 
150 IF INS < > "N" AND INS < > "OUI" THEN 120 
160 VTAB 8: CALL - 958: INPUT "NOM DU PROGRAMM 

E DE BOOT: ";N06: IF NOS < "A" AND NOS > 

"Z" THEN 160 
170 VTAB 8: CALL - 958: INPUT "NUMERO VOLUME D 

U DISK: "rVOSlVOL = VAL (VOS): IF VOL < 

1 OR VOL > 254 THEN 170 
180 VTAR 8: CALL - 958: INPUT "<A>PPLESOFT 

<B>INAIRE OU 
<T>EXTE > ";P 

KS: IF PKS < > "A " AND PKS < > "B" AND 

PKS < > "T" THEN 180 
190 IF PKS = "A" THEN PKS = "APPLESOFT" : POKE 4 

0514,6: GOTO 220 
200 IF PKS = "B" THEN PKS = "BINAIRE" : POKE 405 

14,52: GOTO 220 
210 IF PKS = rr THEN PKS = "TtXTh"; POKE 40514 



,20; GOTO 220 
220 VTAB 6: CALL - 958: HTAB 2: FLASH ; PRINT 

"INITIALISATION" : NORMAL : PRINT : PRINT 

"PROGRAMME DE BOOT: ":N0S: PRINT "FICHIER 
TYPE : ";PKS: PRINT "NUMERO DE VOLUN 

£.: ";VOL 
230 PRINT CHR* (4) "INIT"NOS" , V" VOL 
240 PRINT CHRS ( 4 > "DELETE" "NUS 
250 GOSUB 80 

260 VTAB 8: CALL - 958: PRINT " <RETURN > POUR D 
I RECTORY 217 FICHIERS <0> QUITTER: "*: 

GET AS: PRINT AS: IF AS < > CHRS C13) 
THEN END 

270 TR = 17:SE = 0;RW = ll GOSUB 320: IF PEEK ( 
LO ♦ 120) = 255 AND PEEK (LO ♦ 121) = 25 
5 THEN POKE LO * 120,0: POKE LO * 121,0: 
RW = 2: GOSUB 320: GOTO 290: REM FIXE LA 
VTOC 

280 INVERSE : PRINT : PRINT CHR9 <7);" LA PIST 
E 16 EST DEJA UTILISEE ! ! " : NORMAL : PRIM 

T : PRINT "(RECOMMENCER AVEC UN AUTRE DIS 
K.)": END 

290 TR = 17:SE = l:RU = l: GOSUB 320: POKE LO * 

1,16: POKE LO * 2,15:RW = 2: GOSUB 320: R 

EM POINTEUR DE LA PISTE 16 
300 TR - 16; FOR SE = 15 TO 1 STEP - 1 : RW = 1: 

WJ3Ub 3ZO; POKE LO * 1,1b: POKE LO * 2,5E 
- l:RW = 2: GOSUB 320: NEXT : REM POINTE 

UR DU PROCHAIN SECTEUR 
310 PRINT : PRINT "LE DIRECTORY PEUT CONTENIR 2 

17 FICHIERS. ": END 
320 POKE 47084, TR: POKE 47085, SE; POKE 47092, RW 

: GOSUB 330: CALL 768: RETURN : REM LECTU 

RE ECRITURE SECTEUR 
330 IF RW = 1 THEN VTAB 8: CALL - 958: PRINT 

" LECTURE: 

340 IF RW = 2 THEN VTAB 8: CALL - 958: PRINT 

"ECRITURE : ••; 
350 PRINT "P15TE-";TK;'\ SECTEUR-" ;SE." FOR X = 

1 TO 100: NEXT : RETURN 



Pom's ir 14 



Conversion minuscules/MAJUSCULES 

Alexandre Avrane 



B/.*/b2 ! 

Oh, excusez-moi. je ne savais que 
vous n'aviez pas d'affirhagp en mi- 
nuscules ! 

Programmeurs sur Apple .'/e et //c, 
ayez un peu de pitie pour les posses- 
seurs d'tin "vieil" Apple (1 an et 
demi t) sans la ROM LC qui permet 
les minuscules a I'ecran. Non qu'iis 
snipnt emisables de ne pas se pro- 
curer cet accessoire bon marche et si 
pratique, mais n'oubliez pas qu'un 
hon programme doit avoir la correc- 
tion de regarder ou il est et ne pas 
dire "Bonjour" comme ci-dessus... 

Deux PEEKs permetlent de savoir 
sur quel type de machine on se 
trouve : 

• PEEK(64255) vaut avec la ROM 
Autostart, 1 avec Pdnuen moni- 



teur (Apple 11 simple ne suppor- 
tant pas la ROM LC). 
• PEEK(64266) vaut 208 pour un 
Apple II ou 11+ avec la ROM Au- 
tostart, 240 pour un //e ou //c. 

Dans le premier cas (208). il n'existe 
aucun moyen de savoir s'il est possi- 
ble d'afficher des minuscules ; il faut 
poser la question, comme le tait 
Apple Writer II. Si la reponse est ne- 
gative (pas de minuscules), cela 
n'oblige pas le programme a modifier 
toutes ses sorties video, mais plutot a 
utilizer une routine de conversion qui 
intercepte les caracteres et les trans- 
forme en majuscules. 

C'est le but du programme SHIFT, 
qui convertit egalement les minuscu- 
les accenruees et lettres propres au 
francais; ainsi, Ctrl X, qui fournit un 
"backslash" interprets comme un c 



cedille par la ROM L C, affiche un C 
assez surprenant. 

Le source (Big Mac) doit etre assem- 
ble de preference a l adrcssc $300. 
La version pour le programme de 
BLOC-NOILS, publiee dans le 
Pom's 13. est logee en $9AO0. c'est- 
a-dire dans un buflei du DOS inuti- 
lise par le programme, done avec 
une securite reduite. 

Dans la meme opOque. n'oubliez pas 
que les Apples ne possedent pas tous 
de carte 80 colonnes; il est moins dc 
sagieable de lire un message bien 
poli indiquant qu'il est impossible 
d'executer le programme sur la ma 
chine en cours, que de voir son 
Apple devenir sourd et rnuet... 



1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
1 1 
12 
13 
14 
15 
1 6 
17 
18 
1? 
20 

21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 

36 
37 
38 
39 



«#***»***********#####*#**»*****« 
» * 

SHIFT * 

♦a******************************* 
* Copyright [CI 1984 A. Avrane 



* Maj : 

* CrCCi 



02/01/84 
02/01/84 



Big Mac 



Cf> programmp pprmpt , auy 
utH isateurs d'Apple 11+ sans 
ran I.e., de visual 1 ser toutes 
minuscules en majuscules. 

11 se lance par un simple 
BRUN t Reset reconnects la 
sortie vidCo normal e . 

La version assemble* en 
*?AQ0 se situe au se i n des 

buffers du Dos. Prudence done. 



CSU 

TRAP = 

D0SH00K = 

COUT0 



♦ 36 
*48 
*3EA 
*FDF0 



HOOK 



ORG *30Q 

LDA «<H0OK 

STA CSU 

LDA #>H0OK 

STA CSUI+ 1 

LDA »*0 

STA TRAP 

JMP DOSHOOK 

STA CHAR 
PHP 



ML" 


TYA 

1 AM 




■ k y i » i 


41 


PHA 


















PUAD 

i_r*-irc 




44 


LDX 


*7 




45 LOOP 


CMP 


TABLE 1 ,X 




46 


BEG 


CHANGE 




47 


DEX 






48 


BPL 


LOOP 




49 


CMP 


H*E0 




50 


BCC 


EXIT 




51 


SEC 






52 


SBC 


tt*20 




33 


BNE 


EXIT 


= jmp 


54 CHANGE 


LDA 


TABLE2 , X 




55 EXIT 


STA 


CHAR 




56 


PLA 






57 


TAX 






58 


PLP 






59 


LDA 


CHAR 




60 


JMP 


COUT0 


v i cKo 


6\ TABLE 1 


DFB 


*C0 


iS 


62 


DFB 


*DC 


;\ 


63 


DFB 


»E0 




64 


DFB 


*FB 


;< 


65 


DFB 


*FC 


;i 


66 


DFB 


*FD 


;> 


6/ 


DFB 


*PE 


t 


68 


DFB 


*FF 


; 


69 TABLE 2 


ASC 


■A B 




70 


ASC 


■■'C* 




71 


ASC 


■ ! '+*20 




72 


ASC 


"E"+*20 




73 


ASC 


"U"+*20 




74 


ASC 


-E-+520 




75 


ASC 


■-■+*20 




76 


ASC 


■ ! ■ **20 




77 CHAR 


DFB 







78 


END 







Recapitulation SHIFT 

0300- A? OF 85 36 A? 03 85 37 
0308- A? 00 85 48 4C EA 03 8D 



0310- 4A 03 08 8A 48 AO 4A 03 

0318- A2 07 DD 3A 03 FO 0C CA 

0320- 10 F8 C? E0 90 08 38 E? 

0328- 20 DO 03 BD 42 03 8D 4A 



0330- 03 68 AA 28 AD 4A 03 4C 

0338- F0 FD CO DC E0 FB FC FD 

0340- FE FF CI C3 Al C3 D3 C5 

0348- AD Al 00 



mmBMmmaMsmBsimm 



Pom's n° 14 



Un catalogue general 

Michel Baudrand 



Qui n'a jamais souhaite retrouver Id 
disquette sur laquelle est stocke tel fi- 
chier. ou l'adresse de chargement 
d'un programme assembleui ? CAT- 
GEN repond a ce souci et vous per- 
mit en effet de ; 

• stocker le catalogue d'un ensem- 
ble de disquettes dans un seul fichier; 

• trier ces informations selon diffe- 
rents entires; 

• editer le resuitat d'un tri a 1'ecran 
ou sur imprimante. 

CATGEN foncTlonne sur Apple 11+ 
ou //e. avec 1 ou 2 tecteurs de dis- 
quettes et supporte une imprimante. 
II est ecrit en Basic et utilise deux 
routines en assembleur : Faeces a la 
routine RWTS pour la lecture du ca- 
talogue et un programme de tri. 

Apres avoir demande la date et s etre 
assure de sa validite. CATGEN pro- 
pose un menu de 8 rubriques . 

1 • INITIALISATIONS: perrnet de 
definir le nombre lecteurs (1 par 
defaut) et le type de rimprimante (en 
fait EPSON ou autres). C'est la 
quest initialise le fichier de donnees 
baptise "CATALOGUE GENERAL 

2 - SA1SIE de disquettes DOS 3.3 : 
le programme demande s'fl s'agit 
d'une rnise a jour par la question 
"EST-CE UNE NOUVELLE DIS- 
QUETTE (0/N>? puis Ies caracte- 
ristiques de la disquette traitee ; NU- 
MERO. FACE. LABEL. CLASSE des 
fichiers. 

Le programme lit el analyse la piste 
17 ($11) de la disquette pour deter- 
miner les caracteristiques de chaque 
fichier, a savoir : le NOM, le TYPE, 
la TAILLE en secteurs. I'ADRESSE 
de CHARGEMENT et la LON- 
GUEUR des programmes blnalres. 
Un dialogue permct de completer les 
Informations ; CU\SSE (numero de 
1 a 16 dont la signification est definie 
par rutilisateur). NOM d'un fichier lie 
(fichier de ia meme disquette associe 
au fichier en cours). 

3 - SAISIE de disquettes 'SPECIA- 
LS : il s'agit de disquettes Type Pas- 
cal ou non "cataloguables**. Les in- 
formations correspondant a chaque 
fichier sont saisies par dialogue au 
clavier. 

4 - COMPACTAGE du fichier CA- 
TALOGUE GENERAL, il doit etre 



effectue apres une rnise a jour. 

5 - TRI : un menu offre le choix 
entre 5 criteres de tri : par Nom. par 
Numero de Disquette. par Label, par 
Type, par Classe. Lc resuitat du tri 
peut etre sauvegarde dans le fichier 
TRI. Pour chacun de ces criteres, les 
fichiers sont classes par ordre alpha- 
berique. 

6 - EDITION : apres definition de 
l'organe Ue sortie (Ecran ou Impri- 
mante), un menu propose 5 formats 
d'edition. Le choix 5 est adapte a 
f Epson MX82. Une edition nest faite 
qu'apres un tri et suppose I' existence 
du fichier TRI. 

7 - MODE D'EMPLOI : une descrip- 
tion succincte des possibiiites de 
CATGEN est afflche"e. 

8 Enfin, le choix 8 perrnet de quit- 
ter CATGEN. 

A ia fin de chaque session, il est pos- 
sible, soil de revenir au MENU, soit 
de reprendre la meme session. 

CATGEN est constitue* de 5 pro- 
grammes impiantes sur une disquette 
placee dans 1'unite 1 et appelee "dis- 
quette programme". Le fichier de 
donnees CATALOGUE GENERAL 
est sur la meme disquette. 

Pour une configuration a 2 lecteurs. 
la disquette analysee est dans I' unite 
2. 

Des messages permettent de s'assu 
rer a chaque operation que la dis- 
quette installee est la bonne. 
Sauf specification explicite, les rcpon 
ses a donner sous (brine d'un seul 
caractere ne necessitent pas le r RE- 
TURN\ 

Quelques remarques sont necessaires 
en ce qui concerne la phase de sai- 

sie : 

• Pour alleger le dialogue de valida- 
tion des informations, il faut re- 
pondre "O" a la question "EST- 
ELLF. GLOBALE (O/N) ?" pour la 
classe des fichiers. 

• Par contre, pour filtrer certains fi- 
chiers (ne pas les inclure dans le 
CATALOGUE GENERAL), il 
convlent de repondre "N" a cette 
meme question et d'utiliser ensuite 
la touche ESC lorsque la question 
"OK (O/N OU -ESC)?" est 



posee. 

• Pour mettre a jour les informations 
concernant une disquette, il faut 
repondre "N" a la question "EST- 
CE UNE NOUVELLE DIS- 
QUETTE (O/N) ?» 

• Le nom du fichier lie doit apparte- 
nir a la meme disquette ou etre 
absent. 

• Si on repond 'RETURN' au para- 
metre CLASSE, la valeur prise est 
celle definie le cas echeanl dans la 
phase de definition de la dis- 
quette, sinon it s'agit de celle du 
fichier precedemment traits. 

On peut enchatner la SAISIE de plu- 
sieurs disquettes avant d'effectuer la 
mise a jour du fichier CATALOGUE 
GENERAL, el ce jusqu'a concur- 
rence de 100 fichiers. A la question 
"ENCORE (O/N) ?" il suffit de re- 
pondre "O". Le nombre de fichiers 
saisis est affiche en (TAUX). 

La signification du parametre 
CLASSE peut etre person nalisee. II 
suffit de redefinir 16 rubriques dans 
les instruction* DATA en fin du pro- 
gramme CATGEN.SAISIE (apres 
DATA RUB - ligncs 2980 a 3000). 

L'operation de COMPACTAGE se 
fait par recopie du fichier CATALO- 
GUE GENERAL sur la disquette pro- 
gramme. Ceci limite la taille du fi 
chier de donnees a 500 articles 
environ. Par contre, le tri s'accom- 
mode d'un fichier non compacte. 

En cas de detection d'erreur. ie pro- 
gramme concerne s'arrete apres cdi 
tion du numero de la ligne erronee, 
sauf dans CATGEN ou le MENU est 
relance. 

Quelques precisions techniques 

Le CATALOG est lu par appel a 
RWTS et analyse en Basic. L'appel a 
RWTS est implante de 768 a 798. 
Le buffer Eu est en $9400. 

La routine de tri (fichier SPEED 
SORT), empruntee a NIBBLE, est 
accolee en fin de CATGEN. TRI par 
modification du pointeur $AF-$B0. 
Le tri est effectue en mernoire, d'ou 
la limitation a 1000 du nombre de fi- 
chiers geres. 

Les memoires 800 a 811 servent a la 
communication entre les divers pro 
grammes (date, nombre de drives, 
type d'imprimante). ■ 



Pom's n° 14 



100 REM 

HO REM » CATALOGUE* . 

120 REM • GENERAL: MENU 

130 REM * JUIN 1984 » 

140 REM *»* #»##«»»»##•»««»«» 

150 ONERR GOTO 690 

160 DS = CHRS (4) 

170 FS = "CATALOGUE GENERAL' 1 

180 RDS = DS + "READ M 

190 WRS = DS ♦ "WRITE " 

200 OP© = DS * "OPEN " 

210 CLS = DS ♦ "CLOSE " 

220 DLS = DS ♦ "DELETE" 

230 REM 

240 REM » MENU » 
250 REM 

2bO TEXT : HOWE 

270 HOME ! INVERSE : PRINT "DATE" ; : NOR 

MAL : PRINT " ";DA3; 
280 HTAB 30: PRINT "CATGEN ";: INVERSE 

: PRINT "V2.1";: NORMAL 
290 FOR 1=1 TO 40: PRINT " = ";: NEXT I 
300 REM LECTURE DE LA DATE 
310 IF PEEK <800> < > 255 THEN 350 
320 DAS = *" 

330 FOR I - I TO 8: DAS - DAS * CHRS ( 

PEEK (800 > I>>: NEXT I 
340 GOTO 4O0 

350 VTAB lO: INPUT "DATE <JJ/MM/AA5 : " 
,-DAS 

352 JJS = "":MMs = w " 

353 FOR I = i TO LEN CDAS) 

354 JS = MIDS <DAS„I,1> : IF JS = DR 

JS * " " THEN II ■ I: GOTO 357 

355 JJS = JJS * JS 

356 NEXT I 

357 FOR I = II ♦ 1 TO LEN (DAS) - II 

358 MS = MIDS <DAS,I,1>: IF MS = 'V" OR 

MS = " M THEN 361 

359 MMS = MMS * MS 

360 NEXT I 

361 ANS = RIGHTS (DAS, 2) 

362 AA = VAL (ANS) :MM = VAL <MMS):JJ = 

VAL <JJS> 

3bS IF JJ < 1 OR JJ > 31 OR MM < 1 Oft M 
M > 12 OR AA < 84 THEN PRINT CH 
RS <7) ; GOTO 350 

364 IF LEN (JJS> = 1 THEN JJS = "O" * 
JJs 

3bs it- LtN inns* ~ i THhN nne = "u" + 

MMs 

366 DAS - JJS - "/" ♦ MMS • "/" * ANS 
370 FOR I = 1 TO 8: POKE 800 * I , ASC ( 

MIDS <DAS,I,1>> : NEXT I 
380 POKE 34,4: HOME : POKE 34,1 
385 POKE 810,1: POKE 811,1: REM PAR DE 

FAUT '1 DRIVE * 
390 POKE 800,255: REM DRAPEAU POUR L'l 

NITI ALISATION 
400 VTAB l; HTAB 6: PRINT DAS 

410 POKE 34,2 

420 HOME : HTAB 17: INVERSE ; PRINT "M 

£ N U": NORMAL : PRINT 
430 HTAB 4: INVERSE : PRINT "1";: NORMA 

L : PRINT "-INITIALISATIONS" 
440 PRINT 

450 HTAB 4: INVERSE : PRINT "2";: NORMA 



L : PRINT "-DISGUETTE STANDARD DO 
S 3.3" 
460 PRINT 

470 HTAB 4: INVERSE ; PRINT "3";: NORMA 
L : PRINT "-DISQUETTE 'SPECIALE'" 
480 PRINT 

490 HTAB 4: INVERSE : PRINT "4";: NORMA 
L : PRINT "-C0MPACTAGE DU FICHIER 
FS" 

500 PRINT 

510 HTAB 4: INVERSE : PRINT "5";: NORMA 

L : PRINT "-TRI..." 
520 PRINT 

530 HTAB 4; INVERSE : PRINT "6";: NORMA 

L : PRINT "-EDITION. 
540 PRINT 

550 HTAB 4: INVERSE : PRINT "7";: NORMA 

L : PRINT "-MODE D'EMPLOI.." 
560 PRINT 

570 HTAB 4: INVERSE : PRINT "8";: NORMA 
L : PRINT "-FIN DE SESSION" 

580 VTAB 22: INVERSE ; PRINT "CHOISISSE 
2 VOTRE SESSION (1..8)";: NORMAL 
; PRINT " ";: GET ZS: PRINT 2S:ME 
= VAL <ZS) 

590 IF ME < 1 OR ME > 8 THEN 580 

600 POKE 809, ME 

610 ON ME GOSUB 700,910,910,1040,940,98 

O, 1010,660 
620 2 = FRE <0> 

630 VTAB 23: CALL - 958: INVERSE : PRI 
NT "RETOUR AU MENU (0/N)?";: NORM 
AL : PRINT " ";: GET ZS; PRINT ZS 

640 IF 2S = "N" THEN 660 

650 GOTO 420 

660 TEXT : HOME : PRINT CLS: VTAB 10: H 
TAB 14: PRINT "AU REVOIR...": VTA 

B 23 
670 END 

680 REM SI 'ERREUR' ,RELANCE DU MENU 
690 PRINT DS: PRINT DS"PR£0": GOTO 240 
700 REM * INITIALISATIONS" « 
710 HOME 

720 HTAB 12: INVERSE : PRINT "INITIALIS 

ATIONS": NORMAL 
730 VTAB 5: PRINT "CONFIGURATION AVEC " 
;: INVERSE : PRINT "1";: NORMAL : 
PRINT M OU ";: INVERSE : PRINT " 
2";: NORMAL : PRINT " DISOUES ? 
GET DKS: PRINT DKS 
740 DK - VAL (DKS) : IF DK < > 1 AND DK 

< > 2 THEN 730 
750 POKE 810, DK 

760 VTAB 7: PRINT "L' IMPRIMANTE EST-ELL 
E UNE EPSON (";: INVERSE : PRINT " 
O^N";: NORMAL : PRINT ">?";: GET 
TYPLPS: PRINT TYPLPS 

770 IF TYPLPS < > "0" AND TYPLPS < > 
"N" THEN 760 

780 POKE 811 f 80 : IF TYPLPS = "Jl" THEN 
POKE 811,1 

790 VTAB 9: PRINT "CREATION DU FICHIER 
C";: INVERSE : PRINT "0/N";: NORM 
AL : PRINT " * INVERSE ! PRTN 

T "RETURN" ; : NORMAL : PRINT "> " 
;: INPUT 2S 

800 IF ZS = "N" THEN RETURN 

810 IF 2S < > "0" THEN 790 

820 REM N0*=N0MBRE MAXI D' ARTICLES 

830 REM L0*=TAILLE DES ARTICLES 



Pom's tr 14 



840 NO* = 1:L0X = 37 

850 VTAB 14: FLASH : PRINT "CREATION" ; ; 

NORMAL : PRINT " DU FICHIER M ; • 

INVERSE : PRINT FS: NORMAL 
860 PRINT OPSFS: PRIMT DLSFS: PRINT OPS 

FS 

870 PRINT WRSFS;",RO" 
880 PRINT NOX: PRINT LO* 
890 PRINT CLS 
900 RETURN 

910 REM * DISQUETTE STANDARD 3.3 OU 'SP 

ECI ALE ' » 
920 CO? = "CATGEN . 5AISIE" 
930 GOTO 960 
940 REM » TRI - 
950 CCS = "CATGEN - TRI** 
960 PRINT DS"RUN "CCS 
970 RETURN 
980 REM * EDITION - 
990 CCS = "CATGEN . EDIT" 
a 000 GOTO 96-0 
1010 REM * MODE D'ENPLOI • 
1020 CCS - "CATGEN. UTILISATION" 
1030 GOTO 960 

REM - COMPACTAGE DE FS - 
HOME : HTAB 14: INVERSE : PRINT "C 

OMPACTAGE": NORMAL 
VTAB 12 

FLASH : PRINT "COMPACTAGE"; : NORMA 
L : PRINT » DU FICHIER ";: INVERS 
E ; PRINT FS: NORMAL 
1080 F1S = "TRAV001 " 
1090 PRINT OPSFS 

PRINT RDSFS;",RO" 
INPUT NO*: INPUT LO* 
PRINT CLS: IF NO* = 1 THEN 1320 
PRINT OPSFS;", L";LO* 
PRINT 0P9F1S; ",L";LO* 
1150 NIX = 

1160 FOR I = 1 TO NOX - l 
1170 PRINT RDSFS;",R"I 
1180 INPUT STS 
1190 IF MID* (STS,5,1> = 1 
1200 Nl* = Nl* + 1 
1210 PRINT WRSF1S; ",R"N1X 

1220 Nl* = STRS (NIX): FOR N = LEN (Nl 
S> TO 3;N1S = "0" ♦ NIC: NEXT N 

1230 STSS = CHRS (34) * N1S * " " * RIG 
HTS (3TS,L0X - 7) 

1240 PRINT STS 

1250 NEXT I 

1260 PRINT WRSF1S;",R0" 
1270 PRINT Nl* ♦ l; PRINT LOX 
1280 PRINT CLSF1S 
1290 PRINT CLSFS 
1300 PRINT D$"DELETE"FS 
1310 PRINT DS"RENAME"F1S","FS 
1320 PRINT : PRINT "IL Y A ";: INVERSE 
: PRINT NIX;: NORMAL : PRINT " 
ARTICLES ." 
1330 RETURN 



1O0 REM » • » » * mm* •»«*•««* * »* « 

110 REN » CATALOGUE . . * 

120 REM • GENERAL: EDIT 

130 REM »•••»«»*»•«»••»»#»*# 

135 HIMEM : 38400 



1040 
1050 

1060 
1070 



1100 
1110 
1120 
1130 
1140 



THEN 1250 



140 
150 
170 
180 
190 
200 
210 
220 
230 
240 
250 
260 
270 
280 
290 
300 
310 
330 
340 
350 
360 
370 
380 

390 
400 
410 
420 
430 
440 

450 
460 
470 
480 

490 

500 



510 

520 
530 
540 
550 
560 
570 
580 
590 
600 
610 
620 



630 
640 



650 
660 



670 
680 



690 



WRS = DS 

OPS = DS 

CLS = DS 

DLS - DS 



ONERR GOTO 1330 
DIM STX(IOOO) 
ESS = CHRS (27) 
HTS = " " 
TBS = CHRS (9) 
DS = CHRS (4) 
FS - "CATALOGUE GENERAL" 
RDS * DS ♦ "READ " 
"WRITE " 
"OPEN " 
"CLOSE " 
"DELETE" 
TRS = "TRI" 
REM LECTURE DE LA DATE 
FOR I = 1 TO 8 
DAS = DAS * CHRS ( PEEK (800 + I)> 
NEXT I 
GOTO 470 

REM DE COMPACTAGE DE STS 

RIGHTS (STS , LEN (STS) - 5> 
MIDS ( STS, 1,5): REM NDS+FAS 
MIDS (STS, 6, 20): REM NAS 
MIDS (STS, 39, 20): REM FICH. 
LIEN 

P4S =■ MIDS (STS, 59,2) 
MIDS (STS, 61 ,8) 
MIDS (STS, 26, 2) 
M IDS (STS, 28, 3) 
MIDS (STS, 31,4) 



ST* - 

PIS = 

P2S = 

P3S = 



P6S = 
P7S» = 
P8S = 
P9S - 
R 

PAS = 



REM CLASSE 

REM DATE 

REM TYPE 

REM TAILLE 

REM ADRESSE 



M IDS (STS, 35, 4): REM LONGUEU 



LABEL 



MIDS (STS, 69, 12) : REM 
RETURN 

REM EDITION 

HOME : HTAB 17: INVERSE : PRINT "ED 

ITION": NORMAL 
POKE 34,4 

VTAB 5: PRINT "SUR ";; INVERSE : PR 
INT "(E)";: NORMAL : PRINT "CRAN 
OU M ; : INVERSE : PRINT "(I>" ; : NO 
RMAL : PRINT "MPRIMANTE 7 ";: GET 
2S! PRINT 2S 
IF ZS < > "E" AND ZS < > "I" THEN 
500 

IF ZS = "E" THEN TERM - O 

IF ZS = "I" THEN TERM = 1 

REM LIT LE FICHIER 'TRI' 

PRINT OPSTRS: PRINT RD9TRS 

INPUT NIX 

FOR I = 1 TO Nix 

INPUT STX(I) 

NEXT I 

PRINT CLS 

PRINT 

INVERSE : PRINT "1";: NORMAL : PRIN 
T "-STANDARD : FIC, TYP, TAIL, AD 

R, LNG ,NDK, LAB" 

PRINT 

INVERSE : PRINT "2";: NORMAL : PRIN 
T "-PAR DISQUETTE : NDK, FIC, TYP, TAI 
L, ADR, LNG, LAB" 

PRINT 

INVERSE : PRINT "3";: NORMAL : PRIN 
T "-PAR CLASSE : CLA , FIC , TYP , TAI 
L, ADR, LNG, NDK, LAB" 

PRINT 

INVERSE : PRINT "4";: NORMAL : PRIN 
T "-PAR TYPE :TYP,FIC,TAIL,AD 
R, LNG, NDK, LAB" 

PRINT 



Pom's n° 14 



700 INVERSE : PRINT "5";: NORMAL : PRIN 
T " -COMPLET :NDK, FIC,TYP,TAI 

L , ADR, LNG , LIE , CLA , DATE"* 

710 VTAB 22: INVERSE : PRINT "CHOISISSE 
2 VOTRE FORMAT C1..5) ?";: NORMAL 
: PRINT " ";; GET ZS; PRINT ZS 

720 22 = VAL (ZS) : IF 22 < 1 OR Z2 > 5 
THEN 710 

730 IF 22 = 5 AND PEEK (811) < > 80 T 

HEN 710 
740 REM OUVRE FS 
750 PRINT OPSFS 

760 PRINT RDSFS;",RO": INPUT NO*; INPUT 
LOX 

770 PRINT CLSFS 

780 PRINT 0PSF3;",L'";L0* 

784 VTAB 5." CALL - 958: VTAB 22: PRINT 
"<TAPER ' ESP' POUR SUSPENDRE L ' E 
DITIONV: PRINT "<PU1S UNE 2EME F 
OIS POUR LA REPRENDRE>"; 

786 POKE 35,21; VTAB 4; HOME : PRINT 

790 IF TERM = THEN 850 

80O INPUT "CADRER LE PAPIER ET TAPER ' R 

ETURN' T ";ZS 
810 PRINT DS"PR£1": IF 22 < > 5 THEN 

PRINT E3S;"Q"; CHRS (80); CHRS (1 

8); 

820 IF 22 - 5 THEN POKE 1657,110: PRIN 
T ESS;"Q"; CHRS CllO); CHRS (15) s 
: PRINT ESS;"D"; CHRS <7); CHRS ( 
28); CHRS <34>; CHR* (41); CHRS ( 
49); CHRS <55>; CHRS (62); CHRS < 
84 >; CHRS C89>; CHRS (0) ; 

830 PRINT :NN = O 

840 GOSUB 1070: REM TITRE 

850 FOR 1=1 TO HI* 

870 NZ* = ST*(I> - 1: IF NZX = THEN 96 


880 LASTS 3TS 

890 PRINT RD$F9;",R";NZX 

900 INPUT STS 

910 G05UB 340: REM DECOMPACTAGE 

920 GOSUB 120O: REM EDITION 

921 PRINT DS 

922 KEY = PEEK < - 16384): POKE - 1636 

8,0: IF KEY < 127 THEN 930 
924 IF KEY = 128 + 32 THEN GET 2S: PRI 
NT 2s 

930 IF TERM = THEN 960 
^40 NN = NN ♦ 1 

950 IF NN = 58 THEN FOR J = 1 TO fe; PR 

INT : NEXT J:NN = O: GOSUB 1070 
960 NEXT T 

970 IF TERM = THEN PRINT DS : GOTO 99 


980 PRINT ESS;"d": PRINT DS;"PR£0" 
990 PRINT 

1000 POKE 35,23: VTAB 21: CALL - 958: 
VTAB 23 

1010 INVERSE : PRINT "RETOUR AU MENU (0 
/N) ?"•: NORMAL : PRINT " " ; : GET 
2S: PRINT ZS; 

1020 IF ZS = "N" THEN 470: REM ON REBO 
UCLE 

1030 CCS ■ "CATGEN" 
1050 PRINT D6"RUN"CCS 
1060 STOP 

107O REM TITRE DE CHAUUE PAGE 
1080 PRINT "DATE: ";DAS;: HTAB 34: PRIN 
T "CATALOGUE GENERAL" ; PRINT 



1090 ON 22 GOTO 1100, 1120, 1 140, 1 1 60, llrt 
O 

1100 PRINT " ";"NOM DE F1CH1ER 

;"TYPE";" TAIL. " ; "ADR . " ; HTS ; "LNG 
. " ; HTS ; "DISK . " ; HTS ; "LABEL" 
1110 FOR II « 1 TO 64: PRINT "-"•: NEXT 

II: PRINT : RETURN 
1120 PRINT HTS; "DISK. ";HTS; "NOM DE FICH 
IER "J "TYPE TAIL. ";"ADR.";H 

TS;*'LNG.";" LABEL" 
1130 FOR 11 = 1 TO 63: PRINT "-";: NEXT 

II: PRINT : RETURN 
1140 PRINT ;"CLA5";HTS;"N0M DE FICHIER 
» . "TYPE " ; " TAIL . " ; "ADR. " ; HT 
S ; "LNG . " ; HTS ; "DISK . " ; HTS; "LABEL" 
1150 FOR II = 1 TO 68: PRINT "-":: NEXT 
II ! PRINT : RETURN 

1160 PRINT "TYPE" ; HTS ; "NOM DE FICHIER 

TAIL. ADR . " ; HTS ; " LNG . " ; HTS ; " 
DISK. ";"CLAS";" LABEL" 

1170 FOR II = 1 TO 68: PRINT "-";: NEXT 
II; PRINT : RETURN 

1180 PRINT "DISK . " ; TBS ; "NOM DE FICHIER" 
; TBS; "TYPE" ; TBS ; "TAILLE" ; TBS ; "ADR 
• TBS; "LNG. 11 ; TBS; "FICHIER LIEN" 
; TBS ; "CLAS" ; TBS ; "DATE" ; " LABE 
L" 

1190 FOR II = 1 TO 109: PRINT "-*;: NEX 

T II: PRINT : RETURN 
1200 REM EDITION 

1210 ON Z2 GOTO 1230,1250,1270,1290,131 


1220 GOTO 1410 

1230 IF LEFTS <P2S,1) < > MIDS (LAST 
S,6„l> THEN PRINT : I - I - 1 : RE 
TURN 

1240 PRINT HTS ; P2S ; HTS ; P6S ; HTS ; P7S; HTS ; 

P8S ; HTS ; P9S ; HTS ; PIS ; HTS ; PAS : RETU 
RN 

1250 IF PIS < > MIDS (LASTS, 1,5) THEN 

PRINT ;I - 2 - 1; RETURN 
1260 PRINT HTS;P1S;HTS;P2S;HTS;P6S;HTS; 

P7S ; HTS ; P8S ; HTS ; P9S ; HTS ; PAS : RETU 

RN 

1270 IF P4S < > MIDS (LAST*, 59, 2> THE 

N PRINT : I = I - 1 : RETURN 
1280 PRINT HTS;P4S;HTS;P2S;HTS;P6S;HTS; 

P7S ; HTS ; PBS ; HTS ; P9S ; HTS ; PIS; HTS ; P 

AS: RETURN 
1290 IF RIGHTS <P6S,1) < > MIDS (LAS 

TS,27,1) THEN PRINT ;I = I - 1; 

RETURN 

1300 PRINT HTS;P6S;HTS;P2S;HTS;P7S;HTS; 

P8S;HTS;P9S;HTS;P1S;HTS;P4S;HTS;P 
AS: RETURN 

1310 IF PIS < > MIDS (LASTS, 1,5) THEN 
PRINT : I = I - 1 ; RETURN 

1320 PRINT P1S;TBS;P2S;TBS;P6S;TBS;P7S; 

TBS;P8S;TBS;P9S;TBS;P3S;TBS;P4S;T 

BS;P5S; HTS; PAS: RETURN 
1330 PRINT DS: PRINT "ERREUR PEEK (2 
22):" LIGNE "; PEEK (218) ♦ PEEK 
(219) - 256: STOP 



lOO REM *»«»*•« * mmmnn Mmiti it 

110 REM * CATALOGUE . . • 



Pom's n° 14 



120 
130 
140 
150 
160 
170 
180 

190 
200 



210 



220 



230 



240 
250 



260 



270 
280 



290 
500 

310 



320 
330 



REM - GENERAL: UTILISATION* 
REM »»#»»»»»•»#»»*■»»*»»» 

ONERR GOTO 580 
DS = CHRS (4) 
REM MODE D'EMPLOI 
HOME : HTAB 12 

INVERSE : PRINT "CATGEN"; : NORMAL : 

PRINT " PERMET DE :" 
PRINT 

PRIHT M 1-";: INVERSE ■ PRINT "CREE 
R";: NORMAL : PRINT " LE CATALOGU 
E D'UN ENSEMBLE DE DISQUETTES" 

PRINT "TRIE 



340 



350 



360 



370 



3SO 



390 



LES ELEMENT 

PRINT "EDIT 
' LES RESULT 

PRINT "REAL 



PRINT " 2-"; : INVERSE : 
R"; ; NORMAL : PRINT " 
S DE CE CATALOGUE" 
PRINT " 3-";: INVERSE : 
ER"; : NORMAL : PRINT 
ATS DU TRI" 
PRINT " 4-"; : INVERSE : 

ISER";: NORMAL : PRINT » LA MISE 
A JOUR DE CES ": PRINT "INFORMATI 
ONS" 
PRINT 

INVERSE : PRINT "CATGEN" ; ; NORMAL ; 
PRINT " LIT LE CATALOGUE DES DIS 
GUETTES DITES ' STANDARD' (DOS 3, 
3) ET " 

PRINT "PERMET LA SAISIE DES DONNEES 
CORRESPON - " : PRINT "DANTES POUR 

LES DISQUETTES 'SPECIALES' <NON 

DOS 3.3 OU PROTEGEES ) 
PRINT 

INVERSE : PRINT "CATGEN" ; : NORMAL : 
PRINT " TRAVAILLE SUR UN APPLE I 
I 48K , 10U 2 LECTEURS , SUPPORTE 
UNE IMPRIMANTE": PRINT "ET PERME 
T DE GERER 1000 FICHIERS ENVIRON" 
GQSUB 590 

PRINT " LES INFORMATIONS MEMORISEES 
DANS LE" 

PRINT "FICHIER ";: INVERSE : PRINT 
"CATALOGUE GENERAL" ; ; NORMAL : PR 
INT " SONT :" 

PRINT 

PRINT " 1-LE ";: INVERSE : PRINT "N 
UMERO"; : NORMAL : PRINT M DE LA D 
ISQUETTE: 4 CARAC- " : PRINT "TERES 
ET LE ";: INVERSE : PRINT "CODE" 
;: NORMAL : PRINT " DE LA FACE ' A 
' OU 'B'" 

PRINT " 2-LE ";: INVERSE : PRINT "N 
OM";; NORMAL : PRINT " DU FICHIER 
.LIMITE A 20 CARAC- " : PRINT "TERE 
S" 

PRTNT " 3-LE ";: INVERSE 

YPE";: NORMAL ; PRINT " 

R: 'A' .'B'.'I V J R' ■ 'T 

TAT 'LOCK' OU 'UNLOCK'" 
PRINT " 4-LA INVERSE : PRINT "T 

ATLLE M ; : NORMAL : PRINT u DU FICH 

IER EN SECTEURS" 
PRINT " 5-L >u ;: INVERSE : PRINT "AD 

RESSE" ; : NORMAL : PRINT " DE CHAR 

GEMENT POUR LES PRO -GRAMMES BIN Ai 

RES" 

PRINT " 6-LA ";: INVERSE : PRINT "L 
ONGUEUR" ; : NORMAL : PRINT " DES P 
ROGRAMMES BIN AIRES" 

PRINT " 7-LE ";: INVERSE : PRINT "N 
OH";: NORMAL : PRINT " D'UN FICHI 



: PRINT "T 
DU FICHIE 
' ET SON E 



400 

410 
420 



430 
440 

450 
460 



470 



480 



490 



500 



502 



504 



506 



510 
520 



530 
540 
560 
570 
560 



590 



ER INVERSE ; PRINT "LIE";: NO 

RMAL : PRINT " :FICHIER DE LA ME 
ME DISQUETTE ASSOCIE AU FICHIER E 
N COURS" 

PRINT " 8-LA INVERSE : PRINT "C 

LASSE";: NORMAL : PRINT " DU PROG 
RAMME , CHOISI E DANS": PRINT "UNE L 
ISTE PERSONNALISABLE" 

PRINT " 9-LA INVERSE r PRINT "D 

ATE";: NORMAL : PRINT " DU JOUR" 

PRINT "10-LE ";: INVERSE : PRINT "L 
ABEL";: NORMAL : PRINT " DE LA DI 
SQUETTE" 

GOSUB 590 

PRINT " L'ENCHAINEMENT DES OPERATIO 

NS EST 
PRINT 

PRINT " -";; INVERSE : PRINT "INIT 
IALISATIONS"; : NORMAL : PRINT ": 
DU FICHIER ' CATALOGUE GENERAL' , 
DU NOMBRE DE LECTEURS , DU TYPE D 
'IMPRIMANTE (CHOIX 1)" 

PRINT " -";; INVERSE : PRINT "SAIS 

IE":: NORMAL : PRINT " OU "•: INV 

ERSE : PRINT "MISE A JOUR";: NORM 
AL : PRINT " DES FICHIERS": PRINT 
"(CHOIX 2 OU 3 SELON LA DISOUETT 

E>" 

PRINT " -";: INVERSE : PRINT "DEFT 
NITION DES PARAMETRES DU TRI"; : N 
ORMAL ; PRINT " ET TRI (CHOIX 5 
);L£ RESULTAT EST STOCKE ": PRINT 
"DANS LE FICHIER ";: INVERSE : P 
HINT "TRI": NORMAL 
PRINT " -";: INVERSE : PRINT "DEF 
INITION DU FORMAT D'EDITION"; : NO 
RMAL : PRINT " PUIS EDITION SUR L 
E ' TERMINAL' OU SUR L ' IMPRI MANTE ' 
(CHOIX b)" 
PRINT " -LE 
OMPACTAGE"; : 



: : inverse : print "C 

NORMAL : PRINT " DU 
FICHIER (CHOIX 4)": PRINT "EST A 
FAIRE APRES UNE OPERATION DE MISE 
A JOUR" 

INVERSE : PRINT "N - B : " ; : NORMAL : P 
RINT "S'lL Y A 2 DISQUES,LES DISO 
UETTES A": PRINT "ANALYSER SERONT 
MISES DANS L' UNITE ";: INVERSE : 
PRINT 2: NORMAL 

PRINT "L ' UNITE "•: INVERSE : PRINT 
1;: NORMAL : PRINT " SUPPORTANT " 
;: INVERSE : PRINT "CATGEN";: NOR 
HAL : PRINT " ET LES" 

PRINT "DONNEES:";: INVERSE : PRINT 
"CATALOGUE GENERAL" ; : NORMAL : PR 
INT " ET ";; INVERSE : PRINT "TRI 
": NORMAL 

VTAB 23 

INVERSE : PRINT 

N) ?"; : NORMAL 

25: PRINT ZS 
IF 2S = "N" THEN 
CC# - "CATGEN" 
PRINT DS"RUN"CCS 
STOP 

PRINT t>$: PRINT "ERREUR "; PEEK (22 
2);" LIGNE "; PEEK (218) ♦ PEEK 
<219> « 256: STOP 
VTAB 23: INVERSE : PRINT "TAPER UNE 
TOUCHE POUR CONTINUER" ; : NORMAL 



'RETOUR AU MENU (0/ 
: PRINT " "; : GET 

END 



Pom's iv 14 61 



600 
610 



: PRINT 
HOME 
RETURN 



GET 2S: PRINT Z9 



100 
110 
120 
130 
140 
150 
160 
170 
180 
190 
200 
210 
220 
230 
240 
250 
260 
270 
280 
290 

300 
310 

320 



330 

340 

350 
360 



370 
380 
390 



40O 
410 
420 

430 
440 
450 
460 
470 
480 
490 



* CATALOGUE . . 

• GENERAL: TRI 



REM 
REM 
REM 

REM 

HIMEM: 38400 
ONERR GOTO 910 
DIM 5TSU000) 
DIM SX(IOOO) 
CHRS <7> 
CHRS (4) 
"CATALOGUE GENERAL 1 



BS =■ 
DS ~ 
FS = 
RD$ = 
URS = 
OPS = 
CLS = 
DLS = 
TRS = 
REM 
HOME 



DS ♦ "READ " 
DS ♦ "WRITE " 
Dfi? * "OPEN " 
DS + "CLOSE " 
DS ♦ "DELETE" 
"TRI" 

TRI . . . 
: VTAB 3 

HTAB 12: INVERSE : PRINT "DEFINITIO 

N DU TRI": NORMAL : PRINT 
POKE 34,4 

PRINT : INVERSE : PRINT "1";: NORMA 
L : PRINT 11 -PAR NOM DE FICHIER" 

: INVERSE : PRINT "2";: NORMA 
PRINT " -PAR NUMERO DE DISQUET 



PRINT 
L : 
TE" 

PRINT 
L : 
£" 

PRINT 
L ; 
ME" 

PRINT 
L : 



: INVERSE : PRINT "3";: NORMA 

PRINT "-PAR LABEL DE DISOUETT 

: INVERSE : PRINT "4"*: NORMA 

PRINT "-PAR CLASSE DE PROGRAM 



: INVERSE : PRINT "5";: NORMA 
PRINT "-PAR TYPE DE FICHIER" 
VTAB 22: INVERSE : PRINT "LEQUEL (1 
..5> ?";: NORMAL : PRINT M "; : GE 
T 2S: PRINT 2S:TT = VAL <ZS> 
IF TT < 1 OR TT > 5 THEN 360 
REM LECTURE DE FS DANS STS 

VTAB IS: FLASH : PRINT "LECTURE"; : 
NORMAL : PRINT " DU FICHIER ";: I 
NVERSE : PRINT FS: NORMAL 
REM OUVRE FS 

PRINT QP5FS 

PRINT RDSFS;",RO": INPUT NO* : INPUT 
LOX 

PRINT CLSFS 

PRINT OPSF*;",L";LOX 
5TS<0) = " 
NIX = O 

FOR I * 1 TO NO* - 1 

PRINT RDSFS;'\R";I 

INPUT STS 



500 
510 
520 
530 

540 

550 
560 
570 

5d0 

590 

600 
610 

620 

630 
640 
650 

660 
670 
675 
6S0 

690 
700 

710 
720 
730 

740 
750 
760 
770 



780 

790 
SOO 
820 

830 
840 
850 
860 
870 



880 

830 
900 
910 



VTAB 10: HTAB 16: PR 
: NORMAL 



IF MIDS (STS,5,1> = "»" THEN 630 
NIX - NIX ♦ 1 

ON TT GOTO 530,550,570,590,610 
STS C Nl*) * MIDS (STS,11,20) + MIDS 
(STS, 6, 53 

GOTO 620 
ST6CN1X) = MIDS <ST©,6,25> 

GOTO 620 

STSCN1X) = MIDS <STS r 69»12) * MIDS 
(STS, 11,20) 
GOTO 620 

STSCN1X) = MIDS (STS, 64, 2) * MIDS 
(STS, 11,20) 

GOTO 620 

3TSCN1*) = MIDS (STS, 32,1) * MIDS 
CSTS, 11,20) 
HTAB 9: VTAB 20: PRINT De: PRINT "A 

RTICLE ";I 
NEXT I 
PRINT CLSFS 
HOME : FLASH 
INT "TRI 
X = FRE (O) 
PRINT B0 

REM APPEL DE LA ROUTINE DE TRI 

POKE 964, (NIX / 256 - INT (Nix > 2 

56)) - 256 
POKE 965, INT CNi* / 256) 
CALL PEEK C175) ♦ PEEK (176) - 25 

6 - 261ST©(0> ,S*(0> 
PRINT BS 
VTAB 12 

PRINT "SAUVEGARDE DU RESULTAT DU TR 

I <0/N) ? ";: GET ZS: PRINT ZS 
IF 20 - "N" THEN 870 
IF ZS < > "O" THEN 720 
PRINT 

FLASH ; PRINT "ECRITURE" ; ; NORMAL : 
PRINT M DANS LE FICHIER ";: INVE 
RSE : PRINT TRS: NORMAL 
TRS = "TRI": PRINT OPSTRS: PRINT DLS 
TRS : PRINT OPSTRS: PRINT WRSTRS 
PRINT Nix 
FOR I = 1 TO NIX 

IF SX(I> =0 THEN NX = LASTX : GOTO 
840 

NX = SX(I) :LASTX = NX 
PRINT NX * 1 
NEXT I 
PRINT CLS 
VTAB 23: INVERSE 
MENU (0/N) ?" 
"; : GET ZS: PRINT 2S 
IF ZS = "N" THEN 270: REM 
CLE 

PRINT DS-RUN CATUEN" 
STOP 

PRINT DS: PRINT "ERREUR "; PEEK <22 
2):" LIGNE "; PEEK (218) ♦ PEEK 
<219> - 256: STOP 



PRINT "RETOUR AU 
NORMAL : PRINT " 



REBOU 



Programme SPEED SORT 






1018- 


C2 


03 


8D 


C3 


03 


AD 


CI 


03 






1020- 


85 


FC 


AD 


CO 


03 


85 


FB 


AO 








1028- 


02 


A2 


01 


Bl 


FB 


?5 


08 


CA 


1000- 20 E3 DF 8D CO 03 


8C 


CI 


1030- 


88 


DO 


F8 


A9 


00 


8D 


C8 


03 


1008- 03 20 BE DE 20 E3 


DF 


8D 


1038- 


8D 


C9 


03 


AD 


CA 


03 


85 


FD 


1010- CA 3 8C CB 03 A? 


00 


8D 


1040- 


AD 


CB 


03 


85 


FE 


AD 


CI 


03 




Horn's n° 14 



1 D4ft— 


OJ 


PR 


AD 


UU 


Uo 


nc 

85 


f? 


AO 




no 


AO 
R^ 


U 1 


D 1 


r~ o 




06 


CA 


X U JO 


Q Q 

oo 


uu 


c o 
r eJ 


Ar\ 
AD 


c- A 

Ch 


03 


8D 


C6 




UO 




PR 


n o 


Qr\ 

au 


f-? 
U/ 


n o 
Uo 


AO 


1 U OO 


nn 


D 1 
O 1 


n ^ 
u c- 


IS 1 




rsn 
L>U 


r> cr 

□ 5 


C8 


i n 7n — 
IU/U 


r*n 
LU 


1 b 


uu 


rD 


F0 


ft A 

OA 


B0 


08 




bt 


Lo 


n o 
U 3 


r\ri 

DO 


0^ 


EE 


C9 


Od 


i npn - 


t Q 
1 o 


ACT 


CO 


y o 


LP & 


OCT 


Fy 


A5 


t f|QO- 

1 Uoo - 


C A 


^ o 

07 


n n 

U 11 


O IT 


C* A 

FA 


AO 


02 


A2 




U 1 




r y 


Vj 


06 


LA 


88 


DO 


1098- 


F8 


18 


BO 


97 


CE 


C6 


03 


DO 


10A0- 


03 


CE 


C7 


03 


AD 


C7 


03 


10 



10A8- 


BE 


AD 


C6 


03 


10 


B9 


OF 


C8 


1QBQ- 


03 


2E 


C9 


03 


18 


A5 


FD 


6D 


1 0B8- 


C8 


03 


85 


FD 


A5 


FE 


6D 


C9 


10C0- 


03 


85 


FE 


AO 


00 


AD 


C3 


03 


1 0C8- 


91 


FD 


C8 


AD 


C2 


03 


91 


FD 


1 0DO- 


EE 


C2 


03 


DO 


03 


EE 


C3 


03 


1 0D8- 


AD 


C5 


03 


CD 


C3 


03 


DO 


09 


10E0- 


AD 


C4 


03 


CD 


C2 


03 


B0 


01 


1 0E8- 


40 


18 


A5 


FB 


69 


03 


85 


FB 


10F0- 


A5 


FC 


69 


00 


85 


FC 


AO 


02 


1 0F8- 


A2 


01 


Bl 


FB 


95 


oe 


CA 


88 


1 100- 


DO 


F8 


38 


B0 


95 









100 

uo 

120 
130 
l-JO 
150 
160 
170 

160 

190 
200 
210 
220 
230 

240 

250 
260 
270 

260 

290 

300 
310 
320 
330 
340 
350 
360 
370 
380 
390 
400 
405 
410 
420 
430 



440 
450 

4&0 



REM *«»»»»«»»«**»*»»»»#» 

REM « CATALOGUE . . 
REM * PHASE: SAISIE * 
REM »*•••••••••••»•»..•• 

REM BUFFER EN '3400 

himem : 37saa 

0NERR GOTO 2900 

DIM NAS(100),TPS(100),SE(100> ,CAS(1 
00) 

DIM PI (100) ,ASClOO) , LGS (100) ,TAdOO 

>,NLS(100) 
REM NAS=N0M DES FICHIERS 
REM TPS=TYPE DES FICHIERS 
REM SE=AD. SECTEUR 
REM PI=NUM. DE PISTE 

REM AS=ADR.CHARGEMENT DES PROG. BIN 
AIRES 

REM LGS=LONGUEUR DES PROG. BlNAIRES 

REM TA=TAILLE DES FICHIERS 
DIM STS(IOO) 

GOSUB 2910: REM S.P. DE LECTURE ' 
RWTS' 

DEF FN X(A3 = (176 + A> • (A - 9 < 
- 0) * <183 + A) • (A - 9 > 0> 
V20S = " »: REM 

20 ESPACES 
DS = CHRS (4) 
F0 = "CATALOGUE GENERAL" 
RD$ = D0 » "READ M 
WR9 = DS ♦ "WRITE " 
0P$ = DS * "OPEN " 
CL5 * DS * "CLOSE " 
DLS = DS ♦ "DELETE" 
REM LECTURE DE LA DATE ->DA9 
FOR I = 1 TO 8 
DAS = DAS + CHRS t PEEK (800 + I)) 

NEXT I 
DK = PEEK (810) 

TT = PEEK (809> - 2: GOTO 1920 
REM B0UCLE DE CATALOG 
VTAB 4: HTAB lO: VTAB 11: FLASH : P 
RINT "LECTURE" ; : NORMAL : PRINT " 
DU CATALOGUE" 
SE = 15 

AI = 768: POKE AI * 15, SE: POKE AI ♦ 
14,17 
CALL AI 



1> 
20: 



REM POUR 20 



470 ZT = 3/902: REM 2T= ' 9400*14 
480 NAS = nH 
490 FOR I = 1 TO 7 
500 Jl = ZT + 35 » (I - 
510 FOR J ' Jl TO Jl 

CAR. MAX 
520 AC » PEEK (J) 

530 IF J - Jl * AND AC = O THEN 750: 
REM TEST DE FIN DE CATALOGUE 
IF PEEK (J - 3) = 255 AND J - Jl = 
THEN 720: REM TEST DE FICHIER 
' DELETED' 

IF AC = 34 OR AC = 128 ♦ 34 THEN AC 
= 39: REM REMPLACE " PAR ' 
560 NAS = NAS * CHR© (AC - 128 » <AC > 
126>): REM CONSTITUTION DU NO 

K DE FICHIER 
570 NEXT J 
580 NF = NF * 1 

590 PKNF) = PEEK (Jl - 3>:SE<NF> = PE 
EK (Jl - 2) 

> 20 THEN NAS = LEFT 



540 



550 



600 



IF LEN (NAS) 
S <NA*,20> 
610 NASKNF) = NAS 
620 AI = PEEK <J1 - 1) 
630 TA < NF) = PEEK (Jl * 30) 
640 NAS = "":TPS = " " 

650 IF AI > - 128 THEN AI - AI - 128:T 
PS = '••": REM TEST DE FICHIER 'L 
OCKED' 



660 


IF 


AI 


= THEN TPS = 


TPS * 


"T" 


670 


IF 


AI 


= 1 THEN TPS = 


TPS + 


'I" 


680 


IF 


AI 


= 2 THEN TP* = 


TPS * 


•A" 


690 


IF 


AI 


= 4 THEN TP6 = 


TPS ♦ 


"B" 


700 


IF 


AI 


= 16 THEN TPS 


= TPS ♦ 


"R 



710 TPS(NF) - TPS 
720 NEXT I 

730 SE = SE - 1 : POKE AI ♦ 15, SE 
740 GOTO 460 

REM CALCUL DE ADR ET LONG DES FICH 

IERS BlNAIRES 
FOR 1=1 TO NF 

IF TPS(I) = " B" OR TP6(I) * "*B" T 
HEN GOSUB 820:A*CI) = ARS:LGS(I) 
= LGS: GOTO 790 

780 AC(I) = » ":LG*(I> = " " 

790 REM CALCUL DE ADS ET LGS 
NEXT I 
RETURN 

POKE AI ♦ 14,PI(I): POKE AI * 15, SE 

(I) 

830 ZT = 37888 



750 

760 
770 



800 
810 
820 



Pom's n" 14 



6.3 



840 CALL AI 

650 POKE AI + 15. PEEK (ZT t 13) 

860 CALL A I 

870 A A = PEEK (ZT ♦ 1) 

880 A = INT (AA / 16) :B » AA - A * 16 
890 A3 - CHRS < FN X(A>> ♦ CHRS < FN X 
<B) ) 

900 AA = PEEK (ZT) 

910 A = INT (AA / 16) :B = AA - A * 16 
920 ARS = AS * CHRS ( FN X(A)> «- CHRS 

< FN X<B)) 
930 AA = PEEK (ZT ♦ 3) 

940 A = INT (AA / 16) :B * AA - A ■ 16 
950 AS = CHRS ( FN X(A)> * CHRS ( FN X 
<B> ) 

960 AA * PEEK (ZT * 2) 

970 A = INT (AA / 16) :B = AA - A • 16 
980 LGS - A6 * CHRS < FN X ( A ) ) - CHRS 

( FN X(B>) 
990 RETURN 
1000 REM AFFICHAGE 
1010 HONE 

102O INVERSE : PRINT "DISQUETTE : " ; : 
NORMAL ; HTAB 16: PRINT LEFTS (N 
DS,4> ; 

1030 HTAB 30: INVERSE : PRINT "FACE 

: NORMAL : HTAB 37: PRINT RIGHTS 
<ND#,1> 

1040 INVERSE : PRINT '"LABEL : " ; S 

HTAB 16: NORMAL : PRINT LBS 

1050 INVERSE : PRINT "NB. FICHIERS:";: 
NORMAL : HTAB 16: PRINT NF 

1060 GOSUB 1070: GOTO 1180 

1070 REM NOM DES RUBRIQUES 

1080 VTAB 15: RESTORE 

1090 READ 26: IF ZS < > "RUB" THEM 109 


1100 FOR I = 1 TO 16 STEP 2 

1110 READ ZS: IF I < 10 THEN PRINT " " 

1120 PRINT I;"-";ZS; 

1130 HTAB 20 

1140 READ 23: IF I < 9 THEN PRINT " "; 

1150 PRINT I * 1;"-";ZS 

1160 NEXT I 

1170 RETURN 

1180 POKE 35,14 

1190 CV = 12 

1210 VTAB 6: CALL - 958 

1220 PRINT "FICHIER" 

1240 INVERSE 

1250 PRINT "NOM "5 PRINT "TYPE 

» 

1260 PRINT "TAILLE "2 PRINT "ADRESSE 

M 

1270 PRINT "LONGUEUR ": PRINT "FICH.LIE 

1280 PRINT "CLASSE 

1290 NORMAL 

1292 FOR 1 * 1 TO NF 

1294 VTAB 6: HTAB CV ! PRINT I 

1296 FOR J = 1 TO 7: VTAB 6 * J: HTAB C 

V: CALL - 868: NEXT J 
1300 VTAB 7: HTAB CV : IF TT ■ THEN P 

RINT NA»(I>: GOTO 1330 
1310 INPUT ""; NAS : IF LEN (NAS) = TH 

EN VTAB 7; HTAB CV; GOTO 1310 
1320 FOR H = LEN (NAS) TO 19:NAS = NAS 

+ " "S NEXT N:NAS(I> « NAS 
1330 VTAB 8: HTAB CV : IF TT = THEN P 



RINT TPS(I): GOTO 1360 
1340 INPUT "":TP$: IF LEN (TPS) = 1 TH 

EN TPS(I) = " " * TPS 
1350 TS = RIGHTS (TPS,1): IF TS < > "A 

" AND TS < > "B" AND TS < > "I" 
AND T* < > "R" h AND TS < > "T" 

THEN 1330 

1360 VTAB 9: HTAB CV: IF TT = THEN P 

RINT TA(I): GOTO 1400 
1370 INPUT "";TA«: IF VAL (TAS) = TH 

EN 1360 
1380 TA( I ) = VAL (TAS) 

1390 IF TT = 1 AND TS < > "B" THEN A9( 

1) * . . . -:LGS(I) * " "5 GOTO 

1460 

1400 VTAB 10: HTAB CV: IF TT = THEN 

PRINT AS(I): GOTO 1430 
1410 INPUT "";AS(D: IF LEN (AS(D) ■ 

O THEN AS(I) = H " 

1420 IF LEN (AS(D) < 4 THEN 1400 
1430 VTAB 11: HTAB CV : IF TT > THEN 

PRINT LGS(I): GOTO 1460 
1440 INPUT "'*;LGS(I>: IF LEN CLGS(I>) 

= THEN I) = 

1450 IF LEN (LGS(T)) < 4 THEN 1430 
1460 IF CGS = "O" THEN NLS(I) = V20S:CA 

S(I) = GHS: VTAB 13: HTAB CV: PR1 

NT GH6 : GOTO 1630 
1470 VTAB 12: HTAB CV: PRINT V20S; : VTA 

B 12: HTAB CV: INPUT "":NS:NLS = 

MS: FOR N = LEN (NS) TO 19:NL* = 
NLS ♦ " ": NEXT N 
1480 IF LEN (NS) = THEN NLS * V20S: 

GOTO 1540 

1490 REM TEST EXISTENCE DE FIC. LIE 

1500 FOR J - 1 TO NF 

1510 IF NLS = NAS(J) THEN 1540 

1520 NEXT J 

1530 GOTO 1470 

1540 NLS(I) = NLS 

1550 VTAB 13: HTAB CV: PRINT " " j : H 

TAB CV: INPUT '"\-CA9 
1560 IF LEN (CAS) * O AND LEN (GHS) < 
> THEN VTAB 13: HTAB CV:CAS 

* GHS: PRINT CAS: GOTO 1600 
1570 IF LEN <CAS> < > THEN 1600 
1580 IF LEN (CAS) = O AND 1=1 THEM 1 

550 

1590 IF LEN (CAS) * O AND I > 1 THEN C 

AS = CAS(I - U: VTAB 13: HTAB CV 

: PRINT CAS 
1600 CL = VAL (CAS>: IF CL < 1 OR CL > 

16 THEN 1550 
1610 CAS(I> ■ STRS (CL): IF CL < 9 THEN 

CAS(I) = "0" * CAS(I> 
1630 IF CGS = "O" THEN 1660 
1640 VTAB 23: INVERSE : PRINT "OK (07N 

OU 'ESC')?";: NORMAL : HTAB 18: P 

RINT " "; : GET 2S 
1650 IF 26 = "N" THEN 1470 
1655 IF ZS = CHRS (27) THEN NAfl(I) = " 

1660 NEXT I 

1670 POKE 34 „ 2: POKE 35,24 

1680 RETURN 

1690 REM CONSTITUTION DE L* ARTICLE 

1700 REM NQ3(4)-NUMER0 D' ARTICLE 

1710 REM NDS(4)=NUMER0 DE DISQUETTE 

1720 REM FAS<1)»FACE A/B 

1730 REM NAS(20)=N0M DU FICHIER 



Pom's rr 14 



1740 
1750 
1760 
1770 
1780 
1790 
18O0 
1810 
1820 

1830 

1900 



1910 
1920 
1930 
1940 



1950 
1960 



* TAS: NE 



1970 

1980 

1930 

2000 
2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 
2090 

2100 
2105 
2110 

2120 



2130 

2140 

2150 

2160 
2170 



REM TPS(2)=TYPE DU FICHIER 
REM TAS(3)=TAILLE EN SECTEURS 
REN ADfis<4>=ADRESSE DE CHARGEMENT 

REM LOS < 4 > =LONGUEU R 
REM NL5(20)=FICHIER LIE 
REM CAS<2)=CLASSE DU PROG . 
REM DAS<8) =DATE 
REM LBS(12)=LABEL DISSUETTE 
TAS ■ STR5 <TA(I)):L = LEN (TAS); 
IF L = 3 THEN 1900 
FOR N = L TO 2:TAS 
XT N 

STS = NDS * NAS(I) * TPS(I) * TAS * 
AS<I) - LG9<I) * NLS<I) * CAS<I> 
■* DAS ♦ LBS 
RETURN 

REM WISE A JOUR GLOBALE 
PCX = 0:ID = 
HOME :TS = "3AI3IE/MISE A JOUR": H 
TAB 20 - LEN (TS> / 2: INVERSE : 
PRINT Ts: NORMAL : PRINT 
IF TT = 1 THEN 1970 

PRINT "MONTER LA DISOUETTE ";: INV 
ERSE : PRINT "A ANALYSER" : NORMAL 
: PRINT "SUR LE DRIVE ";: INVER 
SE : PRINT DK ; ; NORMAL ; PRINT " 

ET TAPER 'RETURN'";: GET ZS: PR 
INT ZS 

VTAB 5: CALL - 958: PRINT "EST-CE 
UNE NOUVELLE DISOUETTE (";: INVE 
RSE ; PRINT "O/N-;: NORMAL : PRIN 
T ") 7 ";: GET ZS : PRINT ZS 
IF ZS < > "0" AND ZS < > "N" THE 
N 1970 
MA = 



(ZS = "0") * 1 



(ZS = "N" 



) 



NF = 

REM LECTURE DANS NDS=NO DISQUETT 
E-FACE 

VTAB 6: INPUT "NUMERO DE LA DISUUE 

TTE : ";NDs 

IF LEN <NDS) = OR LEN (NDS) > 

4 THEN 2020 

IF LEN <NDS) = 4 THEN 2060 

FOR 1=3 TO LEN (NDS) STEP - It 

NDs = "O" * NDS: NEXT I 
VTAB 7: HTAB 10: PRINT " FACE ( A 

OU B ) : ";: GET FA&l PRINT FA* 
IF FAS < > "A" AND FAS < > "B" T 
HEN 2060 
NDS ■ NDS ♦ FAS 
VTAB 8: INPUT "LABEL DISOUETTE (0 - . 

12 CAR) : "'LBS 
IF LEN CLBS) > 12 THEN 2090 
IF LEN CLBS) = 12 THEN 2120 
FOR N = LEN (LB6> TO 11:LBS = LBS 

+ " M : NEXT N 
VTAB 13: INVERSE : PRINT "CLASSE D 
ES FICHIERS": NORMAL : GOSUB 1070 
VTAB 9: INPUT "CLASSE DES FICHI 
<1..1G>: "-GHS: IF LEN (GHS) 
= THEN 2170 
&H ' VAL CGHS): IF GH < 1 OR GH > 

16 THEN 2120 
GHS = 5TRS CGH>; IF GH < 9 THEN GH 

5 = "O" ♦ GHS 

VTAB 10: PRINT "E5T-ELLE GLOBALE ( 

0/N) ? : ";: GET CGS: PRINT C&S 
PRINT 

IF TT = 1 THEN INPUT "COMBIEN Y-A 



-T-IL DE FICHIERS ? " ;NFS:NF = V 

AL (NFS): IF NF = THEN 2170 
2180 ND0(ID) = NDS:ID = ID + 1 
2190 IF TT = THEN GOSUB 420: REM LE 

CTURE DU CATALOG 
2200 GOSUB 1000 : REM AFFlCHAGfc 
2210 REN TRANSFERT DE STS DANS STS(K) 
2220 REM PCX=POINTEUR COURANT DANS S 

T9(K) 
2230 J = : I = 1 

2235 IF LEN CNASd)) = THEN 2260 
2240 GOSUB 1820: J a J + l 
2250 ST»<J * PCX) - STS 

2260 I » I * i: IF I < * NF THEN 2235 
2270 PCX = PCX ♦ J 

2280 HTAB ti VTAB 23; CALL - 868: HTAB 
30: PRINT "TAUX: "PCX"X": VTAB 2 

3: INVERSE : PRINT "ENCORE (0/N) 

? ";: NORMAL : PRINT 11 ":: GET 2s 

: PRINT ZS; 
2290 IF Z6 < > "0" AND ZS < > "H" THE 

N 2280 

2300 IF 20 = "0" THEN 1940 

2310 VTAB 23; CALL - 868: HTAB l: INVE 
RSE : PRINT "ECRITURE SUR DISQUET 
TE <0/N)»RETURN ?";: NORMAL : INP 
UT " ":ZS 

2320 IF ZS < > "0" AND ZS < > "N" THE 
N 2310 

2330 IF 2* * "0" THEN GOTO 2350: REM 

MISE A JOUR DU FICHIER 
2340 GOTO 2830 

2350 REM DEBUT DE LA SESSION DE SAISIE 

/MISE A JOUR 
2360 HOME S HTAB 10: INVERSE ■ PRINT "S 

AISIE/MISE A JOUR": NORMAL : PRIN 

T 

2370 IF PEEK (8105 = 2 THEN 2410 

2380 PRINT "MONTER LA DISOUETTE " ; : INV 

ERSE ; PRINT "PROGRAMME" : NORMAL 

: PRINT "SUR LE DRIVE ";: INVERSE 
; PRINT 1;: NORMAL : PRINT " ET 

TAPER 'RETURN'"; 
2400 GET ZS: PRINT ZS 
2410 IF MA = THEN 2620 
2420 REM MAROUAGE POUR EFF ACER 
2430 PRINT : FLASH : PRINT "MAROUAGE DE 

S FICHIERS A SUPPRIMER": NORMAL 
2450 PRINT OPSFS 

2460 PRINT RD*FS:".RO": INPUT NO*: NIX = 
NO* 

2470 INPUT LO* 

2480 IF NOX = 1 THEN 2610 

2490 PRINT CLSFS 

2500 PRINT OP$Fa : , \L":LO* 

2510 FOR IN = 1 TO NlX - 1 

2520 PRINT RDSFS;",R";IN 

2530 INPUT S1$:NNDS = MIDS (SIS, 6,5): 

REM -N-DISK 
2540 FOR IK = TO ID 

2550 IF NDS(IK) < > MNDS THEN 2590 
2560 ST* ^ CHRS (34) * LEFTS (SIS, 4) * 

♦ RIGHTS <SlS,LOX - 7> 
2570 PRINT WRSFS; " , R" ; IN 
2580 PRINT STS 
2590 NEXT IK 
2600 NEXT IN 
2610 PRINT CLSFS 

2620 REM MISE A JOUR DU FICHIER 

2630 VTAB 10: FLASH : PRINT "ECRITURE" ; 



Pom's n 14 



: NORMAL : PRINT " DANS "* : INV 
ERSE : PRINT FS: NORMAL 

2640 REM OUVERTURE DE FS 

2650 PRINT OPSFS 

2660 PRINT RD£FS;",RO": INPUT N0*:N1* = 
NO* 

2670 INPUT LO* 

26S0 PRINT CLSFS 

2690 PRINT OPSFS;",L";LOX 

2700 FOR 1=1 TO PC* 

2710 NOS - STRS <N0X>:L = LEN (NOS): F 
OR N = L TO 3:N0S = "0" ♦ NOS: NE 
XT N 

2720 5TS = CHRS + NU6 * " " * 3TS( 

I):STS(T) = "" 
2730 PRINT WRSFS;",R";NO* 

2740 PRINT STS 

2750 NO* = NO* * 1 

2760 NEXT I 

2770 PRINT CLSFS 

27S0 PRINT OPSFs 

2790 PRINT WRSFS;",RO" 

2800 PRINT NO*: PRINT LO* 

2610 PRINT CLSFS 

2820 PRINT : PRINT "IL Y A ";N0* - 1 ; 
ARTICLES." 

2830 VTAB 23 : CALL - 958: INVERSE ; PR 
INT "RETOUR AU MENU <0;N> NO 
RMAL ; PRINT M GET ZS : PRINT 

ZS; 

2840 IF ZS * "N M THEN 1920: REM ON REB 



OUCLE 

2S50 VTAB 4! CALL - 958 

2860 IF PEEK <810> - 1 THEN PRINT : P 
HINT "MONTER LA DISQUETTE " ; : INV 
ERSE : PRINT "PROGRAMME": NORMAL 
; PRINT "SUR LE DRIVE INVERSE 

: PRINT 1;: NORMAL : PRINT " ET 
TAPER 'RETURN'";: GET ZS: PRINT 2 
s 

2870 CCS = "CATGEN" 
2880 PRINT Di»"RUN"CCS: STOP 
2900 PRINT D«: PRINT "ERREUR PEEK <2 
22);" LIGNE PEEK <218> * PEEK 

(219) • 256: STOP 
2910 REM INIT- SEQUENCE 'RWTS' 

2920 RESTORE 

2930 FOR 1=0 TO 30: READ ML: POKE 768 

* I, ML: NEXT I 
2940 DATA 169, 3, 160 , 10, 32, 217 , 3, 96, , 0, 

1,96,1,0,17,15,27,3,0,146,0,0,1,0 

,0,96,1,0,1,239,216 
2950 POKE 780, PEEK (810) 
2960 RETURN 
2970 DATA RUB 

2980 DATA REFERENCES, SYSTEME, UTILTTAIRE 
, PROCEDURE , JEUX REFLEXION, JEUX AD 
RESSE 

2990 DATA GRAPHIOUE 1, GRAPH 2,EDUCATIF 
, GEOGRAPHIE, MATHS 1 , PHYSIQUE , MUSI 

QUE 

3O00 DATA DONNEES,GESTION, DIVERS 



GAGNEZ 




EN ACHETANT 



VOS LOGICIELS PAR CORRESPONDANCE ! 



Extrait de nos tarifs : 



MULTIPLAN 



CARTE APPLE-TELL 

JANE 

EPISTOLE//c(souris) 

PFS: WRITE 

PHS:REPORI 

PFS: FILE 

PFS: GRAPH 

VISICALCAVANCE//e 

CX BASE 200+ CXTEXTE 

DBASE II <CP;M) 

FRIDAY! (CP/M) 

* Plus ou moins selon le produit. 



FFTTC 

1 750 
5 550 
1 420 
1 560 
1 140 
1 140 
1 140 

1 230 
2800 
3190 
6070 

2 660 



Tous nos envois sont en recommande. Les frais de port sonl 
inclus. E nvoyez voire commandeaccompagneed'un cheque ban- 
cane uu pusldl a I'ur Jie tie INFOSOFT. en piecisanl voire con figu- 
ration er votre type de materJei. Tous ces logicieis sont destines a 
r APPLE //. Pour tout renseignement ou pour recevotr nos tarits 
cornplets, ecrivez-nous a I'adresse ci-contre. 



FF TTC 

PIE.WRITER 1 950 

THINKTANK 1760 

OMNIS1 1 850 

OMNIS 2 3320 

OMNIS3 6550 

DECISIONNEL GRAPHIQUE 1 850 

COMPTABILITE CYRUS 4 270 

EDI-LOGO 1190 

SARGONIII 470 

FLIGHT SIMULATOR II 550 

SORCELLERIE 1 520 

SORCELLERIE 2 400 

INFOSOFT 

BP 516 
75066 Paris Cedex 02 



66 



Pom's rr 14 



Koala Pad est un logiciel editeur de 
dessins et graphiques, vendu d'ori- 
gine avec une disquette et une ta- 
bletie sensitive, au prix de 1600 FF 
TTC. Ce qui le distingue des autres 
programmes de creation graphique. 
c'est avant tout sa simplicity de rnise 
en oeuvre. II comport*? un pro- 
gramme extremement rapide conte- 
nant toutes les commandes graphi- 
ques haute resolution (HGR). II 
requiert un Apple II ou //e avec 48 
Ko de memoire centrale et un lecteur 
de disquettes. Neanmoins. pour en 
faire un outil de travail, il est prefera- 
ble de disposer de deux lecteurs de 
disquettes T.e copyright est de "Is- 
land Graphics" et la diffusion assuree 
par "Technology Corporation". 

La tablette sensitive se connecte sur 
la sortie manette de jeux de F Apple. 
La version que j'ai testee etait modi- 
fiee de fagon a utiliser le joystick //e. 
rendant le programme plus perfor- 
mant et plus souple a lemplui. L'es- 
sai a ete fait sur un Apple ' "e. mais 
1' utilisation est possible sur tout Apple 
It 

L'abord du logiciel est assez aise. et 
I on acquiert tres vite la maitrise de 
['ensemble des fonctions. On peut di 
viser Koala en deux parties distinc- 
tes : les fonctions utilitaires et les 



Fonctions utilitaires 

L'appel de cette rubrique affiche un 
menu global a 1' Scran : 

Clatalog 

UlJilitaires etendus 

LJoad 

Sjaus 

Trois de ces fonctions sont bien 
connues de nos lecteurs. La fonction 
"Utilitaires etendus' quant a e!le. af- 
fiche un sous-menu : 

L)ock 

UJnlock 

V)erify 

RJename 

D)elete 

Fiorina t data disk 

Cette demiere fonction permet de 
formater une disquette sans le DOS 
(pour gagner de la place), avec au 
maximum une disquette "gonflee" 
de 528 sec. pour stocker vos chef- 
d'oeuvres. 

En sornme. le concepteur n'a pas 
ouhlie les fonctions elemenraires du 
DOS. qui font parfois defaut sur des 
programmes d'un niveau superieur. 

Fonctions graphiques 

Lorsque le programme est charge en 
memoire. I'ecran affiche un menu 
tres complet sous tonne d'un ta- 
bleau. Aucune connaissance en infor- 
matique n'est requise pour utiliser le 
programme. 



II y a 15 instructions de base (qui 
rappellent beaucoup les fonctions 
graphiques de LISA par leur simpli- 
city} et une palette de 16 couleurs. II 
existe en outre une fonction "CUR- 
SOR", qui permet de modifier la 
structure du curseur. en forme de 
point ou He rroix. ce qui facilitera le 
pointage sur la page HGR. En der 
nier. nous trouvons la fonction 
"BRUSH SET", qui donne la possi- 
bilite de dessiner comme si Ton avait 
un pmceau a la main. 

Detail des fonctions graphiques 

DRAW * dessin en continu 
POINT : dessin de points. 
LINE . dessin de traits. On pointe 
l origine puis, en se deplacant sur 
I'ecran a l'aide du joystick, la fin du 
IraiL Celui-ci est alois obtenu en ap- 
puyant sur le bouton 0. 

LINES : seinblable a la fonction 
"LINL". avec la difference que Fori* 
gine de chaque trait est la fin du trait 
precedent. 

RAYS : trace de rayons a partir d' un 
centre. Cela aboutit a de beaux effets 
speciaux : on pninte I" origin*?, puis 
Ton trace des traits partant dc cette 
origine. avec des longueurs reylables. 
FILL : remplit un dessin (eventuelle- 
ment I'ecran enrier) avec la couleur 
choisie 1 .a surface a remplir doit erre 
delimitee par un trait continu: sinon. 
il risque d*y avoir des surprises (rem- 
plissage inrempestif de route une 
zone connexe). 

FRAME : trace de rectangles II suffit 
de pointer un sommet et d'ajuster la 
surface (longeur et largeur) avec le 
manche du joystick: on confirms 
avec le bouton 0. lorsque la figure 
obtenue est adequate. 
BOX: equivaut a TRAME" puis 
"FILL". Creation dun rectangle 
plein. 

CIRCLE : trace de cercles. On pointe 
le centre du cercle. puis on delimite 
le rayon avec le joystick. 

DISC : equivaut a "CIRCLE" puis 
"FILL". Creation d'un dbque pleki. 
ERASE : annulc le dessin en cours. 
en remplissant I'ecran de la couleur 
choisie. 

STORAGE : donne acces aux fonc- 
tions utilitaires decrites plus haul. 
NORMAL : mode d'utilisation nor- 
mals, e'est-a-dire a Techelle 1. 

MAGNIFY : mode loupe. Ce mode 
d'utilisation agrandit le dessin afin de 
faciliter la correction des defauts, 
comme dans le tameux Hinball Cons- 
truction Set, ou comme Micro Pain- 
ter. Tres utile. 

Utilisation de la couleur 

Le choix des couleurs se divise en 
deux gioupes de couleurs : le "color 



Koala pad 

Marcel Cottini 

set 1" et ie "color set 2". Les habi 
tues du graphisme couleur sauront 
de qnoi il retourne Pour les non-ini- 
ties. voici un petit rappeL 

L" Apple utilise pour son graphisme 
deux pages en haute resolution, la 
page 1 ($200O-$3FF7) et la page 2 
($4000 a $5FF7). Chaque serie de 7 
points sur une meme ligne de I'ecran 
correspond a un octet en memoire. 
Un point est allume lorsque le bit 
correspondant est a 1. Une hqne est 
done formee de 40 series de 7 points 
(280 points par ligne en HGR). Voir 
a ce sujet "Graphiques : de 1'ITT 
2020 a 1' Apple" et "Les adresses du 
graphique''. publics dans le Pom's 1. 

Le biL de poids foil de chaque octet 
(bit numero 7) n'est pas visualise, 
mais il conditionne en parrie la cou- 
leur des 7 points lies a 1' octet donl il 
fait partie. Ainsi. si le bit 7 est a 0. 
tout point isole correspondant a cet 
octet et situe* en colonne paire appa- 
raft violet: en colonne impaire. il ap- 
parait vert. Si le bit 7 est a 1. les 
points isoles en colonne pdire dppd- 
raissent bleus. ceux en colonne im- 
paire apparaissent rouges. Si deux 
points ou plus sont cote a cute sui 
une meme ligne. ils apparaissent 
blancs meme s ils ne dependent pas 
du meme octet. Pour de plus arnples 
precisions, vous pouvez aussi vous 
reporter au manuel de reference de 
l'Apple II. 

Ceci nous am£ne a deborder un peu 
du suiet, mais explique l'existence de 
deux gammes de couleurs. Une pre- 
caution s'imposera done lorsque 
vous travaillprP7 Sur i in graphiqup 
c'est de toujours utiliser une couleur 
appartenant au meme "SET" que la 
couleur du fond Vous eviterez ainsi 
les bavures et melanges de couleur 
indSsirables. 

Fonction Menu/Page 
graphique 

Lorsque le programme est lance, un 
menu sous forme de tableau saffiche 
a I'ecran. representant les symboles 
et reperes des differentes (onctions a 
votre disposition. Four selectionner 
une fonction donnee. il suffit de pla- 
cer le curseur (materialise par un 
point) a l'aide du joystick sur le syrn- 
bole de votre choix. 

Exemple : pour dessiner un cercle. 
vous choisissez successivement la 
couleur de fond, la finesse du trait, la 
couleur du trait et enfin la fonction 
"CIRCLE". 

Une fois votre choix arrete. vous 
pointez le curseur au bas de I'ecran 



Pom's if 14 



(RLTURN TO PICTURE), puis vous 
conSirmez en appuyant sur ie bouton 
du joystick. Cost tout. II ne restera 
plus qu a faire la preuvy dy vos pos- 
sibles artistiques. Chaque image 
ainsi creee occupera 33 secteurs sur 
la disquette. Un dessin peut toujours 
elre modifie a volonte par la suite. 

Evaluation generate 

Avdiitayes Simplicity d"emploi. 
grande souplesse d'utilisation ri- 
chessc des moyens dinvestigation. 
Instructions puissanies el variees. Un 
"must" pour tout programmeur vou- 
lant personnaliser sgs disquettcs avec 
ses cieations dithaiques. 

Inconvenients - II manque ia repro- 
duction d'imagp sur imprimante 
(hard copy), ce qui n'est vraiment 
pas un handicap : on peut toujours 
imprirner par la suite avp.c. un pro- 
gramme dc hard copy. A noter : 
qudques temps d'attente lors du 
chargement du programme e\ des 
graphiques. dus au DOS 3.3 stan- 
dard utilised les proprietaires de DOS 
rapides (David-Dns Turbodos. DOS 
3A ct autres) pourront r€mp3acer le 
DOS 3.3 par celui de leur choix. 

Conclusion - Les avantages Fern 
portent tres nettement sur des incon- 
venients somme toute mineurs. Cha- 
cun peut d'aiileurs apporter les 
modifications de son choix et person- 
naliser son "Koala Pad" ■ 



INFORTEC 



Institutde Formation 
10, rue Saint-Marc - 75002 PARIS 
Tel. 508 96 ?4 




INITIATION A L'INFORMATIQUE 
Materiel utilise : IBM PC et APPLE II 

PROGRAMMATION 

ET GESTION INFORMATIQUE 

Travaux pratiques sur rnicro-ordinateurs 

UTILISATION DE LOGICIELS 
Multiplan, d Base II, Lotus I.IIJII.,... 




SUPER PROMO 

> KIT ZD 103" 

<T Boitier - clavier 
-*- carl© mere 
alimentation + 1 driv« 
yj* ■* conlroteur 
^ - 1 "isu 12" vert©. i 
7490 F 



CLAVIFR DETACHABLE 

Vpnriu ^pparernenl avec 

26 touches dP fonctions 
5 numeriqufi 



SUPER PROMO 

BQITE DF RANGEMFNT 0R | VE 
100 DISQUETTES Floppy dioquc 

5" '/« 175 F 5" Vi 1900 r 

8" nous conaulter 



sans habillage 799 F 



• CARTE C0HTROLEUR 

• CARTE IMPRIMANTE - 16 K Duller 

• CARTE H0RL0GE 

• CARTE PAR ALLELE 

• CARTE RVB 

• CARTE 280 . 



E16KF 



420 F 
1360 F 
570 F 
420 F 

720 l 
520 F 



• ALIMENTATION 5 A 

• VISU12"VEBTF_ 

• DISOUETTEnfi 



690 F 
990 F 
180 F 



r Floppy Ips in 

• IMPRIMANTE 80 COL. CP Afl 31M F 

• VENTILATEUR EXTERIEUR 320 F 

• VENTILATEUR INTERIEUR 160 F 

• M0NIBASE Support devi&u orient. 



1 



BON DE COMMANDE A RETOURNFjR A 

I.E.E.E. 

ADRESSE POSTALE UNIQUEMENT 

23. rue Jean Giroudou* - 75016 Pans 
pour fensoigncmcntocomplSmenteireg 723.07.47 

Autre matenel. nous cpnSntef Conditions speaales pour club, coiieciivite. eic 

Tous les pnx a-dessos sont TTC 
HegiementobligatoireparC.C P _ CB^.Je desire rec«voirle materiel suivanl 



DESIGNATION 



PfllX 



Port 25.00 

Total 



Pom's ri B 14 



Micro-informations 



Jean-Michel Gourevitch 



00 va done Apple ? Un Macintosh 
pas tout a fait assez puissant pour af- 
fronter 1'IBM PC sur le terrain des 
applications professionnelles. un 
Apple lie pas tout a fait compatible 
avec ses congeneres de la gamme 
Apple II. 1'acceleration du mouve- 
ment chez le constnicteur a la 
pomme multicolore donne le vertige 
aux aficionados. 00 va Apple ? Pour 
le Macintosh, la reponse est ■ vers le 
"Big Mac", un Mac survitamine 
(512K contre 128) avec un second 
drive et dont ["apparition (en raison 
du cout des chips 256K) ne se fera 
sans doute que Tan prochain. 

Ou va Apple ? Four la gamme Apple 
II. quelques elements de reponse se 
trouvenl dans une passionnante in- 
terview accordee par Steve Wozniak 
a la revue "In Cider" dans son nu- 
rnero de juillet. "Woz the wiz" (Woz 
le magicien). comme Font surnornme 
les Americains, reaffirms notamment 
la fidelite d'Apple a Id cunipaLibilite. 
Tout en assurant que des logiciels 
utilisant la double haute resolution 
graphique (dune iiicompalibles avec 
certains AIB+) sortiront des la fin de 
l'annee. Pour la souris, pas de pro- 
bleme . elle est appelee a devenir un 
standard sur I' Apple 11 (meme si les 
logiciels d' exploitation style Macin- 
tosh mertront encore quelqueb 
annees a voir le jour). 

Le plus inrerpssant. e'est a coup sOr 
cc qu'annonce Steve Wozniak sur les 
developpements de r Apple //. Pas 
question d'aller vers une integration 
du MS-DOS (le standard des compa- 
tibles IBM), on s'en serait doute. En 
revanche, l'avenir de l'Apple II passe 
par le processeur 65816. Un 16 bits 
compatible parte pour patte avec le 
6502 des Apple //, qn'il emule au 
repos (on peut sans difficultes ex- 
traire Tun pour le remplacer par 1' au- 
tre). Vrai 16 bits on pas 9 Pour Woz- 
niak, ccux qui posent cette question 
sont "a c6te de la plaque". L'impor- 
tant. explique-t-il e'est que le 65816 
dispose dc 24 bits adressables. L'in- 
teret ? "On est capable, alors. 
d adresser 16 Megabytes au lieu de 
64K". Et ca. cest tout a fait passion- 
nant. car rien n'interdit plus alors 
d'ajouter a l'Apple des cartes d'ex- 
tension memoire equipees de chips 
de 256K. d'ecrire et d'utiliser des lo- 
giciels super-integres (genre Open 
Access ou Lotus Symphony), gros 
eonsommateura de memoire. qui font 
le triomphe de 1'IBM PC. 

De quoi rever. non ? Seulemcnt. 
nous replongeons alors dans les 



affres de l'lncompatibilite. Si doper 
un Apple 11+ ou //e est possible, rea- 
liser la meme operation sur le Vc pa- 
ratt plus problematique (les chips 
sont soudes sur la carte mere et non 
enfiches comme sur les autres Apple 
//). Conclusion : gare au Ik ! II n'est 
pas compatible a TOO % avec ses 
aincs, et reciproquement : ainsi, si 
Jane tourne Indifferemment sur n'lm- 
porte quel Apple. Fpistole version 
//c souris produit d'etranges effets sur 
un // e muni d'une souns. On risque 
done a terme de se retrouver avec 
Ics 16.000 programmes existants. 
avec une gamme ecrite pour le tic et 
ne lonctionnant que sur cette ma- 
chine, et avec des logiciels "pros" 
pour Apple 7 16 bits et reserves a ce 
dernier. Mais, apres tout, il existe 
deja des logiciels pour Apple necessi- 
tant une carte speciale (les produits 
CP/M). 

En attendant les Apple de demain. 
voici de quoi occuper les memoires 
de ceux d aujourd'hui 

Une souris pour des 
pommes 

Le jeu de mot est douteux. Pas la 
souris. qui vient d'arriver pour l'Ap- 
ple II : une carte d'extension (une de 
plus), un rnanuel. une souris et une 
disquette. cest ce que propose Apple 
pour quelques 1200 F. La souris, 
cest ce31e de Macintosh. La carte 
possede son propre microprocesseur 
(qui rend les operations de la souris 
plus rapides qu'avec le //c). Le rna- 
nuel est parfait et comporte meme 
des routines pour utiliser la bete on 
Basic. Quant a la disquette, elle offre 
"Mouse Paint", un iogiciel de dessin 
qui reprend certaines des fonctions 
de MacPaint (pour Macintosh). Le 
trait est certes moins fin que sur le 
32 bits. Seulement, la. on a la cou- 
leur. 

Plus traditionnelles. les cartes rnusica- 
les d'ALF pour Applp IJ a trok voies 
MCI (169 dollars) ou 5 neuf voies 
MC16 (179 dollars). On peut chan- 
ger le tempo on jouer plusieurs airs 
en sequence. Ou encore ce buffer de 
clavier Quentin AP 810, qui permet 
aux possesseurs d'Apple //e de taper 
sur les touches a leur rythme sans se 
preoccuper de savoir si la machine 
suit. 



Donner de la voix 

Avec I'lnrrovoice ;; , on peut desor 
mais controls deb logiciels en par- 



lant. Une carte, a enficher (qui 
contient un analyseur de spectre 
audio, 16K de RAM et 8K de ROM), 
un micro et un Iogiciel, Le construe - 
teur garantit ia reconnaissance d'un 
vocabulaire de 160 mots maximum 
avec une precision de 98%. Meme si 
ces appareils ont quelques difficultes 
a s adapter a un vocabulaire en fran- 
cais, ce n'est pas mal (995 dollars 
pour l'Apple //«). 



Espionner la police 

Ou encore ecouter les communica- 
tions des radio telephones de voitu- 
res. des taxis ou des d€panneut*s. 
avec l'aide de l'Apple // et du scan- 
ner Bearcat CP 2100 d'Electra. Deux 
cents canaux programmables, dont 
les caracteristiques, les frequences et 
les noms peuvent etre visualises sur 
le moniteur ou mis en memoire sui 
disquette. La radio avec son haut 
parleur et son antenne se relie par 
cable a une interface RS 232. En- 
suite, l'Apple prend le controle et on 
pilote au clavier le niveau sonore, le 
reglage des frequences, etc. (500 
dollars). 

Cocorico 

Voici un Modem fran^ais. Et pour 
moins de 1500 francs, en vote d'hu- 
moloqaOon de surcroit. c est celui 
d'ln Electronic (le createur des cele- 
bres Modulo-Phones). II seia pre- 
sents a la rentree au S1COB. 



L'Apple art 

Voici de quoi exploiter les possibility 
graphiques des Apple H Flying 
Colors permet de realiser des dessins 
assists par ordinateur avec le joys- 
tick, et aussi de presenter des images 
sur l'ecran (manuellement ou auto- 
matjquement) selon un ordre pro- 
grammable. B/ Graph, de Commo- 
dore, toume aussi sur Apple et offre 
un grand choix de graphiques et un 
excellent rnanuel de statistiques (100 
dollars). Une nouvelle version de 
Graphics Department de Sensible 
Software permet de faire une presen- 
tation graphique (courbes. graphi- 
ques. camemberts, le tout agremente 
de lettres diverses et en sequence, 
comme avec un projectcur de diapo 
sitives) et surtout de la realiser avec 
la souris (125 dollars). A signaler, 
pour ceux que les graphiques interes- 
ssent, une etude exhaustive sur les lo- 



Pom's n* 14 



giciels realisee par Creative Compu- 
ting dans son nurnero de juillet. 

Pnntshop de Broderbund Software 
est un logiciel tout a fait etonnant 
permettant de concevoir, dessiner et 
imprimer des cartes de voeux, des 
calicots etc. On choisit ses caracteres, 
le dessin des bordures, les images et 
les symboles. Le programme est livre 
avec un choix de papiers de couleurs 
pour imprimantes a picots el d'aulres 
gadgets (50 dollars). Le SSL) (Super 
Screen Dump) de Schwartz Compu- 
ter Consulting se compose d'une 
carte d" interface avec un bouton de 
recopie ecran, d'un manuel et d*un 
logiciel permettant d'imprimei tous 
les textes et graphiques sur Imagewri- 
ter. DMP ou Epson sans sortir du 
programme en cours pour un prix 
defiant toute concurrence (41 dol- 
lars). Enfin, apres Visicalc. on peut 
desormais imprimer Multiplan en tro- 
vers (comme sur le Macintosh) ainsi 
d'ailleurs que n'importe quel autre 
programme grace a Sideways de 
Funk Software (60 dollars). 

Du cote des tableurs. Microsoft sort 
en septembre la version 1.07 de 
Multiplan : compatible lie. capable 
d utiliser 3es 128K du Jfe et du //c. et 
enrichie de fonctions nouvellcs. en 
particulier le taux de rendement in- 
terne que seul Visicalc Advanced 
Version offrait a ce jour sur Apple. 
On liouvera aussi les fonctions finan- 
cieres valeur future (FV). nombre de 
periodes (NPER). mensualites (PMT) 
et calcul de taux (RATE), cette dei- 
niere nexistant pas sur le V.A.V. Les 
possesseurs de Multiplan version 
LOG pouiionl ie ineltre d jour a un 
prix d ami (pas plus de 300 francs) 
grace a un echange standard que Mi- 
crosoft compte organiser. 

Cote boulot 

Typing tutor 111 de Kriya Systems est 
un extraordinaire programme per- 
mettant dappiendie la dactylogia- 
phie. Le programme mesure cons- 
tamment le temps de reponse de 
Televe. el ajuste ses lecons en conse- 
quence. Si ce n est pas de Tintelli- 
gence artificielle. ca y ressemble 
beaucoup. Pour seulement 50 dol- 
lars. Seul defaut. ce programme 
americain est bien sur concu pour un 
clavier QWERTY. Mais, apres tout, 
apprendre a s en servir n est pas for- 
cement du temps perdu. Tick Tack 
de Longmank permet de correspon- 
dre dans une langue sans en 
cOmprendre un mot. Son genie : des 
phrases standard, pouvant etre tra- 
duites automariquement en anglais, 
frangais, allemand ou espagnol. Les 
lettres peuvent ensuite etre editees 
qrace a nimporte quel traitement de 
texte (150 livres en Grande Breta- 
gne). 



Pour le Mac et le //c, 
guere de nouveau 

A signaler seulement des dfoques 
durs Tccmar Mac Drive de 10 Mega- 
bytes fixe ou de 5 Megabytes amovi- 
bles pour le Macintosh Avec les Da- 
vong et les Symbiotic qui devraient 
aussi sorrir pour le Mac, on aura 
bientot Fembarras du r.hoix 

Pour le //c, Catalyst QC10 de Quark. 
Les prix ne sont pas encore fixe*. 

Bien sGr, la plupart de ces produits 
(qui viennent de paraitre) ne sont 
pas encore disponibles en France. 
Mais, on peut tuujouis> les comman- 
der aux Etats-Unis. et certains ne tar- 
deront pas a etre importes. En ma 
riere de (nicro-informatique, la 
futuroiogie. e'est deja le present, et 
1'actualite le passe... 

Quelques complements 

Multi-Phone, commercialise par Pro 
Forma vous permet de programmer 
des series d'appels telephoniques. 
compose pour vous en faisant appa- 
raitre la fiche a l'ecran... Une carte 
reliee a une prise gigogne (pour le 
telephone) se loge a Finterieur de 
voire Apple II + ou e; pour le prix 
forfaitaire de 5 900 francs HT. vous 
aurez la carte, le logiciel en Pascal, 
une disquette de demonstration et 
deux disquertes-fichier contenant les 
fiches des 1000 premieres entreprises 
franchises classees par effectif de- 
croissant. Vous n'y trouverez pas 
Pom's ... 

Alliance Research vend $300 un 
clavier detachable pour Apple e. 
proche dans son dessin du clavier 
IBM et possedant comme lui 10 tou- 
ches de fonction. 

Le logiciel TK! Solver pour ['analyse 
et la resolution d'equations devient 
di?ponible pour 1' Apple //e en version 
128K. apres avoir fait ses preuves sur 
le PC d'IBM 

Kodak, commercialise des a present 
dans le Royaume Uni un lecteur de 
dequeues 5 pouces 1 4 avec 3.3 me- 
gaoctets non formates sur 192 pistes 
par pouce (tpi). capable de lire aussi 
du 48 el 96 Ipi Quand on nieL une 
disquette normale dans le lecteur. 
son microprocesseur la detecte aussi- 
L6l et adapte la vitesse du moteur en 
consequence. On n arrete pas le pro- 
gres ! 

Le celebre programme de gesrion dc 
fichieib Omnis commercialise en 
France par Ka. voit sa gamme s enri- 
chir : lutilisateur possede maintenant 
le cnoix en tie Oninis 1. 2 ou 3. Dans 
Omnis 3. la version la plus complete, 
il est possible de definir les menus, 
les sequence* de coiiuiidiide el le.s 



messages les accompagnant; on peut 
aussi. comme d'ailleurs avec Omnis 
2, Lravailler sur 12 fichiers ouverts si- 
multanement (2 pour dBASL II). 

Des fiches en plasrique aide-memoire 
pour les principaux logiciels vous 
sont proposers par Barons AG, rea- 
lisees par Kleertpx Chaque fiche en- 
toure le clavier. Les logiciels deja pris 
en compte pour I'Apple sont Words- 
tar Mailmerge. Visicalc. dBASE II. 
Apple Writer et Quick File, ce deinier 
existant seulement (et pour cause) en 
version //e. 

Adresses 

Alf - 1315 F Nelson St. - Denver. 
Co 80215 - USA 

Apple Seedrin - av. de l'Oceanie. 
ZA de Courtaboeuf - BP 131 - 
91944 Les Ulis - Tel (6) 928.01.39 
Barons AG - 8 avenue des Gran des 
Communes - 1213 Petit Lancy - Ge- 
neve - SU1SSL - Tel (022) 93.47.47. 

Broderbund Software 17 Paul 
Or - San Rafael. CA 94903 - USA 
Commodore Business Machines 

- 1200 Wilson Dr. - West Chester. 
PA 19380 - USA 

Creative Computing (vendu chcz 
SIVEA) - 3460 Wilshire Bd. - Los 
Angeles. CA 90010 - USA 
Electra Company 300 East 
County Line Road - Cumberland, IN 
46229 - USA 

Funk Software PO Box 1290 
Cambridge, MA 02238 - USA 
In Cider (en vente a Paris au Multis- 
tore Hachette et dans les boutiques 
Sivea) - 80 Pine Si - Peterborough, 
NH 03458 - USA 

In Electronic - 3 Bd. Ney. 75018 
Paris - Tel 238.80.85 
Kriya Syst - Simon & Schuster 
Electronic Publ. Div. - 1230 Ave. of 
the Americas - New York NY 10020 

- USA 

Longman Group - Longman House 

- Burnt Mill - I larlow Essex CM 202 
JE - Royaume Uni 

Microsoft - 519 local Quebec - 
91946 Leb Ulis Cedex - Tel 
446.61.36 

Pro Forma - 14 rue Martel - 75010 
Paris - Tel 523.25.05. 

Quark • 2525 West Evans • Suite 
220 - Denver. CO 80219 - USA 
Quentin Corp. - 9207 Eton Ave. - 
Chatsworth. CA 91311 - USA 
Schwartz Computer Consulting - 
3868 Cedar Hill Road. Victoria BC - 
Canada V8P326 

Sensible Software - 24011 Seneca 
Oak Park. MI 48237 - USA 
Tecmar Inc. - 6225 Cochran Rd. - 
Solon (Cleveland) - Ohio 44139 - 
USA 

Voice Machine Communications 

- 1000 South Grand Ave. -Santa 
Ana. CA 92725 - USA 



Pom's n° 14 



apple-tell 



un modem qui fait, d'un simple Apple, un Minitei intelligent 



Apple-tell comprend : 

t une carte Modem mcluant un decodeur Teietel. 

• Un iogiciel cl'Fmijlaitnn de Terminal Mimtel ennchi de 
irois eblouissantes fonctions (celtco qui faisaieni !e plus 
dcfout jjsqu a present sur yotre Minitei) 

IMPRESSION : > imprimante de voire Apole est exploitee 

pour sortir ies ewes -papier dont vous ave? hesom lorsque 
. 3us consuhez un serveur 

STOCKAGE : 'es disquettes de votre Apple sont ulthsees 
pour enrcgislrer ,les pages dont la con 
sulfation vuus es! necessaire 

• a u forma! feleiei 'cesl-a-dire 
telJesque veus les avez 'ecuesj S*| 

• en mode Toxte pur (ASCII i pour ex- 
ploitation locale uiteneure 
automatisme : intelligence de votre 
Aopie est mobilisee pour acnomnhr 
I interrogation autornatique du sorveur 
que vous tui avez dcs.gnc (appei 
telephonique. orientation TRANSPAC. 
'Uenlificatton, choix success^), enregis- 
irer sur papier et ou sur disque "las 
dnrnees consultees duis pour traiter ce.lcs d. on 
corpora nl oqpg voire application 
'Les procedures d interrogation sont creees par luttlisateur. 
sans aucun language de prcgrammation grace an mode 
dapnrentissage n Apple-Tell j 

Evenement du dermer SJCOB. saluc par loute la presse 
consacre Pommc d'Or 1983 par le jury Apple, le 
-^odem Apple - Tell maique une mutation decisive dans 
i evolution ces teenmques videotex en environnnment 
oroiessionnel 

• Do»m darret a la proliferation des rnatenels sur votre 
bureau 'effel mini-SiCOb' > 

HELLO Informatique | 




les in- 



• Utilisation optimale des ressources dont vous dispo- 
se? deja (disques. impnmante logiciels. etc.). 

• Utilisation possible en mode Terminal auiant qu'en 
mode Serveur (jusqu'a quatre portesi 

• Enfin (et ces! sans doute le point le plus important) 
JONCTION entre le monde exterieur et les outils 
standards de votre Apple I' incorporation des donnees 
dans Applc-wnler. Visicalc. MultipJan, PFS. Quick-File. etc.... el 
meme dans vus applications personnels (comptaDilite : suivi de 

commandes. fichier .) deviant possible 
CARACTERISTIQUES GENERALES : 
• Modem multimodes : 

- 1 200/75. (full-duplex) 
i 200 (nait-dupiex). 

- 600 (half-duplex) 3O0 (full-duplex). 

- standards CCITT et BELL 
icctte caractenstique unique 
lenu* acuessibles les serveurs 
nord-americains. v compns 
par reseau telephomque ^ HELLO 
commute) " in'ormatique 
Sorties video jp- 1 . rue de Metz 

75010 PARIS 



Tel. : (1 
F Telex: FLA; 



523 30.34 
210500 F 



Nom 



composite (N & B) el Penlel 
couleurs 

• compatible Apple 2. Apple 
2+. Apple 2e (48 K. une 
disqucttc) 

• Enfichaole dans O'ini- 
porte quel slot libre 
de voire Apple 2 Societe 

. Transparence M Adresse 

totale vis a vio jgfr 

du syslenie ^ v j„" e ....... . .V.V." . . . 

Code postal , . Tel 

F □ Souhaite recevoir one documenlation sur tesysteme Apple- Tell 
□ Comiuande □ systemeis) Apple- Tell au prix de F 6997 T TC 
^^T' iroglomenr ci joint par □ cheque bancaire n UCPi 



IMPRIMANTES Canon 




Une gamine complete 
Des technologies de pointe 

• Couleur a jet d'encre 

• Matricielle 

• Laser 

• Thermique 

• Transfert thermique 



MATERIEL DISPONIBLE CHEZ LE DISTRIBUTEUR AGREE 



ASAP 



3, Avenue des Trois Peuples - 78180 MONTIGNY-LE-BRETONNEUX 

Tel. (3) 043.82.33 - Telex 698887 F 



(!) 



72 



Pom's it 14 



Un INPUT generalise miniature Jacques Duma 



Une des contraintes les plus enervan- 
tes de I'Applesoft est peut-etre le 
manque de ledlisme de sa routine 
d" Input. Celle-ci refuse obsrinement 
les virgules et deux points; et les ca- 
racteres Wanes piecedant une chaine 
sont purement et simplement otiblies. 

Encore une routine d'Input, allez- 
vous dire... Soit. mais celle que je 
vous presente aujourd'hui Gent en 
deux lignes Applesoft Qui fait 
mieux ? 

Utilisation de la routine 

La routine rient dans les lignes 100 
et 110, et peut etre inseree (even- 



tuellement avec d'autres numeros 
d' instructions) dans tout programme 
Applesoft. Le petit programme en 
Basic des lignes 10 a 50 nc sert qu'a 
illustrer le fonclionnement de cette 
routine. 

Explication du fonrtionnement 

t/appd en 54572 ($D52C) utilise la 
routine d'entree du rnoniteur (qui, 
lui, accepte tout ce qu'on lui donne) 
et rpmplit le buffer d' entree a 
Tadresse 512 jusqu'a 767 ($200- 
$2FF). II ne reste plus qua transferer 
la saisie vers une variable chaine Ap- 
plesoft : a partir du debut du buffer 
le premier octet nul indique la fin de 



la saisie. Une fois celui-ci Lruuve. on 
obtient Tadresse de la variable par 
F expression : VAL(IN$) + 
PEEK(131) + 256 * PEEK(132). 

En effel, les octets 131 et 132 
contiennent en permanence Tadresse 
du descriptcur de la derniere variable 
utilisee, en [occurence IN$. II ne 
reste plus qu'a mettre a jour le des- 
cripteur pour qu'il pointe vers la zone 
du buffer contenanr la saisie. puis a 
copier la chaine vers une zone me- 
moire protegee par l'expression 
IN$-MID$(1N$.1), apparemment 
inutile mais qui force la creation 
d'une nouvelie chaine. Et voila ! _ 



Lccturc/Ecriture rapide de tableaux 



II est souvent utile de pouvoir sauve- 
garder nn tableau Applesoft de varia 
bles numeriques. par example pour 
une utilisation conjoin te par plusieurs 
programmes. 

Malheureusement cette fonction, dis 
ponible avec 1' utilisation des casset- 
tes, a disparu avec le DOS 3.3 (mais 
reappam sous ProDOS, cest une 
autre histoire). Des programmes en 
assembleur ont parfois ete proposes 
pour combler cette lacune, mais 
pourquoi faire complique quand on 
peut faire simple ? La routine que je 
vous propose ici tient en deux lignes 
de bon vieux Basic : une ligne poui 
la sauvegarde du tableau, une ligne 
pour son chargement 

Utilisation 

Le programme en Basic de 10 a 210 



est un simple exemple d'uriHsation de 
la routine de sauvegarde (ligne 510) 
et de la routine de lecture (ligne 
610). Encore une fois, vous pouvez 
integrer ces deux lignes dans tout 
programme Basic, quitte a leur don- 
ner nimporte quel numero destruc- 
tion. 



Fonctionnement 

Comrne pour V INPUT generalise mi- 
niature, cette routine utilise avec 
bonheur les adresses 131 et 132 qui 
contiennent le vecteur vers le des- 
cripteur de la derniere variable refe- 
rence, que ce soit une chaine de 
caracteres ou un tableau de variables 
numeriques. II ne reste plus qu'a cal- 
culer la taiile du tableau avec la for- 
mule L = 5 * (N+l) * (P+l), ou N 



Jacques Duma 

et P sont les dimensions, et le tour 
est joue ! 

Remarques 

Pour un tableau de dimension 3. par 
exemple, remplace? la formule par 5 
* (N+l) * (P+l) * (Qi 1), ou N, P 
el Q sont les dimensions. 
Pour un tableau de nombres entiers, 
remplaceE le 5 de la formule par un 
2 puisqu'un entier est stocke sur 
deux octets seulement 
Enfin, il n'est pas possible d'utiliser 
un tableau de chafnes de caracteres, 
celles-ci etant dispersees un peu par- 
tout dans la memoire; mais ricn ne 
vous interdit de le convertir en ta- 
bleau d'entiers par la fonction 
ASC(MID$(T$(U).L.1))„. 



1 REM NIBBLE ARRAY 

10 H = 8:P = 9: REM DIMENSIONS DU TABLEAU 
20 DIM T(N,P):TS = "NIBBLE . TABLEAU" 
REM T( I,J;=1*1*J/10 

FOR 1=0 TO N: FOR J = TO P:T(T.J3 = 1 

♦ I + .7 / 10: NEXT : NEXT 
TEXT ; HOME 

PRINT "AFFICHAGE DES VALEURS" : PRINT : GO 
SUB 200 

PRINT "SAUVEGARDE DU TABLEAU" : GOSUB 500 
PRINT "EFFACEWENT DU TABLEAU" : GOSUB 100 
PRINT "AFFICHAGE DES VALEURS" : PRINT : GO 
SUB 200 

PRINT "CHARGEMENT DU TABLEAU": GOSUB 60O 
PRINT "AFFICHAGE DES VALEURS" : PRINT : GO 
SUB 20O 

PRINT ; PRINT (JHR6 (4) "DELETE"T5 : END 
REM REMISE A 2ERO 

FOR I = O TO N: FOR J ■ TO P:TU,J> = 

O: NEXT : NEXT : RETURN 
REM AFFICHAGE DES VALEURS «« 

FOR 1 = O TO N : FOR J = TO P: PRINT T( 
I.J>" ";: NEXT : PRINT : NEXT ; PRINT 
: RETURN 
REM SAUVEGARDE <•* 



30 
-10 

50 
60 

65 
70 
75 

80 
85 

90 

100 

199 

200 



499 



500 AD = O • T<0,0> + PEEK (.131) * 256 * PE 
EK (132): PRINT : PRINT CHRS (4>"BSAV 
E"TS".A"AD",L"5 * (N *■ 1 ) » (P * l > : R 
ETURN 

599 REM »• CHARGEMENT 

600 AD = O - T<0,0) ♦ PEEK (131) * 256 * PE 

EK (132): PRINT : PRINT CHRS (4>"BLOA 
D"TS",A"AD: RETURN 



1 REM NIBBLE INPUT 

10 TEXT ! HOME ! PRINT "D0NNE2 UNE CHAINE DE 
CARACTERES AVEC DESGUILLEMET3 , DES VI 

RGULES OU DES ESPACES:" 
20 PRINT : PRINT "-->";: GOSUB 100 
30 IF INS = *" THEN PRINT ! PRINT -CEST PI 

Nl": END 

40 PRINT : PRINT " = = > "INS" < = - " : &0TO 20 

100 CALL 54572." FOR B = 512 TO 768: IF PEEK 

(B) < > THEN NEXT 

101 INS = "" : AD = VAL (IN*) - PEEK <131) * 

256 * PEEK (132): POKE AD , B - 512: PO 
KE AD * 1,0: POKE AD ♦ 2,2:INS = MIDS 
(INS,1):B = 768: NEXT ! RETURN 



BOIMJOURLES PRIX!! 



Carte langage 400 

Carte 128 k ram 1550 

Carte 80 colonnes 700 

Interface serie 520 

Super serie 1000 

Interface parallele 380 

Grappler+ buffer 16 k 1350 

Carte modem 2200 

Carte Z 80 410 

Wildcard 400 



NOS PRIXSONTF™ 

Speech card 320 
Carte horloge 500 
Joystick 165 
Ventilateur 280 
Controleur de drive auto switch 13/16 370 
Microdrive 3" 1900 
Moniteur vert 12" 950 
Disquettes 5" 1/4 S.F./S.D. par 1 boite 140/boite 
Disquettes 5" 1/4 S.F./D.D. par 1 bote 175/boite 

AU-DCSSUS, NOUS CONSULTER. 



Carte bleue et eurocard acceptees 

Vente par correspondance: nous consulter. 



Computer 3 

3, rue Papillon 75009 Paris - Tel.: 523.51.15 

(metro Poissonniere) ouverture du lundi au samedi de 10 h a 19 h 30 




LA PHOTOCOMPOSITION EN PROLONGEMENT DE LA MICRO-WORMATIQUE 




TRANSMETTKZ-NOUS VOS TEXTES 

PAR TELEPHONE r-r— 
ou o 

DONNEZ-NOUS VOIRE DISQUETTE _L_ 




Les term de m articles, catalogues, arrnuaires ou brochures 
saisis sur mre APPLE sortt emJoyes directement sur notre photoccm- 
pose use. 

Nous Vous cvitons ainsi, (e cout et (e temps de la saisie supple- 
mentaire {{ue necessite (e trahemem traditionnel de (a photocompo- 
sition avant ('impression des documents, si i/ous fe desirez nous pou- 
i/ons eqalement nous charger de ('impression et du brochaqe. 



NOTKE REFERENC E... LA RENTE POM'S 




pHomcomposmm 



cf sno# of RCHtfPS 



ASH* fa %V PfiC 



A 

74 



Pom's n" 14 



Courricr des Lecteurs 



La touche DEL sur I'Apple ife. en 
dehors de faire des damiers qui per- 
mettent d'ecrire avec deb PRINT* ie 
Hire Pom's, le sauver sur disquette et 
le rappeler, a certainement d'autres 
fonctions. Quel est son code ? Peut- 
on trouver un exemple simple de son 
utilisation ? 

Jean-Claude Baron - 
31530 Levignac 

Quand vous avez un doute sur le 
code d'une louche, il suffit d'execu- 
ter un petit programme Basic tel 
que : 

10 GET A$ 

20 PRINT ASC(A$) 

30 IF ASC(A$)<>13 THEN 10 

Le programme ci-dessus sort les 
codes ASCII de toutes les touches et 
s'arrete des que Ton appuie sur la 
touche RETURN. Vous pourrez ainsi 
constater que le code de la touche 
DEL est 127 ($7E). 
Bien entendu. tout programme Basic. 
Pascal ou assembleur peut faire 
appel a re caractere et tester le code. 
Ceci dit. nous ne voyons pas 
d'exemple special utihsant ce carac- 
tere, en dehors des possibilites gra- 
phiques que vous avez soulignees. 



Dans la revue Pom's, je n'ai pu trou- 
ver le programme qui me permettrait 
de realiser une "hard-copy" d'ecran 
HCR. dessine au moyen des instruc- 
tions HPLOT. 

Jean-Claude Ricateau - 
30400 Villeneuve les Avignon 

A Paide des instruction HPLOT, vous 
pouvez desbiner bur la paye yraphi- 
que 1 ou Z L" article "Les adresses 
du graphique" dans !e Pom's 1 vous 
indique que la page 1 va de $2000 a 
$3FFF, et la page 2 de $4000 a 
S5FFF. 

Ainsi, pour sauvegarder sur disquette 
la page 1 apres y avoir dessine avec 
des HPLOTs, ii suffit de faire BSAVE 
nomfic,A$2000,L$2000 ou ' nomfic" 
est le nom que vous voulez donner a 
1' image resultante. 

II ne vous reste plus qu'a utiliser un 
des nombreux programmes depres- 
sion d'image, ou mcme unc 
coinrnande directe (telle que CTRL-1 
OH) d'impression d'ecran graphique. 
si votre carte d'interface en possede 
une foilctioi maul avec votre impri- 
mante. 



Suite a I' article "Donnez du caractere 
a votre imphmante. fat essave Vim- 
pression en Multiplan sur mon impri- 
mante. une Centronics 152. Pour 
passer _ en condense, il faut faire 
! T . en double condense 
" f 7V" et en caracteres normaux 
"' ! ~S". Sans le Pom's 4 (Les codes 
ASCII epluches), je n'aurais jamais 
trouve f 



Nerve Guenec - 06950 Faucon 

De la part des autres lecteurs qui au- 
raient une Centronics 152. merci ... 



Possedez-vous des informations 
comparatives entre le Pascal 1. 1 et le 
Pascal 1.2 ? Quand la nouvefle ver- 
sion sera-t-elle disponrble ? 

B. Lambillon - 51 rue de I'Automne 
- 1050 Bruxelles 

La difference principale entre le Pas- 
cal 1.1 et le Pascal 1.2 tieni a ce que 
ce dernier travaille en 128 Ko de 
memoire centrale; en outre, plusieurs 
buys du 1.1 ont disparu. Le produit 
devrait etre sorti a la parution de ce 
numero. 



Comment peut-on avoir acces aux 
touches de 1 Apple e qui n'existaient 
pas sur 1 'Apple 11 Plus ? Le manuel 
est totalement muet sur ces nouvelles 
possibilites. 

Dr. Denis Rousseaux - Auxon Dessus 
- 25870 Gcneuillc 

Les nouvelles touches ont les codes 
suivants en ASCII : 10 et 11 pour les 
fleches vers le bas et le haut. 127 
pour DEL, 9 pour TAB. La pomme 
ouverte et la pomme pleine corres- 
pondent aux houtons et 1 des ma- 
nettes de jeu, comme vous pouvez le 
constater avec tout jeu utilisant les 
manetres Les octets 49249 et 49250 
permettent de tester letat de ces tou- 
ches (voir Pom's 13 p.45). 



Apple, champion toutes categories de 
incompatible ! 

En passant de I'Apple 11+ a I'Apple 
//e, Apple a commis une eneui de 
conception. Si le progres technologi- 
que justifiait le 1/e, le clavier, lui, a 
/a/7 I'unanimite... des ineconlents. 
Pour economiser deux bouts de 
chandelle et conserver 1'ancien boi- 
tier. on n'a pas hesite a phnger I'uti- 
hsateur dans un dedale de 
complexity dont la plupart ne se sor- 
tent pas. Deux utilisateuis sui Uois 
revent d un clavier normal pour rem- 
placer le puzzle du e, alors qu'il au- 
rait ete si simple de mettre la carte 
mere dans un boWer separe et de 
Jaisser l'acheteur choisir son type de 
clavier detachable. 

Mais les choses n'en restent pas la. et 
Apple qui a fonde sa yluire sur 
i adaptability vient de faire un bond 
en avant vers l'absurde en passant 
en un n'en de temps de 1'erreur a 



Alexandre Duback 

I'aberration technique et commer- 
ciale 

Le c devait initialement etre destine 
a une clientele deja equipee et qui 
attendait un portable avec impa- 
tience. Cela supposait done une 
compatible totale. En fait cest 
d 'INCOMPA TIDILITE qu'il sagit. 

Si vous possedez 20.000 ou 30.000 
francs de hgiciel, vous pouvez les 
mettre a la poubelle. Si vous posse- 
dez une imprimante autre que 
I'lmage Writer, vous pouvez la mettre 
a la poubelle. Si vous avez des drives 
en plus sur votre //+ ou : fe. vous 
pouvez les mettre a la poubelle. 
Votre joystick, quel que soit son mo 
dele, piendia le meme chemin et 
surtout ne comptez pas sur ProDOS 
pour vous aider, il est lui aussi spe 
cfal au //c. 

Ni Multiplan. ni Apple Writer, ni Ma- 
gicalc. ni PFS... bref plus aucun pro- 
gramme serieux ne fonctionne. il 
vous faudra tout racheter a moins 
qu'un sursaut de bon sens ne vous 
lasse tout simplement ignorer le 7/c, 
ce qui semble etre la voic do la sa 
yesse. 

Voyons maintenant le Macintosh. 
Bien sur I'lncompatibilite est la aussi 
totale. Mais Apple, qui cherc.he tou- 
jours a se surpasser. a trouve avec 
cette machine toute neuve un true 
auquel les autres canstructpurx 
n'avaicnt meme pas pense : rendre 
la machine incompatible avec eile- 
meme: ca. e'est fort ! 

En effet, les Macs sont vendus en 
France avec un clavier Azerty et les 
progra mmes ne son t compa tibles 
qu'avec un clavier Qweny. Simple... 
mais il fallait y penser Ainsi^ les Mul- 
tiplan vendus pour Mac ne toument 
pas sur Mac 

Bien sur. la encore votre chere impri- 
mante ira a la casse; quant au drive 
supplemental, il vous faudra de- 
hourser pres d'un demi- million de 
centimes pour 1' avoir, et tout ca pour 
pas tout a fait 400 malheureux Ko. 
Le bloc numerique, vous le paierez 
en supplement, alors qu'il aurait du 
etre integre' a la souris, cette fameuse 
souris qui aurait du etre branchee sur 
le clavier pour eviter tous ces fils 
pendouillards et eviter en cas de 
panne d'etre prive du clavier. Meme 
aberration d'aifleurs pour le Duodisk 
dont toute panne de I'un entrame la 
privation de I'autre et done llmmobi' 
hsation de Funite centrale. 
Reste a savvit quelle umveille d'in- 



Pom's n° 14 



coherence nous reserve Apple avec 
le Lisa 2: parti comme ca Vest, nous 
ne serons surement pas decus... Et, 
pendant ce temps-fa Toshiba nous 
foumit une machine avec deux 
drives de 700 Ko formates chacun et 
un superbe ecran graphique pour 
moins de 21.000 F TTC Decide- 
ment. comme le dit la publicite, 
1' empire contre-attaque" et risque 
fort de V importer si le bon sens n est 
pas rapidement restaure. 
Jean Chamoin - 13001 Marseille 

Nous avons transmis votre Icttrc a 
Apple el publierons volontiers leur 
reponse, si vous pouvez nous l'en- 
voyer. Ceci dit. je dois vous avouer 
que si, comme vous. j'ai trouve le 
clavier du He tres desagreable durant 
la premiere demi-journee. jc lc pre 
feie aujourd'hui cent fois a" celui de 
l*IBM PC. Avez-vous essaye d'utiliser 
un tableur avec !e PC ? Comment 
obtient-on lei chiffres avec un clavier 
Azerty sans se mettre en blocage ma- 
juscules ? Au moins, avec le He, jc 
fais loul en clavier US, sauf le traite- 
ment de textes. et j'en suis ravi. 
De plus, quand des jeux americains 
utilisenl pour le deplacement les tou- 
ches I. J. K et M. cela devient fort 
peu pratique si Ton est force de tra 
vailler en Azerly. 

Enfin. pour utiliser un programme 
US sur le Macintosh, vous pouvez 
SUivre la procedure indiquee dans le 
Pom's 13 (pages 66-67) ou. plus 
simplement mais moins definitive 
merit, bouLer avec une disquette 
comportant un systeme trancais, 
rejecter, puis travaiiler alors avec le 
logiciel US. 



gage et rend la main au programme 
initial. 

2) La carte langage comprend. outre 
les 16K d'extension RAM. la ROM 
du inoniteur Autostart de l'Apple II 
Plus, qui avail rernplace 1' Apple II 
La ROM du monsieur situee sur la 
carte inert* de I* Apple nest plus utili- 
sed quand la carte langage est place? 
dans son slot. 



Je ne panviens touiours pas a intro- 
duce, au sein d'un texte en Apple- 
Writer e les commandes qui me 
permettraient d'imprimer avec des 
caracteres autres que le Pica normal 
de mon Epson FX80 FT. 
J'ai bten essaye d'utiliser le principe 
decrit dans le manuel. fonde sur Ctrl- 
V. par exemple ajyec PRINT 
CHR$(15) pour oblenir les caracteres 
condenses. Pouvez-vous me conseil- 
let ? 

Roger Clavel - 34100 Montpellier 

Pour envoyer des caracteres a votre 
imprimante. je vous conseille, si ce 
n est deja fait, de lire "Donnez du ca- 
ractere a votre imprimante". Pom's 
9. 

11 ne faut pas taper rornme en Basic 
"PRINT CHR$(15)" pour envoyer le 
caractere 15, mais faire Ctrl-V Ctrl-O 
Ctrl-V, car le Ctrl-O a 15 pour code 
ASCII. Voir a cet egard "Les codes 
ASCII epIucheV. Pom's 4. qui indi- 
que ce qu'il faut taper pour engen- 
drer tel ou tel code ASCII. 
Enfin, le Courrier des Lecteurs du 
Pom's 10 (page 71) monrre 
comment il faut traiter le cas particu- 
lar du code 0. 



1} J'ai ecnt un programme en assem- 
bleur qui necessite tant de memoire 
fibre que je dois le loger sur la carte 
langage. Or. ce programme utiirse 
He* routines de I' Applesoft et du Mo- 
niteur. Comment dois-je faire pour 
que tout marche ? 

2) J'apergois sur 7a carte langage un 
circuit qui ressemble fortement aux 
ROMs de la carte mere. Qu'est-ce 
que e'est ? 

Monsieur Thierry Han ■ B.P. 301 - 
Yaounde - Cameroun 

1) La solution la plus simple est cclle 
de Tappel indirect : il faut r£server 
une partie de la RAM normale (sous 
l'adresse SBFFF) o une petite routine 
qui active et desactive la carte lan- 
gage. Au lieu d'appeler direrfement 
lc moniteur ou Tinterpreteur Apple- 
soft a pariir du programme place sur 
la carte langage. on appelle cette 
routine qui active la lecture de la 
ROM. appelle la routine demanded 
et enfin reactive la lecture (et even- 
tucllcment 1'ecriture) de la carte lan- 



Je wens de prendre possession d'une 
ImageWriter avec une configuration 
complete //e. Comment fait-on pout 
copier son ecran. en dehors des des- 
sins preenregistres de la disquattc 
Toolkit foumie avec I'imprimante ? 
Comment copier un dessin en dou- 
ble haute resolution, avec les 
560*192 points de la carte Eve Chat 
Mauve ? 

Alain Dubois - 

59230 St Amand les Eaux 

En ce qui concern e les graphiques. 
Pom's 1, dans "les adresses du gra- 
phique". indique les zones memoire 
des pages graphiques. Quand vous 
avez cree un graphique a partir d'un 
programme, il faut d'abord le sauver 
sur disquette avec "BSAUE nom. 
A$2000.L$2000", ou AS4000 s'il est 
en page 2. II suffira alors de faire 
"RLOAD nom" pour charger la page 
en memoire. 

Votre programme Toolkit d' impri- 
mante vous permet de charger puis 
d'imprimer une page graphique. 



Cest tout ce qu'il vous reste a faire. 
I! n'existe pas a notrc connaissance 
de programme de copie d'ecran 
HGR double resolution. L'un de nos 
lecteurs en a peut dire realise un que 
nous puurriuns publier... 



En reponse au courrier de M. Jariuel 
(Pom's 12), voici la modification du 
programme MENU des disquettes 
Pom's qui permet 1'impression sur 
une Epson avec interface Apple : 

70 POKE 34.24:PRINT D1$"PR#*\S 

71 PRINT CHR$(0) 

72 PRINT CHR$(27)"A"CHR${10) 

73 POKE 1657.80 

75 CALL 37989 

76 PRINT CHR$(27);CHR$(50) 

77 PRINT D$"PR#0" 

78 TEXT 

Alain Meizoz 



Avis aux lecteurs de Pom's ... 

On nous declare parfois que FIRM 
PC est une bien meilleure machine 
pour communiquer que notre fidele 
Apple IL Pour notre part, chaque fois 
que nous avons desire relier notrc 
Apple b\ un autre ordinateur. nous y 
sommes parvenus. Nous souhaitons 
reunir un catalogue des liaisons deja 
etablies entre un Apple et d'autres 
ordinateurs. 

Nous prions done nos lecteurs qui 
onr innove* en ce sens de bien vou- 
loir nous ecrire pour nous dire a 
quels ordinateurs ils ont deja relic 
leur Apple, et dans quel but Bien 
entendu. les noms et adresses pour- 
ront rester confidentiels s ils en expri 
ment le souhait. 

Vous pouvez indiquer en outre les 
problemes que vous avez rencontres, 
comment ils ont ete resolus. cornbien 
coute(nt) lets) logiciel(s) eventuelle- 
ment devcloppe(s). Merci d'avancc 
pour tous ceux qui pourront profiter 
de ces informations. 

■ 



J'ai realise un logiciel pour la gesrinn 
et V execution de menuiseries a isola- 
tion renforce'e : croisees. porte-fene- 
tre et chassis. Lps perstmnes interes- 
sces peuvent me contacter 
directement 

Christian de Grenier • 10. avenue de 
Verdun - 74100 Annemasse - Tel 
(50)37.54.49. 



Erratum: Poms 13. page 22. I'ins- 
truction 61130 comportc ie tcrme 
INT(X/2) et non INT(X>2). 



Pom's n° 14 




Diskettes U.S 5" 1/4 SF/SD 145 F/boite 10 (exp. min. 5 boites Port 27 F) 

Diskettes 3M 5"l/4 SF/DD 175 F/boite 10 (exp. min. 5 boites Port 27 F) 



Lecteur diskettes pour APPI.F 
(mecan. Japonais, entr. direcl) 


1950 F 


(PORT 95 F) 




Carle synthctiscur dc voix 


350 F 


Carle wilcard (deplombage) 


600 F 


Carte memoire/langage 16 K Rom 


450 F 


Carte communication 


600 F 


Carte memoire 128 K 


1550F 


Carte IEEE - 488 


1500 F 


Carle drive 13/16 sect. 


380 F 


Carte copieur Eprom 


700 F 


Carte 80 colonnes 


740 F 


Carte A/D-D/A 12 bit 


1900 F 


Carte imprimante parallels 


400 F 


Carte horloge 


550 F 


Carte imprimante - Buffer 32 K 


1350 F 


Carte musique 


750 F 


Carte serie 


550 F 


Carte RGB 1 Prise TV Secam 


750 F 


Carte super serie 


1050F 


Carte 6522 Vio 


600 F 


Carte Z80 - CP/M 


650 F 


Port pour une carte 


27 F 


Joystick de luxe 2 -,2E, 2C 


180 F 


Ventilo 10 W. *uper silendeu* 


350 F 



PortUrgenlqiouter5,50F 

NOUVEAU : Pince speciale pour diskettes (100000 trous min.) (port : 13 F) 69 F 
Ordinateur multicompatible Forth, Basic, CP/M, MS-Dos, CP/M86 

Ecrivez, nous vous enverrons une lisle plus complete de nos articles. Revendeurs, contactcz-nous. 

Notre devise : "DYNAMIT COMPUTER : MOMS CHER QUE MOI TU MEURS I" 



Pom's n" 14 



! 



77 



pom's 



Montant 
TTC 



la disquette HAIFA Source □ au prix de 55 F la disquettc (cf. Pom s ir 5) 



le Iogiciel H-BASIC 

le Iogiciel MUSIC 

le Disk Manager 

DBSTAG (CP/M) 

Disquette de jeux A 

Disquette de jeux B 

le Iogiciel BASICIUM 

la disquette de demo 
sur 64K sen lenient 



Recueil n° 1 de Pom's 

Q avec ses 3 disquettes au prix de 280 F 
□ sans disquette au prix de 130 F 



□ au prix de 150 F (cf. Pom's n" 8) _ 

□ au prix de 80 F (cf. Pom's n* 10) _ 

□ au prix de 450 F (cf. Pom's n" 11) 

□ au prix de 450 F (cf. Pom's n il) 

□ au prix de 80 F (cf. Pom's n" 12) 

□ au prix de 80 F (cf. Pom's n" 12) 

□ au prix de 150 F (cf. Pom's n° 13) 

au prix de 55 F la disquette 

□ CX Systeme □ Jane 

1 a 4) 



| [ les 3 disquettes seules au prix de 150 F_ 

Recueil n° 2 de Pom's (n 5 a 8) 

avec ses 4 disquettes au prix. de 320 F _ 
] sans disquette au prix de 130 F. 



Je 



~] les 4 disquettes seules au prix de 190 F 

desire recevoir : 

les numeros de la revue Pom's □ 4 □ 7 

au prix de 35 F le numero 



□ 8 



les numeros de la revue Pom's 

au prix de 40 F le numero 



□ 9 QUI jjll □12 Q13 Q14 



les disquettes d'accompagnement des numeros □ 1 □ 2 □ 3 

□ 5 Q6 U7 U8 U9 uio Ijn U12 U13 U14 

au prix de 55 F par disquette 



□ 4 



Je 



desire m'abonner pour 6 num^rps a partir du rf 

□ sans disquette au prix dc 200 F 

J avec disquettes au prix de 480 F 



TOTAL ; 

Envoyez ce bon de commande et votre reglement a : 

Editions MEV — 64-70, rue des Chantiers — 78000 Versailles 

Nom 

Adresse 

Ces tarifs comprenneni renvoi postal en France Ntetropolitaine. CEE et Suisse (voie a&ienne excepi£e) 
Supplement avion : 10 F par numero et / ou disquette 



Pom's it 14 




\ferbatim. 




Datalifi 



et mini 



La gamme 
reference, . 









Fenvironnement de votre 
systeme 



Rubans unprinianle cassette el bobftnc PEGASUS 

kangcmcnt des disquettes 

RMn ecran SliN H,KX 

Produits entretieii COMPUCLEAN 

C'hargeurs do dkquettes • Roues ({'impression 

Tape amisiatiqucs 



Faites la connaissance de vos nouveaux collaborateurs 

Macintosh et Davong 





Macintosh*" , le dernier-ne de chez Apple, est en train de revolutionner 
rinformatique indh/iduelie comme I'ont fait ses ancetres. les premiers Apple. 

Associe aux peripheriques Davong, le Macintosh allie la facilite d'eniplot a 
la puissance, la souplesse et de nombreuses posslbllltes d'extenslon au 
service de vos affaires. 

I p no-nvpau syslpmp Davong Mar Disk, qup vous pouvez vous procurer 
aupres des concessionnaires Davong dans le mond-e entier, vous offre de 10 a 
32 millions d'octets dc mcmoirc 5 disqucs. Grace a Mac Disk, vous obtcnez 
enfin la copocitc ougrnentee et la fonctionnalite amelioree qu'il vous faut pour 
resoudre vos problernes de gesGon. Le tout a un prix ires ralsonnabie, sans 
affecter la vrtesse et la simplicite d 'emploi qui caractensent le Macintosh. 

(Jne autre bonne nouvelle de chez Davong : I'arrivee tre>s prochaine de son 
systeme de sauvegarde a bande en continu d' une capacite de 28 millions 
d'octets, qui assure la sauvegarde rapide de vos fichiera en toule securite, 
ainsi qu'un systeme multi-Ucrie de yestion d« rc&cau dc ioiie locale qui 
permet a tous les Macintosh de voire entreprise de partager des donnees, des 
programmes et de beneficler en commun des avantages duMac Disk. 

Pour obtenir de plus amples informations, veuillez vous adresser a voire 
concessionnaire Davong. ' 

I V 

importateur : 
HIT MICRO SYSTEMES 

171, avenue Charles-de-fiaiille 
92200 NEULLY Tel. : (1) 738.28.80 

















• 






tt\^^ i 1 § * ■ « « 


1 




1 I " t f j