


		    MANUEL D'UTILISATION DE MACHIAVEL OPUS
		    --------------------------------------


Vous trouverez  la fin de ce manuel la description complte de la procdure
pour faire enregistrer ce shareware (Texte de CompuServe traduit et enjoliv
par mes soins).
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*****************************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


A.GENERALITES.
=============

1.Dfinition :
**************
    Avec Machiavel Opus, un enfant de sept ans ayant quelques notions de
    base pourrait faire ce que tant d'adultes n'arrivent pas 
    faire avec leur ordinateur.

    Machiavel Opus est un shell.

    Shell : Programme de gestion d'ordinateur.

2.Utilisateurs concerns :
**************************
    TOUS !  Du dbutant absolu au programmeur vtran !
    Tous ceux qui l'ont utilis ne peuvent plus s'en passer, et bien que
    cette rflexion ait tout de l'argument publicitaire (d'ailleurs c'en
    est un ),c'est bien ce que j'ai constat.

3.Installation :
****************
    Dcompactez le fichier Macopus.zip dans un rpertoire provisoire.
    Lancer Install qui va recopier

     -Install.bat	   Le fichier batch d'installation

     -Go_Shell.com	  Le lanceur

     -Macopus.exe	   Le programme

     -Macopus.cfg	   Le fichier de configuration

     -MacVGA.com	    Un utilitaire pour avoir l'install en 50 lignes.

     -Francais.txt	  Manuel en Franais

     -English.txt	   Manuel en Anglais

     -Unziper.bat	   Un bat interactif..

     -Unzip12.bat	   Un autre

     -Ar.bat        		   "

     -0.bat		        C'est avec lui que je lance Machiavel Opus.

    sur votre disque dur dans le rpertoire NEWMDOS qu'il crera.
    Un rpertoire BAT sera cr (s'il n'existe pas dj) et un certain nombre
    de fichiers batch 'pdagogiques' y seront insrs.

4.Usage :
*********
    A l'invite du DOS entrez 0 puis appuyez sur entre.
    Si Go_Shell.com refuse de monter en mmoire suprieure,vous
    avez un problme (pas de gestionnaire genre emm386.exe d'install
    par exemple).
    Dans ce cas, Go_Shell.com sera en bas de la mmoire conventionnelle
    sans problmes.

5.Configuration minimum recquise :
**********************************
    *Une carte video VGA minimum
    *Un 386 et une souris.
    *Pour copier des disquettes ou examiner la mmoire, il faut
    avoir install un gestionnaire de mmoire XMS (himem.sys) et possder
    3 Mega de Ram minimum.

6.Indulgence:
*************
    Pour le compromis entre le franais et l'anglais car je voudrais que ce
    programme ft le tour du monde.Chacun s'y reconnatra car les mots
    anglais utiliss sont consacrs par l'usage.
    ***> Par prudence,traduisons quand mme DELETE qui veut dire SUPPRIMER..

7.Conditions d'utilisation:
****************************

    Ce programme est shareware c'est--dire que chacun peut l'utiliser :

    a) En ce qui concerne la version de dmonstration => Un temps raisonnable !

    b) Pour la version totale : contre la somme de $20.

    Nul ne peut le commercialiser sous quelque forme que ce soit.

    Toutes les lois sur les droits d'auteurs sont applicables.

8.Protection:
**************
    Aucune.

9.Avertissement:
****************
    Machiavel Opus ne traite pas les noms de fichier longs.Lors d'une copie,
    ils seront donc raccourcis par le DOS.Mais ceci devrait changer lors
    de la mise en service des fats 32 bits.

                      *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*


B.PRESENTATION GENERALE DU PROGRAMME.
====================================

    Ce programme est si intuitif que toute personne un peu dgourdie pourrait
    mme se passer de ce manuel !!...

C.LES COMMANDES UNE PAR UNE.
===========================
    Pour commencer, sachez qu'un conomiseur d'cran se met automatiquement en
    marche aprs 1 minute d'inactivit.

A:B:C:D:etc..:
*************
    C'est le nom donn par DOS  vos units : lecteurs de disquette,
    disques durs,CD-ROM, disques virtuels, partitions etc..
    En cliquant sur l'un d'eux,sa liste (un DIR) est affiche dans
    la fentre active.
    Entrer la lettre au clavier provoque le mme rsultat.

    Chaque fois qu'un CD-ROM est lu,un fichier cdsecret.mac est produit;il
    contient des informations sur certaines donnes standard comme le
    copyright,l'abstract ou le biblio.Les descripteurs de volume sont
    enregistrs.

All :
***
    Tous les rpertoires et fichiers de la fentre active sont
    activs;ils apparaissent sous une autre couleur.

None :
****
    Commande oppose  All : tous les rpertoires et fichiers
    de la fentre active sont dsactivs.

Copy :
****
    Tous les items activs dans la fentre active sont copis
    dans l'autre fentre.Ainsi,si dans la fentre active vous avez
    list une disquette du lecteur A: et que dans l'autre fentre
    vous avez list le rpertoire coucou du disque dur C:,tous les
    items activs de A: seront copis dans C:\coucou.
    S'il n'y a plus assez de place sur la cible,un message d'erreur
    apparat.
Protect:
*******
     Le DOS marque ses fichiers par des bits spciaux dits de pro-
     tection.Cette commande permet de les modifier.

Makedir:
*******
     Vous pouvez crer des rpertoires avec cette commande.

Move:
****
     Comme Copy MAIS les items source sont effacs.


CopyChanged:
************
     Ne copiera que les fichiers qui ont chang de date ou d'heure ainsi
     que les fichiers nouveaux.

CopOnlyNew:
***********
     Copie mais refuse d'craser les fichiers de mme nom.
                                                              	
Clone:
******
     Copie un fichier dans le mme rpertoire sous un autre nom.

LittleEd :
********
     J'ai mis un point d'honneur  crire ce manuel avec lui.
     Son ambition est d'tre immdiatement disponible,shell complet
     oblige.Il est pour l'instant limit  64536 octets.
     Attention : il remplace tout caractre non-ascii par un espace.
     Pour sortir sans sauvegarder,appuyez sur escape (chappement).
     Pour sauver,appuyez sur F8.

Print:
*****
     Imprime le fichier clair.L'option dense limine les sauts
     de page et la succession de plus d'une ligne vierge.
     Quand une erreur se produit, le programme semble s'tre bloqu mais
     il n'en est rien : il s'agit du nombre de tentatives du BIOS qui
     est grand face  l'erreur.Attendez quelques dizaines de secondes et
     tout se dbloque.

Byte:
****
     Compte les octets contenus dans les items clairs.Comme dans
     toutes les oprations de Machiavel Opus portant sur les rpertoires, les
     sous-rpertoires et sous-fichiers sont galement traits.

Rename:
******
     Renomme un fichier ou un rpertoire.En ce qui concerne les
     rpertoires,j'utilise la fonction MOVE car il n'existe pas de commande
     interne.
     Machiavel Opus cherche MOVE.EXE dans les rpertoires :
     c:\dos  et  c:\windows\command.

Search:
******
     Si vous cherchez o peut bien se trouver un fichier.Le rsultat des
     recherches se trouvera dans c:\newmdos\macopus.sea qui est automatiquement
     prsent  l'cran.
     L'emploi du joker "*" est autoris,il signale qu' partir de lui et
     jusqu'au point de suffixe s'il existe ou bien la fin, toutes les lettres
     sont bonnes.Exemples:
	mac* trouvera ,macopus.exe etc..
	mac*.exe trouvera macopus.exe,macrobio.exe etc..
	mac*.* est l'quivalent de mac*
	*.txt trouvera macopus.txt,ed.txt,enfin tout fichier avec .txt en fin.
	texture.f* trouvera texture,fac,texture.fil etc..
     Ai-je bien t clair ?
     *.* et * ne sont pas permis.

M-Copy:
******
     Copieur de disquettes rapide et fiable.
     Le fait qu'il insiste 256 fois en lecture sur une piste abme permet
     souvent de rcuprer les donnes.
     Quand il a lu les 80 cylindres,il crit chaque piste en ayant soin de la
     relire et de comparer avec le modle en mmoire.Ds que l'criture
     s'avre impossible, il se met  formater.Si le formatage est impossible,
     il abandonne.
     Il faut alors prendre une autre disquette et appuyer sur "Rpter la
     copie".
     Je ne me sers que des procdures du BIOS afin de demeurer
     compatible avec les matriels.
     Durant le formatage,l'octet de remplissage est un M (comme Machiavel).
     Les formules "Quick!" ne formatent que le boot :  utiliser avec les
     disquettes dont on est sr.
     Un gestionnaire de mmoire XMS (comme himem.sys) est recquis.
     Sous Win95,il faut auparavant dbloquer le lecteur utilis:
     La commande dos (pour le lecteur a:) est :
     lock a:
     Prparez un fichier batch pour automatiser vos manipulations.

Recherche hexa:
**************
     Dans un diteur de fichiers hexa, vous avez toujours une fonction de
     recherche.
     Mais n'avez-vous jamais rv que cette fonction puisse s'appliquer sur
     plusieurs fichiers, un rpertoire entier y compris ses sous-rpertoires
     et sous-fichiers, voire sur un disque entier ?
     Voil, c'est fait..
     Pour interrompre la recherche,laissez le doigt appuy sur escape.

Recherche ascii:
***************
     Mme fonction mais pour les chanes ascii.
     Pour interrompre la recherche,laissez le doigt appuy sur escape.
     Parfois,l'affichage peut paratre ,pour ces deux fonctions de recherche,
     bizarre et bloqu,il n'en est rien, a marche.

Run:
****
     Tout programme excutable (fichier.com,fichier.exe),tout fichier
     de commande (fichiers dits batch soit fichier.bat) peut tre
     lanc de Machiavel Opus sous rserve qu'on l'ait charg par Go_Shell.com.

     Machiavel Opus se glisse dans le rpertoire du dit programme 
     excuter,communique au petit Go_Shell tapi en mmoire suprieure
     les paramtres voulus,s'efface et passe la main  Go_Shell qui
     lance le programme.Au retour,Go_Shell relance Machiavel Opus.

     Il existe une autre mthode plus sophistique pour lancer des
     programmes,voyez  3me menu.

       	                 -----------------

 1 er menu :
 ---------

     A propos:
     ---------
     Nom,logo,copyright..adresse : Vous pouvez m'crire bien sr.

     Vous et moi:
     ------------
     Ce que les Anglais appellent un "disclaimer", claimer venant du franais
     clameur..!

     English Manual:
     ---------------
     La traduction anglaise de ce que vous lisez maintenant.

     Manuel en franais:
     -------------------
     Ce que vous lisez maintenant.J'aurais prfr vous le laisser en anglais
     mais je vous connais bien mes compatriotes,vous m'en auriez voulu..
     Je crois que l'anglais est devenu l'esperanto de facto et s'il faut 
     tout prix prserver et dvelopper notre merveilleuse langue tant pour
     la prnnit de notre culture que pour notre conomie et notre poids
     politique,on n'est pas obligs, dans un monde o le Japon ou l'Alaska
     sont  quelques microsecondes par modem, de reconstruire la tour de
     Babel..

     Tri par suffixes:
     -----------------
     Ce sont les suffixes qui ordonnent le tri alphabtique.Trs utile quand
     on dzippe pour FS5 par exemple..

     Tri alphabtique:
     -----------------
     Des rpertoires et fichiers spars.

     Tri par date:
     -------------
     Tous rpertoires et fichiers confondus.

     Tri selon DTA:
     --------------
     L'ordre d'entre rel dans vos mmoires de masse !

     Sortie comme entre:
     -------------------
     Si vous voulez toujours sortir de Machiavel Opus avec le mme nombre
     de lignes que lorsque vous tes entrs.

     Sortie 50 lignes:
     -----------------
     Pour toujours sortir en 50 lignes.

     Sortir/Exit:
     ------------
     Sortir en se retrouvant dans le mme disque et le mme rpertoire qu'au
     moment de lancer Machiavel Opus.

     Sortir en fentre:
     ------------------
     "Allume" pourrait-on prciser car on se retrouve dans le disque et le
     rpertoire de la fentre allume.

 2 me menu :
 ----------

     Palette:
     --------
     Vous pouvez modifier les couleurs si vous en ressentez le besoin.Mais 
     la prochaine mise  jour vos choix seront perdus.Pourquoi ? Les
     recherches graphiques ncssitent des oppositions de couleurs qui
     pourraient tre incompatibles.Par ailleurs, la structure du
     fichier de configuration volue sans cesse.

     256 couleurs sont  votre disposition et si vous voulez retrouver les
     choix de base, cliquez dans dfaut.

     La fonction export vous permet de copier une couleurs directement :
     cliquez sur la couleur  copier puis sur EXPORT puis sur l'emplacement
     destination.
     La lettre E au clavier remplace le clic.

     Voir mmoire conventionnelle:
     ----------------------------
     La voir,la modifier.
     Cette routine observe la mmoire en temps rel, tous les changements
     sont observables si la portion de mmoire en mouvement est  l'affichage.

     Voir mmoire XMS:
     ----------------
     C'est avec a que j'ai trouv la parade  un bug de l'excellent
     US NAVY FIGHTER.On ne peut en effet dans ce jeu parvenir  l'diteur
     de briefing de mission (premire version anglaise).Comme ce jeu
     travaille en mode protg,voici comment j'ai fait:
           -Parvenir  un briefing dans une mission
           -Interrompre le jeu  ce moment (retour au DOS)
       	   -Lire la mmoire avec Machiavel Opus.Avec l'indice du manuel
            sur un fichier briefing avec une certaine extension,il n'a
            pas t difficile de retrouver l'intgralit des mots d'ordre.

     Lorsque vous voulez sauvegarder l'intgralit de la mmoire libre
     (mais nanmoins pleine de bonnes choses), pressez F10,un fichier
     dont on vous demandera le nom sera cre et rempli.

     Modifier la date:
     -----------------
     Date et heure de l'horloge interne de votre ordinateur.

     Crypter/Dcrypter:
     ------------------
     J'aimerais l'avis de spcialistes du chiffre mais il me semble que
     la puissance de ce code est suprieure au DES (Data Encryption Standard
     IBM).
     Un mot de passe pouvant comporter de 1  74 caractres est crypt
     d'aprs un algorythme qui en diffuse les bits sur 256 octets.
     Le texte  coder est divis en modules de 256 octets.
     Chaque module est d'abord xoris par la clef puis subit un certain nombre
     de rotations de bits (de 1  7).
     La clef construit d'aprs elle-mme une table de relocations.
     Chaque octet du module est dplac selon la table.
     La squence rotations/relocations est excute 7 fois.
     Puis la clef est recrypte pour le module suivant.

     Le codage est si complet qu'une clef diffrant d'un seul bit ne
     ---------------------------------------------------------------
     dcode rien du tout.
     --------------------
     En admettant mme qu'un mot de passe se cantonne dans les lettres,
     les chiffres et la ponctuation soit environ 70 caractres ascii,
     et vu qu'il faudrait toutes les essayer pour trouver le bon code
     (ou du moins la moiti  chances gales),nous avons pour un mot de
     passe de 74 caractres :
     74 puissance 70 combinaisons soit 5.2*10 puissance 130.
     Un ordinateur monstrueux contenant un milliard de processeurs(10^9)
     excutant chacun un milliard de combinaisons par seconde trouverait
     un milliard de milliard (10^18) de combinaisons par seconde.
     Il lui faudrait 5.2*10^112 secondes pour toutes les parcourir et
     la moiti prendrait environ 10^56 secondes.
     Soit 2.7*10^52 heures = 1.15*10^51 jours = 3.25*10^48 annes
     Suffisamment pour que l'Everest soit ras par la caresse d'un
     mouchoir de soie ... raison d'une caresse tous les 10000 ans.

     Je livre en fin de ce manuel le listing assembleur de ce crypteur.

     TEST:
     -----
     Trs controvers,ce test trs incomplet compar 
     l'excellentissime bench9 a le mrite d'tre l.
     Pas de fioritures certes mais trs rapide et rvlateur.
     Les accs video sont panachs octets-mots-mots doubles.
     L'accs CPU est 32 bits,celui du FPU est interne seulement
     et la mmoire est accde en panach.

     -*-*-*-Plus le chiffre est grand, meilleure est la performance-*-*-*-

     Exemple: *****Video:104 CPU:556 FPU:530 MEM:249 TEXT:600*****
     avec un Pentium 133 512K de cache l2  8ns carte AsusTek video 968
     Diamond 2M (et UNIVBE 5.1).
     Une variation de 1% est observe selon la temprature.

     Signalons au passage qu' chaque mise en route,Machiavel Opus rinitialise
     avec la bonne valeur le compteur 0 de l'horloge car certains programmes
     le bricolent parfois.

     Rename disc:
     ------------
     Pour renommer le disque de la fentre claire.

     Copies&drainfiles:
     ------------------
     Copie les fichiers mais ils sont vides dans la destination !

     Fill Skeleton:
     --------------
     Mme genre mais les fichiers sont remplis par un fichier choisi  l'avance.
     Exemple:
     Vous voulez copier les fichiers d'une fentre ( fichiers a,b,c,..)
     mais en les remplissant avec le fichier "f".
     Eclairez le fichier "f" et cliquez dans Fill Skeleton.Vous retrouverez
     vos fichiers a,b,c..dans l'autre fentre mais remplis par le fichier "f".

     Ces deux dernires commandes sont utiles quand vous voulez copier un CD-ROM
     sur votre disque dur sans vous encombrer avec des fichiers inutiles mais
     dont la prsence est indispensable au bon fonctionnement du programme.

     Duplicate Dirs:
     ---------------
			  Si un rpertoire change souvent,s'il est trs important,on ne peut le
     sauvegarder en crasant le prcdent.
     Cliquez sur un rpertoire puis sur cette commande,un rpertoire nouveau
     sous le nom de duplicat.x o x=un nombre de 1  9 et contiendra la
     sauvegarde dsire.Arriv  10,l'ultime sauvegarde se termine par E.
     E comme end (fin en anglais).Il vous faudra ffacer d'autres sauvegardes.
     Le rpertoire nouveau se cre dans la racine de la fentre d'en face.
     Comme souvent en informatique,l'explication est laborieuse aussi essayez
     cette commande et vous comprendrez trs vite.


3 me menu:
-----------
     La comprhension de ce qui suit est capitale car vous allez pouvoir faire
     interagir vos programmes avec le contenu des fentres.

     Vous savez dj que les programmes excutables ont un nom qui se termine
     par <.exe> ou encore <.com>.
     Il existe un autre type de fichier qui est excutable : LE FICHIER BATCH.
     On le reconnat car il se termine par <.bat>.Vous en connaissez au moins
     un par coeur:
     le fameux <autoexec.bat>.
     En gnral les fichiers batch sont groups dans le rpertoire c:\bat.
     Ces fichiers sont crits en clair et regroupent des ordres qui seront
     excuts les uns aprs les autres.
                                  ----------
     Si un fichier batch est suivi d'arguments :
     Exemple : toto c:\gluglu d:\toutou e:\joujou etc...
     Toto tant le fichier batch,on peut reprendre les arguments dans
     ce fichier par des codes prtablis par le DOS.
     %1 = c:\gluglu ;%2 = d:\toutou ; %3 = e:\joujou ; %4 = etc..
                                  ----------
     Machiavel Opus prsente toujours, toutes fins utiles,4 arguments aux
     fichiers batch:
            -Le chemin complet de l'item clair dans la fentre active (%1)
            -Le chemin complet du rpertoire dans lequel se trouve cet item(%2)
            -Le chemin complet de la fentre d'en face (%3)
            -Le nom tout court de l'item clair (%4)
                                  ----------
     Pour dzipper d'une fentre  l'autre :
                      pkunzip -o -d %1 %3

     Pour dzipper dans la mme fentre :
                      pkunzip -o -d %1 %2

     Attention un peu plus difficile:
     Pour compacter avec RAR un rpertoire vers un autre :
                      rar a -r -sfx %3%4 %1
     Le %3 et %4 doivent COLLER.( Si %3=c:\tmp et %4=toto ,%3%4=c:\tmp\toto).
                                   ----------
     Si vous tombez sur des programmes encore plus complexes,je modifierai
     Machiavel Opus : crivez-moi !
                                   ----------

     Quand on a pris l'habitude,les fichiers batch sont crits trs vite et
     la puissance du systme devient phnomnale d'autant plus que lors du
     retour dans Machiavel Opus, les fentres que vous aviez quittes
     rapparassent avec leur nouveau contenu.

     ATTENTION:Seuls les fichiers batch se trouvant dans le rpertoire BAT
     pourront tre utiliss de cette faon.

     Rassurez-vous,vous trouverez de nombreux exemples de fichiers batch avec
     ce programme.
     Bien sr nous verrons avec la commande RUN que TOUS les excutables et
     fichiers bat peuvent tre lancs de Machiavel Opus d'une autre faon.

     A ma connaissance, Machiavel Opus est le seul programme au monde  faire
     cela.

                          ---------------------------------------
Commandes diverses :
********************
     Les flches droite et gauche allument la fentre correspondante ce qui
     peut tre fait galement par un clic souris.
     Le bouton de souris droit, en outre, fait scroller le contenu de fentre
     ce qui peut tre fait par les flches up et down ou Page up Page down.
     Un double-clic gauche ou un clic du bouton milieu de la souris ouvre un
     rpertoire.
     Pour revenir d'un cran dans l'arbre des rpertoires, cliquer sur le bord
     externe de la fentre voulue.
     Quand vous cliquez sur la dernire ligne,l'affichage commute entre
     la date et l'heure des fichiers dans la fentre active (et dans les
     affichages suivants).
********************************************************************************
Examiner des fichiers:
----------------------
     Un double-clic gauche ou un clic mdian sur un fichier ouvre celui-ci en
     visualisation.
     La visualisation dmarre en ascii pour un texte et en hexa pour du
     binaire.On peut commuter les modes.En mode hexadcimal,on peut modifier
     le fichier en passant en mode dition.
     On peut chercher du texte ou du binaire..
     Les caractres franais des textes Windows sont reconnus.
     Rsum des commandes :

     F1 -> Passage en mode dition,un curseur apparat et on rentre des
	   digits ou du texte ascii selon le commutateur F5.
	   Pour sortir sans sauver : escape.Pour sauver : F8.

     F2 -> Commute ascii / hexadcimal / ascii + hexadcimal / dsassembleur
     F3 -> Commute le dsassembleur 16/32 bits
     F4 -> Transforme le pointeur souris en surlignage:trs utile pour aider
	   les yeux.
     F5 -> Rpte une recherche prcdente (ascii ou hexa).
     F6 -> Demande une chane ascii  chercher.
     F7 -> Demande une chane hexadcimale  chercher.
     F8 -> Sauve le fichier modifi et sort.
     F9 -> Diminue la largeur d'cran
     F10-> Augmente la largeur d'cran.Ces deux commandes sont merveilleuses
	   pour faire apparatre des tableaux  taille fixe.
     escape -> Sort sans sauver.
     Alt P  -> Imprime l'cran.
     Alt H  -> Rsum des commandes.

Le dsassembleur:
****************
     Vritable merveille,il fonctionne en 16 et 32 bits.
     Comme il est intgr  l'examen des fichiers,vous bnficiez de toutes
     les commandes de recherche et d'affichage.Les spcialistes apprcieront..
     Comme il DOIT rester des bugs,je vous prie de me les communiquer.Ceci
     dit je n'ai pas encore vu de debugger sans bugs..!!!

                           ---------------------------------------
La barre du titre :
*******************
     Elle vous donne le numro de version de votre DOS (et prcise mme si
     c'est un DOS IBM).
     La lettre H, si elle apparat, signale la prsence de HIMEM.SYS.
     La lettre E, si elle apparat, signale la prsence d'un gestionnaire de
     mmoire pagine comme EMM386 (trs utile quand on sait que certains
     DOS EXTENDERS ne les supportent pas).


E.LES BUGS..
==========

     -Quand Machiavel Opus semble fonctionner n'importe comment,c'est
      qu'il faut rinitialiser avec le bouton reset : un prcdent programme
      n'a pas rendu la main correctement.

     -Machiavel Opus est rd depuis quatre ans (version 0.99 d'alors) par une
      vingtaine de testeurs qui s'en servent quotidiennement..

F.NOTES POUR MES CAMARADES PROGRAMMEURS..:
=========================================

     -Ce programme est intgralement crit en assembleur.

     -Les programmes exe et com sont lancs par l'intermdiaire de
      <command.com /c> [comme les fichiers bat] car certains DOS EXTENDERS
      ne s'y retrouvaient pas.
      Sous DOS 7.0, pour peu qu'il y ait environ 8k disponibles en mmoire
      suprieure, le command supplmentaire s'y installe pour l'excution
      puis se retire.


G.PROBLEMES D'INSTALLATION ET DE FONCTIONNEMENT :
===============================================

        Seule la partie suprieure des caractres apparat  l'cran
        ************************************************************
        Contactez-moi de suite.(votre carte video est vieille mais je
        connais la solution.)

        Quand je reviens de Windows en DOS,Machiavel Opus se comporte mal
        *****************************************************************
        Sur certains ordinateurs,c'est le cas.Sortez et re-rentrez,dans la
        plupart des cas,tout est arrang.Cela peut aussi venir d'un virus,
        j'ai not le fait sur une machine suspecte.

        Quand vous sortez de Machiavel Opus,l'cran est noir
        ****************************************************
        Votre carte graphique n'est plus trs jeune.Lancez le programme
        macvga.com (dans ce zip) en fait tout marche mais les caractres
        ont pris la couleur du fond de l'cran!!!

        Quand vous sortez,la moiti du bas de l'cran est inaccessible
        **************************************************************
        Dsactivez la fonction "Sortie 50 lignes",sortez,lancez H25 (prsent
        avec le programme) et relancez Machiavel Opus.

	       Machiavel Opus refuse de passer en mmoire suprieure
        ***********************************************
       	Remde : Lisez l'annexe de ce manuel consacre  l'art d'crire
       	config.sys..

        Vous manquez de mmoire conventionnelle
        ***************************************
        Remde : Apprenez  crire config.sys et autoexec.bat

        Le bouton du milieu de votre souris est inoprant
        *************************************************
        Remde : Rglez votre driver souris ou changez-en.

        Vous n'avez pas de bouton du milieu sur votre souris
        ****************************************************
        Qu'importe puisqu'il ne fait ici qu'muler le double clic du gauche.

        Vous ne pouvez pas lancer de programme !!
        *****************************************

	- Vous avez lanc MacOpus directement sans passer par Go_Shell.com !

 - Le programme command.com n'est pas dans C:\

	- Un rayon cosmique a touch l'ordinateur,sortez de Machiavel Opus,
	  relancez, c'est bon !


        C'est affreux, a ne marche toujours pas.
        *****************************************

         	Ecrivez-moi sur Compuserve, je rponds toujours et de toutes faons
         	je ne laisse jamais tomber les clients.

====================================REMERCIEMENTS.=================================================

   A Dany mon fidlissime testeur.

   A toute l'quipe de DP-TOOLS de Villeneuve d'Ascq qui a dit la version
   1.10 de ce programme.

Et par ordre alphabtique:
-------------------------

   A mes Amis Cabaret, Colonel Dakota, Dany, Dominique,Eric, Franck, Fred,
   Frdric, Gilbert, Jan, Jean-Jacques, Jean-Jean, Jean-Marie de Monaco,
   Jean-Marie de l'Ariane, Jol, Nicolas et son fils Nicolas,
   William et ses acolytes Thierry et Vincent.

   A Ziff-Davis France pour leurs prcieux conseils.

-------------------------------------------ANNEXES-------------------------------------------------

Comme promis voici le listing de la partie cryptage .Le panachage de franais
et d'anglais vient de ce que je programme indiffremment dans les deux langues
(et vlan!).

;
;CRYPTAGE
;
crypt:
    mov byte ptr cs:cryptcopyflag,0ffh              ;Ces drapeaux
    jmp maccrypt                                    ;dtourneront les
uncrypt:                                            ;buffers lors de la
    mov byte ptr cs:cs:uncryptpadiracunefoisflag,0  ;copie pour les crypter.
    mov byte ptr cs:uncryptcopyflag,0ffh
    jmp maccrypt

maccrypt:
    call cryptclean
;-----------------
    call videogarde		                               ;mmoriser l'cran

    _g3display 47h,-1,1,offset g3crypt
    _g3curseur 04h,74,1,offset cs:cryptbuf0,offset fs:g3crypt
    call videorends                                 ;rendre l'cran
    mov byte ptr cs:newfileinflowflag,0
    call rebaselaclef
;-----------------
    mov cx,256	                                     ;recopie la clef jusque 256
    push cs
    pop es
    push cs
    pop ds
    mov di,offset cs:cryptbuf
    cmp byte ptr cs:[di],0
    jz maccryptpas
    mov si,di
    xor ax,ax
    repne scasb
    dec di
    inc cx
    rep movsb
;-----------------
    jmp forcecopy                                   ;copions,et au passage..
maccryptpas:
    mov si,offset cryptpastxt                       ;Si clef=0 caractres,sortir.
    call antiope
    jmp MouseLoop

;====================================
cryptpadirac:
    cmp byte ptr cs:newfileinflowflag,0
    jz newfileinflow1
cryptbug:
    pusha
    call rebaselaclef
;-----------------
    mov cx,256	                                     ;recopie la clef jusque 256
    push cs
    pop es
    push cs
    pop ds
    mov di,offset cs:cryptbuf
    mov si,di
    xor ax,ax
    repne scasb
    dec di
    inc cx
    rep movsb

    mov byte ptr cs:newfileinflowflag,0
    popa
newfileinflow1:

    mov dx,@fardata?	;ds est fardata? tout le temps
    mov ds,dx
    push cs
    pop es		;es=cs tout le temps
;----------------------------------------------
;Premier cas : Le buffer  crire est	 0
;----------------------------------------------
    or ax,ax		;compte rond du dpart
    jnz cpdr1
    mov cs:larallonge,4 ;signe rond
    xor di,di
    mov ebx,dword ptr cs:cryptextmem ;le suffixe
    mov ds:[di],ebx
    ret
;------------------------------------------------------
;Deuxime cas : Le buffer  crire est multiple de 256
;------------------------------------------------------
cpdr1:
    call cryptclef0	       ;
    push ax		       ;le compte d'octets a coder
    xor dx,dx		     ;pour la division
    mov cx,256		    ;diviseur
    div cx		        ;division
    mov cs:cryptpacks,ax
    pop ax		        ;restituer
    mov cs:larallonge,4           ;signe rond par anticipation
    or dx,dx		      ;tester si reste
    jz cryptpasdereste	
;--------------------------------------------------------
;Troisime cas : Le buffer n'est pas un multiple de 256
;--------------------------------------------------------
    mov bx,256		    ;Valeur du complment
    sub bx,dx
    mov cs:larallonge,5   ;signe pas rond
    add cs:larallonge,bx
    mov di,ax		           ;le dernier octet apres octets a coder
    mov si,offset cs:cryptbuf     ;la clef
    mov cx,bx	      	     ;longueur du complment
cryptrestloop:
    mov al,cs:[si]	       ;1 octet clef
    mov ds:[di],al	       ;a la suite des octets
    inc si		              ;octet clef suivant
    inc di		              ;suite de suite
    loop cryptrestloop	   ;sur 256
cryptreste:
;-----
    dec di
    mov ds:[di],dl	       ;la taille du dernier
onjouelarallonge:
    inc di		       ;
    mov ebx,dword ptr cs:cryptextmem
    mov ds:[di],ebx
    inc word ptr cs:cryptpacks	;Car 256 de plus a fait un pack de +
;----------------Traitement du buffer fardata?
cryptpasdereste:
    mov cx,cs:cryptpacks		;255*256=0ff00h
    xor si,si		           ;debut de fardata?
cryptpadiracloop:
    call cryptordonnance  ;Build relocation table in cryptbuf1
    call xor1		           ;text=text OR clef
	push cx
	mov cx,7
cryptboucle:
	push cx
	call roule
	call shake
	pop cx
	loop cryptboucle
	pop cx
    add si,256
    call cryptclef1
    loop cryptpadiracloop
    ret
;============================================
shake:
    pusha
    mov di,offset cs:cryptbuf1	  ;table des relocations
    xor bx,bx
    xor bp,bp
    mov cx,256
shakeloop:
    mov bl,es:[di]		  ;1 ere valeur table
    mov dl,ds:[si+bx]		  ;amer
    mov dh,ds:[si+bp]		  ;change
    mov ds:[si+bx],dh
    mov ds:[si+bp],dl
    inc bp
    inc di
    loop shakeloop
    popa
    ret
;-----------
unshake:
    pusha
    mov di,offset cs:cryptbuf1+255	  ;table des relocations
    xor bx,bx
    mov bp,255
    mov cx,256
unshakeloop:
    mov bl,es:[di]		  ;dernire valeur table
    mov dl,ds:[si+bx]		  ;amer
    mov dh,ds:[si+bp]		  ;change
    mov ds:[si+bx],dh
    mov ds:[si+bp],dl
    dec bp
    dec di
    loop unshakeloop
    popa
    ret
;-----------
roule:
    pusha
    xor bp,bp
    mov di,offset cs:cryptbuf ;la clef
    mov dl,cs:[di+bp]	;0-255
    and dl,7		      ;on limite a 7 pour etre sur d'eclater
    jnz roule1		      ;les octets
    inc dl
roule1:
      clc
      xor bx,bx
      test byte ptr ds:[si+255],1
      jz roule2
      stc
roule2:
      mov cx,256
rouleloop:
	rcr byte ptr ds:[si+bx],1
	inc bx
	loop rouleloop
      inc bp
      dec dl
      jnz roule1

    popa
    ret
;-----------
deroule:
    pusha
    xor bp,bp
    mov di,offset cs:cryptbuf ;la clef
    mov dl,cs:[di+bp]	;0-255
    and dl,7		      ;on limite a 7 pour etre sur d'eclater
    jnz deroule1		      ;les octets
    inc dl
deroule1:
    clc
    mov bx,255
    test byte ptr ds:[si],80h
    jz deroule2
    stc
deroule2:
    mov cx,256
derouleloop:
    rcl byte ptr ds:[si+bx],1
    dec bx
    loop derouleloop
    inc bp
    dec dl
    jnz deroule1
    popa
    ret

;-----------
xor1:
    pusha
    mov di,offset cs:cryptbuf ;la clef
    mov cx,256
xor1loop:
    mov dl,es:[di]
    xor ds:[si],dl
    inc si
    inc di
    loop xor1loop
    popa
    ret
xorclef:
    pusha
    mov di,offset cs:cryptbuf1 ;la clef
    mov cx,256
xor2loop:
    mov dl,es:[di]
    xor ds:[si],dl
    inc si
    inc di
    loop xor2loop
    popa
    ret

;========================
uncryptpadirac:
    cmp byte ptr cs:newfileinflowflag,0
    jz newfileinflow2
    pusha
    call rebaselaclef
;-----------------
    mov cx,256	     ;recopie la clef jusque 256
    push cs
    pop es
    push cs
    pop ds
    mov di,offset cs:cryptbuf
    mov si,di
    xor ax,ax
    repne scasb
    dec di
    inc cx
    rep movsb

    mov byte ptr cs:newfileinflowflag,0
    popa
newfileinflow2:
    mov dx,@fardata?	;ds est fardata? tout le temps
    mov ds,dx
    push cs
    pop es		;es=cs tout le temps

    mov word ptr cs:larallonge,0
uncryptpadiracunefois:
    cmp byte ptr cs:uncryptpadiracunefoisflag,0
    jnz uncryptpadiracunefoisfin
    push ax
    mov byte ptr cs:cs:uncryptpadiracunefoisflag,0ffh
    mov eax,cs:latailletoujours	;longueur du fichier
    xor edx,edx
    mov ecx,256
    div ecx
    mov cs:packcount,eax
    mov cs:cryptrondflag,dl ;si le fichier n'a pas de coupe,dl=4 sinon5
    pop ax
uncryptpadiracunefoisfin:
;--------------------------------------------------------
;Premier cas : Dernire brouette les multiples de 0ff00h
;--------------------------------------------------------
    cmp ax,4			;C'tait rond,passons.
    jz uncryptpadiracfinfinale
    cmp ax,5			;Pas rond ?,passons,c'est fait.
    jz uncryptpadiracfinfinale

    call cryptclef0	       ;
    push ax		       ;le compte d'octets a coder
    xor dx,dx		       ;pour la division
    mov cx,256		       ;diviseur
    div cx		       ;division
    mov cs:cryptpacks,ax       ;ici=1  255,il n'a pas de 0 !!!
    pop ax		       ;restituer

    mov cx,cs:cryptpacks		;255*256=0ff00h
    xor si,si		;debut de fardata?
uncryptpadiracloop:
    call cryptordonnance    ;Build relocation table in cryptbuf1
       push cx
       mov cx,7
uncryptboucle:
       push cx
       call unshake
       call deroule
       pop cx
       loop uncryptboucle
       pop cx
    call xor1

    dec cs:packcount
    jz uncryptledernier
    add si,256
    call cryptclef1
    loop uncryptpadiracloop ;ne doit jamais outrepasser
uncryptpadiracfin:

    ret
uncryptledernier:
    cmp byte ptr cs:cryptrondflag,4  ;avant-dernire ou dernire brouette
    jz uncryptpadiracfindernier
    mov bx,256
    mov al,ds:[si+255]
    movzx ax,al
    sub bx,ax
    add bx,5
    mov cs:larallonge,bx
    mov eax,ds:[si+256]
    mov cs:cryptextmem,eax
    ret
uncryptpadiracfindernier:
    mov cs:larallonge,4
    mov eax,ds:[si+256]
    mov cs:cryptextmem,eax
    ret


uncryptpadiracfinfinale:
    mov cs:larallonge,ax	     ;Dernire brouette
    xor di,di
    mov eax,ds:[di]
    mov cs:cryptextmem,eax
    ret

packcount   dd 0
cryptrondflag	db 0
;====================================
cryptclef0:
    pushad
    mov bx,256
    jmp cryptclef1loop1
cryptclef1:
    pushad
    mov bx,2
cryptclef1loop1:
    mov di,offset cs:cryptbuf
    mov dx,253
cryptclef1loop:
    mov cl,cs:[di]
    add cl,cs:[di+1]
    add cl,cs:[di+2]
    add cl,cs:[di+3]
    add cl,cs:[di+4]
    add cl,cs:[di+5]
    mov ch,cl
    mov eax,cs:[di]		       ;premier mot long
    and cl,7			       ;limite  7 rolls sur 1 byte
    jnz ccl1
    or cl,1
ccl1:
    rol al,cl
    mov cl,ch
    and cl,0fh			       ;limite  15
    jnz ccl2
    or cl,1
ccl2:
    rol ax,cl
    mov cl,ch
    and cl,1fh		       ;limite  31
    jnz ccl3
    or cl,1
ccl3:
    rol eax,cl
    mov cs:[di],eax
    inc di
    dec dx
    jnz cryptclef1loop
    dec bx
    jnz cryptclef1loop1
    popad
    ret
;---------
cryptordonnance:
    pusha
    push ds

    mov ax,cs			;nettoyer la cryptable
    mov ds,ax
    mov es,ax
    mov di,offset cs:crypttable
    mov cx,256
    xor ax,ax
    rep stosb

    xor bx,bx
    mov di,offset cs:cryptbuf1	;recopier la clef
    mov si,offset cs:cryptbuf
    mov cx,256
    rep movsb
    mov di,offset cs:cryptbuf1
    mov si,offset cs:crypttable
    mov cx,256

cryptordonnanceloop:
    mov bl,cs:[di]		;fait le cycle a 256
    cmp byte ptr cs:[si+bx],0
    jnz cryo1
    or byte ptr cs:[si+bx],1
    jmp cryo2
cryo1:
    inc bl
    cmp byte ptr cs:[si+bx],0
    jnz cryo1
    or byte ptr cs:[si+bx],1
    mov cs:[di],bl
cryo2:
    inc di
    loop cryptordonnanceloop	  ;cryptbuf1 contient maintenant
    pop ds
    popa
    ret 			  ;la table de relocation
;---------
rebaselaclef:
    pushad
    mov cx,64
    mov si,offset cs:cryptbuf0
    mov di,offset cs:cryptbuf
rebaselaclefloop:
    mov eax,cs:[si]
    mov cs:[di],eax
    add si,4
    add di,4
    loop rebaselaclefloop
    popad
    ret

;---------
cryptclean:
    cld 			;mettre le buffer a 0
    mov cx,1024
    push cs
    pop es
    mov di,offset cs:cryptbuf0
    xor ax,ax
    rep stosb
    ret

cryptfin:
    jmp MouseLooprel
poubelledd  dd 0
poubelledd1 dd 0
cryptbuf0   db 256 dup (0)
crypttable  db 256 dup (0)
cryptbuf1   db 256 dup (0)
cryptbuf    db 256 dup (0)
	    db "####"
cryptcopyflag	db 0
uncryptcopyflag	db 0
larallonge  dw 0
cryptextmem	dd 0
cryptpacks	dw 0
uncryptpadiracunefoisflag   db 0
newfileinflowflag   db 0
================================================================================================

                             L'ART D'ECRIRE LE CONFIG.SYS
                             ****************************

   Ah cette rsistance  apprendre l'abc de config.sys et autoexec.bat !
   Ce ne sont ni les manuels qui manquent, ni les articles dans les revues, ni
   l'aide en ligne du DOS..


Votre premire ligne:
--------------------

            DEVICE=C:\DOS\HIMEM.SYS

            (D'une manire gnrale remplacez DOS par WINDOWS dans WINDOWS_95)

Votre deuxime ligne:
--------------------

            DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF

            Le paramtre highscan est problmatique en dos 7,il ne figure
            donc pas.
    	       Dans des cas trs rares,il faudra ajouter NOEMS.

            En gnral (mais pas toujours),les programmes utilisant un 
            DOS EXTENDER n'aiment pas emm386 (et les autres du genre).
            Dans ce cas,dsactivez la ligne ou bien apprenez  faire un menu.

Votre troisime ligne:
----------------------

            DOS=HIGH,UMB

Votre quatrime ligne:
---------------------

            FILES=60

Les lignes suivantes:
--------------------

            Remplacez systmatiquement les mots "DEVICE=" par "DEVICEHIGH="

                                       -*-*-*-*-*-*-

            Bien sr c'est succinct, mais mme si la suite de votre config.sys
            est dsastreuse,sans parler de l'autoexec.bat, vous avez l une
            base saine.
            Maintenant sortez dans le DOS et entrez <HELP LH> juste pour voir..
            Si vous tes en dos 7.x, <lh /?> sera bien.
===============================================================================
*******************************************************************************

			  COMMENT SE FAIRE ENREGISTRER ?
			  ******************************

Et par l mme recevoir la version complte, mon aide et les versions suivantes.

			    Entrez la commande GO SWREG
			    ---------------------------

Q:  Comment faire ensuite ?

R:  Le service lectronique d'enregistrement contient la description de
    centaines de programmes shareware cres pour diverses plates-formes
    et  divers sujets.

Pour vous faire enregistrer, vous devez d'abord trouver sa description dans ce
service (en anglais: The Shareware Registration database).
Choisissez "Register Shareware".
La premire chose qui vous est demande, c'est la rgion de VOTRE adresse
de courrier (pour dterminer d'ventuelles taxes).
Le nombre des fichiers disponibles est affich (des milliers..).
Vous pouvez chercher par

      -Titre  (Anglais TITLE)
      -Nom de fichier (FILE NAME)
      -Numro d'identification du fichier (File REGISTRATION ID)
      -Numro d'identification de l'auteur (AUTHOR'S COMPUSERVE ID)
      -Nom de l'auteur (AUTHOR'S NAME)
      -Et mme chercher le fichier par des mots clefs !

Bon, ici c'est clair :

TITLE : Machiavel Opus
FILE NAME : MacOpus.zip
File REGISTRATION ID : 11152
AUTHOR'S COMPUSERVE ID : 101656,3615
AUTHOR'S NAME : Jean Marchesini

N'entrez que le File REGISTRATION ID (11152), c'est ultra suffisant !
L, vous lisez encore la description de ce programme, son prix, les taxes etc..
Si vous voulez fuir c'est facile cliquez sur CANCEL.
Sinon cliquez sur REGISTER, on vous demandera votre nom complet (prnom et
nom), celui de votre socit (facultatif), votre adresse complte,votre
numro de tlphone (facultatif), le nombre de copies que vous voulez et
le format du disque que vous voulez faire enregistrer.
Choisissez CONTINUE pour voir le rcapitulatif dont l'addition finale qui
sera retire de votre compte.Il est encore temps d'appuyer sur CANCEL
pour tout annuler.
Choisissez SEND (qui veut dire ENVOYEZ) si vous voulez vraiment ce programme.
Si vous avez d'autres questions, envoyez un message  l'administrateur
shareware de CompuServe au [70006,2173] ou choisissez "Provide feedback"
sur le menu SWREG.
Si la langue de shakespeare vous est inconnue, laissez-moi un message..

Tout ceci parat bien compliqu mais  l'usage, c'est trs facile.Imprimez
ce texte pour y faire rfrence si besoin est durant l'action.



==================================================================================================
Fin du manuel en langue franaise.
