Projet
MonsterBook

Par
Les Chevaliers de Malte

Date de création:
1990 (Alpha MalteBook)
1994 (Bêta MonsterBook)

Auteur/Concepteur/Programmeur du projet:
Sylvain Maltais

Table des matières

Table des matières
1. Manifeste du Projet	5
Le traitement de texte	9
Le chiffrier électronique (tableur)	9
Le programme de dessin bitmap	14
Le programme de dessin technique	15
La base de données	15
Le gestionnaire de fichiers	15
Le gestionnaire de programmes	16
Les applications terminal	18
Les outils de programmeurs	21
Les accessoires supplémentaires	22
La sécurité	22
L'environnement	23
2. Spécifications technique	25
Système d'exploitation	26
Noyau	27
Ressources	27
Système de compatibilité	29
Lancement	29
Environnement système	35
Environnement des périphériques	37
Gestionnaire de fichiers	42
Environnement graphique	43
Traitement de texte	45
L'instruction PageFormat	50
Les instructions Put et PutLn	50
Chiffrier électronique (tableur)	50
Programme de dessin technique	51
Applications terminal	52
Outils programmeurs	52
Gestionnaire de programmes	54
Navigateur HTML (Gestionnaire de programmes)	54
Accessoires supplémentaires	55
3. Programmation du projet	56
Les routines de détection	57
Détection du CMOS	60
Les fichiers	61
ShortBF	61
Les polices de caractères	62
Les pays et les régions	62
Les bases de données	67
Le traitement de texte	67
Le tableur	72
Annexe A: Les abréviations interne de programmation du projet	79
Annexe B: Les répertoires attribués au projet	83
Annexe C: Les répertoires des bases de données	85
Annexe D: Les principaux  fichiers de code sources	87
Annexe E: Structures des fichiers	89
Base de données serveur de format Mentronix	89
Table de base de données de format Mentronix	90
Structure d'un fichier dBase III+	91
Base de registres de format Malte Genesis IV: Chantal	92
Document de format GAT	93
Document de format Premier Choix (First Choice)	94
Structure d'un fichier tableur MGC	95
Définition d'une cellule vide	95
Définition d'une cellule à valeur numérique	96
Définition d'une cellule texte	96
Définition d'une cellule de formule	97
Définition d'une cellule de formule avec décimal	97
Structure d'un fichier image BGX (Bitmap Genesis graphiX) 	98
Structure d'un fichier image Bitmap Windows	98
Structure d'une image d'impression GPX	99
Structure d'un fichier image Gem/Img Ventura	99
Structure d'un fichier image LBM	100
Structure d'un fichier d'image Targa	101
Structure d'un fichier d'image GIF	102
Annexe F : Code d'erreurs	104
Erreur de compilateur	111
Erreur de format	114
Erreur de compression du format de fichier ZIP	114
Erreur interface	115
Erreur d'installation d'interface	116
Erreur d'appel d'application externe	116
Erreur application	116
Index	118

 

Chapitre 1
Manifeste du Projet

1. Manifeste du Projet

Étant jeune, je lisais des bandes dessinés comme Astérix. Je trouvais ces personnages rigolos et amusant face à un envahisseur roman. Ils refusaient toujours de faire partie de l'empire Roman quoi qu'il arrive et ils trouvaient immanquablement une solution afin de se sortir de leur mauvais pas. De la même manière, je me voyais confronter à quelques choses dont je n'avais pas réaliser l'ampleur à cette époque: Le monde fabrique tout en anglais. Les romans d'autrefois sont maintenant les anglais d'aujourd'hui! Ainsi, se manifeste fut tout d'abord une cause désespérée afin de renverser ce problème. Bien qu'il n'y a pas encore arriver a être développer entièrement en français, mais dans ses instructions du code source à 100%, il est d'abord développer en français.
Ensuite nous nous rendâmes compte qu'un point s'incrustait de plus en plus dans le domaine de l'informatique. A l'image exacte du mari de madame Bauvary, une médiocrité très profonde s'installa de plus en plus. L'impérialisme anglais, n'est pas le seul empire dont ce manifeste tant à braver, il y a en plus celui d'un système travaillant contre son utilisateur: truffer de “bug”, éloignant toujours plus les utilisateurs de son noyau (désinformant), gros, lent, inefficace, partie manquante, sans ressource de réparation,...
Ayant pour base toutes les raisons cité plus haut, ce projet a donc pour but d'offrir un ensemble complet permettant l'exploitation total de la machine sans passer par aucune autre application, logiciel, progiciel ou système d'exploitation existant. Il pourra cependant fonctionner sous un système d'exploitation compatible au DOS ou sans lui. La machine requise pour faire fonctionner ce projet devra être n'importe quel micro-ordinateur basé sur un processeur de la famille 8086.

Le projet sera essentiellement divisée en trois parties: soit un noyau système d'exploitation, un environnement graphique et la partie des applications. Ceux-ci seront particulièrement fusionner et mélanger et/ou spécifiquement les deux derniers juste nommée.

Base de données globale Mentronix
Noyau
Système d’exploitation

	MonsterBook
Environnement graphique

Application
Caméléon

Premièrement, on retrouvera donc un noyau offrant des possibilités comparable à un système d'exploitation DOS. Donc essentiellement centrer sur des possibilités de gestion des fichiers et de la mémoire. Ceux-ci étant naturellement disponible comme base a partir du DR-DOS, FreeDos,  MS-DOS 2.0 ou postérieur,  Windows 3.1, 3.11, 95, 98, 98SE, Me, NT et 2000, OS/2 et DOSEmu de Linux. Ce noyau offrira la possibilité de démarrer à partir d'une partition primaire ou logique, aussi bien sur une FAT12, FAT16, FAT32 ou HPFS. Le noyau devra charger les routines appropriés correspondant à la capacité du microprocesseur, ainsi il devra charger des routines de transfert et d'effacement de 32 bits si un CPU 80386 ou postérieur est installé, et une simple routine 8 bits dans le cas d'un CPU 8088.
Deuxièmement, l'environnement graphique sera tant qu'à elle une application complète de format exécutable. On retrouvera à ce niveau la plus grande partie du projet le MonsterBook à proprement parler. Celui-ci offrir une grande flexibilité d'environnement, c'est-à-dire qu'il pourra prendre la forme d'un bureau Windows 9X, OS/2 Warp 3 ou 4, StarOffice, Linux, Amiga,... 
Le fonctionnement de l'environnement graphique du MonsterBook sera de son côté en liaison constante avec une base de données global fournissant des informations de conformité au matériel, aux possibilités particulières de l'application et aux ajouts éventuel a être intégrer au noyau. Ce compromis quoi habituellement très onéreux en terme d'espace disque devra être orientée de façon particulière afin de ne pas être un confronter à une application de 500 Ko brancher sur une base de données de 20 Mo. Elle devra donc être optimiser au niveau de l'espace et offrir des supports important au niveau des enregistrements de taille irrégulière.
Et enfin troisièmement, les applications seront de leurs côtés totalement intégrer à l'environnement graphique au niveau de l'exécutable de programme mais toutefois écrit de façon particulière à l'intérieur de celui-ci. En fait, ils seront gérer sur un concept de recouvrement (overlay) et ne seront donc pas charger automatiquement en mémoire, ceci afin d'économiser le temps de démarrage sur les machines très lentes.
Les applications seront regrouper sous les catégories suivantes: traitement de texte (comprenant toutes les applications possible pouvant être effectuer avec du texte, aussi bien le code source, éditeur HTML, éditeur de mise en forme,...), le gestionnaire de fichiers, le chiffrier électronique (tableur), base de données (avec support de langage SQL-92), application terminal (prompt DOS, shell Unix, VAX,...), programme de dessin bitmap et programme de dessin technique, gestionnaire de programmes (comprenant naturellement le panneau de configuration et le menu déroulant à la Windows 9X sans oublier la fenêtre de dossier de répertoire à l'explorateur), système de son.
On pourra à l'aide de l'environnement graphique lancer des clones d'application existante, comme par exemple au lieu du Norton Commander, on lancera Clone Commander, une copie pratiquement conforme de celui-ci. Ainsi, on pourra lancer également un CuteHTML reprenant les critères du programme de même nom! Il ne s'agira pas d'application complètement reprogrammer à l'intérieur du MonsterBook mais plutôt d'une application interne existante avec des paramètres adaptable au besoin pour atteindre l'apparence de ceux-ci. De cette façon, l'application principal ne grossira pas vraiment et ne dépaysera pas trop l'utilisateur pour autant!

Le traitement de texte
Le traitement de texte devra s'adapter aux nombreuses situations. Tout d'abord, il devra offrir la possibilité d'un filtre d'entrée pour le chargement d'information de format concurrent (Premier Choix, Professionnal Write, RTF, HTML, Word,...), d'un filtre de sortie pour la sauvegarde dans un format de fichier étranger et en plus un filtre interne visant à offrir la conversion de type de police de caractère de format ANSI par exemple à ASCII. En plus, il devra être capable de lire et d'éditer les codes sources Ada, Assembleur, Basic, C/C++, Cobol, Euphoria, Fortran, Java, Pascal, PL/1, SQL et de les afficher en mode typer. A se niveau, on devra donc intégrer des propriétés pour obtenir des applications comparables à Netscape Composer renommer Clone Composer, CuteHTML, Word Perfect, Microsoft Office.
Étant donnée le trop grand nombre d'espace consommer par un simple plan d'électronique mais pourtant avec son nombre réduit de caractère spéciaux, il faudra ajouter un support de police de caractères supplémentaire permettant l'édition de ceux-ci à l'intérieur d'un traitement de texte sans toutefois que le traitement de texte se laisse transparaître par sa forme...
Un système de base de données de mots devra servir d'outil de base à des mécanismes de correction ou de dictionnaire.
Il faudra aussi offrir la possibilité d'intégrer un mot de passe à un document afin de protéger certains document juger secret ou personnel.

Le chiffrier électronique (tableur)
Le chiffrier électronique aussi connu sous le nom de tableur devra offrir la possibilité de manipuler des chiffres sous toutes ses formes possibles, il devra également être muni de possibilitées supplémentaires lui donnant accès a de la compréhension des chaînes de caractères pour effectuer des estimations à partir de ceux-ci en autre. Il devra bien entendu offrir un support de formule compatible à Lotus 1-2-3, Quattro Pro ou Excel. Voici donc les différentes formules supportées:
Fonction	Paramètres	Compatibilité	
@ABS	N	Quattro Pro, Lotus 1-2-3	
@ACOS	N	Quattro Pro, Lotus 1-2-3	
@ACTUEL		Quattro Pro, Lotus 1-2-3	
@ALEAT		Quattro Pro, Lotus 1-2-3	
@AMORANN	N,N,N,N	Quattro Pro, Lotus 1-2-3	
@AMORDEG	N,N,N,N	Quattro Pro, Lotus 1-2-3	
@AMORLIN	N,N,N	Quattro Pro, Lotus 1-2-3	
@AMORT	N,C	Quattro Pro, Lotus 1-2-3	
@ANNEE	N	Quattro Pro, Lotus 1-2-3	
@ARRONDI	N,N	Quattro Pro, Lotus 1-2-3	
@ASIN	N	Quattro Pro, Lotus 1-2-3	
@ATAN	N	Quattro Pro, Lotus 1-2-3	
@ATAN2	N,N	Quattro Pro, Lotus 1-2-3	
@AUJOURDHUI		Quattro Pro, Lotus 1-2-3	
@BCOMPTE	C,N,C	Quattro Pro, Lotus 1-2-3	
@BMAX	C,N,C	Quattro Pro, Lotus 1-2-3	
@BMIN	C,N,C	Quattro Pro, Lotus 1-2-3	
@BMOYENNE	C,N,C	Quattro Pro, Lotus 1-2-3	
@BSOMME	C,N,C	Quattro Pro, Lotus 1-2-3	
@BSTD	C,N,C	Quattro Pro, Lotus 1-2-3	
@BSTDS	C,N,C	Quattro Pro, Lotus 1-2-3	
@BVAR	C,N,C	Quattro Pro, Lotus 1-2-3	
@BVARS	C,N,C	Quattro Pro, Lotus 1-2-3	
@C	C	Quattro Pro, Lotus 1-2-3	
@CAR	N	Quattro Pro, Lotus 1-2-3	
@CELLINDEX	S,C,N,N	Quattro Pro, Lotus 1-2-3	
@CELL	S,C	Quattro Pro, Lotus 1-2-3	
@CELLPOINTER	S	Quattro Pro, Lotus 1-2-3	
@CELLULE	S,C	Quattro Pro, Lotus 1-2-3	
@CHAINE	N,N	Quattro Pro, Lotus 1-2-3	
@CHAR	N	Quattro Pro, Lotus 1-2-3	
@CHERCHE	S,S,N	Quattro Pro, Lotus 1-2-3	
@CHOIX	N,V	Quattro Pro, Lotus 1-2-3	
@CHOOSE	N,V	Quattro Pro, Lotus 1-2-3	
@CLEAN		Quattro Pro, Lotus 1-2-3	
@CODE	S	Quattro Pro, Lotus 1-2-3	
@COL	C	Quattro Pro, Lotus 1-2-3	
@COLS	C	Quattro Pro, Lotus 1-2-3	
@COMPTE	C	Quattro Pro, Lotus 1-2-3	
@CONSH	N,C,N	Quattro Pro, Lotus 1-2-3	
@CONSV	N,C,N	Quattro Pro, Lotus 1-2-3	
@COS	N	Quattro Pro, Lotus 1-2-3	
@COSH	N	Lotus 1-2-3	
@COUNT	C	Quattro Pro, Lotus 1-2-3	
@CTERM	N,N,N	Quattro Pro, Lotus 1-2-3	
@CURVALUE	S,S	Quattro Pro, Lotus 1-2-3	
@DATE	N,N,N	Quattro Pro, Lotus 1-2-3	
@DATEVALUE	V	Quattro Pro, Lotus 1-2-3	
@DATVAL	V	Quattro Pro, Lotus 1-2-3	
@DAVG	CNC	Quattro Pro, Lotus 1-2-3	
@DAY	N	Quattro Pro, Lotus 1-2-3	
@DCOUNT	CNC	Quattro Pro, Lotus 1-2-3	
@DDB	NNNN	Quattro Pro, Lotus 1-2-3	
@DEBUT	SN	Quattro Pro, Lotus 1-2-3	
@DEG	N	Quattro Pro, Lotus 1-2-3	
@DEGREES	N	Quattro Pro, Lotus 1-2-3	
@DSUM	C,N,C	Quattro Pro, Lotus 1-2-3	
@DVAR	C,N,C	Quattro Pro, Lotus 1-2-3	
@DUREE	N,N,N	Quattro Pro, Lotus 1-2-3	
@DUREECOMP	N,N,N	Quattro Pro, Lotus 1-2-3	
@EGAL	SS	Quattro Pro, Lotus 1-2-3	
@ENT	N	Quattro Pro, Lotus 1-2-3	
@EPURE	S	Quattro Pro, Lotus 1-2-3	
@ERR		Quattro Pro, Lotus 1-2-3	
@ESTCHAINE	V	Quattro Pro, Lotus 1-2-3	
@ESTERR	V	Quattro Pro, Lotus 1-2-3	
@ESTND	V	Quattro Pro, Lotus 1-2-3	
@ESTNUM	V	Quattro Pro, Lotus 1-2-3	
@EXP	N	Quattro Pro, Lotus 1-2-3	
@FALSE		Quattro Pro, Lotus 1-2-3	
@FAUX		Quattro Pro, Lotus 1-2-3	
@FICHIEREXISTE	S	Quattro Pro, Lotus 1-2-3	
@FILEEXISTS	S	Quattro Pro, Lotus 1-2-3	
@FIN	S,N	Quattro Pro, Lotus 1-2-3	
@FIND	S,S,N	Quattro Pro, Lotus 1-2-3	
@FV	N,N,N	Quattro Pro, Lotus 1-2-3	
@FVAL	N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@HEURE	V	Quattro Pro, Lotus 1-2-3	
@HEURVAL	V	Quattro Pro, Lotus 1-2-3	
@HEXANUM	S	Quattro Pro, Lotus 1-2-3	
@HEXTONUM	S	Quattro Pro, Lotus 1-2-3	
@HLOOKUP	N,C,N	Quattro Pro, Lotus 1-2-3	
@HOUR	V	Quattro Pro, Lotus 1-2-3	
@IF	B,V,V	Quattro Pro, Lotus 1-2-3	
@INDEX	C,N,N	Quattro Pro, Lotus 1-2-3	
@INT	N	Quattro Pro, Lotus 1-2-3	
@INTERET	N,N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@IPAYMT	N,N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@IRATE	N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@IRR	N,C	Quattro Pro, Lotus 1-2-3	
@ISAAF	S	Quattro Pro, Lotus 1-2-3	
@ISAPP	S	Quattro Pro, Lotus 1-2-3	
@ISERR	V	Quattro Pro, Lotus 1-2-3	
@ISNA	V	Quattro Pro, Lotus 1-2-3	
@ISNUMBER	V	Quattro Pro, Lotus 1-2-3	
@ISSTRING	V	Quattro Pro, Lotus 1-2-3	
@JOUR	N	Quattro Pro, Lotus 1-2-3	
@LEFT	S,N	Quattro Pro, Lotus 1-2-3	
@LENGTH	S	Quattro Pro, Lotus 1-2-3	
@LIGNES	C	Quattro Pro, Lotus 1-2-3	
@LN	N	Quattro Pro, Lotus 1-2-3	
@LOG	N	Quattro Pro, Lotus 1-2-3	
@LONG	S	Quattro Pro, Lotus 1-2-3	
@LOWER	S	Quattro Pro, Lotus 1-2-3	
@MAJUSC	S	Quattro Pro, Lotus 1-2-3	
@MAX	C	Quattro Pro, Lotus 1-2-3	
@MEMAVAIL		Quattro Pro, Lotus 1-2-3	
@MEMDISPO		Quattro Pro, Lotus 1-2-3	
@MEMMEMSAVAIL		Quattro Pro, Lotus 1-2-3	
@MEMMEMSDISPO		Quattro Pro, Lotus 1-2-3	
@MID	S,N,N	Quattro Pro, Lotus 1-2-3	
@MILIEU	S,N,N	Quattro Pro, Lotus 1-2-3	
@MIN	C	Quattro Pro, Lotus 1-2-3	
@MINUSC	S	Quattro Pro, Lotus 1-2-3	
@MINUTE	N	Quattro Pro, Lotus 1-2-3	
@MOD	NN	Quattro Pro, Lotus 1-2-3	
@MOIS	N	Quattro Pro, Lotus 1-2-3	
@MOYENNE	C	Quattro Pro, Lotus 1-2-3	
@N	C	Quattro Pro, Lotus 1-2-3	
@NA		Quattro Pro, Lotus 1-2-3	
@ND		Quattro Pro, Lotus 1-2-3	
@NOMPROPRE	S	Quattro Pro, Lotus 1-2-3	
@NOW		Quattro Pro, Lotus 1-2-3	
@NPER	NNNNN	Quattro Pro, Lotus 1-2-3	
@NPV	NCN	Quattro Pro, Lotus 1-2-3	
@NUMAHEX	S	Quattro Pro, Lotus 1-2-3	
@NUMTOHEX	S	Quattro Pro, Lotus 1-2-3	
@PI		Quattro Pro, Lotus 1-2-3	
@PMT		Quattro Pro, Lotus 1-2-3	
@POINTCELL	S	Quattro Pro, Lotus 1-2-3	
@PPAYMT	N,N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@PRINCIPAL	N,N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@PRODSCAL	C,C	Quattro Pro, Lotus 1-2-3	
@PROPER	S	Quattro Pro, Lotus 1-2-3	
@PV		Quattro Pro, Lotus 1-2-3	
@PVAL	N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@RACINE	N	Quattro Pro, Lotus 1-2-3	
@RAD	N	Quattro Pro, Lotus 1-2-3	
@RADIANS	N	Quattro Pro, Lotus 1-2-3	
@RATE	N,N,N	Quattro Pro, Lotus 1-2-3	
@REMB	N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@REMBOUR	N,N,N	Quattro Pro, Lotus 1-2-3	
@REPEAT	S,N	Quattro Pro, Lotus 1-2-3	
@REPETE	S,N	Quattro Pro, Lotus 1-2-3	
@REPLACE	S,N,N,S	Quattro Pro, Lotus 1-2-3	
@RIGHT	S,N	Quattro Pro, Lotus 1-2-3	
@ROUND	N	Quattro Pro, Lotus 1-2-3	
@ROWS	C	Quattro Pro, Lotus 1-2-3	
@S	C	Quattro Pro, Lotus 1-2-3	
@SECOND	N	Quattro Pro, Lotus 1-2-3	
@SECONDE	N	Quattro Pro, Lotus 1-2-3	
@SI	B,V,V	Quattro Pro, Lotus 1-2-3	
@SIN	N	Quattro Pro, Lotus 1-2-3	
@SINH	N	Lotus 1-2-3	
@SLN	N,N,N	Quattro Pro, Lotus 1-2-3	
@SOMME	C	Quattro Pro, Lotus 1-2-3	
@SQRT	N	Quattro Pro, Lotus 1-2-3	
@STD	C	Quattro Pro, Lotus 1-2-3	
@STDS	C	Quattro Pro, Lotus 1-2-3	
@STRING	NN	Quattro Pro, Lotus 1-2-3	
@SUBSTITUE	S,N,N,S	Quattro Pro, Lotus 1-2-3	
@SUM	C	Quattro Pro, Lotus 1-2-3	
@SUMPRODUCT	C,C	Quattro Pro, Lotus 1-2-3	
@SUPPRESPACE	S	Quattro Pro, Lotus 1-2-3	
@SYD	N,N,N,N	Quattro Pro, Lotus 1-2-3	
@TAN	N	Quattro Pro, Lotus 1-2-3	
@TAUX	N,N,N	Quattro Pro, Lotus 1-2-3	
@TAUXINT	N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@TEMPS	N,N,N	Quattro Pro, Lotus 1-2-3	
@TERM	N,N,N	Quattro Pro, Lotus 1-2-3	
@TIME	N,N,N	Quattro Pro, Lotus 1-2-3	
@TIMEVALUE	V	Quattro Pro, Lotus 1-2-3	
@TODAY		Quattro Pro, Lotus 1-2-3	
@TRIM	S	Quattro Pro, Lotus 1-2-3	
@TRUE		Quattro Pro, Lotus 1-2-3	
@UPPER	S	Quattro Pro, Lotus 1-2-3	
@VACT	N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@VALACT	N,N,N	Quattro Pro, Lotus 1-2-3	
@VALEUR	S	Quattro Pro, Lotus 1-2-3	
@VALEUROPTION	S,S	Quattro Pro, Lotus 1-2-3	
@VALFUT	N,N,N	Quattro Pro, Lotus 1-2-3	
@VAN	N,C,N	Quattro Pro, Lotus 1-2-3	
@VAR	C	Quattro Pro, Lotus 1-2-3	
@VARS	C	Quattro Pro, Lotus 1-2-3	
@VERSION		Quattro Pro, Lotus 1-2-3	
@VFUT	N,N,N,N,N	Quattro Pro, Lotus 1-2-3	
@VLOOKUP	N,C,N	Quattro Pro, Lotus 1-2-3	
@VRAI		Quattro Pro, Lotus 1-2-3	
@YEAR	N	Quattro Pro, Lotus 1-2-3	
ABS	N	Microsoft Excel	
ACCRINT	N,N,N,N,N,N,N	Microsoft Excel	
ACCRINTM	N,N,N,N,N	Microsoft Excel	
ACOS	N	Microsoft Excel	
ACOSH	N	Microsoft Excel	
ACOTH	N	Microsoft Excel	
ACSC	N	Microsoft Excel	
ADRESSE	N,N,N,C,S	Microsoft Excel	
ALEA		Microsoft Excel	
ALEA.ENTRE.BORNES	N,N	Microsoft Excel	
AMORDEGRC	N,N,N,N,N,N	Microsoft Excel	
AMORLIN	N,N,N	Microsoft Excel	
AMORLINC	N,N,N,N,N,N,N	Microsoft Excel	
ANNEE	N	Microsoft Excel	
ARRONDI	N,N	Microsoft Excel	
ARRONDI.AU.MULTIPLE	N,N	Microsoft Excel	
ARRONDI.INF	N,N	Microsoft Excel	
ARRONDI.SUP	N,N	Microsoft Excel	
ASECH	N	Microsoft Excel	
ASIN	N	Microsoft Excel	
ASINH	N	Microsoft Excel	
ATAN	N	Microsoft Excel	
ATAN2	N,N	Microsoft Excel	
ATANH	N	Microsoft Excel	
AUJOURDHUI		Microsoft Excel	
AVERAGEA	C	Microsoft Excel	
BDECARTYPE	C,C,N	Microsoft Excel	
BDECARTYPEP	C,C,N	Microsoft Excel	
BDLIRE	C,C,N	Microsoft Excel	
BDMAX	C,C,N	Microsoft Excel	
BDMIN	C,C,N	Microsoft Excel	
BDMOYENNE	C,C,N	Microsoft Excel	
BDNB	C,C,N	Microsoft Excel	
BDNBVAL	C,C,N	Microsoft Excel	
BDPRODUIT	C,C,N	Microsoft Excel	
BDSOMME	C,C,N	Microsoft Excel	
BDVAR	C,C,N	Microsoft Excel	
BDVARP	C,C,N	Microsoft Excel	
BESSELI	N,N	Microsoft Excel	
BESSELJ	N,N	Microsoft Excel	
BESSELK	N,N	Microsoft Excel	
BESSELY	N,N	Microsoft Excel	
BETAINVERSE	N,N	Microsoft Excel	
BIN2DEC	b	Microsoft Excel	
BIN2HEX	b,N	Microsoft Excel	
BIN2OCT	b,N	Microsoft Excel	
BINDEC	b	Microsoft Excel	
BINHEX	b,N	Microsoft Excel	
BINOCT	b,N	Microsoft Excel	
BOITEDIALOGUESOLVEURFINIR	N,N	Microsoft Excel	
BOITEDIALOGUESOLVEUROK	N,N,N	Microsoft Excel	
CAR	N	Microsoft Excel	
CELLULE	S,C	Microsoft Excel	
CENTILE	C,N	Microsoft Excel	
CENTREE.REDUITE	N,N,N	Microsoft Excel	
CHERCHE	S,S,N	Microsoft Excel	
CHOISIR	N,N	Microsoft Excel	
CNOM	S	Microsoft Excel	
CODE	S	Microsoft Excel	
COEFFICIENT.ASYMETRIE	N,N	Microsoft Excel	
COEFFICIENT.CORRELATION	C,C	Microsoft Excel	
COEFFICIENT.DETERMINATION	C,C	Microsoft Excel	
COLONNE	S	Microsoft Excel	
COLONNES	C	Microsoft Excel	
COMBIN	N,N	Microsoft Excel	
COS	N	Microsoft Excel	
COTH	N	Microsoft Excel	
ECARTYPEP	C	Microsoft Excel	
LOG10	N	Microsoft Excel	
LOI.BINOMIALE	N,N,N,B	Microsoft Excel	
LOI.NORMALE.STANDARD	N	Microsoft Excel	
LOI.POISSON	N,N,B	Microsoft Excel	
SIN	N	Microsoft Excel	
TAN	N	Microsoft Excel	
VAR.P	C	Microsoft Excel	

Le programme de dessin bitmap
Tout comme le traitement de texte ou le tableur, on devra retrouver un filtre d'entrée et de sortie pour offrir la possibilité de manipuler le format de dessin souhaiter. En plus, il devra être possible de copie par exemple dans le presse-papiers à partir du gestionnaire de fichiers un fichier et de coller son image dans le dessin actuellement en traitement. Divers format de pixel pourront être afficher comme c'est le cas par exemple sous AutoCad, il peut afficher un cercle, un X,... si désirer.

Le programme de dessin technique
Cette partie devra entre autre rendre possible l'édition de plan électronique, d'organigramme, dessin en file de fer, DFD (Diagramme de Flux de Données),... On pourra donc considérer cette application comme un équivalent de  Corel Draw, Visio ou d'Adobe Illustrator.
En somme, le programme de dessin technique se divise avec les parties suivantes:
•	DFD (diagramme de flux de données): Permettant au programmeurs de dessiner de façon simple et efficace les structures de leur système.
•	Plan électronique: Permet de représenter sur un dessin à l'aide de pièce électronique des microcircuits d'électronique.
•	Dessin technique: Celle-ci est véritablement un dessin technique, il s'apparente à Corel Draw, Adobe Illustrator,...

La base de données
Afin d'offrir le maximum de possibilités de développement, la version utiliser sera la Mentronix. Celle-ci permettant à la base de données d'être manipulable de façon local ou global. C'est-à-dire que si le besoin sent fait sentir, on peut utiliser une base de données gérer sous l'aspect d'un volume ou encore qu'une table corresponde à un fichier. Afin d'éviter des problèmes de transformation d'information, elle devra également être moyennement compatible avec le langage SQL-92. On devra retrouver des fonctions comparables à ceux d'Adados, StarBase, Microsoft Access, Dbase, Visual dBase, Lotus SmartSuite Approach,... 

Le gestionnaire de fichiers
Le gestionnaire de fichiers sera divisée en deux tableaux. Les deux pourront s'adapter a plusieurs combinaison possible (à l'image du Norton Commander), ils pourront: visualiser une liste de fichiers, de répertoires, tableau sommaire d'information et prévisualisateur. Le deuxième bouton de la souris offrira, en autre, la possibilité d'un menu contextuel s'ouvrant sur des options de conversion (fichier musique, image, animation et exécutable), copie (d'un répertoire ou d'un fichier; dans le presse-papiers, dans une ressource, vers le disque,...), déplacement (d'un fichier ou répertoire), effacement, propriété et autre composant approprier au fichier pointer. Par exemple s'il s'agit d'un fichier volume DOSEmu, il devra offrir la possibilité de le monter sur une unité non alloue du système dans le but de visualiser sont contenu sans passer par une application spécialiser. Il va de soit qu'il devra aussi être capable de lire un fichier BOOT Disquette d'OS/2. Dans le même ordre d'idée, un support permettra de parcourir des fichiers compressées comme ARC, ARJ, CAB, LZH, ICE, PAK, RAR, SWG, TZ, ZIP, ZOO,... Et afin d'offrir une alternative maison a un réseau local sans carte de réseau, le gestionnaire devra être capable d'envoyer et recevoir des fichiers par port série ou parallèle comme le font Norton Commander , Laplink ou FastLynx. Dans cette application on retrouvera des propriétés particulière afin d'obtenir un Norton Commander renommer Clone Commander, PC Shell du PC Tools.
Voici d'ailleurs un exemple d'une fenêtre de Gestionnaire de fichiers modifier afin d'obtenir un résultat similaire à celui du Norton Commander de  Symantec. Il ne s'agit pas d'une nouvelle application entièrement indépendant, mais belle et bien celui d'une application multi-programmable, développer dans une optique caméléon:

Le gestionnaire de programmes
Le gestionnaire de programmes est sans doute la composante du MonsterBook la plus adaptable. Celle-ci en effet peut prendre différentes formes, allant d'un menu déroulant a la Windows 9X ou Linux, OS/2, un gestionnaire de programmes genre  Windows 3.1(1) ainsi que celle d'un tableau de bord de style OS/2. Elle aura également certain supplément interne permettant d'être utiliser comme base dans un Panneau de Configuration a la manière de Windows 3.1, 9X ou NT.
Le barre de tâche d'origine Windows 9X sera construire de façon être divisé en segment parfaitement égale lequel représentant toutes les fenêtres ouverte pour un maximum de dix. En voici l'aspect:

On remarquera que sur le coté gauche d'un segment de la barre de tache, on constate un icône, lequel permet d'identifier au premier coup d'oeil de quel application il s'agit. On constate en plus qu'exclusivement sur la barre “Démarrer”, un icône sur le coter droite permet de voir immédiatement les éléments du bureau ou dans le cas contraire de restaurer celui-ci afin de permettre par exemple d'accéder au icône sur le bureau sans minimiser plusieurs dizaine de fenêtre.

 Dans l'onglet de gestionnaire de programmes du MonsterBook, on construira un navigateur HTML primitif avec l'aide des polices de caractères de la classe QQF. Le défilement se fera comme un écran de texte classique. Mais avec 1 seul pixel de déplacement à la fois, plus si l'utilisateur considère que la chose est nécessaire (changement de page avec les touches Page Up et Page Down.

Les applications terminal
Les applications terminal sont simplement un fenêtre offrant la possibilité d'utiliser la méthode de commande afin de permettre a certain utilisateur l'emploi de certaine possibilité très ancienne mais toutefois essentiel! On retrouvera donc essentiellement un prompt DOS et un shell Unix. Un menu déroulant devra être disponible lorsqu'on appuiera sur le deux boutons de la souris afin d'obtenir par exemple de l'aide ou des commandes nécessitant la recherche de fichier.

Afin de permettre d'ajouter d'offrir un maximum de confort pour c'est différent format de prompt DOS, on devra fournir les commandes suivantes:
Nom	Description	Modèle	
?	Fournit la liste d'aide	4DOS/NDOS	
:	Retourne l'unité courante	MOS	
*:	Affiche toutes les unités disponible	MOS	
4MAT	Format une unité de disque	MOS	
ALIAS	Association d'alias à une commande	4DOS/NDOS	
ATTRIB	Modification des attributs de fichiers	DOS	
BE	Commandes Symantec	Norton Utility	
BEEP	Émet un signal sonore	4DOS/NDOS	
CD	Changement de répertoire	DOS	
CHCP	Changement de code de page	DOS	
CHDIR	Changement de répertoire	DOS	
CLS	Efface l'écran	DOS	
COMSPEC	Retourne le chemin d'accès de  l'interpréteur de commande	DOS	
CONFIG	Retourne la configuration actuel	MOS	
COPY	Copie un/des fichier(s)	DOS	
CPUID	Active/désactive l'instruction CPUID du Cyrix	MOS	
CRLL	Compilateur de ressource	MOS	
DEL	Efface un/des fichier(s)	DOS	
DELQ	Efface un/des fichier(s) avec un prompt (O/N)?	DR-DOS	
DESCRIBE	Rajoute une description à un fichier	4DOS/NDOS	
DIR	Affiche la liste des fichiers dans le répertoire	DOS	
DUMP	Dump de mémoire ou de fichier	MOS	
ECHO	Fixe l'écho	DOS	
ERAQ	Efface un/des fichier(s) avec un prompt (O/N)?	DR-DOS	
ERASE	Efface un/des fichier(s)	DOS	
EXIT	Quitter l'interpréteur de commande	DOS	
FASTHELP	Aide rapide	MS-DOS	
FIND	Recherche une chaîne de caractères dans des fichiers	DOS	
FORMAT	Format une unité de disque	DOS	
FREE	Retourne l'espace de libre sur une unité de disque 	4DOS/NDOS	
GREP	Recherche une chaîne de caractères dans des fichiers	Borland	
LABEL	Fixe le nouveau nom de volume d'une unité	DOS	
MD	Crée un répertoire	DOS	
MEMORY	Affichage de l'état de la mémoire	4DOS/NDOS	
MKDIR	Crée un répertoire	DOS	
MODE	Commande MODE externe des systèmes d'exploitation DOS	DOS	
MOVE	Déplacement d'un/des fichier(s)	DOS	
PATH	Affiche les chemins de recherches par défaut	DOS	
PAUSE	Affiche un message de pause et attend un signal utilisateur	DOS	
PLAY	Jouer des sons	Creative Labs	
PRNFILE	Impression d'un fichier	MOS	
PROMPT	Affiche le prompt courant	DOS	
RD	Effacer un répertoire	DOS	
REN	Renommer un/des fichier(s)	DOS	
RENAME	Renommer un/des fichier(s)	DOS	
RENDIR	Renommer un répertoire	DR-DOS	
RMDIR	Effacer un répertoire	DOS	
SCREEN	Affiche un message à un endroit précis	4DOS/NDOS	
SERNO	Retourne le numéro de série	MOS	
SET	Retourne les variables d'environnement 	DOS	
SETPRN	Définit la configuration de l'imprimante	MOS	
TIME	Fixe l'heure	DOS	
TRUENAME	Retourne un chemin au complet	MS-DOS	
TRUNCTEXT	Découpe un texte ayant trop de ligne en des textes plus court	MOS	
TYPE	Affiche le contenu ASCII d'un fichier	DOS	
VER	Affiche la version du DOS	DOS	
VERIFY	Définit la vérification 	DOS	
VOL	Nom du volume	DOS	
UNASM	Décompile du code machine en assembleur	MOS	
UNCODE	Décompile du code machine en assembleur	MOS	
WTDATIM	Affiche la date et l'heure	Utilitaire	
XDIR	DR-DOS: Affiche la liste d'un répertoire	DR-DOS	

Dans le même cheminement d'idée, on retrouvera les commandes suivantes pour le prompt Unix:
Commande	Description	
?	Aide en ligne	
banner	Affiche un texte en grande lettre	
basename	Indique le nom de base d'un chemin.	
cd	Change de répertoire	
clear	Efface l'écran	
cp	Copie des fichiers	
dirname	Retourne le répertoire d'un chemin	
echo	Active ou désactive l'écho.	
exit	Quitter la fenêtre Unix.	
help	Aide en ligne	
logout	Quitter la fenêtre Unix.	
ls	Affiche le contenu d'un répertoire.	
man	Aide en ligne	
pwd	Affiche le répertoire courant	
whoami	Indique l'utilisateur courant.	

En somme les commandes devront être variable en fonction du modèle de préférence de DOS ou de Unix désirer. 

Les outils de programmeurs
Les outils de programmeurs sont par exemple l'éditeur hexadécimal, le débogueur, le Workshop. Ceux-ci offriront des possibilités supplémentaires de probabilité et d'ajustement supplémentaire à l'application MonsterBook. On devra éventuellement avoir la possibilité d'utiliser un compilateur d'assembleur inclus comme base dans l'application afin de promouvoir par exemple le code machine du Kébecup. Également, on pourra écrire du code compatible avec le Visual Basic, puisque se projet cherche invariablement à ouvrir des portes et certainement pas de les refermés.

Les Accessoires supplémentaires
Les accessoires supplémentaires sont des composantes de base comme la calculatrice, l'horloge, le calendrier, joueur de disque compacte de musique, format de disquette, ménagère de disque, visualisateur multimédia, navigateur de page HTML (car il est indispensable d'avoir un visualisateur de fichier HTML étant donner l'importance grandissante d'INTERNET au cours des dernières années),...
Dans la situation du calendrier, il ne sera pas tout d'ajouter un menu contextuel afin d'offrir des services éventuel correspondant à certain besoin, ceux-ci ressembleront à l'aspect suivant:
	
Aller au moi de/d' >	Janvier		
Différence de jour	Février		
Calculer Zodiaque	Mars		
	Avril		
	Mai		
	Juin		
	Juillet		
	Août		
	Septembre		
	Octobre		
	Novembre		
	Décembre		
On pourra à partir de ce menu contextuel calculer par exemple le signe du zodiaque comme le Verseau, Bélier, Taureau ou ceux chinois comme le Dragon, Cochon,...

La sécurité
La sécurité sera un aspect important a laquelle le MonsterBook devra s'adapter. Entre autre on devra retrouver des options de protection par mots de passe au lancement de l'application si désirer afin de restreindre l'accès au utilisateur non souhaiter.
Les protections par confirmation de mots de passe sont peut-être des techniques intéressantes concernant les utilisateurs indésirés, seulement, il arrive que le système pour des raisons sans nombre (panne de courant, plantage,...) se détériore lui-même et qu'un service de réparation soit nécessaire. Pour cette raison, le MonsterBook, comme tous les systèmes d'exploitation moderne se respectant, devra intégrer un service d'entretien permettant de détecter les erreurs et de les corrigées comme l'a longtemps été les produits de Symantec: Norton.
L'ajout de cette possibilité se fera par l'entremise du menu déroulant “Démarrer” du gestionnaire de programmes et devra être située a proximité de “Paramètres”. Une fenêtre apparaîtra et on pourra choisir trois style de réparation regrouper:
1.	Fichier système.
2.	Configuration.
3.	Raccourci.

Ceux-ci seront diviser en des éléments encore plus complexe invisible à l'utilisateur avec  les caractéristiques suivantes:
1.	Fichier système:
•	Vérification du stockage des fichiers dans les répertoires afin de s'assurer qu'il ne sont pas tous dans le répertoires central.
•	Recherche la présence de tous les fichiers systèmes du MonsterBook. S'il y a omission, il y a possibilité de problème éventuelle!
•	Vérification de l'intégrité du MonsterBook.

2.	Configuration:
•	Compare la date du fichier MB.CFG et MB.INI.
•	Vérification de la cohérence de l'information contenu dans les fichiers de configuration.
•	Vérification du/des fichier(s) “FRANCAIS.MNB” et de “FRANCAIS.MNX”.
•	Vérification que le nombre de fichiers HANDLE soit supérieur à 20 (“FILES=20” dans le fichier CONFIG.SYS du DOS).

3.	Raccourci:
•	Vérification de la validité des informations contenu dans le derniers fichiers ouvert dans le menu “Démarrer” de l'item “Document”.
Une fois toutes ces analyses effectuée, une fenêtre apparaîtra et permettra de choisir les problèmes que l'on souhaite corriger ou non.

L'environnement
Dans le cas de l'environnement on entend par ce terme tout les boîtes de dialogues n'étant pas réellement des applications comme par exemple dans le domaine de la configuration des options à cliquer avec une souris.
Dans la barre du bas de l'écran à droite, un indicateur de quantité de mémoire conventionnel disponible pourra être afficher soit sous l'aspect d'un nombre, d'une barre de progression ou tout simplement caché. Il devra également offrir certaine option en rapport directe avec les informations de mémoire, comme la mémoire ressource disponible par exemple. On pourra également retrouver un icône de console de son à proximité afin de pouvoir émuler l'environnement graphique de Windows 9X.
Dans le cas du menu l'environnement vidéo, on pourra choisir les styles de boutons, style de cadre, ... Il devra fournir des options cependant un peu plus particulière afin d'offrir à l'utilisateur une possibilité d'accélérer l'exécution de celui-ci. Dans ce même ordre des choses, on retrouvera entre autre une possibilité de faire: clignoter les boutons ou non, d'activer ou désactiver le modulateur de FX (d'effet spéciaux), l'activation d'une option de détection avancée des anciennes cartes Super VGA, on accès au plage vidéo par le ROM BIOS ou par programmation directe,...
Le MonsterBook ne reculant devant rien afin d'offrir le maximum de souplesse pour améliorer le système, on devra ajouter des options particulière pour les CPU. Ainsi, les fabricant du microprocesseur Cyrix sont parmi les CPUs les plus configurable ayant été construit! Cependant, ils ne sont pas toujours optimiser et il existe que très peu de logiciel s'occupant de les configurer à notre guise... Toutefois, le MonsterBook, toujours a l'affût d'accéder a de nouvelle possibilité du matériel devra lui, plus que les autres, offrir des modifications possible de cette configuration. On retrouvera comme option ceux-ci:
•	“FrameBuffer” rapide.
•	“Write-Back cache”.
•	“Write Allocate”
•	Instruction “CPUID” supportée
•	Mettre en veille si “HALT”.
•	“Cached Directory Table Entry”
•	“Negate Lock”
•	“Data forwarding”
•	“LOOP” rapide.
•	Délai d'entrée/sortie configurable.

 

Chapitre 2

Spécifications technique

2. Spécifications technique

Afin d'offrir une meilleure stabilité de l'environnement graphique, en particulier au niveau des pointeurs, celui-ci sera coder à l'aide du langage de programmation Pascal. Celui-ci, par ça simplicité mais sa grande souplesse au niveau de l'inclusion de code assembleurs, permettra d'obtenir d'excellent résultat.
Les routines de base devront être écrite essentiellement en assembleur, tandis que les routines que l'on appellera de finition, seront tant qu'a elle en langage de programmation Pascal.
Le code source pourra avoir une taille illimitée afin d'obtenir cependant une taille très restreintes au niveau de la taille global de l'exécutable. Celui-ci en effet devra rentrer sur une disquette afin de pouvoir être installer sur de petit système!

Système d'exploitation
Le système d'exploitation est la partie indépendante du MonsterBook ou l'équivalent du DOS. Celle-ci sera écrit en langage de programmation Pascal B57, soit à l'aide du compilateur OverCode. Il s'agit d'un compilateur de langage Pascal étant relativement proche de l'assembleur et du fonctionnement de la machine. Il n'est pas a proprement parler lier a un système d'exploitation ou a une bibliothèque lourde.
On retrouvera dans ce système d'exploitation les routines de base de l'Interruption 21h relier a la gestion des fichiers et de la mémoire. Le reste des routines est considérer comme sans importance. Il va de soit qu'une routine de détection très pousser sera également disponible à l'intérieur de celui-ci et consultable par les exécutables une fois celui-ci complètement charger.

Noyau
En d'autre terme, le noyau du MonsterBook sera orientée autour de l'ensemble du Malte Genesis IV: Alias Chantal. Celui-ci est un noyau avec ses propres mécanismes de détection très poussée charger directement dans l'unité centrale du programme (Adèle) et réexploitable afin de charger le pilote vidéo approprier permettra une optimisation des performances accrus afin d'offrir le meilleur compromis possible pour la vitesse de chargement du programme ainsi qu'une utilisation de la mémoire minimal. Malgré le fait que les pilotes vidéo font un usage intensif de table d'accélération, la mémoire perdu a profit de ceux-ci est rentable dans le mesure ou le programme doit fonctionner sur des machines relativement lente mais disposant toujours d'au moins 512 Ko de mémoire.
Les opérations mathématiques devront être gérer de façon différentes a l'intérieur du noyau. Par exemple la division par 0 devra retourner 0 (voir la documentation sur l'Univers @ pour plus de détail) afin d'alléger le code. Selon les affirmations de ce document, la tendance mathématique tenterait à démontrer qu'il existerait une réponse unique au problème et cela ne donnerait pas l'ensemble des nombres réel comme prétendu par les mathématiciens actuel. Ainsi dans 99,99% des cas, un zéro comme réponse doit être retourner, il est préférable pour cette raison d'effectuer un teste supplémentaire lorsqu'une division par 0 pour indiquer que le cas n'est pas autoriser que d'effectuer une surveillance dans chaque cas.

Ressources
Les ressources seront diviser en plusieurs catégories: la mémoire, les images et les bases de données.
La mémoire sera gérer à deux niveaux: la mémoire central (mieux connu sous le terme de mémoire conventionnel) et les ressources mémoires ou de grande capacité (XMS, EMS, Extended Bios Interrupt 15h, VRAM, Disque dur,...). Dans le cas des ressources, il devra également être possible de l'appliquer au niveau de la mémoire conventionnel afin de permettre l'augmentation des performances dans certaines cas particulier.
Les ressources d'image offriront la possibilité de charger ou sauvegarder n'importe quel format d'image et d'ensuite pouvoir les exploiter de façon universelle à l'aide d'une ressource mémoire. Ceci évitant naturellement d'écrire beaucoup de code de filtre a chaque application et de plutôt les centraliser. On devra retrouver un support pour toutes les formats d'image les plus utiliser: BBM, BMP, GFX, JPEG, PCX, PPM, GIF, LBM, TIF, BGX, GPX, GemImg, XBM, MacPaint, TGA, SCi,... En plus, il devra être possible d'orienté l'entrée d'une ressource sur l'écran directement, pour par exemple offrir la possibilité de sauvegarder par l'intermédiaire de la touche (Print Screen) son contenu dans un fichier.
Les ressources de bases de données sont sans nulle doute la partie le plus sujet a questionnement dans le MonsterBook. Pourquoi? Parce qu'elle doit permet de rapetisser l'ampleur du code sans pour autant ralentir les performances de celui-ci. En plus il devra permettre d'utiliser des bases de données global (comprenant plusieurs tables) ou local (comprenant seulement une table pour un fichier). Il devra inclure des techniques de recherche très rapide afin d'éviter des délais d'exécution très exagérer. En pensera par exemple a utiliser les techniques dichotomique dans certain cas, des indexes d'accélération et ainsi de suite,...

Système de compatibilité
Les pilotes non fournit pas le système d'exploitation devront naturellement trouver un compromis manuellement. De ce fait, on pourra détecter et utiliser une souris PS/2 par exemple sans pour autant avoir un pilote d'interruption 33h d'installer. On devra être capable d'appliquer le même principe pour les partitions non visible par le système d'exploitation. Par exemple les partitions HPFS par le DOS ou Windows.
Les sessions d'application DOS pourront être effectuer directement par un appel de programme fils ou passer par un émulateur de CPU de la famille 80x86 et celui-ci sera donc accessible via une fenêtre ou en mode pleine écran. L'émulateur devra de son côté supporter les microprocesseurs Cyrix, AMD, Intel, NEC sans pour autant être muni de ce type de processeurs. Il offrira également la possibilité d'émuler un 6502 et ses dérivés. Il est impératif que les sessions soit ajustable car dans le cas par exemple d'un déboguage, on de programme a problème, on devra être capable de trouver une alternative intéressante permettant d'obtenir une solution. A la différence des autres émulateurs particulier, on devra faire l'implantation du prototype de microprocesseur Kébecup (voir la documentation des Chevaliers de Malte (nom de code “777-Q=Z-77F77”)), celui-ci étant très prometteur car il offrira la possibilité de coder une application comme Microsoft Office ou Corel Draw à l'intérieur de 64 Ko de mémoire et cela sans compression.
Un pilote de compatibilité passant par le MSCDEX, NWCDEX ou les pilotes de lecteur DC (Disque Compacte) devra être disponible pour jouer les DC de musique. Cependant, on devra aussi être capable de jouer un Disque Compacte sans passer par un pilote logiciel utilisant l'interruption 2Fh. Pourquoi? Pour deux raisons principalement, premièrement afin d'éviter à l'utilisateur la recherche inutile de pilote à charger en mémoire et deuxièmement afin d'augmenter les performances toujours très lentes passant par une interruption. On devra éviter toutefois d'effectuer des passages directe de la sorte sous un système multitâche comme Windows, OS/2 et Linux car ceux-ci réagissant très mal face a une situation de la sorte. En plus le pilote devra offrir la possibilité de jouer le disque compacte en mode digital ou directement en passant par l'électronique. Cette option sera nécessaire dans le cas ou égalisateur de fréquence ne sera pas disponible sur une machine rapide. Toutefois étant donnée la vitesse d'exécution requise, il devra être possible d'activer ou de désactiver cette option.
Lancement
Toute cette structure, s'apparentant d'avantage à un système expert doit également offrir la possibilité d'ajustement spécifique dans les cas non pris en charge par «StartUp» du MonsterBook.
En dépit du fait que le processus de lancement de l'application MonsterBook soit très développer, on doit donc veiller à ce que l'utilisateur puisse solutionner lui-même les problèmes de démarrage et de fonctionnement de cette application sur des machines très peu compatible et se moquant des standards ainsi que des systèmes d'exploitation minant considérablement le bon fonctionnement du d'une application DOS.
Toutefois, le «StartUp» de l'ensemble Malte Genesis V: Alias Adèle offre une grande gamme de "Switch" (échangeur) afin de démarrer dans les pires conditions imaginable. Cependant toutes ces possibilités ne sont pas accessible par l'utilisateur directement, il faut passer par un protocole définit dans un          fichier de configuration, des menus déroulants et des techniques complexes ayant tous lieux lors du lancement du progiciel.
Lors du lancement du MonsterBook, vous pouvez à l'aide du prompt: «?:>MB /V», connaître les informations pertinente de son autoconfiguration. Voici une vue d'ensemble de ce que peut être ces messages:
MonsterBook Version ?.?  Tous droits réservés par les Chevaliers de Malte
Lecture du fichier d'initialisation: MB.INI ou MB.CFG
CPU: ?
Système d'exploitation:
  DOS Version ?.?
Vérification de la possibilité de chargement du recouvrement...
 Initialise le PC Speaker
Détection des cartes de son: 
  ?
Périphérique:
  Souris: ?
  Clavier: ?
  Modem par défaut:
Création d'un tampon d'impression: SPOOLER.PR$ 
Initialisation des ressources de mémoire étendue:
  ExtBios: ? Ko
  EMS: ? Ko
  XMS: ? Ko
  Disque "?:...\MB.$$$": ? Ko	
                
La première ligne indique le nom du programme "MonsterBook" et la version "Version" de ce programme. Après vous retrouvez le nom du groupe ayant mit à jour ce programme.
La ligne suivante affiche "Lecture du fichier d'initialisation:". Ce message est suivi d'un nom de fichier nécessairement "MB.INI" ou "MB.CFG". Le premier cité est tel un fichier de configuration Dos, Windows, OS/2, avec un format ASCII des informations contenu. Plusieurs section existe étant donné l'immense variété de possibilité que renferme le MonsterBook: (Disk, Video, Systems, Printers et           Modem). Chacun de ses sections doivent être entre crochet "[" "]" pour lui permettre de comprendre qu'il s'agit d'un section justement.
Vous ne pouvez mélanger les mots et les mettre dans une autre section ne lui étant pas désignée dès l'origine car sinon il prendra un sens différent et aura donc un résultat également différent lors de l'exécution.
Section: «[User]»
Cette section est réservée au profile de l'utilisateur employant le MonsterBook. Elle ne contient pas d'information pertinente à l'esthétique ou à un meilleur fonction de cette application.
UserName
Cette variable de type chaîne de caractères permet de stocker le nom d'utilisateur. Il sera accepter que dans le cas où le nom de l'usager correspond au numéro de série.
SerialCode
Cette variable de type chaîne de caractères permet de connaître le numéro de série attribué à cette application.

Section: «[Disk]»
Cette section est réservée afin de connaître des informations relatifs au fichier et des répertoires.
•	Lorsqu'il s'agit d'un identificateur se terminant par «Files», il s'agit d'un extension désignant une catégorie de fichier particulier (un «;» peu les séparer s'il existe plusieurs extension possible). On peut de cette manière rajouter de nouveau extension désignant par exemple des fichiers Basic, comme par le Visual Basic à tendance à le faire couramment. Pour permettre à l'utilisateur de ne pas toujours être à la merci de la dernière mise-à-jour, il lui sera possible de les modifier lui-même.
•	Lorsqu'il s'agit d'un identificateur commençant par «Dir» alors il s'agit d'un répertoire de recherche de départ pour une catégorie particulière de fichier. Il sera par exemple possible grâce à cette identificateur de définir le répertoire de départ de recherche des fichiers de la catégorie Pascal, C, Assembleur,... En plus on pourra spécifier le répertoire où actuellement installer              l'application afin de lui faire éviter de rechercher dans tous les répertoires où il se trouve.
Section: «[Printers]»
Cette section est spécialisée dans le paramétrage de l'imprimante installée sur la machine.
CurrPrn
Cette variable numérique désigne le numéro de l'imprimante courante à utiliser dans l'application.
Paper2Paper
Cette option permet de spécifier s'il s'agit d'une alimentation d'imprimante feuille à feuille.
HeightPaperLPT1
Cette variable numérique permet de connaître la longueur du papier en pouce multiplier par 10.
Section: «[Systems]»
Cette section est utilisé pour définir les bases mêmes de fondations de l'application.
OvrEms
L'option de chargement de recouvrement (overlay) en mémoire EMS est réglable dans le fichier de configuration MB.INI sous la variable OvrEMS = Yes|No. Si cette variable est à Yes, vous verrez en mode "/V" le message suivante apparaître: 
Vérification de la possibilité de chargement du recouvrement en EMS	

SwapEMS
L'option SwapEMS (par défaut Yes (actif)) autorise ou interdit l'utilisation de la mémoire EMS pour les données de type temporaire ou pour le traitement d'image et de certaine information plus particulière mais demandant de vaste zone de mémoire. Si cette variable est à No, le gestionnaire de ressource indiquera 0 Ko lors du mode "/V".
ScrSaver
Cette option permet de définir si vous souhaitez avoir un économiseur d'écran ou non.
Log
Cette option permet d'autoriser la tenue d'un journal de bord à chacun des opérations effectuer dans cette application.
Section: «[Video]»
Cette section destiné à régler la carte vidéo, le moniteur en fonction du mode vidéo et de l'environnement souhaité.
CheckSVGA
Cette variable permet de spécifier s'il l'application doit faire en sorte de pouvoir détecter des cartes vidéo n'ayant pas de standard VESA supporté.

DefaultMode
Cette variable sert à initialiser le mode vidéo de départ du MonsterBook. Si le nombre 65534 est spécifié, il utilise le mode vidéo courant fonctionnant avant le lancement du l'application.
PapierPeint
Cette variable de type chaîne de caractères contient le chemin et le nom à utiliser comme papier peint, l'image de fond de l'application, en écran graphique si possible.
FontTitle
Cette variable de type chaîne de caractères contient le chemin et le nom à utiliser comme image de fond, pour chaque titre d'application.
VesaBiosBank
Cette variable est utilisée pour permettre l'utilisation exclusif par le BIOS du standard VESA en interdisant formellement d'utiliser la routine référencé par le BIOS.
BankRoutine
Cette variable définit le numéro de la routine de changement de page par défaut à utiliser dans les modes vidéo Super VGA ayant 256 couleurs ou plus. Sa valeur numérique correspond à ceci:
Valeur	Description	
0	Auto détection automatique 	
1	VGA	
2	Ahead	
3	 ATI 	
4	Cirrus	
5	CTI	
6	Everex	
7	Genoa	
8	Headland	
9	Oak	
10	Paradise	
11	STB	
12	Trident	
13	Tseng Labs ET3000	
14	Tseng Labs ET4000	
15	 VESA avec accès directe	
16	Video Seven	
17	XGA	
18	Zymos	
19	Ahead A	
20	Ahead B	
21	 ATI selon la méthode GNU	
22	Chips & Technologie	
23	Trident 8900 	
24	Vesa en passant par l'interruption BIOS	
25	ATI GU Pro/Ultra	
26	ATI 16 MD	
27	Acumos	
28	Cirrus 54	
29	CL5426	
30	SS24X/WD90C3x 	
31	RealTek	
32	S3805 - 1M / S3864 – 2M	
33	Sparadise	
34	 VESA S3 	
35	Viper	
36	WD Vanila / WD90C31	
                              
ImageInDialog
Cette variable permet de spécifier si vous souhaitez supporter les images dans les boîtes de dialogues en mode graphique.
Cadrillage
Cette option permet de spécifier si vous souhaitez avoir un quadrillage dans votre calendrier ou vos graphiques,... en mode vidéo graphique.
Processus de lancement
Au notée que cette technique en texte nécessite un très grand nombre de cycle d'horloge d'exécution de la par du micro-processeur. Afin de régler ce genre de situation, il existe un genre de doublons du fichier de configuration           texte. Celui-ci est chargé par l'application comme un bloc au lieu d'être interpréter ligne par ligne. Il est recompilé automatiquement à chaque fois qu'il existe une différence avec la version texte et la sienne. Pour se faire, il vérifie la date et s'il se rend compte qu'elle n'est pas identique, il le recompile. Ce simple système permet d'accélérer l'utilisation régulier tous en permettant à l'utilisateur de modifier lui-même les paramètres manuellement afin qu'il puisse          fonctionner selon ses choix personnelles.
Dans l'éventualité où le fichier de configuration compilé est erroné, il sera recompilé pour plus de sûreté de façon automatique.
L'inconvénient, c'est que s'il n'est pas possible d'écrire le fichier de configuration, il recompilera à chaque démarrage le fichier en question.

Environnement système
Comme spécifier dans l'environnement dans la section “Manifeste du Projet”, le micro-processeur  Cyrix aura un traitement de faveur. On devra donc pouvoir le programmer de la façon allant être décrit. Voici les registres concerner par chacune des options de ce processeur:

•	“FrameBuffer” rapide (CCR3: bit 2).
•	“Write-Back cache” (CCR2: bit 1).
•	“Write Allocate” (CCR5: bit 0).
•	Instruction “CPUID” supportée (CCR4: bit 7).
•	Mettre en veille si “ HALT” (CCR2: bit 3).
•	“Cached Directory Table Entry” (CCR4: bit 4).
•	“Negate Lock” (CCR1: bit 4).
•	“Data forwarding” (DBR0: bit 5).
•	“LOOP” rapide (CCR5; bit 1 pi par le registre 20h , bit 2).
•	Délai d'entrée/sortie configurable (CCR4: bit entre 0 à 2).

Ces registres sont accessibles via le port d'entrée/sortie 22h, et applicable dans le port 23h. Les registres CCR0, CCR1, CCR2, CCR3 ont respectivement les registres C0h à C3h et CCR4, CCR5, CCR6, CCR7 ont respectivement les registres 0E8h à 0EBh.

La barre d'outils

La barre d'outils est une barre d'icône situé en dessous du menu principal sur le bureau. Elle permet d'accéder rapidement à certaines possibilité de l'application. Voici les codes réservés pour ses icônes:
Code	Description	
0	Ouvre 	
1	Ouvre un dessin	
2	Ouvre un icône (Bouton) 	
3	Ouvre un chiffrier	
4	Change la région ou le pays 	
5	<-> Conversion	
6	Recherche 	
7	Avant (Précédant) 	
8	Après (Suivant)	
9	Imprime 	
10	Téléphone  	
11	Clavier	
12	Musique	
13	Change de répertoire	
14	Prompt d'interpréteur DOS	
15	Compile	
16	Infor(mation)	
17	Liste des fenêtres 	
18	Aide	
19	Quitter	

Environnement des périphériques
L'environnement des périphériques sont les spécifications particulière reliée au clavier, souris et autre méthode d'entrée utilisateur.
Dans le cas du clavier, un des principales objectifs sera d'ajouter un support permettant d'obtenir les accents appropriées sur le pavé numériques. Ainsi par exemple les chiffres 7, 8, 9 seront associées a la lettre A, 4, 5, 6 a la lettre E, et 1, 2, 3 a la lettre I. Ceux-ci par l'intermédiaire de la touche Shift permettront d'obtenir par exemple en appuyant sur le 7 le caractère “à”. Celui du 8 un accent circonflexe et le neuf un accent contraire au 7.
On retrouvera également dans cette catégorie les raccourcis clavier. Ceux-ci pourront être de style différent: Isabel (inspiré de WordStar) et Windows (de Windows et OS/2). Voici tout d'abord les attributions possibles avec le modèle Isabel:
Combinaison clavier	Description	
Alt+0	Liste des fenêtres d'application	
Alt+A	Menu déroulant d'Aide	
Alt+C	Menu déroulant Commande	
Alt+D	Menu déroulant Dessin	
Alt+E	Menu déroulant Édition	
Alt+F	Menu déroulant Fichier	
Alt+I	Menu déroulant Information	
Alt+N	Menu déroulant Fenêtre	
Alt+O	Menu déroulant Option	
Alt+R	Menu déroulant Recherche	
Alt+X	Quitter le MonsterBook	
Alt+F1	Sous le gestionnaire de fichiers, change le 1ier tableau pour une pour permettre de changer d'unité au premier tableau de fichiers.	
Alt+F2	Sous le gestionnaire de fichiers, change le 2ième tableau pour une pour permettre de changer d'unité au premier tableau de fichiers.	
Alt+F3	Ferme la fenêtre courante.	
Alt+F4	Double la largeur du mots à la droite du curseur et ci positionne à la fin.	
Alt+F5	Regarde l'écran de sortie (Output).	
Alt+F7	Ouvre une fenêtre dessin.	
Alt+F8	Met le mot en mode exposant à la droite du curseur et ci positionne à la fin.	
Alt+F9	Lance une compilation.	
Alt+F10	Inverse le mot à la droite du curseur et ci positionne à la fin.	
Ctrl+A	Flèche de gauche	
Ctrl+B	Met en caractère gras le mots à droite du curseur	
Ctrl+C et Ctrl+A	Ferme toutes les fenêtres d'application	
Ctrl+C et Ctrl+B	Conversion en langage Basic	
Ctrl+C et Ctrl+C	Déplacement d'une page vers le haut de la fenêtre.	
Ctrl+C et Ctrl+D	Mode caractère double largeur	
Ctrl+C et Ctrl+F	Conversion en langage de programmation Fortran	
Ctrl+C et Ctrl+G	Mode caractère gras	
Ctrl+C et Ctrl+I	Mode caractère inverse	
Ctrl+C et Ctrl+J	Conversion en langage de programmation Java.	
Ctrl+C et Ctrl+K	Conversion en langage de programmation AC.	
Ctrl+C et Ctrl+L	Conversion en langage de programmation Cobol.	
Ctrl+C et Ctrl+P	Conversion en langage de programmation Pascal.	
Ctrl+C et Ctrl+R	Conversion en ressource	
Ctrl+C et Ctrl+S	Ferme toutes les fenêtres sauvegardée	
Ctrl+C et Ctrl+T	Mode caractère italique	
Ctrl+C et Ctrl+U	Mode caractère soulignement.	
Ctrl+C et Ctrl+Z	Conversion en langage de programmation C/C++	
Cltr+D et Ctrl+C	Change d'unité de disque	
Ctrl+D et Ctrl+D	Docteur disque	
Ctrl+D et Ctrl+E	Regarde/Édition du disque	
Ctrl+D et Ctrl+F	Format une unité de disque	
Ctrl+D et Ctrl+H	Regarde/Édition du disque en hexadécimal.	
Ctrl+D et Ctrl+I	Information disque	
Ctrl+D et Ctrl+O	Option disque (“VERIFY ON/OFF”, ajustement,...)	
Ctrl+D et Ctrl+S	Docteur système/Entretien système	
Ctrl+D et Ctrl+V	Docteur anti-virus	
Ctrl+D et Ctrl+X	Efface la colonne courante actuellement marqué.	
Ctrl+D et Ctrl+Y	Efface la ligne courante actuellement marqué.	
Ctrl+D et Ctrl+Z	Efface le tableau courant.	
Ctrl+E et Ctrl+A	Émulateur d'Apple ][	
Ctrl+E et Ctrl+C	Émulateur de Coco III	
Ctrl+E et Ctrl+E	Déplacement de 2 lignes vers le haut	
Ctrl+E et Ctrl+H	Éditeur hexadécimal	
Ctrl+E et Ctrl+K	Émulateur de Commodore 64K	
Ctrl+E et Ctrl+M	Exécute une macro-commande.	
Ctrl+E et Ctrl+V	Émulateur de Commodore VIC-20.	
Ctrl+F et Ctrl+A	Assignation d'une unité à émuler (équivalent d'“ASSIGN” sous DOS).	
Ctrl+F et Ctrl+B	Traitement d'un fichier ligne par ligne (équivalent de “awk” d'Unix).	
Ctrl+F et Ctrl+C	Lance un fichier exécutable.	
Ctrl+F et Ctrl+D	Lance une fenêtre de Prompt DOS de modèle Malte.	
Ctrl+F et Ctrl+E	Efface un fichier.	
Ctrl+F et Ctrl+F	Ouvre une fenêtre de Gestionnaire de fichiers.	
Ctrl+F et Ctrl+G	Recherche une chaîne de caractères dans un fichiers (équivalent de “Grep”).	
Ctrl+F et Ctrl+L	Liste de fichier du répertoire courant.	
Ctrl+F et Ctrl+M	Crée un répertoire (équivalent de la commande “MkDir” sous DOS).	
Ctrl+F et Ctrl+U	Lance un fenêtre de Shell Unix.	
Ctrl+G	Suppression du caractère sur lequel se trouve le curseur.	
Ctrl+H et Ctrl+P	Partition du disque dur.	
Ctrl+I et Ctrl+C	Information sur le CMOS.	
Ctrl+I et Ctrl+I	Information interne sur le MonstreBook.	
Ctrl+I et Ctrl+M	Information sur la mémoire par la méthode du DOS appelée MCB.	
Ctrl+I et Ctrl+P	Information sur le pays actuellement configuré sur le système.	
Ctrl+I et Ctrl+S	Information sommaire sur l'ordinateur.	
Ctrl+I et Ctrl+V	Information sur la vidéo.	
Ctrl+I et Ctrl+X	Insère une colonne dans le bloc actuellement marqué.	
Ctrl+I et Ctrl+Y	Insère une ligne dans le bloc actuellement marqué.	
Ctrl+I et Ctrl+Z	Insère un tableau.	
Ctrl+J et Ctrl+C	Saute à l'interpréteur DOS du système (“Jump to DOS / Command / Shell”).	
Ctrl+J et Ctrl+D	Associé une unité à un autre (Joint)	
Ctrl+J et Ctrl+P	Associé un répertoire à un autre (Joint)	
Ctrl+K et Ctrl+B	Marque le début du bloc.	
Ctrl+K et Ctrl+C	Copie le bloc actuellement marqué.	
Ctrl+K et Ctrl+D	Quitter	
Ctrl+K et Ctrl+H	Couper le bloc (“cut”).	
Ctrl+K et Ctrl+K	Marque la fin du bloc.	
Ctrl+K et Ctrl+P	Imprime le bloc.	
Ctrl+K et Ctrl+R	Insère un fichier.	
Ctrl+K et Ctrl+S	Sauvegarder.	
Ctrl+K et Ctrl+T	Marquer un mot.	
Ctrl+K et Ctrl+V	Déplacement du bloc actuellement marqué.	
Ctrl+K et Ctrl+W	Écrit dans un fichier le bloc actuellement marqué.	
Ctrl+K et Ctrl+Y	Effacement d'un bloc actuellement marqué.	
Ctrl+K et Ctrl+Z et Lettre	Insère une colonne de la lettre spécifier au bloc marqué.	
Ctrl+L	Poursuite de la recherche	
Ctrl+M et Ctrl+A	Mode d'édition en langage de programmation assembleur.	
Ctrl+M et Ctrl+B	Mode d'édition en langage de programmation Basic.	
Ctrl+M et Ctrl+C	Mode d'édition en langage de programmation Cobol.	
Ctrl+M et Ctrl+E	Mode d'édition en langage de programmation Euphoria.	
Ctrl+M et Ctrl+F	Mode d'édition en langage de programmation Fortran.	
Ctrl+M et Ctrl+K	Change de couleur.	
Ctrl+M et Ctrl+L	Centrer à gauche.	
Ctrl+M et Ctrl+H	Passe en mode hôte.	
Ctrl+M et Ctrl+I	Mode d'édition de fichier d'intialisation de configuration (“.INI”).	
Ctrl+M et Ctrl+M	Mode d'édition de menu souris.	
Ctrl+M et Ctrl+P	Mode d'édition en langage de programmation Pascal.	
Ctrl+M et Ctrl+R	Centre à droite.	
Ctrl+M et Ctrl+U	Souligne le mot courant.	
Ctrl+M et Ctrl+Z	Mode d'édition en langage de programmation C/C++.	
Ctrl+N et Ctrl+A	Nouveau fichier en mode d'édition assembleur.	
Ctrl+N et Ctrl+B	Nouvelle icône	
Ctrl+N et Ctrl+C	Nouvelle feuille de calcul (tableur).	
Ctrl+N et Ctrl+D	Nouveau dessin	
Ctrl+N et Ctrl+E	Nouveau fichier en mode d'édition Euphoria.	
Ctrl+N et Ctrl+F	Nouveau fichier en mode d'édition Fortran.	
Ctrl+N et Ctrl+G	Nouveau document de format GAT	
Ctrl+N et Ctrl+H	Nouvelle entête de fichier en langage de programmation C/C++.	
Ctrl+N et Ctrl+K	Nouveau fichier AC.	
Ctrl+N et Ctrl+L	Nouveau fichier en mode d'édition Cobol	
Ctrl+N et Ctrl+M	Nouveau fichier musical de format .MOD	
Ctrl+N et Ctrl+N	Liste des nouveaux	
Ctrl+N et Ctrl+P	Nouveau fichier en mode d'édition Pascal.	
Ctrl+N et Ctrl+Q	Nouveau fichier en mode d'édition Basic.	
Ctrl+N et Ctrl+R	Nouveau fichier en mode d'édition Ressource.	
Ctrl+N et Ctrl+ W	Nouveau fichier en mode d'édition Basic d'Apple ][.	
Ctrl+N et Ctrl+X	Nouveau fichier en mode d'édition Basic Commodore 64K.	
Ctrl+N et Ctrl+Y	Nouveau fichier en mode d'édition Basic de Coco 3.	
Ctrl+N et Ctrl+Z	Nouveau fichier en mode d'édition C/C++.	
Ctrl+O et Ctrl+A	Ouvrir un fichier en mode d'édition Assembleur.	
Ctrl+O et Ctrl+B	Ouvrir un fichier d'icône.	
Ctrl+O et Ctrl+C	Ouvrir un fichier feuille de calcul (tableur)	
Ctrl+O et Ctrl+D	Ouvrir un dessin.	
Ctrl+O et Ctrl+E	Ouvrir un fichier de langage de programmation Euphoria.	
Ctrl+O et Ctrl+F	Ouvrir un fichier en mode de langage de programmation Fortran.	
Ctrl+O et Ctrl+G	Ouvrir un document de format GAT.	
Ctrl+O et Ctrl+H	Ouvrir un entête de langage de programmation C/C++.	
Ctrl+O et Ctrl+I	Mode d'auto-indentation actif/inactif.	
Ctrl+O et Ctrl+K	Ouvrir un fichier en mode d'édition de langage de programmation AC.	
Ctrl+O et Ctrl+L	Ouvrir un fichier en mode d'édition de langage de programmation Cobol.	
Ctrl+O et Ctrl+M	Ouvrir un fichier musical en format .MOD	
Ctrl+O et Ctrl+O	Liste des ouvertures.	
Ctrl+O et Ctrl+P	Ouvrir un fichier en mode d'édition de langage de programmation Pascal.	
Ctrl+O et Ctrl+Q	Ouvrir un fichier en mode d'édition de langage de programmation Basic.	
Ctrl+O et Ctrl+R	Ouvrir un fichier en mode d'édition ressource.	
Ctrl+O et Ctrl+S	Gestionnaire d'opérateur système.	
Ctrl+O et Ctrl+T	Mode tabulation actif/inactif	
Ctrl+O et Ctrl+W	Ouvrir un fichier en mode d'édition de format Basic d'Apple ][.	
Ctrl+O et Ctrl+X	Ouvrir un fichier en mode d'édition de format Basic de Commodore 64K.	
Ctrl+O et Ctrl+Y	Ouvrir un fichier en mode d'édition de format Basic de Coco III.	
Ctrl+O et Ctrl+Z	Ouvrir un fichier en mode d'édition de format de langage de programmation C/C++.	
Ctrl+P et Ctrl+A	Ouvrir un fichier assembleur et l'éditer en format compressé en mémoire.	
Ctrl+P et Ctrl+B	Ouvrir un fichier Basic et l'éditer en format compressé en mémoire.	
Ctrl+P et Ctrl+E	Ouvrir un fichier Euphoria et l'éditer en format compressé en mémoire.	
Ctrl+P et Ctrl+F	Ouvrir un fichier Fortran et l'éditer en format compressé en mémoire.	
Ctrl+P et Ctrl+H	Stationne les têtes de lectures du/des disque dur(s)	
Ctrl+P et Ctrl+K	Ouvrir un fichier AC et l'éditer en format compressé en mémoire.	
Ctrl+P et Ctrl+J	Journal personnel.	
Ctrl+P et Ctrl+L	Ouvrir un fichier Cobol et l'éditer en format compressé en mémoire.	
Ctrl+P et Ctrl+M	Fait jouer un fichier musical de format .MOD.	
Ctrl+P et Ctrl+P	Ouvrir un fichier Pascal et l'éditer en format compressé en mémoire.	
Ctrl+P et Ctrl+Q	Ouvrir un fichier Basic et l'éditer en format compressé en mémoire.	
Ctrl+P et Ctrl+S	Arrête de faire jouer le fichier musical.	
Ctrl+P et Ctrl+Z	Ouvrir un fichier C/C++ et l'éditer en format compressé en mémoire.	
Ctrl+Q et Ctrl+A	Recherche et remplacement.	
Ctrl+Q et Ctrl+B	Va au début du bloc.	
Ctrl+Q et Ctrl+C	Va a la fin du fichier.	
Ctrl+Q et Ctrl+D	Va a la fin de la ligne.	
Ctrl+Q et Ctrl+E	Va au début de la page écran.	
Ctrl+Q et Ctrl+F	Recherche de chaîne de caractères.	
Ctrl+Q et Ctrl+K	Va a la fin du bloc.	
Ctrl+Q et Ctrl+L	Permet de rappeler le contenu d'une ligne que vous avez modifiée par inadvertance.	
Ctrl+Q et Ctrl+P	Retourne à la position antérieur du curseur.	
Ctrl+Q et Ctrl+R	Va au début du fichier.	
Ctrl+Q et Ctrl+S	Va au début de la ligne.	
Ctrl+Q et Ctrl+T	Tri.	
Ctrl+Q et Ctrl+W	Position de l'erreur.	
Ctrl+Q et Ctrl+X	Va à la fin de la page.	
Ctrl+Q et Ctrl+Y	Suppression des caractères compris entre la position du curseur et la fin de la ligne.	
Ctrl+S	Efface les espaces a la droite du curseur.	
Ctrl+T	Suppression du mot a la droite du curseur.	
Ctrl+U	Souligne le mot à la fin du curseur et si positionne à la fin.	
Ctrl+V et Ctrl+A	Regarde un fichier en format ASCII.	
Ctrl+V et Ctrl+M	Choisir le mode vidéo d'affichage.	
Ctrl+W	Défilement du texte d'une ligne vers le bas, position du curseur identique (mieux connu sous le terme de Scroll Up).	
Ctrl+X	Centre le texte de la ligne courante.	
Ctrl+Y	Efface la ligne courante.	
Ctrl+Z	Défilement du texte d'une ligne vers le haut, position du curseur identique (mieux connu sous le terme de Scroll Down)	
Ctrl+F1	Aide technique.
•	Sous l'éditeur de traitement de texte de format GAT, permet de connaître différentes informations statistiques en rapport avec le document. 
•	Sous le regarde hexadécimal, retourne des informations reconnue par la bibliothèque.
•	Sous le gestionnaire de fichiers, retourne des informations d'en-tête concernant le fichier actuellement sélectionner.
•	Sous le terminal, lance le docteur modem.
•	Dans les autres cas, il s'agit de l'information détailler.	
Ctrl+F2	Édition d'un menu d'application.	
Ctrl+F3	Lance une fenêtre de Gestionnaire de fichiers.	
Ctrl+F7	Recherche	
Ctrl+F8	Remplace	
Ctrl+F10	Exécute une macro-commande.	
Ctrl+Insert	Copie un bloc marqué.	
F1	Aide au sujet de ...	
F2	Sauvegarde.	
F3	Ouvrir un fichier.	
F4	Regarde hexadécimal.	
F5	Copie un fichier.	
F6	Va à la fenêtre suivante.	
F7	Crée un répertoire.	
F8	Efface un/des fichier(s)	
F9	Déplace/renomme un/des fichier(s)	
Shift+F2	Active le menu d'application.	
Shift+F3	Ouvrir un document de format GAT.	
Shift+F4	Regarde ASCII	
Shift+F6	Va  la fenêtre précédente	
Shift+F9	Sous l'éditeur de traitement de texte, passe en mode dessin.	
Shift+F10	Édition d'une macro-commande.	
Shift+Insert	Insertion d'un bloc.	

Les modèles de raccourcis de style Windows (Windows et OS/2) sont les suivants:
Combinaison clavier	Description	
Alt+F4	Fermeture de la fenêtre d'application.	
Ctrl+E	Centrer le texte de la ligne courante.	
Ctrl+G	Caractère spécifier en gras.	
Ctrl+I	Caractère spécifier en italique.	
Ctrl+Insert	Copie un bloc marqué.	
Ctrl+O	Ouvrir un document.	
Ctrl+P	Impression du document courant.	
Ctrl+S	Sauvegarde du document courant.	
Ctrl+U	Caractère spécifier souligner.	
Ctrl+Z	Annuler la dernière opération.	
F1	Aide	
F10	Accède à la barre de menu déroulant	
Shift+Delete	Couper un bloc.	
Shift+Insert	Insertion d'un bloc.	
 
Gestionnaire de fichiers
Sous les systèmes d'exploitation de la ligné du DOS, lorsqu'on rajoute un extension, dans le but de faire jouer un .MOD par exemple, on doit toujours passer par un chemin unique, impossible d'utiliser un autre moyen que le programme fournissant la nouvelle propriété en question! Sous les environnements graphique tel Windows, on peut ajouter une composante universelle offrant un service utilisable par toutes les applications. Cette innovation est un plus, toutefois le MonsterBook fonctionne sous DOS, on devra donc trouver un autre compromis! Alors quoi faire?
Afin de résoudre le  d'avoir un dédoublement de fonction inutile associé à un fichier, il sera primordiale d'écrire une unité de liaison d'outil d'un menu contextuel applicable à une sélection de fichier. Celui-ci offrant les éléments de base (renommer, supprimer,...) afin d'effectuer des tâches d'entretien primordiale et de composantes associée. Le service aura donc l'orientation suivante:
Menu Contextuel pour un fichier
 (index 26)

Ouverture d'un fichier
Gestionnaire de programmes
(fenêtre d'exploration)

Gestionnaire de fichiers

Environnement graphique
L'environnement graphique sera grandement inspirer des concepts de l'Amiga. Ainsi on perçois l'affichage non pas comme pixel par pixel mais avec une orientation quadriller. On ne retrouve donc aucun multiple inférieur à 8 dans les routines d'affichage de base des boîtes de dialogues. De cette façon on pourra éviter l'utilisation d'opération de multiplication car ceux-ci sont relativement lent en terme d'exécution de cycle d'horloge du microprocesseur. Car ne l'oublions pas, on devra toujours être en mesure d'exploiter le système sous des machines très lentes ou par exemple sur un émulateur comme DOSEmu de Linux! On devra également être en mesure d'utiliser les routines en se référençant à partir d'une boite de dialogue; Simple question de logique...
On pourra le faire fonctionner en mode texte aussi bien qu'en mode graphique. Car il est parfois inutile de passer en mode graphique simplement pour voir un simple texte. Dans le même ordre d'idée, les modes suivants seront donc nécessairement supporter:
Type	Définition	Nombre de couleurs	Carte vidéo	
Texte	40x25	16 couleurs	CGA, EGA, VGA, SVGA	
Texte	80x25	Monochrome	MDA, EGA, VGA, SVGA	
Texte	80x25	16 couleurs	CGA, EGA, VGA, SVGA	
Texte	80x28	16 couleurs	CGA, VGA, SVGA	
Texte	80x43	16 couleurs	EGA, VGA, SVGA	
Texte	80x50	16 couleurs	VGA, SVGA	
Texte	132x25	16 couleurs	 GS et certaines SVGA	
Texte	132x28	16 couleurs	GS et certaines SVGA	
Texte	132x43	16 couleurs	Certaines SVGA	
Texte	132x50	16 couleurs	Certaines SVGA	
Texte	132x60	16 couleurs	Certaines SVGA	
Graphique	320x200	4 couleurs	CGA, EGA, VGA, SVGA	
Graphique	360x480	256 couleurs	VGA, SVGA	
Graphique	640x200	2 couleurs	CGA, EGA, VGA, SVGA	
Graphique	640x200	16 couleurs	GS, EGA, VGA, SVGA	
Graphique	640x350	2 couleurs	EGA, VGA, SVGA	
Graphique	640x350	16 couleurs	EGA, VGA,SVGA	
Graphique	640x480	2 couleurs	EGA, VGA, SVGA	
Graphique	640x480	16 couleurs	VGA, SVGA	
Graphique	640x480	256 couleurs	SVGA	
Graphique	640x480	65536 couleurs	SVGA	
Graphique	800x600	16 couleurs	SVGA	
Graphique	800x600	256 couleurs	SVGA	
Graphique	800x600	65536 couleurs	SVGA	
Graphique	1024x768	16 couleurs	SVGA	
Graphique	1024x768	256 couleurs	SVGA	
Graphique	1024x768	65536 couleurs	SVGA	

Dans l'éventualité de minimiser la quantité de code générer par l'utilisation de boite de dialogue et afin d'alléger au niveau  de la compréhension de la programmation de ceux-ci, on devra ajouter un support de code processeur DPU (voir document concerner). Celui-ci étant un code machine spécialiser dans le traitement de boite de dialogue, nous permettra d'obtenir d'excellent compromis en plus d'offrir la possibilité de modifier les boites de dialogues dans le but d'une traduction par exemple ou a leur convenance sans toutefois nécessiter les codes sources original du programme ou une recompilation de celui-ci. En somme il s'agira d'un compromis offrant également la possibilité de ne pas charger immédiatement en mémoire ces composantes et d'éventuellement les inclure a une gigantesque base de données.
Dans le but d'offrir une compatibilité a des environnements plutôt difficile, le pointeur de souris par exemple pourra être en graphique même en mode texte (inspirer des logiciels de Symantec et de Central-Point) et offrir un mode de soulignement à partir de carte vidéo EGA ou postérieure. Et donc, l'environnement graphique pourra naturellement fonctionner aussi bien en mode texte quand mode graphique.
L'esthétisme de l'environnement graphique devra également inclure certaines options particulière afin de faciliter une migration de style d'environnement a un autre. Ainsi, on retrouvera des boutons ayant le style Elvis, Bubble, Windows, OS/2, Amiga, Macintosh, Box,... Dans le même genre d'idée on pourra constater le même phénomène concernant le cadre des applications: Robotic, Windows, Relief,... Voici donc les styles de bouton à imiter:
Nom	Description	Aspect	
Elvis	Descendant du Turbo Vision		
Bubble	En forme de cercle		
Windows et OS/2	Des systèmes d'exploitation OS/2 et Windows, simple bordure en relief.		
Amiga	Des ordinateurs Amiga, forme de losange		
Macintosh	Des ordinateurs Macintosh		
Box	Grosse boite faisant le contour de l'écriture.		

Lorsque l'utilisateur sera confronter a une configuration de composantes, il devra être possible d'afficher simultanément pendant sa sélection un GIF animer (ou substitue) ou non représentant la catégorie de l'opération qu'il veut effectuer. Cette option sera nécessaires afin de promouvoir l'efficacité du MonsterBook et surtout parce que les masses populaires est de nature facilement impressionnables par “le tape à l'oeil”! Il s'agit en d'autre terme d'un atout essentiel au niveau commercial.
La technologie visant a effectuer une gestion des multiples fenêtres d'application sera basée sur la méthode H (voir document concerner) celui-ci offrant contrairement au système d'exploitation graphique traditionnel des routines virtuel de branchement sur des temps a perte relativement court. Ceci permettant d'effectuer un semblant de multitâche même si pourtant le noyau ne l'est pas vraiment!

Traitement de texte
Le traitement de texte utilisera une technique fort simple de gestion de traitement de l'information. Il exploitera la technique de Liste Symétrique afin de pouvoir charger de l'information de taille variable.
Des propriétés particulière devront être ajouter afin de permettre la métamorphose de cette application pour qu'il prenne une forme identique a celle de Microsoft Office,  Word Perfect (dans son ancien mode de fonctionnement DOS aussi bien que depuis qu'il fut repris par Corel sous l'aspect de Windows), Premier Choix, Professionnal Write, Emac de Linux ou un autre concurrent. Ainsi on devra être capable de fixer la règle en haut ou en bas de la fenêtre ou ne pas l'afficher du tout. On devra aussi être capable de déplacer la barre d'outils dans les mêmes position. Il devra également être possible d'ajouter une barre supplémentaire dans le haut de la fenêtre pour offrir une compatibilité possible avec StarOffice par exemple lorsqu'il permet de charger les derniers fichiers éditer ou visualiser.
On devra également être capable d'inclure des images au document, ceci permettant l'inclusion par exemple d'histogramme, de tableur ou autre données du même genre. Ils pourront être directement inclus au document ou tous simplement être un lien par exemple envers un GIF par exemple et charger indépendamment à chaque fois. Ce compromis permettrait par exemple l'utilisation de la même image dans plusieurs document différents. Cette aspects pourra être relativement intéressant dans les cas ou l'on réexploite souvent les mêmes images, comme dans le cas de barre de séparation en autre. Il serait en effet tout a fait absurde de gaspiller la moitié de l'espace attribuer au document sous prétexte d'indépendance envers les autres pourtant inséparable de la première au niveau des idées...
Afin de permettre une expansion du traitement de texte vers une optique plus proche de celle cité plus haut, il faudra offrir une système parallèle complémentaires au traitement de texte. Il s'agit d'une liste symétrique ayant une correspondance avec l'information du traitement de texte a proprement parler dont voici l'entête de chacun d'eux:
Nom	Taille	Description	
Modèle	1 octet	Le modèle correspondant:	
		Code	Description	
		0	Nulle, inutilisé	
		1	Repère de texte	
		2	Image	
		3	Police de caractères externe	
		4	Cadre de tableau, tableur,...	
		5	Base de données	
		6	Dessin en fil de fer	
		7	Lien INTERNET	
		8	Données interne du document (code Java par exemple,...)	
		9	Faute d'orthographe	
		10	Couleur comme les remarques de code source en autre.	
		11	Date du jour	
		12	Lettrine	
		13	Remarque	
		14	Macro	
		15	Ligne horizontal	
X1	1 octet	Position horizontal supérieur	
Y1	1 octet	Position vertical supérieur	
X2	1 octet	Position horizontal inférieur	
Y2	1 octet	Position vertical inférieur	

Lorsque le traitement de texte sera en mode d'édition de code source, il devra pouvoir indiquer de façon accentuer les différents mots considérer comme de couleurs différentes. Voici donc la liste correspondante à chacun des cas:
Langage	Cas	Identificateur	
Assembleur 80x86	Mots d'instruction	AAA, AAD, AAM, AAS, ADC, ADD, AND, BSF, BSR, BT, BTC, BTR, BTS, CALL, CBW, CLC, CLD, CLI, CMC, CMP, CMPSB, CMPSD, CMPSW, CWD, DAA, DAS, DEC, DIV, ENTER, ESC, HLT, IDIV, IMUL, IN, INC, INSB, INSD, INSW, INT, INTO, IRET, IRETD, JA, JAE, JB, JBE, JC, JCXZ, JE, JECXZ, JG, JGE, JL, JLE, JMP, JNA, JNAE, JNB, JNBE, JNC, JNE, JNL, JNLE, JNG, JNGE, JNO, JNS, JNZ, JO, JS, JZ, LAHF, LAR, LDS, LEA, LEAVE, LES, LFS, LGS, LOCK, LODSB, LODSD, LODSW, LOOP, LOOPE, LOOPNE, LOOPNZ, LOOPZ, MOV, MOVSB, MOVSD, MOVSW, MOVSX, MOVZX, MUL, NEG, NOP, NOT, OR, OUT, OUTSB, OUTSD, OUTSW, POP, POPA, POPAD, POPF, PUSH, PUSHA, PUSHAD, PUSHF, RCL, RCR, REP, REPE, REPNE, REPNZ, REPZ, RETF, RETN, ROL, ROR, SAHF, SAL, SAR, SBB, SCASB, SCASD, SCASW, SET, SHL, SHLD, SHR, SHRD, STC, STD, STI, STOSB, STOSD, STOSW, SUB, TEST, WAIT, XCHG, XLAT et XOR	
Assembleur 80x86	Mots de registre	AH, AL, AX, BH, BL, BP, BX, CH, CL, CS, CX, DH, DI, DL, DS, DX, EAX, EBP, EBX, ECX, EDI, EDX, ESI, ESP, ES, FS, GS, SI, SP et SS	
Assembleur 80x86	Mots réservé	ASSUME, BYTE, CMPS, CODE, DATA, DATAPTR, DB, DD, DUP, DW, DWORD, ELSE, END, ENDIF, ENDM, ENDP, ENDS, EQU, EXTRN, FAR, FWORD, IFB, IFE, INCLUDE, INS, LOCAL, LODS, MACRO, MOVS, NEAR, NOTHING, OFFSET, OUTS, PAGE, PASCAL, PRIVATE, PROC, PTR, PUBLIC, QWORD, RET, SCAS, SEGMENT, SHORT, STOS, STRUC, TBYTE, THIS, TITLE, TYPE et WORD	
Basic	Mots de fonction	ABS, ASC, ATN, BRK, BUTTON, CDBL, CHR$, CINT, COM, COS, CSNG, CSRLIN, CVD, CVI, CVS, DATE$, DBL, EOF, ERLIN, ERNO, ERR, ERROR, EXP, FIX, FRE, HEX$, HPOINT, INKEY$, INP, INSTR, INT, JOYSTK, LEFT$, LEN, LOC, LOF, LOG, LPEEK, LPOS, MEM, MID$, MKD$, MKI$, MKS$, OCT$, PEEK, PMAP, POINT, POS, PPOINT, RIGHT$, RND, SGN, SIN, SPC, SQR, STR$, STRIG, STRING$, TAB, TAN, TIME$, TIMER, USR, VAL, VARPTR$ et VARPTR	
Basic	Mot d'instruction	APPEN, AUDIO, AUTO, BEEP, BLOAD, BRU, BSAVE, CATALOG, CHDIR, CIRCLE, CLEAR, CLOADM, CLOAD, CLOSE, CLS, COLOR, CONT, CSAVEM, CSAVE, DEF, DELETE, DEL, DRAW, EDIT, ERROR, EXEC, FIELD, FILES, FLASH, GET, GR, HBUFF, HCIRCLE, HCLS, HCOLOR, HDRAW, HGET, HGR, HLINE, HLIN, HOME, HPAINT, HPLOT, HPRINT, HPUT, HRESET, HSCREEN, HSET, HSTAT, HTAB, INPUT, INTERRUPT, INVERSE, KEY, KILL, LET, LINE, LIST, LLIST, LOAD, LOCATE, LOCK, LOOP, LPOKE, LPRINT, LSET, MAXFILE, MERGE, MKDIR, MOTOR, MO, NAME, NEW, NOMO, NORMAL, NOTRACE, OPEN, OUT, PAINT, PALETTE, PCLEAR, PCLS, PCOPY, PLAY, PLOT, PMODE, POKE, POP, POSITION, PRESET, PRINT, PSET, PUT, RANDOMIZE, READ, RECALL, RENAME, RENUM, RESET, RESTORE, RESUME, RETURN, RMDIR, RSET, SAVE, SCREEN, SET, SHELL, SHLOAD, SKIPF, SOUND, STOP, STORE, SWAP, SYSTEM, SYS, TRACE, UNLOCK, USING, VERIFY, VIEW, VLIN, VTAB, WAIT, WIDTH, WINDOW, WRITE et XDRAW	
Basic	Mots réservé	AND, AT, BASE, CALL, CASE, CHAIN, COMMON, DATA, DIM, DO, DYNAMIC, ELSE, END, ERASE, FOR, GOSUB, GOTO, IF, INTERRUPT, LOOP, NEXT, NOT, ON, OPTION, OR, RUN, SELECT,  STEP, STOP, SUB, THEN, TO, TROFF, TRON, WEND, WHILE et XOR	
Batch File	Mots réservé	BREAK, CALL, CD, CHCP, CHDIR, COPY, CTTY, DATE, DEL, DIR, ERASE, ERRORLEVEL, EXIT, FOR, GOTO, IF, LH, LOADHIGH, MD, MKDIR, MOVE, NOT, PAUSE, RD, REN, RMDIR, SET, SHIFT, TIME, TYPE, VERIFY et VER.	
C/C++	Mots réservé	asm,  auto,  break,  case,  cdcel,  char,  constant,  continue,  default,  do,  double,   else,  enum,  extern,  far,  float,  for,  goto,  huge,  if,  int,  interrupt,  long,  near,  pascal,  register,  return,  short,  signed,  sizeof,  static,  struct,  switch,  typedef,  union,  unsigned,  void,  volatile,  while, _cs, _ds, _es, _ss, _AH, _AL, _AX, _BH, _BL, _BP, _BX, _CH, _CL, _CX, _DH, _DI, _DL, _DX, _SI et _SP.	
Cobol	Mots réservé	ACCEPT,  ACCESS, ADD,  ADVANCING, AFTER, ALL, ALPHABETIC, ALSO, ALTER, ALTERNATIVE, AND, ARE, AREA, AREAS, ASCENDING, ASSIGN, AT, AUTHOR, BEFORE, BLANK, BLOCK, BOTTOM, BY, CALL, CANCEL, CD, CF, CH, CHARACTER, CHARACTERS, CLOCK-UNITS, CLOSE, COBOL, CODE, CODE-SET, COLLATING, COLUMN, COM, COMMA, COMMUNICATION, COMPUTATION, COMPUTE, CONFIGURATION, CONTAINS, CONTROL, CONTROLS, COPY, COR, CORRESPONDING, COUNT, CURRENCY, DATA, DATE, DATE-COMPILED, DATE-WRITTEN, DAY, DE, DEBUG-CONTENTS, DEBUG-ITEM, DEBUG-LINE, DEBUG-NAME, DEBUG-SUB-1, DEBUG-SUB-2, DEBUG-SUB-3, DEBUGGING, DECIMAL-POINT, DECLARATIVES, DELETE, DELIMITED, DELIMITER, DEPENDING, DESCENDING, DESTINATION, DETAIL, DISABLE, DISPLAY, DIVIDE, DIVISION, DOWN, DUPLICATES, DYNAMIC, EGI, ELSE, EMI, ENABLE, END, END-OF-PAGE, ENTER, ENVIRONMENT, EOP, EQUAL, ERROR, ESI, EVERY, EXCEPTION, EXIT, EXTEND, FD, FILE, FILE-CONTROL, FILLER, FINAL, FIRST, FOOTING, FOR, FROM, GENERATE, GIVING, GO, GREATER, GROUP, HEADING, HIGH-VALUE, HIGH-VALUES, I-O, I-O-CONTROL, IDENTIFICATION, IF, IN, INDEX, INDEXED, INDICATE, INITIAL, INITIATE, INPUT, INPUT-OUTPUT, INSPECT, INSTALLATION, INTO, INVALID, IS, JUS, JUSTIFIED, KEY, LABEL, LAST, LEADING, LEFT, LENGTH, LESS, LIMIT, LIMITS, LINAGE, LINAGE-COUNTER, LINE, LINE-COUNTER, LINES, LINKAGE, LOCK, LOW-VALUE, LOW-VALUES, MEMORY, MERGE, MESSAGE, MODE, MODULES, MOVE, MULTIPLE, MULTIPLY, NATIVE, NEGATIVE, NEXT, NO, NOT, NOTE, NUMBER, NUMERIC, OBJECT-COMPUTER, OCCURS, OF, OFF, OMITTED, ON, OPEN, OPTIONAL, OR, ORGANIZATION, OUTPUT, OVERFLOW, PAGE, PAGE-COUNTER, PERFORM, PF, PH, PIC, PICTURE, PLUS, POINTER, POSITION, POSITIVE, PRINTING, PROCEDURE, PROCEDURES, PROCEED, PROGRAM, PROGRAM-ID, QUEUE, QUOTE, QUOTES, RANDOM, RD, READ, RECEIVE, RECORD, RECORDS, REDEFINES, REEL, REFERENCES, RELATIVE, RELEASE, REMAINDER, REMOVAL, RENAMES, REPLACING, REPORTS, RERUN, RESERVE, RESET, RETURN, REVERSED, REWIND, REWRITE, RF, RH, RIGHT, ROUNDED, RUN, SAME, SD, SEARCH, SECTION, SECURITY, SEGMENT, SEGMENT-LIMIT, SELECT, SEND, SENTENCE, SEPARATE, SEQUENCE, SEQUENCIAL, SET, SIGN, SIZE, SORT, SORT-IMAGE, SOURCE, SOURCE-COMPUTER, SPACE, SPACES, SPECIAL-NAMES, STANDARD, STANDARD-1, START, STATUS, STOP, STRING, SUB-QUEUE-1, SUB-QUEUE-2, SUB-QUEUE-3, SUBTRACT, SUM, SUPPRESS, SYMBOLIC, SYN, SYNCHRONIZED, TABLE, TALLYING, TAPE, TERMINAL, TERMINATE, TEXT, THAN, THROU, THROUGH, TIME, TIMES, TO, TOP, TRAILING, TYPE, UNIT, UNSTRING, UNTIL, UP, UPON, USAGE, USE, USING, VALUE, VALUES, VARYING, WHEN, WITH, WORDS, WORKING-STORAGE, WRITE, ZERO  et ZEROES	
Euphoria	Mots réservé	AND, BY,  CONSTANT,  DO,  DOWNTO,  END,  ELSE,  ELSIF,  EXIT,  FOR,  FUNCTION,  GLOBAL,  IF,  INCLUDE,  OR,  PROCEDURE,  RETURN,  THEN,  TO,  TYPE,  WHILE, WITHOUT et  XOR	
Fortran	Mots réservé	AND, CALL, COMMON, CONTINUE, DATA, DIMENSION, DO, END, EQ, GE, GOTO, GO, GT, IF, LT, NE, NOT, OR, PROGRAM, STOP, THEN et TO	
Pascal	Mots réservé	ABSOLUTE,  AND,  ASSEMBLER,  ASM,  ARRAY,  BEGIN,  CASE,  CONST,  CONSTRUCTOR,  CSTRING,  DESTRUCTOR,  DIV,  DO,  DOWNTO,  ELSE,  END,  EXPORT,  EXPORTS,  EXTERNAL,  FILE,  FAR,  FOR,  FUNCTION,  GOTO,  IF,  IMPLEMENTATION,  IN,  INHERITED,  INLINE,  INTERFACE,  LABEL,  LIBRARY,  MOD,  NEAR,  NIL,  NOT,  OBJECT,  OF,  OR,  PACKED,  PROCEDURE,  PROGRAM,  RECORD,  REPEAT,  SET, SHL,  SHR,  STRING,  THEN,  TO, TYPE,  UNIT,  UNTIL,  USES,  VAR,  VIRTUEL,  WHILE,  WITH, XOR 	
Pascal B57	Mots réservé	ABSOLUE, ABSOLUTE, ALLERA, ALORS, AND, ARRAY, ASM, ASSEMBLE, ASSEMBLER, ASSEMBLEUR, AUTREMENT, AVEC, BEGIN, BIBLIOTHEQUE, CAS, CASE, CODECONST, CONST, CONSTANT, CONSTANTE, CONSTRUCTEUR, CONSTRUCTOR, CSCONST, CSDATA, DANS, DE, DEBUT, DECALD, DECALG, DED, DEG, DESTRUCTEUR, DESTRUCTOR, DIV, DO, DUPLICATE, DUPLICATION, DUPLIQUE, ELIF, ELSE, ELSEIF, ELSIF, END, ENLIGNE, ENREGISTREMENT, ENSEMBLE, ET, ETIQUETTE, EXPORTS, FAIRE, FAR, FICHIER, FILE, FIN, FINALISATION, FINALIZATION, FONCTION, FOR, FUNCTION, GOTO, HERITIER, IF, IMPLEMENTATION, IN, INCLUDE, INHERITED, INLINE, INITIALISATION, INITIALIZATION, INTERFACE, INTERRUPT, JUSQUA, LABEL, LIBRARY, LOIN, MACRO, MOD, NEAR, NOT, OBJECT, OBJET, OF, OR, OU, OUX, PACKED, PAQUET, PAS, POUR, PROCEDURE, PROCHE, PROGRAM, PROGRAMME, RANGEE, RECORD, REGISTER, REGISTRE, REPEAT, REPETER, SET, SHL, SHR, SI, SINON, TANTQUE, THEN, TO, TTQ, TYPE, TYPEDEF, UNIT, UNITE, USES, UTILISES, VAR, VARIABLE, VIRTUAL, VIRTUEL, WHILE, WITH et XOR	
PopMenu	Mots réservé	ASSIGN, BEGIN, END, EXECUTE, MATCH, MEND, MENU, MENUITEM, NOTHING, PEND, POPUP, SELECT, SEPARATOR, TEXT et TYPE	

 En plus, on devra offrir la possibilité de l'activer ou de le désactiver ou de passer d'un format à l'autre selon le désir de l'utilisateur!
Concernant les macros, on aura le choix entre les différentes commandes suivantes exécutable à partir d'un fichier texte:
Instruction	Description	
For	Pour produire un effet répétitif. 	
Ln	Saute d'une ligne. L'équivalent de la touche «Enter».	
PageFormat	Cette instruction indique au traitement de texte que vous voulez spécifier le format (ou la dimension de votre page pour  permettre de ne pas produire  de conflit de trop petite ou grande taille de page... )	
PageNm	«PageNumber»,  numéro  de page,  indique  votre numéro de page additionner lors de l'impression de votre texte. 	
Put	Affiche du texte(s) mais sans passer à la ligne suivante.  Il  attend  bien  sagement  à la suite du texte venant  d'être écrit.	
PutLn	Affiche du texte(s) et passe à la ligne suivante.  	
SetDblChr	«SetDoubleCharacter», fixe en double largeur les prochains caractères,   change le mode d'édition du traitement de texte. Les caractères suivant  seront automatiquement d'une largeur double.	
SetNorChr	«SetNormalCharacter», fixe en mode normal, s'en attribue particulier les  prochains caractères. Les caractères suivant ne seront plus double largeur, gras, italique ou quelque chose du même genre, ils seront ordinaire, sans charme, par défaut...	

Voici maintenant une description plus détaillés de chacune des macros:
L'instruction PageFormat
Sa syntaxe ne permet qu'un style possible «PageFormat» suivi d'un numéro à 4 chiffres séparées par des virgules comme ce format ci:
PageFormat X1,Y1,X2,Y2	
Vous ne pouvez naturel pas placer des lettres dans cette instruction, ils sont là juste  comme identificateur. Le premier, «X1», indique la coordonnée (marge de)  gauche de la feuille.  Le deuxième «Y1»  indique la coordonnée du haut de la feuille. Le troisième «X2» indique la marge de droite, en partant de la gauche, en caractères. Et non pas de droite vers la gauche! Le dernier, «Y2», est naturel la position  du bas en partant du haut.  Et surtout pas la marge  de bas  de la  feuille  vers  le haut,  sinon  vous  rencontrerez  des dimensions  de feuilles négative,  soit théoriquement  impossible  dans notre univers!
 Par exemple si vous souhaitez ardemment garder une feuille de format standard, voici ce qu'il faut marquer: «PageFormat 10,6,70,60», pour en mode compressé «PageFormat 10,6,120,82».
Les instructions Put et PutLn
Ces 2 instructions s'applique de la même manière à la seule différence que l'un saute une ligne après (PutLn) et l'autre pas (Put). Il suffit d'écrire entre guillemet (")  votre message à transmettre. Si par exemple vous souhaitez faire écrire le message  «Je déteste les macros!». Vous écrirez le l'instruction suivante:
Put "Je déteste les macros!" 	
L'interpréteur de macro n'écrit pas les guillemets! C'est seulement une délimitation pour lui.

Chiffrier électronique (tableur)
Le chiffrier électronique mieux connu sous le nom de tableur devra s'orienter vers la technique dites “Liste Symétrique Intelligente”, celle-ci offre la possibilité d'avoir un nombre relative de ligne vide sans pour autant devoir gaspiller de la mémoire ou du temps dans sa recherche appliquer. Autrement dit, si on rentre des données seulement à la cellule AAAB65520 on ne gaspillera pas 5 Mo pour pouvoir stocker cette cellule mais seulement la vingtaine d'octet nécessaire à imaginer le delta correspondant. On devra également inclure les formules au sein même du code permettant d'obtenir par exemple des fonctions statistiques, astronomiques ou autres.
Les caractéristiques de chacune des cellules permettront d'obtenir une couleur particulier, un format de bordure et autres caractéristiques du même genre:
Nom	Taille	Description	
Format	1 octet	Type de cellule	
		Code	Description	
		0	Vide	
		1	Valeur numérique	
		2	Texte	
		3	Formule mathématique	
		4	Date	
Justification	1 octet	Droite, Centrer ou Gauche	
Attribut	1 octet	Couleur d'attribut (comme celui de l'écran de texte)	
Attribut spéciaux	1 octet	Attribut gras, souligner, exposant,...	
Bordure	1 octet	Bordure: droite, gauche, haut et/ou bas	

Dans le cas d'une bordure, il y a aura une combinaison possible de haut et bas, de gauche et droite, et ainsi de suite,... Toutes les combinaisons sont donc autorisées.

Programme de dessin technique
Le programme de dessin technique ne peut sauvegarde en Bitmap chacun des points, lignes, rectangles, ... dans un fichier d'image, il serait impossible de pouvoir le modifier, raccourcir, déplacement chacune de ses formes. Il deviendra invraisemblable de chercher une couleur de pixel ressemblant a une ligne a travers une image, ça demanderait des calculs presque infinie, voir même une compréhension humaine de l'image. Et se serait beaucoup trop long! Alors pour remédier a se problème, on suppose que chaque forme est en fait un objet manipulable de façon indépendante. On devra effectuer une recherche pour trouver le bonne objet peut importe l'échelle, la position, la taille,...
Tout d'abord, les objets sont tous en trois dimensions et se sont ses coordonnées ainsi que le modèle représentant chacun des objets au niveau interne. Voici de quel façon les caractéristiques de chaque objets devront être stockée en mémoire:

Nom	Taille	Description	
Modèle	1 octet	Le modèle correspondant:	
		Code	Description	
		0	Nulle, inutilisé	
		4	Point	
		5	Ligne	
		6	Boîte (rectangle)	
		7	Cercle (sphère)	
		8	Cylindre	
		9	Cône	
		50	Flèche avec les coins carrés	
		51	Flèche avec les coins en rond.	
		99	 DFD: Boite de contexte	
		100	DFD: Processus (Traitement)	
		101	DFD: Entité	
		102	DFD: Dépôt (Fichier)	
X1	Réel (6 octets)	Position X1 d'un cube  (X1,Y1,Z1)-(X2,Y2,Z2)	
Y1	Réel (6 octets)	Position Y1 d'un cube  (X1,Y1,Z1)-(X2,Y2,Z2)	
X2	Réel (6 octets)	Position X2 d'un cube  (X1,Y1,Z1)-(X2,Y2,Z2)	
Y2	Réel (6 octets)	Position Y2 d'un cube  (X1,Y1,Z1)-(X2,Y2,Z2)	
Z1	Réel (6 octets)	Position Z1 d'un cube  (X1,Y1,Z1)-(X2,Y2,Z2)	
Z2	Réel (6 octets)	Position Z2 d'un cube  (X1,Y1,Z1)-(X2,Y2,Z2)	
Encrée	Booléen (1 octet)	Invisible lorsqu'ils sont encrées dans un autre objet?	

Applications terminal
Les applications terminal contrairement aux autres applications inclus dans le MonsterBook, seront codés comme une application console lequel seront exécuté à l'intérieur du MonsterBook sous la forme d'une session d'émulateur 8086. En effet, le but de cette construction un peu spécial n'est pas sans raison, puisqu'il faudra permettre d'exécuter le noyau de façon indépendant ou juxtaposer de l'environnement graphique   avec le terminal de son choix. Il ne pourra donc pas être tout simplement inclus dans l'environnement graphique et être impossible a exécuter sans lui. Pour cette raison, il devra être diviser du projet d'environnement graphique pour atteindre cette objectif.

Outils programmeurs
L'outils des programmeurs devant rendre un service rapide, immédiat et simple est sans nulle doute l'inclusion d'un genre de Visual Basic à l'intérieur même du MonsterBook. Celui-ci devra, pour permettre une pleine adaptation optimale être précompilé en P-Code (un peu comme le GWBASIC à l'époque pour accélérer l'interpréteur) de façon entièrement transparente, c'est-à-dire ne pas avertir le programmeur des différentes étapes pour l'interpréter son code mais simplement voir le résultat final.
L'autre élément permettant d'obtenir une puissance colossale en terme d'espace disque d'espace et de simplicité c'est le puissant code DPU. Celui-ci est ni plus ni moins qu'un code machine scripte spécialisé pour la boite de dialogue. En voici les principaux codes valides:
Code	Description	
00h	Indicatif de terminaison	
01h	 SIZE X,Y	
02h	 WINDOWCOLORCLASSIC Title	
03h	CLOSEICON	
04h	LN	
05h	BARUP	
06h	 TEXT Message	
07h	TEXT (X,Y),Message 	
08h	TEXT (X),Message	
09h	 MESSAGE message	
0Ah	 SIMPLE GRID(x,y),attribut	
0Bh	 BARHORI (x1,y,x2)	
10h	IF TRUE THEN 	
11h	ELSE	
12h	END IF 	
31h	 COLORCUBE (X,Y),Largeur,Hauteur	
41h	 CAPTION BYTE (X,Y),Longueur	
42h	CAPTION WORD (X,Y),Longueur	
43h	CAPTION LONG (X,Y),Longueur 	
44h	CAPTION REAL (X,Y),Longueur	
46h	CAPTION STRING (X,Y),Longueur	
4Fh	CAPTION COPY ( Xsource, Ysource ), ( Xtarget, Ytarget ) , ( XglobalProgress , YglobalProgress ) , ( XlocalProgress , YlocalProgress )	
50h	COPY|MOVE source,target[,OVERWRITE][,SUBFOLDER]	
6Dh	 RADIOBUTTON EXTERN (X,Y),Titre,Option	
6Fh	 CHECKBOX EXTERN (X,Y),Longueur,Message	
70h	EXTERNAL PROCESSUS	
81h	 INPUT BYTE (X1,Y,X2),Longueur	
82h	INPUT WORD (X1,Y,X2),Longueur	
83h	INPUT LONG (X1,Y,X2),Longueur	
84h	INPUT REAL (X1,Y,X2),Longueur	
85h	KEYHORIDOWN Touche	
86h	INPUT STRING (X1,Y,X2),Longueur	
87h	LISTBOX (X1,Y1)-(X2,Y2),[SHADOW,]Titre	
88h	SCROLLBAR Minimum:Maximum (X1,Y,X2),Couleur	
8Ah	 TABBEDNOTEBOOK Couleur,Nom	
8Bh	 COLORGRID (X,Y)[,Nombre de couleurs][,Nombre de ligne][,FALSE|PALETTE]	
8Ch	FRAME (X1,Y1)-(X2,Y2),Titre	
8Dh	RADIOBUTTON (X,Y),Titre,Option	
8Eh	KEYHORI (X,Y),Largeur,Nom	
8Fh	CHECKBOX (X,Y),Longueur,Message	
91h	 GHOST BYTE	
92h	GHOST WORD	
93h	GHOST LONG	
94h	GHOST REAL	
96h	GHOST STRING	
B0h	 SECTORIAL (X1,Y1)-(X2,Y2),Color1[,Color2][...]	

On retrouve donc une suite de ces codes avec les paramètres appropriées pour enfin obtenir un code terminaison 0.
Selon exactement le même principe, on retrouvera cette forme de scripte pour les menus contextuels selon le tableau suivant:
Code	Description	
00h	Indicatif de terminaison	
01h	 ITEM -	
02h	ITEM ...  	
03h	ITEM switch	
04h	ITEM ... 	
05h	 GROUP ITEM	
06h	END GROUP	
07h	IF TRUE THEN 	
08h	ELSE	
09h	END IF	
0Ah	 MENU message 	
On remarquera que d'habitude le DPU des menus est exploitée pour les ressources de menu contextuel activable par le deuxième bouton de la souris.
Enfin, n'oublions pas qu'il sera nécessaire de pouvoir compiler à partir d'une fenêtre d'édition de traitement de texte un fichier de ressource «.RC» en code DPU exploitable immédiatement par le MonsterBook.

Gestionnaire de programmes
Dans le cas du menu déroulant Windows 9X, les icônes seront stockée dans des ressources et ne devront pas être dupliqué. Pour se faire, on effectuera une recherche dans les ressources afin de trouver le numéro correspondant à la liste des ressources. Ce genre de ressource ne sera jamais retirer de la mémoire jusqu'à la fin de l'exécution du programme. Car étant donnée la petite que ceux-ci réclame, il est inadéquat de les décharger et recharger constamment, se serait ni plus ni moins qu'une perte inutile de performances.

Navigateur HTML (Gestionnaire de programmes)
Le navigateur de page HTML sera une partie partie du gestionnaire de programmes tous comme l'est le Panneau de configuration par exemple. La recompilation de l'affichage aura lieu à chaque rafraîchissement de la page en déplacement à l'exception des images, ceux-ci sont trop long à charger en mémoire à cause de leur format compacter, il faudra donc les stocker sous forme de ressources afin de contrer ce genre de problème.
 Lors du chargement de la page, le texte affichées, les images, les cadres,... sont classés par groupe afin de permettre une résolution plus simple et rapide de chargement de la page. Il faudra également tenir compte d'erreur de chargement de page étant incomplète, fragmenter ou contenant des données invalide.
La fenêtre de navigation doit être construite dans une optique MDI, c'est-à-dire qu'il sera possible de charger plusieurs fenêtres de navigation HTML à l'écran dans le MonsterBook.
De leur côté, les polices de caractères doivent permettre un affichage transparent afin de supporter par exemple, une image de fond,... Les coordonnées devront également être calculer de façon à avoir une idée fixe concernant l'élément de la page de façon instantané. Certaines routines d'affichage de polices de caractères spécialiser permettront l'exclusion de certaines région devront être développer afin de permettre l'affichage de texte en bordure de l'écran. Ainsi, il donnera le même effet qu'un navigateur HTML professionnel tel Netscape ou Explorer.
Le  JavaScript doit être stocké dans une région particulière de la mémoire et être traité que lorsque le HTML lui-même aura tout été traité et exécuter. Donc il devra être lancer après comme un “deuxième passage” des lignes de codes sources HTML.

Accessoires supplémentaires
Dans le cas des accessoires de pays, il devra être possible de fonctionner en fonction des informations retourner par le système d'exploitation ou bien de le configurer manuellement et de se fait de fonctionner à partir d'une base de données ayant une correspondance pour chaque pays ou région. Cependant, il ne devra pas avoir un numéro de clé primaire identique au DOS, mais un numéro lui étant propre en fonction de chaque pays. Toutefois, il est a noter que dans chaque enregistrement, on retrouvera malgré tout un numéro correspondant au code de pays ou de région correspondant au système d'exploitation. La raison de cette particularité est d'éviter d'être confronter un système d'exploitation n'ayant pas d'information à jour sur certains pays ou région non encore reconnu dans leur base de données. En plus, dans d'autres situations, on a put constater que le développement était uniquement orienté sur l'environnement graphique et que le noyau DOS était tout simplement abandonner dans les spécifications particulière. Et donc de cette manière, cela permettra également de changer de pays sans avoir de compte à rendre au système d'exploitation pour la modification par l'intermédiaire d'une interruption. Ceux-ci n'étant actuellement pas très bien supporté, c'est-à-dire qu'il n'autorise pas un programme de catégorie DOS, comme le MonsterBook, à changer lui-même sa configuration de pays. Et cela malgré le fait qu'elle soit spécifier comme potentiellement réalisable dans la documentation technique de ceux-ci.

Chapitre 3
Programmation du projet

3. Programmation du projet
La programmation du projet est la partie décrivant de quel façon le source du MonsterBook  est élaborer.
C'est la partie la plus difficile à expliquer car elle est en constant changement. On retrouve sous cette aspect, un problème fondamental, le changement constant de Spécification dû au fait que les techniques de programmation changent et que des meilleurs méthodes sont découvertes à chaque jour! Devant l'ampleur d'un tel problème on pourra facilement en conclure qu'il ne saura jamais terminer? Peut-être bien, mais il aura au moins l'avantage de s'approcher petit à petit comme les pas patient d'une tortue vers un but assurer.
Voulant donc permettre a un humain normal de comprendre rapidement la structure des fichiers contenant les codes sources, on pourra les expliquer de la façon suivantes: les terminaisons en “TEX” pour cortex, sont les unités réservées pour les définitions de l'ensemble Malte Genesis IV: Alias Chantal et Malte Genesis V: Alias Adèle. Ensuite les unités commencent par les trois lettres “RES” sont attribuées pour la gestion des ressources de l'ensemble. 
Dans le but d'optimiser les performances des applications, une unité de recouvrement ne fait jamais d'appel direct en boucle à une autre unité également de recouvrement!

Les routines de détection
Steve Job prétendait que si on additionnait toutes les secondes perdu lors de démarrage d'ordinateur, ceux-ci correspondraient à plusieurs vie d'être humain seulement en attente! Pour cette raison, le cas des routines de détection, devra être gérer d'une façon différentes des systèmes actuel afin d'éviter de commettre les mêmes erreurs. Les routines de détection ne seront pas uniquement au niveau du démarrage du MonsterBook. En effet, il sera inutile d'effectuer une détection souvent longue en attente pour l'utilisateur et pourtant celui-ci ne l'utilisera pas forcément lors de cette utilisation. Ainsi, il sera préférable d'effectuer une détection sélective permettant une accélération des routines de façon a effectuer des détections de composantes vraiment indispensable au lancement du programme et de seulement effectuer les autres lorsqu'une requête particulière attribuer a ceux-ci seront faites.
Place maintenant au explication de programmation, voici donc l'algorithme visant a effectuer la détection aura le cheminement suivant:
* Ce module permet de détecter le matériel disponible actuellement installer sur la machine.

MODULE Détection Matériel
  APPEL MODULE Détection Microprocesseur
  APPEL MODULE Détection Souris
  Détection Carte vidéo IBM
  SI Autorise la détection Super VGA ALORS
       Vérifie la présence d'une carte vidéo ATI
       Vérifie la présence d'une carte vidéo XGA
       Vérifie la présence d'une carte vidéo Video 7
       Vérifie la présence d'une carte vidéo Ahead
       Vérifie la présence d'une carte vidéo Genoa
       Vérifie la présence de la carte vidéo Tseng Labs
       Vérifie la présence d'une carte vidéo IT-VGA2 
       Vérifie la présence d'une carte vidéo Cirrus
       Vérifie la présence d'une carte vidéo CTI
       Vérifie la présence d'une carte vidéo Trident
       Vérifie la présence d'une carte vidéo Everex
       Vérifie la présence d'une carte vidéo Zymos
       Vérifie la présence d'une carte vidéo Oak
       Vérifie la présence d'une carte vidéo Paradise
   FIN SI
   Détection du BIOS au standard VESA
   SI VESA ALORS
        Vérifie la présence d'une carte vidéo Matrox
   FIN SI   	

Cette algorithme représente la méthode utilisée afin de détecter les microprocesseurs de différentes catégories et de fabricants (AMD, Cyrix, Intel,...):
MODULE Détection Microprocesseur
   Vérification du Micro-Processeur installée
   SI Processeur 32 bits ALORS
      Routine 32 bits Supportée  ¬ VRAI
   SINON
      Routine 32 bits Supportée  ¬ FAUX
   FIN SI
   Vérification du Pentium par Instruction CPUID
   SI Introuvable ALORS
       Teste Cyrix par contrôleur
       SI Cyrix trouvé ALORS
             Teste Présence Instruction CPUID
      FIN SI
   FIN SI	

L'algorithme suivant est employé dans le but de détecter les souris installés et d'éventuellement chargés le pilote appropriés en mémoire:
MODULE Détection Souris
      SI Pilote Souris EXISTE ALORS
            Souris Existe  ¬ VRAI
            Déterminer configuration actuel
      SINON
            SI fonction BIOS du PS/2 EXISTE ALORS
                 Souris Existe  ¬ VRAI
                 Modèle Souris  ¬ PS/2
            SINON
                 Détection Souris Série
                 SI Souris Trouvé ALORS
                      Souris Existe  ¬ VRAI
                      Modèle Souris ¬ Port Série
                  SINON
                      Souris Existe ¬ FAUX
                  FIN SI
            FIN SI
      FIN SI	

Détection du CMOS
La détection de la mémoire sur pile appeler plus couramment CMOS, existe de façon officiel qu'à partir de la gamme des PC/AT. Toutefois, de nombreux modèles de CMOS ont existé sur les clones de modèles PC/XT. Ceux-ci, offrant les mêmes services appréciables tel l'heure, la configuration,... Il est indispensable de fournir des techniques de détection appréciable pour les modèles suivantes malgré le fait qu'il n'en existe presque plus:
Numéro interne	Port d'Entrée/Sortie associées	Nom	
01h	0E0h à 0E1h	Contrôleur CMOS RTC des machines WYSE	
02h	2C0h à 2DFh	Contrôleur CMOS RTC MM58167	
03h	2C0h à 2C7h	Contrôleur CMOS RTC MM58167	
04h	2C0h à 2C1h	Contrôleur CMOS RTC-58321	
05h	070h à 071h	Contrôleur CMOS RTC MC146818 de Motorola	

Les fichiers
Les fichiers sont une des problématiques à la fois les plus simple et la plus compliqué dans un projet comme celui du MonsterBook. En effet, le problème est relativement simple quand on passe par un système d'exploitation DOS, sauf qu'avec les  LFNs de Windows 9X, les descriptions de 4DOS, NDOS et toutes les fichiers généré par les applications populaires, il en devient parfois étourdissant de si retrouver.
Tout d'abord, dans la bibliothèque de code source, il existe deux méthodes, la première, en mode réel, est appelé ShortBF, puisqu'il s'agit d'une liste statique ne demandant pas beaucoup de mémoire mais ayant une limite de fichiers assez basse, la seconde est une méthode de liste symétrique, beaucoup plus gourmande et beaucoup moins efficace que la première.
ShortBF
Cette technique se résume ainsi: méthode de programmation visant essentiellement à économiser la mémoire tout en accélérant la vitesse de chargement des noms de fichiers du disque vers la mémoire.
Fonctionnement
•	Tout d'abord, il utilise un bloc de mémoire de 65520 octets ou le reste de la mémoire disponible sur le tas.
•	Ensuite, il charge les fichiers dans cette banque avec le format élémentaire «^Array of Search32Rec». Attention: Il faut éviter d'excéder le nombre de 2047 fichiers dans cette banque car un plantage ou un écrasement de données se produira.
•	Lorsque tous les fichiers sont chargés en mémoire, libérer dans la mémoire située à la fin de la banque, car elle n'est pas utilisé en fin de compte:
FreeMem(Ptr^[NombreFichiers], MémoireUtilisé-NombreFichiers*SizeOf(Search32Rec));	
•	
Problème à surmonté
Dans le Turbo Pascal conventionnel, il n'y a pas de possibilité de diminuer ou d'agrandir directement une zone de mémoire attribué par GetMem et MemAlloc. Pourtant, cette technique ne peut être efficace que si la banque de mémoire à la fin de l'opération peut être changé. Alors que faire?
Il suffit de libérer une partie de spécifique de mémoire avec l'instruction FreeMem. Toutefois, il faut s'assurer que l'offset est inférieur à 10h et de préférence égale 0 ou 8. C'est pour cette raison que souhaitera un enregistrement de multiple de 16 octets afin d'éviter ce genre d'ennui. Car, par exemple, 43 octets se tranche assez mal par rapport  à 32 octets.
Format des Enregistrements
Pour éviter de nombreux problèmes techniques, il faut que la structure d'enregistrement d'un fichier soit d'une longueur exacte de 32 octets. Cependant, le système d'exploitation DOS par exemple, envoi des paquets de 43 octets. Il faudra donc être sélectif et envoyer seulement la partie concerné de façon à incrémenter de 2 le segment pour connaître l'emplacement de l'élément suivant. Voici d'abord l'enregistrement de format DOS:
 SearchRec=Record
  Fill:Array[0..21]of Byte;
  Time:LongInt;
  Size:LongInt;
  Name:String[12];
End;	
Cette enregistrement doit être copié dans le «Search32Rec» à partir de la position Fill[12]:
 Search32Rec=Record
  Fill:Array[0..10]of Byte;
  Attr:Byte;
  Time:LongInt;
  Size:LongInt;
  Name:String[12];
End;	

Les polices de caractères
Étant donnée que les polices de caractères actuel comme TrueType sont très lourd en terme de mémoire à utiliser, on devra reprogrammer un compromis à celui-ci beaucoup plus acceptable. Le résultat de cette idée est le QQF (Quick Québec Font). Celui-ci est rien de plus que des bitmaps cadré sur une surface spécifier. Les caractères seront tous accessibles de façon absolue dans le fichier afin qu'on puisse gagner un maximum de temps sans par ailleurs être obligé de le charger en mémoire.

Les pays et les régions
Les pays et les régions seront coder avec un numéro de reconnaissance propre indépendant du celui du DOS ou de Windows, car ceux-ci par exemple dans le cas de Windows 98 et Me, on ne retrouve pas autant de détails pour une application DOS que celle de Windows. En plus, il y a souvent plusieurs associations de régions pour un seul même code de pays. Il est donc indispensable de créer un code de reconnaissance autonome permettant de contrer le problème. Voici donc la liste des différentes régions utiliser à l'interne:
ID	Code de page	Code de pays	Abréviation	Pays/Région	
100	27	437	ENU	Afrique du Sud	
200	213	437	ENU	Algérie	
300	49	850	DEU	Allemagne	
310	61	437	ENU	Anglais International	
400	44	437	ENG	Angleterre	
500	3	437	ENU	Amérique Latine	
600	966	437	ENU	Arabie Saoudite	
700	54	437	ENU	Argentine	
800	99	437	ENU	Asie anglophone	
900	61	437	ENG	Australie	
1000	43	437	DEU	Autriche	
1100	880	437	ENU	Bangladesh	
1200	32	850	FRA	Belgique (Français)	
1300	32	850	NLD	Belgique (Hollandais)	
1400	55	850	PTG	Brésil	
1500	11	437	ENG	Canada anglophone	
1600	2	863	FRC	Canada francophone	
1700	56	437	ENU	Chili	
1800	86	936	ENU	Chine	
1900	357	437	ENU	Chypre	
2000	57	437	ENU	Colombie	
2100	82	934	KOR	Corée	
2200	506	437	ENU	Costa Rica	
2300	45	865	DAN	Danemark	
2400	20	437	ENU	Égypte	
2500	971	437	ENU	Émirats Arabes Unis	
2600	34	850	ESP	Espagne	
2700	1	437	ENU	États-Unis	
2800	358	437	FIN	Finlande	
2900	33	850	FRA	France	
3000	30	437	ENU	Grèce	
3100	502	437	ENU	Guatemala	
3200	509	437	ENU	Haïti	
3300	852	437	ENU	Hong Kong	
3400	36	852	ENU	Hongrie	
3500	22	437	ENU	Île de Malte	
3600	91	437	ENU	Inde	
3700	62	437	ENU	Indonésie	
3800	98	437	ENU	Iran	
3900	353	437	ENG	Irlande	
4000	354	850	ISL	Islande	
4100	972	862	ENU	Israël	
4200	39	850	ITA	Italie	
4300	81	932	ENU	Japon	
4400	60	437	ENU	Malaisie	
4500	212	437	ENU	Maroc	
4600	52	850	ESP	Mexique	
4700	64	437	ENG	Nouvelle Zélande	
4800	47	865	NOR	Norvège	
4900	92	437	ENU	Pakistan	
5000	507	437	ENU	Panama	
5100	785	864	ENU	Pays arabes	
5200	31	850	NLD	Pays-Bas	
5300	51	437	ENU	Pérou	
5400	63	437	ENU	Philippines	
5500	48	852	ENU	Pologne	
5600	351	860	PTG	Portugal	
5700	2	863	FRC	Québec	
5800	88	437	ENU	République Populaire de Chine	
5900	40	852	ENU	Roumanie	
6000	44	437	ENG	Royaume-Uni	
6050	2	863	FRC	Saguenay/Lac-St-Jean	
6100	503	437	ENU	Salvador	
6200	65	437	ENU	Singapour	
6300	94	437	ENU	Sri Lanka	
6400	46	850	SVE	Suède	
6500	41	850	FRA	Suisse (Français)	
6600	41	850	DEU	Suisse (Allemand)	
6700	41	850	ITA	Suisse (Italien)	
6800	886	938	ENG	Taiwan	
6900	42	852	ENU	Tchécoslovaquie	
7000	66	437	ENU	Thaïlande	
7100	216	437	ENU	Tunisie	
7200	90	857	ENU	Turquie	
7300	7	437	ENU	U.R.S.S.	
7400	58	437	ENU	Venezuela	
7500	38	852	ENU	Yougoslavie	
7600	1	437	ENU	Autres pays	

Enfin que les personnes utilisant le MonsterBook ne se sentent pas trop dépayser, voici un les drapeaux correspondant à chacune des régions ou pays:
Pays/Région	Pays/Région	Pays/Région	Pays/Région	Pays/Région	
					
Afghanistan	Afrique du Sud	Albanie	Algérie	Allemagne	
					
Andorre	Angleterre	Angola	Argentine	Australie	
					
Autriche	Bangladesh	Belgique	Brésil	Canada	
					
Chili	Chine	Colombie	Danemark	Égypte	
					
Espagne	France	Grèce	Hongrie	Île de Malte	
					
Indonésie	Italie	Japon	Mexique	Nouvelle-Zélande	
					
Norvège	Pays-Bas	Pérou	Philippines	Pologne	
					
Québec	Roumanie	Saguenay/Lac-St-Jean	Suède	Suisse	
					
Tchécoslovaquie	Thaïlande	U.R.S.S	États-Unis	Venezuela	
					
Yougoslavie					

En plus dans le cas de l'affichage des dates, on devra supporter tous les cas possibles, c'est-à-dire selon les 6 suivantes à la manière d'un Macintosh:
Code	Format	
00h	MM/JJ/AA	
01h	JJ/MM/AA	
02h	AA/MM/JJ	
03h	MM/AA/JJ	
04h	JJ/AA/MM	
05h	AA/JJ/MM	

Les bases de données
On pourra gérer les divers informations contenu dans les bases de données de la façon suivante:

 ResLoadD(ataBase)	 ResServD(ataBase)	 ResSaveD(ataBase)	

Reconnaissance du modèle de bases de données et de leur entête	
Lecture et écriture
d'enregistrement

Positionnement et
référencement	
Écriture de base de données à  partir d'un source SQL

Création des nouvelles
 bases de données

Création des index de fichiers	

Naturellement, les trois unités ont des liaisons constantes les unes les autres.
Le traitement de texte
Un des principales problèmes d'un traitement de texte n'est pas le traitement de texte lui-même, mais l'importation de format de document étranger. En autre, mais certain langage de programmation comme le Basic peuvent encrypter en un genre de scripte les informations du source. Tout d'abord sachez que dans le tableau suivante, le code correspond aux octets lus par le module de chargements. Alors voici donc, pour commencer, la signification des codes en incompréhensible du BASICA et GWBASIC:
Code	Description	
00h 00h 00h	Code de fin	
0Ch xxh yyh	«&H» suivie de 4 chiffres en hexadécimal contenu sur deux octets.	
0Fh	Indique que le suivant est un nombre (un octet)	
10h	Indique que le suivant est un nombre (2 octets)	
11h à 1Ah	Correspondent respectivement au symbole suivant: « », «!», «"», «#», «$», «%», «&», «'», «(», «)»	
3Ah 20h	Instruction «GOSUB»	
3Ah A1h	Instruction «ELSE»	
81h 	Instruction «END»	
82h	Instruction «FOR»	
83h	Instruction «NEXT»	
84h	Instruction «DATA»	
85h	Si fonction «INT» autrement «INPUT»	
86h	Instruction «DIM»	
87h	Instruction «READ»	
88h	Instruction «RND»	
89h	Instruction «GOTO»	
8Ah	Instruction «RUN»	
8Bh	Instruction «IF»	
8Ch	Instruction «RESTORE»	
8Dh	Instruction «GOSUB»	
8Eh	Instruction «RETURN»	
91h	Instruction «PRINT»	
95h	Instruction «ON»	
97h	Instruction «DEF»	
98h	Instruction «POKE»	
0A0h	Instruction «WIDTH»	
0ADh	Instruction «DEFINT»	
0B0h	Instruction «LINE»	
0B1h 0E9h	Instruction «WHILE»	
0B2h	Instruction «WEND»	
0B9h	Instruction «RANDOMIZE»	
0BFh	Instruction «COLOR»	
0C0h	Instruction «CLS»	
0C2h	Instruction «BSAVE»	
0C3h	Instruction «BLOAD»	
0C4h	Instruction «SOUND»	
0C5h 	Instruction «BEEP»	
0C6h	Instruction «PSET»	
0C8h	Instruction «SCREEN»	
0C9h	Instruction «KEY»	
0CAh	Instruction «LOCATE»	
0CCh	Instruction «TO»	
0CDh	Instruction «THEN»	
0CFh	Instruction «STEP»	
0D2h	Instruction «SPC»	
0D6h	Instruction «STRING$»	
0D7h	Instruction «USING»	
0DDh	Instruction «OFF»	
0DEh	Instruction «INKEY$»	
0E6h	Instruction «>»	
0E7h	Instruction «=»	
0E8h	Instruction «<»	
0E9h 	Instruction «+»	
0EAh	Instruction «-»	
0EBh	Instruction «*»	
0ECh 	Instruction «/»	
0EEh 	Instruction «AND»	
0EFh	Instruction «OR»	
0F0h	Instruction «XOR»	
0FEh 081h	Instruction «FILES»	
0FEh 083h	Instruction «SYSTEM»	
0FEh 088h	Instruction «PUT»	
0FEh 089h	Instruction «GET»	
0FEh 08Bh	Instruction «COMMON»	
0FEh 08Eh 	Instruction «TIME$»	
0FEh 08Fh	Instruction «PAINT»	
0FEh 091h	Instruction «CIRCLE»	
0FEh 092h	Instruction «DRAW»	
0FEh 093h	Instruction «PLAY»	
0FEh 094h	Instruction «TIMER»	
0FFh 081h	Instruction «LEFT$»	
0FFh 082h	Instruction «RIGHT$»	
0FFh 083h	Instruction «MID$»	
0FFh 08Eh	Instruction «TIME$»	
0FFh 092h	Instruction «LEN»	
0FFh 094h	Instruction «VAL»	
0FFh 095h	Instruction «ASC»	
0FFh 096h	Instruction «CHR$»	
0FFh 097h	Instruction «PEEK»	

En plus, on devra pouvoir lire le contenu de fichiers de format de page comme le HTML. Ce langage à balise renferme de nombreux code particulier simplement pour les tables de caractères accentuer. En voici une brève liste et leur équivalence:
Caractères	Description	
&#8212	Caractère «—»	
&aacute	Caractère «á»	
&acirc	Caractère «â»	
&agrave	Caractère «à»	
&amp	Caractère «&»	
&auml	Caractère «ä»	
&Auml	Caractère «Ä»	
&ccedil	Caractère «ç»	
&Ccedil	Caractère «Ç»	
&eacute	Caractère «é»	
&Eacute	Caractère «É»	
&ecirc	Caractère «ê»	
&egrave	Caractère «è»	
&euml	Caractère «ë»	
&gt	Caractère «>»	
&iacute	Caractère «í»	
&icirc	Caractère «î»	
&igrave	Caractère «ì»	
&iuml	Caractère «ï»	
&lt	Caractère «<»	
&nbsp	Un espace	
&ntilde	Caractère «ñ»	
&Ntilde	Caractère «Ñ»	
&oacute	Caractère «ó»	
&ocirc	Caractère «ô»	
&ograve	Caractère «ò»	
&Ouml	Caractère «Ö»	
&ouml	Caractère «ö»	
&uacute	Caractère «ú»	
&ucirc	Caractère «û»	
&ugrave	Caractère «ù»	
&uuml	Caractère «ü»	
&yuml	Caractère «ÿ»	

Un peu comme le langage HTML, le format RTF, contient des codes textes permettant d'identifier clairement des caractères spéciaux, en voici la liste (remarquer que les «Caractères» comme \'A0 peuvent aussi bien être en majuscule quand minuscule, soit \'A0 ou \'a0):
Caractères	Description	
\'A0	Un espace	
\'A1	Caractère «¡»	
\'A2	Caractère «ø»	
\'A3	Caractère «£»	
\'A4	Caractère «o»	
\'A5	Caractère «Ø»	
\'A6	Caractère «|»	
\'A7	Caractère «§»	
\'A8	Caractère «¨»	
\'A9	Caractère «©»	
\'AA	Caractère «ª»	
\'AB	Caractère « « »	
\'AC	Caractère «¬»	
\'AE	Caractère «®»	
\'AF	Caractère «¯»	
\'B0	Caractère «°»	
\'B1	Caractère «±»	
\'B2	Caractère «²»	
\'B3	Caractère «³»	
\'B4	Caractère «´»	
\'B5	Caractère «µ»	
\'B6	Caractère «¶»	
\'B7	Caractère «·»	
\'B8	Caractère «"¸»	
\'B9	Caractère «¹»	
\'BA	Caractère «º»	
\'BB	Caractère « » »	
\'BC	Caractère «¼»	
\'BD	Caractère «½»	
\'BE	Caractère «¾»	
\'BF	Caractère «¿»	
\'C0	Caractère «À»	
\'C1	Caractère «Á»	
\'C2	Caractère «Â»	
\'C3	Caractère «Ã»	
\'C4	Caractère «Ä»	
\'C5	Caractère «Å»	
\'C6	Caractère «Æ»	
\'C7	Caractère «Ç»	
\'C8	Caractère «È»	
\'C9	Caractère «É»	
\'CA	Caractère «Ê»	
\'CB	Caractère «Ë»	
\'CC	Caractère «Ì»	
\'CD	Caractère «Í»	
\'CE	Caractère «Î»	
\'CF	Caractère «Ï»	
\'D0	Caractère «Ð»	
\'D1	Caractère «Ñ»	
\'D2	Caractère «Ò»	
\'D3	Caractère «Ó»	
\'D4	Caractère «Ô»	
\'D5	Caractère «Õ»	
\'D6	Caractère «Ö»	
\'D7	Caractère «×»	
\'D8	Caractère «Ø»	
\'D9	Caractère «Ù»	
\'DA	Caractère «Ú»	
\'DB	Caractère «Û»	
\'DC	Caractère «Ü»	
\'DD	Caractère «Ý»	
\'DE	Caractère «Þ»	
\'DF	Caractère «ß»	
\'E0	Caractère «à»	
\'E1	Caractère «á»	
\'E2	Caractère «â»	
\'E3	Caractère «ã»	
\'E4	Caractère «ä»	
\'E5	Caractère «å»	
\'E6	Caractère «æ»	
\'E7	Caractère «ç»	
\'E8	Caractère «è»	
\'E9	Caractère «é»	
\'EA	Caractère «ê»	
\'EB	Caractère «ë»	
\'EC	Caractère «ì»	
\'ED	Caractère «í»	
\'EE	Caractère «î»	
\'EF	Caractère «ï»	
\'F0	Caractère «ð»	
\'F1	Caractère «ñ»	
\'F2	Caractère «ò»	
\'F3	Caractère «ó»	
\'F4	Caractère «ô»	
\'F5	Caractère «õ»	
\'F6	Caractère «ö»	
\'F7	Caractère «÷»	
\'F8	Caractère «ø»	
\'F9	Caractère «ù»	
\'FA	Caractère «ú»	
\'FB	Caractère «û»	
\'FC	Caractère «ü»	
\'FD	Caractère «ý»	
\'FE	Caractère «þ»	
\'FF	Caractère «ÿ»	

Le tableur

Le tableur est programmer au niveau de la gestion des cellules avec une technique de «table haché» lequel permet une meilleure répartition des informations sur une grille.

La grande puissance d'une tableur s'exprime par les formules mathématiques, et donc une attention toute particulière a été apporté à cette effet afin de reproduire le maximum de formule des tableurs les plus répandu: Excel, Quattro Pro, Lotus 1-2-3, StarCalc, SuperCalc,... Voici les différentes fonctions et leurs algorithmes respective:
Algorithme des fonctions	
MODULE @ACOS ( Valeur )
    SI Valeur = 0,0 ALORS 
        Retourne @PI / 2,0
    SINON
          Res ¬ @ATAN( @Racine ( 1 - Valeur * Valeur ) / Valeur )
          SI Valeur < 0,0 ALORS 
               Retourne Res + @PI
          SINON
               Retourne Res
          FIN SI
    FIN SI	
MODULE @ASIN ( Valeur )
    SI @Abs ( Valeur ) = 1,0 ALORS
         Retourne @PI / 2,0
    SINON
         Retourne @ATan ( Valeur / @Racine ( 1 – Valeur * Valeur ) )
    FIN SI	
MODULE @Combin ( N, R )
    Retourne @Fact ( N ) / (@Fact ( N – R ) * @Fact ( R ) )	
MODULE @Cosh ( Valeur )
    Valeur ¬ @Abs (Valeur)
    SI Valeur > 88,029691931 ALORS 
         Retourne Infini
    SINON
         Retourne ( @Exp ( Valeur ) + @Exp ( - Valeur ) ) / 2,0
    FIN SI	
MODULE @DureeComp(Taux, ValeurFutur, ValeurActuelle)
   SI ValeurActuelle = 0,0 ALORS
        X ¬ 0,0
   SINON
        X ¬ @LN (  ValeurFutur / ValeurActuelle )
   FIN SI
   Y ¬ @LN ( 1 + Taux )
   SI Y <> 0,0 ALORS
        X ¬ X  / Y
   FIN SI
   Retourne X	
MODULE @Fact ( Nombre )
      Total ¬ 1
      BOUCLE POUR I ¬ 2 JUSQU'A Nombre 
            Total ¬ Total * I
      FIN BOUCLE
      Retourne Total	
MODULE @FactLn ( Nombre )
    Retourne @LN ( @Fact ( Nombre ) )	
MODULE @Faux
    Retourne 0	
MODULE @Heure ( Temps )
    Retourne ( 86400 * Temps ) / 3600	
MODULE @Log ( Base, DansNombre ) 
    Retourne @Ln ( DansNombre ) / @Ln ( Base )	
MODULE @Max ( GroupeCellule  )
    Max ¬  0,0
    Ok ¬  FAUX
    BOUCLE POUR J ¬ GroupeCellule.Y1 JUSQU'A GroupeCellule.Y2
     BOUCLE POUR I ¬ GroupeCellule.X1 JUSQU'A GroupeCellule.X2
        SI PAS Ok  OU Max < GroupeCellule[I,J].Valeur ALORS
         Max¬  GroupeCellule[I,J].Valeur
        Ok ¬  VRAI
       FIN SI
      FIN BOUCLE I
    FIN BOULCE J
    Retourne Max	
MODULE @Min ( GroupeCellule )
    Min ¬  0,0
    Ok ¬  FAUX
    BOUCLE POUR J ¬  GroupeCellule.Y1 JUSQU'A GroupeCellule.Y2
     BOUCLE POUR I ¬  GroupeCellule.X1 JUSQU'A GroupeCellule.X2
        SI PAS Ok  OU Min > GroupeCellule[I,J].Valeur ALORS
         Min¬  GroupeCellule[I,J].Valeur
        Ok ¬  VRAI
       FIN SI
      FIN BOUCLE I
    FIN BOULCE J
    Retourne Max	
MODULE @Minute ( Temps )
    Retourne ( ( 86400 * Temps ) / 60 ) mod 60	
MODULE @PI
    Retourne 3,14159265358979323846	
MODULE @ProdScal ( GroupeCellule1, GroupeCellule2 )
   Total ¬ 0,0
   BOUCLE POUR J ¬ GroupeCellule1.Y2 JUSQU'A GroupeCellule1.Y1
        BOUCLE POUR I ¬ GroupeCellule1.X2 JUSQU'A GroupeCellule1.X1  
             Total ¬  Total + GroupeCellule1[I, J].Valeur * 
                                         GroupeCellule2[I – GroupeCellule1.X1 + GroupeCellule2.X1,
                                                                   J – GroupeCellule1.Y1 + GroupeCellule2.Y1].Valeur
        FIN BOUCLE I
   FIN BOUCLE J
   Retourne Total	
MODULE @Rembour ( Va,  Taux, NombrePériodes )
    X ¬ Va * Taux
    Y ¬ 1 –  ( 1 + Taux ) -NombrePériodes 
    SI Y <> 0,0 ALORS
        X ¬ X / Y
   FIN SI
   Retourne X	
MODULE  @Sech  ( Valeur ) 
    Retourne  1,0 / @Cosh ( Valeur )	
MODULE @Seconde ( Temps )
    Retourne ( 86400 * Temps ) mod 60	
MODULE @Sinh ( Valeur )
    Sign ¬  1,0
    SI Valeur < 0 ALORS
        Sign ¬  -1,0
        Valeur ¬  - Valeur
    FIN SI
    SI Valeur > 88,029691931 ALORS
        Retourne Infinity
    SINON
        Retourne ( @Exp ( Valeur ) - @Exp ( - Valeur ) ) / 2,0 * Sign
    FIN SI	
MODULE @Tan ( Radians )
      ValeurCosinus ¬ @COS ( Radians )
      SI ValeurCosinus = 0,0 ALORS 
           Retourne Infini
      SINON
           ValeurTangent ¬ @SIN ( Radians ) / ValeurCosinus
           SI  ( ValeurTangent < - Infini ) OU ( ValeurTangent > Infini ) ALORS 
                Retourne Infini
           SINON
                Retourne ValeurTangent
           FIN SI
      FIN SI	
MODULE @Tanh ( Valeur )
      Retourne @Sinh ( Valeur ) / @Cosh ( Valeur )	
MODULE @Taux ( ValeurFutur, ValeurPrésent, Term )
      Retourne (ValeurFutur / ValeurPrésent )1 / Term - 1	
MODULE @Temps ( Heure, Minute, Seconde )
    Retourne ( Heure * 3600 + Minute * 60 + Seconde ) / 86400	
MODULE  @Valact ( Pmt, Taux, NombrePériode )
    SI @Abs(Taux) > 1E-6 ALORS
         Retourne Pmt * (1-@Exp ( - NombrePériode *  @LN ( 1 + Taux ) ) ) / Taux
   SINON
         Retourne Pmt * NombrePériode* (1 +(NombrePériode - 1) * Taux/2) / (1+NombrePériode* Taux)
   FIN SI	
MODULE @Van ( Taux, GroupeCellule, Type )
    X ¬ 0,0
    Taux ¬ 1 / ( 1+ Taux )
    BOUCLE POUR J ¬ GroupeCellule.Y2 JUSQU'A GroupeCellule.Y1
          BOUCLE POUR I ¬ GroupeCellule.X2 JUSQU'A GroupeCellule.X1
                 X ¬ X * Taux + GroupeCellule [ I, J ].Valeur
          FIN BOUCLE
    FIN BOUCLE 
    Retourne X * @Exp ( ( 1 – Type ) * @LN (  Taux ) ) 	
MODULE @Vrai
    Retourne 1	
MODULE LnGamma ( X )
    Constante
         P=(  - 2,163690827643812857640E3;  - 8,723871522843511459790E4;
                 - 1,104326814691464261197E6;  - 6,111225012005214299996E6;
                 - 1,625568062543700591014E7;  - 2,003937418103815175475E7;
                 - 8,875666783650703802159E6;  0; 0; 0)
         Q=( - 5,139481484435370143617E2; - 3,403570840534304670537E4;
                 - 6,227441164066219501697E5; - 4.814940379411882186630E6;
                 - 1,785433287045078156959E7; - 3.138646407656182662088E7;
                 - 2,099336717757895876142E7;  0; 0; 0)
    MathErr ¬ Tout va bien
   SI (X = 0,0) OU (( X < 0,0 ) ET ( Frac ( X ) = 0,0 ) ) ALORS  Retourne Sing
   SI X > 1,038324114E+36 ALORS  Retourne Débordement de valeur
   A ¬ @Abs ( X )
   SI A > 34,0 ALORS
        SI  X < 0,0 ALORS
             N ¬ @ENT ( A )
             Z ¬ A - N
             SI Z > 0,5 ALORS
                  N ¬ N + 1
                  Z ¬ N - A
             FIN SI
             Z ¬ A * @Sin ( @PI * Z )
             SI Z = 0,0 ALORS Retourne Débordement de valeur
             Z ¬ 1,14472988584940017414 - @Ln ( Z ) - StirfL ( A )
        SINON
             Z ¬ StirfL( X )
        FIN SI
        Retourne Z
   SINON SI X < 13,0 ALORS
        Z ¬ 1,0
        X1 ¬ X
        BOUCLE FAIRE TANT QUE X1 >= 3
             X1 ¬ X1 – 1,0
             Z ¬ Z * X1
        FIN BOUCLE TANT QUE
        BOUCLE FAIRE TANT QUE X1 < 2,0
             SI @Abs ( X1 ) <= 0,03125 ALORS Retourne @Ln ( @Abs ( GamSmall(X1,Z ) ) )
             Z ¬ Z / X1
             X1 ¬ X1 + 1,0
        FIN BOUCLE FAIRE TANT QUE
        SI Z < 0,0 ALORS Z ¬ -Z
        SI X1 = 2,0 ALORS
             Retourne @Ln ( Z )
        SINON
             Retourne X1 * PolEvl ( X1, P, 6) / P1Evl ( X1, Q, 7) + @Ln ( Z )
        FIN SI
    SINON
        Retourne StirfL( X )
    FIN SI	
MODULE Log10 ( DansNombre )
    Retourne @Ln ( DansNombre ) / 2,3025850930	
MODULE LOI.BINOMIALE ( N, K )
      MathErr ¬ Tout va bien
      SI K < 0 ALORS 
           Retourne 0,0 
      SINON SI ( K = 0 ) OU ( K = N ) ALORS
           Retourne 1,0
      SINON SI ( K = 1 ) OU ( K = N – 1 ) ALORS
           Retourne N
      SINON
           SI K > N – K ALORS
                K ¬ N - K
           FIN SI
           N1 ¬ N + 1
           Prod ¬ N
           BOUCLE POUR I ¬ 2 JUSQU'A K
                 Prod ¬ Prod *( @ENT ( N1 – I ) / @ENT ( I ) )
           FIN SI
           Retourne @ENT( 0,5 + Prod )
      FIN SI	

Annexe

Annexe A: Les abréviations interne de programmation du Projet

Voici les principales abréviations employé dans le code source du projet:
Abréviation	Nom	Description	
0	Zero	Zéro	
1	First	Premier	
1_8	1_8	_1/8	
2	To	À	
4	For	Pour	
a	Asychronous	Synchronisation de communication	
ac	Assembler-C/C++	Assembleur – C/C++	
AC	AsyChronous	Synchronisation de communication	
AL	AdLib	Carte de son de classe AdLib	
App	Application	Application	
Asm	Assembler	Langage assembleur	
Async	Asychronous	Synchronisation de communication	
Attr	Attribut	Attribut généralement associé à des couleurs d'affichage d'écran de texte.	
B	Button	Bouton ou icône de bouton	
BA	Buffer Allocate	Tampon d'allocation de mémoire dynamique	
BF	Bank Files	Banques de fichiers	
BS	BackSpace	Retour de chariot	
Buf	Buffer	Tampon	
Chg	Change	Change(ment)	
Chr	Character	Caractère	
CK64	Commodore 64K	Commodore 64 Ko	
CLI	ClearInterrupt	Efface le drapeau d'interruption	
Clr	Clear	Éclaircissement/Effacement	
Cmd	Command	Commande	
Cmp	Compare	Comparaison	
Colr	Color	Couleur	
Coord	Coordonned	Coordonnée(s)	
Cur	Cursor	Curseur	
Curr	Current	Courant(e)	
Dbl	Double	Double	
Def	Default	Par Défaut 	
Del	Delete	Efface	
Dir	Directory	Répertoire	
Disp	Display	Écran	
Dn	Down	Bas	
Dta	Data	Donnée(s)	
E	Extension	Extension	
Emm	Expand Memory Manager	Gestionnaire de mémoire étendu	
Env	Environment	Environnement	
EOB	End of Base	Fin de la base de données	
EOF	End Of File	Fin du fichier	
Eol	End of line	Fin de ligne	
Err	Error	Erreur	
Esc	Escape	Échappatoire/Échappement	
Exec	Execute	Exécute	
Ext	Extension	Extension	
F	Foreground	Couleur de premier plan d'un caractère.	
fa	File Attribut	Attribut de fichier	
FilePos	File Position	Pointeur sur une position dans un fichier	
FN	FileName	Nom de fichier	
FP	File Position	Pointeur sur une position dans un fichier	
FS	File Size	Taille du fichier	
G	Graphic	Graphique	
GAT	Genesis ASCII Typewriter	Format de traitement de de format GAT lequel est orientée exclusivement sur le format ASCII pure.	
Gatt	Gatt	Genèse ASCII Traitement de texte	
GS	Graphic Solutions	Carte vidéo Super CGA d'ATI	
H	Handle/Information	Information ou “Handle” associée ou méthode H.	
Hi	High	Haut(e)	
Hlp	Help	Aide	
Hor	Horizontal	Horizontalement	
I	count a	Compteur de boucle a	
I	Information	Information	
IBM	International Business Machine	Concept IBM PC	
Icn	Icon	Icône	
Img	Image	Image ou dessin	
Inc	Incremented	Incrémentation	
ind	Index	Index	
Ini	Initiation	Initiation	
Inp	Input	Entrée	
Ins	Insert	Insère	
Int	Integer ou Interrupt	Entier ou interruption logiciel	
IO	Input/Ouput	Entrée/sortie	
Ix	Index	Index	
J	count b	Compteur de boucle b	
K	Key	Touche	
kb	Keyboard	Clavier	
Kr	Color	Couleur	
Lck	Lock	Fermer	
Ln	Line	Ligne	
Lo	Low	Base	
Ls	List	Liste	
Lst	List	Liste	
M	Message ou Memory	Message ou mémoire.	
Mac	Macro	Macro-commande	
Max	Maximum	Maximum	
Mem	Memory	Mémoire	
Min	Minimum	Minimum	
MIV	Mode Information Video	Information sur le mode vidéo	
MM	Memory Manager	Gestionnaire de mémoire	
Mnu	Menu	Menu	
Mod	Modulo	Opérateur modulo (partie restante d'une division)	
Ms	Mouse	Souris	
Msg	Message	Message	
Mtx	Matrix	Matrice	
N	And	Et	
ND	Number Divised	Nombre divisé	
NM	Number Modulo	Nombre modulo	
Nm	Number	Nombre	
NS	Number of String	Nombre de chaîne de caractères	
Num	Number	Nombre	
Nxt	Next	Suivant	
O	Center	Centre ou Centrer	
Opt	Option	Option (supplément)	
Out	Output	Sortie	
P	PChar 	Dans un mot, il s'agit d'un pointeur de caractères	
P	Position	Pour une variable, il s'agit d'une position	
P2P	Page To Page	Papier à papier	
Param	Parameter(s)	Paramètre(s)	
Pas	Pascal	Pascal	
PC	Pointer Characters	Pointeur de caractères	
Pg	Page	Page	
PIV	Physical Info Video	Information physique sur la vidéo	
PIx	Pointer Index	Pointeur d'index	
Pix	Pixel	Pixel	
PJ	Personal Journal	Journal Personnel	
pn	Printer Name	Nom d'imprimante	
Pos	Position	Position	
Prn	Printer(s)	Imprimante(s)	
ps	Printer String	Chaîne de caractères pour l'imprimante	
Ptr	Pointer(s)	Pointeur(s)	
PW	Professional Write	Écriture professionnel	
Q	Québec Structure	Structure à la Québécoise	
R	Real	Réel	
RB	Remove Buffer	Tampon flexible	
Rbuf	Remove Buffer	Tampon flexible	
RC	Ressource C/C++	Ressource au format du C ou du C++	
Rec	Record	Enregistrement	
Rem	Remark	Remarque	
Res	Reserved	Réservé	
S	String	Chaîne de caractères	
Scr	Screen	Écran	
Scrn	Screen	Écran	
sd	Sound	Son	
Sel	Select	Sélection	
Sf	Size Of	Taille de ...	
Sml	Small	Petit	
Spc	Space	Espace	
STI	Set Interrupt	Fixe le drapeau d'interruption	
Str	String	Chaîne de caractères	
Swp	Swap	Échange	
Sys	System(s)	Système(s)	
Tab	Tabulation	Tabulation	
TIx	Tempory Index	Index Temporaire	
Txt	Text	Texte	
U	Upper	Majuscule	
Under	Underground	Arrière plan	
Up	Upper	Majuscule	
V	Virtual	Virtuel	
Val	Value	Valeur	
Ver	Version	Version	
Ver	Vertical	Verticalement	
Vert	Vertical	Verticalement	
Vid	Video	Vidéo	
VS	Virtual Swap	Échange virtuel	
W	Window	Dans le cas d'une variable, il s'agit d'une fenêtre	
Wd	Word	Mot	
Win	Window(s)	Fenêtre(s)	
WM	Writer Mode	Mode d'écriture	
Wn	Window	Dans le cas du mot, alors il s'agit d'une fenêtre	
x0	Buffer	Tampon linéaire	
Xms	eXtented Memory System	Mémoire étendue du système	
Xtrk	Extract	Extraire	

Annexe B: Les répertoires attribués au projet
Voici les principaux répertoires employés pour le projet:
Répertoire	Description	
\MALTE	Répertoire racine du projet compiler.	
\MALTE\DATA	Répertoire des bases de données compilé.	
\MALTE\FONT	Répertoire des polices de caractères.	
\MALTE\HLP	Répertoire des fichiers d'aide.	
\MALTE\ICON	Répertoire attribué au icône.	
\MALTE\ICON\SETUP	Répertoire attribué au icône de panneau de  configuration.	
\MALTE\SPELL	Répertoire du dictionnaire d'orthographe.	
\MALTE\SYSTEMS	Répertoire racine de la bibliothèque de ressource compiler.	
\OUTPUT	Répertoire des unités compilé.	
\SOURCE\CHANTAL	Répertoire racine des codes sources	
\SOURCE\CHANTAL\GAMES	Répertoire des jeux	
\SOURCE\CHANTAL\LIBRARY	Répertoire de bibliothèque de code source particulier.	
\SOURCE\CHANTAL\LIBRARY\COM	Répertoire de bibliothèque de code source sur les communications.	
\SOURCE\CHANTAL\LIBRARY\COMPILER	Répertoire de bibliothèque de code source sur les compilateurs.	
\SOURCE\CHANTAL\LIBRARY\CPU	Répertoire de bibliothèque de code source sur les microprocesseurs.	
\SOURCE\CHANTAL\LIBRARY\CPU\CYRIX	Répertoire de bibliothèque de code source sur les microprocesseurs Cyrix.	
\SOURCE\CHANTAL\LIBRARY\CPU\INTEL	Répertoire de bibliothèque de code source sur les microprocesseurs du fabricant INTEL.	
\SOURCE\CHANTAL\LIBRARY\CPU\MOTOROLA	Répertoire de bibliothèque de code source sur les microprocesseurs de Motorola.	
\SOURCE\CHANTAL\LIBRARY\DISK	Répertoire de bibliothèque de code source sur les unités de disque.	
\SOURCE\CHANTAL\LIBRARY\FILES	Répertoire de bibliothèque de code source sur les structures de fichiers.	
\SOURCE\CHANTAL\LIBRARY\INTERRUP.T	Répertoire de bibliothèque de code source sur les interruptions.	
\SOURCE\CHANTAL\LIBRARY\JOYSTICK	Répertoire de bibliothèque de code source sur les manettes de jeux.	
\SOURCE\CHANTAL\LIBRARY\KEYBOARD	Répertoire de bibliothèque de code source sur le clavier.	
\SOURCE\CHANTAL\LIBRARY\MATH	Répertoire de bibliothèque de code source sur les routines mathématiques.	
\SOURCE\CHANTAL\LIBRARY\MEMORIES	Répertoire de bibliothèque de code source sur les types de mémoires.	
\SOURCE\CHANTAL\LIBRARY\MOUSE	Répertoire de bibliothèque de code source sur la souris.	
\SOURCE\CHANTAL\LIBRARY\SECURITY	Répertoire de bibliothèque de code source sur la sécurité.	
\SOURCE\CHANTAL\LIBRARY\SECURITY\MONSTERB.OOK	Répertoire de bibliothèque de code source sur la sécurité du MonsterBook.	
\SOURCE\CHANTAL\LIBRARY\SOUND	Répertoire de bibliothèque de code source sur le son.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM	Répertoire de bibliothèque de code source sur les différents systèmes.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\AMIGA	Répertoire de bibliothèque de code source sur le  système de l'Amiga.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\APPLEII	Répertoire de bibliothèque de code source sur le système de l'Apple ][.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\ATARI	Répertoire de bibliothèque de code source sur le système de l'Atari.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\C64	Répertoire de bibliothèque de code source sur le système du  Commodore 64K.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\COCO3	Répertoire de bibliothèque de code source sur le système du  Coco 3.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\CPM	Répertoire de bibliothèque de code source sur le  système du  CP/M.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\DOS	Répertoire de bibliothèque de code source sur le  système d'exploitation DOS.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\DOS16M	Répertoire de bibliothèque de code source sur le  système d'exploitation DOS/16M.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\DRDOS	Répertoire de bibliothèque de code source sur le  système d'exploitation DR-DOS.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\LINUX	Répertoire de bibliothèque de code source sur le  système d'exploitation Linux.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\MAC	Répertoire de bibliothèque de code source sur le  système Apple Macintosh.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\OS2	Répertoire de bibliothèque de code source sur le  système d'exploitation OS/2.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\UNIX	Répertoire de bibliothèque de code source sur le  système d'exploitation Unix.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\WINDOWS	Répertoire de bibliothèque de code source sur l'environnement graphique Windows.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\WINDOWS.NT	Répertoire de bibliothèque de code source sur le système d'exploitation Windows NT.	
\SOURCE\CHANTAL\LIBRARY\SYSTEM\XENIX	Répertoire de bibliothèque de code source sur le système d'exploitation Xenix.	
\SOURCE\CHANTAL\LIBRARY\VIDEO	Répertoire de bibliothèque de code source sur le système d'affichage vidéo.	
\SOURCE\CHANTAL\LIBRARY\VIDEO\FONT	Répertoire de bibliothèque de code source sur les polices de caractères du système d'affichage vidéo.	
\SOURCE\CHANTAL\MAKER	Répertoire de fabrication de données automatisé destiné au MonsterBook.	
\SOURCE\CHANTAL\OS	Répertoire associé au noyau du système d'exploitation compatible DOS.	
\SOURCE\CHANTAL\RESOURCE	Répertoire attribué au ressources de données, d'image,...	
\SOURCE\CHANTAL\RESOURCE\COUNTRY	Répertoire attribué au ressources de pays et de géographie.	
\SOURCE\CHANTAL\RESOURCE\HARDWARE	Répertoire attribué au ressources de renseignements matériel.	
\SOURCE\CHANTAL\RLL	Bibliothèque en mode réel de format RLL.	
\SOURCE\CHANTAL\SAMPLES	Répertoire de démonstrateur	
\SOURCE\CHANTAL\TOOLS	Répertoire associé au outils	
\SOURCE\CHANTAL\TRASHCAN	Répertoire poubelle de vieux bout de code source inappropriée mais pouvant être cependant pertinents...	

Annexe C: Les répertoires des bases de données
Voici les principaux répertoires de base de données du projet:
Chemin	Description	
CHANTAL:/Compiler/ASM/IfCond.Dat	Table de base de données des différentes conditions d'une macro «IF» du langage de programmation assembleur.	
CHANTAL:/Compiler/ASM/InstName.Dat	Table de base de données des différents noms des instructions du langage de programmation assembleurs.	
CHANTAL:/Compiler/ASM/Register.Dat	Table de base de données des différents registres du langage de programmation assembleurs.	
CHANTAL:/Compiler/PASCAL/Instr.Dat	Table de base de données des différentes instructions du langage de programmation Pascal.	
CHANTAL:/Compiler/PASCAL/MainWord.Dat	Table de base de données des différents mots réservés du langage de programmation Pascal.	
CHANTAL:/Compiler/PASCAL/Variable.Dat	Table de base de données des différents types de variable du langage de programmation Pascal.	
CHANTAL:/Country/Azerty.Dat	Table des différentes touches clavier du clavier de modèle Azerty.	
CHANTAL:/Country/Country.Dat	Table de base de données des pays et régions. Contient, les caractères de configuration, l'image du drapeau correspondant, son nom,....	
CHANTAL:/Country/Querty.Dat	Table des différentes touches clavier du clavier de modèle Querty.	
CHANTAL:/Country/Villes.Dat	Table de base de données des différentes villes du mondes avec leurs coordonnées géographique.	
CHANTAL:/CPU/Intel/InLine8080.Dat	Table de base de données des codes machines du microprocesseur INTEL 8080 et 8085.	
CHANTAL:/CPU/Intel/InLine8086.Dat	Table de base de données des codes machines du microprocesseur de la famille INTEL 80x86.	
CHANTAL:/CPU/Sun/Java/InLine.Dat	Table de base de données des codes machines du microprocesseur de la machine virtuel Java de Sun.	
CHANTAL:/CPU/Motorola/InLine6502.Dat	Table de base de données des codes machines du microprocesseur Motorola 6502.	
CHANTAL:/Disque/Partition.Dat	Table de base de données des différents format de partition.	
CHANTAL:/Graph/TIFF.Dat	Table de base de données des entêtes des formats de dessins TIFF.	
CHANTAL:/Materiel/Modem.Dat	Table de base de données de configuration des modems des différents fabricants.	
CHANTAL:/Materiel/Printers.Dat	Table de base de données de configuration d'imprimantes des différents fabricants.	
CHANTAL:/Materiel/DIDComputer.Dat	Table de base de données des codes de cartes des fabricants (DID) du standard PCI..	
CHANTAL:/Materiel/VIDComputer.Dat	Table de base de données des codes des fabricants (VID) du standard PCI.	
CHANTAL:/Materiel/VideoMode.Dat	Table de base de données de configuration des modes vidéos.	
CHANTAL:/Materiel/Imprimantes/Modele.Dat	Table des différents modèles d'imprimantes avec le standard à laquelle elles correspondent.	
CHANTAL:/Materiel/Imprimantes/Standard.Dat	Table de mise en forme par rapport au standard de l'imprimante (IBM, EPSON, DeskJet, PostFixe,...)	
CHANTAL:/Math/Convers.Dat	Table de base de données de conversion de formule mathématique.	
CHANTAL:/Math/Calc.Dat	Table de base de données de la calculatrice et du tableur (chiffrier électronique).	

Annexe D: Les principaux fichiers de code sources
Voici les principaux fichiers de code sources du projet:
Nom	Description	
_TESetMo.inc	Fixeur de modification du traitement de texte.	
ACSendX.asm	Envoie un caractère au modem.	
Adele.asm	Moteur Adèle: Détecteur de configuration	
Adele.pas	Démarreur de programme «Adèle»	
App7Iles.rc	Ressource de dialogue Application dit «Sept-Iles»	
Apps.pas	Unité de gestion des applications.	
Arcade.pas	Effet spéciaux et économiseur d'écran	
Assistan.rc	Ressource d'Assistant	
CI.asm	Teste de performance du CPU	
Compiler.pas	Outil de compilateur	
DBaseIII.pas	Visualisateur de Base de données	
Dialex.pas	Structure des fenêtres de dialogues	
Dialplus.pas	Supplément des fenêtres de dialogues.	
Dials.pas	Gestionnaire de boite de dialogues	
Disk.pas	Gestionnaire d'unité de disque (IDE, CD-ROM,...).	
Dos.rc	Aide Prompt DOS	
Dostex.pas	Structure du DOS	
DrawEdit.pas	Programme de dessin	
EditIcon.pas	Éditeur d'Icône	
Editor.pas	Noyau de l'éditeur (traitement de texte)	
Editor.rc 	Éditeur – Table	
EdtBlock.pas	Outil de gestion de bloc de l'éditeur	
EdtDone.pas	Routine de terminaison de l'éditeur	
EdtExtra.pas	Outils supplémentaire de l'éditeur	
EdtJust.pas	Éditeur – Justification	
EdtLoad.pas	Chargeur de document du traitement de texte	
EdtMacro.pas	Macro de l'éditeur	
EdtSave.pas	Éditeur – Sauvegarde	
EdtSearc.pas	Recherche à effectuer dans l'éditeur	
FileMana.pas	Gestionnaire de fichiers	
FontEdt.pas	Éditeur de police de caractères.	
FontMana.pas	Gestionnaire de polices de caractères	
GoldNAxe.pas	Gold N'Axe (Vidéo complexe)	
GPXServi.pas	Service du GPX (Dessin d'impression)	
InfoMemo.pas	Dialogue d'information mémoire	
InsSDir.pas	Ajustement de répertoire du l'installateur	
Install.pas	Programme d'installation	
Int01h.asm	Interruption de deboguage	
Isatex.pas	Structure d'Isabel (Malte Genesis III)	
Loader.pas	Gestionnaire de menu de programme	
LptxExst.asm	Détection de port parallèle	
MakeHlp.bat	Créateur d'aide du «Monster Book»	
MakeMB.bat	Créateur de programme «Monster Book»	
MalCalc.pas	Tableur du «Monster Book»	
MalEnv.pas	Environnement du «Monster Book»	
MalLibra.pas	Bibliothèque de routine du «Monster Book»	
MalSDir.pas	Boîte de dialogue d'ajustement de répertoire	
Manuel.rc	Manuel d'instruction du «Monster Book»	
MB.pas	Programme «Monster Book»	
MBAbout.pas	Écran de présentation du «Monster Book»	
MBConfig.pas	Outils de configuration pour le «Monster Book»	
MBCortex.pas	Structure du «Monster Book»	
MBDebug.pas	Debogueur du «Monster Book»	
MBDebugT.pas	Outils de deboguage du «Monster Book»	
MBExit.pas	Terminer le «MonsterBook»	
MBInitSc.pas	Écran d'initialisation du «Monster Book»	
MBSearch.pas	Recherche à l'intérieur du «Monster Book»	
MBShell.pas	Shell du «Monster Book»	
MBStart.pas	Démarreur du «Monter Book»	
MCat.pas	Catalogueur de disquette	
Mouse.pas	Gestionnaire de Souris	
Numerix.pas	Utilitaire numérique	
Pack.pas	Protocole de communication	
ProgMan.pas	Gestionnaire de programmes	
Project.pas	Gestionnaire de projet	
ResLoadI	Module de chargement des images	
ResSaveI	Module de sauvegarde des images	
ResServI	Module de traitement et de services des images	
ResLoadD	Module de chargement des bases de données	
ResSaveD	Module de sauvegarde des bases de données et traitement SQL	
ResServD	Module de service et traitement des bases de données	
SysInfo.pas	Système d'information	
SysInter.pas	Service système au niveau interne	
SysPlus.pas	Unité de supplément système	
Systems.pas	Service système	
TechDraw.Pas	Dessin technique (objet en fil de fer).	
TMDials.pas	Terminal de communication/Modem	
ToolCoun.pas	Outil de gestion de pays	
ToolDsk.pas	Outil de manipulation de disque	
ToolHead.pas	Outil de compréhension d'entête	
ToolInfo.pas	Outil d'information	
ToolNGZ.pas	Outil de Guide Norton	
ToolPrn.pas	Outil d'imprimante	
Tools.pas	Outils de base	
ToolSoun.pas	Outil pour gérer le son	
ToolTerm.pas	Outils: Terminal/Shell	
ToolTime.pas	Outils gérant le temps	
ToolVid.pas	Outils vidéo	
ToolView.pas	Visualisateur ASCII / Aide	
Unix.rc	Ressource pour Unix	
Video.pas	Routine vidéo	
Volume.pas	Volume Exécutable	
WEPutChg.inc	Affichage de caractère typée d'une boîte de dialogue	
WESetKr.asm	Définition de couleur des boites de dialogues	
WordTex.pas	Structure des traitements de texte	
Annexe E: Structures des fichiers
Dans cette annexe, on retrouve les structures des fichiers utilisés par le MonsterBook et donc il peut aussi bien s'agir d'un concurrent que des ses propres fabrication.
Nous commenceront par les fichiers de base de données car ils sont utilisé de façon intensive dans le système entre-autre à pour accélérer le traitement des demandes utilisateurs.
 
Base de données serveur de format Mentronix
Voici donc tout d'abord l'entête d'une base de données serveurs de format Mentronix:
Offset	Taille	Description	
0	40 octets	Variable, message de sortie avec un «TYPE» du DOS.	
40	13 octets	Signature «ServerDbMalte» pour un serveur de base de données.	
53	81 octets	Chaîne de caractères de format PASCAL contenant le nom réel de la base de données serveur.	
134	1 octets	Attribut de la base de données	
		Bit	Description	
		0	Données numérique en format Intel?	
		1	Table de fichier en format base de données?	
		2	Table de fichier en sens inverse?	
		3 à 7	Réservés	
135	1 double mot	Table des utilisateurs avec mots de passe, vaut 0 si tous le monde peut lire ou modifier l'information.	
139	1 double mot	Position de la table des fichiers	
143	17 octets	Inutilisé pour avoir la même taille qu'une table de base de données de format Mentronix.	

Voici une entrée de la table des fichiers:
Offset	Taille	No	Description	
0	1 double mot	0	Position physique ou se trouve la base de données rechercher 	
4	1 double mot	1	Taille de cette base de données	
8	1 octet	2	Priorité requise pour l'ouverture de cette base de données	
9	1 mot	3	Attribut fichier (compatible avec ceux du DOS)	
11	8 octets	4	Date de création	
19	8 octets	5	Date de dernière modification	
27	256 octets	6	Nom de cette base de données en chaîne de caractères de format PASCAL.	
 
Table de base de données de format Mentronix
Voici l'entête d'une base de données Mentronix contenant uniquement une table. Elle est parfaitement identique à celle d'une table de la base de données serveur du format Mentronix et peut aussi bien se trouver seul dans un fichier qu'à l'intérieur d'une base de données serveur:
Offset	Taille	Description	
0	40 octets	Variable, message de sortie avec un «TYPE» du DOS.	
40	13 octets	Signature «DataBaseMalte» pour un serveur de base de données.	
53	81 octets	Chaîne de caractères de format PASCAL contenant le nom réel de la table.	
134	1 mot	Nombre de champs	
136	1 octet	Attribut de la base de données 	
		Bit	Description	
		0	Index d'accélération de données? 	
		1	Index situé à la fin de la base de donnée?	
		2	Index en 32-bits?	
		3	Enregistrement de taille séquentiel	
		4	Trier en ordre 	
		5	Trier en ordre croissant 	
		6	Protégé par un cryptage	
137	1 double mot	Taille total de la description des champs	
141	1 double mot	Position de l'index	
145	1 double mot	Taille de l'index	
149	11 octets	Réservé pour un usage futur	

Structure d'un fichier dBase III+
Les fichiers de dBase III+ sont excessivement primitive mais combien répandu et voici donc le pourquoi ils sont inclus au MonsterBook. Voici tout d'abord la structure d'en-tête:
Offset	Taille	Description	
0	1 octet	Type d'en-tête	
1	1 octet	Année	
2	1 octet	Mois	
3	1 octet	Jour	
4	1 double mot	Nombre d'enregistrement	
8	1 mot	Taille de l'entête	
10	1 mot	Taille d'un enregistrement	
12	20 octets	Réservés	

Voici la structure des champs suivants immédiatement l'entête et elle se termine lorsque le premier caractère de cette enregistrement à la valeur ASCII 13:
Offset	Taille	Description	
0	11 octet	Nom du champs	
11	1 octet	Type de champs	
12	1 mot	Séparateur 1	
14	1 mot	Séparateur 2	
16	1 octet	Largeur	
17	1 octet	Nombre de décimal	
18	14 octets	Réservés	

Les enregistrements suivent après les champs. Et on peut donc comprendre quel la structure général est la suivante:
Description	
Entête de la table de base de données	
Champs de la table de base de données	
Enregistrement de la table de la base de données	

Base de registres de format Malte Genesis IV: Chantal
Voici la base de registres de format  Malte Genesis IV: Alias Chantal laquelle  contient les différentes informations utilisateurs et d'historique. Voici tout d'abord son entête:
Offset	Taille	Description	
0	4 octets	Signature: 'REG'#26 	
4	1 double mot	Pointeur sur les registres HKEY_CLASSES_ROOT	
8	1 double mot	Pointeur sur les registres HKEY_CURRENT_USER 	
12	1 double mot	Pointeur sur les registres HKEY_LOCAL_MACHINE	
16	1 double mot	Pointeur sur les registres HKEY_USERS	
20	1 double mot	Pointeur sur les registres HKEY_PERFORMANCE_DATA	
24	1 double mot	Pointeur sur les registres HKEY_CURRENT_CONFIG	
28	1 double mot	Pointeur sur les registres HKEY_DYN_DATA	
32	1 double mot	Pointeur sur les registres HKEY_SYSTEM (du MonsterBook)	
36	8 double mot	Réservé pour de futur adresse.	
68	1 double mot	Pointeur sur les fragments	
                   
Base de registres de format XOKY

La base de registres de format XOKY est la seconde génération de base de données développé pour le MonsterBook, celle-ci comprenait l'avantage de pouvoir contenir des fichiers de format Mac, Unix, Vax et DOS dans la même base de registres. La structure d'entête est assez similaire à la base de registres de format « Malte Genesis IV: Alias Chantal », voici sa structure:

Offset	Taille	Description	
0	8 octets	Signature: 'XOKYREG'#26 	
4	1 double mot	Pointeur sur les registres HKEY_CLASSES_ROOT	
8	1 double mot	Pointeur sur les registres HKEY_CURRENT_USER 	
12	1 double mot	Pointeur sur les registres HKEY_LOCAL_MACHINE	
16	1 double mot	Pointeur sur les registres HKEY_USERS	
20	1 double mot	Pointeur sur les registres HKEY_PERFORMANCE_DATA	
24	1 double mot	Pointeur sur les registres HKEY_CURRENT_CONFIG	
28	1 double mot	Pointeur sur les registres HKEY_DYN_DATA	
32	1 double mot	Pointeur sur les registres HKEY_SYSTEM (du MonsterBook)	
36	1 double mot	Pointeur sur les registres de répertoire Web	
40	7 double mot	Réservé pour de futur adresse.	
68	1 double mot	Numéro de série	
72	1 double mot	Pointeur sur les fragments	
74	1 mot	Couleur d'arrière plan en 16-bits	
76	1 double mot	Pointeur sur un nom d'image d'arrière plan.	
80	1 double mot	Pointeur sur un icône	
84	1 double mot	Pointeur sur la prochaine zone libre (0 si indéterminé)	
88	1 double mot	Taille de l'unité (0 si variable)	
92	1 double mot	Espace de libre sur l'unité si de l'unité n'est pas égale à 0	
96	1 double mot	Année de création	
100	1 octet	Mois de création	
101	1 octet	Jour de création	
102	1 octet	Heure de création	
103	1 octet	Minute de création	
104	1 octet	Seconde de création	

Document de format GAT
Les documents de format GAT sont les documents (Genesis Ascii Typewriter) étant sauvegarder par le MonsterBook par défaut. Leur structure est essentiellement ASCII afin de permettre une récupération facile des informations contenu. Leur structure est la suivante:
Organisation	Description	
: x1 y1 x2 y2 [paramètres]	Le deux points suivi d'un espace identifie comme une signature le format GAT. La taille de la feuille ainsi que les paramètres de pages.	
texte	Le texte lui-même du document	

Lorsqu'au début d'une ligne ont rencontre des symboles «[» c'est qu'il s'agit d'information particulière. Les caractères suivants ont des sens particulier:
Code	Description	
[AUTEUR:	Auteur du document	
[DC:	Image centrée	
[DD:	Image à droite	
[DESCR:	Description du document	
[DG:	Image à gauche	
[SUJET:	Sujet du document	
[TITRE:	Titre du document	

En plus, il existe un attribut spécial lorsque des codes ASCII inférieur à 32 sont rencontrer, ceux-ci permettent d'attribuer du gras, italique, double largeur,...

Document de format Premier Choix (First Choice)

Voici la structure d'en-tête des fichiers documents que l'application Premier Choix de PFS permettant de le sauvegarder:

Offset 	Type	Description	Valeur par défaut 	
0000h	Mot	X1 (marge de gauche du document)	0Ah	
0002h	Mot	X2 (marge de droite du document)	46h	
0004h	Mot	Nombre de lettres contenu dans le document		
0006h	Mot	Nombre de ligne contenu dans le document		
0008h	13 octets	Signature "GERBILDOC". Celle-ci est stocké comme une chaîne de caractères de format Pascal: String[12]. C'est-à-dire que le premier octet correspond à la longueur, soit, dans ce cas si 9, suivi par le message de la signature.	9h "G" "E" "R" "B" "I" "L" "D" "O" "C" 
00h 00h 00h	
0015h	Octet	Signification inconnu?	00h	
0016h	Mot	Marge du haut	06h	
0018h	Mot	Marge du bas	3Ch	
001Ah	Mot	Longueur de la page en ligne de texte affichée.	42h	
001Ch	484 octets	Signification inconnu?	Tous à 00h 	
0200h	[Offset 0004h] octets	Le texte lui-même du document. Celui-ci utilise comme saut de ligne le code 12 (0Ch). Les codes ASCII supérieurs ou égal à 128 sous toujours précédés par un code ASCII de référence. Le code de fin est 14 (0Eh). Autrement dit les caractères sont stockée de la façon suivante: 
Caractère (bit 0 à 6) 
SI bit 7 = 1 ALORS 
   SI bit 0 caractère suivant=1 ALORS Soulignement 
   SI bit 1 caractère suivant = 1 ALORS Gras 
   SI bit 2 caractère suivant = 1 ALORS Italique 
   SI bit 3 caractère suivant = 1 ALORS 
Caractère bit 7 ¬ 1 
FIN SI		

Structure d'un fichier tableur MGC
Voici la structure d'un fichier de chiffrier électronique (tableur) utilisé par le MonsterBook comme son format par défaut. Tout d'abord son entête:
Offset	Taille	Description	
0	4 octets	Signature « MGC »#26	
4	Variable	La définitions de chacune des cellules et des colonnes.	

Ensuite, il faut lire une par une chacune des cellules ayant sa propre structure à elle. Le premier caractère de chacune de ces cellules explique la structure de ces cellules. Voici le signification des premiers caractères de cellule:
Code	Description	
0	Cellule vide	
1	Valeur numérique	
2	Valeur texte	
3	Formule mathématique	
4	Date	
5	Colonne	
129	Valeur numérique avec précision décimal	
131	Formule mathématique avec précision décimal	

Voici la définition de chacune des cellules:
Définition d'une cellule vide
Offset	Taille	Description	
0	1 octet	ID (Identificateur) et sa valeur est toujours 0.	
1	1 double mot	Colonne de la cellule	
5	1 double mot	Ligne de la cellule	
9	1 octet	Format	
10	1 octet	Justification (0=Gauche, 1=Centre, 2=Droite)	
11	1 octet	Couleur d'attribut (Quartet haut = Arrière plan, Quartet bas = Couleur d'écriture).	
12	1 octet	Attribut spécial (gras, souligner,...)	

Définition d'une cellule à valeur numérique
Offset	Taille	Description	
0	1 octet	ID (Identificateur) et sa valeur est toujours 2.	
1	1 double mot	Colonne de la cellule	
5	1 double mot	Ligne de la cellule	
9	1 octet	Format	
10	1 octet	Justification (0=Gauche, 1=Centre, 2=Droite)	
11	1 octet	Couleur d'attribut (Quartet haut = Arrière plan, Quartet bas = Couleur d'écriture).	
12	1 octet	Attribut spécial (gras, souligner,...)	
13	6 octets	Nombre de réel de type «Real»	

Définition d'une cellule texte
Offset	Taille	Description	
0	1 octet	ID (Identificateur) et sa valeur est toujours 2.	
1	1 double mot	Colonne de la cellule	
5	1 double mot	Ligne de la cellule	
9	1 octet	Format	
10	1 octet	Justification (0=Gauche, 1=Centre, 2=Droite)	
11	1 octet	Couleur d'attribut (Quartet haut = Arrière plan, Quartet bas = Couleur d'écriture).	
12	1 octet	Attribut spécial (gras, souligner,...)	
13	Variable	Texte contenu dans la cellule sous forme de chaîne de caractères de format Pascal.	

Définition d'une cellule de formule
Offset	Taille	Description	
0	1 octet	ID (Identificateur) et sa valeur est toujours 3.	
1	1 double mot	Colonne de la cellule	
5	1 double mot	Ligne de la cellule	
9	1 octet	Format	
10	1 octet	Justification (0=Gauche, 1=Centre, 2=Droite)	
11	1 octet	Couleur d'attribut (Quartet haut = Arrière plan, Quartet bas = Couleur d'écriture).	
12	1 octet	Attribut spécial (gras, souligner,...)	
13	6 octets	Valeur actuel de la formule sous type «Real»	
19	1 octet	Formule calculer?	
20	1 octet	Erreur de la valeur?	
21	1 octet	Y a-t-il au moins une cellule dans la formule?	
23	Variable	Formule proprement dite en format chaîne de caractères Pascal.	

Définition d'une cellule de formule avec décimal
Offset	Taille	Description	
0	1 octet	ID (Identificateur) et sa valeur est toujours 131.	
1	1 double mot	Colonne de la cellule	
5	1 double mot	Ligne de la cellule	
9	1 octet	Format	
10	1 octet	Justification (0=Gauche, 1=Centre, 2=Droite)	
11	1 octet	Couleur d'attribut (Quartet haut = Arrière plan, Quartet bas = Couleur d'écriture).	
12	1 octet	Attribut spécial (gras, souligner,...)	
13	6 octets	Valeur actuel de la formule sous type «Real»	
19	1 octet	Formule calculer?	
20	1 octet	Erreur de la valeur?	
21	1 octet	Y a-t-il au moins une cellule dans la formule?	
22	1 octet	Nombre de décimal	
23	Variable	Formule proprement dite en format chaîne de caractères Pascal.	

Structure d'un fichier image BGX (Bitmap Genesis graphiX) 
Ce format est une image utilisé par le MonsterBook. Il ne s'agit que d'un vulgaire BitMap et pour cette raison il est très simple:
Offset	Taille	Description	
0	4 octets	Signature «BGX1»	
4	1 mot	Nombre de pixels horizontalement	
6	1 mot	Nombre de pixels verticalement	
8	1 octet	Nombre de bits par pixel	
9	Horizontal * Vertical * (1 << Bits par pixel)/8	Image en format Bitmap	

Structure d'un fichier image Bitmap Windows
Voici l'entête de fichier de format BitMap Windows:
Offset	Taille	Description	
0	2 octets	Signature «BM»	
2	1 double mot	Taille	
4	1 double mot	Réservé	
8	1 double mot	Offset bits	
12	1 double mot	Taille du Bitmap de l'image	
16	1 double mot	Largeur de l'image	
20	1 double mot	Hauteur de l'image	
24	1 mot	Nombre de plan	
26	1 mot	Bits par pixel	
28	1 double mot	Compression	
32	1 double mot	Taille de l'image	
36	1 double mot	Nombre de pixel horizontal par mètre	
40	1 double mot	Nombre de pixel vertical par mètre	
44	1 double mot	Efface utilisé	
48	1 double mot	Efface important	

Structure d'une image d'impression GPX
Voici l'entête d'une image d'impression GPX:
Offset	Taille	Description	
0	4 octets	Signature: 'GPX'#26	
4	1 mot	Largeur en pixels	
6	1 mot	Hauteur en pixels	
8	1 mot	Nombre de bande	
10	1 octet	Bits par pixel	

 Deux images suivantes immédiatement cette entête, l'image en bande et l'image en Bitmap. On a donc la structure suivante:
Description	
Entête de fichier GPX	
 Image en format bande (la taille est calculable par la formule: Largeur en pixels * Nombre de bande)	
Image en Bitmap	

Structure d'un fichier image Gem/Img Ventura
Voici l'entête d'un format d'image Gem/Img Ventura:
Offset	Taille	Description	
0	2 octets	Signature: 00h 01h	
2	1 mot	Point de départ en format de mot Motorola	
4	1 mot	Bits par pixel en format de mot Motorola	
6	1 mot	Taille de la palette	
8	4 octets	Réservés	
12	1 mot	Largeur de l'image en format de mot Motorola	
14	1 mot	Hauteur de l'image en format de mot Motorola	
16	3 octets	Réservés	

L'image suit naturellement après l'entête.

Structure d'un fichier image LBM
Entête d'un format d'image LBM:
Offset	Taille	Description	
0	4 octets	Signature: "FORM"	
4	1 double mot	Longueur du fichier – 8	
8	8 octets	Signature: "ILBMBMHD" ou "PBM BMHD"	
16	1 double mot	Longueur de l'entête	
20	1 mot	Largeur	
22	1 mot	Longueur	
24	1 mot	Position X1	
26	1 mot	Position Y1	
28	1 octet	Nombre de bits par pixel	
29	1 octet	Masque	
30	1 octet	Compression	
31	1 octet	Pad	
32	1 mot	Transparence	
34	1 octet	Ratio X	
35	1 octet	Ratio Y	
36	1 mot	Largeur de l'image	
38	1 mot	Hauteur de l'image	

 Structure d'un fichier d'image Targa 
Voici l'entête de fichier de format Targa:
Offset	Taille	Description	
0	1 octet	Taille de l'en-tête en octets	
1	1 octet	Version du format TGA :	
		Code	Description	
		1	Celle reconnue par cette application.	
2	1 octet	Format de codage des données :	
		Code	Description	
		1	Données directes en 8bpp	
		2	Données directes en 24bpp (RVB)	
		9	Codage des répétitions (RLE) en 8 bpp	
		10	Codage des répétitions (RLE) en 24 bpp	
3	1 mot	Position dans le fichier de la palette	
5	1 mot	Nombre de couleurs	
7	1 mot	Position d'origine X dans l'image	
9	1 mot	Position d'origine Y dans l'image	
11	1 mot	Dimension horizontal de l'image	
13	1 mot	Dimension vertical de l'image	
15	1 octet	Nombre de bits par pixel	
16	1 octet	Option de l'image:	
		Code	Description	
		0	Image renversée verticalement	
		32	Image dans le sens normal	

Structure d'un fichier d'image GIF
Les fichier graphique de format  GIF sont très répandu, il est impossible de ne pas en tenir compte! Voici la structure de l'en-tête d'un fichier GIF 87a et 89a: 
Offset	Taille	Description	
00h à 05h	6 octets	Nom du GIF ('GIF87a' ou 'GIF89a')	
06h à 07h	1 mot	Nombre de pixels sur l'axe des X	
08h à 09h	1 mot	Nombre de pixels sur l'axe des Y	
0Ah	1 octet	Information étendue	
		Bit(s)	Description	
		0 à 2	Nombre de palettes:
0: 2 palettes
1: 4 palettes 
2: 8 palettes 
3: 16 palettes 
4: 32 palettes 
5: 64 palettes 
6: 128 palettes 
7: 256 palettes	
		3 à 7	Réservé	
0Bh	1 octet	Arrière plan (Background)	
0Ch	1 octet	Ratio	
0Dh 	3*2 << (offset 0Ah) ET LOGIQUE 7 octets	Table de couleur (Color Map) 	
3*2 << (offset 0Ah) ET LOGIQUE 7	1 octet + Extra	Identificateur	
...	1 octet	Identificateur	

Structure de l'Identificateur
Type 	Description	
';'	Fin	
'!'	Extension	
	Taille	Description	
	Jusqu'à un code ASCII 0 soit rencontré	Donnée de compression de l'image	
','	Séparateur d'image	
	Offset	Taille	Description	
	00h à 03h	4 octets	Réservé	
	04h à 05h	1 Mot 	Longueur (Nombre de pixels X)	
	06h à 07h	1 Mot	Largeur (Nombre de pixels Y)	
	08h	1 octet	Bits 0 à 2: Nombre de palettes:	
			Code	Description	
			0	2 palettes	
			1	4 palettes	
			2	8 palettes	
			3	16 palettes	
			4	32 palettes	
			5	64 palettes	
			6	128 palettes	
			7	256 palettes	
			Bit 3 à 5: Réservé (??)
Bit 6: Interlacé
Bit 7: Drapeau de la table de couleur (Color Map Flag)	
	09h	1 octet 	Taille du code d'entrée (Valide de 2 à 11) Image...	
L'image tant qu'à suit le principe d'une compression LZW et n'est pas exposé dans cette annexe.

Annexe F : Code d'erreurs
Voici la liste des erreurs utilisés par le MonsterBook pour son fonctionnement interne:
Code	Description	
0000h	Aucune erreur n'est apparue	
0001h	Numéro de fonction invalide	
0002h	Fichier introuvable	
0003h	Chemin introuvable	
0004h	Trop de fichiers ouverts simultanément	
0005h	Accès refusé	
0006h	Handle inconnu	
0007h	Bloc de contrôle de la mémoire détruit	
0008h	Mémoire disponible insuffisante	
0009h	Adresse de mémoire incorrecte	
000Ah	Environnement incorrecte	
000Bh	Format invalide	
000Ch	Code d'accès incorrecte	
000Dh	Données incorrecte	
000Fh	Lecteur (unité) inconnu	
0010h	Tentative de destruction du répertoire courant	
0011h	Périphériques différentes	
0012h	Plus d'autre fichier	
0013h	Support protégé contre l'écriture	
0014h	Périphérique inconnu	
0015h	Périphérique pas prête	
0016h	Instruction inconnue	
0017h	Erreur CRC	
0018h	Largeur de données incorrecte	
0019h	Recherche infructueuse	
001Ah	Type de périphérique inconnu	
001Bh	Secteur introuvable	
001Ch	Imprimante: Plus de papier	
001Dh	Erreur d'écriture	
001Eh	Erreur de lecture	
001Fh	Erreur générale	
0020h	Erreur de partage de ressource	
0021h	Violation du verrouillage	
0022h	Changement de disque invalide	
0023h	 FCB non disponible	
0024h	Dépassement du tampon des ressources	
0025h	 Pays: Code de page invalide	
0026h	Impossible de compléter l'opération fichier (manque d'entrée)	
0027h	Espace disque insuffisant	
0032h	 Réseau: Appel réseau insupportable	
0033h	Réseau: Ordinateur distant ne répondant pas	
0034h	Réseau: Duplication du nom dans le réseau	
0035h	Réseau: Nom du réseau introuvable	
0036h	Réseau: Réseau occupé	
0037h	Réseau: Périphérique réseau inexistante	
0038h	Réseau: Commande BIOS réseau trop grande	
0039h	Réseau: Erreur matérielle de l'adapteur réseau	
003Ah	Réseau: Réponse invalide du réseau	
003Bh	Réseau: Erreur inattendue du réseau	
003Ch	Réseau: Adapteur incompatible	
003Dh	Queue d'impression pleine	
003Eh	Queue d'impression encore pleine	
003Fh	Fichier d'impression effacé	
0040h	Réseau: Nom de réseau effacé	
0041h	Réseau: Accès refusé	
0042h	Réseau: Type de périphérique réseau incorrecte	
0043h	Réseau: Nom de réseau introuvable	
0044h	Réseau: Nom de réseau trop grand	
0045h	Réseau: Session de BIOS réseau trop grand	
0046h	Réseau: Arrêt temporaire	
0047h	Réseau: Appel réseau introuvable	
0048h	Réseau: Arrêt d'impression ou de redirection	
0049h	Réseau: Logiciel réseau non installé/Version réseau invalide	
004Ah	Réseau: Adapteur fermé inattendu/Estimation expiré	
004Bh	Réseau: Mot de passe expiré	
004Ch	Réseau: Tentative de branchement invalide en ce moment	
004Dh	Réseau: Excède la limite disque dans la station de travail	
004Eh	Réseau: Pas de branchement dans la station de travail	
0050h	Fichier déjà existant	
0052h	Impossible de créer un répertoire	
0053h	Erreur sur Interruption 24h (Erreur critique)	
0054h	Hors structure (trop de redirections)	
0055h	Redirection dupliquée	
0056h	Mot de passe invalide	
0057h	Paramètre invalide	
0058h	Réseau: Erreur d'écriture sur une périphérique réseau	
0059h	Réseau: Fonction non supporté par le réseau	
005Ah	Réseau: Les composants système requis ne sont pas installé	
0064h	 CD-ROM: Erreur totalement inconnu	
0065h	CD-ROM: Pas prêt	
0066h	CD-ROM: La mémoire EMS n'est pas d'une longueur valide	
0067h	CD-ROM: Le format CD-ROM n'est pas High Sierra ou ISO-9660	
0068h	CD-ROM: La porte est ouverte	
0080h	 EMS: Erreur interne dans l'EMM (peut indiquer une image mémoire incorrecte dans le pilote)	
0081h	EMS: Mauvais fonctionnement dans la partie matérielle de la mémoire étendue	
0082h	EMS: EMM occupé	
0083h	EMS: Handle invalide	
0084h	EMS: Fonction indéfinie	
0085h	EMS: Les handles sont épuisés	
0086h	EMS: Erreur dans la sauvegarde ou la restitution de la pagination	
0087h	EMS: La demande d'allocation a spécifié plus de pages que celles se trouvant physiquement allouée	
0088h	EMS: La demande d'allocation a spécifié plus de pages que le nombre disponible. Aucune page n'a été allouée	
0089h	EMS: Aucune page n'a été allouée	
008Ah	EMS: La page logique demandée est en dehors des pages autorisées par le handle	
008Bh	EMS: Page physiquement illégale dans la demande de pagination	
008Ch	EMS: La zone de sauvegarde de l'état matériel de page de pagination est plein	
008Dh	EMS: La sauvegarde du contexte de pagination a échoué. La zone de sauvegarde est déjà remplie	
008Eh	EMS: La restitution du contexte de pagination a échoué. La zone de sauvegarde est vide	
008Fh	EMS: Paramètre de sous-fonction non défini	
0090h	EMS: Type d'attribut non défini	
0091h	EMS: Caractéristique non supportée	
0092h	EMS: Les mémoires source et destination ont les mêmes handles et se chevauchent. Le déplacement demandé a été effectué, mais une partie de la zone source a été écrasée	
0093h	EMS: La longueur spécifié de la zone source ou destination spécifié est supérieur à la longueur autorisée	
0094h	EMS: Une zone de mémoire conventionnelle se trouve à la même adresse qu'une zone de mémoire étendue	
0095h	EMS: Le déplacement spécifié est en dehors de la page logique	
0096h	EMS: Longueur de zone supérieure à 1 Mo	
0097h	EMS: Les zones de mémoire source et destination ont les mêmes handles et se chevauchent. L'échange ne peut être effectué	
0098h	EMS: Type des mémoires source et destination non défini	
009Ah	EMS: La pagination alterné ou l'initialisation de registres alterné ou l'initialisation de registres DMA est supportée, mais l'initialisation du registre alterné spécifié n'est pas possible.	
009Bh	EMS: La pagination alterné ou l'initialisation de registres DMA est supportée, mais tous les registres alternés initialisés sont actuellement alloués	
009Ch	EMS: Les cartes alternées ou la définition de registres DMA n'est pas supportée, et le registre alterné est différent de 0	
009Dh	EMS: La pagination alterné ou l'initialisation de registres DMA sont supportés, mais la définition du registre DMA spécifié n'est pas définie ou autorisée	
009Eh	EMS: Les canaux DMA dédiés ne sont pas autorisés	
009Fh	EMS: Les canaux DMA dédiés sont autorisés, mais le canal DMA spécifié n'est pas autorisé	
00A0h	EMS: Le handle dont le nom est spécifié n'est pas trouvé	
00A1h	EMS: Un handle du même nom existe	
00A2h	EMS: Rotation d'adresse mémoire: l'adresse de base d'une zone source ou destination additionnée à la longueur dépasse 1 Mo	
00A3h	EMS: Un pointeur invalide a été passé à la fonction, ou le contenu d'un tableau source a été écrasé	
00A4h	EMS: L'accès à la fonction est refusé par le système d'exploitation	
00B0h	 XMS: Fonction non implémentée	
00B1h	XMS: Pilote de périphérique VDISK détecté	
00B2h	XMS: Erreur A20	
00BEh	XMS: Erreur générale du pilote XMM	
00BFh	XMS: Erreur fatale	
00C0h	XMS: La mémoire HMA n'existe pas	
00C1h	XMS: La mémoire HMA est en cours d'utilisation	
00C2h	XMS: DX inférieur à /HMAMIN=paramètre	
00C3h	XMS: Mémoire HMA non allouée	
00C4h	XMS: Ligne A20 toujours validée	
00D0h	XMS: Toute la mémoire étendue est allouée	
00D1h	XMS: Plus de handles EMM	
00D2h	XMS: Handle invalide	
00D3h	XMS: Handle source invalide	
00D4h	XMS: Déplacement source invalide	
00D5h	XMS: Handle destination invalide	
00D6h	XMS: Déplacement de destination invalide	
00D7h	XMS: Longueur invalide	
00D8h	XMS: Recouvrement invalide dans une requête MOVE	
00D9h	XMS: Erreur de parité	
00DAh	XMS: Bloc non verrouillé	
00DBh	XMS: Bloc verrouillé	
00DCh	XMS: Dépassement dans le compteur de verrou	
00DDh	XMS: Erreur de verrou	
00E0h	XMS: Plus petit UMB disponible	
00E1h	XMS: Aucun UMB n'est disponible	
00E2h	XMS: Numéro de segment UMB invalide	
00FEh	Erreur de création de fichier	
00FFh	Fin de fichier déjà atteint	
0101h	Erreur interne RLL	
0102h	Manque de mémoire lors d'une allocation de fonction RLL	
0103h	Libération interdite de mémoire en zone inférieur du tas	
0104h	Erreur d'allocation dans la libération du tas	
0120h	L'imprimante n'est pas prête	
0121h	Ressource Mémoire: Tentative de libération d'une mémoire inexistante	
0122h	Ressource Mémoire: Tentative de lecture dans une mémoire inexistante	
0123h	Ressource Mémoire: Tentative d'écriture dans une mémoire inexistante	
0124h	Ressource Mémoire: Tentative de déplacement du pointeur de tas dans une mémoire inexistante	
0125h	Ressource Mémoire: Tentative de lecture du pointeur de tas dans une mémoire inexistante	
0126h	Ressource Mémoire: Tentative de lecture dans une zone de mémoire en écriture	
0127h	Ressource Mémoire: Tentative d'utilisation d'un Handle inexistant	
0128h	Ressource Mémoire: Tentative d'écriture dans une zone de mémoire en lecture	
012Dh	Teste de démarrage: Le clavier ne répond pas à l'initialisation logiciel ou ne réagit pas	
012Eh	Teste de démarrage: L'utilisation système indique un erreur clavier ou l'unité système est verrouillé	
012Fh	Teste de démarrage: Clavier ou erreur de la carte mère	
0130h	Teste de démarrage: Le CMOS ne correspond pas au système	
0131h	Vidéo: Impossible de créer un tampon pour le curseur	
0132h	Vidéo: Impossible de charger les fonctions en mémoire	
0133h	Vidéo: Système vidéo non-initialisé	
0134h	Vidéo: Fichier de palette introuvable	
0135h	Vidéo: Impossible de charger la police en mémoire	
0141h	Fenêtre Primitive: Impossible d'effectuer un sauvegarde de l'arrière plan en mode graphique	
0142h	Fenêtre Primitive: Impossible d'effectuer un sauvegarde de l'arrière plan en mode texte	
0151h	Traitement de donnée: Erreur de syntaxe	
0152h	Traitement de donnée: Retour sans avoir été appelé	
0153h	Traitement de donnée: Fin de données	
0154h	Traitement de donnée: Appel de fonction interdite	
0155h	Teste de démarrage: Remplacer le clavier	
0156h	Teste de démarrage: Remplacer le câble de l'interface du clavier	
0157h	Teste de démarrage: Remplacer la carte d'extension ou le câble du clavier	
0158h	Traitement de donnée: Indice inférieur incorrecte	
0159h	Traitement de donnée: Tentative de modifié la taille d'un format fixe	
015Ah	Traitement de donnée: Division par 0	
015Bh	Traitement de donnée: Instruction directe interdite	
015Ch	Traitement de donnée: Type de donnée incompatible	
015Dh	Traitement de donnée: Fin de l'espace du chaîne de texte Pascal	
015Eh	Traitement de donnée: chaîne trop longue	
015Fh	Traitement de donnée: Formule trop complexe	
0160h	Traitement de donnée: Impossible de poursuivre les mécanismes	
0161h	Traitement de donnée: Donnée de fichier erroné	
0162h	Traitement de donnée: Opération déjà en cours	
0163h	Traitement de donnée: Erreur de numéro de dispositif	
0164h	Traitement de donnée: Erreur d'entrée/sortie	
0165h	Traitement de donnée: Traitement de donnée inadéquat	
0166h	Traitement de donnée: Traitement d'opération dans un ordre illogique	
0167h	Traitement de donnée: Manque de mémoire	
0168h	Traitement de donnée: Dépassement de capacité	
0169h	Traitement de donnée: Paramètre inconnue	
016Dh	Teste de démarrage: Remplacer le clavier	
016Eh	Teste de démarrage: Remplacer le câble de l'interface clavier	
016Fh	Teste de démarrage: Remplacer la carte d'extension ou le câble clavier	
0170h	Mot de passe invalide	
0171h	Éditeur: Fichier introuvable/impossible d'ouvrir le fichier texte	
0172h	Éditeur: Erreur de lecture de la taille du fichier	
0173h	Éditeur: Erreur de lecture du fichier texte	
0174h	Éditeur: Fichier trop gros pour être chargé en mémoire	
0175h	Erreur d'écriture du Journal de Bord	
0176h	Nombre de ligne insuffisant pour effectuer un tri	
0177h	Numéro de page invalide	
0178h	Numéro de page inexistant	
0179h	Erreur dans l'échange d'information	
017Ah	Marge gauche et droite non défini	
0191h	Teste de démarrage: Échec de la mémoire vidéo, du teste de la fréquence horizontal ou vidéo du système monochrome	
0198h	Teste de démarrage: L'utilisateur indique que l'affichage des attributs vidéo échoue sur le système monochrome	
0301h	APM: Fonction désactivé	
0302h	APM: Interface déjà dans le processus	
0303h	APM: Interface déconnecté	
0305h	APM: Mode 16-bits d'interface déjà établie	
0309h	APM: Identificateur non reconnu	
0360h	APM: Incapable d'entrée dans la requête demandé	
03FFh	Problème avec ce mode	
0FFAh	Trop de fichier ouvert simultanément	
0FFBh	Fichier ou répertoire déjà effacé	
0FFCh	Impossible de monter le volume	
0FFDh	Impossible de modifier l'attribut de cette entrée	
0FFEh	Impossible de modifier l'attribut du fichier	
0FFFh	Destination de copie invalide	
1000h	Impossible de renommer le nom de votre fichier	
1001h	Impossible de renommer le volume	
1002h	Source à imprimer non définit	
1003h	Information sur le pays non disponible	
1004h	Impossible de changer de pays! Seul l'application sera affecté	
1005h	Manque de ressource	
1101h	Problème d'ajustement du contrôleur clavier	
1181h	Cette machine ne dispose pas de mémoire sur pile «CMOS»	
1200h	Impossible d'effectuer cette opération avec votre matériel	
1201h	Une carte de son Sound Blaster minimum est réclamé	
1202h	Vous n'avez pas de carte de son installé, seulement votre haut-parleur de base mono de votre PC	
1301h	Image du pointeur de souris trop gros	
1302h	Aucune souris détecté	
1401h	Disquette protégée contre l'écriture	
1402h	Erreur de piste	
1403h	Une erreur a interrompu le formatage	
1404h	Le format demandé ne peut être utilisé sur ce lecteur	
1405h	Cette unité n'est pas une unité de disquette	
1406h	Désolé! Impossible de stationner votre/vos disque(s) dur	
1407h	Disque dur introuvable!	
1408h	Erreur de lecteur en voulant accéder au secteur de démarrage!	
1409h	Impossible d'ouvrir le fichier	
1500h	Désolé votre carte vidéo ne supporte pas le standard VESA	
1501h	Mode vidéo non supportée	
1502h	Aucun mode vidéo ne permet l'affichage désirez	
1503h	Taille de l'écran insuffisante pour l'application demandé	
1504h	Mode graphique requis	
1505h	Ligne d'image trop grande	
1506h	Image à copier vide	
1601h	Cette option est seulement disponible avec les microprocesseurs Cyrix	
2001h	Format de fichier image inconnue	
2002h	Le format d'image de recherche n'a pas été trouvé	
2003h	Fichier introuvable	
2004h	Entête du fichier invalide pour ce format	
2005h	Ligne trop grande	
2006h	Manque de mémoire	
2007h	L'image n'a pas de suivant	
2008h	Fin manquante	
2009h	Mauvais code de taille	
200Ah	Mauvais code	
200Bh	Annuler par l'utilisateur	
200Ch	Index introuvable	
200Dh	Donnée invalide	
200Eh	Taille invalide	
200Fh	Impossible de créer le fichier	
2010h	Format non supportée	
2011h	Donnée trop grosse	
2012h	Couleur incompatible	

 Erreur de compilateur/Message d'erreur:
Code	Description	
10001	';' attendu	
10002	'{' attendu	
10003	'}' attendu	
10004	'[' attendu	
10005	']' attendu	
10006	'(' attendu	
10007	')' attendu	
10008	'*' attendu	
10009	Nombre attendu	
10010	'>' attendu	
10011	«'» attendu	
10012	'.' attendu	
10013	Énumération attendu	
10014	Nombre de l'instruction « ARRAY » attendu	
10015	Fin de fonction attendu	
10016	Fin de source attendu	
10017	Fin de chaîne de caractères attendu	
10018	Fin de commentaire attendu	
10019	Fin de commande attendu	
10020	Fin d'argument attendu	
10021	Type de variable attendu	
10022	Nom de variable attendu	
10023	Directive attendu	
10024	Nom de l'instruction « typedef » attendu	
10025	Nom de l'inclusion de fichier attendu	
10026	Nom de la directive conditionnel « IF » attendu	
10027	Nom de la directive conditionnel « IFDEF » attendu	
10028	Nom de la directive conditionnel « IFNDEF » attendu	
10029	Instruction « WHILE » attendu	
10030	Instruction « BEGIN » attendu	
10031	Nom attendu	
10032	Valeur attendu	
10033	Type attendu	
10034	Instruction « OF » attendu	
10035	Étiquette attendu	
10036	Nom de programme attendu	
10037	Nom d'unité attendu	
10038	Nom de constante attendu	
10039	Instruction « END » attendu	
10040	':' attendu	
10041	'=' attendu	
10042	« CF » attendu	
10043	Identificateur attendu	
10044	'<' attendu	
10045	'+' attendu	
10046	'-' attendu	
10047	',' attendu	
10048	'THEN' attendu	
10049	Duplication d'expression	
10050	Duplication d'énumération	
10051	Variable de la structure dupliqué	
10052	Duplication de définition d'unité	
10053	Variable dupliqué	
10054	Instruction 'AS' attendu	
10055	'TO' attendu	
10056	Ctrl+Break enfoncé	
10057	Variable introuvable	
10058	«NEXT» sans « FOR »	
10059	'#' attendu	
10060	Appel de fonction invalide	
10061	'$' attendu	
10062	Trop de « 'GOSUB »	
10063	Instruction « RETURN » sans instruction « GOSUB »	
10064	Instruction « WHILE » sans instruction « WEND »	
10065	« WEND » mal placé	
10066	Image trop grosse	
10067	Duplication d'étiquette!	
10068	Constante dupliqué	
10069	Nombre invalide	
10070	Utilise un mot réservé PASCAL comme variable	
10071	Identificateur « ITEM » attendu	
10072	« TRUE » attendu	
10073	Appel externe attendu	
10074	Identificateur valide attendu	
10075	Nombre attendu	
10076	Nombre entre 1 et 9 attendu	
10080	Énumération vide	
10081	Structure vide	
10096	Trop de répertoire dans l'entête	
10097	Trop de message d'attention	
10098	Identificateur inconnue	
10099	Type inconnu	
10100	Erreur de syntaxe	
10101	Erreur de nombre	
10102	Erreur de syntaxe d'un enregistrement	
10124	« PROGRAM » mal placé	
10125	« NEXT » mal placé	
10126	« ELSE » mal placé	
10127	« BEGIN » mal placé	
10128	Directive conditionnel mal placé	
10129	Fin de symbole mal placé	
10130	« ; » mal placé	
10131	« UNIT » mal placé	
10132	« USES » mal placé	
10133	« INTERFACE » mal placé	
10134	« IMPLEMENTATION » mal placé	
10135	« INITIALIZATION » mal placé	
10136	« FINALIZATION » mal placé	
10139	Trop de boucle	
10140	Nombre trop grand	
10141	Type incompatible	
10150	Instruction pour 80186	
10151	Instruction pour 80286	
10152	Instruction coprocesseur mathématique 80287	
10153	Instruction pour 80386	
10154	Instruction coprocesseur mathématique 80387	
10180	Dépassement d'index	
10198	Unité introuvable	
10199	Fichier non ouvert	
10200	Fichier introuvable	
10201	Impossible de créer le fichier	
10202	Erreur de lecture du fichier	
10254	Manque de mémoire	
10255	Erreur interne	
10256	Erreur de paramètre(s) interne	
10401	Fichier ressource non spécifié	
10701	Erreur de traitement SQL	
10702	Base de données trop grande	
10703	Manque de « DATA »	

 Erreur de format:
Code	Description	
15001	Aucun renseignement sur le « MP3 »	
15002	Erreur d'impression dans un fichier	
15003	Police de caractères introuvable	
15004	Erreur de structure de fichier	
15005	Fichier corrompu	
15006	Entête de fichier invalide	
15007	Données du fichier invalide	
15008	Pas de "Samples" dans le fichier sonore	
15009	Aucune police de caractères n'a été trouvé	
15010	Technique de compression inconnue	

  Erreur de compression du format de fichier ZIP:
Code	Description	
16001	Erreur CRC	
16002	Problème d'écriture	
16003	Problème de lecture	
16004	Fichier ZIP	
16005	Abordé par l'utilisateur	
16006	Format non supporté	
16007	Encryptage	
16008	Erreur dans l'utilisation	
16009	Erreur interne	
16010	Plus d'item	
16011	Fichier	
16012	Aucun ZIP trouvé	
16013	Entête trop large	
16014	Erreur d'ouverture de fichier	
16100	Erreur sérieuse	
16500	Paramètres attendu	

 Erreur interface:
Code	Description	
20001	Erreur de lecture du Bureau	
20002	Impossible d'éditer le Bureau	
20003	Journal de bord introuvable	
20004	« Passe » avant un « Copie »	
20005	« Copie » incompatible	
20006	Aucun fichier correspondant trouvé	
20007	Impossible de créer un fichier de bureau	
20008	Fonctionnalité non disponible dans ce contexte	
20009	Confirmation invalide! Veuillez retaper le mot de passe car ils ne sont pas identique	
20010	Nombre de copie d'impression invalide	
20011	Impossible de renommer votre nom de répertoire	
20012	Vous n'avez pas de fenêtre ouverte	
20013	Modèle d'application introuvable	
20014	Recherche infructueuse	
20015	Commande invalide	
20016	Chaîne de caractères introuvable	
20017	Procédure introuvable	
20101	Taille du presse-papier trop gros	
20102	Impossible d'ouvrir le Presse-Papier	
20103	Le Presse-Papier n'est pas disponible. Exécuter cette fonction à l'intérieur d'une session Windows-DOS	
20104	Système vidéo secondaire inexistant. Impossible d'effectuer une analyse	

 Erreur d'installation d'interface:
Code	Description	
21001	Problème d'enregistrement de l'«AUTOEXEC.BAT»	
21002	Problème de lecture de l'«AUTOEXEC.BAT»! Opération de modification abandonner	

 Erreur d'appel d'application externe:
Code	Description	
22001	Compilateur associée introuvable	
22002	Programme de liaison introuvable	
22003	Programme de traitement introuvable	
22004	Erreur de sortie de liaison	
22005	Erreur de sortie du compilateur	
22006	Conversion associée introuvable	

 Erreur application:
Code	Description	
31001	Trop de numéro de téléphone	
31002	Plus de place pour une nouvelle personne dans l'agenda	
31003	Plus de place pour une nouvelle personne dans la base de données	
31004	Personne introuvable	
31101	Palette non-supportée	
31102	Point en dehors des limites permises	
31201	Demande incohérente. Une seule page existe	
31301	Image introuvable ou incompréhensible	
31501	Impossible d'enregistrer le titre	

Index

Index lexical
@ACOS	72
@ASIN	9, 72
@ATAN	9
@Combin	72
@Cosh	72
@COSH	10
@DureeComp	72
@Fact	73
@FactLn	73
@Faux	73
@FAUX	11
@Heure	73
@HEURE	11
@Log	73
@LOG	11
@Max	73
@MAX	11
@Min	73
@MIN	11
@Minute	73
@MINUTE	11
@PI	73
@ProdScal	73
@Rembour	74
@Sech	74
@Seconde	74
@SECONDE	12
@SIN	12
@Sinh	74
@SINH	12
@Tan	74
@TAN	12
@Tanh	74
@Taux	74
@Temps	74
@TEMPS	12
@Valact	74
@Van	75
@VAN	13
@Vrai	75
.INI	39
.MOD	39suivante, 42
.RC	54
/V	32
4DOS	61
4MAT	18
6502	29
80386	7
8088	7
A
A20	107
Acumos	34
Ada	9
Adèle	27
Adobe Illustrator	15
Ahead	33, 58
Ahead A	34
Ahead B	34
AMD	29, 58
Amiga	7, 43
ANSI	9
ARC	16
ARJ	16
ASCII	9, 41, 91
Assembleur	9, 31
ATI	33suivante, 58
ATI 16 MD	34
ATI GU Pro/Ultra	34
AUTOEXEC.BAT	116
B
B57	26
BankRoutine	33
BARHORI	53
BARUP	53
base de registres	92
Basic	9, 31, 67
BASICA	67
BBM	27
BGX	27
BGX1	98
Bitmap	99
BitMap Windows	98
BM	98
BMP	27
BOOT Disquette	15
Borland	19
Bubble	44
C
C	31
C/C++	9, 38
CAB	16
Cached Directory Table Entry	24, 35
CAPTION	53
CCR1	35
CCR2	35
CCR3	35
CCR4	35
CCR5	35
CD-ROM	106
CHECKBOX	53
CheckSVGA	32
Chips & Technologie	34
Cirrus	33, 58
Cirrus 54	34
CL5426	34
Clone Commander	7, 16
CLOSEICON	53
CMOS	60, 108, 110
CMOS RTC-58321	60
CMOS RTC MC146818	60
CMOS RTC MM58167	60
Cobol	9, 38
COLORCUBE	53
COLORGRID	53
Color Ma	102
Color Map Flag	103
CONFIG.SYS	23
Corel	45
Corel Draw	15
CPU	24
CPUID	24, 35, 58
Creative Labs	19
CTI	33, 58
CurrPrn	31
CuteHTML	7
Cyrix	24, 29, 35, 58, 110
D
DataBaseMalte	90
Data forwarding	24, 35
dBase III+	91
DBR0	35
DC	29
DefaultMode	33
Démarrer	23
DFD	15, 52
Diagramme de Flux de Données	15
Dir	31
Disk	30suivante
Disque Compacte	29
DMA	107
DOS	23, 26, 29
DOSEmu	7, 15, 43
DPU	44, 53suivante
DR-DOS	7, 19
DX	107
E
EGA	44
Elvis	44
Emac	45
EMM	106
EMS	27, 106
Euphoria	9
Everex	33, 58
Excel	9
Explorer	55
Extended Bios Interrupt 15h	27
F
FastLynx	16
FAT12	7
FAT16	7
FAT32	7
FCB	104
Files	31
First Choice	94
FontTitle	33
For	49
FORM	100
Fortran	9
FrameBuffer	24, 35
FRANCAIS.MNB	23
FRANCAIS.MNX	23
FreeDos	7
FX	24
G
GAT	39suivantes, 80, 93
Gem/Img Ventura	99
GemImg	27
Genesis Ascii Typewriter	93
Genoa	33, 58
GERBILDOC	94
GetMem	61
GFX	27
GHOST	53
GIF	27, 102
GIF 87a	102
GIF 89a	102
GIF animer	44
GPX	27, 87, 99
GROUP	54
GS	43
Guide Norton	88
GWBASIC	52, 67
H
HALT	24, 35
HANDLE	23
Headland	33
HeightPaperLPT1	32
High Sierra 	106
HKEY_CLASSES_ROOT	92
HKEY_CURRENT_CONFIG	92
HKEY_CURRENT_USER	92
HKEY_DYN_DATA	92
HKEY_LOCAL_MACHINE	92
HKEY_PERFORMANCE_DATA	92
HKEY_SYSTEM	92
HKEY_USERS	92
HMA	107
HPFS	7, 29
HTML	9, 17, 22, 54
I
ICE	16
ILBMBMHD	100
Image en format bande	99
ImageInDialog	34
INPUT	53
Intel	29
Isabel	37
ISO-9660	106
ITEM	54
IT-VGA2	58
J
Java	9, 46
JavaScript	55
JPEG	27
K
Kébecup	21
L
Laplink	16
LBM	27, 100
LFN	61
Linux	7, 16, 29, 43, 45
Liste Symétrique	45
Ln	49
LN	53
LnGamma	76
Log	32
Log10	76
LOG10	14
LOI.BINOMIALE	14, 77
LOOP	24, 35
Lotus 1-2-3	9
LZH	16
LZW	103
M
Macintosh	44, 65
MacPaint	27
Malte Genesis IV: Alias Chantal	27, 57, 92
Malte Genesis V: Alias Adèle	57
Matrox	58
MB.CFG	23, 30
MB.INI	23, 30
MB /V	30
MCB	38
MDI	55
MemAlloc	61
Mentronix	15, 89
MENU	54
MESSAGE	53
 MGC 	95
Microsoft Office	45
Modem	30
MOS	19
Motorola	60, 99
 MP3 	114
MSCDEX	29
MS-DOS	7
N
NDOS	61
NEC	29
Negate Lock	24, 35
Netscape	55
Norton Commander	15suivante
Norton Utility	18
NT	16
NWCDEX	29
O
Oak	33, 58
OS/2	7, 15suivante, 29suivante, 37
OS/2 Warp 3	7
OverCode	26
overlay	32
OvrEms	32
P
Page Down	17
PageFormat	49suivante
PageNm	49
Page Up	17
PAK	16
Paper2Paper	31
PapierPeint	33
Paradise	33, 58
Pascal	9, 26, 31, 38
Pays	105
PBM BMHD	100
PC/AT	60
PC/XT	60
P-Code	52
PC Shell 	16
PC Tools	16
PCX	27
PFS	94
PL/1	9
PPM	27
Premier Choix	9, 45, 94
Printers	30suivante
Print Screen	27
PROCESSUS	53
Professionnal Write	9, 45
prompt DOS	18
PS/2	29, 59
Put	49
PutLn	49
Q
QQF	17, 62
Quattro Pro	9
Quick Québec Font	62
R
RADIOBUTTON	53
RAR	16
RealTek	34
recouvrement	32
REG	92
Relief	44
Réseau	105
ResLoadD	67, 88
ResSaveD	67, 88
ResServD	67, 88
RLE	101
RLL	108
Robotic	44
ROM BIOS	24
RTF	9, 70
RVB	101
S
S3805 - 1M / S3864 – 2M	34
Samples	114
SCi	27
ScrSaver	32
Search32Rec	62
SearchRec	62
SECTORIAL	54
SerialCode	31
ServerDbMalte	89
SetDblChr	49
SetNorChr	50
shell Unix	18
ShortBF	61
SIMPLE GRID	53
SIZE	53
Sound Blaster	110
Sparadise	34
SQL	9, 67, 88, 114
SQL-92	7
SS24X/WD90C3x 	34
StarOffice	7
StartUp	29suivante
STB	33
Super VGA	24
SwapEMS	32
SWG	16
Switch	30
Symantec	16
Systems	30, 32
T
TABBEDNOTEBOOK	53
tableur	95
Targa	101
TEX	57
TEXT	53
TGA	27, 101
TIF	27
Trident	33, 58
Trident 8900 	34
Tseng Labs	58
Tseng Labs ET3000	33
Tseng Labs ET4000	33
TZ	16
U
UMB	108
Unix	7, 20
User	31
UserName	31
V
VAX	7
VDISK	107
VERIFY ON/OFF	38
VESA	32suivante, 58
VesaBiosBank	33
VESA S3	34
VGA	33
Video	30, 32
Video 7	58
Video Seven	33
Viper	34
Visio	15
Visual Basic	21, 31, 52
VRAM	27
W
WD Vanila / WD90C31	34
WINDOWCOLORCLASSIC	53
Windows	7, 16, 29, 37
Windows 9X	16, 24
Word	9
Word Perfect	45
WordStar	37
Workshop	21
Write Allocate	24, 35
Write-Back cache	24, 35
X
XBM	27
XGA	34, 58
XMS	27, 107
Z
ZIP	16, 114
ZOO	16
Zymos	34, 58