MicroMensuel Montreal -=- Volume 2 Numero 3 -=- 4 Decembre 1992 -=-

MM MM II
MMMM MMMM
MM MMMM MM II CCCC RR RRR OOOO
MM MM MM II CC C RRR R OO OO
MM MM II CC RR OO OO ####
MM MM II CC C RR OO OO
MM MM II CCCC RR OOOO

MM MM LLL
MMMM MMMM LL
MM MMMM MM EEEE NN NNN SSSSS UU UU EEEE LL
MM MM MM EE EE NN NN SS UU UU EE EE LL
MM MM EEEEEE NN NN SSS UU UU EEEEEE LL
MM MM EE NN NN SS UU UU EE LL
MM MM EEEEE NN NN SSSSS UUUUUU EEEEE LL

“O F F I C I A L M O N T R E A L N E W S L E T T E R”

-=- Volume 2 Numero 3 -=- 4 Decembre 1992 -=-

Centre
d’edition:

General Information Center
of Montreal
(514)342-4262
(1:167/160)

Prochaine
parution:

[> 5 Janvier 1992 <]

Editeur:
Benjamin Leblanc

Avec l’aide de:

PHILIPPE GAMACHE
(Production)
(Co-Editeur)
STEVE MONTEITH
(… la distribution)

NOTE: Ce num‚ro n’est pas adapt‚ … l’impression (imprimante).

/////////////////////////////////////////////
“SI VOUS ETES USAGER OU OPERATEUR D’UN BBS
MONTREALAIS, LE MICROMENSUEL VOUS CONCERNE..”
/////////////////////////////////////////////
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÚÄ¿ÚÄ¿Ú¿Ú¿ÚÄ¿  ÂÄ¿ÂÄ¿
³ ³ ³³³³³³³³ ³ ³ ³ ³³
ÀÄ¿³ ³³³³³³³ÃÄ´ ³ ÃÂÙô
³³ ³³Á³³Á³³ ³ ³ ³À¿³
ÀÄÙÀÄÙÁ ÁÁ ÁÁ Á Á Á ÀÁÄÙ

-*Editorial*-…………………….. Benjamin Leblanc
-*Note du Co-Editeur*-…………….. Philippe Gamache

Formulaire d’application pour le MMM

Les fichiers “BATCHs” (6eme partie)…. Philippe Gamache
JEAN GERBE: Le systeme scolaire…….. Benjamin Leblanc
Le boot area……………………… Jean-Louis Marenger
Nouvelle: Miroir………………….. Francois Marquis
La memoire etendu…………………. John Wilson

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÂÄ¿ÂÄ¿  Ú¿ÚÄ¿ÂÄ¿  ÚÄ¿Â
³ ³ ³ ³ ³ ³ ³³ ³ ³ ³ ³³
ô ³ ³ ³ ³ ³ ³ÃÂÙ ³ ÃÄ´³
³ ³ ³ ³ ³ ³ ³³À¿ ³ ³ ³³
ÁÄÙÁÄÙ Á Á ÀÄÙÁ À Á Á ÁÁÄÙ
Par Benjamin Leblanc, ‚diteur.

Les sommaires, ‡a m’embˆte. Et puis ‡a m’a toujours embˆt‚… On monte le
journal, on installe les articles, on corrige les fotes d’aurtograffe, et
puis lorsque vient le temps d’‚crire le sommaire, mouais… Qu’est-ce que
je vais bien pouvoir ‚crire pour ne pas paraŒtre l‚gŠrement redondant…?
Alors on “griffonne” sur l’‚cran, on relit le texte, on tente d’apporter des
nuances et tout le tralala. Finalement, on relit le produit final, et on
trouve ‡a nul. Ben oui! On dirait que le produit qui est devant nos yeux
est exactement le contraire de ce que nous voulions. Au fond, c’est l’art
d’‚crire quelque chose quand on n’a rien … ‚crire, et ce sans paraŒtre ridi-
cule… 🙂
Quoiqu’il en soit, voici le num‚ro de d‚cembre (clochettes!
clochettes!), avec des articles plut“t int‚ressant. Il sera discut‚ du EMS,
des fichiers batchs (comme toujours, n’est-ce pas Philippe?), de la FAT, et
l’on vous r‚serve un nouvel essai de Fran‡ois Marquis. Un num‚ro un peu plus
technique pour No‰l… Tiens, pourquoi pas? En fait, je voudrais aussi sou-
ligner le travail exceptionnel de Philippe Gamache pour ce mois-ci qui s’est
mˆme occup‚ du montage du journal, en plus de nous l‚guer son savoir dans
des textes int‚resants. A ce titre, il devient le co-‚diteur du MicroMensuel
de fa‡on permanente. Merci Phil!
Encore une fois, je remercie aussi tous
ceux (et “celles” bien s–r!) qui ont particip‚ … la r‚daction du num‚ro de
d‚cembre 92. And keep the wonderful work!

Le MicroMensuel souhaite joyeux No‰l … tous les “b‚b‚h‚sseux” du Qu‚bec, et
n’h‚sitez pas … vous empiffrer, vous goinfrer! Il n’y a pas de mal … cela!
Et comme disait mon oncle Zouzou, avant de mourir d’une crise du foie:

“Mieux vaut un esprit SAIN dans un corps PLEIN”…

(Prenez ‡a comme la petite pens‚e du mois tiens!)

Bonne lecture!

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
¿ÂÚÄ¿Ú¿ÂÄ¿
³³³³ ³ ³ ³
³³³³ ³ ³ ô
³³³³ ³ ³ ³
ÁÀÙÀÄÙ Á ÁÄÙ
Par Philippe Gamache, Co-Editeur 1:167/506@FidoNet.Org

Et bien, j’ai enfin ma promotion…. En fait ma nouvelle “JOB” c’est de
rentre le MMM le plus attrayant possible. Mais j’ai besoin de votre aide…
C’est tres simple, quand vous nous envoyez votre article, il faudrais le plus
possible que vous respectiez ces quelques regles:

– L’utilisation des “/” devrais resemblez a: //. Et oui il faut
doubler le nombre de “SLACH” si vous voulez qu’ils apparaissent.
Bizzare, mais c’est ca qui faut, du a l’utilisation d’un nouveau
logiciel, nous permettant de metre le titre de chaque text en GROS
et pour la suite, offrir au sysop des versions COULEURS pour leurs
systeme.

– Le titre doit etre d’une longeur maximum de 23 caracteres. Si cela
vous ai impossible, veillez metre un double titre ( ex. l’article
“JEAN GERBE”. Et mit sur la 1ere ligne de votre texte, et au debut
de celle-ci.

– Si possible faire le texte en BLOC (un peu comme celui ci).

– La limite pour recevoir les articles est le 28 de chaque mois.

Aussi, n’esitez pas a nous envoyer des articles, mais aussi de nous a-
vertir de leur existance. Quel genre d’article? Bof! n’importe-quoi… On
a un bon exemple ce mois ci; trois textes sur l’informatique, une nouvelle,
un autre humoristique. N’oubliez pas, tous les articles sont permit, en au-
tant qu’ils sont ecrit d’une facon convenable. Mais faites attention, il
faut que ca soit arriver avant le 28, sinon votre article paraitra que 2 mois
plus tard. Alors n’attendez plus, envoyer les au plus vite, et premier arri-
ver, premier servit.

J’espert que vous allez aimer le nouveau format du MMM. A la prochaine!

Philippe Gamache

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÚÄ¿ÂÄ¿ÂÄ¿Â Â ÚÄ¿ÚÄ¿Ú¿  ÚĿ¿Â
³ ³³ ³³ ³³ ³ ³ ³ ³ ³ ³ ³ ³³³³
ÃÄ´ÃÄÙÃÄÙ³ ³ ³ ÃÄ´ ³ ³ ³ ³³³³
³ ³³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³³³³
Á ÁÁ Á ÁÄÙ Á ÀÄÙÁ Á Á Á ÀÄÙÁÀÙ

Voici finalement l’application officielle pour devenir un abonn‚ permanent
du journal MicroMensuel Mtl /Official Montreal Newsletter. Ceci regarde
les op‚rateurs de babillard ayant un “mailer”, ainsi que les r‚seaux int‚-
ress‚s … distribuer le MMM … leurs “nodes”.

Veuillez SVP envoyer le fichier d–ement rempli sur General Information
Center au (514)342-4262 (1:16760). Vous pouvez aussi imprimer le tout
et nous envoyer votre demande par la poste:

General Information Center Mtl
6111 Dubois‚ #1 (LM)
Montr‚al, PQ Canada
H3S 2V8
Merci!

Benjamin

APPLICATION POUR UN SIMPLE SBE

Decouper ici: —-v
—————————————————————————–

[ ] Je voudrais recevoir le MMM automatiquement sur mon SBE.

[ ] Je voudrais avoir sur mon SBE la conf‚rence du MicroMensuel Montreal

Informations:

Nom du systeme : _____________________________________________________

Nom de l’operateur : _____________________________________________________

# de telephone du SBE: ( ___ ) ___ – ____

Adresse Fido : _____ : _____ /_____ . _____

Autres nets si vous n’avez pas d’adresse fido : _____ : _____ /_____ . _____

Nom de ce Net : _______________________________________________

# de telephone de l’operateur (en cas d’urgence): ( ___ ) ___ – ____

——————————————————————————-
Decouper ici ——-^

APPLICATION POUR UN NET

Decouper ici ——-v
—————————————————————————–

[ ] Je voudrais recevoir le MMM pour mon Net, pour but de distribution.

Nom du NET : __________________________________________________

Nom du Systeme ou le MMM vous sera envoye :

_________________________________________________________

Son # de telephone : ( ___ ) ___ – ____

Adresse Fido : _____ : _____ /_____ . _____

Ou autres Net: ______________________________________

Adresse : _____ : _____ /_____ . _____

Adresse sur votre Net: _____ : _____ /_____ . _____

Nom du sysop du SBE : _________________________________________

Son # de telephone : ( ___ ) ___ – ____

Nom du createur du Net: ________________________________________

Son # de telephone ( ___ ) ___ – ____

—————————————————————————–
Decouper ici ——^

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
 ÂÄ¿ÚÄ¿ ÂÄ¿  ÚÄ¿Â Â Â ÂÄ¿ÂÄ¿ÚÄ¿ ÂÄ¿ÚÄ¿Ú¿ÚÄ¿Â Â
³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³³ ³ ³³ ³ ³ ³ ³ ³
³ ô ÀÄ¿ ô ³ ³ ÃÄ´ ³ ô ÃÂÙÀÄ¿ ÃÄ´ÃÄ´ ³ ³ ÃÄ´
³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³À¿ ³ ³ ³³ ³ ³ ³ ³ ³
ÁÄÙÁÄÙÀÄÙ Á Á ÀÄÙÁ Á Á ÁÄÙÁ ÀÀÄÙ ÁÄÙÁ Á Á ÀÄÙÁ Á
6Šme PARTIE

Par: Philippe Gamache 1:167/506@Fido.Org
101:180/129@FrancoM‚dia

Une 6eme partie… Deja une demie-ann‚e de travail, et je suis sur
que continuer de meme je vais pouvoir en faire autant. Ce mois si, on
continue les menus, et on travail le PROMPT (explication plus loin).

Si comme lui vous avez des commentaires a me faire parvenir, ou
bien des questions, n’h‚sitez pas. Je vous r‚pondrais soit par
courrier, soit dans mon prochain article, ou soit dans le Courrier du
Lecteur du MMM. Merci!

Comme le mois pass‚, je ne vais pas vraiment ‚crire d’article. Je vais
tous simplement faire la BATCH tous en y ajoutant des remarques (REM).
Vous aurez juste … retranscrire toutes les commandes marqu‚es dans la
BATCH, mais vous pourrez ne pas mettre les REM” sauf ceux qui on une
phrase entre trois ‚toiles (***); ceux si servent a identifier des
regroupements de commandes et facilit‚ un ajout de commande trŠs facilement.

J’ai ajout‚ des couleurs et si vous pr‚f‚rez choisir d’autres couleurs
c’est a votre choix. Aussi les commandes principales qui sont en
fait que des appels de certains programmes, sont seulement des
exemples, et vous pouvez mettre ceux que vous voulez.

Veillez noter que les Codes ANSIs sont marque de la fa‡on
suivante : ^[[, et que vous devrez changer le ^[ pour un code ESC.

Mais il y a encore une bonne diff‚rence ce mois ci… Je ne
vais pas vous donner la BATCH au complet, mais plut“t que quelques
lignes, avec les indications suivantes: = pour Aucune Modification (Sert
exclusivement pour vous montrer o— travailler. + Ligne a ajouter. –
Ligne que vous devez supprimer. * Ligne a modifier.

Attention les anciens REM qui sont inutiles ne seront pas ‚crit.

Mais avant je veux vous expliquer comment on fait des menus.

Pour ‡a il nous faut un petit programme qui permet de passer des
ERRORLEVEL selon les touches d‚sirer. Il existe une multitude de
logiciel de ce type. Mais j’ai opt‚ pour une fa‡on plus simple,
sans que vous aillez a trouver ce logiciel.

;
;
;
REM *** MENU D’OPTIONS ***
;
;
;
+:OO
;
=ECHO ^[[3B
=ECHO ^[[1;37;44mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ/
ÍÍÍÍÍÍÍÍÍÍÍÍÍ»^[[0m
=ECHO ^[[1;37;44mº ^[[36mMenu – Option principale/
^[[37mº^[[0m
=ECHO ^[[1;37;44mÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ/
ÄÄÄÄÄÄÄÄÄÄÄĶ^[[0m
*ECHO ^[[1;37;44mº ^[[36mEcran: [A] 25 Colonnes [B] 50/
Colonnes ^[[37mº^[[0m
=ECHO ^[[1;37;44mÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ/
ÄÄÄÄÄÄÄÄÄÄÄĶ^[[0m
*ECHO ^[[1;37;44mº ^[[36mPrompt: [C] Type Information [D] Type/
Fete ^[[37mº^[[0m
=ECHO ^[[1;37;44mÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ/
ÄÄÄÄÄÄÄÄÄÄÄĶ^[[0m
*ECHO ^[[1;37;44mº ^[[36mDEL: [E] *.* [F] *.BAK [G]/
*.~* ^[[37mº^[[0m
=ECHO ^[[1;37;44mÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ/
ÄÄÄÄÄÄÄÄÄÄÄĶ^[[0m
=ECHO ^[[1;37;44mº ^[[36mAutres: /
^[[37mº^[[0m
=ECHO ^[[1;37;44mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ/
ÍÍÍÍÍÍÍÍÍÍÍͼ^[[0m
;
;
;
REM
REM Une ligne qui a le signe / … la fin et qui continue sur la ligne
REM suivante doit ˆtre situ‚ sur une seule ligne dans la BATCH et sans
REM le signe /.
REM
REM Tous ce qui suit est a ajouter.
REM
;
;
;
ASK ABCDEFG
;
REM
REM Voir explication et logiciel dans le MicroMensuel Vol 2 # 2.
REM (Novembre 1992)
REM
;
IF ERRORLEVEL 6 GOTO DEL3
IF ERRORLEVEL 5 GOTO DEL2
IF ERRORLEVEL 4 GOTO DEL1
IF ERRORLEVEL 3 GOTO PROMPT2
IF ERRORLEVEL 2 GOTO PROMPT1
IF ERRORLEVEL 1 GOTO 50
IF ERRORLEVEL 0 GOTO 25
GOTO OO
;
REM
REM Attention toujours debuter avec le plus gros ERRORLEVEL et finir
REM avec zero.
REM
;
;
;
:DEL1
;
ECHO Y | DEL.
REM
REM ATTENTION : Ceci efface TOUS le repertoire sans jamais demandez
REM de confirmation.
REM
REM Le fonctionnement de ca, c’est qu’il execute DEL. (c’est comme faire
REM DEL *.*) mais en envoyant l’ECHO Y. (pour ceux qui on un DOS
REM francais, veillez mettre O au lieu de Y).
REM
GOTO END
;
;
;
:DEL2
;
DEL *.BAK
GOTO END
;
;
;
:DEL3
;
DEL *.~*
GOTO END
;
;
;
:PROMPT1
;
ECHO Dans le prochain MMM il sera implementer.
GOTO END
;
;
;
:PROMPT2
;
ECHO Dans le prochain MMM il sera implementer.
GOTO END
;
;
;
:25
;
MODE CON LINES=25
GOTO END
;
;
;
:50
;
MODE CON LINES=50
GOTO END
;
;
;

MODE? C’est une commande du DOS qui permet de changer les
informations aux p‚rif‚riques de l’ordinateur (Imprimante, Ecran,
Lecteur, ect…). Dans notre cas ce qui importe c’est l’ECRAN. Pour
ce faire, il faut utiliser la commande CON (ecran) avec MODE (Ex.:
MODE CON ) plus une commande de controle (COLS pour changer le nombre
de colones et LINES pour le nombre de Lignes).

Il est a not‚ que les options avec un (N/A) seront dans le (ou
plus tard) prochain MicroMensuel.

A rechercher:

MMMMV100.ARJ Version 1 de la BATCH “Move” qui a servit d’exemple
dans la partie 2 et 3 de mon cours sur les BATCHs.
Version plus complŠte en couleurs.

MMMM120.ARJ Cette BATCH ce mois ci, avec toute les couleurs mais
sans les remarques (REM) tous au long de la BATCH.
Comme cela vous n’avez pas … la retranscrire.

MMMASK1.ARJ Le programme ASK.COM (inclue en script pour DEBUG
dans le pr‚sent article) d‚j… compiler pour vous.

HS100.ARJ Help Sysop 1.00 Batch Compiler fait par Normand Moreau,
qui sert a avoir des informations sur les sysops
de notre r‚gion.

APQ103.* (Version .ARJ .LZH .PAK .ZIP disponible) Texte et
application pour l’Association des Programmeurs du
Qu‚bec. (Il ce peut que la version 1.10 soit sorti).

Philippe Gamache
APQ BBS (Sur YaleBBS)
(514) 671-4464
Membre de L’Association des Programmeurs du Qu‚bec.

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÂÂÄ¿ÚĿ¿ ÚÄ¿ÂÄ¿ÂÄ¿ÂÄ¿ÂÄ¿
³³ ³ ³³³³ ³ ³ ³ ³³ ³³
³Ã´ ÃÄ´³³³ ³ ¿Ã´ ÃÂÙÃĴô
³³ ³ ³³³³ ³ ³³ ³À¿³ ³³
ÀÄÙÁÄÙÁ ÁÁÀÙ ÀÄÙÁÄÙÁ ÀÁÄÙÁÄÙ
Le systŠme scolaire et les petits pois.

Par Benjamin Leblanc

Je vais ici prendre la parole pour les ‚tudiants, et les anciens ‚tudiants
(les vieux quoi!). En effet, je d‚nonce la pers‚cution intellectuelle en
milieu scolaire (Quo‡‚?)… Je m’explique: je vais vous raconter l’histoire
du gars qui s’est retrouv‚ en cours de macro‚conomie avec une folle de prof
plutot zinzingue. Ben voil…, le gars en question c’est moi! Pour ceux qui
se demandent ce que mange en hiver la macro‚conomie, il seront d‚‡us d’ap-
prendre que c’est encore un mystŠre pour l’humanit‚. Tout ce qu’on peut en
dire, c’est qu’on parle d’argent… de beaucoup d’argent. En fait, ‡a fait
maintenant 4 mois que je suis (dans le sens de suivre et non ˆtre!) le cours
et c’est … peu prŠs tout ce que je peux en dire. Affolant non? En fait, je
dois avouer que je n’ai jamais aim‚ l’‚conomie, et lorsque j’ai vu pour la
premiŠre fois ma prof zinzingue, mon estomac s’est mis dans l’id‚e d’aller
dire un petit bonjour … l’‚piglotte (c’est subtil comme expression ‡a!).
Tout ‡a pour dire que j’la d‚teste encore plus que les petits pois, et Dieu
sait si je d‚teste les petits pois (au fond il en a rien … foutre m’enfin!).

Tout cela pour en arriver au fait principal: la semaine derniŠre, ma prof
zinzingue s’est mise … baragouiner un m‚lange d’offre et de demande frits
dans l’inflation avec un soup‡on de PNB r‚el, le “brut” ‚tant trop sal‚…
Ca ressemblait vraiment … une recette de petits pois… Et Dieu sait si je
d‚teste les petits pois! Toujours est-il que mademoiselle zinzingue a d‚cid‚
tout d’un coup, de nous poser la question fatidique: “Maintenant, est-ce que
vous comprenez mieux qu’avant?”…

Au moment o— elle posait sa question, je n’avait qu’une seule envie au
monde, et c’‚tait de la “scrouncher”, comme je “scrounchais” mes petits pois
quand j’‚tais petit, dans mon assiette. Je d‚cidai donc de la scrouncher,
mais de fa‡on hautement diplomatique. Je r‚pondis: “Madame, voyez-vous, il
y a trois cat‚gories dans cette foutue classe. 1- ceux qui ne comprenaient
pas avant et qui ne comprennent toujours pas, 2- ceux qui comprenaient avant
et qui comprennent encore, et 3- ceux qui comprenaient avant et qui l…, ne
comprennent plus rien.” Et si encore c’avait ‚t‚ faux… Mƒ non!

Alors la macro‚conomique, elle me fait macro-chier. Voil…, il fallait que
‡a sorte, que je me d‚foule un peu, faute de petits pois dans le frigidaire.

Le mois prochain, je vous entretiendrai de mon cours de probabilit‚s et
statistiques, en math‚matiques. L… c’est encore pire, parce que tout ce que
tu apprends, tu t’en sers pour calculer tes probabilit‚s de r‚ussite du
cours, et c’est plutot d‚courageant, sans compter que le prof cette fois est
pire que tout, du fait qu’il est chauve que, ‚videmment, on est continuelle-
ment aveugl‚s par les reflets des n‚ons sur sa tˆte. Ca brille beaucoup …
l’ext‚rieur, mais j’voudrai bien voir … l’int‚rieur moi, (pou’ le fun!)…
Ca ne m’‚tonnerais pas de retrouver… un petit pois!!

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
 ÂÄ¿ ÂÄ¿ÚÄ¿ÚÄ¿Ú¿ ÚÄ¿ÂÄ¿ÂÄ¿ÚÄ¿
³ ³ ³ ³³ ³³ ³ ³ ³ ³³ ³³ ³ ³
Ä Ä ³ ô ÃÄ´³ ³³ ³ ³ ÃÄ´ÃÂÙô ÃÄ´ Ä Ä
³ ³ ³ ³³ ³³ ³ ³ ³ ³³À¿³ ³ ³
ÁÄÙÁÄÙ ÁÄÙÀÄÙÀÄÙ Á Á ÁÁ ÀÁÄÙÁ Á

Auteur Jean-Louis Marenger

OCTET: EXEMPLE: DESCRIPTION:
——- ——— ——————————————
0 @ 2 EB,34,90 Saut inconditionnel de 34 (offset).
3 @ 10 IBM 3.2 Version du dos (3.2).
11 & 12 00,02 Nbr. d’octets/secteur (512).
13 02, Nbr. secteurs/cluster (2).
14 & 15 01,00 Secteurs reserves au debut du disque (1).
16 02, Nbr. de copie du FAT (2).
17 & 18 70,00 Ndr. d’entrees au repertoire (112).
19 & 20 D0,02 Nbr. de secteurs sur le disque (720).
21 FD, Disque (5 1/4po. DD, 360K).
22 & 23 02,00 Nbr. de secteurs/FAT (2).
24 & 25 09,00 Nbr. de secteurs/piste (9).
26 & 27 02,00 Nbr. de cote (tete) (2).
28 @ 31 00,00,00,00 Nbr. de clusters speciaux caches (0).
32 @ 35 00,00,00,00 Grand total des secteurs (0).
36 00, Unite de disque physique (0=defaut).
37 00, Reserve (0).
38 00, Signature du “BOOT RECORD” (0).
39 @ 42 00,00,00,00 Num. de serie “VOLUME” (0000).
43 @ 53 00,00,00,00 Etiquette (LABEL) du volume.
0F,00,00,00
01,00
54 @ 365 ……….. Programme d’autochargement (BOOTSTRAP).
366 @ 398 ……….. Non systeme disk or disk error.
399 @ 437 ……….. Replace and strike any key when ready.
438 @ 440 ……….. Message nul.
441 @ 461 ……….. Disk boot failure.
462 @ 472 ……….. IBMBIO COM.
473 @ 483 ……….. IBMDOS COM.
484 @ 509 ……….. (Disponible).
510 & 511 55,AA Fin du (BOOT AREA).
——— ———– ————————————————
=============================================================================

— LE FAT AREA —

Octet. Dim. Format. Sec/Pis. Oct/Cl. Pis.
—— —- ——- ——– ——- —-
Le premier octet (FD) —-> FF 320K 5 1/4 DS (8) 1024 40
FE 160K 5 1/4 SS (8) 512 40
FD 360K 5 1/4 DD (9) 1024 40
FC 180K 5 1/4 SD (9) 512 40
FA 1.2M 5 1/4 DQ (15) 512 80
F9 720K 3 1/2 DD (9) 1024 80
F8 10 @ 60M D. DUR (17) 2048 XX
F0 1.44M 3 1/2 DQ (18) 512 80

L’octect 2 & 3, sont toujours les memes ( FF,FF ).

Pour decoder les autres octets faisant parties du FAT prenez-les par
groupe de trois et obtenez-en deux nombre consecutifs du FAT.

Exemple: 03,40,00
————————
Le decodage s’effectue de la facon suivante:

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ ³
0 3, 4 0, 0 0
: : : : :
³ : : ³ : : :
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ : : :
: : : : : :
: : : : : :
0 0 3 0 0 4

Ce qui donne les nombres suivants: 03,04
—————————————–

Les valeurs inscrites au “FAT” s’interpretes de la facon suivante.

Valeur. Signification.
——- ————–
000 Cluster dsiponnible.
001 & FF0-FF6 Cluster reserve.
FF7 Mauvais cluster.
FF8-FFF Denier cluster d’un fichier.
XXX Cluster appartenant a un fichier.
————- ———————————-
=============================================================================

— LE DIRECTORY —

OCTET: EXEMPLE: DESCRIPTION:
——- ——— ——————————————
0 @ 10 49,42,4D,42 Le nom et l’extension du fichier.
49,4F,20,20 ———> IBMBIO.COM <———-
43,4F,4D
11 27. 0 0 1 0 0 1 1 1
³ ³ ³ ³ ³ ³
³ ³ ³ ³ ³ ÀÄ R/O.
³ ³ ³ ³ ÀÄÄÄÄ Hidden.
³ ³ ³ ÀÄÄÄÄÄÄÄ Systeme.
³ ³ ÀÄÄÄÄÄÄÄÄÄÄ Volume.
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ Sub Directory.
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Archive.

12 & 21 00,00,00,00 Ces octets sont reservers.
00,00,00,00
00,00.
22 & 23 C4,3E Indique le temps et se decodent comme suit.

–( 3E (msb) )– –( C4 (lsb) )—
0 0 1 1 1 1 1 0 , 1 1 0 0 0 1 0 0
ÄÄÄÄÂÄÄÄÄ ÄÄÄÄÄÄÂÄÄÄÄÄÄ ÄÄÄÄÂÄÄÄÄ
³ ³ ÀÄ Sec. X 2
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Minutes.
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Heures.

La reponce est donc —->7h:55m:8s.
———————————–

24 & 25 9E,0b Indique la date et se decode comme suit.

–( 0B (msb) )– –( 9E (lsb) )—
0 0 1 1 1 1 1 0 , 1 1 0 0 0 1 0 0
ÄÄÄÄÂÄÄÄÄ ÄÄÄÄÄÄÂÄÄÄÄÄÄ ÄÄÄÄÂÄÄÄÄ
³ ³ ÀÄ Jour.
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Mois.
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Annnes +1980.

La reponce est donc le 30 dec., 1985.
———————————–

===============================================================================

Fait par: Jean-Louis Marenger
(C) Copyright 1989.
=============================

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Ú¿  ÂÄ¿ÚÄ¿  ÂÄ¿ ÂÚÄ¿Â Â ÂÄ¿ Ú¿  ÂÄ¿ÚÄ¿  ÂÄ¿
³³³ ³ ³ ³³ ³ ³ ³ ³ ³³ ³³ ³ ³ ³³³ ³ ³ ³³ ³ ³ ³ ³
³³³ ³ ÃÂÙ³ ³ ³ ÃÂÙ ³³ ³³ ³ ô ³³³ ³ ÃÂÙ³ ³ ³ ÃÂÙ
³Á³ ³ ³À¿³ ³ ³ ³À¿ ³³ ³³ ³ ³ ³Á³ ³ ³À¿³ ³ ³ ³À¿
Á Á Á Á ÀÀÄÙ Á Á À ÀÄÙÀÄÙÁÄÙ Á ÁÄÙ Á Á Á Á ÀÀÄÙ Á Á À
Par Fran‡ois Marquis

La sonnerie du t‚l‚phone r‚sonna dans toute la maison. Annie se r‚veilla
en sursaut et bondit sur celui-ci avant que le bruit ne r‚veille ses parents.
Encore toute endormie, elle r‚pondit. Une voix surexcit‚ sembla bondir du
combin‚.

– All“ Annie? C’est moi, GeneviŠve!

– Sais-tu l’heure qu’il est? J’espŠre que tu as une bonne, une trŠs
bonne raison pour r‚veiller les gens … trois heures du matin!
R‚pondit-elle, une pointe de menace dans la voix.

– Une bonne raison? Juge par toi-mˆme! Ouvre ta fenˆtre et
regarde un peu … l’ext‚rieur, au coin de la rue!

Annie s’ex‚cuta. GeneviŠve lui avait mis la puce … l’oreille. Elle
ouvrit ses stores et aper‡ue premiŠrement son amie, … sa fenˆtre, car
celle-ci habitait la maison en face. Elle faisait de grands signes vers la
gauche, tout en hurlant d’excitation dans le combin‚. Elle regarda. A
l’autre bout de la rue r‚gnait une activit‚ f‚brile. Une ambulance ‚clairait
les maisons de ses gyrophares. PrŠs d’elle, une voiture de police en travers
de la route. Elle saisi des lunettes d’approche qu’elle gardait toujours …
proximit‚ et regarda la scŠne. Pendant ce temps, GeneviŠve n’arrˆtait pas de
parler. Mais tout ce qu’elle disait s’envolait car Annie ‚tait bien trop
concentr‚e pour ‚couter. La vieille folle. L’ambulance ‚tait chez elle.
Elle vit distinctement les ambulanciers sortir les mains vides. Un fourgon de
la morgue arriva quelques instants plus tard, emportant le corps. Un cri plus
strident que les autres la ramena … la r‚alit‚.

– Alors? Qu’est-ce que tu vois? Allez! Ne me fais pas mourir
d’impatience comme ‡a! Raconte!

– C’est la folle. Elle est morte…

– Quoi? L’ambulance est chez la sorciŠre?

– Ouais… Bon, c’‚tait int‚ressant … voir, mais l… je retourne me
coucher. On en reparle demain … l’‚cole. Dit-elle entre deux
bƒillements.

Et elle raccrocha avant que son amie ait pu ajouter quoi que ce soit.

Elle se rendormi rapidement. Mais elle fut troubl‚e pour le reste de la
nuit par des cauchemars … propos de ces histoires sur cette vieille qui
l’avait terroris‚e, elle et les autres enfants, durant sa jeunesse.

Les adultes la disait renferm‚e, farouchement ind‚pendante et peut-ˆtre
un peu folle. Les jeunes parlaient surtout de la sorciŠre de la grosse maison.
Quoi qu’il en soit, elle avait toujours v‚cu seule, mˆme dans sa jeunesse et
on ne la voyait en public que le jour du march‚, toujours vˆtue … l’ancienne
et en noir.

Au matin, Annie se pr‚para comme … tous les jours pour l’‚cole. AprŠs
son petit-d‚jeun‚, elle se barricada dans sa chambre pour choisir ses vˆte-
ments et se maquiller. Elle fut fin prˆte prŠs d’une heure plus tard et elle
quitta la maison.

Arriv‚e … l’‚cole, tout le monde ne parlait que de cette histoire. Les
rumeurs les plus folles courraient sur l’origine de la mort de la vieille.
Certains parlaient d’un rite de magie noire qui avait mal tourn‚, d’autre
encore d’un suicide. Bien peu semblaient penser qu’elle ‚tait peut-ˆtre tout
bonnement morte de vieillesse. Elle retrouva son amie dans la foule compacte
et naturellement, celle-ci n’avait que cette histoire sur les lŠvres.

Elle ‚coutait distraitement son amie car son esprit ‚tait ailleurs.
Elle se demandait ce que l’on allait faire de sa maison et de ses affaires
personnelles. Comme pour r‚pondre … sa question, GeneviŠve retint tout … coup
l’attention d’Annie.

– Tu sais ce qu’ils vont faire de la maison? coute bien ‡a. Tu sais
que mon pŠre ‚tait son notaire? Et bien quand il a apprit la mort de
la sorciŠre, il a tout de suite contact‚ le seul h‚ritier. Un type
qui reste loin d’ici. Il est sa seule famille. Mon pŠre va le ren-
contrer et lire le testament pendant la journ‚e. Alors tient toi pas
trŠs loin du t‚l‚phone…

La cloche sonna est elles durent aller … leurs cours.

La journ‚e passa comme toutes les autres, cours aprŠs cours, sans que
rien de sp‚cial ne vint casser le rythme de la journ‚e.

De retour … la maison, juste au moment o— Annie s’apprˆtait … faire une
razzia du c“t‚ du r‚frig‚rateur, la sonnerie du t‚l‚phone lui transper‡a les
oreilles. Elle d‚crocha le combin‚ et entendit presque aussit“t la voix de
GeneviŠve.

– Salut! Je t’avais dit de pas te tenir loin du t‚l‚phone! Une chance
que tu m’as ‚cout‚e! C’est … propos de la sorciŠre. P’pa a dit que
le type, l’h‚ritier, il voulait se d‚barrasser de tout. Alors il a
mis la maison en vente et samedi, il organise une grosse vente de
garage pour ‚liminer les affaires de la vieille! Manque pas ‡a!

La conversation se poursuivit quelques minutes puis Annie raccrocha.
Elle repensa … cette histoire de vente. Elle irait certainement y faire un
tour, juste pour voir le genre de choses qui pouvaient bien meubler la maison
de la sorciŠre. D‚finitivement, elle irait voir ‡a. Peut-ˆtre mˆme achŠte-
rait-elle quelque chose en souvenir des peurs de son enfance.

Le reste de la semaine passa rapidement et le samedi vint. La vente
commen‡a dans la matin‚e et une foule de curieux s’‚tait rassembl‚e. La sor-
ciŠre en avait intrigu‚ plus d’un et une grande partie d’entre eux avaient eu
la mˆme id‚e qu’Annie.

Celle-ci s’avan‡a parmi les ‚tals. Le nombre d’articles ‚tait impres-
sionnant. Chacun semblait trouver quelque chose … son go–t. Pourtant, Annie
‚tait l… depuis un bon moment et rien n’avait encore attir‚ son attention.
Elle s’apprˆtait … partir, d‚courag‚e, lorsqu’un reflet brillant lui fit tour-
ner la tˆte. Elle s’approcha et d‚couvrit un splendide miroir. Il ‚tait en
‚tain et semblait trŠs ƒg‚. Son pourtour ‚tait finement cisel‚ et … l’endos,
l’artiste avait grav‚ le visage d’une jeune fille d’une beaut‚ surprenante.
Le portrait ‚tait entour‚ de six autres, plus petits, dispos‚s en un demi-
cercle. L’oeuvre ‚tait sublime. Elle le retourna pour se regarder dedans.
Le fini du miroir ‚tait encore parfait malgr‚ son grand ƒge ‚vident.

Elle eut un l‚ger sursaut en croisant son reflet. En effet, Annie ‚tait
vraiment belle, mais dans le miroir elle ‚tait radieuse. Elle d‚cida d’ache-
ter le miroir. Elle l’eut pour une vingtaine de dollars. Alors qu’elle re-
venait chez elle, elle croisa son amie qui se rendait … la vente. Celle-ci la
salua puis s’arrˆta pour ensuite revenir … sa hauteur.

– Annie? As-tu pass‚ la nuit sur la corde … linge? Il me semble que tu
as l’air fatigu‚e…

– Non… Probablement que c’est … cause du soleil : ‡a va faire deux
heures que je suis l……

– Ok, c’‚tait juste comme ‡a… Pour savoir. As-tu trouv‚ quelque
chose? Dit-elle en montrant le sac du doigt.

– Ah? Ca? Une babiole…

– Montre-moi!

Et Annie eut toutes les misŠres du monde … empˆcher son amie de voir le
miroir car elle voulait garder cette d‚couverte pour elle seule.

De retour … la maison, elle se souvint de ce que son amie lui avait dit.
Elle monta dans sa chambre et se regarda longuement dans le miroir. Non, elle
n’avait pas l’air fatigu‚e. Elle ‚tait toujours aussi radieuse.

Elle retourna ensuite le miroir pour admirer plus en d‚tail sa nouvelle
acquisition. Les visages n’‚taient pas seulement grav‚s, ils ‚taient aussi
repouss‚s. Le d‚tail lui avait ‚chapp‚ au premier coup d’oeil. Posant le mi-
roir sur son bureau, elle ressentit tout … coup une vague de fatigue. Elle se
dit que son amie avait peut-ˆtre raison. Le soleil avait tap‚ fort. Peut-
ˆtre ferait-elle mieux de se reposer. Elle se coucha et dormit jusqu’au len-
demain matin.

Elle passa le dimanche chez ses grands-parents qui lui firent gentiment
remarquer qu’elle avait s–rement besoin de repos. Elle n’y porta pas atten-
tion et lundi arriva.

Le lever fut p‚nible, plus que d’habitude. Elle descendit au premier et
mangea un bol de c‚r‚ales. Elle revint dans sa chambre, aprŠs avoir pris une
douche, pour sa s‚ance de maquillage. Elle utilisa son nouveau miroir. Elle
le pr‚f‚rait … son ancien car il renvoyait mieux la lumiŠre. Une fois qu’elle
eut fini, elle retourna la piŠce pour admirer les gravures. Elle parcouru du
doigt les formes repouss‚es et regarda fixement le visage central. Il ‚tait
si beau qu’il semblait vivant!

Elle partit pour l’‚cole ou ses amies lui demandŠrent, les unes aprŠs
les autres, comment elle allait. Elle s’interrogea et s’endormit presque dans
un de ses cours. De retour … la maison, ses parents lui firent la mˆme remar-
que. Elle s’enfuit dans sa chambre et pleura un bon coup. Elle d‚cida d’en
avoir le coeur net. Elle plongea son regard dans son miroir et le d‚tailla
millimŠtre par millimŠtre. Non, non et non! Elle ‚tait tout … fait normale
et sa mine ‚tait radieuse. C’‚tait … n’y rien comprendre! ComplŠtement d‚-
boussol‚e, elle leva la tˆte et croisa son reflet dans la vitre. Elle s’ap-
procha et remarqua qu’elle avait des cernes sous les yeux et qu’elle avait
l’air d’un zombi. Elle se toucha le visage plusieurs fois, ne pouvant accep-
ter le fait que le visage qu’elle voyait ‚tait le sien.

Prise de panique elle saisit du miroir et chercha avidement la moindre
marque, le moindre signe. Son visage ‚tait parfait. Elle sentit alors comme
un courant d’air et la glace se vida de tout reflet. Un instant plus tard,
dans un cri d’horreur, le miroir chuta sur le lit et Annie cessa d’exister,
son visage avait rejoint les autres, maintenant peints, … l’endos du miroir.

Fran‡ois Marquis

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÂÄ¿ Ú¿ ÚÄ¿
³ ³³³ ³
ô ³³³ ÀÄ¿
³ ³Á³ ³
ÁÄÙ Á Á ÀÄÙ

By John Wilson

This document was exported from WP 5.0 and some of the formatting codes
were lost (especially footnotery). Please pardon the occasional anomalies
especially out-of-place “1”s which were originally superscripted (footnote).

MEMORY EXPANSION IN 80×86-BASED COMPUTERS UNDER MS-DOS

prepared by
John Wilson, Hyperdyne, Inc.
Annandale, VA

IN THE BEGINNING …

In the beginning, the was the 8080 microprocessor. The 8080
was, defendably, the “first” microprocessor.1 When the 8080 was
invented, memory for computers was very expensive. The 8080 could
directly address 64 thousand bytes of information, which was a very
great deal in those days. Few systems (or more correctly, few
system owners) could afford to actually place a full 64 K of memory
in their systems. But things changed quickly. The Silicon Valley
guys learned to make transistors smaller and better and it became
much more economically feasible to talk about fully populated 64K
machines. On the software front, things like spreadsheets and word
processors were being invented. These programs were hungry for
memory and the microcomputer user rapidly outgrew the 64K box.

Before going on with the story, a little digression into the
origins of the 64K limit. This limit was the direct result of the
fact that the CPU chip had only 16 address lines. The address
lines are a set of wires coming out of the CPU which allow the CPU
to indicate what item of memory it wants to read or write. In most
computers, the size of the “pieces” are bytes, or 8-bit characters.
These 16 wires are called the Address Bus. The voltages on the 16
address lines are interpreted as a binary number (with the first
pin representing the 1’s place, the second pin representing the 2’s
place, the third pin representing the 4’s place, etc.) the
resultant number is the Address being addressed by the CPU. The
number of distinct patterns of 16 things, each of which can have
two values, is 2 raised to the 16th power, or 65536. This number
is 64 times the quantity “1K” which is 1024. (Early on,
programmers engineers decided to use the “K” as a unit of counting
things like memory because it was a nice power of two and figured
it was close enough to a “real” thousand that nobody would notice).
The point of this story is that the original microprocessors could
only address 64K because of the simple reason that they only had
16 address lines. Why didn’t they just build one with more address
lines? Well its not that simple. Those address lines had to have
circuitry driving them, and other circuitry to actually generate
the 16-bit addresses, and other circuitry to decode the new
instructions that would use more than 16 bits, and so on, and so
on. And this circuitry was made of transistors. And,
unfortunately, the state of the art of chip manufacturing did not
allow chips to be built with many more transistors. So, mankind
waited for the silicon boys to learn how to fit more transistors
on one raisin-sized chip.

Meanwhile, back the ranch, The Intel Corporation, in a stroke
of electromarketing genius took the basic 8080 architecture and
doubled up a small portion of the internal workings of the CPU’s
address circuitry. They basically duplicated the address register
(the transistors that hold the pattern of bits to place on the
address bus), slid it left 4 bits, and added some simple circuitry
to add it arithmetically to the “old” address register. An so was
born the infamous Intel Segment Register. By making this simple
kluge to the 8080, Intel created the 8086 and 8088 microprocessors
which now effectively had TWENTY address lines and could therefore
address 2 to the 20th locations, a little over one million bytes.
This new unit was called a Megabyte even those it was further away
from a million than a “K” was from a thousand, but then again you
bought the “K”, didn’t you? The 20 bit address bus allowed the new
amazing spreadsheets to really do some amazing things. This, in
turn allowed Intel to beat competitor Motorola to the marketplace
(who were expanding the address bus the “right” way in their 68000
family). This in turn led IBM to select the Intel family over
Motorola’s as the basis of their new PC, and the rest is history.

Using the power of the 8088, the Microsoft corporation adapted
the CP/M operating system to the new chip, and, using its new
power, created MS-DOS. Because of a lot of reasons, the 8088 and
MS-DOS took over the world. And everyone was happy. Except …..
the programmers kept getting more bold in the ways they found to
use memory, and the users wanted still BIGGER spreadsheets, and
started playing with things like CAD/CAM, DBMSs, Artificial
intelligence, desktop publishing, etc, all of which had insatiable
appetites for memory. The silicon boys kept up with the hunger by
developing bigger and better CPUs, the 80286, 80386, 80486 etc.).
These 80286 had a 24-bit address bus and could therefore address
16 MB of memory directly. No one could possibly want to put that
much actual memory in a PC, right? In a pre-emptive first strike,
they also created 80386 which had a 32-bit address bus and could
therefore address 2 to the 32 bytes or over 4 billion
bytes! (Pow! Bam! Take THAT, Power User). The day had finally
come when the CPUs sitting on desktops could finally address more
memory than anyone could afford to buy.
———–
1 Yes, there was an 8008, and a 4004 before that, but their only,
surviving significance today is that they were the predecessors of
the 8080.
———-

End of problem, right? Wrong. Unfortunately, there were
millions and millions of the 20-bit machines out there now (in the
mid-1980’s). Probably more significantly there were hundreds of
millions of dollars invested in MS-DOS software that did not know
how to use the new 32-bit instructions and capabilities.
Especially MS-DOS. (Unix and OS/2 and a number of other less well-
known operating environments do use the 32-bit mode, but MS-DOS was
still king). Because Intel wanted to sell more than 3 of these new
chips, they wisely decided to build “modes” into the new chips to
make them compatible with MS-DOS. A Mode is essentially a switch,
inside the CPU that turns it into another chip, insofar a all
logical functionality is concerned. So when you’re running MS-DOS
on your shiny new 386 or 486, you’re still running with only 20
bits of address and consequently a 1 MB address space. This mode
is called real mode and the lower 1 MB of addressable memory in
real mode is called conventional memory.

The solution? EMS or Expanded Memory Specification.

EXPANDED MEMORY

Expanded memory is a way to allow more than 1 MB of memory to
be used by MS-DOS applications. How can this be? The CPU can only
address 1 million different addresses; how can I have more than
one MB in my PC? The answer is that the CPU re-uses the same
address to get to more than one byte of data. It does this by
allowing any one address to actually be used to reference several,
distinct, physically different storage locations – but only one at
a time, of course.

EMS memory usually resides on special “EMS cards”, like the
AST “RAMPage”. (I say usually because there are some clever ways
of implementing EMS on 80286 and 80386 machines that don’t use
“special” EMS cards; this is discussed later in the section
entitled “Software Approaches to EMS”). The EMS card has memory
chips on it just like regular system memory cards. The difference
is that the memory chips on the card are not connected directly to
the CPUs address bus. These chips are actually wired to another
address bus, totally contained on the card, that has more than 20
address bits, usually 24 or so. Where do these extra address bits
come from? Well some of them are just passed-through systems
address bits. The rest come from special storage locations onboard
the EMS card, called page registers. How are these page registers
loaded? These registers are themselves directly addressable by the
CPU. To access a byte of data in EMS memory, the CPU first loads
the page register (itself simply another location accessible by the
CPU) and then makes a normal memory reference. Some of the bits
come from the address bus, and the rest come from the bits
previously squirreled away in the page registers. Thus, it can be
seen that a given address on the regular CPUs address bus forms
only part of the address needed to select a particular byte of
memory on the EMS card. To uniquely identify a byte, you need to
specify the regular address plus the contents of the page register.
It follows that one CPU address can correspond to several EMS
memory locations, each of which differs only by the contents of the
page register. The CPU can thus access more than 1 MB of memory
on the EMS card by using its normal address bus augmented by the
page registers.

HOW IT ALL FITS TOGETHER

In the early versions of EMS, all EMS memory was mapped to
appear to be in a special address range in the range of all
possible addresses accessible by the CPU. This was usually at
addresses between D0000 and DFFFF (in hexadecimal notation). This
includes exactly 64KB possible addresses. This area of address
space is called the Page Frame, an analogy to a frame around a
picture. The page frame is logically divided into 4 16KB “pages”.1
When we say that the EMS memory is “mapped” into this range, what
we mean is that the EMS card does not respond to any addresses
outside this range. When an address is placed on the address bus
———-
1 For the sake of simplicity in the following discussion, the
multi-page nature of the page frame will not be mentioned further.
The explanations apply to each page within the page frame
individually. It should also be noted that, strictly speaking, the
4-page, 64 KB page frame applies only to EMS versions 3.2 and
earlier. In EMS 4.0+, the page frame is not limited to just 4
pages and can, in fact, be all or partially located within the 640
KB address range normally occupied by conventional RAM. This
feature is used by various multitasking overlays to DOS, such as
Desqview, which actually allow program code to be paged in and out.
———-
Outside this range, the EMS board remains totally passive, just
like it was not plugged in at all. When the CPU asserts an address
within this range, the EMS board comes to life and responds like
regular memory. When the CPU references the EMS address space, the
CPUs address bits are used along with the page register bits to
actually specify which EMS byte to access. The net effect is to
make the EMS card memory appear as a series of “banks” which can
be made (one at a time) to masquerade as “real” system memory at
a certain address in the range D0000-DFFFF hex. These banks are
called EMS pages. Within each page, the practically any byte
addressed is selected by the system address bus bits that were
passed through by the EMS circuitry. The particular page selected
is determined by what value was previously written into the EMS
page registers. All the physical EMS memory locations that respond
to a common value in the page registers are said to be in the same
page. That is, once that special value is loaded into the page
register, any of those locations can be accessed by the CPU using
normal memory read/write instructions. If another value is loaded
into the page registers, a totally different set of EMS memory
bytes (i.e, physically different transistors) are made to respond
to the same CPU addresses as before.

The model that this behavior suggests is that the EMS memory,
divided up into 16K pages, exists out in limbo somewhere, and is
unable to be addressed by the CPU in any way. The CPU can however
invoke the right magic to instantaneously plug any one of these
disembodied pages right into its addressable memory space. The
magic consists of loading the Holy Page Register. The CPU can,
with equal ease, banish that same page back into limbo, by putting
a different value in the page registers. The thing that makes this
magic useful is that, any data stored in an EMS page is faultlessly
remembered even after it has been banished to zombie land. And,
furthermore, that data can be read by the CPU just by remapping it
into the address space.

This means that an MS-DOS program can juggle megabytes of
memory resident data using just 20 address bits in good old 8088
real mode. Of course at any one given instant, most of that data
is in zombie land, but no matter, it can be called back from the
netherworld with a simple, hardware-assisted incantation in
microseconds.

EMS MEMORY MANAGERS OR DRIVERS

Each manufacturer of an EMS board is free to actually design
the actual circuitry of his EMS board to suit his whim, his
engineers, and his marketing plan. Most boards are different in
a real, physical way from one another. The magic incantations
necessary to shuffle EMS pages between here and Hoboken is
different for each one. Does each application program need to know
which particular brand/model of board is plugged in and what its
religion is? Fortunately not. Enter the Enhanced Memory
Specification. EMS is a specification of a standardized way that
applications interact with EMS hardware. This interaction is via
the software interrupt feature of the 8088/MS-DOS. All
applications that wish to use EMS memory call interrupt 67H the
same way with the same arguments, no matter who made the board.
When the interrupt is issued, control passes to the memory resident
EMS management software, usually called either an EMS memory
manager or EMS driver (same thing). This piece of software is
unique to each brand of board and is normally supplied by the
boards vendor. It is the express purpose of this piece of software
to turn the standard EMS invocation arguments into the particular
set of hardware incantations understood by the board. Beware
mixing boards and drivers from different sources! This may work
in rare circumstances but will eventually lead to consumption of
excessive amounts of alcoholic beverages.

EXTENDED MEMORY

OK. Now we know how EMS works: it expands a selected 64KB-
sized range of addresses in the CPUs address space to several
megabytes by paging-in one chunk at a time. But what about
“Extended Memory”?. Actually extended memory is a much simpler
concept. Remember those unused address lines in the 80286 and
80386? (MS-DOS and other real-mode applications only use the first
20 of the 80286’s 24 and the 80386’s 32). They were not put there
for decoration. The CPU can be put in Protected Mode and can then
use those extra address lines to address megabytes and megabytes
of memory without needing the help of the special EMS hardware like
page registers and private (EMS-card) address busses. In protected
mode, the CPU can address all physical memory in the same, natural
way. In fact, the one megabyte boundary loses all significance,
except for the painful memory of what it used to be like back in
that awful 20-bit real mode. Extended memory is thus just like
conventional memory, just extended up to higher addresses. The
down side is, of course, that MS-DOS does not know how to switch
into protected mode, and wouldn’t know what to do there if it did.
Rectifying this shortcoming, and all its implications, is the sole
reason for OS/2.

SOFTWARE APPROACHES TO EMS IMPLEMENTATION

The discussion of EMS so far has talked exclusively about
hardware approaches to EMS. In the 8088, hardware must be employed
to supplement the deficiencies of that chip. In the 80286 and
80386, however, there are software-only methods to give the same
functionality as EMS hardware. Both approaches use extended memory
for the storage of EMS page data.

In the 80286, EMS memory contents are brought into the 1 MB,
conventionally-addressable range by physically copying 16 KB blocks
of memory to and from extended memory. The EMS “page” that the
application program sees is actually a block of conventional memory
that has been filled with the contents of a block of extended
memory. The copying is done by a piece of software known as an
EMS Emulator (driver) which is usually loaded like other DOS device
drivers in CONFIG.SYS. Note that to access the extended memory,
the EMS Driver must switch into protected mode, copy the data, then
hightail it back into real-mode to keep DOS happy. The extended
memory blocks, in this scheme, are emulating a block of memory that
would normally be physically resident on the EMS card. Note that
these are not really “paged”-in in the same sense as true EMS
pages, nor is there any “mapping” going on. All physical memory
contents retain their actual addresses as far as the CPU is
concerned, only there contents are copied back and forth.

The advantage of this scheme is that EMS functionality can be
achieved in machines without actual EMS hardware. A disadvantage
of this scheme is its performance. Whole 16K blocks must be moved
to access a new page (which takes milliseconds), in contrast to
“true” EMS where just a page register must be loaded (which takes
microseconds). Another disadvantage is the fact that some precious
conventional memory is consumed by the emulated page frame.

In the 80386, the solution is much more elegant. In true EMS,
the contents of the page registers can be thought of as a memory-
mapping table. That is, the contents of the page register, in
essence, point to a particular block of EMS-card-sically rmemory –
change the page register contents and a new physical page shows
up in the page frame. The 386 was designed for operating systems
much more sophisticated than MS-DOS; these operating systems take
for granted the presence of memory mapping capability. The 80386
has, in fact, an internal memory mapping facility much more
sophisticated than the crude, bank-oriented page registers of an
EMS card. The 386’s memory management unit allows any arbitrary-
sized chunk of physical memory to be mapped to anywhere in the
address space, including the lower 1 MB. And, most importantly,
to the address were an EMS-aware application expects to find the
page frame and the EMS pages contained therein. With the 80386,
hardware within the CPU performs the mapping previously done by EMS
hardware. Programming of the CPUs mapping registers is performed
by a device driver usually known as an Expanded Memory Manager.
Memory managers are written to run on the (standard) 80386 and not
some particular vendor’s EMS hardware. This allows third-party
vendors to produce EMS emulators for any 80386. Examples are
“QEMM-386” by Quarterdeck Systems and “386-to-the-Max” by Qualitas.

Finally, there is one more software approach to EMS that can
be used with any machine. That approach is called Virtual EMS and
employs a system’s hard disk as storage for EMS pages. A device
driver intercepts EMS calls in much the same way as the approach
described above for the 80286, except that copying is done between
a page frame in conventional memory, and sectors of your hard disk.
This is a clever approach, and allows EMS memory to be much greater
than the amount of memory in your machine, but, because disk is
thousands of times slower than semiconductor memory, this approach
should only be used by the terminally desperate.

APPENDIX – SUMMARY FOR USERS

EMS is the specification of a software technique for making
more than 640 KB (the normal DOS limit) available to your programs.
Put simply, EMS reserves a block of memory space in your PC and
allows a block of RAM (usually resident on an EMS card) to be
switched into that address range. There are generally many
identical blocks of RAM present on the EMS card, each and any one
of which can be “plugged” in — only one at a time. Your CPU can
use one of these blocks to store data in, and then switch in
another block, store data in that, switch in yet another block, and
so on, and so on. Later, the CPU can recall these blocks in the
same or different order and read back the original data. In many
ways, this performs the same function as your system’s disk —
except that it’s all done in solid-state memory and is thousands
of times faster.

There are four approaches to actually implementing EMS,
depending to some extent, on what type of machine you have. These
approaches are:

– an EMS memory card (like the AST “Rampage”) [any DOS
computer, but usually 8088s or 80286s]

– an EMS emulator [80286 or 80386, but usually only
on 80286’s]

– an Extended Memory Manager [386 only] (for example
Quarterdeck System’s “QEMM-386 or Qualitas’s “386-
to-the-Max” )

– a Virtual Memory Manager [any DOS machine]

An EMS memory card is more than just a memory expansion card:
it contains special circuitry to perform the bank-switching
operation discussed above. To use an EMS card, you will have to
perform two steps:
(1) Configure the EMS card hardware to match your computer’s
configuration and (2) install a special EMS card driver for the
board in your CONFIG.SYS file. Details and procedures differ for
different makes and models of EMS cards. Consult your EMS card’s
users manual for instructions. Note that drivers are usually card-
specific; you cannot, in general, use Vendor A’s driver with Vendor
B’s card.

Not all “memory” expansion cards are EMS cards. There is
another type of memory called extended memory which is used by
other operating systems such as OS/2 and Unix. It is also used by
a few DOS utilities, most notably IBM’s VDISK RAM disk emulator.
If your computer is advertised as having more than 640 KB of memory
installed, it’s a good bet that it’s extended memory and not EMS
memory. Few applications can use extended memory, although by using a
software technique which will be discussed in a moment, extended
memory can be made to serve as EMS memory. Before deciding on an
EMS strategy, determine the type of memory your computer already
has installed. Be forewarned: IBM, as usual, has a different name
for extended memory (like everything else). They call it (you
guessed it) expanded memory. So, if you bought it from IBM, and
it’s called expanded memory, it’s extended memory. Everyone else
pretty much sticks to standard nomenclature but to be sure, look
for the phrase “EMS x.x compliant” in the documentation, where x.x
is usually a number like 3.2 or 4.0.
———-
1 The ‘S’ in EMS stands for “Specification”. EMS is not a
particular way to build EMS memory, rather, it is the specification
of a software interface to it. Different vendors can, and do,
implement EMS differently. What is the same, however, is the way
that applications programs interface to this memory.
———-
Many EMS cards allow the memory contained on them to be
configured as all EMS memory, all extended memory, or a mixture.
If you use VDISK or any other special programs that use extended
memory, you may wish to reserve part of the board’s memory for use
as extended memory. Otherwise, there’s really no good reason for
not configuring all of your memory as EMS. (Note that EMS boards
are generally more expensive than “plain” extended memory boards
because of the additional circuitry required). Consult your
board’s users manual for the proper switch settings or software
settings to give the mix you desire. EMS cards can be used in any
machine, but are usually found in 8088s and 80286s because there
is a better and cheaper way to go in 80386s as will be discussed
below.

EMS EMULATORS

A less common approach to implementing EMS in your computer
is a EMS Emulator. This is a software-only approach that requires
no special hardware to use. It essentially turns extended memory
into expanded memory. Unfortunately, there is a price for this
magic – performance. Because extended memory lacks the special
hardware to switch its address like the blocks of memory on an EMS
card, this software must copy whole blocks of data (16 KB’s worth)
back and forth between your program and extended memory every time
a new block is required — even if it’s just to read a single byte.
Depending on the nature of the program, this can be a few times
slower or hundreds of times slower than “true” EMS.
This is not a recommended solution for
that reason, however, if necessary, it can be used. This approach
can only be used on 80286 and 80386 machines which have extended
memory. Machines based on the 8088 (like the original PC and XT)
cannot accommodate extended memory. On the 80386, a much better
solution is described below.

EXTENDED MEMORY MANAGERS

Built into every 80386 is a special capability that can be
used to do an excellent job of providing EMS memory without the use
of EMS hardware. This facility is called the paging unit or Memory
Management Unit (MMU). The MMU consists of circuitry very much
like the switching circuitry onboard EMS cards, except much more
sophisticated. It was actually included for use by advanced
operating systems but can be used quite nicely to emulate EMS in
80386-based DOS machines. The MMU, like the EMS emulators, can
turn extended memory into expanded memory through software-only
means. Unlike those emulators, the MMU, in conjunction with a
piece of software known as an Extended Memory Manager (EMM), does
not suffer any performance penalty. In fact, it is usually faster
than true EMS cards because: the circuitry is onboard the CPU chip;
the 80386 is faster than lower-class machines that usually use EMS
cards; and the extended memory used is often fast, 32-bit system
memory rather than card-based memory which is slowed down by the
relatively slow I/O bus. On 80386 systems, this is definitely the
way to go. Excellent EMMs include “386-to-the-Max” by Qualitas,
Inc., and “QEMM-386” by Quarterdeck systems, Inc.. To use these
EMMs, you need to install them in your CONFIG.SYS file. Like the
EMS cards, you will have to configure them to partition your
available system memory between extended and expanded memory.
Consult the users manual for the package you are using.

VIRTUAL MEMORY MANAGERS

Virtual Memory Managers are another software-only approach to
EMS. These function almost identically to the EMS emulators
discussed above, except that they use the system disk rather than
extended memory as the storage medium for blocks of memory copied
out of your program. As you can imagine, this is excruciatingly
s-l-o-w. Use this approach only as a last resort.

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

MicroMensuel Montr‚al
(514)342-4262 1:167/160
Benjamin Leblanc

À propos de ymartin

YMartin.com / ve2ymm.com
Cette entrée a été publié dans BBS. Ajoutez en favoris avec ce permalien.

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire le pourriel. En savoir plus sur comment les données de vos commentaires sont utilisées.