

   ######+ ########++     ######+  ########+  ####    ####++  ##++     ##++

 ##++++++  ##+++++##++  ##++++++   ##++++++   ##+##  ##+##++  ##++     ##++

##++       ##++   ##++ ##++        ##+++      ##++ ##++ ##++  ##++     ##++

##++       ########++  ##++        ########+  ##++ +++  ##++  ##++     ##++

##++       ##++++++    ##++        ##++++++   ##++      ##++  ##++     ##++

 ##++      ##++         ##++       ##++       ##++      ##++  ##++     ##++

   ######+ ##++           ######+  ########+  ##++      ##++   #########++

   +++++++ ++++           +++++++  +++++++++  ++++      ++++   ++++++++++



                                                                      v3.0





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





                                     (c) Marco VIETH 2001

                        (Traduit par Jean-Pierre MARQUET, 16 juin 1998)





     Cette instruction ne contient pas encore tous les informations sur les versions 1.7  3.0!







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









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



  et



         Rainer Loritz

         Rosenbachweg 4/Whg. 1

         D-37075 Gttingen



  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 {DOS}

    ALT  gauche {Non-DOS}



  - 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

