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.

Noyau

Système d’exploitation




Base de données globale Mentronix





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:



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:


  1. Configuration:


  1. Raccourci:

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:









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.

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:




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

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 ( NR ) * @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[IGroupeCellule1.X1 + GroupeCellule2.X1,
JGroupeCellule1.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 > NK 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



123