                        
                    
                                  
                             
                                   
                                           
                            
                            

                                                                      v1.5


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


                                  (c) Marco VIETH, mai 1998
                        (Traduit par Jean-Pierre MARQUET, 16 juin 1998)




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




Table des matires :

       1.  Introduction
           1.1  Suggestions sur la lecture de cette documentation
           1.2  Copyright, garantie
           1.3  Qu'est-ce qu'un CPC ?
           1.4  Que vous offre CPCEMU ?

       2.  Installation de CPCEMU
           2.1  Fichiers composant l'environnement CPCEMU
           2.2  Equipement ncessaire et installation
           2.3  Suggestions sur la mmoire et les cartes-son
             2.3.1  Utiliser la mmoire EMS
             2.3.2  Dfinir la variable d'environnement BLASTER
             2.3.2  Dfinir la variable d'environnement ULTRASND

       3.  Diffrences entre CPC et CPCEMU
           3.1  Le clavier
           3.2  Charger des programmes, Menus
             3.2.1  Charger depuis une disquette, Menus
                    - Le menu Insrer une Disquette
                    - Le menu Slection de Fichier
             3.2.2  Charger depuis et sauvegarder sur cassette
             3.2.3  Charger depuis et sauvegarder sur des snapshots

       4.  Changer la configuration
           4.1  Le Menu des Rglages (Setup Menu)
           4.2  Le fichier de configuration
           4.3  Les paramtres de la ligne de commande

       5.  Transfert de donnes entre CPC et PC
           5.1  La disquette comme intermdiaire
             5.1.1  Le programme de transfert de disquette CPCTRANS
             5.1.2  L'utilitaire de formatage et de copie 22DISK de SYDEX
           5.2  L'interface parallle
                - L'adaptateur parallle
           5.3  L'interface srie
           5.4  Autres possibilits

       6.  Sources d'approvisionnement, Aide, Remerciements
           6.1  O trouver des programmes pour CPC ?
           6.2  Dernires nouvelles, changer des expriences
           6.3  Si vous avez des questions ou des suggestions
           6.4  Autres mulateurs pour l'Amstrad CPC
           6.5  Projets pour les prochaines versions de CPCEMU
           6.6  Remerciements
           6.7  Marques dposes

       7.  Information interne  propos de CPCEMU
           ("Bote Noire", avec sa propre table des matires)


       Appendice :

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


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





1.  Introduction
________________


Bienvenue dans le monde des mulateurs !

Vous dsirez savoir ce qu'est CPCEMU, et ce que vous pouvez faire avec cet 
trange programme qui se prsente en lettres jaunes sur fond bleu, et qui 
affiche des "Syntax Error" aprs chaque manipulation du clavier ?

Pour vous viter de longues recherches, voici :

      CPCEMU "mule" un Amstrad CPC 464, 664 ou 6128, avec plusieurs 
      extensions. En d'autres termes, le programme imite le comportement 
      des anciens ordinateurs d'Amstrad, mais sur votre PC.

Pour quoi faire ?
Eh bien, si vous n'en avez aucune ide... vous n'avez pas besoin de CPCEMU !

Blague  part, voici quelques raisons valables :

      - la nostalgie (ah, qu'il tait extra, mon bon vieux CPC, sniff...)
      - de meilleures performances, compares  l'original
      - un meilleur environnement pour dvelopper des programmes
      - JOUER !
      - travailler (Mais oui, un CPC est suffisant pour faire
                    tourner un traitement de textes, par exemple)
      - [.............................] <- crivez ici d'autres raisons
                                           que vous auriez trouves.




1.1  Suggestions pour lire cette documentation
==============================================


  Vous pourriez commencer par consulter l'aide "en ligne" dans CPCEMU,
  ou continuer si vous dsirez une information plus prcise...


  J'ai tent d'crire une documentation dispose clairement. Mais si vous
  avez toujours des questions (aprs l'avoir lue plusieurs fois !), vous
  pouvez me contacter.   Vous pouvez d'ailleurs le faire, mme si tout est
  clair pour vous. Voyez au chapitre 6 (Sources d'Approvisionnement, Soutien...)
  comment me joindre.

  Au chapitre 1 (Introduction), j'explique comment lire cette documentation,
  je prcise qui a le copyright, et j'ajoute deux ou trois choses  propos
  du CPC en gnral.

  Au chapitre 2 (Installation), on entre dans le vif du sujet : vous lirez
  comment installer et lancer CPCEMU.

  Le chapitre 3 (Diffrences entre CPC et CPCEMU) traite de quelques dtails
  que vous devriez connatre sur l'mulateur, si vous tes un familier du 
  "vrai" CPC. Sont dcrits, principalement, le clavier, les disquettes, les
  cassettes et les "snapshots".

  Au chapitre 4 (Changer la Configuration), je montre de quelle faon adapter 
  CPCEMU  vos besoins. Peut-tre votre programme prfr tournera-t-il mieux
  avec cela.

  Au chapitre 5 (Transfert de donnes entre CPC et PC), vous saurez comment
  transfrer vos anciens programmes pour CPC sur votre PC. Les utilitaires
  fournis avec CPCEMU sont dcrits ici.
  
  Au chapitre 6 (Sources d'Approvisionnement, Aide, Remerciements), vous
  apprendrez comment vous procurer la plus rcente version de CPCEMU, et
  qui contacter si vous voulez poser des questions.

  Le chapitre 7 (Information interne sur CPCEMU) est rserv aux experts.
  La partie "officiellement" consacre  l'utilisateur courant prenait fin
  au chapitre prcdent. Ici, je dcris comment programmer un mulateur,
  et ce que vous avez besoin de savoir pour ce faire. Je dcris aussi le
  menu "Debug" de CPCEMU, lequel vous permet d'analyser le processeur et
  la mmoire  *n'importe quel* moment durant l'mulation. Les utilisateurs
  occasionnels sauteront ce chapitre, au moins lors de la premire lecteure.
  
  L'appendice A.1 contient un glossaire avec la description des termes
  techniques les plus importants. 
  L'appendice A.2 contient la bibliographie, et A.3 est un index.



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

  CPCEMU a t dvelopp par (voir aussi la section 6.3) :

         Marco Vieth
         Auf dem Uekern 4
         33165 Lichtenau
         Germany


  CPCEMU est un "freeware", libre de droits, ce qui signifie que vous pouvez 
  donner le programme  vos amis et connaissances *en toute libert*.
  Les conservateurs d'archives sont autoriss  inclure CPCEMU dans leurs
  collections de programmes  tlcharger.
  Les distributeurs de sharewares sont autoriss  distribuer CPCEMU, s'ils
  ne facturent  leurs clients qu'une modeste contribution pour les frais de
  copie.
  Compar au domaine public, le "freeware" ne signifie pas que tout est
  gratuit et que vous pouvez faire n'importe quoi. Le copyright reste ma
  proprit.

  Tous les programmes et leur documentation sont fournis tels quels, sans
  garantie d'aucune sorte.
  
  Bien que CPCEMU soit en freeware, j'accepterai toute forme d'aide,
  quelle qu'elle soit, technique ou financire.
  Voir le chapitre 6 pour plus de dtails.



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

  Si vous le savez dj, sautez cette section et continuez votre lecture 
  en 1.4.




  Toujours l ?

  Je ne veux pas entrer maintenant dans des dtails tehniques, mais
  simplement donner un aperu rtrospectif pour vous faire mieux saisir ce
  qu'est un CPC.

  "CPC" est l'abrviation de "Colour Personal Computer", in french :
  ordinateur personnel en couleurs. Les premiers ordinateurs de ce type
  ont t construits en 1984 par la firme britannique Amstrad, et vendus 
  sous diffrents noms dans diffrents pays.
  C'tait l'poque des ordinateurs "familiaux" : le Commodore C64, le 
  Spectrum de Sinclair, l'Atari 800XL... Alors naquit le CPC 464. Il avait
  autant de mmoire que le Commodore C64 (64 K), un magntophone  cassette
  incorpor, et le Basic Locomotive 1.0. Ensuite vint le CPC 664, avec un
  lecteur de disquettes trois pouces incorpor, et le Basic Locomotive 1.1,
  lgrement tendu par rapport au prcdent. Le CPC 6128 vint au monde en
  1985, avec 128 K de RAM et  peu prs les mmes particularits que le 664.
  Les disquettes 3 pouces taient horriblement chres, mais plus stables
  que les disquettes 5,25 pouces ; en fait, presque aussi stables que les
  disquettes 3,5 pouces d'aujourd'hui. En outre, elles taient beaucoup plus
  rapides que les cassettes, au contraire de celles du C64.
  Les trois modles de CPC taient vendus avec un cran couleurs ou vert, 
  qui renfermait aussi l'alimentation lectrique. Plus tard, deux ou trois
  autres modles (le CPC+, par exemple) furent mis sur le march.
  Mentionnons enfin les derniers modles, les CPC 464+ et 6128+ (* Note du
  traducteur : avec le son stro, et aussi des instructions plus tendues 
  pour le graphisme, malheureusement gardes secrtes par Amstrad, qui 
  entendait les rserver aux programmeurs professionnels. Circonstance qui 
  n'a pas t sans rapport avec son chec commercial et la disparition 
  d'Amstrad du march des ordinateurs familiaux. *)
  
  Selon le modle, le Basic comportait quelque 178 instructions, puissantes 
  et rapides. On pouvait programmer du graphisme, des sons, et mme 
  manipuler les interruptions sous Basic, en vitant les PEEKs et les POKEs 
  qui rendaient calamiteux le C64.
  Le nombre de programmes consacrs aux CPCs n'a fait qu'augmenter d'anne
  en anne.



1.4  Que vous offre CPCEMU ?
============================

  Ce qui suit est un court aperu de ce que CPCEMU vous offre. Dans les
  sections suivantes de la documentation, la signification de tout cela 
  sera prcise en dtail.

  Graphiques : 3 modes d'cran diffrents (X x Y x Couleurs) :

       Mode 0: 180 x 200 x 16
       Mode 1: 320 x 200 x 4
       Mode 2: 640 x 200 x 2
       (Avec un BIOS VESA, les graphismes peuvent tre affichs dans
       les rsolutions de 640 x 480 x 16 jusqu' 1280 x 1024 x 16, 
       selon les possibilits de votre moniteur et de votre carte VGA)

  Son : soit par le haut-parleur du PC, soit par une carte SoundBlaster 
       (3 canaux + un de bruit, stro, ou 3 canaux FM, stro), soit
       avec une carte Gravis Ultrasound (3 canaux + 1 canal de bruit, stro).

  Mmoire :
       ROM : Systme d'Exploitation, Basic, AMSDOS, et jusqu' 13 ROMs 
       additionnelles (avec mmoire pagine, ou "EMS").
       RAM : 64K, 128K, jusqu' 576K de mmoire vive, compatible avec
       Dk'Tronics (avec EMS).

  Disquettes : images de disques spciales, portant l'extension DSK.

  Cassette : fichiers standard sous DOS, par exemple en Basic, et fichiers 
       binaires, avec les extensions BAS et BIN respectivement.

  Snapshots : vous pouvez faire un "dump" de la mmoire avec des programmes 
       en train de tourner, et cela, afin d'interrompre une sance et de
       continuer plus tard. Les snapshots ont l'extension SNA.

  Vitesse : avec un 386/33 et de la mmoire pagine, CPCEMU est plus rapide
       que l'original. Avec le mode "realtime" (temps rel), vous pourrez
       ralentir l'mulation pour tre  la vitesse exacte du CPC. Le mode
       "realtime" fonctionne trs bien sur un  486 DX/66.


2.  Installation de CPCEMU
__________________________

Dans ce chapitre, vous apprendrez comment installer et lancer CPCEMU.
A la section 2.2, vous lirez quelques suggestions sur l'utilisation de
la mmoire EMS, et comment dfinit l'environnement SoundBlaster.
L'installation complte dfinie par l'utilisateur, avec le fichier de 
configuration, est dcrite au chapitre 4 (Changer la Configuration).



2.1  Fichiers fournis avec CPCEMU
=================================

  En voici la liste. Entre parenthses est indiqu le sous-rpertoire
  o se trouvent les fichiers aprs l'installation :
  
  COPYMATE.ROM   ROM avec un programme de copie (ROM)
  CPC464.BAT     fichier lanant un CPC 464
  CPC464.ROM     ROM (systme d'exploitation, plus BASIC) du CPC 464 (ROM)
  CPC664.BAT     idem, mais pour un CPC 664
  CPC664.ROM     (ROM)
  CPC6128.BAT    idem, mais pour un CPC 6128
  CPC6128.ROM    (ROM)
  CPCADOS.ROM    AMSDOS pour tous les CPCs (ROM)
  CPCEMU.CFG     fichier de configuration pour tous les CPCs (ou CPCEMU0.CFG)
  CPCEMU.DAT     fichier de donnes pour CPCEMU
  CPCEMU.DBF     base de donnes contenant des pokes pour tricher aux jeux
  CPCEMU.EXE     l'mulateur
  CPCEMU.HLP     fichier d'aide, affich avec la touche F1
  CPCEMU.MSG     le fichier des messages (ncessaire)
  CPCEMU_D.TXT   documentation en allemand
  CPCEMU_E.TXT   documentation en anglais
  CPCEMU_F.TXT   documentation en franais (le prsent fichier)
  CPCEMU_S.TXT   documentation en espagnol
  CPCPARA.BAS    programme en Basic Locomotive
                 pour l'adaptateur parallle (UTILITY)
  CPCPD1.DSK     image de disquette, avec quelques exemples
                 de programmes du domaine public (DISC)
  CPCREC.BAS     programme en Basic Locomotive,
                 pour recevoir des programmes (UTILITY)
  CPCT0.BAT      fichier batch pour CPCTRANS.EXE (exemple) (UTILITY)
  CPCTRANS.EXE   programme de transfert d'images de disquette (UTILITY)
  CPMDISKS.DEF   Dfinitions de formats pour 22DISK (UTILITY)
  FILE_ID.DIZ    l'identification de CPCEMU pour les BBS
  INSTALL.BAT    fichier batch pour l'installation
  KCC.BAT        fichier de lancement KC compact
  PCPARA.EXE     ct PC de l'adaptateur parallle (UTILITY)
  README_D.TXT   Prsentation de CPCEMU en allemand
  README_E.TXT   Prsentation de CPCEMU en anglais
  LISEZMOI.TXT   Prsentation de CPCEMU en franais
  README_S.TXT   Prsentation de CPCEMU en espagnol
  ROMGET.BAS     programme en Basic Locomotive,
                 pour sauvegarder des ROMs (UTILITY)
  SNA2GIF.EXE    fournit un fichier GIF de l'cran CPC contenu dans un 
                 snapshot

  Les ROMs originales d'Amstrad sont galement incluses.
  Le Systme d'Exploitation ("Firmware") est sous copyright 
  de Locomotive Software, le Basic est sous copyright d'Amstrad.
  Amstrad et Locomotive m'ont autoris  distribuer leurs ROMs avec
  CPCEMU.



2.2  Equipement ncessaire et installation
==========================================

  Il vous faut au moins (pas de limite suprieure !) :
  - un PC AT 386 avec affichage VGA.
  - MS-DOS, si possible avec EMS,  
    ou
    Novell DOS (DRDOS)  
    ou
    Windows 95 (ou 3.1) dans une fentre DOS
    ou
    OS/2 2.x dans une fentre DOS.
  - Si vous voulez lancer des programmes contenus dans une archive ZIP,
    le programme d'extraction PKUNZIP doit tre accessible par le PATH
    du DOS.


  L'installation elle-mme est trs simple :
  Copiez l'archive CPCEMUxx.ZIP sur votre disque dur, et dcompressez-la
  avec "PKUNZIP CPCEMUxx.ZIP". Lancez ensuite INSTALL.BAT afin de crer
  les sous-rpertoires ncessaires.
  Puis lancez CPC464.BAT, CPC664.BAT ou CPC6128.BAT, selon le modle de 
  CPC que vous prfrez.
  Lorsque vous lancez l'mulateur pour la premire fois, choisissez votre
  langage.
  (La configuration est sauvegarde dans le sous-rpertoire TMP sous le
  nom de CPCEMU.CFG).
  Aprs avoir vu la configuration, appuyez sur <RETURN>, et le clbre
  cran du CPC apparatra, avec ses lettres jaunes sur fond bleu.
  Vous pourrez quitter l'mulateur avec la touche <F12>, ou voir l'aide en
  ligne avec la touche <F1>.
  Essayez tout de suite, a n'engage  rien, avant de lire la suite ! 
  
  Si quelque erreur survenait durant la configuration, vous vous retrouvez
  dans le menu Debug, que vous pouvez quitter avec "q" suivi de <RETURN>.
  Lorsqu'un tel accident arrive, il peut tre utile de rediriger les 
  messages apparus  l'cran vers un fichier, par exemple en tapant 
  "CPCEMU>ERREURS.TXT". Vous pourrez ensuite lire ce fichier ERREURS.TXT
  et tenter d'analyser ce qui s'est pass.



2.3  Suggestions  propos de la mmoire et des cartes-son
==========================================================

  Ce qui suit vous aidera si vous dsirez une mulation particulirement 
  rapide, ou si votre carte-son n'est pas reconnue.
  Si vous utilisez Windows 95 sans rglages spciaux, vous n'avez pas 
  vous en proccuper. Windows 95 admet l'EMS pour les fentres DOS, et
  rgle automatiquement la variable d'environnement BLASTER, si vous avez
  une carte SoundBlaster.
  

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

    Il vous faudrait de la mmoire pagine ("EMS" ou Expanded Memory System), 
    soit matrielle, soit mule, sur votre PC : cela acclre l'mulation 
    de manire significative, spcialement en Basic. La mmoire EMS simule 
    est trop lente.
    Il vous suffit d'avoir un gestionnaire tel EMM (Expanded Memory Manager) 
    acceptant le standard LIM EMS 4.0.
    
    Si l'utilisation d'EMS est possible, un dcompte "EMS xxx Bytes ok." 
    apparatra durant l'initialisation. Sinon, vous lirez "Sorry, using 
    conventional memory".

    Exemple sous OS/2 2.x (rglages pour la fentre) :
        EMS_FRAME_LOCATION = auto
        EMS_HIGH_OS_MAP_REGION = 32     (ou davantage)
        EMS_LOW_OS_MAP_REGION = 0       (ou davantage)

    Exemple sous DOS dans le fichier CONFIG.SYS :
        DEVICE=C:\DOS\HIMEM.SYS
        DEVICE=C:\DOS\EMM386.EXE 1024
        ...






  2.3.2  Dfinir l'environnement BLASTER :
  ----------------------------------------

    Pour entendre du son depuis une carte SoundBlaster, vous devez dfinir 
    correctement la variable d'environnement "BLASTER", soit en utilisant 
    le programme SET-ENV.EXE (ou SBTEST.EXE) fourni avec la carte-son, 
    soit en modifiant directement votre AUTOEXEC.BAT. Dans ce fichier, 
    vous devriez crire une ligne telle que celle-ci :
                    
                      SET BLASTER=A220 I7 D1 T3

    Ce qui signifie :
      A = adresse de base (0x220)
      I = numro d'IRQ (7)
      D = numro du canal DMA (1)
      T = version de la carte-son :
          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

    Avec les versions 2, 4, 5 et 6, vous aurez du son stro.

    Il existe aussi d'autres paramtres qui sont ignors :
      - H spcifie le canal DMA 16 bits pour les cartes 16 bits (5).
      - M spcifie l'adresse de base de la table de mixage SB (224).
      - P spcifie l'adresse du port MIDI (330).


    Si vous n'entendez aucun son, utilisez A388 (au lieu de A220).
    Cela marche pour Media Vision Pro Audio Spectrum 16, et sans doute 
    aussi pour d'autres cartes avec mulation SB ou une carte Adlib 
    (Joe Cotroneo).



  2.3.3  Dfinir la variable d'environnement ULTRASND
  ---------------------------------------------------

    Pour avoir du son avec votre carte GUS (Gravis Ultrasound Classic/MAX/
    ACE, vous devez dfinir convenablement votre variable d'environnement 
    ULTRASND. Votre AUTOEXEC.BAT devrait contenir la ligne suivante :
              
              SET ULTRASND=220,1,1,11,7
 
  Ce qui signifie :
       220 : adresse de base (en hexa)
       1   : canal DMA pour GUS
       1   : canal DMA pour SboundBlaster
       11  : IRQ pour GUS
       7   : IRQ pour SoundBlaster

  Les valeurs les plus importantes sont l'adresse de base et l'IRQ pour GUS. 
  Toutes les autres valeurs doivent tre spcifies pour que l'mulation
  fonctionne correctement.




3.  Diffrences entre CPC et CPCEMU
___________________________________

Dans ce chapitre, je dcris quelques diffrences entre CPCEMU et le vrai CPC.
Dans la section qui suivra, il sera question de quelques touches ayant une 
fonction spciales pour l'mulation, spcialement les bien nommes touches 
de fonction. Plus loin, je vous dirai comment charger depuis la disquette 
ou la "cassette" (ne vous tonnez pas des guillemets !...).



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

  Peut-tre avez-vous dj remarqu que les touches de fonction du PC ne 
  correspondent pas  celles du CPC : elles produisent des sorties tranges, 
  qui sont recenses ici. Ou peut-tre avez-vous cherch en vain la touche
  COPY, que vous ne risquez pas de dnicher sur un clavier de PC !
  Toutes les touches du CPC ont cependant leur quivalent localis quelque
  part, croyez-le bien. Voici quelques indications :
  
  - ALT, ALTgr : la fameuse touche COPY du CPC

  - Touche PAUSE : suspend le travail du PC jusqu'au prochain appui. Si les
    touches de fonction du PC ne ragissent plus, vous avez probablement
    appuy par mgarde sur cette touche.

  - Clavier numrique : selon l'tat de "NumLock" (surveillez le voyant), 
    ses touches agissent diffremment. Avec le voyant "Num Lock" allum, 
    elles reprsentent les touches de fonction du CPC ; sinon, le joystick 0.
    Si vous avez l'intention d'utiliser un joystick analogique pour PC,
    vous devrez le calibrer au pralable (Voir le chapitre 4 : Changer la 
    Configuration).

  Seulement pour tre exhaustif :
  - PagePrc/PageSuiv : dplacent l'cran entier verticalement (ne me
    demandez pas  quoi a sert...)

  Et, bien sr, les touches de fonction :
  F1  : Aide en ligne. Peut-tre la plus importante, au dbut.
  F2  : Bascule entre l'cran de CPC standard et l'cran des messages (celui
        avec un bord rouge), o certains messages de contrle peuvent
        apparatre.
  F3  : Pour "insrer" une disquette. Voir section 3.2.1.
  F4  : Bascule le son entre marche et arrt.
  F5  : Charge un snapshot (dump de la mmoire), voir section 3.2.3.
  F6  : Sauvegarde un snapshot, voir section 3.2.3.
  F7  : Menu Setup (Menu des Rglages), voir section 4.1.
  F8  : Reset "hard", analogue au bouton de reset sur certains CPCs bricols (ou
        au fait d'teindre et de rallumer l'ordinateur). A utiliser si
        CTRL+SHIFT+ESC ne marche plus.
  F9  : Autorise/dsactive la mise  jour de la palette.
  F10 : Menu Debug, expliqu au chapitre 7. Si vous entrez par inadvertance
        dans ce menu, appuyez sur "r" pour R)un ou sur "q" pour Q)uit.
  F11 : rserv pour une utilisation future.
  F12 : Quitte l'mulateur.

                            


3.2  Charger des programmes, Menus
==================================

  Dans cette section, vous apprendrez comment charger des programmes depuis
  une disquette, une cassette ou un snapshot. Pour l'opration inverse, la
  sauvegarde, a ne sera pas trs diffrent.On apprendra ici, galement,
  comment utiliser le menu.
  


  3.2.1  Charger  partir de la disquette, Menus
  ----------------------------------------------

    Dans les conditions normales, l'AMSDOS ("Amstrad DOS") est actif, et
    toutes les instructions concernant les fichiers utilisent la disquette.
    En fait, vous n'aurez pas  insrer une vraie disquette de CPC dans
    le lecteur de disquettes de votre PC chaque fois que vous voudrez
    accder  un fichier (outre le fait que votre PC n'utilise srement
    pas des disquettes 3 pouces !).
    Pour obtenir la vitesse maximale, une disquette de CPC est enregistre
    dans un fichier DOS appel "image de disque". Ce fichier peut se trouver
    n'importe o sur le disque dur, ou mme sur une disquette 3,5 pouces 
    haute densit.
    
    Rappelons quelques instructions de l'AMSDOS :
    
    - CAT <RETURN> : affiche le catalogue.

    - Avec RUN"<nom_de_fichier>", vous chargez et lancez un programme.
      On peut omettre les guillemets de fin. Cette instruction est utile
      pour les programmes en Basic avec l'extension BAS, et, dans bien des
      cas, pour les programmes binaires avec l'extension BIN.

      Un moyen simple de lancer un programme :
      1. Ecrire le nom du programme, par exemple "disc", *sans* appuyer
         sur <RETURN>.
      2. Maintenir enfonce la touche <CTRL> et appuyer sur la flche
         gauche du curseur (le curseur bondit au dbut de la ligne).
      3. Avec toujours la touche <CTRL> enfonce, appuyer sur <ENTREE> 
         (pas <RETURN> ! Celle du clavier numrique) : apparat la mention
         RUN"disc, et le programme dmarre.

    - LOAD"<nom_de_fichier>" charge un programme mais ne le lance pas. 
      Vous pouvez inspecter les programmes Basic avec LIST et les lancer
      ensuite avec RUN. En gnral, les programmes binaires ne se chargeront
      pas avec LOAD, mais vous pouvez essayer au pralable l'instruction
      MEMORY, par exemple avec "MEMORY &1fff".

    - SAVE"<nom_de_fichier>" sauvegarde un programme Basic. Pour les
      programmes binaires, vous devrez spcifier davantage de paramtres.
      Par exemple : SAVE"<nom_de_fichier>",b,&c000,&4000 sauvegarde l'cran.
      
    - MERGE"<nom_de_fichier>" est galement possible : il fusionne un 
      programme Basic avec un autre dj prsent en mmoire.


    Quelques instructions spciales de l'AMSDOS doivent tre prcdes
    par une barre verticale (ou un "" avec les claviers Azerty) :
    - |A, |B pour slectionner le lecteur de disquettes (galement possible 
      avec |DRIVE,0 ou 1)
    - |DIR,"<masque_de_nom_de_fichier>" pour voir le catalogue selon vos
      critres de slection.
      Note importante : utilisez la syntaxe suivante sur un CPC 464 :
           a$="<masque_de_nom_de_fichier>" : |DIR,@a$
    - |ERA,"<nom_de_fichier>" efface un fichier.
      Note importante : utilisez la syntaxe suivante sur un CPC 464 :
           a$="<nom_de_fichier>" : |ERA,@a$
    - |REN,"<nouveau_nom>","<ancien_nom>" pour renommer un fichier.
      Note importante : utilisez la syntaxe suivante sur un CPC 464:
           a$="<nouveau_nom>" : b$="<ancien_nom>" : |REN,@a$,@b$
    - |TAPE pour commuter vers la cassette. Dcrit dans la section suivante.
    - |DISC pour commuter vers la disquette.
    
    Il existe d'autres instructions, mais moins importantes.

                              

    Le menu "Insrer une Disquette"
    -------------------------------

    Jusqu'ici, vous ne pouviez utiliser qu'une seule disquette, celle qui
    est dj "insre" dans le lecteur. Pour en insrer une autre, appuyer
    sur la touche F3, et le menu suivant apparat : 
               
                     Insert Disk
                     Drive               0
                     Side Select         0     
                     Write Protected     0
                     Autostart           1

    Avec les flches du curseur <Haut> et <Bas>, vous pouvez slectionner 
    une ligne. Vous pouvez aussi le faire en tapant en lettres (on corrige
    les erreurs de frappe avec <Suppr>). Changez les chiffres avec les 
    flches <Gauche> et <Droite> ou en tapant directement un chiffre. Un 
    appui sur <RETURN> ou sur <ENTREE> et sur n'importe quelle ligne, par 
    exemple la premire, prend en compte les modifications, alors qu'on 
    les annule avec <Esc>.
    "Drive" dsigne le lecteur dsir (0 = A, 1 = B). 
    "Side Select" commute entre les deux faces, pour les lecteurs double 
    face, et n'a aucun effet sur les lecteurs simple face.
    Avec "Write Protected", vous pouvez marquer une disquette comme protge 
    en criture (0=Non, 1=Oui, protge en criture).
    Si "Autostart" est actif, le premier programme Basic sur la disquette est
    lanc automatiquement aprs l'insertion (alternative : DISC.BAS).

    Le Menu de slection de fichier
    -------------------------------

    Pour slectionner un fichier, appuyez sur <RETURN>, et un catalogue 
    du lecteur de disquettes apparat. Slectionnez une nouvelle disquette 
    de la mme faon que dcrit ci-dessus.

    Si une disquette est dj prsente dans le lecteur, vous n'avez pas
    besoin de l'"ter" d'abord, comme vous le feriez dans la ralit avec
    un vrai CPC : l'opration est accomplie automatiquement. Au bas de
    l'cran, cette disquette est affiche.

    Vous verrez jusqu' 15 fichiers ; s'il y en a davantage, le signe
    "[]" apparat.
    - <Dbut> place le curseur sur le premier nom de fichier, <Fin> sur le
      dernier.
    - <PagePrc>/<PageSuiv> font dfiler les pages de la liste.
    - <RETURN> prend en compte le nom slectionn, <Esc> annule tout.
    Vous pouvez aussi slectionner les noms directement en tapant leur
    premire lettre.          

    Si vous utilisez une souris, cliquez "[]" pour <PagePrc>,
    "[]" pour <PageSuiv>, "[<]" pour <Gauche>, "[>]" pour
    <Droite> et [ok] pour <RETURN>.
    Utilisez le bouton droit de la souris pour marquer une ligne (comme
    double-clic), et "[_]" comme  <Esc>.

    ".." est le rpertoire "parent" ; [A], [B], ... sont les lecteurs de
    disquettes disponibles. Ne slectionnez que des lecteurs contenant une 
    disquette, sinon vous rcolterez des ennuis !
    
    Il est galement possible d'insrer des disquettes archives dans un
    fichier compress ZIP. Slectionnez une archive ZIP en appuyant sur
    <RETURN>, et son contenu est affich comme un rpertoire normal. Si vous
    choisissez un fichier archiv dans un fichier ZIP, il est automatiquement
    extrait vers un fichier temporaire. Pour que cela soit possible, il faut
    que le programme PKUNZIP se trouve quelque part o le DOS puisse le
    trouver, ou mme dans le sous-rpertoire de CPCEMU.
    Les fichiers temporaires sont automatiquement dtruits ds qu'on n'en 
    a plus besoin. Les ventuelles modifications que vous auriez pu faire 
    sur un fichier extrait d'une archive ZIP *ne sont pas* rcrites dans 
    l'archive. Si vous sauvegardez quelque chose sur une image de disquette
    archive dans un fichier ZIP, ce sera perdu ds que vous insrerez une
    autre disquette : au cas o vous voudriez vraiment modifier un programme,
    il faudrait l'extraire avant de lancer CPCEMU.

    Comment crer des images de disque  partir de vos propres disquettes
    CPC ? Ce sera dcrit au chapitre 5 (Transfert de donnes entre CPC et PC).




  3.2.2  Charger depuis et sauvegarder sur cassette
  -------------------------------------------------

    Qu'est-ce, en ralit, que la "cassette" sur CPCEMU ?
    Eh bien, les fichiers sur "cassette" sont des fichiers ordinaires 
    relevant des rpertoires du DOS ! Ils n'ont pas besoin, comme les
    fichiers sur disquette, d'tre prsents dans un fichier DSK.
    Sur un CPC, aprs l'instruction "|TAPE", les instructions Basic portant 
    sur les fichiers utilisent la cassette, mais seulement celles qui ne
    sont pas prcdes de "|". Vous pouvez employer les instructions dcrites
    dans la section prcdente (CAT, RUN", LOAD", SAVE", MERGE") avec les
    fichiers sur cassette.
    Si vous omettez un nom de fichier, le menu de slection des fichiers
    apparatra tel qu'il est dcrit dans la section prcdente.
    Avec SAVE"", vous pouvez, soit craser un fichier dj existant, 
    soit en crer un nouveau, en spcifiant un nouveau nom sur la dernire
    ligne "(new name)".

    Vous pouvez aussi charger des programmes  partir d'une archive ZIP, 
    mais la sauvegarde, toujours impossible, est ignore.

    Avec l'mulateur, vous avez ce qu'il y a de mieux comme lecteur de
    cassettes !



  3.2.3  Charger et sauvegarder des snapshots
  -------------------------------------------

    Les snapshots sont des "dumps" de la mmoire qui reclent, non seulement 
    une copie du contenu de la mmoire, mais aussi l'tat interne des divers
    circuits du CPC, par exemple le microprocesseur.
    A tout instant, vous pouvez interrompre un programme en train de tourner, 
    et le sauvegarder sous forme de snapshot ; plus tard, vous pourrez le 
    recharger et continuer la partie (si c'est un jeu)  l'endroit o vous 
    vous tiez interrompu.
    On cre un snapshot avec la touche F6. Spcifiez la taille du snapshot, 
    64K ou 128K. Les snapshots de 128K n'ont d'utilit que si la seconde
    banque de la mmoire tait utilise. Dans ce cas, prcisez "Snapshot
    de 128 K = 1", le "1" signifiant "oui".

    Le menu de slection de fichiers est le mme que celui dj dcrit pour 
    les disquettes, avec les commentaires additionnels donns pour la
    cassette (3.2.1 et 3.2.2).

    On recharge un snapshot avec la touche F5.




4.  Changer la Configuration
____________________________

Dans ce chapitre, vous apprendrez comment configurer CPCEMU pour vos propres
besoins. Le menu des rglages y sera dcrit, ainsi que le fichier de 
configuration et les paramtres de la ligne de commande.

                                           

4.1  Le Menu des Rglages ("Setup Menu")
========================================

  C'est le moyen le plus simple de rgler CPCEMU. Nanmoins, ce menu ne vous
  permettra pas de changer TOUS les rglages. Pour donner un exemple, si
  vous voulez utiliser des ROMs additionnelles, vous devrez employer le
  fichier de configuration dcrit  la section 4.2.

  Comme dj mentionn dans la section consacre au clavier, vous entrez
  dans ce menu avec la touche F7. L'cran suivant apparat (version en
  anglais :
  

       ___Emulation
       Emulation Delay        0
       Emulation Speed        1
       Interrupt Frequency    300
       Interrupt Resume       1
       Realtime               0

       ___Screen
       Colour Screen          1
       Multimode Update       0
       Palette Change         1
       Screen Offset          0
       Video Mode             0
       VSync Position         5

       ___Sound
       Sound Enabled          1
       Sound Device           2
       SB Delay               35
       SB Delay0              6
       SB DMA buf             128
       SB sample rate         0
       SB Stereo              0

       ___Control
       Joy0 Calibrate
       Joy1 Calibrate
       KBD Language           0
       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
       Show Config
       Load Configuration
       Restart Emulation
       Save Configuration
       Poke Database                      base de donnes pour tricher aux jeux            
       Dos Shell
       Continue


  Slectionnez les rglages comme dj dcrit en 3.2.1.


  Emulation Delay
    Cette option vous permet de ralentir l'mulation si elle est trop rapide.
    0 signifie "aucun dlai", 100 est un court dlai, 300 un dlai plus long.

  Emulation Speed
    0 = mulation lente du Z80
    1 = mulation rapide du Z80

  Interrupt Frequency
    Pour changer la frquence  laquelle les interruptions sont produites.
    Sur un vrai CPC, c'est toujours 300 Hertz. Si vous augmentez cette 
    valeur, beaucoup de programmes sembleront tourner plus vite, mais il y 
    a moins de puissance de calcul entre deux interruptions. Si vous avez un
    ordinateur plutt lent, vous devrez parfois rabaisser cette valeur entre
    100 et 200. On peut choisir une valeur entre 18 et 600.
    Pour plus d'informations, voir le chapitre 7.

  Interrupt Resume
    Encore une de ces options qu'on ne peut pas expliquer sans un minimum
    d'information d'arrire-plan. Sur un ordinateur sans mmoire EMS
    (mmoire pagine), l'option mise sur 0 signifie que ces interruptions
    peuvent tre ngliges. En principe, ce n'est pas souhaitable, mais
    avec une valeur de 1, l'mulation est trop lente. Avec de la mmoire
    pagine, l'option est mise sur 1, de sorte que CPCEMU tente de grer
    chaque interruption.
    Note importante : il semble que CP/M Plus ne tourne qu'avec de la 
    mmoire pagine et cette option mise sur 0 ! 
    Pour plus d'information, voir au chapitre 7.

  Real Time
    Active le temps rel du CPC. L'mulateur insre alors des temps
    d'attente pour fonctionner  la vitesse d'un vrai CPC.

  Colour Screen
    Emulation d'un cran couleurs ou d'un cran vert, en changeant la 
    palette.

  Multimode Update
    Si des programmes utilisent plusieurs modes graphiques sur le mme 
    cran, mettez cette option sur 1. Alors, CPCEMU essaiera de les grer
    correctement.
    Par dfaut, l'option est dconnecte, parce que cela ne marche pas
    bien dans tous les cas.

  Palette Change
    Rglez cette option sur 0 pour dsactiver les changements de palette.
    Cela n'a de sens que si vous ne pouvez rien voir  l'cran pour cause
    de scintillement. Si vous appuyez sur la touche F8 pour obtenir un
    reset, l'option est remise sur 1 automatiquement.
    Suggestion : si la mise  jour de la palette est dsactive et que
    vous voyez des couleurs compltement fausses, essayez d'appuyer deux 
    fois de suite sur F2.

  Screen Offset
    Spcifiez le nombre de lignes de texte dont l'cran du CPC doit tre
    dplac verticalement. Normalement, vous n'avez pas besoin de cette
    option. Vous obtiendrez le mme effet avec les touches <PagePrc> et
    <PageSuiv>. Valeurs possibles : de 0 (pas de dplacement) jusqu' 25.

  Video_Mode
    Rgle le mode vido de la carte VGA.
    0 => 640 x 200 x 16 (par dfaut)
    1 => 640 x 350 x 16
    2 => 640 x 480 x 16
    et si vous avez un BIOS VESA, le plus frquemment :
    3 => 800 x 600 x 16
    4 => 1024 x 768 x 16
    5 => 1280 x 1024 x 16
    ...
    ATTENTION :
    N'utilisez les modes suprieurs ou gaux  3 que si votre moniteur
    peut les supporter ! S'il se produit des bruits tranges, teignez-le
    immdiatement ! Mais cela ne devrait arriver qu'avec de trs vieux
    moniteurs.

  VSync Position
    Habituellement, vous n'avez pas besoin de cette option, mais rien de
    dommageable ne peut arriver si vous l'essayez.
    A chaque "rafrachissement" de l'cran, un retour vertical du faisceau
    d'lectrons se produit (le "frame"), et un bit spcial, appel le bit 
    VSYNC ("vertical synchronisation") est mis  1. Vous pouvez dfinir la
    position o la synchronisation verticale se produit. Les valeurs 
    possibles vont de 0  5. Pour plus d'information, lire le chapitre 7.

  Sound Enabled
    Active la sortie du son. 1=marche, 0=arrt. Vous pouvez aussi appuyer 
    sur la touche de fonction F4.

  Sound Device
    Dfinit le priphrique de sortie du son :
    0 = aucun
    1 = haut-parleur du PC
    2 = SoundBlaster (Pro), son FM
    3 = SoundBlaster (Pro), son numrique, et merci  Ulrich Doewich
    4 = GUS (Gravis Ultrasound), et merci  Ulrich Doewich

  Sb Delay
    Fixe la valeur du dlai d'attente aprs chaque accs en criture sur 
    la carte-son. Avec des valeurs basses (par exemple 0), la sortie du 
    son est acclre. Si un problme se prsente, utilisez 35.

  Sb Delay0
    Encore un dlai pour la SoundBlaster. Ne le modifiez pas.

  SB DMA buf
    Dfinit la taille du tampon DMA (Direct Memory Access) destin aux sons
    numriques SoundBlaster.

  SB sample rate
    Dfinit le taux d'chantillonnage des sons numriques.
    0 vaut pour 22 KHz, et 1 pour 44 KHz.

  SB Stereo
    Drapeau stro : 0 pour non et 1 pour oui.

  Joy0 Calibrate
    Vous savez srement, pour avoir utilis d'autres programmes, que vous
    devez calibrer avant toute chose le joystick analogique du PC.
    Slectionnez cette option en appuyant sur <RETURN>, dplacez le joystick
    vers le haut et  gauche, puis vers le bas et  droite. Alors, des
    paramtres sont affichs. Si vous dsirez rutiliser votre joystick,
    notez-les et crivez-les dans le fichier de configuration (voir section
    suivante). Nanmoins, vous devrez rpter l'opration si vous changez
    de joystick.

  Joy1 Calibrate
    Comme pour prcdemment, mais pour le joystick 1.

  KBD Language
    Avec cette option, vous pouvez slectionner une rpartition des touches
    du clavier valable pour d'autres pays.
    0 = UK (Royaume Uni, par dfaut)
    1 = GR, clavier "presque allemand". Malheureusement, il est impossible
    d'avoir un vrai clavier allemand, car les touches SHIFTes ne peuvent 
    pas tre mises en correspondance avec des touches non-SHIFTes. Mais "Z" 
    et "Y" sont permuts, et d'autres caractres modifis.
    2 = FR, clavier "presque franais". Voir ci-dessus ce qu'on en dit 
    pour l'allemand.


              +--------------------------------------------------+
                              NOTE DU TRADUCTEUR                
              --------------------------------------------------
                                                                
                  Heureusement, cette question a t rsolue    
                   99,99 pour cent.                            
                                                                
                  Lisez plutt le texte COCORICO.TXT qui        
                  accompagne cette version de CPCEMU : vous     
                  saurez tout sur la francisation complte      
                  du clavier.                                   
                                                                
              +--------------------------------------------------+

  3 = SP, clavier "presque espagnol"

  Mouse enabled
    Active l'utilisation de la souris dans les diffrents menus.
    
  Company Name
    0 = Isp
    1 = Triumph
    2 = Saisho
    3 = Solavox
    4 = Awa
    5 = Schneider
    6 = Orion
    7 = Amstrad

  PPI 50 Hz
    Le CPC peut fonctionner sur le courant alternatif du secteur, sur :
      0 - 60 Hz
          ou
      1 - 50 Hz (par dfaut en Allemagne, en France, etc.)
    Durant un reset de l'cran, le bit 4 du port B du PPI est vrifi,
    et le CRTC est initialis comme il convient.
    Laissez-le sur 50 Hz.

  PPI EXP signal 
    Certaines cartes d'extensions positionnent ce smaphore sur le PPI.
    Sur un CPC 464, il est mis  1 si un lecteur de disquettes est connect.
    Sur un CPC 6128, il est toujours mis  1.

  Amsdos disabled
    "Oublie" l'initialisation de l'Amsdos. Utile si vous dsirez charger
    des programmes depuis une cassette sans donner auparavant l'instruction
    "|TAPE" ou "TAPE".
    Le plus simple serait de transformer en commentaire,  l'aide d'un 
    point-virgule, la ligne ROM_BLOCK pour l'AMSDOS (puisque avec ROM_BLOCK 
    vous spcifiez les ROMs  charger), mais avec cette consquence que 
    l'Amsdos n'est plus du tout prsent.
    Alors qu'avec cette option, il le sera.

  Amsdos speedup
    Permet une modification de la ROM Amsdos, acclrant les accs-disque.
    Ralis en minimisant les dlais d'attente du moteur du lecteur, bien
    sr inutiles pour l'mulateur.

  Break mask
    Rserv aux oprations de dboguage. Avec une valeur 3 dans le fichier 
    de configuration, on vite les erreurs causes par des instructions
    illgales. Ne pas modifier cette valeur.

  EMS enabled
    Autorise l'utilisation de la mmoire pagine (EMS, ou Expanded Memory
    System). S'il n'y a pas assez de mmoire pagine disponible, CPCEMU
    utilise automatiquement la mmoire conventionnelle.
    Pour plus d'information sur la mmoire EMS, consultez la section 2.3.1
    et le chapitre 7.

  Language
    Langue utilise dans les messages d'aide :
      0 = UK (anglais)
      1 = GR (allemand)
      2 = FR (franais)
      3 = SP (espagnol)

  Tape Bypass
    Autorise l'usage de la cassette.
    Davantage d'information sur la drivation des vecteurs-cassette au 
    chapitre 7.

  CPC Type
    Dfinit le type de CPC dsir :
    0 = CPC 464
    1 = CPC 664
    2 = CPC 6128
    3 = CPC 464+ (?)
    4 = CPC 6128+ (?)
    5 = KC compact
    Si vous voulez utiliser les types 3 ou 4, vous devrez d'abord trouver
    les images des ROMs ncessaires et les spcifier dans CPCEMU.CFG.
  
  Show Config
    
  Load Configuration
    Charge un autre fichier de configuration sauvegard auparavant par
    "Save Configuration". Certains paramtres peuvent n'avoir aucun effet 
    jusqu' ce que vous relanciez l'mulation avec "Restart Emulation et
    les nouvelles valeurs.

  Restart Emulation
    Aprs avoir charg une configuration avec "Load Configuration", vous
    pouvez relancer l'mulation avec les nouvelles valeurs.

  Save Configuration
    Sauvegarde la configuration courante.
    Notez que vous ne pouvez pas craser le fichier de configuration 
    originel, celui nomm CPCEMU.CFG.

  Poke Database
    Vous jouez  un jeu que vous ne pouvez pas terminer ? Alors essayez 
    cette slection de POKEs. Si votre jeu figure dans la liste, vous 
    pourrez le rendre plus facile en obtenant des vies infinies, par 
    exemple. 
    Vous pouvez tendre cette liste (CPCEMU.DBF) avec vos propres POKEs. 
    Voyez le chapitre 7 pour une description de ce fichier.

  Dos Shell
    Ouvre une fentre vers le DOS avec davantage de mmoire libre. Vous
    revenez  CPCEMU avec "EXIT".

  Continue
    Prend en compte les valeurs choisies et revient  l'mulation.
    Vous obtiendrez le mme effet en appuyant sur <RETURN> dans n'importe
    quelle ligne contenant une valeur.




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

  Apprenons  prsent un autre moyen de configurer CPCEMU.
  Lors de son lancement, CPCEMU lit d'abord le fichier de configuration 
  appel CPCEMU.CFG, toujours employ par dfaut. Notez que, lorsque vous
  lancez CPCEMU avec un fichier CPCxxx.BAT, il est localis dans le sous-
  rpertoire TMP. Cela autorise les configurations dfinies par l'utilisateur,
  mme si CPCEMU se trouve sur un CD-ROM.
  La structure de ce fichier est dcrite de telle manire que vous pourrez
  utiliser vos propres ROMs, changer en permanence la nationalit du clavier, etc.
  
  Un aperu du fichier CPCEMU.CFG :

    ;CPCEMU.CFG - The Configuration File for CPCEMU (v1.5)
    ;Marco Vieth, 20.11.1997
    ;
    ; standard configuration for CPC 464, 664, 6128, 646+, 6128+, KC compact
    ;
    SHOW_CONFIG=0            ;should the configuration be displayed?
    CPC_TYPE = 2             ;CPC 6128, if no command line parameter -t
    ...
  Dj, avec ces quelques lignes, vous constatez une structure : les
  commentaires commencent par un point-virgule (;). Les options sont
  modifies en crivant un mot-cl suivi par le signe "=", suivi par une
  <valeur>. La <valeur> dpend du mot-cl, et peut tre une chane ou un
  nombre. Les nombers peuvent tre donns en dcimal, en hexadcimal ("0x")
  ou en binaire ("%").

  Lorsque vous connaissez le sens des mots-cls, vous pouvez ajuster les
  valeurs avec un diteur de textes, selon vos besoins.

  Vous connaissez dj la plupart des mots-cls du menu des rglages.
  Voici d'abord une liste alphabrique de tous les mots-cls :

  #ENDIF
  #IFCPC
  AMSDOS_DISABLED
  AMSDOS_SPEEDUP
  BREAK_MASK
  COLOUR_SCREEN
  COMPANY_NAME
  CPC_TYPE
  DATA_FILE
  DRIVE_A
  DRIVE_A_AUTOSTART
  DRIVE_A_SIDE
  DRIVE_A_WRITEPROT
  DRIVE_B
  DRIVE_B_AUTOSTART
  DRIVE_B_SIDE
  DRIVE_B_WRITEPROT
  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
  SB_DMA_BUF
  SB_SAMPLE_RATE
  SB_STEREO
  SCREEN_OFFSET
  SHOW_CONFIG
  SNAPSHOT
  SOUND_DEVICE
  SOUND_ENABLED
  TAPE_BYPASS
  TAPE_PATH
  TMP_PATH
  VIDEO_MODE
  VSYNC_POSITION

  Voici maintenant la signification des nouveaux mots-cls :

  - #ENDIF, #IFCPC
    Des instructions de contrle pour la configuration conditionnelle, selon
    le CPC dsir :
      #IFCPC <Type de CPC> ... #ENDIF
    Pour <Type de CPC>, les quatre types de "CPC_TYPE" sont valides.
    Par consquent, vous n'avez besoin que d'un seul fichier de
    configuration pour tous les CPCs. Les fichiers batch CPC464.BAT,
    CPC664.BAT et CPC6128.BAT fixent le type dsir avec les paramtres
    de la ligne de commande. Ceux-ci sont expliqus dans la section qui
    suit.

  - DATA_FILE = "<chemin + nom de fichier>"
    Prescrit le fichier de donnes (CPCEMU.DAT).

  - DRIVE_A = "<chemin + nom de fichier>"
    Fixe le chemin vers les images de disquettes. Si vous employez un
    nom de fichier dans le chemin, cette "disquette" est automatiquement
    "insre" dans le lecteur A;
    La section 3.2.1 dcrit le chargement et la sauvegarde sur disquette.

  - DRIVE_A_AUTOSTART

  - DRIVE_A_SIDE

  - DRIVE_A_WRITEPROT

  - DRIVE_B = "<chemin + nom de fichier >"
    Comme pour DRIVE_A... masi pour le lecteur B.

  - DRIVE_B_AUTOSTART

  - DRIVE_B_SIDE

  - DRIVE_B_WRITEPROT

  - JOY0_CALIBRATE = <xcen>, <ycen>, <xdead>, <ydead>
    Dfinit une calibration de joystick pour votre joystick analogique.
    Utilisez les valeurs affiches aprs la calibration du joystick dans
    le menu des rglages (voir section 4.1).
    Ceci est un mot-cl avec 4 valeurs. Vous devez toujours les spcifier
    toutes. 4 fois 0 signifie "non calibr".
    
  - JOY1_CALIBRATE = <xcen>, <ycen>, <xdead>, <ydead>
    Comme pour JOY0_CALIBRATE.
    
  - POKE_DATABASE = "<chemin + nom de fichier>"
    Fixe le fichier de base de donnes de POKEs (CPCEMU.DBF).

  - PRINTER = "<chemin + nom de fichier>"
    Fixe le fichier o les sorties vers l'imprimante sont collectes.
    Il esr effac  chaque lancement de l'mulateur.
    Aprs avoir quitt l'mulateur, vous pouvez l'envoyer vers votre
    imprimante avec "COPY <nom de fichier> prn:".

  - ROM_BLOCK = <numro de ROM>, "<nom de fichier>", <position de la ROM>
    Prescrit quelle ROM devrait tre charge, et o.
    Rptez cette ligne pour chaque ROM que vous voulez charger.
    Le nombre maximal de ROMs peut aller jusqu' 20, si vous itilusez
    de l'EMS.
        * <numro de ROM> est le numro assign  la ROM, celui qui est
          slectionn par "OUT &DF00, <numro de ROM>". Les valeurs
          possibles sont :
                  0         : ROM d'avant-plan (par exemple le Basic).
                  1 - 251   : ROMs d'arrire-plan. Sur un CPC 664/9128, les
                              ROMs de 1  15 sont automatiquement initialises
                              durant le reset (sur un CPC 464, seulement les
                              ROMs de 1  7).
                              La ROM de l'AMSDOS a toujours le numro 7.0
                  255       : ROM basse (par exemple le systme d'exploitation).
                              N'a que ce numro dans l'mulateur.
        * <nom de fichier> est un fichier dans le sous-rpertoire ROM_PATH,
          qui contient la ROM.

        * <position de la ROM> vaut naturellement 0. Si un fichier contient
          davantage de ROMs, c'est alors la position de la ROM dsire : 0,
          1, 2, etc.
            ROM_BLOCK = 255, "CPC6128.ROM", 0
            ROM_BLOCK = 0  , "CPC6128.ROM", 1
          La ROM basse et la ROM d'avant-plan sont charges l'une aprs l'autre
           partir du mme fichier.
          
  - ROM_PATH = "<chemin>"
    Fixe le chemin vers les images de ROM. Dans le fichier de configuration, ce
    chemin est initialis avec ".\ROM". Les ROMs elles-mmes sont dfinies avec
    le mot-cl ROM_BLOCK.
    
  - SNAPSHOT = "<chemin + nom de fichier>"
    Fixe le chemin vers les snapshots. Si vous spcifiez un fichier de snapshot
    comme nom de chemin, ce snapshot sera lanc automatiquement.
    Voyez la section 3.2.3 pour davantage de dtails.
    
  - TAPE_PATH = "<chemin>"
    Fixe le chemin vers les fichiers "cassette". Dans le fichier de
    configuration, ce chemin est initialis avec ".\TAPE".
    Voyez la section 3.2.2 pour davantage de dtails.

  - TMP_PATH = "<chemin>"
    Fixe le chemin des fichiers temporaires. Vous en avez surtout besoin
    si vous slectionnez un fichier  l'intrieur d'nue archive ZIP, car
    CPCEMU les extrait  cet endroit avec PKUNZIP.
    
    
    
4.3  Paramtres de la ligne de commande
=======================================

  Comme vous le savez  propos d'autres programmes, il est galement
  possible avec CPCEMU d'utiliser des paramtres sur la ligne de commande.
  Il y en a d'ailleurs trs peu.
  
  Vous pouvez excuter CPCxxx.BAT avec les options suivantes :
       /f          : employer le mode rapide (par dfaut)
       /s          : employer le mode lent
       /d          : employer le mode dbogage, dcrit au chapitre 7
       /x          : dsactiver l'utilisation de la mmoire EMS
       /c <fichier>: spcifier un autre fichier de configuration, en
                     ngligeant le fichier par dfaut CPCEMU.CFG. Voir la
                     section 4.2
       /t <type>   : choisir le CPC dsir : 464, 664 ou 6128, 464+, 6128+
                     ou KC compact avec /t 0  /t 5 respectivement.
       /h          : afficher un cran d'aide

  L'option "/d" est automatiquement utilise, si une option inconnue a t
  spcifie.
  A la place de "/", vous pouvez aussi utiliser "-", comme sous UNIX.




5.  Transfert de donnes entre CPC et PC
________________________________________

Que faire avec un bon mulateur si vous n'avez pas de programmes pour
l'alimenter, ou si vous ne voyez aucune possibilit de transfrer des
programmes du CPC vers le PC ?
Au chapitre 6 (Sources d'approvisionnement,...), des sources "ftp" sont 
numres, o l'on peut trouver des programmes pour CPC.  
Le prsent chapitre traite du transfert des donnes depuis le CPC vers 
le PC. Des utilitaires adapts aux diffrentes mthodes possibles sont
dcrits (disquette, avec une interface parallle ou srie).




5.1  La disquette comme intermdiaire
=====================================
                      
  C'est le moyen le plus simple de transfrer des programmes pour CPC 
  vers le PC. Vous n'avez besoin que d'un CPC avec un second lecteur de
  disquettes du bon format, c'est--dire que les disquettes qu'il reoit
  doivent correspondre au format du lecteur de votre PC (sinon, vous
  pourriez toujours tenter de connecter un lecteur 3 pouces  votre PC). 
  Le PC doit tre "persuad" de reconnatre les disquettes au format CPC
  au moyen d'un utilitaire de lecture des formats CPC appel CPCTRANS.



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

    J'ai conu CPCTRANS afin de crer des images de disquettes  partir 
    de disquettes CPC. Les formats standard du CPC aussi bien que les
    formats double face de Vortex sont reconnus.
    CPCTRANS n'est pas fait pour transfrer des formats protgs contre
    la copie !
    Lorsque vous appellerez CPCTRANS sans paramtres, vous obtiendrez 
    un court aperu.
    CPCTRANS est quivalent  l'instruction COPY du DOS :
    
            "CPCTRANS <source> <destination> <options>".

    Exemples :
    "CPCTRANS B: DISK1.DSK" copie la disquette du lecteur B vers l'image
    de disquette DISK1.DSK. Si cette dernire n'existe pas, elle est cre.
    "CPCTRANS DISK1.DSK B:" recopie l'image de disquette DISK1.DSK sur la
    disquette insre dans le lecteur B.

    La premire commande ne fonctionne que pour le format DATA.
    Pour les autres formats, vous devrez employer une option :
      /f 0    : format DATA (par dfaut)
      /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 essaie de l'identifier
      /f 6    : +3DOS
    Notez l'espace entre "/f" et le nombre.
    Lorsque vous utiliserez les formats DATA ou SYSTEM en double face,
    vous pourrez slectionner la face A ou B dans le menu Disk (3.2.1).

    Quand vous recopiez une image de disquette sur une disquette relle,
    celle-ci doit avoir le mme format ! Pour les simples formats, vous
    pouvez employer 22DISK, dcrit dans la prochaine section.

    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", la copie est recopie 
    sur la disquette du lecteur B.

    L'option "/v" active le mode "verify", obligeant CPCTRANS  vrifier
    que la copie est correcte. C'est un peu plus lent, mais cela augmente
    la scurit.

    L'option "/t <nombre>" fixe le nombre de pistes  copier. Normalement,
    il y a 40 pistes, seul le format VORTEX en a 80.

    L'option "/q" (quick format) est une particularit avec laquelle vous
    pouvez formater une image de disquette, au lieu d'y copier des donnes.
    Vous devez nanmoins spcifier un lecteur valide comme premier paramtre, 
    mme s'il n'est (videmment) pas utilis.
    Exemple :
    "CPCTRANS a: SYSTEM.DSK /f 2 /q" formate SYSTEM.DSK en tant qu'image
    de disquette, avec le format SYSTEM.



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

    Ce programme est disponible en shareware. Avec les dfinitions 
    correctes, vous pouvez utiliser presque tous les formats CP/M !
    Malheureusement, les formats employs par le CPC ne sont pas inclus
    avec la copie d'valuation de 22DISK. Pour y remdier, j'ai dfini
    ces formats dans le fichier CPMDISKS.DEF. Vous le trouverez dans le
    sous-rpertoire UTILITY.
    Que peut-on faire avec 22DISK ?
    On peut transfrer, dans les deux sens, de simples fichiers aux
    formats DOS et non-DOS, formater des disquettes, etc.
    Copiez les fichiers CPC dans le sous-rpertoire TAPE. Lisez la
    section 3.2.2 pour savoir comment faire.



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

  Si votre CPC n'a pas de second lecteur, vous pouvez faire vos transferts
  de donnes par l'intermdiaire de l'interface parallle. L'ide vient de
  Gilles Molinari, et il a galement crit pour cela des programmes en
  Turbo Pascal. Mais peut-tre appartenez-vous  l'armada d'utilisateurs
  qui n'ont PAS le compilateur Turbo Pascal sur leur CPC, et ne peuvent
  donc rien faire avec le programme source en Pascal ! Aussi ai-je rcrit
  les utilitaires en Basic Locomotive, et tendu leur action dans le sens
  PC->CPC.
  Ainsi, il est possible de transfrer des fichiers dans les deux sens
  entre CPC et PC ! Le CPC et le PC seront runis par leur interface
  parallle.

  Si vous possdez un CPC 6128 avec des connecteurs Centronics, et que vous 
  les comparez avec une imprimante, vous noterez que CPC et PC correspondent
  trs bien au moyen d'un cble standard pour imprimante PC. Mais ne faites 
  rien encore, lisez la suite.
  
  Il semble que seuls les CPCs Schneider ont des connecteurs Centronics. 
  Si vous avez un Amstrad CPC 6128 avec de simples connecteurs troits,
  ou un CPC 464 ou 664, utilisez le diagramme plac  la fin de cette 
  section.

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

  Attendez ! Ne sautez pas le reste !

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

  Logiquement, voyons l'tape 2 d'abord.
  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
  ----------------------
  Il vous 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 
  correspondance, 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 CPCPARA.BAS 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, 
  car 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 prise 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           11 ---------  2
            .                         .                   8 --------- 10
            .                         .                   1 --------- 11
            .                         .                   7 --------- 12
     17 --------- 17           14 --------- 14            6 --------- 13
     18 --------- 19           19 --------- 19            5 --------- 15
            .                  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, Remerciements
_____________________________________________________________

  Dans ce chapitre, vous lirez o vous procurer des programmes pour CPC, 
  et  qui vous adresser si vous avez des questions. En outre, je mentionne 
  d'autres mulateurs pour Amstrad.


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

  Aucun problme si vous avez accs  Internet.
  Comme pour les mulateurs de Spectrum, un grand nombre d'archives
  "anonymes" existent, o vous trouverez des programmes pour CPC via FTP
  ou WWW.

  FTP
  ---

  - ftp.nvg.unit.no:/pub/cpc, merci  Arnt Gulbrandsen pour avoir cr
    le site, et  Nol Llopis pour en assurer la maintenance.
    C'est en Norvge, et c'est l'une des plus grosses archives concernant
    le CPC. Envoyez ce que vous avez  /pub/cpc/incoming.

  - sunshine.informatik.uni-wuerzburg.de:/pub/joscho/cpcemu
    Ceci est un miroir de ftp.nvg.unit.no. Si vous avez des problmes pour
    vous connecter  la Norvge, vous pouvez essayer a.

  - ftp://ftp.lip6.fr/pub/amstrad, merci  Remy Card.
    ftp://ftp.lip6.fr/pub/amstrad/frontend/menu.htm (HTML)
  - Toutes les questions concernant ce site doivent tre adresses 
    roussin@genesis8.frmug.org.
    Tous les fichiers viennent de "Genesis the 8bit generation BBS"
    (voir ci-dessous).

  - ftp.demon.co.uk:/pub/cpm, merci  Paul Martin. Fichiers Amstrad en
    relation avec CP/M. 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 cela gratuitement.

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

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


  WWW
  ---

  - http://andercheran.aiind.upv.es/~amstrad
    et un UK miroir: http://www.dcs.warwick.ac.uk/~divine/~amstrad/

  - ...


  BBS
  ---

  - Aspects 2:250/107 : +44 617920260, au Royaume-Uni, sysop Dave
    Gorski, V32b, CPCEMU v1.2, programmes (principalement en Basic)

  - Genesis the 8bit generation, 2:320/220, +33 1 53 95 32 43, en
    France, up to VFC, sysop : Emmanuel Roussin.
    Dernires versions des mulateurs, ROMs Azerty et Qwerty, freeware,
    shareware, PD, disk-zines, pokes, solutions, dmos, et quelques
    jeux du commerce (avec l'autorisation de leurs auteurs). Pour le
    moment, ils ont environ 29,5 Mo de programmes zipps. Pour les "fido
    users", vous pouvez consulter ALLFILES.ZIP, et l, voir ce qui vous
    intresse.

  - ZNODE 51 : + 49 89 961 45 75, Allemagne, entre 15:00 et 3:00 CET
    (MEZ), up to V32b, fichiers CPC.

  - ...



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 mont 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 un FAQ ("frequently asked question" : questions souvent poses)
  disponible
  (ftp://ftp.lip6.fr/pub/amstrad/amstrad.htm, FAQ en HTML).

  Si vous ne pouvez pas lire le newsgroup pour telle ou telle raison,
  crivez-moi un "email" (courrier lectronique). 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
       Germany

       tlphone/FAX : +49-5292-1366 (seulement les week-ends)

       Internet: cpcemu@hotmail.com
                 (ali@uni-paderborn.de)

       Comme vous l'avez probablement devin au vu de mon adresse Internet,
       j'tudiais les sciences informatiques  l'Universit de Paderborn.
       J'ai termin au printemps 1997.



  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@diablo.eimages.co.uk
                 ftp://ftp.eimages.co.uk/users/davidc/cpc/
                 http://www.ThePentagon.com/NukeEmUp/uaug


  David m'a offert d'aider un peu  rpondre  la pile de lettres reues.
  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 (30-50 Deutschmarks
  seraient appropris. Cela fait environ 20-33 dollars amricains,
  ou 13-21 livres anglaises, ou 102-170 francs franais).

  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
=======================================

  Jusqu'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 disquettes 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.2.



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


  - overscan
  - multi-mode amlior
  - cran centr avec des modes vido suprieurs
  - scrolling "hard" rapide
  - les claviers amricains n'ont pas de "<>", AltGr
  - simuler les ports d'extension du CPC
  - charger directement les disquettes CPC
  - charger directement les cassettes CPC (par le port imprimante
      ou la carte SoundBlaster)
  - transfrer une image de disque entire avec l'adaptateur parallle
  - contrle de volume pour la SoundBlaster
  - mulation Digiblaster
  - touches du joystick personnalisables
  - utilisation de la souris comme joystick
  - auto-dtection des fichiers SNA et DSK

  Peut-tre cela ne sera-t-il jamais ralis, car je suis entr
  maintenant dans la "vie active"...



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

  - Remerciements particuliers  Juergen Weber, non seulement pour ses
    nombreuses 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 de nombreuses fois.
    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  Ulrich Doewich pour avoir inclus dans l'mulateur une sortie
    son Gravis UltraSound et parcouru la documentation. Ulrich a crit
    un utilitaire analogue  CPCTRANS. Il recherche CPDREAD qui
    peut aussi lire les disquettes protges.
    
  - Merci  Emmanuel Roussin pour son engagement total envers le CPC.
    Il a fait l'essentiel pour la constitution du "newsgroup", et m'a 
    prt sa Multiface II pendant des mois, pour que je puisse l'inclure
    d'une faon ou d'une autre dans l'mulateur. 
    
  - Merci  Arnt Gulbrandsen pour sa source JPP, o j'ai trouv des ides
    pour le gestionnaire 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.

  - 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 quelques informations d'arrire-plan et rpond  la
question : "POURQUOI devrais-je faire ceci ou cela maintenant ?"
Le puissant menu de dbogage 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'informations Disque
       - Le bloc d'informations 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. Mais il y a
    calibration du temps en mode "realtime".



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

  + Toutes les couleurs du CPC (32 thoriques, 27 diffrentes, en fait)
  + Les trois modes d'cran (X x Y x COULEURS) :
        mode 0 = 160 x 200 x 16
        mode 1 = 320 x 200 x 4
        mode 2 = 640 x 200 x 2
  + 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 "mapps" par le matriel, de
    sorte que la vitesse est bonne. CPCEMU vous offre une extension 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 GUS ou Soundblaster. Son numrique ave bruit ou partie
    Adlib compatible FM.

  - Pas de son numrique, ou alors trop lent.
    

  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.)
    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 la 
    ligne PRINTER dans le fichier de configuration.




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, comme <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, et sont 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 "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" bascule entre "-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       : fixe 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
    dfaut, 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 matresse 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
    effectue 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" (Azerty : "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=1", 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)
    Elles quivalent  une instruction CALL vers une des fonctions internes.
    Les valeurs hexa 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 "AMSDOS_DISABLE=1" 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" ou "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.

    - "AMSDOS_SPEEDUP=1" 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.

    Dernire information sur un 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  1, sauf ceux concernant les vnements
      que vous ne voulez pas voir intervenir.
      b2 = 0 -> dsactive l'affichage des erreurs sur les ports 
                (utilisez 3)
      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), de prendre le
    quartet (sur les lignes d'entre imprimante->PC), et de 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 (* Note du
       traducteur : sauf le 6128 Plus, et encore son utilisation est-elle
       acrobatique, puisqu'il faut passer par le registre 12 du CRTC ! *).


    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 matresse 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, beaucoup plus lent que les microprocesseurs actuels.




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 nouveau format "tendu" de disquettes est conu pour la copie
    de disquettes protges. Les lments nouveaux de ce format
    tendu sont signals par un *E* ( partir de notre "Extended DISK
    Format Proposal, Rev.5).

    Le bloc d'Information Disquette
    -------------------------------
    Octet (hexa) :  Signification :
    00 - 21         MV - CPCEMU Disk-File\r\nDisk-Info\r\n
                    ("MV - CPC" est caractristique
                    pour la reconnaissance du fichier)
               *E*  "EXTENDED CPC DSK File\r\n\Disk-Info\r\n"
               *E*  ("EXTENDED" est caractristique pour
                    la reconnaissance du fichier)
    22 - 2F         inutilis (0)
               *E*  Crateur de DSK (nom de l'utilitaire)
                    (sans \0 de fin ncessaire !)
    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.
               *E*  inutilis (0)
    34 - FF         inutilis (0)
               *E*  octets forts des taille de piste pour toutes les pistes
                    (calcul de la mme faon que 32-33 pour le format
                    normal).
                    Pour les formats simple face, la table contient les
                    tailles de piste d'une seule face ; sinon, pour les deux
                    faces alternes.
                    Une taille de valeur 0 indique une piste non formate.
                    Longueur relle de la piste = valeur de la table * 256.
                    Gardez  l'esprit que l'image contient en plus 256 octets
                    d'information sur la piste.

    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)
               *E*  Longueur du secteur en octets (notation "petit Indien",
                    c'est--dire l'octet faible avant l'octet fort).
                    Cela permet d'avoir des secteurs de diffrentes tailles
                    sur la mme piste. Calcul comme (0x0080 << BPS rel).

    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 formats 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 du dump de la mmoire entire.

    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 possibles : 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 positionnent 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 
    dbogage 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. Scrolling "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 dmarrair 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 le patch 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 sur "cassette".
    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 sur 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=1).

  - 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=1).
    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 - )     (tait disponible sous UPD13A.ZIP)
    Avec la version v1.3, "Boulder Dash" ne marchait pas, alors qu'il
    fonctionnait avec v1.2.
    Le mode 2 d'interruption du Z80 n'tait pas simul correctement
    (oubli PUSH/POP).
    L'mulation lente du Z80 avait une bogue similaire.
    CPCTRANS : option -f 6 active.

  - v1.3b (20.5.1995 - )      (disponible sous UPD13B.ZIP)
    Certains utilisateurs ont signal qu'il n'y avait pas de sortie de son
    SoundBlaster depuis la version 1.3.

  - v1.4 (v1.3c)
    Support de son GUS par Ulrich Doewich.
    Systme d'aide en ligne en anglais, allemand, franais et
    espagnol. Documentation complte en franais.
    Support pour deux joysticks.
    Modes vido VESA pour rsolutions suprieures.
    Amlior le menu des rglages et le fichier de configuration.
    Configuration "load" et "save" ajoutes dans le menu des rglages.
    Amlior les routines du FDC pour les formats non standard.
    Format de disquette tendu.
    Couleurs et touches paramtrables par l'utilisateur.
    Nouveau SNA2GIF (v1.1) pour rcuprer l'image-cran d'un snapshot.
    CPCTRANS amlior (v2.3).
    Emulation rapide du Z80 : parfois, l'cran n'est pas compltement
    effac aprs un reset (problme avec HALT).



  CPCEMU est crit en C++ et en assembleur,  l'aide de Borland C 3.1, 
  optimisation 386 et Turbo Assembler. Pour le dbogage, on a employ
  Turbo Debugger.
  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)
  Type de 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/Suppr" 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 : *THE* 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 peut uniquement 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
Clavier 3.1
CPC 1.3
CPCEMU.CFG 4.2
CPCPARA.BAS 5.2
CPCREC.BAS 5.2
CPCTRANS.EXE 5.1.1
DELAY  4.2
DRIVE_A 4.2
DRIVE_B 4.2
EMS_EI 4.2
Fichier de configuration 4.2
Image de Disquette 3.2.1
INT_FREQ 4.2
INT_RESUME 4.2
JOY_CALIBRATE 4.2
KBD_LANGUAGE 4.2
Mmoire EMS 2.3.1
Menus 3.2.1
Menu Debug 7.3
Menu des rglages 4.1
Multi-Mode 4.1
MULTIMODE 4.2
Newsgroup CPC 6.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
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
Touches de fonction 3.1
Variable d'environnement BLASTER 2.3.2
VSYNC Bit 4.1
