
                            
                        
                                      
                                 
                                       
                                               
                                
                                

                                                                      v1.4


                                  D O C U M E N T A T I O N


                                  (c) Marco Vieth, March 1996

                                        Traduction
                                   par Emmanuel Roussin
                                (du dbut  la section 5.2)

                                  par Jean-Pierre MARQUET
                           (de la section 5.2  la fin, avec des
                          retouches d'Emmanuel Roussin d'aprs la
                             documentation anglaise de la v1.4)

                                     (voir section 6.1)
                                  


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



Sommaire

       1.  Introduction
           1.1  Conseils pour lire cette documentation
           1.2  Copyright, garantie
           1.3  Qu'est-ce qu'un CPC ?
           1.4  Que peut faire CPCEMU pour vous ?

       2.  Installation de CPCEMU
           2.1  Fichiers qui composent CPCEMU
           2.2  Configuration ncessaire et installation
           2.3  Conseils au sujet de la mmoire et de la carte son
             2.3.1  Utiliser la mmoire EMS
             2.3.2  Dfinir la variable d'environnement BLASTER
             2.3.3  Dfinir la variable d'environnement ULTRASND

       3.  Differences entre un CPC et CPCEMU
           3.1  Clavier
           3.2  Chargement de programmes, de menus
             3.2.1  Chargement depuis une disquette, Menus
                    - le menu d'insertion d'une disquette
                    - le menu d'affichage des fichiers
             3.2.2  Chargement et sauvegarde sur cassette
             3.2.3  Chargement et sauvegarde de snapshots

       4.  Changer la Configuration
           4.1  Le menu de configuration
           4.2  Le fichier de configuration
           4.3  Les paramtres de commande en ligne

       5.  Transferts de fichiers entre CPC et PC
           5.1  A partir d'une disquette
             5.1.1  Le programme de transfert de disquette CPCTRANS
             5.1.2  L'utilitaire de formatage et copie 22DISK par SYDEX
           5.2  L'interface parallle
             - L'adaptateur parallle
           5.3  L'interface srie
           5.4  D'autres possibilits

       6.  Sources d'approvisionnement, Aide en ligne, Remerciements
           6.1  O puis-je obtenir des programmes pour CPC ?
           6.2  Nouvelles, change d'expriences
           6.3  Si vous avez des questions ou des suggestions
           6.4  D'autres mulateurs CPC
           6.5  Plans pour de futures versions de CPCEMU
           6.6  Remerciements
           6.7  Marques dposes

       7.  Informations internes sur CPCEMU
           "la boite noire", avec son propre sommaire


       Annexe:

       A.1  Glossaire
       A.2  Bibliographie
       A.3  Index


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





1.  Introduction
________________


Bienvenue dans le monde des mulateurs !

Comment ! Vous voulez savoir ce qu'est CPCEMU, et ce que vous pouvez
faire avec l'trange programme avec une criture jaune sur un cran bleu
qui vous affiche 'Syntax Error'  chaque saisie ?


Bien, pour viter une longue recherche, et voila :

        CPCEMU mule un Amstrad CPC 464, 664 ou avec de nombreuses
        extensions. En d'autres mots, ce programme imite le comportement
        d'un des vieux micro-ordinateurs  base de Z80 sur votre PC.

Dans quel but ?

Et bien, si vous n'avez pas encore d'ides, alors vous n'avez pas besoin
de CPCEMU.

Quelques raisons :

        - la nostalgie, comme mon bon vieux CPC tait bien...
        - de meilleurs performances compar  l'original
        - un meilleur environnement pour dvelopper des programmes
        - jouer  des jeux
        - travailler, oui, un CPC is assez bien pour faire du traitement
        de texte
        - [                                  ] <- insrer vos propres
                                                  raisons.




1.1  Conseils pour lire cette documentation
===========================================

  Vous devriez d'abord essayer l'aide en ligne, si vous voulez plus
  d'informations, vous pouvez lire ceci...

  J'ai essay d'crire clairement cette documentation (NDT : et moi de la
  traduire correctement). Mais si vous avez encore des questions, aprs
  l'avoir lu plusieurs fois, vous pouvez me contacter. Vous pouvez le
  faire aussi, mme si tout est clair, regardez au chapitre 6.

  Dans le chapitre 1, introduction, je dcris comment lire cette
  documentation, qui a le copyright, et certaines choses sur les CPC en
  gnral.


  Dans le chapitre 2, installation, cela commence enfin. Vous pourrez
  lire comment installer et dmarrer CPCEMU.

  Le chapitre 3, diffrences entre un CPC et CPCEMU, traite de certaines
  aspects que vous devez connaitre si vous tes familiers avec un vrai
  CPC, et que vous voulez utiliser l'mulateur maintenant. Je dcris
  principalement le clavier, les disquettes, les cassettes et les
  snapshots.

  Dans le chapitre 4, changer la configuration, je dcris comment
  configurer CPCEMU selon vos besoins. Votre programme prfr pourra
  ainsi sans doute fonctionner.

  Dans le chapitrer 5, transfert entre un CPC et un PC, vous pourrez
  dcouvrir comment transfrer vos programmes du CPC au PC. Les
  utilitaires fournis avec CPCEMU pour effectuer le transfert sont aussi
  dcrits dans ce chapitre.

  Le chapitre 6, sources d'approvisionnement, aide en ligne,
  remerciements, vous apprend comment obtenir la dernire version de
  CPCEMU, et  qui vous pouvez poser des questions, si vous en avez.

  Le Chapitre 7, informations internes sur CPCEMU est pour les
  professionnels seulement. La partie officielle pour les utilisateurs
  finit avant ce chapitre. Je dcris comment programmer un tel
  mulateur, et ce que vous avez besoin de savoir. Je dcris aussi le
  menu de debuggage de CPCEMU, qui vous permets d'analyser le processeur
  et la mmore  n'importe quel moment. Les simples utilisateurs
  devraient viter ce chapitre, du moins  leur premire lecture.

  Dans l'annexe A.1, il y a un glossaire avec les descriptions des
  termes techniques les plus importants. L'annexe A.2 est une
  bibliographie, l'annexe A.3 est l'index.



1.2  Copyright, garantie
========================

  CPCEMU est dvelopp par (voir aussi section 6.3):

         Marco Vieth
         Auf dem Uekern 4
         D-33165 Lichtenau
         ALLEMAGNE

  CPCEMU est freeware, ce qui signifie que vous pouvez donner ce
  programme  vos amis et  vos connaissance GRATUITEMENT.

  Les sysops de BBS sont autoriss  mettre CPCEMU sur leur BBS pour
  tlchargement.

  Les distributeurs de shareware sont autoriss  distribuer CPCEMU,
  seulement s'ils prennent une petite somme reprsentant les frais de
  copie pour leurs clients.

  Compar au domaine public, freeware ne signifie pas que le programme
  est gratuit et que vous pouvez faire tout ce que vous voulez avec.
  Cela signifie que le copyright, les droits juridiques m'appartiennent
  toujours.

  Le programme et sa documention (ainsi que cette traduction) est
  fournie telle quelle, sans aucune garantie.


  Bien que ce programme soit freeware, j'accepterai volontiers toute
  sorte de support, technique ou financier, voyez le chapitre 6 pour
  plus de dtails.

  (Note du traducteur : j'ai moi mme envoye de l'argent  Marco Vieth
  tout simplement par mandat postal international, en allant dans une
  poste. Pensez un peu  ce que le programme reprsente comme travail,
  et au plaisir que vous aurez sans doute  l'utiliser, cela vaut bien
  un peu d'argent, n'oubliez qu'il ne fait pas le bonheur, alors qu'une
  bouffe de nostalgie peut faire du bien)



1.3  Qu'est-ce qu'un CPC ?
====================

  Si vous savez dj ce qu'est un CPC, sautez simplement cette section
  et continuez  lire la section 1.4

  Encore la ?

  Je ne veux pas dissquer le CPC maintenant, je vais seulement donner
  une retrospective pour que vous puissiez comprendre ce qu'est un CPC.

  CPC est une abbrviation pour 'Colour Personal Computer' soit
  Ordinateur Personnel en Couleur. Les ordinateurs de ce type furent
  tout d'abord construits en 1984 par le constructeur britannique
  Amstrad, et furent vendus sous diffrents noms dans d'autres pays.

  C'tait la priode des ordinateurs familiaux : Commodore C64, Sinclair
  Spectrum, Atari 800XL... Quand le CPC 464 fut conu, il avait autant
  de mmore vive (RAM) que le Commodore 64, un lecteur de cassette
  incorpor, le basic Locomotive 1.0. Le micro-ordinateur suivant fut le
  CPC 664 avec un lecteur de disquette 3" et le langage basic tendu
  (Locomotive Basic 1.1). Le CPC 6128 arriva en 1985, avec 128 Ko de RAM
  et presque toutes les possibilits du 664. Les disquettes 3" taient
  chres, mais plus stable que les disquettes 5,25", presque aussi
  stables que les disquettes 3,5" d'aujourd'hui, de plus, c'tait
  notablement plus rapide que le lecteur de cassettes, ce qui n'tait
  pas le cas avec le C64...

  Ces trois modles (464, 664 et 6128) taient vendus avec un moniteur
  couleur ou monochrome (vert), avec alimentation intgre. Plus tard il
  y eut d'autres modles, le CPC+ par exemple.

  Le basic avec prs de 178 instructions tait puissant et rapide.
  Quelqu'un pouvait programmer du graphisme, des sons et mme des
  interruptions tout en vitant des PEEKs et des POKEs. L'offre
  logicielle s'toffa au fil des ans.




1.4  Que peut vous offrir CPCEMU ?
=================================

  Ce qui suit est un bref aperu de ce que CPCEMU peut vous offrir. Dans
  les sections suivantes de la documentation, cela vous est expliqu
  plus clairement.

  Du graphisme dans 3 modes d'cran diffrents (X x Y x COLEURS):

       Mode 0: 180x200x16
       Mode 1: 320x200x4
       Mode 2: 640x200x2
       (Avec un BIOS VESA, ces graphiques peuvent tre affichs dans une
       rsolution de 640x400x16 au 1280x1024x16, suivant votre moniteur
       et votre carte VGA)

  Son : soit  partir du haut-parleur du PC, d'une soundblaster (3
        voies en stro) ou GUS (Gravis Ultrasound Spectrum)

  Mmoire :
       ROM: OS, BASIC, AMSDOS, jusqu' 13 ROMs additionnelles (avec de l'EMS)
       RAM: 64KB, 128KB, jusqu' 576 Ko de mmoire compatible avec
            l'extention Dk'tronics (avec de l'EMS)

  Disquette : des fichiers MS-DOS reprsentant un image de disquette,
              ayant l'extension .DSK, ces fichiers se retrouvent dans un
              sous-rpertoire spcial : DISC

  Cassette: des fichiers standard sous DOS, par exemple des programmes
            basic et binaire avec les extensions .BAS et .BIN
            respectivement. Ces fichiers se trouvent dans un
            sous-rpertoire spcial : TAPE

  Snapshots : vous pouvez faire des copies de la mmoire alors que vous
              utilisez un programme, pour le reprendre plus tard au mme
              point, exactement comme avec une Multiface II. Les
              snapshots sont des fichiers ayant l'extension .SNA, se
              trouvant dans un rpertoire spcial : SNAP

  Vitesse : avec un 386/33 et de la mmoire EMS, CPCEMU est plus rapide
            qu'un vrai CPC. Avec un mode 'temps rel', vous pouvez
            ralentir l'mulateur pour obtenir la vitesse exacte d'un
            CPC.




2.  Installation de CPCEMU
__________________________

  Dans ce chapitre vous allez apprendre comment installer et dmarrer
  CPCEMU. Dans la section 2.2, vous lirez des astuces au sujet de
  l'utilisation de la mmoire EMS et de la carte sound blaster.


  L'installation complte modifiable par l'utilisateur avec le fichier
  de configuration est dfini dans le chapitre 4 (modifier la
  configuration)



2.1  Fichiers composants l'mulateur CPCEMU
============================================

  Vous avez reu CPCEMUxx.xxx avec les fichiers suivants  (j'ai indiqu
  entre crochet le rpertoire o se trouve le fichier aprs
  installation) :

  COPYMATE.ROM   ROM avec un programme de copie (ROM)
  CPC464.BAT     batch de lancement avec une ROM de CPC 464
  CPC464.ROM     ROM (firmware+BASIC) d'un  CPC 464 (ROM)
  CPC664.BAT     mme chose pour un 664
  CPC664.ROM     (ROM)
  CPC6128.BAT    mme chose pour un CPC 6128
  CPC6128.ROM    (ROM)
  CPCADOS.ROM    AMSDOS pour tous les CPCs (ROM)
  CPCEMU.CFG     le fichier de configuration pour tous les CPC  (ou CPCEMU0.CFG)
  CPCEMU.DAT     le fichier de ressource pour CPCEMU
  CPCEMU.DBF     base de donnes en asci de pokes
  CPCEMU.HLP     l'aide en ligne, appurez sur F1
  CPCEMU.EXE     l'mulateur
  CPCEMU.MSG     le fichier de messages (ncessaire)
  CPCEMU_D.TXT   documentation en allemand
  CPCEMU_E.TXT   documentation en anglais
  CPCEMU_F.TXT   documentation en franais (ce fichier)
  CPCPARA.BAS    programme en basic Locomotive pour le port parallle (UTILITY)
  CPCPD1.DSK     image d'une disquette avec des programmes du domaine public (DISC)
  CPCREC.BAS     programme en basic Locomotivepour recevoir des programmes du PC(UTILITY)
  CPCT0.BAT      exemple d'un fichier batch pour CPCTRANS.EXE (UTILITY)
  CPCTRANS.CFG   le fichier de configuration pour CPCTRANS
  CPCTRANS.EXE   programme pour trransfrer des images de disquettes (UTILITY)
  CPMDISKS.DEF   fichier de dfinition de formats disquette pour l'utiltaire externe 22DISK (UTILITY)
  FILE_ID.DIZ    fichier de description de l'archive CPCEMUxx.xxx
  INSTALL.BAT    batch d'installation
  PCPARA.EXE     programme de transfert du cot PC par le port parallle (UTILITY)
  README_D.TXT   lisezmoi allemand
  README_E.TXT   lisezmoi anglais
  README_F.TXT   lisezmoi franais
  README_S.TXT   lisezmoi
  ROMGET.BAS     programme basic Locomotive-pour rcuprer les ROMs utilisables par CPCEMU (UTILITY)
  SNA2GIF.EXE    un programme de capture d'crans d'un snapshot en GIF

  Les ROMs originales d'Amstrad sont aussi incluses.

  Le copyright du Firmware est dtenu par Locomotive Software, le
  copyright du BASIC est dtenu par Amstrad. Amstrad et Locomotice
  Software me permettent de distribuer les ROMs avec l'mulateur.



2.2  Configuration ncessaire et Installation
==================================

  Vous aurez besoin au moins (tout en pouvant avoir plus videmment) :

  - PC AT 386 avec carte graphique VGA
  - MS-DOS, EMS de prfrence, ou
    Novel DOS (DRDOS) ou
    une boite DOS sous OS/2 2.x, 3.0
  - PKUNZIP.EXE dans le chemin du DOS, si vous voulez lancer des
  programmes  partir d'une archive ZIP.


  L'installation est trs simple :

  Copiez l'archive CPCEMUxx.ZIP sur votre disque dur, et dcompressez la
  avec la commande 'PKUNZIP CPCEMUxx.ZIP'. Lancez INSTALL.BAT pour crer
  certains sous-rpertoires.

  Lancez CPC CPC464.BAT, CPC664.BAT ou CPC6128.BAT suivant le CPC que
  vous prfrez. Aprs l'cran prsentant la configuration utilise (cet
  cran peut tre vit, voir plus bas), appuez sur <ENTREE> et l'cran
  bien connu du CPC apparait avec les caractres jaunes sur fond bleu.

  Vous pouvez quitter l'mulateur avec la touche de fonction F12.

  Essayez donc avant de continuer  lire plus en avant cette
  documentation.

  Si certaines erreurs apparaissent durant l'cran prsentant la
  configuration utilise, vous tes plac dans le menu debug, que vous
  pouvez quitter avec la commande 'q'.

  Dans certains cas, il est parfois utile de rediriger les messages dans
  un fichiers, lanant l'mulateur de cette faon : CPCEMU > INIT.TXT
  Vous pourrez ainsi analyser le problme plus tard.



2.3  Conseils  propos de la mmoire et de la carte son
=======================================================

  Ce qui suit vous aidera si vous apprciez une mulation rapide, ou si
  votre carte son n'est pas reconnu.


  2.3.1  Utiliser la mmoire EMS
  ------------------------------

    Vous devriez avoir de la mmoire EMS, soit grace  du matriel, soit
    le plus souvent par voie logicielle. Cela augmente la vitesse de
    l'mulation de faon significative, surtout avec le basic.

    Tout ce dont vous avez besoin est un EMM (Expanded Memory Manager,
    soit un gestionnaire de mmoire 'expanse') supportant la norme the
    LIM 4.0 qui est le standard (LIM EMS 4.0)

    Si vous avez de l'EMS, un compteur apparaittra ('EMS xxx Bytes ok.')
    pendant l'cran prsentant la configuration utilise. Sinon vous
    lirez "Sorry, using conventional memory".

    Exemple sous OS/2 2.x (configuration pour la fentre DOS)

        EMS_FRAME_LOCATION = auto
        EMS_HIGH_OS_MAP_REGION = 32     (ou plus)
        EMS_LOW_OS_MAP_REGION = 0       (ou plus)

    Exemple sous DOS dans le fichier CONFIG.SYS

        DEVICE=C:\DOS\HIMEM.SYS
        DEVICE=C:\DOS\EMM386.EXE 1024
        ...






  2.3.2  Dfinir la variable d'environnement BLASTER
  --------------------------------------------------

    Pour obtenir le son  partir de votre carte soundblaster, vous devez
    dfinir la variable d'environnement BLASTER correctement. Utilisez
    soit le programme SET-ENV.EXE ou SBTEST.EXE qui vient avec votre
    carte, soit modifiez le fichier AUTOEXEC.BAT directement.

    Dans AUTOEXEC.BAT, vous devez avoir une ligne similaire  ce qui
    suit :

    SET BLASTER=A220 I7 D1 T3

    A dfinit l'adresse de base (0x220)
    I dfinit l'IRQ (7)
    D dfinit le canal DMA (1)
    T dfinit la version de votre carte :
        1 : Soundblaster 1.0/1.5
        2 : Soundblaster Pro
        3 : Soundblaster 2.0/2.5
        4 : Soundblaster Pro 3/Pro 4.0
        5 : Soundblaster Pro (Microchannel)
        6 : Soundblaster 16

    Pour les versions 2, 4, 5 et 6, le son stro est suppos.

    Il y a d'autres paramtres qui sont ignors :

        H spcifie le canal DMA 16 bits pour les cartes 16 bits (5 et 6)
        M spcifie l'adresse de base du mixer de la sound blaster (224)
        P spcifie l'adresse MIDI (330)


  2.3.3  Dfinir la variable d'environnement ULTRASND
  ---------------------------------------------------
    Pour
    Pour obtenir le son  partir de votre carte GUS, vous devez dfinir
    la variable d'environnement ULTRASND correctement.





3.  Differences entre CPC et CPCEMU
______________________________________

  Dans ce chapitre, je dcris certaines caractristiques qui sont
  diffrentes dans CPCEMU par rapport  un vrai CPC. Dans la prochaine
  sections, certaines touches spciales sont mentionnes,
  particulirement les touches de fonctions. Plus en avant, les sections
  vous apprennent comment charger un programme  partir d'une disquette
  ou du lecteur de cassette.



3.1  Le clavier
===============

  Vous avez peut-tre remarqu que les touches de fonctions du PC ne
  sont pas gres comme celles du CPC. Elles produisent certaines choses
  qui sont dcrites ici. Ou peut-tre avez-vous cherch la touche COPY
  pendant des heures.

  Toutes les touches CPC sont rellement localises  un endroit, vous
  pouvez en tre assurs. Le secret est ici dvoil :

  - ALT, ALTgr : la touche COPY du CPC

  - la touche grise PAUSE : bloque le PC jusqu' qu'elle soit presse 
    nouveau. Si les touches de fonction de votre PC ne ragissent plus,
    vous avez sans doute appuy sur la touche PAUSE.

  - le bloc numrique : suivant l'tat de la diode Num Lock, le bloc
    numrique agit diffremment. Quand Num Lock est allume, le bloc
    reprsente les touches de fonction du CPC, sinon c'est le
    joystick qui est mul.

    Si vous voulez utiliser un joystick analogique PC, vous aurez besoin
    de le calibrer tout d'abord (voir le chapitre 4, changer la
    configuration).


  Et pour tre complet :

  - Page up/down: dplace entirement l'cran CPC (ne me demandez pas
    son utilit)

  Et bien sr les touches de fonction :

  F1  : l'aide en ligne, sans doute la touche la plus utile au dbut.
  F2  : basculer entre l'cran du CPC et l'cran de message (celui avec
        un bord rouge). Sur ce dernier cran, certains messages de
        contrle peuvent apparatre. Utilisez le deux fois de suite
        quand les couleurs de l'cran CPC ne vous apparaissent pas comme
        tant les bonnes.
  F3  : pour insrer une disquette, regardez la section 3.2.1
  F4  : basculer le son/pas de son.
  F5  : Charger un snapshot (une copie de la mmoire du CPC  un moment
        donn, comme avec une Multiface), regardez la section 3.2.3
  F6  : Sauvegarder un snapshot, regardez la section 3.2.3
  F7  : Le menu de configuration, regardez la section 4.1
  F8  : Relancer le micro (reset), comme le bouton reset pour le CPC.
        Utilise le si la combinaison de touches CTRL/SHIFT/ESC ne
        fonctionne plus.
  F9  : Rserv pour un futur usage.
  F10 : Menu de debuggage, expliqu dans le chapitre 7. Si vous y
        arrivez par idnavertance, tapez 'r' pour R)un ou 'q' pour Q)uit.
  F11 : Rserv pour un futur usage.
  F12 : Quitter l'mulateur




3.2  Chargement de programmes, de menus
=======================================

  Dans cette section, vous apprendrez comment charger des programmes 
  partir d'une disquette, du lecteur de cassette ou de snapshots.
  Evidemment la mme chose est valable pour la sauvegarde. Il est aussi
  expliqu l'utilisation des menus.



  3.2.1  Chargement  partir d'une disquette, de menus
  ----------------------------------------------------

    Dans des conditions normales d'utilisation, AMSDOS (Amstrad DOS) est
    actif, et toutes les instructions de fichiers utilisent le lecteur
    de disquette.

    Vous n'avez pas besoin d'insrer une vritable disquette CPC dans
    votre lecteur PC chaque fois que vous accder  un fichier (surtout
    que vous n'avez sans doute que des disquettes 3 pouces).

    Pour obtenir une meilleure vitesse, les disquettes CPC sont
    contenues dans une image de disquette, des fichiers DOS ayant une
    extension .DSK qui peuvent se trouver n'importe ou sur votre
    disque dur, ou lecteur de disquette, mais de prfrence dans le
    sous-rpertoire DISC.

    Voici  quelques instructions en BASIC AMSDOS :

    - CAT <RETURN> : affiche le catalogue


    - avec 'RUN"<nom de fichier>"', vous pouvez charger et lancer un
      programme. Vous pouvez ne pas mettre le guillemet de fin. Cette
      instruction is utile pour les programmes BASIC ayant l'extension
      .BAS, et dans de nombreux cas pour les programmes binaires ayant
      l'extension .BIN

      Un moyen simple de lancer un programme :
      1. tapez le nom du fichier, 'disc' par exemple, sans appuyez sur
         <RETURN>
      2. Appuez sur la touche CTRL et la flche cuseur gauche (le
         curseur se dplace sur la premire colonne)
      3. Toujours en maintenant la touche CTRL, appuez sur la touche
         ENTER du bloc numrique (RUN"disc apparait et le programme se
         charge)

    - LOAD"<nom du fichier>" charge un fichier sans le lancer. Vous
      pouvez afficher des programmes en BASIC avec la commande LIST, et
      les lancer avec la commande RUN. Habituellement les programmes
      binaires ne se chargeront pas avec LOAD, mais essayez la commande
      MEMORY d'abord, par exemple 'MEMORY &1fff'

    - SAVE"<nom de fichier>" sauvegarde un programme en BASIC. Pour les
      programmes binaires, vous devez spcifier d'autres paramtres, par
      exemple  'SAVE"<nom de fichier",b,&c000,&4000' sauvegardera
      l'cran, que vous pourrez recharger avec 'LOAD"<nom de fichier>",&C000

    - MERGE"<nom de fichier>" est aussi possible. Il fusionne un
      programme en BASIC avec celui dj en mmoire.

    Certaines commandes spciales d'AMSDOS ncessitent un tiret vertical :

    - |A, |B pour choisir le lecteur disquette (possible aussi avec
      |DRIVE,0 ou 1)
    - |DIR,"<spcification de fichier>" pour voir le catalogue.
      Note important, utilisez ceci sur un CPC 464 :
           a$="<spfication de fichier>" : |DIR,@a$
    - |ERA,"<nom de fichier>" efface un fichier.
      Note important, utilisez ceci sur un CPC 464 :
           a$="<nom de fichier>" : |ERA,@a$
    - |REN,"<nouveau nom>","<ancien nom>" pour renommer un fichier.
      Note important, utilisez ceci sur un CPC 464 :
           a$="<nouveau nom>" : b$="<ancien nom>" : |REN,@a$,@b$
    - |TAPE pour basculer sur le lecteur de cassette, voir section suivante
    - |DISC pour basculer  nouveau au lecteur de disquette

    Il y a d'autres instructions, mais elles ne sont pas aussi
    importantes.



    Le menu d'insertion d'une disquette
    -----------------------------------

    Jusqu' maintenant, vous n'avez pu utiliser qu'une disquette, celle
    dj 'insre' dans le lecteur. Pour insrer une autre disquette,
    appuyez simplement sur F3, et le menu suivant apparait :

                     Insert Disk
                     Drive              0
                     Side Select        0
                     Write Protected    0

    Avec les touches curseur <haut/bas>, vous pouvez choisir une ligne.
    Vous pouvez aussi le faire en tapant la lettre en majuscule (revenez
    en arrire avec la touche DEL). Changez les chiffres avec les
    touches curseur <gauche/droite> ou directement en tapant les
    chiffres. <RETURN> sur n'importe quelle ligne valide le changement.
    Il peut tre annul avec <ESC>.

    "Drive" est le lecteur de disquette voulu (0=A, 1=B);
    "Side Select" est une bascule pour les disquettes doubles face, il
    n'a aucun effet avec une disquette simple face.
    Avec "Write Protected", vous pouvez marquer une disquette comme
    protge en criture  (0=pas de protection, 1=protection).



    Le menu de sletion de fichiers (d'images de disquettes)
    --------------------------------------------------------

    Maintenant appuyez sur <RETURN> et un rpertoire apparait.
    Choisissez une nouvelles disquette avec la mme mthode vu
    ci-dessus.
    
    S'il y a dj une disquette  l'intrieur du lecteur fictif, vous
    n'avez pas besoin de l'enlever comme dans la ralit. C'est
    automatiquement fait. Au bas de l'cran, la dernire disquette
    slectionne est affiche.

    Vous verrez au moins 15 fichiers, s'il y en a plus, "[]" apparat.

    - <HOME> permet de se placer sur le premier fichier, <END> sur le
    dernier,
    - <Page up/down> permet de faire dfiler la liste des fichiers,
    - <RETURN> slectionne le fichier en vido inverse, <ESC> pour
    sortir.

    Vous pouvez aussi slectionner le nom en tapant directement la
    premire lettre.

    Quand vous utilisez la souris, cliquez sur []" for <page up>, "[]"
    pour <page down>, "[<]" for <curseur gauche>, "[>]" for <curseur
    droit> and [ok] for <return>.

    Utilisez la bouton droit de la souris comme un double clic. Utilisez
    "[]" comme <ESC>.

    ".." est le rpertoire parent; [A], [B], ... sont les lecteurs
    disponibles. N'utilisez que les lecteurs de disquettes du PC quand
    une disquette est insre. Sinon vous pourriez avoir des problmes.

    Il est aussi possible d'insrer des disquettes qui sont 
    l'intrieur d'archives compresses ZIP. Slectionnez l'archive ZIP
    en appuyant sur <RETURN> et les fichiers  l'intrieur sont affichs
    comme dans un rpertoire normal. Si vous slectionnez un fichier
    image  l'intrieur d'une archive ZIP, il est automatiquement
    extrait dans un rpertoire temporaire. Pour que cette possibilit
    fonctionne, vous aurez besoin du programme PKUNZIP.EXE quelque part
    dans le chemin du DOS, ou dans le rpertoire de CPCEMU.

    Les fichiers temporaires sont automatiquement effacs s'ils ne sont
    plus ncessaires. Les modifications ne sont pas crites dans
    l'archive ZIP. Si vous sauvegardez quelque chose sur un fichier
    d'image disquette qui se trouve  l'intrieur d'un ZIP, cette
    modification sera perdu  jamais quand vous insrerez une autre
    image. Si vous voulez modifier une image de disquette se trouvant 
    l'intrieur d'un ZIP, il faut d'abord extraire le ZIP dans le
    rpertoire DISC, avant de lancer CPCEMU.

    Comment crer des fichiers d'images de disquettes  partir de
    disquettes CPC que vous avez, est dcrit dansle chapitre 5
    (transfert de donnes entre le CPC et le PC).




  3.2.2  Chargement et sauvegarde sur une cassette
  ------------------------------------------------

    Qu'est-ce qu'une cassette actuellement pour CPCEMU ?

    Et bien, les fichiers d'une cassette sont des fichiers normaux dans
    un rpertoire DOS.

    Aprs la commande '|TAPE', les commandes de gestion de fichier du
    BASIC utilisent la cassette. Mais seulement ceux ne commenant pas
    par "|".

    Maintenant vous pouvez utiliser les instructions dcrites dans la
    section ci-dessus (CAT, RUN", LOAD", SAVE", MERGE") pour la
    cassette.

    Si vous ne prcisez pas un nom de fichier, le menu de slection de
    fichier apparatra, dcrit dans la section prcdente.

    Avec la commande SAVE"", vous pouvez soit craser un fichier
    existant, soit crer un nouveau fichier en spcifiant son nom dans
    la dernire ligne "(new name)".

    Vous pouvez aussi charger des programmes se trouvant  l'intrieur
    d'une archive ZIP, les sauvegardes sont alors ignores.

    Avec l'mulateur vous avez une lecteur de cassette fabuleux.



  3.2.3  Chargement et sauvegarde de snapshots
  --------------------------------------------

    Les snapshots sont des copies de la mmoire du CPC, qui ne
    contiennent pas seulement la mmoire actuelle, mais aussi l'tat des
    diffrents puces du CPC, comme le processeur Z80.

    A n'importe quel moment, vous pouvez interrompre le programme qui
    s'excute et le sauver en tant que snapshot. Plus tard, vous pouvez
    le charger, et continuer exactement  la mme position  laquelle
    vous tiez quand vous l'avez interrompu.

    Vous crez un snapshot avec la touche F6. Spcifiez sa taille, 64 Ko
    ou 128 Ko. Les snapshots de 128 Ko ne sont utiles que si la deuxime
    banque de mmoire est utilise. Dans ce cas, utilisez "128K Snapshot
    = 1", 1 signifiant OUI.

    Le menu de slection de fichiers de snapshots et le mme que celui
    dcrit avec les fichiers d'images de disquette, avec les
    commentaires additionnels pour le lecteur de cassette (3.2.1 et
    3.2.2).

    Vous pouvez charger un snapshot avec la touche F5.




4.  Changer la configuration
______________________________

Dans ce chapitre, vous apprendrez comment configurer CPCEMU selon vos
besoins. Le menu de configuration es dcrit, comme le fichier de
configuration et les paramtres de commande en ligne.



4.1  Le menu de configuration
=============================

  C'est la faon la plus simple pour faire des modifications  CPCEMU.
  Mais ce menu ne vous permet pas de changer toutes les options. Pour
  donner un exemple, si vous voulez utiliser des ROMs additionnelles,
  vous devrez utiliser le fichier de configuration dcrit dans la
  section 4.2.

  Comme il a dj t mentionn dans la section sur le clavier, vous
  entrer dans le menu de configuration avec la touche F7. Le menu
  suivant apparat.

       Option                  Valeur   Explication courte
  -----------------------------------------------------------------------
       ___Emulation
       Emulation_Delay            0
       Emulation_Speed            1
       Emulation_Frequency        300
       Emulation_Resume           1
       Realtime                   0     (realtime mode)

       ___Screen
       Colour_screen              1     (Colour or Green Screen)
       MultiMode_Update           0     (multi mode)
       Palette_Change             1
       Screen offset (ymove)      1     (moving screen up and down)
       Video_Mode                 0
       Vsync_Position             5     (position of vertical
                                         synchronization)
       ___Sound
       Sound_Enabled              1
       Sound_Device               2
       Sb_Delay                   35    (delay for Soundblaster)
       Sb_Delay0                  6

       ___Control
       Joy0_Calibrate
       Joy1_Calibrate
       Kbd_Language               0     (other keyboard mappings)
       Mouse_enabled              1

       ___Ppi_Settings
       Company_Name               7
       Ppi_50Hz                   1
       Ppi_Exp_Signal             1

       ___Misc
       Amsdos_Disabled            0
       Amsdos_Speedup             1
       Break_Mask                 3
       Ems_enabled                1
       Language                   0
       Tape_Bypass                1
       CPC_Type                   2

       Load_Configuration
       Restart_Emulation
       Save_Configuration
       Poke Database                    (database with cheats for games)
       DOS Shell
       Continue                         (continue with the emulator)


  Slectionnez les options comme cela a t dcrit dans 3.2.1.

  - Emulation_delay
    Cette option permet de ralentir l'mulation si elle est trop rapide,
    0 signifie qu'il n'y a pas de dlai, 100 est un petit dlai, 300 un
    dlai plus grand...

  - Emulation_Speed
    0 = mulation Z80 lente
    1 = mulation Z80 rapide

  - Interrupt_Frequency
    Pour modifier la frquence  laquelle sont gnres les
    interruptions. Sur un vrai CPC, cette valeur est toujours 300 Hertz.
    Si vous augmentez cette valeur, beaucoup de programmes sembleront
    fonctionner plus rapidement, mais il y a moins de puissance machin,e
    entre deux interruptions. Si vous avez un micro-ordinateur lent,
    vous pouvez diminuer cette valeur  100 ou 200 parfois. Les valeurs
    possibles vont de 18  600. Pour plus d'informations voir le
    chapitre 7.

  - Interrupt_Resume
    Une autre de ces options qui ne peut tre explique sans beaucoup
    d'informations. Sans mmoire EMS, cette option est  0, ce qui
    signifie que les interruptions peuvent tre vites. Ce n'est
    certainement pas dsir, mais avec 1, l'mulation est trop lente.
    Avec de la mmoire EMS, cette option est  1, CPCEMU essaye alors de
    grer chaque interruption.

    Note importante : il semble que le CP/M+ fonctionne uniquement avec
    de la mmoire EMS et cette option  0 ! Pour plus d'informations
    voir le chapitre 7.


  - Realtime
    CPCEMU se cale alors pour que la vitesse de l'mulateur corresponde
    le plus possible  celle d'un vritable CPC.

  - Color_Screen
    mulation d'un cran monochrome vert, ou couleur en changeant la
    palette

  - Multimode_Update
    Si un programme utilise plusieurs modes simultanment sur l'cran,
    utilisez cette option, CPCEMU essaiera alors de grer cela
    correctement.
    Par dfaut, cette option est hors fonction, tant donn qu'elle ne
    fonctionne pas dans tous les cas.

  - Palette_Change
    Dfinir  0 cette option pour ne pas avoir de changement de palette.
    Cela a un sens si vous ne pouvez pas voir grand chose tant donn
    que l'cran tremble trop.
    Si vous appuyez sur la touche 8 pour avoir un reset matriel, cette
    option est remise  1 automatiquement.
    un conseil : si la palette est hors fonction, et que vous voyez que
    les couleurs ne sont pas correctes, appuyez deux fois sur la touche
    F2 pour avoir  nouveau la bonne palette.

  - Screen_Offset
    Permet de spcifier le nombre de lignes que l'cran du CPC doit
    dplacer. Habituellement vous n'avez pas besoin de cette option.
    Vous obtenez le mme effet en appuyant sur Page Up> et <Page Down>.
    Valeurs possibles : 0=pas d'offset, jusqu' 25.

  - Video_Mode
    Dfinissez le mode vido de la carte VGA
    0 = 640x200x16 (dfaut)
    1 = 640x350x16
    2 = 640x480x16

    Et si vous avez un BIOS VESA :
    3 = 800x600x16
    4 = 1024x768x16
    5 = 1280x1024x16
    ...

    ATTENTION, n'utilisez les modes suprieurs  3 uniquement si votre
    moniteur les supportent ! S'il fait des bruits tranges, teignez le
    tout de suite. Mais ceci ne devrait apparatre que sur de vieux
    moniteurs.

  - Vsync_Position
    Habituellement, vous n'avez pas besoin de cette option, but rien ne
    sera endommag si vous l'utilisez. A un moment durant le
    rafraichissement de l'cran, il y a un a vertical
    frame fly with a special bit set, le bit VSYNC (synchronisation
    verticale). Vous pouvez dfinier cette position, ou le VSYNC doit se
    passer. Les valeurs possibles sont de 0  5. Pour plus de dtails,
    voir le chapitre 7.

  - Sondblaster Delay  (1)
    Set the amount of delay after every write access to the soundcard.
    In the configuration file this delay is set to 1 to speed up sound
    output. If problems with the soundcard occur, try a value of 35.

  - Sound_Enabled
    Active le son, 1=son prsent, 0= pas de son, vous pouvez aussi
    utilisez la touche de fonction F4.

  - Sound_Device
    Dfinissez le type de support sonore :
    0 = aucun
    1 = haut parleur du PC
    2 = Soundblaster
    3 = Soundblaster Pro
    4 = GUS (Gravis Ultrasound), merci  Ulrich Doewich

  - Sb_delay
    Dfinissez un dlait aprs chaque accs en criture auprs de la
    carte sonore. Avec des faibles values, comme 0, le support sonore
    est acclr. Si des problmes apparaissent, utilisez la valeur 35.

  - Sb_delay0
    Un autre dlai pour la soundblaster, ne le modifiez pas.

  - Joy0_Calibrate
    Vous savez surement d'aprs d'autres programmes que vous avez
    d'abord  calibrer le joystick avant de l'utiliser. Choisissez cette
    option en appuyant sur la touche ENTREE, dplacez le joystick dans
    le coin suprieur gauche, puis dans le coin infrieur droit.
    Certains paramtres sont alors affichs, Si vous voulez toujours
    utiliser votre joystick, prenez note de ces paramtres et crivez
    les dans le fichier de configuration (voir section suivante). Sinon
    vous devrez recommencer cette procdure  chaque fois.

  - Joy1_Calibrate
    La mme chose que Joy0_Calibrate, mais pour le deuxime joystick.
  - Kbd_Language
    Avec cette option vous pouvez choisir la disposition du clavier pour
    d'autres pays
    0 = UK, Royaume-Uni par dfaut
    1 = GR, clavier allemand ( peu prs). Malheureusement il est
    impossible d'avoir un clavier allemand complet tant donn que les
    touches en mode majuscule (SHIFT) ne peuvent pas correspondre  des
    touches en mode minuscule. Mais "Z" et "Y" sont changs, et
    certains autres caractres altrs.
    2 = FR, clavier franais ( peu prs). Aprs l'introduction du
    clavier allemand, celui-ci ne pouvait attendre. Certains parties du
    clavier AZERT sont ralises, mais il a les mmes problmes que le
    clavier allemand.

  - Mouse_Enabled
    Slectionne l'usage de la souris dans les diffrents menus.

  - Company_Name
    Slectionne le nom de la compagnie dans l'cran d'initialisation du
    CPC :
    0 = Isp
    1 = Triumph
    2 = Saisho
    3 = Solavox
    4 = Awa
    5 = Schneider
    6 = Orion
    7 = Amstrad

  - Ppi_50Hz
    Le CPC peut fonctionner avec
      0 - 60 Hz, ou
      1 - 50 Hz (dfaut en Allemangne et en France)
    Pendant un reset, le bit 4 du port B PPI est vrifi, et le CRTC est
    initialis correctement, laissez cette valeur  50 Hz

  - Ppi_Exp_Signal
    Certaines cartes d'extension dfinissent ce signal. Sur un CPC 464
    il est dfinit si un lecteur de disquette est connect. Sur un CPC
    6128 il est toujours dfinit.

  - Amsdos_Disabled
    Interdit l'initialisation  d'AMSDOS. Ce n'est utile que si vous
    voulez charger des programmes  partir d'une cassette sans avoir 
    taper la commande |TAPE  chaque fois.

    Vous pourriez certainement faire un simple commentaire dans la ligne
    ROM_BLOCK pour AMSDOS (avec ROM_BLOCK vous spcifiez la ROM 
    charger), et AMSDOS ne sera pas prsent du tout. Utilisez cette
    option si vous voulez qu'AMSDOS soit prsent pour certains
    programmes.

  - Amsdos_Speedup
    Permet une modification de la ROM AMSDOS pour acclerer les accs
    disquettes. Ceci est fait pour minimuser les temps d'attente du
    moteur, ce n'est pas ncessaire pour l'mulateur.

  - Break_Mask
    Uniquement pour du debuggage. Avec la valeur 3 du fichier de
    configuration, certaines erreurs sont supprimes, causes par des
    instructions illgales, ne changez pas cette valeur.

  - Ems_Enabled
    Permet l'utilisation de la mmoire EMS (Expanded Memory System).
    S'il n'y a pas d'EMS, ou pas assez, CPCEMU utilise automatiquement
    la mmoire conventionnelle. Pour plus d'informations sur l'EMS,
    voir la section 2.3.1 et le chapitre 7.

  - Language
    Langage utilis pour les messages d'aide.
      0=UK (Englais)
      1=GR (Allemand)
      2=FR (Franais)
      3=SP (Espagnol)

  - Tape_Bypass
    Permet l'utilisation de cassettes. Plus d'informations dans le
    chapitre 7.

  - CPC_Type
    Dfinir le type de CPC
    0 = CPC 464
    1 = CPC 664
    2 = CPC 6128
    3 = CPC 464+ (?)
    4 = CPC 6128+ (?)
    5 = unknown
    Pour utiliser le mode 3 ou 4, vous avez d'abord besoin de spcifier
    les noms des images ROMs dans CPCEMU.CFG

  - Load_Configuration
    Charger un autre fichier de configuration sauvegard par Save_Configuration".
    Certains param$etres peuvent ne pas avoir d'effet  moins d'utiliser
    "Restart_Emulation".

  - Restart_Emulation
    Aprs avoir charg une configuration avec "Load_Configuration", vous
    pouvez relancer l'mulation avec les nouvelles valeurs.

  - Save_Configuration
    Sauvegarder le fichier de configuration actuel. Vous ne pouvez pas
    crire par-dessus le fichier de configuration matre CPCEMU.CFG.

  - Poke_Database
    Vous tes en train de jouer  un jeu que vous ne pouvez pas finir.
    Alors choisissez cette option. Si votre jeu est dans cette liste,
    vous pouvez le rendre plus facile en obtenant des vies infinies par
    exemple. Vous pouvez aussi dvelopper la liste de pokes (CPCEMU.DBF)
    avec vos propres pokes, voir le chapitre 7 pour une description de
    ce fichier.

  - Dos_Shell
    Ouvrir un shell dos avec beaucoup de mmoire libre, que vous pouvez
    quitter avec "EXIT".

  - Continue
    Prendre en compte les valeurs, et continuer l'mulation. Vous
    obtenez le mme rsultat en appuyant sur ENTREE  partir de
    n'importe quelle ligne contenant un valeur.




4.2  Le fichier de configuration
================================

  Maintenant vous allez apprendre une autre faon de configurer CPCEMU.

  Au dbut CPCEMU lire le fichier de configuration CPCEMU.CFG par
  dfaut. La structure de ce fichier est dcrite pour que vous puissiez
  utiliser vos propres ROMs, changer le type de clavier dfinitivement,
  etc...

  Voyons ce fichier CPCEMU.CFG :

    ;CPCEMU.CFG - The Configuration File for CPCEMU
    ;...
    ;
    ;configuration for CPC 464, 664 and 6128
    ;
    SHOW_CONFIG=1            ;should the configuration be displayed?
    ROM_PATH = ".\ROM"       ;chemin to ROM images
    ...


  Dj avec ces quelques lignes, vous pouvez voir la structure simple :
  les commentaires commencent avec un point-virgule (";"), les options
  sont modifies en crivant un mot-cl suivi de "=" puis une <valeur>.
  La <valeur> dpend du mot-cl et est soit une chaine, soit un nombre.
  Les nombres peuvent tre en dcimal, hexadcimal ("0x") ou binaire
  ("%").

  Quand vous connaissez le sens des mots-cls, vous pouvez ajuster les
  valeurs avec un diteurde texte pour vos propres besoins.

  Vous connaissez la plupart des mots-cls  partir du menu de
  configuration. Voici une liste par ordre alphabtique des mots-cls.

  #ENDIF
  #IFCPC
  AMSDOS_DISABLED
  AMSDOS_SPEEDUP
  BREAK_MASK
  COLOUR_SCREEN
  COMPANY_NAME
  CPC_TYPE
  DRIVE_A
  DRIVE_B
  EMS_ENABLED
  EMULATION_DELAY
  EMULATION_SPEED
  HELP_FILE
  INTERRUPT_FREQUENCY
  INTERRUPT_RESUME
  JOY0_CALIBRATE
  JOY1_CALIBRATE
  KBD_LANGUAGE
  LANGUAGE
  MOUSE_ENABLED
  MULTIMODE_UPDATE
  PALETTE_CHANGE
  POKE_DATABASE
  PPI_50HZ
  PPI_EXP_SIGNAL
  PRINTER
  RAM_SIZE
  REALTIME
  ROM_BLOCK
  ROM_PATH
  SB_DELAY
  SB_DELAY0
  SCREEN_OFFSET
  SHOW_CONFIG
  SNAPSHOT
  SOUND_DEVICE
  SOUND_ENABLED
  TAPE_BYPASS
  TAPE_PATH
  TMP_PATH
  VIDEO_MODE
  VSYNC_POSITION


  Voici l'explicatin des nouveaux mots-cls :


  - #ENDIF, #IFCPC
    Des instructions de contrle pour des configurations dpendant du
    type de CPC :

      #IFCPC <type de CPC> ... #ENDIF

    Pour la valeur <type de CPC>, tous les quatres types de "CPC_TYPE"
    sont valides. En consquence, vous n'avez besoin que d'un fichier de
    configuration pour tous les CPCs. Les fichiers batchs CPC464.BAT,
    CPC664.BAT et CPC6128.BAT dfinissent le type de CPC voulu avec les
    paramtres de ligne de commande (expliqu dans la prochaine
    section).

  - DRIVE_A = "<chemin+nom_de_fichier>"
    Dfinissez le chemin des images de disque. Si vous utilisez un nom
    de fichier comme chemin, cette disquette sera automatiquement
    insre dans le lecteur A (la section 3.2.1 dcrit le chargement et
    la sauvegarde de disquettes).

  - DRIVE_B = "<chemin+nom_de_fichier>"
    La mme chose que DRIVE_A, mais pour le lecteur B.

  - JOY0_CALIBRATE = <xcen>, <ycen>, <xdead>, <ydead>
    Dfinir la calibration du joystick analogique. Utilisez les valeurs
    affiches aprs la calibration du joystick dans le menu de
    configuration (voir section 4.1). C'est un mot-cl avec quatre
    valeur. Vous devez toujours les spcifier toutes, quatre 0 signifie
    qu'il n'y a pas de calibration.

  - JOY1_CALIBRATE = <xcen>, <ycen>, <xdead>, <ydead>
    La mme chose que JOY0_CALIBRATE.

  - POKE_DATABASE = "<chemin+nom_de_fichier>"
    Dfinir la base de donnes de pokes (CPCEMU.DBF).

  - PRINTER = "<chemin+nom_de_fichier>"
    Dfinir le fichier recevant tout ce qui est envoy sur le port
    imprimante du CPC. Il est effac  chaque lancement de l'mulation.
    Aprs avoir quitt l'mulator, vous pouvez envoyer ce fichier vers
    votre imprimante avec "COPY <nom_de_fichier> PRN".

  - ROM_BLOCK = <numro-ROM>,  "<nom_de_fichier>", <ROM-position>
    Dcrire la ROM qui doit tre charge et o. Rptez cette ligne pour
    chaque ROM que vous voulez charger. Le maximum de ROMs possibles est
     peu prs 20, si vous utilisez de la mmoire EMS.

    * <numro-ROM> est le numro assign de la ROM, cela signifier
    qu'elle est choisie par "OUT &DF00,<numro-ROM>". Les valeurs
    possibles sont :

        0       : ROM au premier plan (e.g. BASIC)
        1 - 251 : ROM en arrire plan. Sur un CPC 664/6128, les ROMs
                  1-15 sont automatiquement initialises durant le reset
                  (sur un CPC 464 seulement les ROMs 1  7).
                  La ROM AMSDOS a toujours le numro 7.
        255     : ROM infrieur (l'OS par exemple, a seulement ce numro
                  dans l'mulateur)
    - <nom_de_fichier> est un fichier dans le rpertoire ROM_PATH, qui
      contient les ROMs.

    - <ROM position> est naturellement 0. Si un fichier contient
    plusieurs ROMs, c'est la position de la ROM par bloc de 16384 octets
    : 0, 1, 2, etc...

        ROM_BLOCK = 255, "CPC6128.ROM", 0
        ROM_BLOCK = 0  , "CPC6128.ROM", 1

      La ROM infrieure et la ROM de premier plan sont charges l'une
      aprs l'autre  partir du mme fichier.

  - ROM_PATH = "<chemin>"
    Dfinir le chemin des images de ROMs. Dans le fichier de
    configuration, ce chemin est dfinit  ".\ROM". Les ROMs elles-mmes
    sont dfinis avec le mot-cl ROM_BLOCK.

  - SHOW_CONFIG = {1, 0}
    Permet d'afficher la configuration actuelle au lancement de
    l'mulateur.

  - SNAPSHOT = "<chemin+nom_de_fichier>"
    Dfinir le chemin des snaphshots. Si vous dfinissez un nom de
    snapshot, il sera automatiquement lanc (voir la section 3.2.3 pour
    plus de dtails).

  - TAPE_PATH = "<chemin>"
    Dfinir le chemin pour les fichiers cassettes. Dans le fichier de
    configuration, ce chemin est dfini comme ".\TAPE" (voir section
    3.2.2 pour plus de dtails).

  - TMP_PATH = "<chemin>"
    Dfinir le chemin pour les fichiers temporaires. Ils sont
    ncessaires si vous choisissez une fichier  l'intrieur d'une
    archive ZIP.




4.3  Paramtres en ligne de commande
====================================

  Comme pour d'autres programmes, il est aussi possible de lancer CPCEMU
  avec des paramtres en ligne de commande. Mais actuellement il n'y en
  a que quelques uns.

  Lancez CPCxxx.BAT avec les options suivantes :

      /f           : utiliser le mode rapide (dfaut)
      /s           : utiliser le mode lent
      /d           : utiliser le mode debut, voir chapitre 7
      /x           : ne pas utiliser la mmoire EMS
      /c <fichier> : utiliser un autre fichier de configuration que
                     CPCEMU.CFG, voir section 4.2
      /t <fichier> : dfinir le type de CPC 464, 664 ou 6128 avec
                     respectivement /t 0, /t 1 ou /t 2.
      /h           : afficher un cran d'aide

  L'option "/d" est automatiquement utilise si une option inconnue est
  spcifie. Au lieu du caractre "/", vous pouvez aussi utiliser "-"
  comme sous UNIX.




5.  Transfert de donnes entre CPC <-> PC


Que pouvez-vous faire avec un bon mulateur quand vous n'avez pas de
programmes pour lui, ou si vous ne voyez pas de possibilits d'obtenir
des programmes d'un CPC vers votre PC ?

Dans le chapitrer 6, sources d'approvisionnement, certains sites FTP
sont donnes, o des programmes CPC peuvent tre trouvs.

Ce chapitre traite du transfert de donnes du CPC au PC. Certains
utilitaires pour les diffrentes mthodes sont dcrits (disquette,
interface srie et parallle).




5.1  A partir d'une disquette
=============================

  C'est le moyen le plus simple d'obtenir des programmes CPC sur le PC.
  Vous avez seulement besoin d'un CPC avec un second lecteur de
  disquette d'une taille correcte, c'est  dire d'une taille allant
  aussi dans votre lecteur de disquette PC, sinon vous pourriez toujours
  connecter un lecteur 3" sur votre PC). LePC est persuad de
  reconnatre les disquettes au format CPC avec un utilitaire qui lit
  ces disquettes, cet utilitaire est appel CPCTRANS.



  5.1.1  Le programme de transfert CPCTRANS
  -----------------------------------------

    J'ai dvelopp CPCTRANS pour crer des images de disquettes  partir
    de disquettes CPC. Les formats CPC standards, comme le format double
    face Vortex, sont reconnus.

    CPCTRANS n'est pas prvu pour transfrer des formats protgs contre
    la copie !

    En lanant CPCTRANS sans paramtres, vous aurez une courte
    description des options.

    CPCTRANS est similaire  la commande COPY du DOS :

    'CPCTRANS <source> <destination> <options>'.

    Exemples:

    'CPCTRANS B: DISK1.DSK' copie la disquette qui est dans le lecteur B
    dans une image de disquette DISK1.DSK. Si ce fichier n'existe pas,
    il est cr.

    'CPCTRANS DISK1.DSK B:' crit l'image de disquette sur la disquette
    setrouvant dans le lecteur B.

    Cette premire commande ne fonctionne que pour le format DATA. Pour
    d'autres formats vous devez utiliser une option :

      /f 0    : format DATA (defaut)
      /f 1    : format DATA, double face
      /f 2    : format SYSTEM
      /f 3    : format SYSTEM, double face
      /f 4    : format VORTEX, double face
      /f 5    : inconnu, CPCTRANS essaye de le dtecter
      /f 6    : +3DOS

    Notez l'espace entre "/f" et le nombre. Quand vous utilisez le
    format double face DATA ou SYSTEM, vous pouvez slectionner la face
    A ou B dans le menu disquette (voir section 3.2.1).

    Quand vous crivez une image sur une vraie disquette, la disquette
    dans le lecteur doit avoir le mme format ! Pour des formats
    simples, vous pouvez utiliser 22DISK, dcrit dans la section
    suivante.

    Pour copier la face B d'une disquette, utilisez l'option "/s 1".
    Avec 'CPCTRANS B: DISK1.DSK /s 1' seule la face B de la disquette
    est copie, avec 'CPCTRANS DISK1.DSK B: /s 1' elle est crite sur la
    vraie disquette.

    L'option "/v" activer la vrification, CPCTRANS vrifie alors si la
    copie est correcte, c'est un peu plus lent, mais augmente la
    scurit.

    L'option "/t" <compteur> dfinit le nombre de pistes  copier.
    Normalement il est  40, de nombreux fanzines et dmos utilisent 42
    pistes pour obtenir plus de place. Il est  80 pour le format
    VORTEX.

    L'option "/q" (formatage rapide) est une possibilit qui vous permet
    de "formatter" une image de disquette, soit de crer une image de
    disquette sans aucuns fichiers dessus. Vous devez tout de mme
    spcifier un lecteur de disquette comme premier paramtre, mme s'il
    n'est pas utilis, exemple :

    'CPCTRANS a: SYSTEM.DSK /f 2 /q' formatte une image de disquette au
    nom SYSTEM.DSK avec le format SYSTEM.



  5.1.2  L'utilitaire de formatage et copie 22DISK par SYDEX
  ----------------------------------------------------------

    Ce programme est disponible comme un shareware. Avec les dfinitions
    correctes, vous pouvez presque utiliser tous les formats CP/M !

    Malheureusement les formats CPC ne sont pas inclus avec la version
    d'valuation de 22DISK. J'ai donc dfini les formats dans le
    fichiers CPMDISKS.DEF, que vous trouverez dans le sous-rpertoire
    UTILITY.

    Que pouvez-vous faire avec 22DISK ? Vous pouvez transfrer de
    simples fichiers entre votre disque dur et des disquettes au format
    CP/M (dont CPC). Vous pouvez copier ces fichier ensuite dans le
    sous-rpertoire TAPE (voir section 3.2.2 pour savoir comment les
    charger ensuite), ou utiliser certains utilitaires externes
    injectant des fichiers CPC dans une image de disquette.



5.2  L'interface parallle
==========================

  Si vous avez un CPC sans second lecteur de disquette, vous pouvez
  faire le transfert par l'interface parallle. Cette ide originale
  vient de Gilles Molinari, il a aussi crit des programmes en turbo
  pascal. Mais vous faites sans doute partie des utilisateurs n'ayant
  pas le compileur turbo pascal, les sources vous sont donc inutiles.
  J'ai donc transcrit les utilitaires en BASIC Locomotive, et tendu
  dans le sens PC->CPC.

  Il est donc possible de faire des transferts dans deux sens entre le
  CPC et le PC, qui sont relis par leur port parallle.

  Si vous avez un CPC 6128 avec un connecteur centronics, et que vous
  le comparez avec une imprimante, vous noterez que le CPC et le PC
  s'embranchent parfaitement en utilisant une cable d'imprimante PC
  standard. Mais ne le faitespas tout de suite, lisez la suite s'il vous
  plait.

  Il semble que seul les CPCs Schneider aient un connecteur centronics.
  Si vous avez un Amstrad CPC 6128 avec un simple connecteur, ou un CPC
  464, 664, utilisez le diagramme  la fin de cette section.


  D'abord, vous devrez franchir deux obstacles :
  1. construire un simple adaptateur
  2. taper un court programme sur le CPC

  Attendez ! Ne sautez pas le reste !

  Ces deux tapes sont trs simples, parce que :
  1. est possible sans rien souder
  2. est vraiment trs courte (environ 30 lignes de Basic)

  Voyons l'tape 2.
  Le programme dont vous avez besoin s'appelle CPCREC.BAS, et il se trouve 
  dans le sous-rpertoire UTILITY.
  Il est sauvegard en ASCII, donc vous pouvez le sortir sur votre
  imprimante sans difficult ; ensuite, tapez-le sur le CPC.
  Son travail va tre analogue  la cordelette que vous envoyez le long d'un
  tuyau, pour y tirer ensuite un gros cble.
  Ici, la cordelette, ce sera CPCREC.BAS, qui reoit sur le CPC des
  programmes en provenance du PC.
  Avec ce petit utilitaire, vous obtiendrez CPCPARA.BAS (le gros cble) sur
  le CPC. Enfin, avec CPCPARA.BAS, vous pourrez recevoir et transmettre. 
  Vous n'aurez alors plus besoin de CPCREC.BAS.
  Du ct du PC, vous utiliserez PCPARA.EXE, aussi inclus dans le sous-
  rpertoire UTILITY.

  Mais avant de taper CPCREC.BAS sur le CPC, voyons l'tape 1 :


  L'adaptateur parallle
  ----------------------

  Vous avez besoin d'un adaptateur entre le CABLE d'imprimante et la
  SORTIE imprimante du PC.

  C'est facile avec une "wiring box" ("bote  fils") pour interface RS-232. 
  Elle a un ct mle "D-sub"  25 broches ("plug") et un ct femelle
  "D-sub"  25 broches ("socket").

  En branchant de courts fils  l'intrieur de la bote, vous pouvez
  raliser toutes les connexions possibles entre les deux cts.

  Habituellement, ce type de bote est employ, comme son nom l'indique,
  pour adapter les interfaces RS-232. Les connexions en srie ne fonctionnent
  pas du premier coup, savez-vous ?

  L'adaptateur sera branch, ct mle vers le PC, et ct femelle vers le
  cble.
  
  Voici les connexions  faire dans la bote :
  
             Ct mle                            Ct femelle
             pour la sortie-imprimante du PC      pour le cble
        
             Broche 2     ---------------         Broche 11
             Broche 10    ---------------         Broche 8
             Broche 11    ---------------         Broche 1
             Broche 12    ---------------         Broche 7
             Broche 13    ---------------         Broche 6
             Broche 15    ---------------         Broche 5
             Broche 19    ---------------         Broche 19


  Comme vous voyez, vous n'avez pas besoin de 25 fils, 7 suffisent.

  Bien qu'une "wiring box" soit bon march si vous l'achetez par correspon- 
  dance, vous trouverez peut-tre encore meilleur march si vous utilisez
  une "jumper box" (bote  cavaliers). Mais vous aurez  souder les fils.
  Le moins cher consiste  acheter un connecteur mle "D-sub"  25 broches, 
  et un connecteur femelle "D-sub"  25 broches galement. Plus quelques fils.

  A prsent, je prsume que vous avez connect les deux ordinateurs
  avec l'adaptateur, et que CPCREC.BAS est dans la mmoire de votre CPC.
  Que faire maintenant ?
  
  1. Sur le CPC :  lancez CPCREC.BAS (aprs l'avoir sauvegard...)
  2. Sur le PC  :  tapez "PCPARA /s CPCPARA.BAS"

  Si aucun message d'erreur n'apparat sur l'cran du PC, tout va bien,
  le fichier est sur le CPC.

  Si le PC n'envoie rien et affiche un message d'erreur, c'est que la
  connexion peut tre incorrecte.

  S'il envoie quelque chose (message "Sending block xx"), mais qu'un
  message d'erreur apparat occasionnellement, votre PC est peut-tre
  trop rapide ou trop lent : le transfert dans le sens PC->CPC est trs
  sensible  la question de vitesse, sachez-le.

  Sur mon 386/33, il ne fallait pas que la mmoire EMS soit installe, 
  sinon, elle est trop lente. Sur un ordinateur trs rapide, il pourrait
  tre ncessaire d'utiliser le commutateur "turbo", si vous en avez un.
  De toute faon, n'utilisez le programme que sous DOS, pas sous OS/2 
  ni sous Windows.

  Si cela ne marche pas du tout, envoyez-moi une note.
  En attendant, vous pourriez taper le programme CPCPARA.BAS, qui est 
  un peu plus long : dans le sens CPC->PC, cela fonctionne toujours, 
  mme sous OS/2, parce que le processus est presque le mme que l'action
  d'imprimer : le PC se comporte comme une imprimante.

  Je prsume que vous avez maintenant CPCPARA.BAS sur votre CPC.
  Transfrez les fichiers du CPC vers le PC de la faon suivante :

  1. Sur le PC :  tapez "PCPARA /r".
  2. Sur le CPC : lancez CPCPARA, slectionnez S)end, et donnez le nom de 
     chaque fichier que vous voulez transmettre au PC (il faudra retaper
     "PCPARA /r" pour chaque fichier ; CPCPARA, lui, tourne comme une 
     boucle sans fin).


  Ainsi, utilisez PCPARA de la faon suivante :
  - PCPARA /r : lance PCPARA dans le mode rception
  - PCPARA /s <fichier> : envoie <fichier> vers le CPC ; si vous utilisez
    "TRM:" en guise de nom de fichier, vous aurez un terminal.

  Tous les programmes contenus dans le sous-rpertoire UTILITY affichent
  un aperu de leurs options si vous les appelez sans paramtres.


  ATTENTION !
  Mme si la construction est trs simple, je ne peux pas garantir que
  vous n'aurez aucun dommage. Si le port-imprimante de votre CPC est 
  endommag aprs cela, ce sera un malheureux accident ! Peut-tre
  aurait-il, aussi, t endommag si vous aviez simplement connect une 
  imprimante. Par exemple, je connais un ancien utilisateur de CPC dont 
  le clavier ne fonctionnait plus correctement ; aprs la rparation,
  on lui a dit qu'il n'aurait pas d brancher le joystick alors que
  l'ordinateur tait allum ! (Et alors, je le fais constamment ?!?)
  
  Pour revenir  nos moutons :
  J'ai construit l'adaptateur avec succs. Et j'ai mme, parfois, "oubli"
  d'insrer l'adaptateur dans le connecteur, sans avoir eu aucun problme.
  



  Diagrammes de David Chapeau, si votre CPC n'a pas de connecteur Centronics :

   34 <- - - - - - - - 18      \
   ______________________      |
  |   ________________   |     |
  |  |________________|  |   - | ---> Connecteur (femelle) 
  |______________________|     |      de l'imprimante
                               |      
   17 < - - - - - - - - 1      |
                               |
     ||||||||||||||||||        |
     ||||||||||||||||||        \
     ||||||||||||||||||         >   Cble "CPC 6128 vers DMP 2160"
     ||||||||||||||||||        /
     ||||||||||||||||||        |
                               |
   1 - - - - - - - - > 18      |
  ________________________     |
  \    ______________    /     |
   \  |______________|  /    - | ---> Connecteur (mle) Centronics
    \__________________/       |
                               |
   19 - - - - - - - -> 36      /



   18 < - - - - - - - - 1      \
  ________________________     |
  \    ______________    /     |
   \  |______________|  /    - | ---> Connecteur (femelle) Centronics
    \__________________/       |
                               |
   36 <- - - - - - - - 19      |
                               |
     ||||||||||||||||||        |
     ||||||||||||||||||        \
     ||||||||||||||||||         >   Adaptateur parallle PC
     ||||||||||||||||||        /
     ||||||||||||||||||        |
                               |
   1 - - - - - - - - > 13      |
  ________________________     |
  \  ..................  /     |
   \  ................  /    - | ---> Connecteur Sub-D (mle)
    \__________________/       |      vers le PC (LPT1)
                               |
   14 - - - - - - - -> 25      /


   13 < - - - - - - - - 1      \
  ________________________     |
  \  ..................  /     |
   \  ................  /    - | ---> Connecteur Sub-D (femelle)
    \__________________/       |
                               |
   25 <- - - - - - - - 14      |
                               |
     ||||||||||||||||||        |
     ||||||||||||||||||        \
     ||||||||||||||||||         >   "Wiring Box" RS 232
     ||||||||||||||||||        /
     ||||||||||||||||||        |
                               |
   1 - - - - - - - - > 13      |
  ________________________     |
  \  ..................  /     |
   \  ................  /    - | ---> Connecteur Sub-D (mle)
    \__________________/       |      vers le PC (LPT1)
                               |
   14 - - - - - - - -> 25      /



  Connecteur  Centronics   Centronics    Connecteur   Connecteur  Connecteur
  Imprimante   (femelle)     (mle)        Sub-D         Sub-D      Sub-D   

      1 ---------  1            1 ---------  1            2 --------- 11
            .                         .                  10 ---------  8
            .                         .                  11 ---------  1
            .                         .                  12 ---------  7
     17 --------- 17           14 --------- 14           13 ---------  6
     18 --------- 19           19 --------- 19           15 ---------  5
            .                  21 --------- 20           19 --------- 19
            .                  23 --------- 21
            .                  25 --------- 22
     34 --------- 35           27 --------- 23
                               29 --------- 24
                               30 --------- 25
                               31 --------- 16
                               32 --------- 15
                               33 --------- 18
                               36 --------- 17




  Vitesse de transfert CPCPARA -> PCPARA (v1.1) :

  Temps de transfert d'un bloc de 0x4000 octets du CPC vers le PC avec
  l'adaptateur parallle :

  Source sur CPC :             Octets/sec :     Bauds :
  -----------------------------------------------------------
  Fichier sur disquette :        1600            12800

  Bloc de mmoire :              2240            17920

  Bloc de mmoire, sans          2445            19560
  interruptions
  (poke &b941,&c9 sur CPC 664 et 6128)


  Le bloc envoy tait contrl en Basic (dans CPCPARA) :
  defstr a:a="test.$$$":call sstr,@a
  a=string$(&80):for i=1 to &80:call sstr,@a:next:call sbyte,0:stop


  Vous pourrez lire plus d'information sur l'adaptateur parallle au
  chapitre 7.



5.3  L'interface srie
======================

  Si vous possdez une interface srie pour le CPC, vous pouvez certainement
  l'utiliser pour le transfert de donnes vers le PC.



5.4  Autres possibilits
========================

  Il y a encore d'autres moyens fantastiques pour avoir des programmes
  sur le PC :

  - Connecter le lecteur de disquettes 3 pouces au PC. Quelques (anciens)
    modles pourraient correspondre  la connexion 5,25 pouces.

  - Avec un dtour par le Spectrum+3 : lire la disquette 3 pouces sur le
    Spectrum+3, la convertir au format Spectrum, et employer un utilitaire
    pour la lire sur le PC. Cet utilitaire est compris dans l'mulateur
    Z80 du Spectrum, de Gerton Lunter.

  - Au temps o il tait ncessaire (Amstrad n'ayant pas encore donn son
    autorisation) de se dbrouiller pour avoir les ROMs, quelqu'un m'a parl
    de ce moyen : il enlevait la puce de la ROM d'un CPC, et l'insrait 
     la place du BIOS VGA. Avec un petit programme, il pouvait en lire le
    contenu.

  - Peut-tre avez-vous trouv un autre moyen ?




6.  Sources d'Approvisionnement, Aide en ligne, Remerciements


Dans ce chapitre, vous lirez comme obtenir des programmes CPC, et  qui
poser des questions. De plus, je mentionne d'autres mulateurs CPC.


6.1  O puis-je avoir des programmes pour le CPC ?
==================================================

  Ce n'est pas un problme si vous avez un accs  internet. Comme pour
  les mulateurs Spectrum, un certain nombre d'archives "anonymes"
  existent o vous pouvez trouver des programmes CPC par FTP ou WWW.


  FTP
  ---

  - ftp.nvg.unit.no:/pub/cpc, merci  Arnt Gulbrandsen pour avoir cr
    ce site, et  Noel Llopis pour le maintenir, une des plus grosses
    archives de programmes CPC, envoyez ce que vous avez dans le
    rpertoire /pub/cpc/incoming.

  - sunshine.informatik.uni-wuerzburg.de:/pub/joscho/cpcemu
    C'est un miroir de ftp.nvg.unit.no. Toutes questions, remarques et
    additions doivent tre adresses  joscho@informatik.uni-wuerzburg.de
    Si vous avez des problmes pour vous connecter en Norvge, vous
    pouvez essayer ce site.

  - ftp.ibp.fr:/pub/amstrad, merci  Remy Card, toutes question  propos
    de ce site doivent tre envoyes  roussin@blaise.ibp.fr Tous les
    fichiers de ce site viennent de "Genesis the 8bit generation"
    (regardez plus bas). Un autre site avec beaucoup de programmes pour
    CPC.

  - ftp.demon.co.uk:/pub/cpm, merci  Paul Martin, des fichiers
    spcifiques  la version CP/M d'Amstrad
    Paul Martin (pm@nowster.demon.co.uk) enverra,  quiconque lui
    prouvera qu'il possde la disquette originale Amstrad CP/M Plus, les
    images binaires de la ROM de sa "CP/M Plus ROMs", et gratuitement.

  - oak.oakland.edu : /Simtel/msdos/emulator/cpcemu14.zip

  - other Simtel mirrors:

    ftp.ibp.fr : /pub3/pc/SimTel/msdos/emulator/
    ftp.demon.co.uk : /simtel/msdos.
    ftp.uni-paderborn.de


  WWW
  ---

  - la revue anglaise Amstrad Action  : http://www.futurenet.co.uk/

  - http://www.cm.cf.ac.uk/User/K.E.W.Thacker/Amstrad/index.html



  BBS
  ---

  - Aspects (2:250/107) : +44 617920260, au Royaume-Uni, le sysop est
    Dave Gorski, V32b, CPCEMU 1.2, programs (la majorit en basic),

  - Genesis the 8bit generation, (2:320/220), +33 1 39 50 54 11, en
    France, du v22 au VFC, le sysop est Emmanuel Roussin. Les dernires
    versions des mulateurs, des ROMs 6128 qwerty et azerty, des
    programmes freeware, shareware et domaine public, des fanzines
    disquettes, des pokes, des solutions, des dmos et quelques jeux
    commerciaux avec l'autorisation de leurs auteurs. Pour le moment il
    y a environ 41 Mo de programmes compresss. Pour les utilisateurs
    FIDO, vous pouvez faire une demande du fichier ALLFILES.ZIP, et
    demander ensuite ce qui vous intresse.

  - Razormaid, (2:246/6009), +49 711 4204329, en Allemagne, jusqu'au
    v32b et Zyxel, le sysop est Thorsten Mitschele, aussi connu sous le
    nom de Kangaroo sur la scne CPC. Il a les mmes fichiers que
    Genesis, avec un peu de dlai.


  - ZNODE 51 : + 49 89 961 45 75, en Allemagne, de 15:00  3:00 CET
    (MEZ), jusqu'en v32b, fichiers CPC

  - Beavis'n'Butthead BBS 2453/407, Allemagne



6.2  Dernires nouvelles, change d'experiences
===============================================

  Voulez-vous avoir toujours la dernire version de CPCEMU ?
  Voulez-vous tre inform si une nouvelle version est sortie ?
                    
  Nous avons cr un "newsgroup" (un forum lectronique) spcialement
  pour le CPC ! Il s'appelle :

          comp.sys.amstrad.8bit

  Vous y trouverez des discussions sur les CPCs (et aussi sur CPCEMU), et
  vous pourrez parler de vos expriences avec les CPCs.

  Il y a une FAQ (Frequently Asked Questions = les questions poses
  frquemment) disponible pour ce newsgroup, la dernire se trouve
  toujours sur le site FTP : ftp.ibp.fr dans /pub/amstrad/amstrad.faq

  Si vous ne pouvez pas lire le newsgroup pour telle ou telle raison, 
  crivez-moi un "email" (courrier lectronique) pour me dire que vous
  voulez figurer sur la liste des correspondants. Vous serez alors
  inform des dernires nouvelles sur CPCEMU.

  Vous trouverez mon adresse dans la prochaine section.
  Naturellement, vous pouvez aussi utiliser le courrier "normal" pour me 
  poser des questions (ou  David, voir ci-dessous), mais, s'il vous plat,
  n'oubliez pas les frais d'expdition du courrier !
  
  A propos, si vous m'envoyez une contribution financire, je me sentirai
  oblig de vous faire parvenir la dernire version de CPCEMU au moins une ou
  deux fois.
  



6.3  Si vous avez des questions ou des suggestions
==================================================


  Alors, crivez-moi directement :

       Marco Vieth
       Auf dem Uekern 4
       D-33165 Lichtenau
       ALLEMAGNE

       Tlphone : (...)05292/1366 (en week-ends)

       Internet: ali@uni-paderborn.de

       Comme vous l'avez probablement devin au vu de mon adresse Internet,
       j'tudie les sciences informatiques  l'Universit de Paderborn. 
       Je suis dans mon dixime semestre (SS 95).



  Au cas o vous parleriez ou cririez l'anglais, vous pouvez aussi crire
   David Cantrell :

       David Cantrell
       116, London Road
       Bexhill-on-sea
       East Sussex
       TN39 4AA
       England

       Tlphone : +44-1424-221015

       Internet: david@integration.co.uk


  David offre d'aider un peu  rpondre  la "pile de lettres".  Il a
  numris le manuel du "firmware" pour le CPC, de sorte que chacun peut
  l'obtenir sous sa forme lectronique.

  Bien que ce programme soit en Freeware, j'accepterai naturellement
  toute espce de soutien, financier ou technique (100  150
  conviendrait tout  fait, 30-50 Deutschmarks seraient appropris. Cela
  fait environ 20-33 dollars amricains, ou 13-21 livres anglaises).
  Note du Traducteur ER : allez tout simplement  votre poste, et
  demandez  envoyer un mandat postal international, les frais sont
  faibles. personnellement j'ai envoy deux mandats  Marco, loigns de
  six mois  un an, tellement j'tais heureux de retrouver un CPC sur
  mon PC, et pourtant je n'ai pas des revenuse exceptionnels.

  Mme si vous n'envoyez pas d'argent, je rponds normalement  toutes les
  lettres, et j'essaie de garder vos suggestions  l'esprit (je suis sr
  que David fait de mme).
  Ainsi, n'hsitez pas  envoyer vos commentaires.



6.4  Autres mulateurs pour Amstrad CPC
=======================================

  Au dbut de 1994, je croyais que CPCEMU tait le seul mulateur pour
  l'Amstrad CPC. Aujourd'hui, j'en connais trois autres :

  - SIMCPC :
    Sans doute le premier qui fut crit.
    Emulateur de CPC pour PC/XT/AT   (c) 1989, 90 by GHE, Aachen.
    Il n'est qu'en noir et blanc, mais avec des ROMs additionnelles ;
    seulement une manifestation d'humour "aprs boire".

  - CPC2PCxx :
     En dveloppement depuis Octobre 1993, par Paco Lopez (Espagne), et
     disponible sur sites  prsent. Il est crit entirement en mode
     protg, et utilise le mme format de disquette que CPCEMU.

  - CPE :
    En dveloppement par Bernd Schmidt. En utilisant un mode d'cran
    spcial de 50 Hertz, des blocs de couleurs sont reproduits exactement.
    Un CPE2 "spcial 256 couleurs" affiche des blocs de couleurs exacts 
    plus de 50 Hertz.
    Egalement assurs : multi-modes, overscan.
    Dernire version : v5.0.



6.5  Projets pour les futures sorties de CPCEMU
===============================================


  - overscan
  - multi-mode amlior
  - cran centr si on change sa taille
  - scrolling "hard" rapide
  - les claviers amricains n'ont pas de "<>", ALTgr
  - simuler les ports d'expansions du CPC
  - charger directement les disquettes de CPC
  - charger directement les cassettes de CPC (par le port-imprimante
    ou la carte Soundblaster)
  - transfrer toute l'image de la disquette avec l'adaptateur parallle
  - contrle du volume pour la Soundblaster
  - son amlior (peut-tre avec production de bruit)
  - mulation digiblaster
  - touches du joystick slectionnables
  - utiliser la souris comme un joystick
  - auto dtection de .SNA et .DSK
  - muler le port d'expansion


  Peut-tre cela ne sera-t-il jamais ralis, car j'ai mon mmoire  crire
  en priorit, et a me donne beaucoup de travail...



6.6  Remerciements
==================

  - Remerciements particuliers  Juergen Weber, non seulement pour ses
    suggestions, mais spcialement pour l'mulation rapide du Z80 faite 
    avec son mulateur CP/M ZSIM.

                Juergen G. Weber
                Wiesentalstrasse 1
                74523 Schwaebisch Hall
                Federal Republic of Germany

                email: weberj@dia.informatik.uni-stuttgart.de


  - Egalement merci  Bernd Schmidt. Parce que Bernd a crit son propre
    mulateur, nous avons eu les mmes problmes en mme temps. Vous ne
    pouvez imaginer ce que cela reprsente, et combien de dtails posent
    problme, que si vous avez essay d'crire vous-mme un mulateur.
    Aucune documentation sur le CPC n'est disponible, qui en donnerait 
    toutes les caractristiques : des parties entires du comportement du 
    CPC n'ont t dtectes que par l'exprimentation sur cet ordinateur.
    
  - Merci  Emmanuel Roussin pour son engagement infatiguable envers le
    CPC. Il a fait l'essentiel pour la cration du "newsgroup", et m'a
    prt sa Multiface II pendant des mois, pour que je puisse l'inclure
    dans l'mulateur d'une faon ou d'une autre.
    
  - Merci  Arnt Gulbrandsen pour son source JPP, o j'ai trouv des ides
    pour le pilote du clavier et la routine du joystick. En fait, JPP est
    un trs bon mulateur de Spectrum.

  - Merci  Martin Zacho de m'avoir fourni une routine pour le joystick.

  - Merci  Fernando J. Echevarrieta Fernandez pour avoir remarqu le
    premier que la version v0.8 n'mulait pas un CPC 664.

  - Merci  Gilles Molinari pour son programme de transfert par l'adaptateur
    parallle.

  - Merci  Paul Martin d'avoir corrig la documentation anglaise de la
    version 1.0.

  - Merci  Mark Haigh-Hutchinson pour son engagement de faire des programmes
     partir du domaine public de la compagnie Vortex
    (mhh@lucasarts.com).

  - Merci  Martin Young pour ses minentes ides  propos de l'mulation
    du Z80.

  - Merci  Linh Hsiesh pour ses nombreuses ides d'amlioration, dont 
    beaucoup ont t adoptes.

  - Merci  Fred Harris d'avoir crit  AMSTRAD  propos des ROMs.

  - Merci  Amstrad, spcialement  Cliff Lawson, pour m'avoir autoris 
     distribuer la ROM Basic. Amstrad possde toujours le copyright.

        Amstrad plc, Brentwood House,
        169 Kings Road, Brentwood,
        Essex CM14 4EF

  - Merci  Richard Clayton, de Locomotive, pour m'avoir permis de
    distribuer la ROM Firmware. Locomotive possde toujours le copyright.

  - Et merci  tous les nombreux utilisateurs pour m'avoir envoy des
    suggestions ou des ides. Sans eux, CPCEMU aurait difficilement atteint
    la version 1.0.





6.7  Marques dposes
=====================

  CP/M, CP/M 2.2 et DRDOS sont des marques dposes de Digital Research.
  MS-DOS est une marque dpose de Microsoft.
  IBM PC, PC-XT, PC-AT et OS/2 sont des marques dposes de International
  Business Machines.
  CPC, AMSDOS par Amstrad,
  BORLAND C, TASM (Turbo Assembler) par Borland,
  22DISK par SYDEX,
  Soundblaster par Creative Labs.





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


7.  Information interne sur CPCEMU



Ce chapitre fournit quelque information d'arrire-plan et rpond  la
question : "POURQUOI devrais-je faire ceci ou cela maintenant ?"

Le puissant menu de dboguage est aussi crit. Vous trouverez galement
la structure des images de disquettes et des fichiers de snapshots.

Cette information n'est pas destine  ceux des utilisateurs de CPCEMU 
qui n'ont aucune connaissance de ce que contient un CPC. Peut-tre,
pourtant, leur sera-t-elle utile un jour.

J'ai plac cette information  la fin, et mme aprs les marques dposes,
avec l'intention de montrer sa "relative insignifiance".

Si vous n'avez aucun plaisir  lire des phrases inintelligibles et des
informations en dsordre, ne lisez pas plus avant ! Sautez directement
 l'Appendice.



ATTENTION : Vous continuez la lecture  vos propres risques !





7.1  Table des matires du chapitre 7
=====================================

  7.2  Aperu interne des particularits de CPCEMU
    7.2.1  Le Z80 (le microprocesseur)
    7.2.2  Le Gate Array (le "co-processeur")
    7.2.3  Le PAL (Programmable Logic Array)
    7.2.4  Le CRTC 6845 (Cathode Ray Tube Controller : contrleur vido)
    7.2.5  Le PIO 8255 (Programmable Input Output)
    7.2.6  Le PSG AY 3-8912 (Programmable Sound Generator)
    7.2.7  Le FDC 765 (Floppy Disc Controller : contrleur de disquettes)
    7.2.8  L'interface Centronics pour imprimante

  7.3  Le menu Debug
    - Aperu du menu Debug
    - Prliminaires
    - Aperu des commandes
    - Manipulation des registres

  7.4  Gestion de la mmoire
    7.4.1  Encore une fois : la configuration EMS
    7.4.2  Comment opre la commutation de banques ?

  7.5  Modifications de la ROM
    7.5.1  Drivation de la ROM pour la cassette
    7.5.2  Modifications de la ROM AMSDOS

  7.6  Divers
    7.6.1  Encore une fois : le fichier de configuration
    7.6.2  L'adaptateur parallle
       - Sens CPC->PC
       - Sens PC->CPC
    7.6.3  CPCTRANS

  7.7  Structure des fichiers CPCEMU
    7.7.1  Images de disquettes
       - Le bloc d'information Disque
       - Le bloc d'information Piste
    7.7.2  Fichiers Snapshot
    7.7.3  En-tte AMSDOS
    7.7.4  Base de donnes de Pokes

  7.8  Historique interne




7.2  Aperu interne des particularits de CPCEMU
================================================


  A quel point CPCEMU est-il rellement compatible ? Voici les "plus" et
  les "moins".


  7.2.1  Le Z80 (le processeur)
  -----------------------------

  + Toutes les instructions du Z80 sont mules, y compris celles dites
    "illgales".
    Vous avez le choix entre une mulation lente du Z80, crite en C, 
    et une mulation rapide, crite en assembleur par Juergen Weber.
    Avec la technique CO-CPU, chaque instruction du Z80 est mule
    simultanment par les versions lente et rapide, ce qui est trs lent,
    mais, en comparant les registres aprs chaque instruction, bien des 
    erreurs sont dbusques. Evidemment, on n'a fait cela que durant la phase
    de dveloppement du programme.
    Vous pouvez activer l'mulation lente dans le menu Debug.
  + Instructions additionnelles codes "ED FC xx", qui n'existent que sur 
    l'mulateur.
    Au nombre de ces instructions, le "break utilisateur" cod "ED FC FC",  
     traduire par "USER &BCFC".

  - Le temps d'excution des instructions n'est pas exact.


  7.2.2  Le Gate Array (le "co-processeur")
  -----------------------------------------

  + Toutes les 32 couleurs du CPC (27 diffrentes, en fait)
  + Les trois modes d'cran (X x Y x COULEURS) :
        mode 0 = 160x200x16
        mode 1 = 320x200x4
        mode 2 = 640x200x2
  + Commutation de ROM (16K OS, 16K Basic, 16K AMSDOS et ROMs additionnelles)

  - La couleur provoque un scintillement



  7.2.3  Le PAL (Programmable Logic Array)
  ----------------------------------------

  Le PAL est  la mme adresse logique que le Gate Array, mais en est 
  physiquement spar.

  + Commutation de RAM (128 K, jusqu' 576 K) avec mmoire EMS ou 
    conventionnelle.
    Avec de l'EMS mule, les blocs sont localiss par le hardware, de
    sorte que la vitesse est bonne. CPCEMU vous donne une expansion de
    RAM "compatible Dk'Tronics", jusqu' 576 K.

  - Sans EMS, la commutation de RAM est trs lente, puisque les blocs de
    mmoire doivent tre dplacs dans la mmoire du PC. En outre, vous
    avez seulement 128 K de RAM.




  7.2.4  Le CRTC 6845 (Cathode Ray Tube Controller : contrleur vido)
  --------------------------------------------------------------------

  + Base de l'cran et "offset" (dcalage) par scrolling hard.
  + Plusieurs tailles d'cran, de 0x0  80x25, avec les registres 1 et 6.
  + Diffrentes tailles de caractres (1..7) avec le registre 9 du CRTC.
  + Multi-mode (il utilise d'autres registres).

  - L'Overscan n'est pas encore assur.



  7.2.5  Le PIO 8255 (Programmable Input Output)
  ----------------------------------------------

  + Clavier (connect au PSG).
  + Emulation de la VSYNC : un bit mis  1 entre deux interruptions, durant
    un rafrachissement de l'cran. Vous pouvez changer la position.
  + La cassette est trs rapide, une drivation de la ROM permet l'accs 
    tous les fichiers DOS.

  - Le bit de VSYNC est positionn trop longtemps.
  - Les ports cassette ne sont pas muls ; ainsi, beaucoup de programmes
    sur cassette qui accdent directement aux ports ne fonctionnent pas.


  7.2.6  Le PSG AY 3-8912 (Programmable Sound Generator)
  ------------------------------------------------------
  
  + Du son, soit par le haut-parleur du PC (horrible, parce que trois canaux
    sont multiplexs en un seul, et que le volume ne peut pas tre modifi)
    ou sur une carte Soundblaster. Seules la partie Adlib compatible FM est
    utilise.

  - Pas de son numrique, ou alors trop lent.
    Les enveloppes de bruit du PSG n'ont pas d'quivalent sur une carte
    Soundblaster, aussi ne sont-elles pas mules.


  7.2.7  Le FDC 765 (Floppy Disc Controller : contrleur de disquettes)
  --------------------------------------------------------------------

  + Toutes les commandes du FDC ncessaires pour contrler deux lecteurs
    A et B (y compris lire/crire secteur, chercher piste, lire ID-secteur, 
    etc. Ignor : formater piste).
    Formats de disquettes trs souples (jusqu' 18 secteurs par piste).
    Incluant les formats double face, par exemple de VORTEX.

  - Les formats compliqus destins  la protection contre la copie ne
    sont pas reconnus.



  7.2.8  L'interface-imprimante Centronics
  ----------------------------------------

  + Sorties vers l'imprimante sur 8 bits, vers un fichier dfini par PRINTER.




7.3  Le menu Debug
==================

  Le jeu complet des registres du Z80 est affich, et leur contenu peut tre
  modifi.

  Vous pouvez faire un "dump" de la mmoire, la dsassembler ou la modifier. 
  Vous pouvez charger ou sauvegarder des zones de mmoire. Et, le plus 
  intressant : vous pouvez excuter les programmes pas  pas (comme sur
  un vrai dbogueur) !
                                  
  Aperu du menu Debug
  --------------------

  R)un T)race S)tep  A)ssem D)ump I)nput  L)oad saV)e  M)ode  F)ast Q)uit
  AF=0000 BC=0000 DE=0000 HL=0000 IX=0000 IY=0000 SP=0000 PC=0000 IR=0000
  AF'=0000 BC'=0000 DE'=0000 HL'=0000 IFF1=0 IFF2=0 IMD=0  NZ NC PO P
  0000 : 01 89 7F       LD BC,&7F89
  -f->

  La premire ligne affiche les commandes disponibles, sous forme de lettres
  majuscules.
  Les deux lignes suivantes montrent les valeurs contenues dans les registres
  du Z80.
  La suivante dsassemble l'instruction en cours  la position du PC 
  (le Compteur de Programme, pas l'ordinateur !).
  Et la dernire est un "prompt" qui attend votre prochaine entre (le "f" 
  indique que vous tes dans le mode rapide de l'mulation).


  Prliminaires
  -------------

  Les paramtres entre crochets carrs sont optionnels [opt].
  N'utilisez que des valeurs hexadcimales, par exemple <adresse> = 0000-ffff.
  "<ret>" indique que vous tes dans un mode spcial : vous pouvez appuyer
  sur <return> pour continuer ; <chane_quelconque><Return> quitte ce mode
  (utilisez par exemple b<return>).
  Les commandes sont des lettres, souvent suivies par une adresse optionnelle.
  Entre la lettre et cette adresse doit figurer un espace ou une tabulation.
  Si la commande est donne sans adresse, c'est celle du PC (voir plus haut !)
  qui est prise par dfaut.
  

  Aperu des commandes
  --------------------

  R)un:
  r [<adresse>] : lance l'mulation  partir de l'adresse du PC ou de
    l'adresse optionnelle que vous donnez.
    Exemples :
    -f-> r      lance l'mulation  partir de l'adresse du PC.
    -f-> r 100  place l'adresse 0x100 dans le PC et lance l'mulation.

  T)race ("trace into"):
  t [<adresse>] : excute uniquement l'instruction affiche.
    Utilisez <return> pour continuer dans ce mode, et ainsi de suite.
    <chane_quelconque><return> revient au mode normal.
    Toutes les commandes pas  pas sont excutes par l'mulation lente
    (mme si "-f->" est affich), parce qu'il n'y a plus de compteur
    dans l'mulation rapide.

  S)tep ("step over"):
  s [<adresse>] : excute la prochaine instruction.
    Ou plutt, toutes les instructions, jusqu' ce que l'adresse du PC 
    soit gale  celle de la prochaine instruction (cas d'un appel de sous- 
    programme). Ce qui peut prendre, comme disait Fernand Raynaud, "un certain
    temps", par exemple aprs un "Ret". Dans ce cas, la touche F10 peut
    aider (comme toujours).
    Toutes les commandes pas  pas sont excutes par l'mulation lente,
    comme dit 11 lignes plus haut.

  A)ssemble (en ralit : dsassemble) :
  a [<adresse>] : dsassemble les 16 instructions suivantes.
    Utilisez <return> pour continuer dans ce mode, et ainsi de suite.
    <chane_quelconque><return> revient au mode normal.

  D)ump:
  d [<adresse>] : affiche un dump en hexa/ASCII des 256 octets suivants,
     partir de l'adresse spcifie ou contenue dans le PC.
    Utilisez <return> pour continuer dans ce mode, et ainsi de suite.
    <chane_quelconque><return> revient au mode normal.

  I)nput (modifiant la mmoire) :
  i [<adresse>] : affiche l'adresse mmoire donne et son contenu, que vous
    pouvez conserver avec <return> ou modifier avec <valeur-hexa><return>.
    Quittez ce mode en donnant un nombre invalide, tel que "-1" : -1<return> .

  L)oad (charger un programme) :
  l [<adresse>]  : attend que vous donniez un nom de fichier, et le charge 
     partir du sous-rpertoire TAPE_PATH (il doit donc s'y trouver !), 
     l'adresse spcifie.
    Un en-tte AMSDOS est reconnu comme tel.
    Si vous appuyez sur <Return> aprs la demande du nom de fichier, le menu 
    de slection de fichier (bien connu) apparat...
    Exemples :
    -f-> l<return> demo<return>         :
        charge le fichier "demo"  l'adresse contenue dans le PC.
    -f-> l a000<Return> monprog<Return>  :
        charge le fichier "monprog"  l'adresse 0xA000.

  saV)e (sauvegarder un programme) :
  v [<adresse>]  : attend que vous lui donniez un nom de fichier, et la 
    longueur de la zone de mmoire  sauvegarder. Cette zone sera
    sauvegarde depuis <adresse> (ou celle contenue dans le PC), en tant
    que fichier binaire, dans le sous-rpertoire TAPE_PATH, avec un
    en-tte AMSDOS.
    Exemple :
    -f-> v<return> demo<return> 4000<return> :
        sauvegarde un fichier "demo" commenant  l'adresse du PC et de 
        longueur 0x4000.

  M)ode (changer le mode d'affichage) :
  m : bascule entre les modes d'affichage : affichage des registres, 
    marche/arrt du dsassemblage de l'instruction.

  F)ast (slection du type d'mulation) :
  f : bascule entre l'mulation rapide du Z80 (dveloppe en assembleur
    par Juergen Weber, et prise par dfaut) et l'mulation lente (crite
    en C).
    Le "prompt" affiche "-f->" pour "fast" (rapide) et "-s->" pour "slow" 
    (lente).
    Les commandes r, s, t se rfrent au type d'mulation slectionn.

  Q)uit (quitter le programme) :
  q : abandonne l'mulateur.


  Manipulation des registres
  --------------------------

  Outre les commandes ci-dessus, vous pouvez modifier le contenu des
  registres du Z80 avec la syntaxe "<registre>=<valeur-hexa>".
  Exemples :
  - af=345        : place 0x0345 dans le registre AF.
  - pc=a000       : rgle le compteur de programme  l'adresse 0xA000.

  Vous pouvez galement crire "<registre><espace><valeur-hexa>".

  Vous pouvez modifier tous les registres affichs c'est--dire AF, BC, DE,
  HL, IX, IY, SP, PC, IR, AF', BC', DE', HL', et aussi IFF1, IFF2 et IMD.





7.4  La gestion de la mmoire
=============================


  7.4.1  Une fois de plus : la configuration EMS
  ----------------------------------------------

    Il vous faut un gestionnaire de mmoire aceptant le standard LIM EMS 4.0. 
    Ce gestionnaire doit fournir des pages EMS tendues dans n'importe quelle 
    rgion de la mmoire, car CPCEMU cherchera 6 pages physiques sur des
    adresses conscutives.

    Si l'emploi de la mmoire EMS est possible, un dcompte de ladite mmoire
    "EMS xxx Bytes ok." apparatra durant l'initialisation.

    Je vous ai conseill, au dbut de cette documentation, d'employer les 
    rglages suivants sous OS/2 :

        EMS_FRAME_LOCATION = auto
        EMS_HIGH_OS_MAP_REGION = 32     (ou davantage)
        EMS_LOW_OS_MAP_REGION = 0       (ou davantage)

    Qu'est-ce que cela signifie ?
    La rgion basse est pour les pages EMS en mmoire conventionnelle.
    Si CPCEMU doit utiliser de telles pages, mettez au moins 6*64K = 384K.

    La rgion haute est pour les pages EMS au-dessus de la limite des 640K, 
    en plus du frame standard de 64K. Mettez au moins 2*16K = 32 K.


    Avec le DOS, je vous ai conseill d'inclure les lignes suivantes dans 
    votre CONFIG.SYS :

        DEVICE=C:\DOS\HIMEM.SYS
        DEVICE=C:\DOS\EMM386.EXE 1024
        ...

    Modifiez le "1024", selon la mmoire dont vous disposez sur votre
    ordinateur.

    Notes :
    EMM386 fournit plusieurs pages additionnelles en mmoire conventionnelle.
    L'adresse minimale peut tre change avec l'option /B=<segment> (par
    dfault, 4000).
    Avec /P<nombre>=<segment>, il est possible de changer les segments des
    pages physiques.




  7.4.2  Comment s'effectue la commutation de banques ?
  -----------------------------------------------------

    La commutation de banques se pratique sur les ordinateurs "familiaux"
    qui ont de la RAM et de la ROM  la mme adresse. 
    Ainsi, les lectures se font en ROM, et les critures en RAM. Les CPCs
    464 et 664 d'Amstrad ont 64K de RAM, une ROM de 16K aux adresses
    (hexa) 0-3fff, et une seconde aux adresses c000-ffff :

        0 RAM 0000-3fff
        1 RAM 4000-7fff
        2 RAM 8000-bfff
        4 RAM c000-ffff
        L ROM 0000-3fff
        U ROM c000-ffff

    L'ide principal pour CPCEMU est d'avoir des segments et offsets
    diffrents pour la lecture et l'criture. Pour chaque accs en lecture,
    un offset de lecture est additionn  l'adresse dsire, et on fait
    de mme avec un offset d'criture.

                        tat 0                   tat 1

        bloc 5   M       L   c                W  0       <
        bloc 4   M    W  C   c                W  C   c    | commute au
        bloc 3   M    W  8 b c                W  8 a c    | changement
        bloc 2   M    W  4 b c                W  4 a c    | d'tat
        bloc 1   M    W  0 b                     L a c   <
        bloc 0   M       U b                     U a


    (M = mmoire conventionnelle, ou pages physiques EMS)

    a = ROM basse active,    ROM haute active
    b = ROM basse dsactive, ROM haute active
    c = ROM basse active,    ROM haute dsactive
    W = ROM basse dsactive, ROM haute dsactive

    Pour basculer entre les deux tats, les blocs "0" et "L" doivent
    tre commuts. Pour la commutation des banques de RAM, un nouveau
    bloc "0" doit tre commut avec l'ancien. 
    La slection de ROM est accomplie en copiant la nouvelle ROM vers le
    bloc "U".

    Avec la mmoire EMS, toutes les commutations de banques sont faites
    par le matriel EMS (ou son mulation). Cela augmente la vitesse
    de l'mulation en Basic et avec CP/M Plus. 
    Maintenant, vous comprenez pourquoi 6 pages physiques EMS conscutives
    sont ncessaires : le frame standard avec 4 pages est insuffisant.





7.5  Modifications de la ROM
============================


  7.5.1  Drivation de la ROM pour la cassette
  --------------------------------------------

    Aprs la commande "|TAPE", ou si la ROM de l'AMSDOS est dsactive,
    c'est la cassette qui est active. Les accs-cassette avec CPCEMU
    sont transforms en accs  un fichier dans un simple sous-rpertoire.
    Cette redirection est accomplie par une drivation de la ROM. 
    Avec "TAPE_BYPASS=YES", vous activez la drivation des vecteurs-cassette 
    en ROM.

    Si CPCEMU trouve une ROM connue de CPC 464/664/6128, elle est modifie
    en consquence. La drivation est ncessaire si vous voulez employer la 
    cassette.

    Des instructions spciales sont implantes dans l'mulation du Z80. 
    Elles appellent des fonctions spciales qui ne sont fournies que par
    l'mulateur ; elles ont t entres directement en ROM, mais il est
    toujours possible de modifier les vecteurs en RAM.

    Les instructions suivantes sont disponibles :
    ED FC xx  USER &BCxx    (valide seulement pour quelques vecteurs en RAM)
    Equivaut  une instruction CALL vers une des fonctions internes.
    Les valeurs suivantes pour xx sont lgales :
        65      :       CASSETTE INIT (BC65)
        77      :       CASSETTE IN OPEN (BC77)
        7A      :       CASSETTE IN CLOSE
        7D      :       CASSETTE IN ABANDON
        80      :       CASSETTE IN CHAR
        83      :       CASSETTE IN DIRECT
        86      :       CASSETTE RETURN
        89      :       CASSETTE TEST EOF
        8C      :       CASSETTE OUT OPEN
        8F      :       CASSETTE OUT CLOSE
        92      :       CASSETTE OUT ABANDON
        95      :       CASSETTE OUT CHAR
        98      :       CASSETTE OUT DIRECT
        9B      :       CASSETTE CATALOG

    En outre, vous pouvez employer le "break utilisateur" cod ED FC FC  
    (USER &BCFC) : il stoppe immdiatement l'mulation.



  7.5.2  Modifications de la ROM de l'AMSDOS
  ------------------------------------------

    - Avec "DISABLE_ADOS=YES" dans le fichier de configuration, vous faites
      "oublier" l'initialisation de l'AMSDOS.

      Dans ce cas, la modification des vecteurs-cassette, effectue par 
      l'AMSDOS lorsqu'on ordonne "|TAPE", est dsactive (ainsi, les
      vecteurs-cassette pointent toujours sur la cassette, bien que la
      ROM de l'AMSDOS ait t initialise). C'est ncessaire si vous dsirez
      continuer  charger des fichiers  partir de la cassette aprs un
      reset-disc, mais sans avoir  donner la commande "|TAPE" auparavant
      (bidouille ralise avec "poke &CCF2,&18: poke &CCF3,&05" dans la
      ROM de l'AMSDOS).

      Les instructions de secteur ne sont pas affectes, elles adressent 
      toujours la disquette.

    - "DISC_SPEEDUP=YES" active une modification de l'AMSDOS, laquelle
      minimise le dlai d'attente du moteur du lecteur de disquettes, 
      afin de rendre plus rapides les accs-disque (ici, tout est fait
      par le DOS, on n'a donc pas besoin de dlai d'attente).
      Pour y parvenir, on a modifi les octets suivants, toujours dans
      la ROM de l'AMSDOS :
          poke &C5D4,&01  :'dlai pour le moteur
          poke &C5D8,&01  :'dlai pour le formatage d'une piste
          poke &C5D9,&01  :'court dlai
          poke &C5DA,&01  :'court dlai
          poke &C602,&01  :'1 seul "Retry" en cas d'erreur
          poke &C784,&01  :'recherche rapide
          poke &C7E2,&01  :'recherche rapide




7.6  Divers
===========



  7.6.1  Une fois de plus: le fichier de configuration
  ----------------------------------------------------

    Peut-tre vous souvenez-vous que les commentaires commencent par
    un point-virgule ";" et peuvent prendre place  n'importe quel endroit
    d'une ligne : le reste de la ligne est alors ignore.

    Les espaces, tabulations, sauts de ligne et ";" sont des dlimiteurs,
    et peu importe combien vous en utilisez.

    Beaucoup de dfinitions ont la forme syntaxique :

                 <mot-cl> = <valeur> {T}

    {T} est une squence d'au moins un dlimiteur.
    Exemple :    ROM_PATH = .\ROM

    <nombre> peut tre donn en dcimal, hexadcimal (avec le prfixe 0x) 
    ou binaire (%).
    <chemin> peut avoir une longueur de 80 caractres et <fichier> jusqu'
    20 caractres.

    Quelques informations supplmentaires pour slectionner le mot-cl :

    BREAK_MASK = <nombre>               (3)

      Rserv au dboguage.
      Certains vnements ("events") interrompent l'mulation normale. 
      Avec ce drapeau, vous pouvez dsactiver ces vnements. A utiliser
      avec prcaution !
      Laissez tous les bits  la mme valeur, sauf ceux concernant les 
      vnements que vous ne voulez pas voir intervenir.
      b2 = 0 -> dsactive l'affichage des erreurs sur les ports 
                (utilisez 0xfffb)
      b3 = 0 -> dsactive les touches de fonction (ainsi, l'mulation 
                ne peut plus tre interrompue ! Utilisez 0xfff7)
      La signification de ces bits pourra changer dans l'avenir !





  7.6.2  L'adaptateur parallle
  -----------------------------

    Voyons d'abord la construction de l'adaptateur, avec la description
    des fonctions de chaque fil :


    PC  D-SUB   Cent.   CPC             Fonction
    --------------------------------    ---------------------------
    GND    19 ---- 19   GND             GND
    BUSY   11 <--- 1    -STROBE         Synchro (Donne disponible)
    -ACK   10 <--- 8    D6              |
    PE     12 <--- 7    D5              | Donnes
    SELECT 13 <--- 6    D4              |
    -ERROR 15 <--- 5    D3              |
    D0      2 ---> 11   BUSY            Synchro (Prt  recevoir)


    Sens CPC->PC
    ------------

    Normalement, l'adaptateur est conu pour fonctionner dans ce sens 
    seulement. Envoyer une donne depuis le CPC quivaut en principe 
     envoyer du texte sur la ligne de l'imprimante.

    Si le PC signale "Not-BUSY" (non occup), le CPC crit un quartet
    (4 bit d'un octet) sur le port, positionne STROBE pour signaler que 
    la donne est l, et l'efface ensuite.

    Ainsi, le PC a seulement besoin d'effacer le signal BUSY (par la
    ligne D0), d'attendre le STROBE (sa ligne BUSY), prendre le quartet 
    (sur les lignes d'entre imprimante->PC), et positionner BUSY.

    Question : pourquoi scinder l'octet en deux quartets ? Pourquoi
    ne pas envoyer les 8 bits en une seule fois ?
    Rponse :
    1. Le port imprimante du PC doit tre reprogramm en entre, et je
       ne suis pas sr que c'est possible sur tous les PCs    
       et
    2. Le CPC n'a que 7 bits sur sa sortie imprimante (sauf le 6138 Plus).


    Sens PC->CPC
    ------------

    J'ai pens un jour  la possibilit d'envoyer des donnes dans l'autre 
    sens. Malheureusement, le CPC n'a qu'une seule ligne (un seul bit) en
    entre sur le port-imprimante : le signal BUSY.

    Aussi, cela n'amliorerait pas la situation si vous tentiez de
    concevoir un meilleur adaptateur pour ce sens. Ainsi, faites avec ce
    que vous avez dj, et tentez plutt d'amliorer le protocole de
    transfert.

    Une interface srie, galement, n'a qu'une ligne pour chaque sens.
    Mais elle utilise une synchronisation matrielle, habituellement avec
    un quartz, et les deux cts doivent employer exactement la mme vitesse 
    de transmission, par exemple 1200 bauds.

    Il est difficile de raliser cela avec seulement un logiciel. Que
    faire alors ? L'ide principale consiste  utiliser l'avantage de la
    vitesse du PC sur le CPC. Chaque octet est partag en 8 bits, et
    transmis en srie, le PC devant se charger de positionner le signal
    BUSY au rythme voulu. Durant la transmission de ces 8 bits, le CPC
    fournit sa vitesse maximale, et le PC doit se rgler sur lui. Le CPC
    crit un "bit de requte" avec une instruction en assembleur, et le
    PC doit ragir rapidement en positionnant le signal BUSY en
    concordance avec le bit suivant, puisque, avec l'instruction
    "suivante-moins-une" (?), le CPC le lira.

    Afin de ne pas dsactiver les interruptions pendant tout le transfert,
    pour chaque octet, une "connexion" est tablie : le CPC dit "Envoie-moi
    quelque chose !", et le PC rpond "D'accord, j'attends jusqu' ce que tu
    sois prt  le recevoir !" en basculant le signal BUSY.
    Tout le processus est protg par un timer, pour viter qu'aucun des
    deux partenaires n'aille se planter en attendant un signal qui n'a
    jamais t envoy.
    Ainsi (puisque les interruptions ne sont pas dsactives), vous pouvez
    sortir du programme avec <ESC> ou <CRTC>+<BREAK>  tout moment.
    



  7.6.3  CPCTRANS
  ---------------

    Une autre option non mentionne,  propos de CPCTRANS, est "/d 0" 
    ou "/d 1". Avec 1, le mode double-pas spcial est slectionn, et, 
    sur les lecteurs de disquettes 80 pistes, chaque seconde piste est
    saute lorsqu'on travaille avec des disquettes de 40 pistes.

    Cette option ne devrait pas tre ncessaire, puisque CPCTRANS commute
    automatiquement en double-pas quand il dtecte une disquette 5,25 pouces
    et 360 K.
    
    Normalement, il est trs simple de lire et d'crire des secteurs en
    utilisant le BIOS. Mais le BIOS ne peut pas grer les faces B des
    disquettes avec une marque de tte gale  0.

    Aussi ai-je programm moi-mme les fonctions du FDC, avec l'aide de
    la source MINIX. Malheureusement, cette source MINIX contient des 
    erreurs, et le "timing" de certaines sections critiques est effectu
    par de simples boucles d'attente qui ont peut-tre t prvues pour 
    un 8086.




7.7  Structure des fichiers CPCEMU
==================================


  7.7.1  Images de disquettes
  ---------------------------

    Ces fichiers se composent d'un bloc de 256 octets d'infos sur la
    disquette, et, pour chaque piste, d'un bloc de 256 octets d'infos
    sur la piste, suivi par les donnes pour chaque secteur de chaque piste.

    Le bloc d'Information Disquette
    -------------------------------
    Octet (hexa) :  Signification :
    00 - 21         MV - CPCEMU Disk-File\r\nDisk-Info\r\n
                    ("MV - CPC" pour la reconnaissance du fichier)
    22 - 2F         inutilis (0)
    30              nombre de pistes (40, 42, peut-tre 80)
    31              nombre de ttes (1 ou 2)
    32 - 33         taille d'une piste (incluant 256 octets d'info-piste)
                    Avec 9 secteurs * 512 octets + 256 octets d'info-piste
                    = 0x1300.
    34 - FF         inutilis (0)

    Le bloc d'Information Piste (pour chaque piste)
    -----------------------------------------------
    Octet (hexa) :  Signification :
    00 - 0C         Track-Info\r\n
    0D - 0F         inutilis (0)
    10              numro de piste (de 0  "nombre de pistes - 1")

    11              numro de tte (0 ou 1)
    12 - 13         inutilis (0)
    Paramtres de formatage de piste :
    14              BPS (octets par secteur) (2 pour 512 octets)
    15              SPT (secteurs par piste) (9, jusqu' 18)
    16              GAP#3 de formatage (0x4E)
    17              Octet de remplissage (pendant le formatage, 0xE5)
    Info secteur (pour chaque secteur) :
    18+i            numro de piste  \
    19+i            numro de tte    | information ID de secteur
    1A+i            numro de secteur |
    1B+i            BPS              /
    1C+i            tat 1, code d'erreur (0)
    1D+i            tat 2, code d'erreur (0)
    1E+i , 1F+i     inutilis (0)

    Notes :
    Les donnes enregistres sur le secteur doivent suivre le bloc
    d'Information-Piste dans l'ordre des IDs de secteur. Aucune piste,
    aucun secteur ne doit tre omis. 
    Avec les format double face, les pistes alternent, par exemple :
    piste 0 tte 0, piste 0 tte 1, piste 1 tte 0, etc.
    Employez CPCTRANS pour copier des disquettes CPC vers ce format.



  7.7.2  Fichiers Snapshots
  -------------------------

    Les fichiers snapshots se composent d'un en-tte de 256 octets,
    suivi d'un dump de la mmoire.

    L'en-tte Snapshot :
    Octet (hexa) :  Signification :
    00 - 07         "MV - SNA" (pour reconnatre ce type de fichier)
    08 - 0F         inutilis (0)
    10              version de snapshot (2, auparavant 1)
    11 - 1A         registres du Z80 AF, BC, DE, HL, R, I
    1B - 1C         drapeaux du Z80 IFF0, IFF1 (0=dsactiv, 1=activ)
    1D - 24         registres du Z80 IX, IY, SP, PC
    25              mode d'interruption IMD du Z80 (0 - 2)
    26 - 2D         registres du Z80 AF', BC', DE', HL'
    2E              Gate Array : registre du numro d'encre
    2F - 3F         Gate Array : registre de valeur d'encre (0, 1,..., 15, 16)
    40              Gate Array : registre multi-configuration
    41              Gate Array : registre configuration de la RAM
    42              CRTC : registre d'adresse
    43 - 54         CRTC : registre de donnes (0, 1, ..., 17)
    55              numro de ROM haute
    56 - 59         PIO : port A, port B, port C, port de contrle
    5A              PSG : registre d'adresse
    5B - 6A         PSG : registre de donnes (0, 1, ..., 15)
    6B - 6C         taille du dump de la mmoire (64K ou 128K)
    (les paramtres suivants n'existent que depuis la version 2.0)
    6D              type de CPC o le snapshot a t gnr
                    (0=CPC 464, 1=CPC 664, 2=CPC 6128, 3=inconnu)
    6E              numro d'interruption (0..5), la dernire interruption
                    durant un cycle de rafrachissement de l'cran.
    6F - 74         6 octets de multi-mode : le mode d'cran (0..2) pour
                    les interruptions 0..5.
    75 - FF         inutilis (0), peut-tre plus tard pour la configuration
                    de l'mulateur





  7.7.3  En-tte AMSDOS
  ---------------------

    Octet (hexa) :  Signification :
    00              numro d'user (0 ; valeurs possible : 0-15)
    01 - 0F         nom + extension (zros de remplissage le cas chant)
    10              numro de bloc (0)
    11              drapeau "dernier bloc" (0)
    12              type de fichier (0=Basic, 1=Basic protg, 2=binaire,
                    etc.)
    13 - 14         longueur de bloc (0)
    15 - 16         adresse de chargement (0-FFFF)
    17              drapeau "premier bloc" (0)
    18 - 19         longueur logique (0-FFFF)
    1A - 1B         adresse du point d'entre (0-FFFF)
    1C - 3F         libres pour l'utilisateur (0)
    40 - 42         longueur relle du fichier (1-FFFFFF)
    43 - 44         somme de contrle des octets 00-42
    45 - 7F         inutilis (valeurs alatoires venant du tampon secteur)

    Note :
    Un en-tte prcde tout fichier non-ASCII. Il est identifi comme tel
    en calculant la somme de contrle.

    Les octets 00-3F ont pour origine la "zone cassette", o les fichiers 
    taient diviss en blocs.
    Les octets 12, 15-16, 1A-1B, 40-42, 43-44 sont ncessaires.


  7.7.4  Base de donnes de Pokes
  -------------------------------

  Une entre (une ligne) consiste en 7 rubriques, chacune tant limite
  par des guillemets, et spares par des virgules.

  1. numro de rubrique (1 caractre, 0-F) : la premire a le numro 0
     et peut tre slectionne. Si un programme ncessite plus d'un poke, 
     les entres suivantes ont les numros 1, 2, etc.

  2. Nom du programme (jusqu' 20 caractres).

  3. Description (jusqu' 20 caractres).

  4. Type (1 caractre) : "t"=Tape (cassette), "d"=disquette, "a"=all (tous). 
     Ignor en gnral.

  5. Adresse du poke (4 caractres, hexadcimal) : donne l'adressse en
     mmoire dont le contenu doit tre modifi.

  6. Valeur  "poker" (2 caractres, hexadcimal ou "??") : si c'est "??",
     vous devrez fournir vous-mme la valeur, pas exemple un nombre de vies.

  7. Ancienne valeur,  modifier (2 caractres, hexadcimal ou "??") :
     permet de vrifier si le poke modifie l'environnement correct. Si la 
     valeur trouve  l'adresse du poke diffre de cette ancienne valeur, 
     un avertissement est affich. Il n'y a pas de vrification avec "??". 

  Exemple :
    "0","Devils Crown","inf oxygen","t","863b","00","??"
    "1","","","t","863c","00","??"
    "2","","","t","863d","00","??"

    Il y a trois pokes pour le programme "Devils Crown", tous fonctionnant
    ensemble. Les anciennes valeurs sont inconnues, donc on a mentionn "??".
    Vous pouvez omettre le nom et la description dans les entres qui suivent.





7.8  Historique interne
=======================


  Z80EMU (seulement un Z80, beaucoup moins qu'un CPC)
  ---------------------------------------------------

  - v1.0 (1991) :
    Premire version en Pascal (uniquement une mulation de Z80).
  
  - v1.2 (12.8.1992 - 16.8.1992) :
    Premire version en C (traduite avec TPTC).
    Problmes Z80 : ADD HL..., DAA, LDIR positionne de faon incorrecte
    le drapeau P. BIT... positionne de faon incorrecte le drapeau Z.
    Les instructions de rotation positionnent de faon incorrecte les 
    drapeaux Z et S. On peut  prsent employer les ROMs.
  
  - v1.3 (18.8.1992) :
    Mauvais adressage de port : octet faible incorrect. 
    Nouvelle gestion de la mmoire avec 128 K de RAM, 32 K de ROM.
  
  - v2.0 (18.8.1992 - 22.8.1992) :
    Implantation de la technique CO-CPU pour trouver les erreurs (CO-CPU 
    utilise de la mmoire spare, et n'est active que dans un mode de 
    dboguage spcial). 
    Problmes Z80 : AND... positionne de faon incorrecte le drapeau H. 
    CPI... positionne de faon incorrecte le drapeau N. 
    A l'origine, l'cran tait seulement en noir et blanc,  prsent il est 
    bleu et jaune comme sur un vrai CPC.
  
  - v2.1 (25.8.1992 - 27.8.1992) :
    Emulation de tous les PENs et de toutes les couleurs, dans tous les 
    modes. 
    Ecriture seulement sur l'cran actif (celui que vous voyez).
    CO-CPU a trouv une erreur : toutes les instructions contenant
    (IX+zz) avec un dplacement ngatif taient fausses ! J'avais oubli
    de prendre en compte les octets "signs".
  
  - v2.2 (30.8.1992 - 3.9.1992) :
    Nouvelle routine pour le clavier.
    Palette fixe, sans clignotement (attente pour HSYNC).
    "Need-ROM" avec COPYMATE introduite.
  
  - v2.3 (15.9.1992 - 19.9.1992) :
    Emulation du FDC pour "charger/sauver secteur". 
    CO-CPU a trouv une erreur : LD XH,... tait LD H,...
  
  - v2.3b (19.9.1992) :
    Fait le rafrachissement de l'image seulement si l'cran est en RAM,
    blocs 0..3 (et non 4..7).
    Fait de "port FCxx" un alias pour FBxx (pour CP/M Plus). 
    A ce moment, je ne savais pas que OUTI... prdcrmentait le registre B.
  
  - v2.4 test (25.10.1992) :
    Emulation du registre seulement si on le dsire (avec "DEFINE").
    A prsent, rafrachissement de l'cran  chaque interruption "n", et non 
    pour chaque octet crit en mmoire (toujours trs lent, parce que tout 
    est crit en C).
    Nouvelle gestion de la mmoire, avec les blocs aligns sur les segments.
  
  - v2.5 test (31.10.1992) :
    Chang la gestion de la mmoire. Scolling "hard" et diffrentes tailles 
    d'cran possibles.
  
  - v2.6 test (5.11.1992) :
    Nouveau gestionnaire du clavier, de Arnt Gulbrandsen : toutes les
    combinaisons de touches possibles. 
    Rafrachissement de l'cran en assembleur.
  
  - v2.7 test :
    Essay, sans succs, d'inclure l'mulation rapide du Z80 due  Juergen 
    Weber.
  
  - v2.8 :
    Rafrachissement de l'cran amlior : seules les zones modifies en 
    mmoire-cran sont modifies  l'cran. 
  
  - v2.9 :
    Utilisation du timer du PC pour gnrer les interruptions sur 300 Hertz. 
    L'mulation rapide fonctionne seulement si on n'a besoin d'aucune ROM
    (commutation de banques).

  CPCEMU (un CPC,  prsent)
  --------------------------
  - v0.2 (23.12.1992), succdant  Z80EMU v2.9 :
    Aprs presque quatre heures d'analyse avec Turbo Debugger, j'ai trouv 
    l'erreur qui plantait l'mulation rapide : PUSH ES au lieu de PUSH DS.
  
  - v0.3 (28.12.1992 - 29.12.1992) :
    Positionn le drapeau N pour INI, OUTI. 
    CPI en mulation rapide positionnait mal les drapeaux. 
    RL (HL) utilisait le segment de lecture (dans DS) au lieu du segment 
    d'criture (dans ES). 
    LD A,R produit  prsent des nombres alatoires.
    Implant toutes les routines-cassette (mais CASSETTE IN CHAR est fausse).
  
  - v0.4 (1.1.1993) :
    IN A,(n) : A sur les bits b8..b15 (au lieu de B).
    Configuration de la RAM 0xC3 : corrige vers 0,3,2,7 (pour CP/M Plus). 
    KC-Compact (un compatible CPC de l'ancienne Allemagne de l'Est) utilise
    le port EE00 - EE3D, mais pour quoi faire ?
  
  - v0.5 (28.1.1993 - 8.2.1993) :
    INIR,... : l'incrmentation du registre R dpend de B, pas de BC. 
    CASSETTE IN CHAR corrige ("patch" dfectueux pour CPC 6128).
  
  - v0.6 (23.3.1993 - 24.5.1993) :
    Quelqu'un me fait savoir que les instructions OUTI prdcrmentent 
    le registre B !
    Compilation des parties en C vers le code 386 (avec Borland C++ v3.1). 
    Les images de disquettes ont le suffixe "DSK". 
    CPCREAD.PAS corrig (tte non initialise avec 0) et renomm CPCREAD.C.
    Adressage de port du PIO amlior (le microprocesseur peut lire mme si
    le port est programm en sortie, etc..)
  
  - v0.7 (26.7.1993 - 29.8.1993) (pas sortie) :
    Source totalement nouvelle, modulaire, etc.  
    Fichier de configuration : davantage de ROMs possible. 
    Chang le nom de la firme de "Schneider" en "Amstrad" (on peut choisir
    entre sept noms).
    Enlev l'erreur de commutation de banques-RAM.
    Nouvelle documentation en allemand.
  
  - v0.8 (30.8.1993 - 9.9.1993) :
    Emulation lente : instructions de parit amliores en utilisant une 
    table, pas seulement pour la parit.
    Z80 : ED xx avec "xx" illgal est ignor. 
    Nouvelle documentation en anglais.
  
  - v0.8a (10.9.1993 - 15.9.1993) :
    Erreur fatale dans l'mulation rapide : si une instruction DD CB xx 
    est excute et qu'une interruption survient, l'instruction est ignore !
  
  - v0.8b (16.9.1993 - 21.9.1993) :
    Implant une "vraie" VSYNC, si VSYNC_CT = 0. 
    Corrig le problme du port A du PIO : OUT &F400,xx avec le Port A en
    mode entre tait ignor. 
    Nouvelle routine pour le joystick par Martin Zacho.
  
  - v0.8c (22.9.1993 - 13.12.1993) :
    Vrifi la documentation avec "ispell". 
    L'mulation ne dmarre pas si "USE_JOYSTICK=YES" et si un joystick 
    n'tait pas prsent (PUSH AX  la mauvaise position). 
    Emulation lente : DAA corrige (les parenthses manquaient depuis la
    version v0.8). 
    Mauvaise modification dans la routine d'interruption pour le CPC 664. 
    Remplacer EI par NOP vite le problme avec EI (active les interruptions 
    une instruction plus tard). Maintenant corrig pour tous les CPCs.
  
  - v0.8d (14.12.1993 - 29.12.1993) :
    Emulation du FDC rcrite pour les formats double face. 
    CPCTRANS remplace l'ancien CPCREAD, et permet de lire les disquettes
    Vortex aprs que vous ayez install 720KB.COM. En plus de cela, vous
    pouvez rcrire les images de disquettes sur la disquette.
    Nouvelle slection de fichiers avec la touche F3. 
    Introduit quelques aliases d'adresses de port, par exemple &7000 - &7f00 
    pour adresser le Gate Array, &0c00, &1c00, &2c00, &3c00, &bc00 pour le
    CRTC.    
    Activ l'mulation du registre R.
  
  - v0.9 alpha (30.12.1993 - 20.1.1994) :
    Mmoire EMS possible avec une configuration spciale EMS/UMB.
    Nombres binaires dans le fichier de configuration. 
    Corrig l'adressage de la commutation des banques de RAM : l'mulateur
    acceptait &d0-&ff comme &c0-&c7. 
    A prsent, jusqu' 576 K de RAM avec EMS.
  
  - v0.9b (21.1.1994 - 31.1.1994) :
    Utilisation de EMS simplifie avec EMS tendue (ou LIM EMS 4.0), avec 
    plus de 4 pages physiques EMS. 
    Slection de fichiers ajoute aux options "l" (menu Debug) et RUN".
  
  - v0.9c (1.2.1994 - 29.4.1994) :
    Du son, mais horrible, sur le haut-parleur du PC (dsactiv avec F4).
    Slection de fichiers aussi avec l'option "v" du menu Debug.
    Documentation anglaise corrige.
    Son avec la carte Soundblaster (peut tre amlior).
    Nouveau CPCTRANS avec paramtres sur la ligne de commande. 
    Accs direct au FDC.
    Adaptateur parallle test, et le logiciel qui va avec, amlior.
    Emulation rapide du Z80 : INC (HL), DEC (HL), INC (IX+n), DEC (IX+n) 
    pour la RAM au-dessous de la ROM, corrige. 
    <PgPrc>,<PgSuiv> dplacent les crans agrandis.
    Affichage de parties d'overscan.
    Maintenant possible : snapshots de 64 K.
  
  - v0.9d (30.4.1994 - 12.5.1994) :
    Les interruptions durant un DI ne sont pas oublies, et elles ne sont
    plus actives directement aprs une instruction EI. 
    Nouvelles fonctions de couleurs :  prsent sans "neige" sous OS/2. 
    Emulation rapide du Z80 : code acclr.
  
  - v1.0 (13.5.1994 - 20.5.1994) :
    Partie cran amliore : diffrentes tailles de caractres, de 1  8. 
    Slection de fichiers ajoute  SAVE" ; ajout une slection rapide en 
    tapant une lettre. 
    Amlior CPCTRANS, avec une option de vrification. 
    Nouveau menu de rglages si on appuie sur F7. Ainsi, on peut dsactiver
    le papillonnement des couleurs.
  
  - v1.0a (21.5.1994 - 9.6.1994) :
    Amlior le menu des rglages avec entre directe ou par les flches
    du curseur. Ajout une possibilit de clavier allemand, et une option
    simple dlai.
    Corrig l'affichage d'crans de taille plus petite (sans parties d'crans 
    plus grands).
    Amlior en partie l'mulation rapide du Z80 : RRA,RLA et autres
    instructions CB xx. 
    Ajout davantage d'instructions illgales (ED xx) : LD D,XH et LD YL,YH 
    manquaient ! 
    Corrig CPDR, CPIR avec BC=0 (0 signifiant 65536 sur un Z80, mais bien 0
    pour le prfixe REPE du 80x86 !). 
    Drapeaux DAA corrigs. 
    Nouveau logiciel pour l'adaptateur parallle :  prsent, il est possible 
    de transmettre vers le CPC. 
    Merci  Bernd Schmidt pour avoir attir mon attention sur le fait qu'une
    interruption ajoute 1 au registre R. Avec son aide, l'mulation du port C 
    du PIO a t amliore.

  - v1.1a (10.6.1994 - ) :
    CPCEMU entre dans une nouvelle re : Amstrad a autoris l'utilisation
    de ses ROMs !
    Changement dans le fichier de configuration : ROM_BLOCKS -> ROM_BLOCK, 
    DISC_BYPASS-> DISABLE_ADOS, plus d'espace ncessaire pour sparer "=". 
    Changement dans la partie son et la partie graphique : taille verticale
    par VGA-CRTC. 
    Le calibrage du joystick se trouve  prsent dans le menu des rglages.
    Amlioration des routines de sauvegarde.
    Partie FDC amliore : maintenant, vous pouvez employer COPYMATE.
    Insertion sans erreur de lecture avec les disquettes au format autre 
    que DATA (sans recherche de la piste 0).
    Un autre dlai d'attente dans CPCTRANS : j'espre que vous n'aurez plus
    besoin du commutateur turbo de votre PC. Formatage d'images de disquettes.
    Corrig une nouvelle fois le port C du PIO : il est effac aprs un
    "OUT &7f00,n".                                            
    Changements importants dans le fichier de configuration :  prsent,
    il comporte une configuration conditionnelle (#IFCPC, #ENDIF). Quelques 
    mots-cls changs (VSYNC_CT -> /, DISC_PATH -> /, SNAP_PATH -> SNAPSHOT, 
    DRV_A -> DRIVE_A, DRV_B -> DRIVE_B). 
    Chargement de programmes depuis une archive ZIP, ncessitant PKUNZIP.

  - v1.1b (17.8.1994 - 2.9.1994) :
    Multi-mode introduit, ce qui signifie diffrents modes le mme cran. 
    Le rafrachissement de l'cran est partitionn jusqu' six zones, et
    chacune est rafrachie quand une interruption survient (peut tre 
    amlior).
    Possible maintenant : snapshots de 128K, tendus pour multi-mode. 
    CPCPARA amlior : on peut maintenant transfrer les fichiers binaires
    avec un en-tte. 
    Dtection du CPC 6128 Plus incluse.
    Davantage d'aliases de ports.

  - v1.2 (3.9.1994 - ) :
    Principalement, quelques changements dans le menu d'aide.

  - v1.2a (27.9.1994 - ) : tait disponible dans UPD12A.ZIP :
    Slection de fichiers : seuls les lecteurs disponibles taient affichs.
    Et : avec le pilote ANSI.SYS, le fond du texte tait noir.
    TMP_PATH : vous pouvez spcifier un lecteur, sans chemin.
    DOS Shell (F7) : CPCEMU est d'abord permut vers XMS, EMS ou le disque 
    dur, ainsi vous disposez de plus de mmoire dans le shell du DOS
    (cette particularit vient du programme du domaine public SWAP300.ZIP, 
    de Marty Del Vecchio).
    Le rafrachissement de l'cran pouvait tre corrompu, si la largeur de
    l'cran n'tait pas divisible par 4.
    Une autre version de CPCEMU est encore plus rapide : C2.EXE. Elle
    utilise une gestion diffrente de la mmoire, avec deux frames EMS de
    64 K chacune. Mais elle ne tourne qu'avec EMS.
    Les ROMs sont aussi "(c) by Locomotive Software", pas seulement Amstrad.

  - v1.2b (  ) :
    Il n'y avait pas de son stro sur une carte Soundblaster Pro, mme si 
    la configuration l'affirmait. Si aucune carte Soundblaster n'tait 
    trouve, il n'y avait pas de son du tout jusqu' ce que vous utilisiez 
    USE_SB=NO.
    Z80 rapide : remplac l'accs  un mot par l'accs  un octet. C'est 
    un peu plus lent, mais on ne plante plus l'ordinateur chaque fois qu'on 
    accde  un mot  l'adresse 0xffff. Egalement, problme corrig avec 
    "EI HALT DI" : l'adresse o HALT tait "PUSH" au lieu de celle de DI.
    Corrig la documentation anglaise.
    Amlior CPCPARA et PCPARA v1.1 : test de l'adaptateur, vitesse plus 
    grande de CPC vers PC (approximativement 1600 octets par seconde lors 
    de la lecture sur la disquette, avec un 486/66), statistiques. Ainsi, 
    vous pouvez transfrer 16 K en 10 secondes ! Merci  Klaus Weber pour 
    m'avoir fait remarquer qu'avant, c'tait beaucoup trop long. Dans PCPARA, 
    il y avait un DELAY(1) aprs chaque quartet, pour attendre une 
    milliseconde, et ce n'tait pas ncessaire.

  - v1.2c (28.2.1995 - ) : tait disponible dans UPD12C.ZIP :
    Parties de CPCEMU rcrites en C++. Cela permet des fonctions "inline" 
    et des interfaces amliores, pour garder un meilleur aperu sur le
    projet.
                      - v1.2d (16.3.1995 - ), rserve aux correspondants :
    Z80 rapide : changements internes, invisibles  l'utilisateur, sauf une 
    petite amlioration de la vitesse. Toutes les donnes sont gardes dans
    le segment de donnes,  prsent, au lieu du segment de code.
    Introduit finalement le mode absolument ncessaire pour les ordinateurs
    rapides : le "realtime CPC" (vitesse relle du CPC,  slectionner dans
    le menu des rglages ou avec REALTIME=YES).

  - v1.3 (16.4.1995 - ) :
    Base de donnes de POKEs pour les jeux.
    Documentation sommaire en franais.
    Commandes pour le FDC (reformater des images de disquettes  la mme
    taille).
    Nouveau systme de menu acceptant la souris (MOUSE=YES).
    Insertion d'images de disquettes avec l'attribut DOS "read-only", et qui 
    conservent cet attribut.
    Menu Debug : ajout l'option "find".

  - v1.3a (30.4.1995 - )        (disponible sous le nom UPD13A.ZIP)
    Avec la version 1.3, Boulder Dash ne fonctionnait plus, mme s'il le
    faisait avec la version 1.2
    Le mode d'interruption 2 du Z80 n'tait pas mul correctement.
    (PUSH/POP oubli). L'mulation lente Z80 avait un bug similaire.
    CPCTRANS: Option -f 6 disponible.

  - v1.3b (20.5.1995 - )        (disponible sous le nom UPD13B.ZIP)
    Certains utilisateurs ont mentionn qu'il n'y avait plus de son
    soundblaster depuis la version 1.3

  - v1.4 (v1.3c)
    Support GUS par Ulrich Doewich; systme d'aide en ligne;
    support pour 2 joysticks, modes graphiques VESA pour de meilleures
    rsolutions;
    menu de configuration et fichier de configuration amliors;
    configuration du chargement et de la sauvegarde ajout au menu de
    configuration;
    routines du FDC (contrleur disque) amliores pour des formats non
    standard
    nouveau SNA2GIF (v1.1)





  CPCEMU est crit en C++ et en assembleur,  l'aide de Borland C 3.1, 
  optimisation 386 et Turbo Assembler. Pour le dboguage, Turbo Debugger
  a t employ.
  Les couleurs ont t composes avec le programme VGAMETER de J. Stephen
  Shattuck, Jr., le CPC tant connect  un tlviseur avec un adaptateur 
  Scart.



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



(A partir d'ici, vous pouvez reprendre votre lecture sans danger.)



Appendice




A.1  Glossaire


Ici, quelques termes relatifs aux ordinateurs sont expliqus. Je ne prtends 
pas donner des dfinitions compltes ou prcises. Les termes sont dcrits du 
point de vue du CPC.
Les rfrences sont marques d'un "".


386/33 (AT 386/33)
  Abrviation pour PC AT avec processeur 80386, cadenc  33 MHz.
  A cause d'une vitesse d'horloge "leve", ce devrait tre un 386DX, 
  avec un vrai bus de donnes sur 32 bits, et non un 386SX bon march
  avec un bus de donnes de 16 bits.

Adresse de Base
  C'est celle que vous devez spcifier dans de nombreux rglages si vous
  possdez une carte-son.
  CPCEMU cherchera une variable d'environnement qui contienne ces rglages.

AMSDOS (Amstrad DOS)
  DOS dvelopp par Amstrad, pour les ordinateurs CPC.

Amstrad
  Constructeur britannique d'ordinateurs, qui a conu les CPCs.

Archive
  Stockage de fichiers.
  Ou : un fichier qui en contient plusieurs autres.
  Dans les archives ZIP, les fichiers sont compresss avant d'y tre inclus.

ASCII (Abrviation de : American Standard Code of Information Interchange)
  Sur un ordinateur, tous les caractres, y compris les chiffres, sont 
  reprsents de faon interne sous forme de nombres.
  Beaucoup d'ordinateurs emploient le code ASCII, avec la lettre "A" code 65. 
  PC et CPC galement emploient l'ASCII. Avec le Basic Locomotive, vous
  pouvez sauvegarder un fichier Basic en ASCII, en tapant SAVE"<nom>",A.

BASIC (Abrviation de : Beginners All purpose Symbolic Instruction Code)
  Langage de programmation largement utilis sur les ordinateurs "familiaux"
  et personnels. Facile  apprendre. A l'origine, chaque ordinateur avait
  son propre langage Basic.
  Les Basics modernes, comme le QuickBasic, permettent la programmation 
  structure, de sorte que vous n'tes plus oblig de fabriquer des 
  "programmes spaghetti".
  Le CPC a aussi son propre Basic, le Basic Locomotive, du nom de la firme 
  qui l'a cr.

Bote de cavaliers (Jumper box)
  Un botier adaptateur destin  raliser toute connexion entre deux
  connecteurs, en employant de courts fils mtalliques qui doivent tre 
  souds. Voir aussi Wiring Box.

Bote OS/2 DOS
  Une fentre sous le systme d'exploitation pour 32 bits d'IBM nomm OS/2. 
  Est capable de faire fonctionner les programmes DOS. 
  La bote de compatibilit avec DOS.

C64:
  Ordinateur familial de la firme Commodore, avec 64 K de RAM, trs
  populaire. En raison de la quantit prodigieuse de programmes qu'il
  a suscite, il est rest l'ordinateur de jeu par excellence, et durant
  des annes. Plus tard, il a t relgu par l'Amiga de Commodore, mais, 
  en dpit de sa technique dpasse, il a survcu longtemps.

Chemin de recherche du DOS
  Le DOS utilise un chemin au long des sous-rpertoires, pour trouver
  un fichier. Ce chemin est plac dans la variable d'environnement "PATH".

Circuits hardware
  Composants  l'intrieur de l'ordinateur, comme le processeur, les
  circuits de mmoire, le contrleur de disquettes, etc.
  Le CPC contient le processeur Z80, le Gate Array, le CRTC 6845 pour
  adresser la mmoire de l'cran, le PIO 8255 pour les entres/sorties,
  le circuit sonore PSG AY 3-8912, le contrleur de disquettes FDC 765,
  etc.

Compilateur Turbo Pascal
  Le Pascal est un langage de programmation de haut niveau qui permet
  la programmation structure. Aujourd'hui utilis dans beaucoup d'coles.
  Lorsqu'on parle de "Pascal", on entend le plus souvent Turbo Pascal, mme
  si ce terme dsigne seulement le Pascal tendu de la firme Borland. 
  Le compilateur Turbo Pascal est particulirement rapide, car il compile
  le programme en une seule passe.

Configuration
  Ici : configurer un programme pour les besoins de l'utilisateur.
  Vous pouvez le faire dans le menu des rglages ou dans le fichier de
  configuration.

CPC (Abrviation de : Colour Personal Computer)
  Dvelopp par la firme Amstrad, tait disponible dans diffrents modles. 
  Relisez l'introduction si VRAIMENT vous n'avez pas encore compris.

CP/M Plus (Abrviation de : Control Program for Microcomputers)
  Systme d'exploitation de la firme Digital Research, consacr aux
  micro-ordinateurs 8 bits. Largement utilis jusqu' ce qu'IBM dcide
  d'utiliser MS-DOS pour ses PCs.
  CP/M Plus (CP/M 3.0) tait le successeur de CP/M 2.2, et fut inclus 
  sur les disquettes fournies avec le CPC 6128.

CTRL/SHIFT/ESC (control/shift/escape)
  Combinaison de trois touches permettant le reset sur un CPC. Il quivaut
   "CTRL/ALT/Del" sur un PC. Certains programmes bloquent un tel reset,
  de sorte que vous devez teindre l'ordinateur ou utiliser le bouton de 
  reset. Les CPCs n'avaient aucun bouton de reset, mais il tait facile
  d'en construire un.
  Dans CPCEMU, la touche de fonction F8 remplit cet office.

Curseur
  Caractre qui montre,  l'cran, la position courante d'criture.
  Sur le clavier, des touches flches servent  dplacer le curseur.

Dfinitions de formats
  Dfinitions de formats de disquettes.

D-Sub
  Connecteurs de forme spciale.

Dk'tronics
  Firme britannique qui offrait des extensions matrielles pour le CPC, 
  notamment des extensions de mmoire.

DMA (Abrviation de : Direct Memory Access)
  Accs direct de l'ordinateur  la mmoire, sans passer par le 
  microprocesseur. Utilis par les lecteurs de disquettes, mais, par
  mesure d'conomie, non implant sur les CPCs (sauf le dernier modle,
  le CPC+).
  La carte Soundblaster peut aussi utiliser un canal DMA, par lequel passe
  le son numrique.
  
DOS (Abrviation de : Disk Operating System)
  Systme d'exploitation de disquettes, par exemple AMSDOS, DRDOS, MS-DOS.
  Est aujourd'hui synonyme de MS-DOS.

DRDOS
  Un DOS compatible avec MS-DOS, vendu par la firme Digital Research.

E-Mail (Abrviation de : Electronic Mail)
  Utilisation d'un ordinateur comme bote aux lettres.

EMM (Abrviation de : Expanded Memory Manager)
  Equivaut  EMS.

EMS (Abrviation de : Expanded Memory System)
  Extension de mmoire pour le PC, destine  outrepasser la limite
  des 640 K. Au moyen de la technique de commutation de banques, des
  pages supplmentaires de mmoire sont mnages dans une fentre EMS.
  Ce systme a t dvelopp par Lotus, Intel et Microsoft, aussi est-il
  appel LIM-EMS.
  Il existe de l'EMS matrielle, mule ou simule.
  Des cartes de mmoire spciales fournissent de l'EMS matrielle,
  utilise principalement sur les anciens PCs XT. Sur un PC AT avec 
  au moins un processeur 80386, il est possible d'avoir de l'EMS mule 
  en utilisant le mcanisme des pages pour la commutation de banques.
  Ce type d'EMS est fournie par EMM386.EXE, et devrait tre employ 
  pour acclrer CPCEMU.
  L'EMS simule est trop lente, elle doit copier les pages de mmoire.

Emulateur
  Le systme qui en mule un autre.

Emuler
  Imiter un systme (par matriel ou par logiciel) par un autre.
  Le systme qui imite obtient les mmes rsultats,  partir des mmes 
  donnes, que le systme imit.
  CPCEMU mule un CPC sur un PC.

Fichier
  Collection de donnes. Sur le CPC, il existe des fichiers de diffrents 
  types, par exemple les fichiers Basic (des programmes Basic sauvegards
  avec l'extension BAS), des fichiers ASCII contenant des textes, et
  des fichiers binaires contenant des octets et signals par une extension 
  BIN. Les fichiers binaires peuvent contenir des programmes en langage 
  machine ou des donnes.
  
Fichier Batch
  Contient des instructions que normalement vous tapez sur le clavier de
  votre ordinateur. Si vous appelez un tel fichier, les instructions sont
  excutes l'une aprs l'autre.

Frquence d'horloge
  Le processeur est connect  une "horloge", qui dtermine sa vitesse
  de faon significative. Aujourd'hui, les processeurs 486DX2/66 sont
  cadencs de manire interne  66 MHz.
  Le Z80A du CPC a une vitesse de 4 MHz, mais il tourne en ralit  3,3 MHz
   cause des attentes qu'il subit priodiquement pour le rafrachissement
  de l'cran.

FTP (Abrviation de : File Transfer Protocol)
  Un protocole de transfert de fichiers sur les rseaux d'ordinateurs.
  Le programme qui fait tourner ce protocole est galement appel "FTP".

Gestionnaire de clavier
  Un programme appel chaque fois que le clavier gnre une interruption. 
  Il se sert du numro de la touche appuye ou relche.

Hardware
  Matriel, en franais. Par exemple, les priphriques comme l'imprimante
  ou le moniteur. Aussi interne, comme le processeur et les autres circuits.
  
Image de ROM
  Fichier renfermant le contenu d'une ROM. Si vous lisez une ROM et crivez
  les octets trouvs dans un fichier, vous aurez une image de ROM.

Initialiser
  Remplir la mmoire avec des valeurs particulires, par exemple, pour
  dfinir les variables.

Instructions du Z80
  Instruction "machine" que le Z80 comprend.
  Elles sont codes sous forme de nombres, aussi, pour s'en souvenir plus
  facilement, on a introduit des "mnmoniques", qui seront traduits lors
  de l'assemblage (et par un "assembleur") en code binaire.
  Ainsi, l'instruction "LD A,B" charge ("LoaD") le registre A avec le contenu
  du registre B, et se traduit en code binaire par le nombre 0x78.

Interface
  Connexion de l'ordinateur  un de ses priphriques, ou d'un programme  
  un autre. Il y a donc des interfaces matrielles et logicielles. 
  Ce qu'on "interface Centronics" est une interface parallle, qui
  transmet les bits d'un octet en parallle, c'est--dire tous en mme temps.
  Avec les interfaces "srie", il est ncessaire de transfrer les bits
  les uns aprs les autres.
  
Internet
  Un "Internet" est compos de plusieurs sous-rseaux d'ordinateurs.
  Ici : *Le* Internet, un rseau mondial de communication par ordinateurs.

Interruption
  Si le processeur reoit un signal avec un priorit suprieure, il
  interrompt le programme en cours, et appelle un gestionnaire spcial
  d'interruption. Lorsque l'interruption est termine, il revient au
  programme interrompu.
  Sur un PC, il y a diffrents signaux d'interruptions, par exemple,  
  lorsque vous appuyez sur une touche, quand une minuterie arrive 
  terme, quand une donne arrive par l'interface srie, quand on dplace
  la souris, quand la carte-son a termin d'mettre son dernier chantillon 
  et a besoin d'autres donnes, etc.
  Le Z80 dans le CPC est interrompu 300 fois par seconde.

Locomotive
  Firme britannique qui a crit le Basic pour les CPCs.

Liste de correspondants
  Un service que j'offre, et par lequel j'ajoute votre adresse lectronique 
   ma liste de correspondants. Ainsi, vous serez inform des dernires
  nouvelles concernant CPCEMU.

Manuel du firmware du CPC
  Un livre sur le CPC qui dcrit spcialement le systme d'exploitation du
  CPC.

Microcanal
  Architecture spciale de bus.

MS-DOS (Abrviation de : Microsoft Disk Operating System)
  Systme d'exploitation dvelopp par la firme Microsoft pour les
  processeurs de 16 bits (8086). Le systme le plus employ sur PC.
  Toujours en usage sur les processeurs de 32 bits 80386 et 80486.

Multiface II (Abrviation de : Multipurpose Interface)
  Une extension matrielle pour le CPC. Permet d'interrompre tout programme 
   tout moment, pour l'analyser ou le sauvegarder en l'tat.
  Dveloppe par la firme britannique Romantic Robot.

Multi-Mode
  Technique de programmation, permettant d'avoir diffrents modes d'cran
  simultanment affichs. Le mode d'cran est chang plus d'une fois durant
  le rafrachissement de l'cran. Sur le CPC, on obtient des zones avec
  une haute rsolution et peu de couleurs, et de basse rsolution avec
  beaucoup de couleurs.

Newsgroup CPC
  Un newsgroup (forum ou confrence lectronique) rserv au CPC. 
  Il s'appelle "comp.os.amstrad.8bit" et a t cr en aot 1994.

Numro d'interruption IRQ (IRQ, abrviation de : Interrupt Request)
  Sur un PC, des interruptions diffrentes ont des numros diffrents.
  Par exemple, l'interruption-clavier a le numro 9, l'interruption-timer
  a le numro 8. Si vous appuyez sur une touche, le clavier envoie une
  "requte d'interruption" au processeur, qui en est ainsi inform.

OS (Abrviation de : Operating System, systme d'exploitation)
  Un programme ncessaire  l'ordinateur. Il fournit des fonctions de
  base aux programmes d'application. Les nouveaux systmes d'exploitation
  accomplissent des tches compliques, tels les programmes d'agenda
  dans les systmes multitche, etc.

Overscan
  Le bord qui entoure la zone de l'cran o l'on peut crire.
  Sur un PC, il est trs petit, mais on peut changer sa couleur, par
  exemple sous CPCEMU avec "BORDER 10". Sur le CPC, l'overscan est bien
  plus large, aussi les programmeurs ont-ils cherch des possibilits pour
  y crire. Avec un truc de programmation, il est en effet possible 
  d'crire sur tout l'cran.
  Cette technique de programmation est aussi appelle "overscan".

Paramtre
  Variable possdant une signification. Le comportement du programme est 
  en relation avec elle.

Paramtres de la ligne de commande
  Paramtres que vous donnez sur la ligne de commande, aprs le nom du
  programme que vous appelez.

PC (Abrviation de : Personal Computer, ordinateur personnel)
  Ordinateur avec un microprocesseur comme processeur (ou CPU : Central 
  Processing Unit). Aujourd'hui synonyme du PC d'IBM, avec un processeur
  8086 ou 8088.
  Le PC AT (Advanced Technology) est un ordinateur avec un 80286, un 80386 
  ou un 80486.

PEEKs et POKEs
  Instructions Basic modifiant directement la mmoire.
  "PEEK(<adresse>)" est utilis pour lire un octet en mmoire,
  "POKE <adresse>,<nombre>" modifie la mmoire. Les programmes avec
  de nombreux PEEKs et POKEs sont difficiles  comprendre, mais parfois
  il est ncessaire d'outrepasser les limites du Basic, spcialement si
  celui-ci a peu d'instructions, comme celui du Commodore 64.

PKUNZIP
  Programme de PK-Software servant  dcompacter les fichiers ZIP.

Port-imprimante du CPC
  Interface Centronics CPC, pour connecter, devinez quoi ?
  Malheureusement, les concepteurs du CPC ont t trop conomes : elle a
  seulement 7 bits.
  Avec un bout de fil lectrique, il tait possible de l'tendre  8. 
  Pour cela, le port-cassette tait mis hors-circuit : on n'en a pas 
  besoin, de toute faon, lorsqu'on imprime.

RAM (Abrviation de : Random Access Memory).
  Circuit de mmoire "vive" : la mmoire de l'ordinateur, que l'on peut lire
  et o l'on peut crire.
  Les CPCs ont 64K de RAM (Kilo-octets) ou 128K. Avec des extensions
  matrielles, ils pouvaient atteindre 576K de RAM.

Reprsentations des nombres
  Selon la base choisie, il y a plusieurs reprsentations possibles pour un
  mme nombre.
  La plus connue est la reprsentation dcimale, de base 10, avec les 
  chiffres de 0  9.
  Les ordinateurs utilisent la reprsentation binaire (base 2), avec les 
  chiffres 0 et 1.
  Les programmeurs apprcient la reprsentation hexadcimale,  base 16, 
  parce que 16 est une puissance de 2 (2 puissance 4). Ainsi, les
  reprsentations binaire-hexa peuvent tre aisment converties entre
  elles. En outre, un octet ne ncessite que 2 chiffres "hexadcimaux"
  (0  9 et A  F) dans la notation hexadcimale.

ROM (Abrviation de : Read-Only-Memory).
  Circuit de mmoire, mais qu'on ne peut que lire sans rien y changer. 
  Disponible directement aprs avoir allum l'ordinateur.
  Les CPCs ont 16K de ROM pour le systme d'exploitation, 16K de ROM pour 
  l'interprteur Basic, et 16K de ROM pour l'AMSDOS, dont seuls 7K sont
  utiliss (les 9K restant sont remplis avec des octets de valeur hexa "FF").

RS-232
  Interface srie servant  connecter des moniteurs ou des imprimantes  un
  ordinateur (RS 232 C).

Schneider
  Firme allemande qui vendait les CPCs en Allemagne.

Scrolling hardware
  Dplacement de l'cran sans que le processeur ait  copier des parties
  de mmoire d'un endroit  un autre. L, le processeur se contente de
  modifier l'adresse de base de l'cran, le reste est fait par un circuit
  matriel.

Setup (rglages)
  Changement des paramtres d'un programme, pour qu'il se comporte 
  diffremment. On peut appeler le menu des rglages quand on a une
  carte-son, ou quand on utilise un joystick, etc.

SIMTEL
  Importante archive de programmes aux Etats-Unis.
  Le "SimTel Software Repository" est assur par "Coast to Coast
  Telecommunications, Inc." (CCT) sur son ordinateur hte, sur le rseau
  Internet d'adresse "SimTel.Coast.NET". Cette archive est "mirrored" 
  (copie) des deux cts.  Un site miroir se trouve  l'Universit
  d'Oakland,  l'adresse "OAK.Oakland.Edu".

Snapshots
  Un dump de la mmoire, complt par l'tat interne des circuits matriels.
  Il contient un "instantan" complet de l'tat momentan de l'ordinateur.
  Si le snapshot est recharg, l'ordinateur est ainsi remis dans l'tat
  dcrit dans le snapshot.

Software
  Programmes d'un systme d'ordinateur.

Soundblaster
  Carte-son de la firme Creative Labs.

Spectrum
  Le Spectrum (il y en a eu plusieurs modles) de Sinclair tait un 
  ordinateur familial dvelopp par la firme Sinclair.

Standard LIM (Abrviation de : Lotus Intel Microsoft)
  Extension de mmoire (EMS), dveloppe par Lotus, Intel et Microsoft.

Utilitaire
  Programme-outil.

VGA (Abrviation de : Video Graphics Array)
  Standard graphique sur le PC. Succde  CGA (Colour Graphics Adapter), 
  MCGA (Multi Colour Graphics Adapter) et EGA (Enhanced Graphics Adapter). 
  Etendu  SVGA (Super VGA) avec une rsolution plus haute.

VGA-BIOS (Abrviation de : VGA Basic Input Output Operating System)
  Le systme d'exploitation pour les cartes graphiques VGA.

Wiring box
  Un adaptateur permettant de raliser toute connexion entre deux connecteurs 
  avec de courts fils mtalliques. Au contraire de la bote de cavaliers
  ("jumper box"), les fils n'ont pas besoin d'tre souds.

Z80
  Un processeur de 8 bits construit par la firme Zilog. Il est compatible
  avec le 8080 d'Intel, et a t trs populaire.
  Sur le CPC, il y avait un Z80A cadenc  4 MHz.

ZIP
  Un procd spcial de compression de fichiers. Les archives obtenues ont
  l'extension "ZIP".





A.2  Bibliographie



Le manuel du CPC est indispensable aux dbutants :
- Spital Ivor und Perry, Roland und Poel, William und Lawson,Cliff:
    CPC 6128 Benutzerhandbuch, Schneider Computer Division 1985,
    Originalausgabe (c) 1985 (le mien mentionne 1895 !)
    by AMSOFT, AMSTRAD Consumer Electronics plc and Locomotive
    Software Ltd.

Un excellent listing comment de la ROM, avec les premiers chapitres
fournissant des informations sur le ct "software" du CPC :
- Janneck, Joern W. und Mossakowski,Till: ROM-Listing CPC 464/664/6128,
    Markt & Technik Verlag 1986

Au contraire : compos sans souci du lecteur, rarement comment, abordant 
davantage l'aspect matriel du CPC :
- Brueckmann, Englisch, Gertis: CPC 464 Intern mit kommentiertem
    ROM-Listing, Data Becker 1985

Bon pour apprendre le langage C, avec beaucoup d'exercices :
- Kellay, Al and Pohl, Ira: A Book on C, Second Edition, 1990 by
    Benjamin/Cummings Publishing Company, Inc.

Le livre standard du C++ :
- Stroustrup, Bjarne: The C++ Programming Language, Second Edition,
  Addison-Wesley, 1992

Un autre bon livre sur le C++ :
- Eckel, Bruce: C++ Inside & Out, 1993 by Osborne McGraw-Hill

Suggestions, comment crire un manuel bon et comprhensible :
- Boedicker, Dagmar: Handbuch-Knigge, Software Handbuecher schreiben
    und beurteilen. Wissenschaftsverlag 1990





A.3  Index


Les nombres suivant les entres indiquent le chapitre o elles sont dcrites.

(Incomplet)

#ENDIF 4.2
#IFCPC 4.2
22DISK 5.1.2
Adaptateur, parallle 5.2
AMSDOS_DI 4.2
AMSDOS_SPDUP 4.2
BREAK_MASK 4.2
Cassette 3.2.2
COLOUR 4.2
Fichier de configuration 4.2
CPC 1.3
Newsgroup CPC 6.2
CPCEMU.CFG 4.2
CPCPARA.BAS 5.2
CPCREC.BAS 5.2
CPCTRANS.EXE 5.1.1
Menu Debug 7.3
DELAY  4.2
Disquette 3.2.1
Image de Disquette 3.2.1
DRIVE_A 4.2
DRIVE_B 4.2
EMS_EI 4.2
Mmoire EMS 2.3.1
Touches de fonction 3.1
INT_FREQ 4.2
INT_RESUME 4.2
JOY_CALIBRATE 4.2
KBD_LANGUAGE 4.2
Clavier 3.1
Menus 3.2.1
Multi-Mode 4.1
MULTIMODE 4.2
PCPARA.EXE 5.2
PIO_PORT_B 4.2
PRINTER 4.2
RAM_SIZE 4.2
ROM_BLOCK 4.2
ROM_PATH 4.2
SBLASTER 4.2
SB_DELAY 4.2
Menu des rglages 4.1
SHOW_CONFIG 4.2
SNAPSHOT 4.2
Snapshot 3.2.3
SOUND 4.2
Soundblaster 2.3.2
TAPE_BYPASS 4.2
TAPE_PATH 4.2
TMP_PATH 4.2
Variable d'environnement BLASTER 2.3.2
VSYNC Bit 4.1
