home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-03-15 | 149.0 KB | 3,834 lines |
-
- ▓▓▓▓▓▓▒ ▓▓▓▓▓▓▓▓▒▒ ▓▓▓▓▓▓▒ ▓▓▓▓▓▓▓▓▒ ▓▓▓▓ ▓▓▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▒▒▒▒▒▒ ▓▓▒▒▒▒▒▓▓▒▒ ▓▓▒▒▒▒▒▒ ▓▓▒▒▒▒▒▒ ▓▓▒▓▓ ▓▓▒▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▒▒ ▓▓▓▓▓▓▓▓▒▒ ▓▓▒▒ ▓▓▓▓▓▓▓▓▒ ▓▓▒▒ ▒▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▒▒ ▓▓▒▒▒▒▒▒ ▓▓▒▒ ▓▓▒▒▒▒▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▓▓▓▓▒ ▓▓▒▒ ▓▓▓▓▓▓▒ ▓▓▓▓▓▓▓▓▒ ▓▓▒▒ ▓▓▒▒ ▓▓▓▓▓▓▓▓▓▒▒
- ▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒
-
- v1.4
-
-
- D O C U M E N T A T I O N
-
-
- (c) Marco Vieth, March 1996
-
- Traduction
- par Emmanuel Roussin
- (du début à la section 5.2)
-
- par Jean-Pierre MARQUET
- (de la section 5.2 à la fin, avec des
- retouches d'Emmanuel Roussin d'après la
- documentation anglaise de la v1.4)
-
- (voir section 6.1)
-
-
-
- -------------------------------------------------------------------------------
-
-
-
- Sommaire
-
- 1. Introduction
- 1.1 Conseils pour lire cette documentation
- 1.2 Copyright, garantie
- 1.3 Qu'est-ce qu'un CPC ?
- 1.4 Que peut faire CPCEMU pour vous ?
-
- 2. Installation de CPCEMU
- 2.1 Fichiers qui composent CPCEMU
- 2.2 Configuration nécessaire et installation
- 2.3 Conseils au sujet de la mémoire et de la carte son
- 2.3.1 Utiliser la mémoire EMS
- 2.3.2 Définir la variable d'environnement BLASTER
- 2.3.3 Définir la variable d'environnement ULTRASND
-
- 3. Differences entre un CPC et CPCEMU
- 3.1 Clavier
- 3.2 Chargement de programmes, de menus
- 3.2.1 Chargement depuis une disquette, Menus
- - le menu d'insertion d'une disquette
- - le menu d'affichage des fichiers
- 3.2.2 Chargement et sauvegarde sur cassette
- 3.2.3 Chargement et sauvegarde de snapshots
-
- 4. Changer la Configuration
- 4.1 Le menu de configuration
- 4.2 Le fichier de configuration
- 4.3 Les paramêtres de commande en ligne
-
- 5. Transferts de fichiers entre CPC et PC
- 5.1 A partir d'une disquette
- 5.1.1 Le programme de transfert de disquette CPCTRANS
- 5.1.2 L'utilitaire de formatage et copie 22DISK par SYDEX
- 5.2 L'interface parallèle
- - L'adaptateur parallèle
- 5.3 L'interface série
- 5.4 D'autres possibilités
-
- 6. Sources d'approvisionnement, Aide en ligne, Remerciements
- 6.1 Où puis-je obtenir des programmes pour CPC ?
- 6.2 Nouvelles, échange d'expériences
- 6.3 Si vous avez des questions ou des suggestions
- 6.4 D'autres émulateurs CPC
- 6.5 Plans pour de futures versions de CPCEMU
- 6.6 Remerciements
- 6.7 Marques déposées
-
- 7. Informations internes sur CPCEMU
- "la boite noire", avec son propre sommaire
-
-
- Annexe:
-
- A.1 Glossaire
- A.2 Bibliographie
- A.3 Index
-
-
- ---------------------------
-
-
-
-
-
- 1. Introduction
- ________________
-
-
- Bienvenue dans le monde des émulateurs !
-
- Comment ! Vous voulez savoir ce qu'est CPCEMU, et ce que vous pouvez
- faire avec l'étrange programme avec une écriture jaune sur un écran bleu
- qui vous affiche 'Syntax Error' à chaque saisie ?
-
-
- Bien, pour éviter une longue recherche, et voila :
-
- CPCEMU émule un Amstrad CPC 464, 664 ou avec de nombreuses
- extensions. En d'autres mots, ce programme imite le comportement
- d'un des vieux micro-ordinateurs à base de Z80 sur votre PC.
-
- Dans quel but ?
-
- Et bien, si vous n'avez pas encore d'idées, alors vous n'avez pas besoin
- de CPCEMU.
-
- Quelques raisons :
-
- - la nostalgie, comme mon bon vieux CPC était bien...
- - de meilleurs performances comparé à l'original
- - un meilleur environnement pour développer des programmes
- - jouer à des jeux
- - travailler, oui, un CPC is assez bien pour faire du traitement
- de texte
- - [ ] <- insérer vos propres
- raisons.
-
-
-
-
- 1.1 Conseils pour lire cette documentation
- ===========================================
-
- Vous devriez d'abord essayer l'aide en ligne, si vous voulez plus
- d'informations, vous pouvez lire ceci...
-
- J'ai essayé d'écrire clairement cette documentation (NDT : et moi de la
- traduire correctement). Mais si vous avez encore des questions, après
- l'avoir lu plusieurs fois, vous pouvez me contacter. Vous pouvez le
- faire aussi, même si tout est clair, regardez au chapitre 6.
-
- Dans le chapitre 1, introduction, je décris comment lire cette
- documentation, qui a le copyright, et certaines choses sur les CPC en
- général.
-
-
- Dans le chapitre 2, installation, cela commence enfin. Vous pourrez
- lire comment installer et démarrer CPCEMU.
-
- Le chapitre 3, différences entre un CPC et CPCEMU, traite de certaines
- aspects que vous devez connaitre si vous êtes familiers avec un vrai
- CPC, et que vous voulez utiliser l'émulateur maintenant. Je décris
- principalement le clavier, les disquettes, les cassettes et les
- snapshots.
-
- Dans le chapitre 4, changer la configuration, je décris comment
- configurer CPCEMU selon vos besoins. Votre programme préféré pourra
- ainsi sans doute fonctionner.
-
- Dans le chapitrer 5, transfert entre un CPC et un PC, vous pourrez
- découvrir comment transférer vos programmes du CPC au PC. Les
- utilitaires fournis avec CPCEMU pour effectuer le transfert sont aussi
- décrits dans ce chapitre.
-
- Le chapitre 6, sources d'approvisionnement, aide en ligne,
- remerciements, vous apprend comment obtenir la dernière version de
- CPCEMU, et à qui vous pouvez poser des questions, si vous en avez.
-
- Le Chapitre 7, informations internes sur CPCEMU est pour les
- professionnels seulement. La partie officielle pour les utilisateurs
- finit avant ce chapitre. Je décris comment programmer un tel
- émulateur, et ce que vous avez besoin de savoir. Je décris aussi le
- menu de debuggage de CPCEMU, qui vous permets d'analyser le processeur
- et la mémore à n'importe quel moment. Les simples utilisateurs
- devraient éviter ce chapitre, du moins à leur première lecture.
-
- Dans l'annexe A.1, il y a un glossaire avec les descriptions des
- termes techniques les plus importants. L'annexe A.2 est une
- bibliographie, l'annexe A.3 est l'index.
-
-
-
- 1.2 Copyright, garantie
- ========================
-
- CPCEMU est développé par (voir aussi section 6.3):
-
- Marco Vieth
- Auf dem Uekern 4
- D-33165 Lichtenau
- ALLEMAGNE
-
- CPCEMU est freeware, ce qui signifie que vous pouvez donner ce
- programme à vos amis et à vos connaissance GRATUITEMENT.
-
- Les sysops de BBS sont autorisés à mettre CPCEMU sur leur BBS pour
- téléchargement.
-
- Les distributeurs de shareware sont autorisés à distribuer CPCEMU,
- seulement s'ils prennent une petite somme représentant les frais de
- copie pour leurs clients.
-
- Comparé au domaine public, freeware ne signifie pas que le programme
- est gratuit et que vous pouvez faire tout ce que vous voulez avec.
- Cela signifie que le copyright, les droits juridiques m'appartiennent
- toujours.
-
- Le programme et sa documention (ainsi que cette traduction) est
- fournie telle quelle, sans aucune garantie.
-
-
- Bien que ce programme soit freeware, j'accepterai volontiers toute
- sorte de support, technique ou financier, voyez le chapitre 6 pour
- plus de détails.
-
- (Note du traducteur : j'ai moi même envoyeé de l'argent à Marco Vieth
- tout simplement par mandat postal international, en allant dans une
- poste. Pensez un peu à ce que le programme représente comme travail,
- et au plaisir que vous aurez sans doute à l'utiliser, cela vaut bien
- un peu d'argent, n'oubliez qu'il ne fait pas le bonheur, alors qu'une
- bouffée de nostalgie peut faire du bien)
-
-
-
- 1.3 Qu'est-ce qu'un CPC ?
- ====================
-
- Si vous savez déjà ce qu'est un CPC, sautez simplement cette section
- et continuez à lire la section 1.4
-
- Encore la ?
-
- Je ne veux pas disséquer le CPC maintenant, je vais seulement donner
- une retrospective pour que vous puissiez comprendre ce qu'est un CPC.
-
- CPC est une abbréviation pour 'Colour Personal Computer' soit
- Ordinateur Personnel en Couleur. Les ordinateurs de ce type furent
- tout d'abord construits en 1984 par le constructeur britannique
- Amstrad, et furent vendus sous différents noms dans d'autres pays.
-
- C'était la période des ordinateurs familiaux : Commodore C64, Sinclair
- Spectrum, Atari 800XL... Quand le CPC 464 fut conçu, il avait autant
- de mémore vive (RAM) que le Commodore 64, un lecteur de cassette
- incorporé, le basic Locomotive 1.0. Le micro-ordinateur suivant fut le
- CPC 664 avec un lecteur de disquette 3" et le langage basic étendu
- (Locomotive Basic 1.1). Le CPC 6128 arriva en 1985, avec 128 Ko de RAM
- et presque toutes les possibilités du 664. Les disquettes 3" étaient
- chères, mais plus stable que les disquettes 5,25", presque aussi
- stables que les disquettes 3,5" d'aujourd'hui, de plus, c'était
- notablement plus rapide que le lecteur de cassettes, ce qui n'était
- pas le cas avec le C64...
-
- Ces trois modèles (464, 664 et 6128) étaient vendus avec un moniteur
- couleur ou monochrome (vert), avec alimentation intégrée. Plus tard il
- y eut d'autres modèles, le CPC+ par exemple.
-
- Le basic avec près de 178 instructions était puissant et rapide.
- Quelqu'un pouvait programmer du graphisme, des sons et même des
- interruptions tout en évitant des PEEKs et des POKEs. L'offre
- logicielle s'étoffa au fil des ans.
-
-
-
-
- 1.4 Que peut vous offrir CPCEMU ?
- =================================
-
- Ce qui suit est un bref aperçu de ce que CPCEMU peut vous offrir. Dans
- les sections suivantes de la documentation, cela vous est expliqué
- plus clairement.
-
- Du graphisme dans 3 modes d'écran différents (X x Y x COLEURS):
-
- Mode 0: 180x200x16
- Mode 1: 320x200x4
- Mode 2: 640x200x2
- (Avec un BIOS VESA, ces graphiques peuvent être affichés dans une
- résolution de 640x400x16 au 1280x1024x16, suivant votre moniteur
- et votre carte VGA)
-
- Son : soit à partir du haut-parleur du PC, d'une soundblaster (3
- voies en stéréo) ou GUS (Gravis Ultrasound Spectrum)
-
- Mémoire :
- ROM: OS, BASIC, AMSDOS, jusqu'à 13 ROMs additionnelles (avec de l'EMS)
- RAM: 64KB, 128KB, jusqu'à 576 Ko de mémoire compatible avec
- l'extention Dk'tronics (avec de l'EMS)
-
- Disquette : des fichiers MS-DOS représentant un image de disquette,
- ayant l'extension .DSK, ces fichiers se retrouvent dans un
- sous-répertoire spécial : DISC
-
- Cassette: des fichiers standard sous DOS, par exemple des programmes
- basic et binaire avec les extensions .BAS et .BIN
- respectivement. Ces fichiers se trouvent dans un
- sous-répertoire spécial : TAPE
-
- Snapshots : vous pouvez faire des copies de la mémoire alors que vous
- utilisez un programme, pour le reprendre plus tard au même
- point, exactement comme avec une Multiface II. Les
- snapshots sont des fichiers ayant l'extension .SNA, se
- trouvant dans un répertoire spécial : SNAP
-
- Vitesse : avec un 386/33 et de la mémoire EMS, CPCEMU est plus rapide
- qu'un vrai CPC. Avec un mode 'temps réel', vous pouvez
- ralentir l'émulateur pour obtenir la vitesse exacte d'un
- CPC.
-
-
-
-
- 2. Installation de CPCEMU
- __________________________
-
- Dans ce chapitre vous allez apprendre comment installer et démarrer
- CPCEMU. Dans la section 2.2, vous lirez des astuces au sujet de
- l'utilisation de la mémoire EMS et de la carte sound blaster.
-
-
- L'installation complète modifiable par l'utilisateur avec le fichier
- de configuration est défini dans le chapitre 4 (modifier la
- configuration)
-
-
-
- 2.1 Fichiers composants l'émulateur CPCEMU
- ============================================
-
- Vous avez reçu CPCEMUxx.xxx avec les fichiers suivants (j'ai indiqué
- entre crochet le répertoire où se trouve le fichier après
- installation) :
-
- COPYMATE.ROM ROM avec un programme de copie (ROM)
- CPC464.BAT batch de lancement avec une ROM de CPC 464
- CPC464.ROM ROM (firmware+BASIC) d'un CPC 464 (ROM)
- CPC664.BAT même chose pour un 664
- CPC664.ROM (ROM)
- CPC6128.BAT même chose pour un CPC 6128
- CPC6128.ROM (ROM)
- CPCADOS.ROM AMSDOS pour tous les CPCs (ROM)
- CPCEMU.CFG le fichier de configuration pour tous les CPC (ou CPCEMU0.CFG)
- CPCEMU.DAT le fichier de ressource pour CPCEMU
- CPCEMU.DBF base de données en asci de pokes
- CPCEMU.HLP l'aide en ligne, appurez sur F1
- CPCEMU.EXE l'émulateur
- CPCEMU.MSG le fichier de messages (nécessaire)
- CPCEMU_D.TXT documentation en allemand
- CPCEMU_E.TXT documentation en anglais
- CPCEMU_F.TXT documentation en français (ce fichier)
- CPCPARA.BAS programme en basic Locomotive pour le port parallèle (UTILITY)
- CPCPD1.DSK image d'une disquette avec des programmes du domaine public (DISC)
- CPCREC.BAS programme en basic Locomotivepour recevoir des programmes du PC(UTILITY)
- CPCT0.BAT exemple d'un fichier batch pour CPCTRANS.EXE (UTILITY)
- CPCTRANS.CFG le fichier de configuration pour CPCTRANS
- CPCTRANS.EXE programme pour trransférer des images de disquettes (UTILITY)
- CPMDISKS.DEF fichier de définition de formats disquette pour l'utiltaire externe 22DISK (UTILITY)
- FILE_ID.DIZ fichier de description de l'archive CPCEMUxx.xxx
- INSTALL.BAT batch d'installation
- PCPARA.EXE programme de transfert du coté PC par le port parallèle (UTILITY)
- README_D.TXT lisezmoi allemand
- README_E.TXT lisezmoi anglais
- README_F.TXT lisezmoi français
- README_S.TXT lisezmoi
- ROMGET.BAS programme basic Locomotive-pour récupérer les ROMs utilisables par CPCEMU (UTILITY)
- SNA2GIF.EXE un programme de capture d'écrans d'un snapshot en GIF
-
- Les ROMs originales d'Amstrad sont aussi incluses.
-
- Le copyright du Firmware est détenu par Locomotive Software, le
- copyright du BASIC est détenu par Amstrad. Amstrad et Locomotice
- Software me permettent de distribuer les ROMs avec l'émulateur.
-
-
-
- 2.2 Configuration nécessaire et Installation
- ==================================
-
- Vous aurez besoin au moins (tout en pouvant avoir plus évidemment) :
-
- - PC AT 386 avec carte graphique VGA
- - MS-DOS, EMS de préférence, ou
- Novel DOS (DRDOS) ou
- une boite DOS sous OS/2 2.x, 3.0
- - PKUNZIP.EXE dans le chemin du DOS, si vous voulez lancer des
- programmes à partir d'une archive ZIP.
-
-
- L'installation est très simple :
-
- Copiez l'archive CPCEMUxx.ZIP sur votre disque dur, et décompressez la
- avec la commande 'PKUNZIP CPCEMUxx.ZIP'. Lancez INSTALL.BAT pour créer
- certains sous-répertoires.
-
- Lancez CPC CPC464.BAT, CPC664.BAT ou CPC6128.BAT suivant le CPC que
- vous préférez. Après l'écran présentant la configuration utilisée (cet
- écran peut être évité, voir plus bas), appuez sur <ENTREE> et l'écran
- bien connu du CPC apparait avec les caractères jaunes sur fond bleu.
-
- Vous pouvez quitter l'émulateur avec la touche de fonction F12.
-
- Essayez donc avant de continuer à lire plus en avant cette
- documentation.
-
- Si certaines erreurs apparaissent durant l'écran présentant la
- configuration utilisée, vous êtes placé dans le menu debug, que vous
- pouvez quitter avec la commande 'q'.
-
- Dans certains cas, il est parfois utile de rediriger les messages dans
- un fichiers, lançant l'émulateur de cette façon : CPCEMU > INIT.TXT
- Vous pourrez ainsi analyser le problème plus tard.
-
-
-
- 2.3 Conseils à propos de la mémoire et de la carte son
- =======================================================
-
- Ce qui suit vous aidera si vous appréciez une émulation rapide, ou si
- votre carte son n'est pas reconnu.
-
-
- 2.3.1 Utiliser la mémoire EMS
- ------------------------------
-
- Vous devriez avoir de la mémoire EMS, soit grace à du matériel, soit
- le plus souvent par voie logicielle. Cela augmente la vitesse de
- l'émulation de façon significative, surtout avec le basic.
-
- Tout ce dont vous avez besoin est un EMM (Expanded Memory Manager,
- soit un gestionnaire de mémoire 'expansée') supportant la norme the
- LIM 4.0 qui est le standard (LIM EMS 4.0)
-
- Si vous avez de l'EMS, un compteur apparaittra ('EMS xxx Bytes ok.')
- pendant l'écran présentant la configuration utilisée. Sinon vous
- lirez "Sorry, using conventional memory".
-
- Exemple sous OS/2 2.x (configuration pour la fenêtre DOS)
-
- EMS_FRAME_LOCATION = auto
- EMS_HIGH_OS_MAP_REGION = 32 (ou plus)
- EMS_LOW_OS_MAP_REGION = 0 (ou plus)
-
- Exemple sous DOS dans le fichier CONFIG.SYS
-
- DEVICE=C:\DOS\HIMEM.SYS
- DEVICE=C:\DOS\EMM386.EXE 1024
- ...
-
-
-
-
-
-
- 2.3.2 Définir la variable d'environnement BLASTER
- --------------------------------------------------
-
- Pour obtenir le son à partir de votre carte soundblaster, vous devez
- définir la variable d'environnement BLASTER correctement. Utilisez
- soit le programme SET-ENV.EXE ou SBTEST.EXE qui vient avec votre
- carte, soit modifiez le fichier AUTOEXEC.BAT directement.
-
- Dans AUTOEXEC.BAT, vous devez avoir une ligne similaire à ce qui
- suit :
-
- SET BLASTER=A220 I7 D1 T3
-
- A définit l'adresse de base (0x220)
- I définit l'IRQ (7)
- D définit le canal DMA (1)
- T définit la version de votre carte :
- 1 : Soundblaster 1.0/1.5
- 2 : Soundblaster Pro
- 3 : Soundblaster 2.0/2.5
- 4 : Soundblaster Pro 3/Pro 4.0
- 5 : Soundblaster Pro (Microchannel)
- 6 : Soundblaster 16
-
- Pour les versions 2, 4, 5 et 6, le son stéréo est supposé.
-
- Il y a d'autres paramêtres qui sont ignorés :
-
- H spécifie le canal DMA 16 bits pour les cartes 16 bits (5 et 6)
- M spécifie l'adresse de base du mixer de la sound blaster (224)
- P spécifie l'adresse MIDI (330)
-
-
- 2.3.3 Définir la variable d'environnement ULTRASND
- ---------------------------------------------------
- Pour
- Pour obtenir le son à partir de votre carte GUS, vous devez définir
- la variable d'environnement ULTRASND correctement.
-
-
-
-
-
- 3. Differences entre CPC et CPCEMU
- ______________________________________
-
- Dans ce chapitre, je décris certaines caractéristiques qui sont
- différentes dans CPCEMU par rapport à un vrai CPC. Dans la prochaine
- sections, certaines touches spéciales sont mentionnées,
- particulièrement les touches de fonctions. Plus en avant, les sections
- vous apprennent comment charger un programme à partir d'une disquette
- ou du lecteur de cassette.
-
-
-
- 3.1 Le clavier
- ===============
-
- Vous avez peut-être remarqué que les touches de fonctions du PC ne
- sont pas gérées comme celles du CPC. Elles produisent certaines choses
- qui sont décrites ici. Ou peut-être avez-vous cherché la touche COPY
- pendant des heures.
-
- Toutes les touches CPC sont réellement localisées à un endroit, vous
- pouvez en être assurés. Le secret est ici dévoilé :
-
- - ALT, ALTgr : la touche COPY du CPC
-
- - la touche grise PAUSE : bloque le PC jusqu'à qu'elle soit pressée à
- nouveau. Si les touches de fonction de votre PC ne réagissent plus,
- vous avez sans doute appuyé sur la touche PAUSE.
-
- - le bloc numérique : suivant l'état de la diode Num Lock, le bloc
- numérique agit différemment. Quand Num Lock est allumée, le bloc
- représente les touches de fonction du CPC, sinon c'est le
- joystick qui est émulé.
-
- Si vous voulez utiliser un joystick analogique PC, vous aurez besoin
- de le calibrer tout d'abord (voir le chapitre 4, changer la
- configuration).
-
-
- Et pour être complet :
-
- - Page up/down: déplace entièrement l'écran CPC (ne me demandez pas
- son utilité)
-
- Et bien sûr les touches de fonction :
-
- F1 : l'aide en ligne, sans doute la touche la plus utile au début.
- F2 : basculer entre l'écran du CPC et l'écran de message (celui avec
- un bord rouge). Sur ce dernier écran, certains messages de
- contrôle peuvent apparaître. Utilisez le deux fois de suite
- quand les couleurs de l'écran CPC ne vous apparaissent pas comme
- étant les bonnes.
- F3 : pour insérer une disquette, regardez la section 3.2.1
- F4 : basculer le son/pas de son.
- F5 : Charger un snapshot (une copie de la mémoire du CPC à un moment
- donné, comme avec une Multiface), regardez la section 3.2.3
- F6 : Sauvegarder un snapshot, regardez la section 3.2.3
- F7 : Le menu de configuration, regardez la section 4.1
- F8 : Relancer le micro (reset), comme le bouton reset pour le CPC.
- Utilise le si la combinaison de touches CTRL/SHIFT/ESC ne
- fonctionne plus.
- F9 : Réservé pour un futur usage.
- F10 : Menu de debuggage, expliqué dans le chapitre 7. Si vous y
- arrivez par idnavertance, tapez 'r' pour R)un ou 'q' pour Q)uit.
- F11 : Réservé pour un futur usage.
- F12 : Quitter l'émulateur
-
-
-
-
- 3.2 Chargement de programmes, de menus
- =======================================
-
- Dans cette section, vous apprendrez comment charger des programmes à
- partir d'une disquette, du lecteur de cassette ou de snapshots.
- Evidemment la même chose est valable pour la sauvegarde. Il est aussi
- expliqué l'utilisation des menus.
-
-
-
- 3.2.1 Chargement à partir d'une disquette, de menus
- ----------------------------------------------------
-
- Dans des conditions normales d'utilisation, AMSDOS (Amstrad DOS) est
- actif, et toutes les instructions de fichiers utilisent le lecteur
- de disquette.
-
- Vous n'avez pas besoin d'insérer une véritable disquette CPC dans
- votre lecteur PC chaque fois que vous accéder à un fichier (surtout
- que vous n'avez sans doute que des disquettes 3 pouces).
-
- Pour obtenir une meilleure vitesse, les disquettes CPC sont
- contenues dans une image de disquette, des fichiers DOS ayant une
- extension .DSK qui peuvent se trouver n'importe ou sur votre
- disque dur, ou lecteur de disquette, mais de préférence dans le
- sous-répertoire DISC.
-
- Voici quelques instructions en BASIC AMSDOS :
-
- - CAT <RETURN> : affiche le catalogue
-
-
- - avec 'RUN"<nom de fichier>"', vous pouvez charger et lancer un
- programme. Vous pouvez ne pas mettre le guillemet de fin. Cette
- instruction is utile pour les programmes BASIC ayant l'extension
- .BAS, et dans de nombreux cas pour les programmes binaires ayant
- l'extension .BIN
-
- Un moyen simple de lancer un programme :
- 1. tapez le nom du fichier, 'disc' par exemple, sans appuyez sur
- <RETURN>
- 2. Appuez sur la touche CTRL et la flèche cuseur gauche (le
- curseur se déplace sur la première colonne)
- 3. Toujours en maintenant la touche CTRL, appuez sur la touche
- ENTER du bloc numérique (RUN"disc apparait et le programme se
- charge)
-
- - LOAD"<nom du fichier>" charge un fichier sans le lancer. Vous
- pouvez afficher des programmes en BASIC avec la commande LIST, et
- les lancer avec la commande RUN. Habituellement les programmes
- binaires ne se chargeront pas avec LOAD, mais essayez la commande
- MEMORY d'abord, par exemple 'MEMORY &1fff'
-
- - SAVE"<nom de fichier>" sauvegarde un programme en BASIC. Pour les
- programmes binaires, vous devez spécifier d'autres paramêtres, par
- exemple 'SAVE"<nom de fichier",b,&c000,&4000' sauvegardera
- l'écran, que vous pourrez recharger avec 'LOAD"<nom de fichier>",&C000
-
- - MERGE"<nom de fichier>" est aussi possible. Il fusionne un
- programme en BASIC avec celui déjà en mémoire.
-
- Certaines commandes spéciales d'AMSDOS nécessitent un tiret vertical :
-
- - |A, |B pour choisir le lecteur disquette (possible aussi avec
- |DRIVE,0 ou 1)
- - |DIR,"<spécification de fichier>" pour voir le catalogue.
- Note important, utilisez ceci sur un CPC 464 :
- a$="<spéfication de fichier>" : |DIR,@a$
- - |ERA,"<nom de fichier>" efface un fichier.
- Note important, utilisez ceci sur un CPC 464 :
- a$="<nom de fichier>" : |ERA,@a$
- - |REN,"<nouveau nom>","<ancien nom>" pour renommer un fichier.
- Note important, utilisez ceci sur un CPC 464 :
- a$="<nouveau nom>" : b$="<ancien nom>" : |REN,@a$,@b$
- - |TAPE pour basculer sur le lecteur de cassette, voir section suivante
- - |DISC pour basculer à nouveau au lecteur de disquette
-
- Il y a d'autres instructions, mais elles ne sont pas aussi
- importantes.
-
-
-
- Le menu d'insertion d'une disquette
- -----------------------------------
-
- Jusqu'à maintenant, vous n'avez pu utiliser qu'une disquette, celle
- déjà 'insérée' dans le lecteur. Pour insérer une autre disquette,
- appuyez simplement sur F3, et le menu suivant apparait :
-
- Insert Disk
- Drive 0
- Side Select 0
- Write Protected 0
-
- Avec les touches curseur <haut/bas>, vous pouvez choisir une ligne.
- Vous pouvez aussi le faire en tapant la lettre en majuscule (revenez
- en arrière avec la touche DEL). Changez les chiffres avec les
- touches curseur <gauche/droite> ou directement en tapant les
- chiffres. <RETURN> sur n'importe quelle ligne valide le changement.
- Il peut être annulé avec <ESC>.
-
- "Drive" est le lecteur de disquette voulu (0=A, 1=B);
- "Side Select" est une bascule pour les disquettes doubles face, il
- n'a aucun effet avec une disquette simple face.
- Avec "Write Protected", vous pouvez marquer une disquette comme
- protégée en écriture (0=pas de protection, 1=protection).
-
-
-
- Le menu de séletion de fichiers (d'images de disquettes)
- --------------------------------------------------------
-
- Maintenant appuyez sur <RETURN> et un répertoire apparait.
- Choisissez une nouvelles disquette avec la même méthode vu
- ci-dessus.
-
- S'il y a déjà une disquette à l'intérieur du lecteur fictif, vous
- n'avez pas besoin de l'enlever comme dans la réalité. C'est
- automatiquement fait. Au bas de l'écran, la dernière disquette
- sélectionnée est affichée.
-
- Vous verrez au moins 15 fichiers, s'il y en a plus, "[]" apparaît.
-
- - <HOME> permet de se placer sur le premier fichier, <END> sur le
- dernier,
- - <Page up/down> permet de faire défiler la liste des fichiers,
- - <RETURN> sélectionne le fichier en vidéo inversée, <ESC> pour
- sortir.
-
- Vous pouvez aussi sélectionner le nom en tapant directement la
- première lettre.
-
- Quand vous utilisez la souris, cliquez sur []" for <page up>, "[]"
- pour <page down>, "[<]" for <curseur gauche>, "[>]" for <curseur
- droit> and [ok] for <return>.
-
- Utilisez la bouton droit de la souris comme un double clic. Utilisez
- "[■]" comme <ESC>.
-
- ".." est le répertoire parent; [A], [B], ... sont les lecteurs
- disponibles. N'utilisez que les lecteurs de disquettes du PC quand
- une disquette est insérée. Sinon vous pourriez avoir des problèmes.
-
- Il est aussi possible d'insérer des disquettes qui sont à
- l'intérieur d'archives compressées ZIP. Sélectionnez l'archive ZIP
- en appuyant sur <RETURN> et les fichiers à l'intérieur sont affichés
- comme dans un répertoire normal. Si vous sélectionnez un fichier
- image à l'intérieur d'une archive ZIP, il est automatiquement
- extrait dans un répertoire temporaire. Pour que cette possibilité
- fonctionne, vous aurez besoin du programme PKUNZIP.EXE quelque part
- dans le chemin du DOS, ou dans le répertoire de CPCEMU.
-
- Les fichiers temporaires sont automatiquement effacés s'ils ne sont
- plus nécessaires. Les modifications ne sont pas écrites dans
- l'archive ZIP. Si vous sauvegardez quelque chose sur un fichier
- d'image disquette qui se trouve à l'intérieur d'un ZIP, cette
- modification sera perdu à jamais quand vous insérerez une autre
- image. Si vous voulez modifier une image de disquette se trouvant à
- l'intérieur d'un ZIP, il faut d'abord extraire le ZIP dans le
- répertoire DISC, avant de lancer CPCEMU.
-
- Comment créer des fichiers d'images de disquettes à partir de
- disquettes CPC que vous avez, est décrit dansle chapitre 5
- (transfert de données entre le CPC et le PC).
-
-
-
-
- 3.2.2 Chargement et sauvegarde sur une cassette
- ------------------------------------------------
-
- Qu'est-ce qu'une cassette actuellement pour CPCEMU ?
-
- Et bien, les fichiers d'une cassette sont des fichiers normaux dans
- un répertoire DOS.
-
- Après la commande '|TAPE', les commandes de gestion de fichier du
- BASIC utilisent la cassette. Mais seulement ceux ne commençant pas
- par "|".
-
- Maintenant vous pouvez utiliser les instructions décrites dans la
- section ci-dessus (CAT, RUN", LOAD", SAVE", MERGE") pour la
- cassette.
-
- Si vous ne précisez pas un nom de fichier, le menu de sélection de
- fichier apparaîtra, décrit dans la section précédente.
-
- Avec la commande SAVE"", vous pouvez soit écraser un fichier
- existant, soit créer un nouveau fichier en spécifiant son nom dans
- la dernière ligne "(new name)".
-
- Vous pouvez aussi charger des programmes se trouvant à l'intérieur
- d'une archive ZIP, les sauvegardes sont alors ignorées.
-
- Avec l'émulateur vous avez une lecteur de cassette fabuleux.
-
-
-
- 3.2.3 Chargement et sauvegarde de snapshots
- --------------------------------------------
-
- Les snapshots sont des copies de la mémoire du CPC, qui ne
- contiennent pas seulement la mémoire actuelle, mais aussi l'état des
- différents puces du CPC, comme le processeur Z80.
-
- A n'importe quel moment, vous pouvez interrompre le programme qui
- s'exécute et le sauver en tant que snapshot. Plus tard, vous pouvez
- le charger, et continuer exactement à la même position à laquelle
- vous étiez quand vous l'avez interrompu.
-
- Vous créez un snapshot avec la touche F6. Spécifiez sa taille, 64 Ko
- ou 128 Ko. Les snapshots de 128 Ko ne sont utiles que si la deuxième
- banque de mémoire est utilisée. Dans ce cas, utilisez "128K Snapshot
- = 1", 1 signifiant OUI.
-
- Le menu de sélection de fichiers de snapshots et le même que celui
- décrit avec les fichiers d'images de disquette, avec les
- commentaires additionnels pour le lecteur de cassette (3.2.1 et
- 3.2.2).
-
- Vous pouvez charger un snapshot avec la touche F5.
-
-
-
-
- 4. Changer la configuration
- ______________________________
-
- Dans ce chapitre, vous apprendrez comment configurer CPCEMU selon vos
- besoins. Le menu de configuration es décrit, comme le fichier de
- configuration et les paramètres de commande en ligne.
-
-
-
- 4.1 Le menu de configuration
- =============================
-
- C'est la façon la plus simple pour faire des modifications à CPCEMU.
- Mais ce menu ne vous permet pas de changer toutes les options. Pour
- donner un exemple, si vous voulez utiliser des ROMs additionnelles,
- vous devrez utiliser le fichier de configuration décrit dans la
- section 4.2.
-
- Comme il a déjà été mentionné dans la section sur le clavier, vous
- entrer dans le menu de configuration avec la touche F7. Le menu
- suivant apparaît.
-
- Option Valeur Explication courte
- -----------------------------------------------------------------------
- ___Emulation
- Emulation_Delay 0
- Emulation_Speed 1
- Emulation_Frequency 300
- Emulation_Resume 1
- Realtime 0 (realtime mode)
-
- ___Screen
- Colour_screen 1 (Colour or Green Screen)
- MultiMode_Update 0 (multi mode)
- Palette_Change 1
- Screen offset (ymove) 1 (moving screen up and down)
- Video_Mode 0
- Vsync_Position 5 (position of vertical
- synchronization)
- ___Sound
- Sound_Enabled 1
- Sound_Device 2
- Sb_Delay 35 (delay for Soundblaster)
- Sb_Delay0 6
-
- ___Control
- Joy0_Calibrate
- Joy1_Calibrate
- Kbd_Language 0 (other keyboard mappings)
- Mouse_enabled 1
-
- ___Ppi_Settings
- Company_Name 7
- Ppi_50Hz 1
- Ppi_Exp_Signal 1
-
- ___Misc
- Amsdos_Disabled 0
- Amsdos_Speedup 1
- Break_Mask 3
- Ems_enabled 1
- Language 0
- Tape_Bypass 1
- CPC_Type 2
-
- Load_Configuration
- Restart_Emulation
- Save_Configuration
- Poke Database (database with cheats for games)
- DOS Shell
- Continue (continue with the emulator)
-
-
- Sélectionnez les options comme cela a été décrit dans 3.2.1.
-
- - Emulation_delay
- Cette option permet de ralentir l'émulation si elle est trop rapide,
- 0 signifie qu'il n'y a pas de délai, 100 est un petit délai, 300 un
- délai plus grand...
-
- - Emulation_Speed
- 0 = émulation Z80 lente
- 1 = émulation Z80 rapide
-
- - Interrupt_Frequency
- Pour modifier la fréquence à laquelle sont générées les
- interruptions. Sur un vrai CPC, cette valeur est toujours 300 Hertz.
- Si vous augmentez cette valeur, beaucoup de programmes sembleront
- fonctionner plus rapidement, mais il y a moins de puissance machin,e
- entre deux interruptions. Si vous avez un micro-ordinateur lent,
- vous pouvez diminuer cette valeur à 100 ou 200 parfois. Les valeurs
- possibles vont de 18 à 600. Pour plus d'informations voir le
- chapitre 7.
-
- - Interrupt_Resume
- Une autre de ces options qui ne peut être expliquée sans beaucoup
- d'informations. Sans mémoire EMS, cette option est à 0, ce qui
- signifie que les interruptions peuvent être évitées. Ce n'est
- certainement pas désiré, mais avec 1, l'émulation est trop lente.
- Avec de la mémoire EMS, cette option est à 1, CPCEMU essaye alors de
- gérer chaque interruption.
-
- Note importante : il semble que le CP/M+ fonctionne uniquement avec
- de la mémoire EMS et cette option à 0 ! Pour plus d'informations
- voir le chapitre 7.
-
-
- - Realtime
- CPCEMU se cale alors pour que la vitesse de l'émulateur corresponde
- le plus possible à celle d'un véritable CPC.
-
- - Color_Screen
- émulation d'un écran monochrome vert, ou couleur en changeant la
- palette
-
- - Multimode_Update
- Si un programme utilise plusieurs modes simultanément sur l'écran,
- utilisez cette option, CPCEMU essaiera alors de gérer cela
- correctement.
- Par défaut, cette option est hors fonction, étant donné qu'elle ne
- fonctionne pas dans tous les cas.
-
- - Palette_Change
- Définir à 0 cette option pour ne pas avoir de changement de palette.
- Cela a un sens si vous ne pouvez pas voir grand chose étant donné
- que l'écran tremble trop.
- Si vous appuyez sur la touche 8 pour avoir un reset matériel, cette
- option est remise à 1 automatiquement.
- un conseil : si la palette est hors fonction, et que vous voyez que
- les couleurs ne sont pas correctes, appuyez deux fois sur la touche
- F2 pour avoir à nouveau la bonne palette.
-
- - Screen_Offset
- Permet de spécifier le nombre de lignes que l'écran du CPC doit
- déplacer. Habituellement vous n'avez pas besoin de cette option.
- Vous obtenez le même effet en appuyant sur Page Up> et <Page Down>.
- Valeurs possibles : 0=pas d'offset, jusqu'à 25.
-
- - Video_Mode
- Définissez le mode vidéo de la carte VGA
- 0 = 640x200x16 (défaut)
- 1 = 640x350x16
- 2 = 640x480x16
-
- Et si vous avez un BIOS VESA :
- 3 = 800x600x16
- 4 = 1024x768x16
- 5 = 1280x1024x16
- ...
-
- ATTENTION, n'utilisez les modes supérieurs à 3 uniquement si votre
- moniteur les supportent ! S'il fait des bruits étranges, éteignez le
- tout de suite. Mais ceci ne devrait apparaître que sur de vieux
- moniteurs.
-
- - Vsync_Position
- Habituellement, vous n'avez pas besoin de cette option, but rien ne
- sera endommagé si vous l'utilisez. A un moment durant le
- rafraichissement de l'écran, il y a un a vertical
- frame fly with a special bit set, le bit VSYNC (synchronisation
- verticale). Vous pouvez définier cette position, ou le VSYNC doit se
- passer. Les valeurs possibles sont de 0 à 5. Pour plus de détails,
- voir le chapitre 7.
-
- - Sondblaster Delay (1)
- Set the amount of delay after every write access to the soundcard.
- In the configuration file this delay is set to 1 to speed up sound
- output. If problems with the soundcard occur, try a value of 35.
-
- - Sound_Enabled
- Active le son, 1=son présent, 0= pas de son, vous pouvez aussi
- utilisez la touche de fonction F4.
-
- - Sound_Device
- Définissez le type de support sonore :
- 0 = aucun
- 1 = haut parleur du PC
- 2 = Soundblaster
- 3 = Soundblaster Pro
- 4 = GUS (Gravis Ultrasound), merci à Ulrich Doewich
-
- - Sb_delay
- Définissez un délait après chaque accès en écriture auprès de la
- carte sonore. Avec des faibles values, comme 0, le support sonore
- est accéléré. Si des problèmes apparaissent, utilisez la valeur 35.
-
- - Sb_delay0
- Un autre délai pour la soundblaster, ne le modifiez pas.
-
- - Joy0_Calibrate
- Vous savez surement d'après d'autres programmes que vous avez
- d'abord à calibrer le joystick avant de l'utiliser. Choisissez cette
- option en appuyant sur la touche ENTREE, déplacez le joystick dans
- le coin supérieur gauche, puis dans le coin inférieur droit.
- Certains paramêtres sont alors affichés, Si vous voulez toujours
- utiliser votre joystick, prenez note de ces paramêtres et écrivez
- les dans le fichier de configuration (voir section suivante). Sinon
- vous devrez recommencer cette procédure à chaque fois.
-
- - Joy1_Calibrate
- La même chose que Joy0_Calibrate, mais pour le deuxième joystick.
- - Kbd_Language
- Avec cette option vous pouvez choisir la disposition du clavier pour
- d'autres pays
- 0 = UK, Royaume-Uni par défaut
- 1 = GR, clavier allemand (à peu près). Malheureusement il est
- impossible d'avoir un clavier allemand complet étant donné que les
- touches en mode majuscule (SHIFT) ne peuvent pas correspondre à des
- touches en mode minuscule. Mais "Z" et "Y" sont échangés, et
- certains autres caractères altérés.
- 2 = FR, clavier français (à peu près). Après l'introduction du
- clavier allemand, celui-ci ne pouvait attendre. Certains parties du
- clavier AZERT sont réalisées, mais il a les mêmes problèmes que le
- clavier allemand.
-
- - Mouse_Enabled
- Sélectionne l'usage de la souris dans les différents menus.
-
- - Company_Name
- Sélectionne le nom de la compagnie dans l'écran d'initialisation du
- CPC :
- 0 = Isp
- 1 = Triumph
- 2 = Saisho
- 3 = Solavox
- 4 = Awa
- 5 = Schneider
- 6 = Orion
- 7 = Amstrad
-
- - Ppi_50Hz
- Le CPC peut fonctionner avec
- 0 - 60 Hz, ou
- 1 - 50 Hz (défaut en Allemangne et en France)
- Pendant un reset, le bit 4 du port B PPI est vérifié, et le CRTC est
- initialisé correctement, laissez cette valeur à 50 Hz
-
- - Ppi_Exp_Signal
- Certaines cartes d'extension définissent ce signal. Sur un CPC 464
- il est définit si un lecteur de disquette est connecté. Sur un CPC
- 6128 il est toujours définit.
-
- - Amsdos_Disabled
- Interdit l'initialisation d'AMSDOS. Ce n'est utile que si vous
- voulez charger des programmes à partir d'une cassette sans avoir à
- taper la commande |TAPE à chaque fois.
-
- Vous pourriez certainement faire un simple commentaire dans la ligne
- ROM_BLOCK pour AMSDOS (avec ROM_BLOCK vous spécifiez la ROM à
- charger), et AMSDOS ne sera pas présent du tout. Utilisez cette
- option si vous voulez qu'AMSDOS soit présent pour certains
- programmes.
-
- - Amsdos_Speedup
- Permet une modification de la ROM AMSDOS pour accélerer les accès
- disquettes. Ceci est fait pour minimuser les temps d'attente du
- moteur, ce n'est pas nécessaire pour l'émulateur.
-
- - Break_Mask
- Uniquement pour du debuggage. Avec la valeur 3 du fichier de
- configuration, certaines erreurs sont supprimées, causées par des
- instructions illégales, ne changez pas cette valeur.
-
- - Ems_Enabled
- Permet l'utilisation de la mémoire EMS (Expanded Memory System).
- S'il n'y a pas d'EMS, ou pas assez, CPCEMU utilise automatiquement
- la mémoire conventionnelle. Pour plus d'informations sur l'EMS,
- voir la section 2.3.1 et le chapitre 7.
-
- - Language
- Langage utilisé pour les messages d'aide.
- 0=UK (Englais)
- 1=GR (Allemand)
- 2=FR (Français)
- 3=SP (Espagnol)
-
- - Tape_Bypass
- Permet l'utilisation de cassettes. Plus d'informations dans le
- chapitre 7.
-
- - CPC_Type
- Définir le type de CPC
- 0 = CPC 464
- 1 = CPC 664
- 2 = CPC 6128
- 3 = CPC 464+ (?)
- 4 = CPC 6128+ (?)
- 5 = unknown
- Pour utiliser le mode 3 ou 4, vous avez d'abord besoin de spécifier
- les noms des images ROMs dans CPCEMU.CFG
-
- - Load_Configuration
- Charger un autre fichier de configuration sauvegardé par Save_Configuration".
- Certains param$etres peuvent ne pas avoir d'effet à moins d'utiliser
- "Restart_Emulation".
-
- - Restart_Emulation
- Après avoir chargé une configuration avec "Load_Configuration", vous
- pouvez relancer l'émulation avec les nouvelles valeurs.
-
- - Save_Configuration
- Sauvegarder le fichier de configuration actuel. Vous ne pouvez pas
- écrire par-dessus le fichier de configuration maître CPCEMU.CFG.
-
- - Poke_Database
- Vous êtes en train de jouer à un jeu que vous ne pouvez pas finir.
- Alors choisissez cette option. Si votre jeu est dans cette liste,
- vous pouvez le rendre plus facile en obtenant des vies infinies par
- exemple. Vous pouvez aussi développer la liste de pokes (CPCEMU.DBF)
- avec vos propres pokes, voir le chapitre 7 pour une description de
- ce fichier.
-
- - Dos_Shell
- Ouvrir un shell dos avec beaucoup de mémoire libre, que vous pouvez
- quitter avec "EXIT".
-
- - Continue
- Prendre en compte les valeurs, et continuer l'émulation. Vous
- obtenez le même résultat en appuyant sur ENTREE à partir de
- n'importe quelle ligne contenant un valeur.
-
-
-
-
- 4.2 Le fichier de configuration
- ================================
-
- Maintenant vous allez apprendre une autre façon de configurer CPCEMU.
-
- Au début CPCEMU lire le fichier de configuration CPCEMU.CFG par
- défaut. La structure de ce fichier est décrite pour que vous puissiez
- utiliser vos propres ROMs, changer le type de clavier définitivement,
- etc...
-
- Voyons ce fichier CPCEMU.CFG :
-
- ;CPCEMU.CFG - The Configuration File for CPCEMU
- ;...
- ;
- ;configuration for CPC 464, 664 and 6128
- ;
- SHOW_CONFIG=1 ;should the configuration be displayed?
- ROM_PATH = ".\ROM" ;chemin to ROM images
- ...
-
-
- Déjà avec ces quelques lignes, vous pouvez voir la structure simple :
- les commentaires commencent avec un point-virgule (";"), les options
- sont modifiées en écrivant un mot-clé suivi de "=" puis une <valeur>.
- La <valeur> dépend du mot-clé et est soit une chaine, soit un nombre.
- Les nombres peuvent être en décimal, hexadécimal ("0x") ou binaire
- ("%").
-
- Quand vous connaissez le sens des mots-clés, vous pouvez ajuster les
- valeurs avec un éditeurde texte pour vos propres besoins.
-
- Vous connaissez la plupart des mots-clés à partir du menu de
- configuration. Voici une liste par ordre alphabétique des mots-clés.
-
- #ENDIF
- #IFCPC
- AMSDOS_DISABLED
- AMSDOS_SPEEDUP
- BREAK_MASK
- COLOUR_SCREEN
- COMPANY_NAME
- CPC_TYPE
- DRIVE_A
- DRIVE_B
- EMS_ENABLED
- EMULATION_DELAY
- EMULATION_SPEED
- HELP_FILE
- INTERRUPT_FREQUENCY
- INTERRUPT_RESUME
- JOY0_CALIBRATE
- JOY1_CALIBRATE
- KBD_LANGUAGE
- LANGUAGE
- MOUSE_ENABLED
- MULTIMODE_UPDATE
- PALETTE_CHANGE
- POKE_DATABASE
- PPI_50HZ
- PPI_EXP_SIGNAL
- PRINTER
- RAM_SIZE
- REALTIME
- ROM_BLOCK
- ROM_PATH
- SB_DELAY
- SB_DELAY0
- SCREEN_OFFSET
- SHOW_CONFIG
- SNAPSHOT
- SOUND_DEVICE
- SOUND_ENABLED
- TAPE_BYPASS
- TAPE_PATH
- TMP_PATH
- VIDEO_MODE
- VSYNC_POSITION
-
-
- Voici l'explicatin des nouveaux mots-clés :
-
-
- - #ENDIF, #IFCPC
- Des instructions de contrôle pour des configurations dépendant du
- type de CPC :
-
- #IFCPC <type de CPC> ... #ENDIF
-
- Pour la valeur <type de CPC>, tous les quatres types de "CPC_TYPE"
- sont valides. En conséquence, vous n'avez besoin que d'un fichier de
- configuration pour tous les CPCs. Les fichiers batchs CPC464.BAT,
- CPC664.BAT et CPC6128.BAT définissent le type de CPC voulu avec les
- paramêtres de ligne de commande (expliqué dans la prochaine
- section).
-
- - DRIVE_A = "<chemin+nom_de_fichier>"
- Définissez le chemin des images de disque. Si vous utilisez un nom
- de fichier comme chemin, cette disquette sera automatiquement
- insérée dans le lecteur A (la section 3.2.1 décrit le chargement et
- la sauvegarde de disquettes).
-
- - DRIVE_B = "<chemin+nom_de_fichier>"
- La même chose que DRIVE_A, mais pour le lecteur B.
-
- - JOY0_CALIBRATE = <xcen>, <ycen>, <xdead>, <ydead>
- Définir la calibration du joystick analogique. Utilisez les valeurs
- affichées après la calibration du joystick dans le menu de
- configuration (voir section 4.1). C'est un mot-clé avec quatre
- valeur. Vous devez toujours les spécifier toutes, quatre 0 signifie
- qu'il n'y a pas de calibration.
-
- - JOY1_CALIBRATE = <xcen>, <ycen>, <xdead>, <ydead>
- La même chose que JOY0_CALIBRATE.
-
- - POKE_DATABASE = "<chemin+nom_de_fichier>"
- Définir la base de données de pokes (CPCEMU.DBF).
-
- - PRINTER = "<chemin+nom_de_fichier>"
- Définir le fichier recevant tout ce qui est envoyé sur le port
- imprimante du CPC. Il est effacé à chaque lancement de l'émulation.
- Après avoir quitté l'émulator, vous pouvez envoyer ce fichier vers
- votre imprimante avec "COPY <nom_de_fichier> PRN".
-
- - ROM_BLOCK = <numéro-ROM>, "<nom_de_fichier>", <ROM-position>
- Décrire la ROM qui doit être chargée et où. Répétez cette ligne pour
- chaque ROM que vous voulez charger. Le maximum de ROMs possibles est
- à peu près 20, si vous utilisez de la mémoire EMS.
-
- * <numéro-ROM> est le numéro assigné de la ROM, cela signifier
- qu'elle est choisie par "OUT &DF00,<numéro-ROM>". Les valeurs
- possibles sont :
-
- 0 : ROM au premier plan (e.g. BASIC)
- 1 - 251 : ROM en arrière plan. Sur un CPC 664/6128, les ROMs
- 1-15 sont automatiquement initialisées durant le reset
- (sur un CPC 464 seulement les ROMs 1 à 7).
- La ROM AMSDOS a toujours le numéro 7.
- 255 : ROM inférieur (l'OS par exemple, a seulement ce numéro
- dans l'émulateur)
- - <nom_de_fichier> est un fichier dans le répertoire ROM_PATH, qui
- contient les ROMs.
-
- - <ROM position> est naturellement 0. Si un fichier contient
- plusieurs ROMs, c'est la position de la ROM par bloc de 16384 octets
- : 0, 1, 2, etc...
-
- ROM_BLOCK = 255, "CPC6128.ROM", 0
- ROM_BLOCK = 0 , "CPC6128.ROM", 1
-
- La ROM inférieure et la ROM de premier plan sont chargées l'une
- après l'autre à partir du même fichier.
-
- - ROM_PATH = "<chemin>"
- Définir le chemin des images de ROMs. Dans le fichier de
- configuration, ce chemin est définit à ".\ROM". Les ROMs elles-mêmes
- sont définis avec le mot-clé ROM_BLOCK.
-
- - SHOW_CONFIG = {1, 0}
- Permet d'afficher la configuration actuelle au lancement de
- l'émulateur.
-
- - SNAPSHOT = "<chemin+nom_de_fichier>"
- Définir le chemin des snaphshots. Si vous définissez un nom de
- snapshot, il sera automatiquement lancé (voir la section 3.2.3 pour
- plus de détails).
-
- - TAPE_PATH = "<chemin>"
- Définir le chemin pour les fichiers cassettes. Dans le fichier de
- configuration, ce chemin est défini comme ".\TAPE" (voir section
- 3.2.2 pour plus de détails).
-
- - TMP_PATH = "<chemin>"
- Définir le chemin pour les fichiers temporaires. Ils sont
- nécessaires si vous choisissez une fichier à l'intérieur d'une
- archive ZIP.
-
-
-
-
- 4.3 Paramêtres en ligne de commande
- ====================================
-
- Comme pour d'autres programmes, il est aussi possible de lancer CPCEMU
- avec des paramêtres en ligne de commande. Mais actuellement il n'y en
- a que quelques uns.
-
- Lancez CPCxxx.BAT avec les options suivantes :
-
- /f : utiliser le mode rapide (défaut)
- /s : utiliser le mode lent
- /d : utiliser le mode debut, voir chapitre 7
- /x : ne pas utiliser la mémoire EMS
- /c <fichier> : utiliser un autre fichier de configuration que
- CPCEMU.CFG, voir section 4.2
- /t <fichier> : définir le type de CPC 464, 664 ou 6128 avec
- respectivement /t 0, /t 1 ou /t 2.
- /h : afficher un écran d'aide
-
- L'option "/d" est automatiquement utilisée si une option inconnue est
- spécifiée. Au lieu du caractère "/", vous pouvez aussi utiliser "-"
- comme sous UNIX.
-
-
-
-
- 5. Transfert de données entre CPC <-> PC
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
- Que pouvez-vous faire avec un bon émulateur quand vous n'avez pas de
- programmes pour lui, ou si vous ne voyez pas de possibilités d'obtenir
- des programmes d'un CPC vers votre PC ?
-
- Dans le chapitrer 6, sources d'approvisionnement, certains sites FTP
- sont données, où des programmes CPC peuvent être trouvés.
-
- Ce chapitre traite du transfert de données du CPC au PC. Certains
- utilitaires pour les différentes méthodes sont décrits (disquette,
- interface série et parallèle).
-
-
-
-
- 5.1 A partir d'une disquette
- =============================
-
- C'est le moyen le plus simple d'obtenir des programmes CPC sur le PC.
- Vous avez seulement besoin d'un CPC avec un second lecteur de
- disquette d'une taille correcte, c'est à dire d'une taille allant
- aussi dans votre lecteur de disquette PC, sinon vous pourriez toujours
- connecter un lecteur 3" sur votre PC). LePC est persuadé de
- reconnaître les disquettes au format CPC avec un utilitaire qui lit
- ces disquettes, cet utilitaire est appelé CPCTRANS.
-
-
-
- 5.1.1 Le programme de transfert CPCTRANS
- -----------------------------------------
-
- J'ai développé CPCTRANS pour créer des images de disquettes à partir
- de disquettes CPC. Les formats CPC standards, comme le format double
- face Vortex, sont reconnus.
-
- CPCTRANS n'est pas prévu pour transférer des formats protégés contre
- la copie !
-
- En lançant CPCTRANS sans paramêtres, vous aurez une courte
- description des options.
-
- CPCTRANS est similaire à la commande COPY du DOS :
-
- 'CPCTRANS <source> <destination> <options>'.
-
- Exemples:
-
- 'CPCTRANS B: DISK1.DSK' copie la disquette qui est dans le lecteur B
- dans une image de disquette DISK1.DSK. Si ce fichier n'existe pas,
- il est créé.
-
- 'CPCTRANS DISK1.DSK B:' écrit l'image de disquette sur la disquette
- setrouvant dans le lecteur B.
-
- Cette première commande ne fonctionne que pour le format DATA. Pour
- d'autres formats vous devez utiliser une option :
-
- /f 0 : format DATA (defaut)
- /f 1 : format DATA, double face
- /f 2 : format SYSTEM
- /f 3 : format SYSTEM, double face
- /f 4 : format VORTEX, double face
- /f 5 : inconnu, CPCTRANS essaye de le détecter
- /f 6 : +3DOS
-
- Notez l'espace entre "/f" et le nombre. Quand vous utilisez le
- format double face DATA ou SYSTEM, vous pouvez sélectionner la face
- A ou B dans le menu disquette (voir section 3.2.1).
-
- Quand vous écrivez une image sur une vraie disquette, la disquette
- dans le lecteur doit avoir le même format ! Pour des formats
- simples, vous pouvez utiliser 22DISK, décrit dans la section
- suivante.
-
- Pour copier la face B d'une disquette, utilisez l'option "/s 1".
- Avec 'CPCTRANS B: DISK1.DSK /s 1' seule la face B de la disquette
- est copiée, avec 'CPCTRANS DISK1.DSK B: /s 1' elle est écrite sur la
- vraie disquette.
-
- L'option "/v" activer la vérification, CPCTRANS vérifie alors si la
- copie est correcte, c'est un peu plus lent, mais augmente la
- sécurité.
-
- L'option "/t" <compteur> définit le nombre de pistes à copier.
- Normalement il est à 40, de nombreux fanzines et démos utilisent 42
- pistes pour obtenir plus de place. Il est à 80 pour le format
- VORTEX.
-
- L'option "/q" (formatage rapide) est une possibilité qui vous permet
- de "formatter" une image de disquette, soit de créer une image de
- disquette sans aucuns fichiers dessus. Vous devez tout de même
- spécifier un lecteur de disquette comme premier paramêtre, même s'il
- n'est pas utilisé, exemple :
-
- 'CPCTRANS a: SYSTEM.DSK /f 2 /q' formatte une image de disquette au
- nom SYSTEM.DSK avec le format SYSTEM.
-
-
-
- 5.1.2 L'utilitaire de formatage et copie 22DISK par SYDEX
- ----------------------------------------------------------
-
- Ce programme est disponible comme un shareware. Avec les définitions
- correctes, vous pouvez presque utiliser tous les formats CP/M !
-
- Malheureusement les formats CPC ne sont pas inclus avec la version
- d'évaluation de 22DISK. J'ai donc défini les formats dans le
- fichiers CPMDISKS.DEF, que vous trouverez dans le sous-répertoire
- UTILITY.
-
- Que pouvez-vous faire avec 22DISK ? Vous pouvez transférer de
- simples fichiers entre votre disque dur et des disquettes au format
- CP/M (dont CPC). Vous pouvez copier ces fichier ensuite dans le
- sous-répertoire TAPE (voir section 3.2.2 pour savoir comment les
- charger ensuite), ou utiliser certains utilitaires externes
- injectant des fichiers CPC dans une image de disquette.
-
-
-
- 5.2 L'interface parallèle
- ==========================
-
- Si vous avez un CPC sans second lecteur de disquette, vous pouvez
- faire le transfert par l'interface parallèle. Cette idée originale
- vient de Gilles Molinari, il a aussi écrit des programmes en turbo
- pascal. Mais vous faites sans doute partie des utilisateurs n'ayant
- pas le compileur turbo pascal, les sources vous sont donc inutiles.
- J'ai donc transcrit les utilitaires en BASIC Locomotive, et étendu
- dans le sens PC->CPC.
-
- Il est donc possible de faire des transferts dans deux sens entre le
- CPC et le PC, qui sont reliés par leur port parallèle.
-
- Si vous avez un CPC 6128 avec un connecteur centronics, et que vous
- le comparez avec une imprimante, vous noterez que le CPC et le PC
- s'embranchent parfaitement en utilisant une cable d'imprimante PC
- standard. Mais ne le faitespas tout de suite, lisez la suite s'il vous
- plait.
-
- Il semble que seul les CPCs Schneider aient un connecteur centronics.
- Si vous avez un Amstrad CPC 6128 avec un simple connecteur, ou un CPC
- 464, 664, utilisez le diagramme à la fin de cette section.
-
-
- D'abord, vous devrez franchir deux obstacles :
- 1. construire un simple adaptateur
- 2. taper un court programme sur le CPC
-
- Attendez ! Ne sautez pas le reste !
-
- Ces deux étapes sont très simples, parce que :
- 1. est possible sans rien souder
- 2. est vraiment très courte (environ 30 lignes de Basic)
-
- Voyons l'étape 2.
- Le programme dont vous avez besoin s'appelle CPCREC.BAS, et il se trouve
- dans le sous-répertoire 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 câble.
- Ici, la cordelette, ce sera CPCREC.BAS, qui reçoit sur le CPC des
- programmes en provenance du PC.
- Avec ce petit utilitaire, vous obtiendrez CPCPARA.BAS (le gros câble) sur
- le CPC. Enfin, avec CPCPARA.BAS, vous pourrez recevoir et transmettre.
- Vous n'aurez alors plus besoin de CPCREC.BAS.
- Du côté du PC, vous utiliserez PCPARA.EXE, aussi inclus dans le sous-
- répertoire UTILITY.
-
- Mais avant de taper CPCREC.BAS sur le CPC, voyons l'étape 1 :
-
-
- L'adaptateur parallèle
- ----------------------
-
- Vous avez besoin d'un adaptateur entre le CABLE d'imprimante et la
- SORTIE imprimante du PC.
-
- C'est facile avec une "wiring box" ("boîte à fils") pour interface RS-232.
- Elle a un côté mâle "D-sub" à 25 broches ("plug") et un côté femelle
- "D-sub" à 25 broches ("socket").
-
- En branchant de courts fils à l'intérieur de la boîte, vous pouvez
- réaliser toutes les connexions possibles entre les deux côtés.
-
- Habituellement, ce type de boîte est employé, comme son nom l'indique,
- pour adapter les interfaces RS-232. Les connexions en série ne fonctionnent
- pas du premier coup, savez-vous ?
-
- L'adaptateur sera branché, côté mâle vers le PC, et côté femelle vers le
- câble.
-
- Voici les connexions à faire dans la boîte :
-
- Côté mâle Côté femelle
- pour la sortie-imprimante du PC pour le câble
-
- Broche 2 --------------- Broche 11
- Broche 10 --------------- Broche 8
- Broche 11 --------------- Broche 1
- Broche 12 --------------- Broche 7
- Broche 13 --------------- Broche 6
- Broche 15 --------------- Broche 5
- Broche 19 --------------- Broche 19
-
-
- Comme vous voyez, vous n'avez pas besoin de 25 fils, 7 suffisent.
-
- Bien qu'une "wiring box" soit bon marché si vous l'achetez par correspon-
- dance, vous trouverez peut-être encore meilleur marché si vous utilisez
- une "jumper box" (boîte à cavaliers). Mais vous aurez à souder les fils.
- Le moins cher consiste à acheter un connecteur mâle "D-sub" à 25 broches,
- et un connecteur femelle "D-sub" à 25 broches également. Plus quelques fils.
-
- A présent, je présume que vous avez connecté les deux ordinateurs
- avec l'adaptateur, et que CPCREC.BAS est dans la mémoire de votre CPC.
- Que faire maintenant ?
-
- 1. Sur le CPC : lancez CPCREC.BAS (après l'avoir sauvegardé...)
- 2. Sur le PC : tapez "PCPARA /s CPCPARA.BAS"
-
- Si aucun message d'erreur n'apparaît sur l'écran du PC, tout va bien,
- le fichier est sur le CPC.
-
- Si le PC n'envoie rien et affiche un message d'erreur, c'est que la
- connexion peut être incorrecte.
-
- S'il envoie quelque chose (message "Sending block xx"), mais qu'un
- message d'erreur apparaît occasionnellement, votre PC est peut-être
- trop rapide ou trop lent : le transfert dans le sens PC->CPC est très
- sensible à la question de vitesse, sachez-le.
-
- Sur mon 386/33, il ne fallait pas que la mémoire EMS soit installée,
- sinon, elle est trop lente. Sur un ordinateur très rapide, il pourrait
- être nécessaire d'utiliser le commutateur "turbo", si vous en avez un.
- De toute façon, 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,
- même sous OS/2, parce que le processus est presque le même que l'action
- d'imprimer : le PC se comporte comme une imprimante.
-
- Je présume que vous avez maintenant CPCPARA.BAS sur votre CPC.
- Transférez les fichiers du CPC vers le PC de la façon suivante :
-
- 1. Sur le PC : tapez "PCPARA /r".
- 2. Sur le CPC : lancez CPCPARA, sélectionnez 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 façon suivante :
- - PCPARA /r : lance PCPARA dans le mode réception
- - 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-répertoire UTILITY affichent
- un aperçu de leurs options si vous les appelez sans paramètres.
-
-
- ATTENTION !
- Même si la construction est très simple, je ne peux pas garantir que
- vous n'aurez aucun dommage. Si le port-imprimante de votre CPC est
- endommagé après 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 ; après la réparation,
- 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 succès. Et j'ai même, parfois, "oublié"
- d'insérer l'adaptateur dans le connecteur, sans avoir eu aucun problème.
-
-
-
-
- Diagrammes de David Chapeau, si votre CPC n'a pas de connecteur Centronics :
-
- 34 <- - - - - - - - 18 \
- ______________________ |
- | ________________ | |
- | |________________| | - | ---> Connecteur (femelle)
- |______________________| | de l'imprimante
- |
- 17 < - - - - - - - - 1 |
- |
- |||||||||||||||||| |
- |||||||||||||||||| \
- |||||||||||||||||| > Câble "CPC 6128 vers DMP 2160"
- |||||||||||||||||| /
- |||||||||||||||||| |
- |
- 1 - - - - - - - - > 18 |
- ________________________ |
- \ ______________ / |
- \ |______________| / - | ---> Connecteur (mâle) Centronics
- \__________________/ |
- |
- 19 - - - - - - - -> 36 /
-
-
-
- 18 < - - - - - - - - 1 \
- ________________________ |
- \ ______________ / |
- \ |______________| / - | ---> Connecteur (femelle) Centronics
- \__________________/ |
- |
- 36 <- - - - - - - - 19 |
- |
- |||||||||||||||||| |
- |||||||||||||||||| \
- |||||||||||||||||| > Adaptateur parallèle PC
- |||||||||||||||||| /
- |||||||||||||||||| |
- |
- 1 - - - - - - - - > 13 |
- ________________________ |
- \ .................. / |
- \ ................ / - | ---> Connecteur Sub-D (mâle)
- \__________________/ | vers le PC (LPT1)
- |
- 14 - - - - - - - -> 25 /
-
-
- 13 < - - - - - - - - 1 \
- ________________________ |
- \ .................. / |
- \ ................ / - | ---> Connecteur Sub-D (femelle)
- \__________________/ |
- |
- 25 <- - - - - - - - 14 |
- |
- |||||||||||||||||| |
- |||||||||||||||||| \
- |||||||||||||||||| > "Wiring Box" RS 232
- |||||||||||||||||| /
- |||||||||||||||||| |
- |
- 1 - - - - - - - - > 13 |
- ________________________ |
- \ .................. / |
- \ ................ / - | ---> Connecteur Sub-D (mâle)
- \__________________/ | vers le PC (LPT1)
- |
- 14 - - - - - - - -> 25 /
-
-
-
- Connecteur Centronics Centronics Connecteur Connecteur Connecteur
- Imprimante (femelle) (mâle) Sub-D Sub-D Sub-D
-
- 1 --------- 1 1 --------- 1 2 --------- 11
- . . 10 --------- 8
- . . 11 --------- 1
- . . 12 --------- 7
- 17 --------- 17 14 --------- 14 13 --------- 6
- 18 --------- 19 19 --------- 19 15 --------- 5
- . 21 --------- 20 19 --------- 19
- . 23 --------- 21
- . 25 --------- 22
- 34 --------- 35 27 --------- 23
- 29 --------- 24
- 30 --------- 25
- 31 --------- 16
- 32 --------- 15
- 33 --------- 18
- 36 --------- 17
-
-
-
-
- Vitesse de transfert CPCPARA -> PCPARA (v1.1) :
-
- Temps de transfert d'un bloc de 0x4000 octets du CPC vers le PC avec
- l'adaptateur parallèle :
-
- Source sur CPC : Octets/sec : Bauds :
- -----------------------------------------------------------
- Fichier sur disquette : 1600 12800
-
- Bloc de mémoire : 2240 17920
-
- Bloc de mémoire, sans 2445 19560
- interruptions
- (poke &b941,&c9 sur CPC 664 et 6128)
-
-
- Le bloc envoyé était contrôlé 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 parallèle au
- chapitre 7.
-
-
-
- 5.3 L'interface série
- ======================
-
- Si vous possédez une interface série pour le CPC, vous pouvez certainement
- l'utiliser pour le transfert de données vers le PC.
-
-
-
- 5.4 Autres possibilités
- ========================
-
- 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)
- modèles pourraient correspondre à la connexion 5,25 pouces.
-
- - Avec un détour 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 nécessaire (Amstrad n'ayant pas encore donné son
- autorisation) de se débrouiller pour avoir les ROMs, quelqu'un m'a parlé
- de ce moyen : il enlevait la puce de la ROM d'un CPC, et l'insérait
- à la place du BIOS VGA. Avec un petit programme, il pouvait en lire le
- contenu.
-
- - Peut-être avez-vous trouvé un autre moyen ?
-
-
-
-
- 6. Sources d'Approvisionnement, Aide en ligne, Remerciements
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
- Dans ce chapitre, vous lirez comme obtenir des programmes CPC, et à qui
- poser des questions. De plus, je mentionne d'autres émulateurs CPC.
-
-
- 6.1 Où puis-je avoir des programmes pour le CPC ?
- ==================================================
-
- Ce n'est pas un problème si vous avez un accès à internet. Comme pour
- les émulateurs Spectrum, un certain nombre d'archives "anonymes"
- existent où vous pouvez trouver des programmes CPC par FTP ou WWW.
-
-
- FTP
- ---
-
- - ftp.nvg.unit.no:/pub/cpc, merci à Arnt Gulbrandsen pour avoir créé
- ce site, et à Noel Llopis pour le maintenir, une des plus grosses
- archives de programmes CPC, envoyez ce que vous avez dans le
- répertoire /pub/cpc/incoming.
-
- - sunshine.informatik.uni-wuerzburg.de:/pub/joscho/cpcemu
- C'est un miroir de ftp.nvg.unit.no. Toutes questions, remarques et
- additions doivent être adressées à joscho@informatik.uni-wuerzburg.de
- Si vous avez des problèmes pour vous connecter en Norvège, vous
- pouvez essayer ce site.
-
- - ftp.ibp.fr:/pub/amstrad, merci à Remy Card, toutes question à propos
- de ce site doivent être envoyées à roussin@blaise.ibp.fr Tous les
- fichiers de ce site viennent de "Genesis the 8bit generation"
- (regardez plus bas). Un autre site avec beaucoup de programmes pour
- CPC.
-
- - ftp.demon.co.uk:/pub/cpm, merci à Paul Martin, des fichiers
- spécifiques à la version CP/M d'Amstrad
- Paul Martin (pm@nowster.demon.co.uk) enverra, à quiconque lui
- prouvera qu'il possède la disquette originale Amstrad CP/M Plus, les
- images binaires de la ROM de sa "CP/M Plus ROMs", et gratuitement.
-
- - oak.oakland.edu : /Simtel/msdos/emulator/cpcemu14.zip
-
- - other Simtel mirrors:
-
- ftp.ibp.fr : /pub3/pc/SimTel/msdos/emulator/
- ftp.demon.co.uk : /simtel/msdos.
- ftp.uni-paderborn.de
-
-
- WWW
- ---
-
- - la revue anglaise Amstrad Action : http://www.futurenet.co.uk/
-
- - http://www.cm.cf.ac.uk/User/K.E.W.Thacker/Amstrad/index.html
-
-
-
- BBS
- ---
-
- - Aspects (2:250/107) : +44 617920260, au Royaume-Uni, le sysop est
- Dave Gorski, V32b, CPCEMU 1.2, programs (la majorité en basic),
-
- - Genesis the 8bit generation, (2:320/220), +33 1 39 50 54 11, en
- France, du v22 au VFC, le sysop est Emmanuel Roussin. Les dernières
- versions des émulateurs, des ROMs 6128 qwerty et azerty, des
- programmes freeware, shareware et domaine public, des fanzines
- disquettes, des pokes, des solutions, des démos et quelques jeux
- commerciaux avec l'autorisation de leurs auteurs. Pour le moment il
- y a environ 41 Mo de programmes compressés. Pour les utilisateurs
- FIDO, vous pouvez faire une demande du fichier ALLFILES.ZIP, et
- demander ensuite ce qui vous intéresse.
-
- - Razormaid, (2:246/6009), +49 711 4204329, en Allemagne, jusqu'au
- v32b et Zyxel, le sysop est Thorsten Mitschele, aussi connu sous le
- nom de Kangaroo sur la scène CPC. Il a les mêmes fichiers que
- Genesis, avec un peu de délai.
-
-
- - ZNODE 51 : + 49 89 961 45 75, en Allemagne, de 15:00 à 3:00 CET
- (MEZ), jusqu'en v32b, fichiers CPC
-
- - Beavis'n'Butthead BBS 2453/407, Allemagne
-
-
-
- 6.2 Dernières nouvelles, échange d'experiences
- ===============================================
-
- Voulez-vous avoir toujours la dernière version de CPCEMU ?
- Voulez-vous être informé si une nouvelle version est sortie ?
-
- Nous avons créé un "newsgroup" (un forum électronique) spécialement
- 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 expériences avec les CPCs.
-
- Il y a une FAQ (Frequently Asked Questions = les questions posées
- fréquemment) disponible pour ce newsgroup, la dernière se trouve
- toujours sur le site FTP : ftp.ibp.fr dans /pub/amstrad/amstrad.faq
-
- Si vous ne pouvez pas lire le newsgroup pour telle ou telle raison,
- écrivez-moi un "email" (courrier électronique) pour me dire que vous
- voulez figurer sur la liste des correspondants. Vous serez alors
- informé des dernières nouvelles sur CPCEMU.
-
- Vous trouverez mon adresse dans la prochaine section.
- Naturellement, vous pouvez aussi utiliser le courrier "normal" pour me
- poser des questions (ou à David, voir ci-dessous), mais, s'il vous plaît,
- n'oubliez pas les frais d'expédition du courrier !
-
- A propos, si vous m'envoyez une contribution financière, je me sentirai
- obligé de vous faire parvenir la dernière version de CPCEMU au moins une ou
- deux fois.
-
-
-
-
- 6.3 Si vous avez des questions ou des suggestions
- ==================================================
-
-
- Alors, écrivez-moi directement :
-
- Marco Vieth
- Auf dem Uekern 4
- D-33165 Lichtenau
- ALLEMAGNE
-
- Téléphone : (...)05292/1366 (en week-ends)
-
- Internet: ali@uni-paderborn.de
-
- Comme vous l'avez probablement deviné au vu de mon adresse Internet,
- j'étudie les sciences informatiques à l'Université de Paderborn.
- Je suis dans mon dixième semestre (SS 95).
-
-
-
- Au cas où vous parleriez ou écririez l'anglais, vous pouvez aussi écrire
- à David Cantrell :
-
- David Cantrell
- 116, London Road
- Bexhill-on-sea
- East Sussex
- TN39 4AA
- England
-
- Téléphone : +44-1424-221015
-
- Internet: david@integration.co.uk
-
-
- David offre d'aider un peu à répondre à la "pile de lettres". Il a
- numérisé 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 espèce de soutien, financier ou technique (100 à 150
- conviendrait tout à fait, 30-50 Deutschmarks seraient appropriés. Cela
- fait environ 20-33 dollars américains, ou 13-21 livres anglaises).
- Note du Traducteur ER : allez tout simplement à votre poste, et
- demandez à envoyer un mandat postal international, les frais sont
- faibles. personnellement j'ai envoyé deux mandats à Marco, éloignés de
- six mois à un an, tellement j'étais heureux de retrouver un CPC sur
- mon PC, et pourtant je n'ai pas des revenuse exceptionnels.
-
- Même si vous n'envoyez pas d'argent, je réponds normalement à toutes les
- lettres, et j'essaie de garder vos suggestions à l'esprit (je suis sûr
- que David fait de même).
- Ainsi, n'hésitez pas à envoyer vos commentaires.
-
-
-
- 6.4 Autres émulateurs pour Amstrad CPC
- =======================================
-
- Au début 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 "après boire".
-
- - CPC2PCxx :
- En développement depuis Octobre 1993, par Paco Lopez (Espagne), et
- disponible sur sites à présent. Il est écrit entièrement en mode
- protégé, et utilise le même format de disquette que CPCEMU.
-
- - CPE :
- En développement par Bernd Schmidt. En utilisant un mode d'écran
- spécial de 50 Hertz, des blocs de couleurs sont reproduits exactement.
- Un CPE2 "spécial 256 couleurs" affiche des blocs de couleurs exacts à
- plus de 50 Hertz.
- Egalement assurés : multi-modes, overscan.
- Dernière version : v5.0.
-
-
-
- 6.5 Projets pour les futures sorties de CPCEMU
- ===============================================
-
-
- - overscan
- - multi-mode amélioré
- - écran centré si on change sa taille
- - scrolling "hard" rapide
- - les claviers américains n'ont pas de "<>", ALTgr
- - simuler les ports d'expansions du CPC
- - charger directement les disquettes de CPC
- - charger directement les cassettes de CPC (par le port-imprimante
- ou la carte Soundblaster)
- - transférer toute l'image de la disquette avec l'adaptateur parallèle
- - contrôle du volume pour la Soundblaster
- - son amélioré (peut-être avec production de bruit)
- - émulation digiblaster
- - touches du joystick sélectionnables
- - utiliser la souris comme un joystick
- - auto détection de .SNA et .DSK
- - émuler le port d'expansion
-
-
- Peut-être cela ne sera-t-il jamais réalisé, car j'ai mon mémoire à écrire
- en priorité, et ça me donne beaucoup de travail...
-
-
-
- 6.6 Remerciements
- ==================
-
- - Remerciements particuliers à Juergen Weber, non seulement pour ses
- suggestions, mais spécialement 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 mêmes problèmes en même temps. Vous ne
- pouvez imaginer ce que cela représente, et combien de détails posent
- problème, que si vous avez essayé d'écrire vous-même un émulateur.
- Aucune documentation sur le CPC n'est disponible, qui en donnerait
- toutes les caractéristiques : des parties entières du comportement du
- CPC n'ont été détectées que par l'expérimentation sur cet ordinateur.
-
- - Merci à Emmanuel Roussin pour son engagement infatiguable envers le
- CPC. Il a fait l'essentiel pour la création du "newsgroup", et m'a
- prêté sa Multiface II pendant des mois, pour que je puisse l'inclure
- dans l'émulateur d'une façon ou d'une autre.
-
- - Merci à Arnt Gulbrandsen pour son source JPP, où j'ai trouvé des idées
- pour le pilote du clavier et la routine du joystick. En fait, JPP est
- un très 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
- parallèle.
-
- - Merci à Paul Martin d'avoir corrigé la documentation anglaise de la
- version 1.0.
-
- - Merci à Mark Haigh-Hutchinson pour son engagement de faire des programmes
- à partir du domaine public de la compagnie Vortex
- (mhh@lucasarts.com).
-
- - Merci à Martin Young pour ses éminentes idées à propos de l'émulation
- du Z80.
-
- - Merci à Linh Hsiesh pour ses nombreuses idées d'amélioration, dont
- beaucoup ont été adoptées.
-
- - Merci à Fred Harris d'avoir écrit à AMSTRAD à propos des ROMs.
-
- - Merci à Amstrad, spécialement à Cliff Lawson, pour m'avoir autorisé
- à distribuer la ROM Basic. Amstrad possède 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 possède toujours le copyright.
-
- - Et merci à tous les nombreux utilisateurs pour m'avoir envoyé des
- suggestions ou des idées. Sans eux, CPCEMU aurait difficilement atteint
- la version 1.0.
-
-
-
-
-
- 6.7 Marques déposées
- =====================
-
- CP/M, CP/M 2.2 et DRDOS sont des marques déposées de Digital Research.
- MS-DOS est une marque déposée de Microsoft.
- IBM PC, PC-XT, PC-AT et OS/2 sont des marques déposées de International
- Business Machines.
- CPC, AMSDOS par Amstrad,
- BORLAND C, TASM (Turbo Assembler) par Borland,
- 22DISK par SYDEX,
- Soundblaster par Creative Labs.
-
-
-
-
-
- ------------------------------------------------------------------------------
-
-
- 7. Information interne sur CPCEMU
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
-
- Ce chapitre fournit quelque information d'arrière-plan et répond à la
- question : "POURQUOI devrais-je faire ceci ou cela maintenant ?"
-
- Le puissant menu de déboguage est aussi écrit. Vous trouverez également
- la structure des images de disquettes et des fichiers de snapshots.
-
- Cette information n'est pas destinée à 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 même après les marques déposées,
- avec l'intention de montrer sa "relative insignifiance".
-
- Si vous n'avez aucun plaisir à lire des phrases inintelligibles et des
- informations en désordre, ne lisez pas plus avant ! Sautez directement
- à l'Appendice.
-
-
-
- ATTENTION : Vous continuez la lecture à vos propres risques !
-
-
-
-
-
- 7.1 Table des matières du chapitre 7
- =====================================
-
- 7.2 Aperçu interne des particularités 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 : contrôleur vidéo)
- 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 : contrôleur de disquettes)
- 7.2.8 L'interface Centronics pour imprimante
-
- 7.3 Le menu Debug
- - Aperçu du menu Debug
- - Préliminaires
- - Aperçu des commandes
- - Manipulation des registres
-
- 7.4 Gestion de la mémoire
- 7.4.1 Encore une fois : la configuration EMS
- 7.4.2 Comment opère la commutation de banques ?
-
- 7.5 Modifications de la ROM
- 7.5.1 Dérivation 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 parallèle
- - Sens CPC->PC
- - Sens PC->CPC
- 7.6.3 CPCTRANS
-
- 7.7 Structure des fichiers CPCEMU
- 7.7.1 Images de disquettes
- - Le bloc d'information Disque
- - Le bloc d'information Piste
- 7.7.2 Fichiers Snapshot
- 7.7.3 En-tête AMSDOS
- 7.7.4 Base de données de Pokes
-
- 7.8 Historique interne
-
-
-
-
- 7.2 Aperçu interne des particularités de CPCEMU
- ================================================
-
-
- A quel point CPCEMU est-il réellement compatible ? Voici les "plus" et
- les "moins".
-
-
- 7.2.1 Le Z80 (le processeur)
- -----------------------------
-
- + Toutes les instructions du Z80 sont émulées, y compris celles dites
- "illégales".
- 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 émulée
- simultanément par les versions lente et rapide, ce qui est très lent,
- mais, en comparant les registres après chaque instruction, bien des
- erreurs sont débusquées. Evidemment, on n'a fait cela que durant la phase
- de développement du programme.
- Vous pouvez activer l'émulation lente dans le menu Debug.
- + Instructions additionnelles codées "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'exécution des instructions n'est pas exact.
-
-
- 7.2.2 Le Gate Array (le "co-processeur")
- -----------------------------------------
-
- + Toutes les 32 couleurs du CPC (27 différentes, en fait)
- + Les trois modes d'écran (X x Y x COULEURS) :
- mode 0 = 160x200x16
- mode 1 = 320x200x4
- mode 2 = 640x200x2
- + Commutation de ROM (16K OS, 16K Basic, 16K AMSDOS et ROMs additionnelles)
-
- - La couleur provoque un scintillement
-
-
-
- 7.2.3 Le PAL (Programmable Logic Array)
- ----------------------------------------
-
- Le PAL est à la même adresse logique que le Gate Array, mais en est
- physiquement séparé.
-
- + Commutation de RAM (128 K, jusqu'à 576 K) avec mémoire EMS ou
- conventionnelle.
- Avec de l'EMS émulée, les blocs sont localisés par le hardware, de
- sorte que la vitesse est bonne. CPCEMU vous donne une expansion de
- RAM "compatible Dk'Tronics", jusqu'à 576 K.
-
- - Sans EMS, la commutation de RAM est très lente, puisque les blocs de
- mémoire doivent être déplacés dans la mémoire du PC. En outre, vous
- avez seulement 128 K de RAM.
-
-
-
-
- 7.2.4 Le CRTC 6845 (Cathode Ray Tube Controller : contrôleur vidéo)
- --------------------------------------------------------------------
-
- + Base de l'écran et "offset" (décalage) par scrolling hard.
- + Plusieurs tailles d'écran, de 0x0 à 80x25, avec les registres 1 et 6.
- + Différentes tailles de caractères (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 rafraîchissement de l'écran. Vous pouvez changer la position.
- + La cassette est très rapide, une dérivation de la ROM permet l'accès à
- tous les fichiers DOS.
-
- - Le bit de VSYNC est positionné trop longtemps.
- - Les ports cassette ne sont pas émulés ; ainsi, beaucoup de programmes
- sur cassette qui accèdent 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 multiplexés en un seul, et que le volume ne peut pas être modifié)
- ou sur une carte Soundblaster. Seules la partie Adlib compatible FM est
- utilisée.
-
- - Pas de son numérique, ou alors trop lent.
- Les enveloppes de bruit du PSG n'ont pas d'équivalent sur une carte
- Soundblaster, aussi ne sont-elles pas émulées.
-
-
- 7.2.7 Le FDC 765 (Floppy Disc Controller : contrôleur de disquettes)
- --------------------------------------------------------------------
-
- + Toutes les commandes du FDC nécessaires pour contrôler deux lecteurs
- A et B (y compris lire/écrire secteur, chercher piste, lire ID-secteur,
- etc. Ignoré : formater piste).
- Formats de disquettes très souples (jusqu'à 18 secteurs par piste).
- Incluant les formats double face, par exemple de VORTEX.
-
- - Les formats compliqués destinés à 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 défini par PRINTER.
-
-
-
-
- 7.3 Le menu Debug
- ==================
-
- Le jeu complet des registres du Z80 est affiché, et leur contenu peut être
- modifié.
-
- Vous pouvez faire un "dump" de la mémoire, la désassembler ou la modifier.
- Vous pouvez charger ou sauvegarder des zones de mémoire. Et, le plus
- intéressant : vous pouvez exécuter les programmes pas à pas (comme sur
- un vrai débogueur) !
-
- Aperçu 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 première 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 désassemble l'instruction en cours à la position du PC
- (le Compteur de Programme, pas l'ordinateur !).
- Et la dernière est un "prompt" qui attend votre prochaine entrée (le "f"
- indique que vous êtes dans le mode rapide de l'émulation).
-
-
- Préliminaires
- -------------
-
- Les paramètres entre crochets carrés sont optionnels [opt].
- N'utilisez que des valeurs hexadécimales, par exemple <adresse> = 0000-ffff.
- "<ret>" indique que vous êtes dans un mode spécial : vous pouvez appuyer
- sur <return> pour continuer ; <chaîne_quelconque><Return> quitte ce mode
- (utilisez par exemple b<return>).
- Les commandes sont des lettres, souvent suivies par une adresse optionnelle.
- Entre la lettre et cette adresse doit figurer un espace ou une tabulation.
- Si la commande est donnée sans adresse, c'est celle du PC (voir plus haut !)
- qui est prise par défaut.
-
-
- Aperçu 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>] : exécute uniquement l'instruction affichée.
- Utilisez <return> pour continuer dans ce mode, et ainsi de suite.
- <chaîne_quelconque><return> revient au mode normal.
- Toutes les commandes pas à pas sont exécutées par l'émulation lente
- (même si "-f->" est affiché), parce qu'il n'y a plus de compteur
- dans l'émulation rapide.
-
- S)tep ("step over"):
- s [<adresse>] : exécute la prochaine instruction.
- Ou plutôt, toutes les instructions, jusqu'à ce que l'adresse du PC
- soit égale à celle de la prochaine instruction (cas d'un appel de sous-
- programme). Ce qui peut prendre, comme disait Fernand Raynaud, "un certain
- temps", par exemple après un "Ret". Dans ce cas, la touche F10 peut
- aider (comme toujours).
- Toutes les commandes pas à pas sont exécutées par l'émulation lente,
- comme dit 11 lignes plus haut.
-
- A)ssemble (en réalité : désassemble) :
- a [<adresse>] : désassemble les 16 instructions suivantes.
- Utilisez <return> pour continuer dans ce mode, et ainsi de suite.
- <chaîne_quelconque><return> revient au mode normal.
-
- D)ump:
- d [<adresse>] : affiche un dump en hexa/ASCII des 256 octets suivants,
- à partir de l'adresse spécifiée ou contenue dans le PC.
- Utilisez <return> pour continuer dans ce mode, et ainsi de suite.
- <chaîne_quelconque><return> revient au mode normal.
-
- I)nput (modifiant la mémoire) :
- i [<adresse>] : affiche l'adresse mémoire donnée 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-répertoire TAPE_PATH (il doit donc s'y trouver !),
- à l'adresse spécifiée.
- Un en-tête AMSDOS est reconnu comme tel.
- Si vous appuyez sur <Return> après la demande du nom de fichier, le menu
- de sélection de fichier (bien connu) apparaît...
- 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 mémoire à sauvegarder. Cette zone sera
- sauvegardée depuis <adresse> (ou celle contenue dans le PC), en tant
- que fichier binaire, dans le sous-répertoire TAPE_PATH, avec un
- en-tête AMSDOS.
- Exemple :
- -f-> v<return> demo<return> 4000<return> :
- sauvegarde un fichier "demo" commençant à 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/arrêt du désassemblage de l'instruction.
-
- F)ast (sélection du type d'émulation) :
- f : bascule entre l'émulation rapide du Z80 (développée en assembleur
- par Juergen Weber, et prise par défaut) et l'émulation lente (écrite
- en C).
- Le "prompt" affiche "-f->" pour "fast" (rapide) et "-s->" pour "slow"
- (lente).
- Les commandes r, s, t se réfèrent au type d'émulation sélectionné.
-
- 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 : règle le compteur de programme à l'adresse 0xA000.
-
- Vous pouvez également écrire "<registre><espace><valeur-hexa>".
-
- Vous pouvez modifier tous les registres affichés 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 mémoire
- =============================
-
-
- 7.4.1 Une fois de plus : la configuration EMS
- ----------------------------------------------
-
- Il vous faut un gestionnaire de mémoire aceptant le standard LIM EMS 4.0.
- Ce gestionnaire doit fournir des pages EMS étendues dans n'importe quelle
- région de la mémoire, car CPCEMU cherchera 6 pages physiques sur des
- adresses consécutives.
-
- Si l'emploi de la mémoire EMS est possible, un décompte de ladite mémoire
- "EMS xxx Bytes ok." apparaîtra durant l'initialisation.
-
- Je vous ai conseillé, au début de cette documentation, d'employer les
- réglages 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 région basse est pour les pages EMS en mémoire conventionnelle.
- Si CPCEMU doit utiliser de telles pages, mettez au moins 6*64K = 384K.
-
- La région 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 mémoire dont vous disposez sur votre
- ordinateur.
-
- Notes :
- EMM386 fournit plusieurs pages additionnelles en mémoire conventionnelle.
- L'adresse minimale peut être changée avec l'option /B=<segment> (par
- défault, 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 même 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'idée principal pour CPCEMU est d'avoir des segments et offsets
- différents pour la lecture et l'écriture. Pour chaque accès en lecture,
- un offset de lecture est additionné à l'adresse désirée, et on fait
- de même 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 = mémoire conventionnelle, ou pages physiques EMS)
-
- a = ROM basse activée, ROM haute activée
- b = ROM basse désactivée, ROM haute activée
- c = ROM basse activée, ROM haute désactivée
- W = ROM basse désactivée, ROM haute désactivée
-
- Pour basculer entre les deux états, les blocs "0" et "L" doivent
- être commutés. Pour la commutation des banques de RAM, un nouveau
- bloc "0" doit être commuté avec l'ancien.
- La sélection de ROM est accomplie en copiant la nouvelle ROM vers le
- bloc "U".
-
- Avec la mémoire EMS, toutes les commutations de banques sont faites
- par le matériel 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 consécutives
- sont nécessaires : le frame standard avec 4 pages est insuffisant.
-
-
-
-
-
- 7.5 Modifications de la ROM
- ============================
-
-
- 7.5.1 Dérivation de la ROM pour la cassette
- --------------------------------------------
-
- Après la commande "|TAPE", ou si la ROM de l'AMSDOS est désactivée,
- c'est la cassette qui est active. Les accès-cassette avec CPCEMU
- sont transformés en accès à un fichier dans un simple sous-répertoire.
- Cette redirection est accomplie par une dérivation de la ROM.
- Avec "TAPE_BYPASS=YES", vous activez la dérivation des vecteurs-cassette
- en ROM.
-
- Si CPCEMU trouve une ROM connue de CPC 464/664/6128, elle est modifiée
- en conséquence. La dérivation est nécessaire si vous voulez employer la
- cassette.
-
- Des instructions spéciales sont implantées dans l'émulation du Z80.
- Elles appellent des fonctions spéciales qui ne sont fournies que par
- l'émulateur ; elles ont été entrées directement en ROM, mais il est
- toujours possible de modifier les vecteurs en RAM.
-
- Les instructions suivantes sont disponibles :
- ED FC xx USER &BCxx (valide seulement pour quelques vecteurs en RAM)
- Equivaut à une instruction CALL vers une des fonctions internes.
- Les valeurs suivantes pour xx sont légales :
- 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 immédiatement l'émulation.
-
-
-
- 7.5.2 Modifications de la ROM de l'AMSDOS
- ------------------------------------------
-
- - Avec "DISABLE_ADOS=YES" dans le fichier de configuration, vous faites
- "oublier" l'initialisation de l'AMSDOS.
-
- Dans ce cas, la modification des vecteurs-cassette, effectuée par
- l'AMSDOS lorsqu'on ordonne "|TAPE", est désactivée (ainsi, les
- vecteurs-cassette pointent toujours sur la cassette, bien que la
- ROM de l'AMSDOS ait été initialisée). C'est nécessaire si vous désirez
- continuer à charger des fichiers à partir de la cassette après un
- reset-disc, mais sans avoir à donner la commande "|TAPE" auparavant
- (bidouille réalisée avec "poke &CCF2,&18: poke &CCF3,&05" dans la
- ROM de l'AMSDOS).
-
- Les instructions de secteur ne sont pas affectées, elles adressent
- toujours la disquette.
-
- - "DISC_SPEEDUP=YES" active une modification de l'AMSDOS, laquelle
- minimise le délai d'attente du moteur du lecteur de disquettes,
- afin de rendre plus rapides les accès-disque (ici, tout est fait
- par le DOS, on n'a donc pas besoin de délai d'attente).
- Pour y parvenir, on a modifié les octets suivants, toujours dans
- la ROM de l'AMSDOS :
- poke &C5D4,&01 :'délai pour le moteur
- poke &C5D8,&01 :'délai pour le formatage d'une piste
- poke &C5D9,&01 :'court délai
- poke &C5DA,&01 :'court délai
- 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 ignorée.
-
- Les espaces, tabulations, sauts de ligne et ";" sont des délimiteurs,
- et peu importe combien vous en utilisez.
-
- Beaucoup de définitions ont la forme syntaxique :
-
- <mot-clé> = <valeur> {T}
-
- {T} est une séquence d'au moins un délimiteur.
- Exemple : ROM_PATH = .\ROM
-
- <nombre> peut être donné en décimal, hexadécimal (avec le préfixe 0x)
- ou binaire (%).
- <chemin> peut avoir une longueur de 80 caractères et <fichier> jusqu'à
- 20 caractères.
-
- Quelques informations supplémentaires pour sélectionner le mot-clé :
-
- BREAK_MASK = <nombre> (3)
-
- Réservé au déboguage.
- Certains événements ("events") interrompent l'émulation normale.
- Avec ce drapeau, vous pouvez désactiver ces événements. A utiliser
- avec précaution !
- Laissez tous les bits à la même valeur, sauf ceux concernant les
- événements que vous ne voulez pas voir intervenir.
- b2 = 0 -> désactive l'affichage des erreurs sur les ports
- (utilisez 0xfffb)
- b3 = 0 -> désactive les touches de fonction (ainsi, l'émulation
- ne peut plus être interrompue ! Utilisez 0xfff7)
- La signification de ces bits pourra changer dans l'avenir !
-
-
-
-
-
- 7.6.2 L'adaptateur parallèle
- -----------------------------
-
- 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 (Donnée disponible)
- -ACK 10 <--- 8 D6 |
- PE 12 <--- 7 D5 | Données
- SELECT 13 <--- 6 D4 |
- -ERROR 15 <--- 5 D3 |
- D0 2 ---> 11 BUSY Synchro (Prêt à recevoir)
-
-
- Sens CPC->PC
- ------------
-
- Normalement, l'adaptateur est conçu pour fonctionner dans ce sens
- seulement. Envoyer une donnée 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 donnée est là, et l'efface ensuite.
-
- Ainsi, le PC a seulement besoin d'effacer le signal BUSY (par la
- ligne D0), d'attendre le STROBE (sa ligne BUSY), prendre le quartet
- (sur les lignes d'entrée imprimante->PC), et positionner BUSY.
-
- Question : pourquoi scinder l'octet en deux quartets ? Pourquoi
- ne pas envoyer les 8 bits en une seule fois ?
- Réponse :
- 1. Le port imprimante du PC doit être reprogrammé en entrée, et je
- ne suis pas sûr que c'est possible sur tous les PCs
- et
- 2. Le CPC n'a que 7 bits sur sa sortie imprimante (sauf le 6138 Plus).
-
-
- Sens PC->CPC
- ------------
-
- J'ai pensé un jour à la possibilité d'envoyer des données dans l'autre
- sens. Malheureusement, le CPC n'a qu'une seule ligne (un seul bit) en
- entrée sur le port-imprimante : le signal BUSY.
-
- Aussi, cela n'améliorerait pas la situation si vous tentiez de
- concevoir un meilleur adaptateur pour ce sens. Ainsi, faites avec ce
- que vous avez déjà, et tentez plutôt d'améliorer le protocole de
- transfert.
-
- Une interface série, également, n'a qu'une ligne pour chaque sens.
- Mais elle utilise une synchronisation matérielle, habituellement avec
- un quartz, et les deux côtés doivent employer exactement la même vitesse
- de transmission, par exemple 1200 bauds.
-
- Il est difficile de réaliser cela avec seulement un logiciel. Que
- faire alors ? L'idée principale consiste à utiliser l'avantage de la
- vitesse du PC sur le CPC. Chaque octet est partagé en 8 bits, et
- transmis en série, 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 régler sur lui. Le CPC
- écrit un "bit de requête" avec une instruction en assembleur, et le
- PC doit réagir 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 désactiver les interruptions pendant tout le transfert,
- pour chaque octet, une "connexion" est établie : le CPC dit "Envoie-moi
- quelque chose !", et le PC répond "D'accord, j'attends jusqu'à ce que tu
- sois prêt à le recevoir !" en basculant le signal BUSY.
- Tout le processus est protégé 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 désactivées), vous pouvez
- sortir du programme avec <ESC> ou <CRTC>+<BREAK> à tout moment.
-
-
-
-
- 7.6.3 CPCTRANS
- ---------------
-
- Une autre option non mentionnée, à propos de CPCTRANS, est "/d 0"
- ou "/d 1". Avec 1, le mode double-pas spécial est sélectionné, et,
- sur les lecteurs de disquettes 80 pistes, chaque seconde piste est
- sautée lorsqu'on travaille avec des disquettes de 40 pistes.
-
- Cette option ne devrait pas être nécessaire, puisque CPCTRANS commute
- automatiquement en double-pas quand il détecte une disquette 5,25 pouces
- et 360 K.
-
- Normalement, il est très simple de lire et d'écrire des secteurs en
- utilisant le BIOS. Mais le BIOS ne peut pas gérer les faces B des
- disquettes avec une marque de tête égale à 0.
-
- Aussi ai-je programmé moi-même 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é prévues pour
- un 8086.
-
-
-
-
- 7.7 Structure des fichiers CPCEMU
- ==================================
-
-
- 7.7.1 Images de disquettes
- ---------------------------
-
- Ces fichiers se composent d'un bloc de 256 octets d'infos sur la
- disquette, et, pour chaque piste, d'un bloc de 256 octets d'infos
- sur la piste, suivi par les données pour chaque secteur de chaque piste.
-
- Le bloc d'Information Disquette
- -------------------------------
- Octet (hexa) : Signification :
- 00 - 21 MV - CPCEMU Disk-File\r\nDisk-Info\r\n
- ("MV - CPC" pour la reconnaissance du fichier)
- 22 - 2F inutilisé (0)
- 30 nombre de pistes (40, 42, peut-être 80)
- 31 nombre de têtes (1 ou 2)
- 32 - 33 taille d'une piste (incluant 256 octets d'info-piste)
- Avec 9 secteurs * 512 octets + 256 octets d'info-piste
- = 0x1300.
- 34 - FF inutilisé (0)
-
- Le bloc d'Information Piste (pour chaque piste)
- -----------------------------------------------
- Octet (hexa) : Signification :
- 00 - 0C Track-Info\r\n
- 0D - 0F inutilisé (0)
- 10 numéro de piste (de 0 à "nombre de pistes - 1")
-
- 11 numéro de tête (0 ou 1)
- 12 - 13 inutilisé (0)
- Paramètres 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 numéro de piste \
- 19+i numéro de tête | information ID de secteur
- 1A+i numéro de secteur |
- 1B+i BPS /
- 1C+i état 1, code d'erreur (0)
- 1D+i état 2, code d'erreur (0)
- 1E+i , 1F+i inutilisé (0)
-
- Notes :
- Les données enregistrées sur le secteur doivent suivre le bloc
- d'Information-Piste dans l'ordre des IDs de secteur. Aucune piste,
- aucun secteur ne doit être omis.
- Avec les format double face, les pistes alternent, par exemple :
- piste 0 tête 0, piste 0 tête 1, piste 1 tête 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-tête de 256 octets,
- suivi d'un dump de la mémoire.
-
- L'en-tête Snapshot :
- Octet (hexa) : Signification :
- 00 - 07 "MV - SNA" (pour reconnaître 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=désactivé, 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 numéro 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 données (0, 1, ..., 17)
- 55 numéro de ROM haute
- 56 - 59 PIO : port A, port B, port C, port de contrôle
- 5A PSG : registre d'adresse
- 5B - 6A PSG : registre de données (0, 1, ..., 15)
- 6B - 6C taille du dump de la mémoire (64K ou 128K)
- (les paramètres suivants n'existent que depuis la version 2.0)
- 6D type de CPC où le snapshot a été généré
- (0=CPC 464, 1=CPC 664, 2=CPC 6128, 3=inconnu)
- 6E numéro d'interruption (0..5), la dernière interruption
- durant un cycle de rafraîchissement 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-tête AMSDOS
- ---------------------
-
- Octet (hexa) : Signification :
- 00 numéro d'user (0 ; valeurs possible : 0-15)
- 01 - 0F nom + extension (zéros de remplissage le cas échéant)
- 10 numéro de bloc (0)
- 11 drapeau "dernier bloc" (0)
- 12 type de fichier (0=Basic, 1=Basic protégé, 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'entrée (0-FFFF)
- 1C - 3F libres pour l'utilisateur (0)
- 40 - 42 longueur réelle du fichier (1-FFFFFF)
- 43 - 44 somme de contrôle des octets 00-42
- 45 - 7F inutilisé (valeurs aléatoires venant du tampon secteur)
-
- Note :
- Un en-tête précède tout fichier non-ASCII. Il est identifié comme tel
- en calculant la somme de contrôle.
-
- Les octets 00-3F ont pour origine la "zone cassette", où les fichiers
- étaient divisés en blocs.
- Les octets 12, 15-16, 1A-1B, 40-42, 43-44 sont nécessaires.
-
-
- 7.7.4 Base de données de Pokes
- -------------------------------
-
- Une entrée (une ligne) consiste en 7 rubriques, chacune étant limitée
- par des guillemets, et séparées par des virgules.
-
- 1. numéro de rubrique (1 caractère, 0-F) : la première a le numéro 0
- et peut être sélectionnée. Si un programme nécessite plus d'un poke,
- les entrées suivantes ont les numéros 1, 2, etc.
-
- 2. Nom du programme (jusqu'à 20 caractères).
-
- 3. Description (jusqu'à 20 caractères).
-
- 4. Type (1 caractère) : "t"=Tape (cassette), "d"=disquette, "a"=all (tous).
- Ignoré en général.
-
- 5. Adresse du poke (4 caractères, hexadécimal) : donne l'adressse en
- mémoire dont le contenu doit être modifié.
-
- 6. Valeur à "poker" (2 caractères, hexadécimal ou "??") : si c'est "??",
- vous devrez fournir vous-même la valeur, pas exemple un nombre de vies.
-
- 7. Ancienne valeur, à modifier (2 caractères, hexadécimal ou "??") :
- permet de vérifier si le poke modifie l'environnement correct. Si la
- valeur trouvée à l'adresse du poke diffère de cette ancienne valeur,
- un avertissement est affiché. Il n'y a pas de vérification 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 entrées qui suivent.
-
-
-
-
-
- 7.8 Historique interne
- =======================
-
-
- Z80EMU (seulement un Z80, beaucoup moins qu'un CPC)
- ---------------------------------------------------
-
- - v1.0 (1991) :
- Première version en Pascal (uniquement une émulation de Z80).
-
- - v1.2 (12.8.1992 - 16.8.1992) :
- Première version en C (traduite avec TPTC).
- Problèmes Z80 : ADD HL..., DAA, LDIR positionne de façon incorrecte
- le drapeau P. BIT... positionne de façon incorrecte le drapeau Z.
- Les instructions de rotation positionnent de façon incorrecte les
- drapeaux Z et S. On peut à présent employer les ROMs.
-
- - v1.3 (18.8.1992) :
- Mauvais adressage de port : octet faible incorrect.
- Nouvelle gestion de la mémoire 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 mémoire séparée, et n'est active que dans un mode de
- déboguage spécial).
- Problèmes Z80 : AND... positionne de façon incorrecte le drapeau H.
- CPI... positionne de façon incorrecte le drapeau N.
- A l'origine, l'écran était seulement en noir et blanc, à présent 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 déplacement négatif étaient fausses ! J'avais oublié
- de prendre en compte les octets "signés".
-
- - v2.2 (30.8.1992 - 3.9.1992) :
- Nouvelle routine pour le clavier.
- Palette fixée, 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 rafraîchissement 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... prédécrémentait le registre B.
-
- - v2.4 test (25.10.1992) :
- Emulation du registre seulement si on le désire (avec "DEFINE").
- A présent, rafraîchissement de l'écran à chaque interruption "n", et non
- pour chaque octet écrit en mémoire (toujours très lent, parce que tout
- est écrit en C).
- Nouvelle gestion de la mémoire, avec les blocs alignés sur les segments.
-
- - v2.5 test (31.10.1992) :
- Changé la gestion de la mémoire. Scolling "hard" et différentes tailles
- d'écran possibles.
-
- - v2.6 test (5.11.1992) :
- Nouveau gestionnaire du clavier, de Arnt Gulbrandsen : toutes les
- combinaisons de touches possibles.
- Rafraîchissement de l'écran en assembleur.
-
- - v2.7 test :
- Essayé, sans succès, d'inclure l'émulation rapide du Z80 due à Juergen
- Weber.
-
- - v2.8 :
- Rafraîchissement de l'écran amélioré : seules les zones modifiées en
- mémoire-écran sont modifiées à l'écran.
-
- - v2.9 :
- Utilisation du timer du PC pour générer les interruptions sur 300 Hertz.
- L'émulation rapide fonctionne seulement si on n'a besoin d'aucune ROM
- (commutation de banques).
-
- CPCEMU (un CPC, à présent)
- --------------------------
- - v0.2 (23.12.1992), succédant à Z80EMU v2.9 :
- Après 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 à présent des nombres aléatoires.
- 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 : corrigée 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'incrémentation du registre R dépend de B, pas de BC.
- CASSETTE IN CHAR corrigée ("patch" défectueux pour CPC 6128).
-
- - v0.6 (23.3.1993 - 24.5.1993) :
- Quelqu'un me fait savoir que les instructions OUTI prédécrémentent
- 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é (tête non initialisée avec 0) et renommé CPCREAD.C.
- Adressage de port du PIO amélioré (le microprocesseur peut lire même 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é améliorées en utilisant une
- table, pas seulement pour la parité.
- Z80 : ED xx avec "xx" illégal 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 exécutée et qu'une interruption survient, l'instruction est ignorée !
-
- - v0.8b (16.9.1993 - 21.9.1993) :
- Implanté une "vraie" VSYNC, si VSYNC_CT = 0.
- Corrigé le problème du port A du PIO : OUT &F400,xx avec le Port A en
- mode entrée était ignoré.
- Nouvelle routine pour le joystick par Martin Zacho.
-
- - v0.8c (22.9.1993 - 13.12.1993) :
- Vérifié la documentation avec "ispell".
- L'émulation ne démarre pas si "USE_JOYSTICK=YES" et si un joystick
- n'était pas présent (PUSH AX à la mauvaise position).
- Emulation lente : DAA corrigée (les parenthèses manquaient depuis la
- version v0.8).
- Mauvaise modification dans la routine d'interruption pour le CPC 664.
- Remplacer EI par NOP évite le problème 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 réécrite pour les formats double face.
- CPCTRANS remplace l'ancien CPCREAD, et permet de lire les disquettes
- Vortex après que vous ayez installé 720KB.COM. En plus de cela, vous
- pouvez réécrire les images de disquettes sur la disquette.
- Nouvelle sélection 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) :
- Mémoire EMS possible avec une configuration spéciale 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 présent, jusqu'à 576 K de RAM avec EMS.
-
- - v0.9b (21.1.1994 - 31.1.1994) :
- Utilisation de EMS simplifiée avec EMS étendue (ou LIM EMS 4.0), avec
- plus de 4 pages physiques EMS.
- Sélection de fichiers ajoutée 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 (désactivé avec F4).
- Sélection de fichiers aussi avec l'option "v" du menu Debug.
- Documentation anglaise corrigée.
- Son avec la carte Soundblaster (peut être amélioré).
- Nouveau CPCTRANS avec paramètres sur la ligne de commande.
- Accès direct au FDC.
- Adaptateur parallèle testé, et le logiciel qui va avec, amélioré.
- Emulation rapide du Z80 : INC (HL), DEC (HL), INC (IX+n), DEC (IX+n)
- pour la RAM au-dessous de la ROM, corrigée.
- <PgPréc>,<PgSuiv> déplacent 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 oubliées, et elles ne sont
- plus activées directement après une instruction EI.
- Nouvelles fonctions de couleurs : à présent sans "neige" sous OS/2.
- Emulation rapide du Z80 : code accéléré.
-
- - v1.0 (13.5.1994 - 20.5.1994) :
- Partie écran améliorée : différentes tailles de caractères, de 1 à 8.
- Sélection de fichiers ajoutée à SAVE" ; ajouté une sélection rapide en
- tapant une lettre.
- Amélioré CPCTRANS, avec une option de vérification.
- Nouveau menu de réglages si on appuie sur F7. Ainsi, on peut désactiver
- le papillonnement des couleurs.
-
- - v1.0a (21.5.1994 - 9.6.1994) :
- Amélioré le menu des réglages avec entrée directe ou par les flèches
- du curseur. Ajouté une possibilité de clavier allemand, et une option
- simple délai.
- Corrigé l'affichage d'écrans de taille plus petite (sans parties d'écrans
- plus grands).
- Amélioré en partie l'émulation rapide du Z80 : RRA,RLA et autres
- instructions CB xx.
- Ajouté davantage d'instructions illégales (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 préfixe REPE du 80x86 !).
- Drapeaux DAA corrigés.
- Nouveau logiciel pour l'adaptateur parallèle : à présent, 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é améliorée.
-
- - 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 nécessaire pour séparer "=".
- Changement dans la partie son et la partie graphique : taille verticale
- par VGA-CRTC.
- Le calibrage du joystick se trouve à présent dans le menu des réglages.
- Amélioration des routines de sauvegarde.
- Partie FDC améliorée : 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 délai d'attente dans CPCTRANS : j'espère 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é après un
- "OUT &7f00,n".
- Changements importants dans le fichier de configuration : à présent,
- il comporte une configuration conditionnelle (#IFCPC, #ENDIF). Quelques
- mots-clés changés (VSYNC_CT -> /, DISC_PATH -> /, SNAP_PATH -> SNAPSHOT,
- DRV_A -> DRIVE_A, DRV_B -> DRIVE_B).
- Chargement de programmes depuis une archive ZIP, nécessitant PKUNZIP.
-
- - v1.1b (17.8.1994 - 2.9.1994) :
- Multi-mode introduit, ce qui signifie différents modes le même écran.
- Le rafraîchissement de l'écran est partitionné jusqu'à six zones, et
- chacune est rafraîchie quand une interruption survient (peut être
- amélioré).
- Possible maintenant : snapshots de 128K, étendus pour multi-mode.
- CPCPARA amélioré : on peut maintenant transférer les fichiers binaires
- avec un en-tête.
- Détection 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 :
- Sélection de fichiers : seuls les lecteurs disponibles étaient affichés.
- Et : avec le pilote ANSI.SYS, le fond du texte était noir.
- TMP_PATH : vous pouvez spécifier 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 mémoire dans le shell du DOS
- (cette particularité vient du programme du domaine public SWAP300.ZIP,
- de Marty Del Vecchio).
- Le rafraîchissement 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 différente de la mémoire, 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 stéréo sur une carte Soundblaster Pro, même si
- la configuration l'affirmait. Si aucune carte Soundblaster n'était
- trouvée, il n'y avait pas de son du tout jusqu'à ce que vous utilisiez
- USE_SB=NO.
- Z80 rapide : remplacé l'accès à un mot par l'accès à un octet. C'est
- un peu plus lent, mais on ne plante plus l'ordinateur chaque fois qu'on
- accède à un mot à l'adresse 0xffff. Egalement, problème corrigé avec
- "EI HALT DI" : l'adresse où HALT était "PUSHé" au lieu de celle de DI.
- Corrigé la documentation anglaise.
- Amélioré 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 transférer 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) après chaque quartet, pour attendre une
- milliseconde, et ce n'était pas nécessaire.
-
- - v1.2c (28.2.1995 - ) : était disponible dans UPD12C.ZIP :
- Parties de CPCEMU réécrites en C++. Cela permet des fonctions "inline"
- et des interfaces améliorées, pour garder un meilleur aperçu sur le
- projet.
- - v1.2d (16.3.1995 - ), réservée aux correspondants :
- Z80 rapide : changements internes, invisibles à l'utilisateur, sauf une
- petite amélioration de la vitesse. Toutes les données sont gardées dans
- le segment de données, à présent, au lieu du segment de code.
- Introduit finalement le mode absolument nécessaire pour les ordinateurs
- rapides : le "realtime CPC" (vitesse réelle du CPC, à sélectionner dans
- le menu des réglages ou avec REALTIME=YES).
-
- - v1.3 (16.4.1995 - ) :
- Base de données de POKEs pour les jeux.
- Documentation sommaire en français.
- Commandes pour le FDC (reformater des images de disquettes à la même
- taille).
- Nouveau système de menu acceptant la souris (MOUSE=YES).
- Insertion d'images de disquettes avec l'attribut DOS "read-only", et qui
- conservent cet attribut.
- Menu Debug : ajouté l'option "find".
-
- - v1.3a (30.4.1995 - ) (disponible sous le nom UPD13A.ZIP)
- Avec la version 1.3, Boulder Dash ne fonctionnait plus, même s'il le
- faisait avec la version 1.2
- Le mode d'interruption 2 du Z80 n'était pas émulé correctement.
- (PUSH/POP oublié). L'émulation lente Z80 avait un bug similaire.
- CPCTRANS: Option -f 6 disponible.
-
- - v1.3b (20.5.1995 - ) (disponible sous le nom UPD13B.ZIP)
- Certains utilisateurs ont mentionné qu'il n'y avait plus de son
- soundblaster depuis la version 1.3
-
- - v1.4 (v1.3c)
- Support GUS par Ulrich Doewich; système d'aide en ligne;
- support pour 2 joysticks, modes graphiques VESA pour de meilleures
- résolutions;
- menu de configuration et fichier de configuration améliorés;
- configuration du chargement et de la sauvegarde ajouté au menu de
- configuration;
- routines du FDC (contrôleur disque) améliorées pour des formats non
- standard
- nouveau SNA2GIF (v1.1)
-
-
-
-
-
- CPCEMU est écrit en C++ et en assembleur, à l'aide de Borland C 3.1,
- optimisation 386 et Turbo Assembler. Pour le déboguage, Turbo Debugger
- a été employé.
- Les couleurs ont été composées avec le programme VGAMETER de J. Stephen
- Shattuck, Jr., le CPC étant connecté à un téléviseur 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 expliqués. Je ne prétends
- pas donner des définitions complètes ou précises. Les termes sont décrits du
- point de vue du CPC.
- Les références sont marquées d'un "»".
-
-
- 386/33 (AT 386/33)
- Abréviation pour »PC AT avec processeur 80386, cadencé à 33 MHz.
- A cause d'une vitesse d'horloge "élevée", ce devrait être un 386DX,
- avec un vrai bus de données sur 32 bits, et non un 386SX bon marché
- avec un bus de données de 16 bits.
-
- Adresse de Base
- C'est celle que vous devez spécifier dans de nombreux réglages si vous
- possédez une carte-son.
- CPCEMU cherchera une variable d'environnement qui contienne ces réglages.
-
- AMSDOS (Amstrad DOS)
- »DOS développé par »Amstrad, pour les ordinateurs »CPC.
-
- Amstrad
- Constructeur britannique d'ordinateurs, qui a conçu les »CPCs.
-
- Archive
- Stockage de fichiers.
- Ou : un fichier qui en contient plusieurs autres.
- Dans les archives »ZIP, les fichiers sont compressés avant d'y être inclus.
-
- ASCII (Abréviation de : American Standard Code of Information Interchange)
- Sur un ordinateur, tous les caractères, y compris les chiffres, sont
- représentés de façon interne sous forme de nombres.
- Beaucoup d'ordinateurs emploient le code ASCII, avec la lettre "A" codée 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 (Abréviation 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
- structurée, 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éé.
-
- Boîte de cavaliers (Jumper box)
- Un boîtier adaptateur destiné à réaliser toute connexion entre deux
- connecteurs, en employant de courts fils métalliques qui doivent être
- soudés. Voir aussi »Wiring Box.
-
- Boîte OS/2 DOS
- Une fenêtre sous le système d'exploitation pour 32 bits d'IBM nommé OS/2.
- Est capable de faire fonctionner les programmes DOS.
- La boîte de compatibilité avec DOS.
-
- C64:
- Ordinateur familial de la firme Commodore, avec 64 K de »RAM, très
- populaire. En raison de la quantité prodigieuse de programmes qu'il
- a suscitée, il est resté l'ordinateur de jeu par excellence, et durant
- des années. Plus tard, il a été relégué par l'Amiga de Commodore, mais,
- en dépit de sa technique dépassée, il a survécu longtemps.
-
- Chemin de recherche du DOS
- Le DOS utilise un chemin au long des sous-répertoires, pour trouver
- un fichier. Ce chemin est placé dans la variable d'environnement "PATH".
-
- Circuits hardware
- Composants à l'intérieur de l'ordinateur, comme le processeur, les
- circuits de mémoire, le contrôleur de disquettes, etc.
- Le CPC contient le processeur Z80, le Gate Array, le CRTC 6845 pour
- adresser la mémoire de l'écran, le PIO 8255 pour les entrées/sorties,
- le circuit sonore PSG AY 3-8912, le contrôleur de disquettes FDC 765,
- etc.
-
- Compilateur Turbo Pascal
- Le Pascal est un langage de programmation de haut niveau qui permet
- la programmation structurée. Aujourd'hui utilisé dans beaucoup d'écoles.
- Lorsqu'on parle de "Pascal", on entend le plus souvent Turbo Pascal, même
- si ce terme désigne seulement le Pascal étendu de la firme Borland.
- Le compilateur Turbo Pascal est particulièrement 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 réglages ou dans le fichier de
- configuration.
-
- CPC (Abréviation de : Colour Personal Computer)
- Développé par la firme »Amstrad, était disponible dans différents modèles.
- Relisez l'introduction si VRAIMENT vous n'avez pas encore compris.
-
- CP/M Plus (Abréviation de : Control Program for Microcomputers)
- Système d'exploitation de la firme Digital Research, consacré aux
- micro-ordinateurs 8 bits. Largement utilisé jusqu'à ce qu'IBM décide
- d'utiliser MS-DOS pour ses PCs.
- CP/M Plus (CP/M 3.0) était le successeur de CP/M 2.2, et fut inclus
- sur les disquettes fournies avec le »CPC 6128.
-
- CTRL/SHIFT/ESC (control/shift/escape)
- Combinaison de trois touches permettant le reset sur un »CPC. Il équivaut
- à "CTRL/ALT/Del" sur un PC. Certains programmes bloquent un tel reset,
- de sorte que vous devez éteindre l'ordinateur ou utiliser le bouton de
- reset. Les CPCs n'avaient aucun bouton de reset, mais il était facile
- d'en construire un.
- Dans CPCEMU, la touche de fonction F8 remplit cet office.
-
- Curseur
- Caractère qui montre, à l'écran, la position courante d'écriture.
- Sur le clavier, des touches fléchées servent à déplacer le curseur.
-
- Définitions de formats
- Définitions de formats de disquettes.
-
- D-Sub
- Connecteurs de forme spéciale.
-
- Dk'tronics
- Firme britannique qui offrait des extensions matérielles pour le »CPC,
- notamment des extensions de mémoire.
-
- DMA (Abréviation de : Direct Memory Access)
- Accès direct de l'ordinateur à la mémoire, sans passer par le
- microprocesseur. Utilisé par les lecteurs de disquettes, mais, par
- mesure d'économie, non implanté sur les CPCs (sauf le dernier modèle,
- le CPC+).
- La carte Soundblaster peut aussi utiliser un canal DMA, par lequel passe
- le son numérique.
-
- DOS (Abréviation de : Disk Operating System)
- Système 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 (Abréviation de : Electronic Mail)
- Utilisation d'un ordinateur comme boîte aux lettres.
-
- EMM (Abréviation de : Expanded Memory Manager)
- Equivaut à »EMS.
-
- EMS (Abréviation de : Expanded Memory System)
- Extension de mémoire pour le »PC, destinée à outrepasser la limite
- des 640 K. Au moyen de la technique de commutation de banques, des
- pages supplémentaires de mémoire sont ménagées dans une fenêtre EMS.
- Ce système a été développé par Lotus, Intel et Microsoft, aussi est-il
- appelé LIM-EMS.
- Il existe de l'EMS matérielle, émulée ou simulée.
- Des cartes de mémoire spéciales fournissent de l'EMS matérielle,
- utilisée principalement sur les anciens PCs XT. Sur un PC AT avec
- au moins un processeur 80386, il est possible d'avoir de l'EMS émulée
- en utilisant le mécanisme des pages pour la commutation de banques.
- Ce type d'EMS est fournie par EMM386.EXE, et devrait être employé
- pour accélérer CPCEMU.
- L'EMS simulée est trop lente, elle doit copier les pages de mémoire.
-
- Emulateur
- Le système qui en émule un autre.
-
- Emuler
- Imiter un système (par matériel ou par logiciel) par un autre.
- Le système qui imite obtient les mêmes résultats, à partir des mêmes
- données, que le système imité.
- CPCEMU émule un »CPC sur un »PC.
-
- Fichier
- Collection de données. Sur le »CPC, il existe des fichiers de différents
- types, par exemple les fichiers Basic (des programmes Basic sauvegardés
- avec l'extension BAS), des fichiers ASCII contenant des textes, et
- des fichiers binaires contenant des octets et signalés par une extension
- BIN. Les fichiers binaires peuvent contenir des programmes en langage
- machine ou des données.
-
- Fichier Batch
- Contient des instructions que normalement vous tapez sur le clavier de
- votre ordinateur. Si vous appelez un tel fichier, les instructions sont
- exécutées l'une après l'autre.
-
- Fréquence d'horloge
- Le processeur est connecté à une "horloge", qui détermine sa vitesse
- de façon significative. Aujourd'hui, les processeurs 486DX2/66 sont
- cadencés de manière interne à 66 MHz.
- Le Z80A du »CPC a une vitesse de 4 MHz, mais il tourne en réalité à 3,3 MHz
- à cause des attentes qu'il subit périodiquement pour le rafraîchissement
- de l'écran.
-
- FTP (Abréviation de : File Transfer Protocol)
- Un protocole de transfert de fichiers sur les réseaux d'ordinateurs.
- Le programme qui fait tourner ce protocole est également appelé "FTP".
-
- Gestionnaire de clavier
- Un programme appelé chaque fois que le clavier génère une interruption.
- Il se sert du numéro de la touche appuyée ou relâchée.
-
- Hardware
- Matériel, en français. Par exemple, les périphériques 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 trouvés dans un fichier, vous aurez une image de ROM.
-
- Initialiser
- Remplir la mémoire avec des valeurs particulières, par exemple, pour
- définir les variables.
-
- Instructions du Z80
- Instruction "machine" que le Z80 comprend.
- Elles sont codées sous forme de nombres, aussi, pour s'en souvenir plus
- facilement, on a introduit des "mnémoniques", 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 périphériques, ou d'un programme à
- un autre. Il y a donc des interfaces matérielles et logicielles.
- Ce qu'on "interface Centronics" est une interface parallèle, qui
- transmet les bits d'un octet en parallèle, c'est-à-dire tous en même temps.
- Avec les interfaces "série", il est nécessaire de transférer les bits
- les uns après les autres.
-
- Internet
- Un "Internet" est composé de plusieurs sous-réseaux d'ordinateurs.
- Ici : *Le* Internet, un réseau mondial de communication par ordinateurs.
-
- Interruption
- Si le processeur reçoit un signal avec un priorité supérieure, il
- interrompt le programme en cours, et appelle un gestionnaire spécial
- d'interruption. Lorsque l'interruption est terminée, il revient au
- programme interrompu.
- Sur un PC, il y a différents signaux d'interruptions, par exemple,
- lorsque vous appuyez sur une touche, quand une minuterie arrive à
- terme, quand une donnée arrive par l'interface série, quand on déplace
- la souris, quand la carte-son a terminé d'émettre son dernier échantillon
- et a besoin d'autres données, 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 dernières
- nouvelles concernant CPCEMU.
-
- Manuel du firmware du CPC
- Un livre sur le »CPC qui décrit spécialement le système d'exploitation du
- CPC.
-
- Microcanal
- Architecture spéciale de bus.
-
- MS-DOS (Abréviation de : Microsoft Disk Operating System)
- Système d'exploitation développé par la firme Microsoft pour les
- processeurs de 16 bits (8086). Le système le plus employé sur PC.
- Toujours en usage sur les processeurs de 32 bits 80386 et 80486.
-
- Multiface II (Abréviation de : Multipurpose Interface)
- Une extension matérielle pour le CPC. Permet d'interrompre tout programme
- à tout moment, pour l'analyser ou le sauvegarder en l'état.
- Développée par la firme britannique Romantic Robot.
-
- Multi-Mode
- Technique de programmation, permettant d'avoir différents modes d'écran
- simultanément affichés. Le mode d'écran est changé plus d'une fois durant
- le rafraîchissement de l'écran. Sur le CPC, on obtient des zones avec
- une haute résolution et peu de couleurs, et de basse résolution avec
- beaucoup de couleurs.
-
- Newsgroup CPC
- Un newsgroup (forum ou conférence électronique) réservé au »CPC.
- Il s'appelle "comp.os.amstrad.8bit" et a été créé en août 1994.
-
- Numéro d'interruption IRQ (IRQ, abréviation de : Interrupt Request)
- Sur un PC, des interruptions différentes ont des numéros différents.
- Par exemple, l'interruption-clavier a le numéro 9, l'interruption-timer
- a le numéro 8. Si vous appuyez sur une touche, le clavier envoie une
- "requête d'interruption" au processeur, qui en est ainsi informé.
-
- OS (Abréviation de : Operating System, système d'exploitation)
- Un programme nécessaire à l'ordinateur. Il fournit des fonctions de
- base aux programmes d'application. Les nouveaux systèmes d'exploitation
- accomplissent des tâches compliquées, tels les programmes d'agenda
- dans les systèmes multitâche, etc.
-
- Overscan
- Le bord qui entoure la zone de l'écran où l'on peut écrire.
- Sur un PC, il est très 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 possibilités 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 appellée "overscan".
-
- Paramètre
- Variable possédant une signification. Le comportement du programme est
- en relation avec elle.
-
- Paramètres de la ligne de commande
- Paramètres que vous donnez sur la ligne de commande, après le nom du
- programme que vous appelez.
-
- PC (Abréviation 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 mémoire.
- "PEEK(<adresse>)" est utilisé pour lire un octet en mémoire,
- "POKE <adresse>,<nombre>" modifie la mémoire. Les programmes avec
- de nombreux PEEKs et POKEs sont difficiles à comprendre, mais parfois
- il est nécessaire d'outrepasser les limites du Basic, spécialement si
- celui-ci a peu d'instructions, comme celui du Commodore 64.
-
- PKUNZIP
- Programme de PK-Software servant à décompacter 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 façon, lorsqu'on imprime.
-
- RAM (Abréviation de : Random Access Memory).
- Circuit de mémoire "vive" : la mémoire 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
- matérielles, ils pouvaient atteindre 576K de RAM.
-
- Représentations des nombres
- Selon la base choisie, il y a plusieurs représentations possibles pour un
- même nombre.
- La plus connue est la représentation décimale, de base 10, avec les
- chiffres de 0 à 9.
- Les ordinateurs utilisent la représentation binaire (base 2), avec les
- chiffres 0 et 1.
- Les programmeurs apprécient la représentation hexadécimale, à base 16,
- parce que 16 est une puissance de 2 (2 puissance 4). Ainsi, les
- représentations binaire-hexa peuvent être aisément converties entre
- elles. En outre, un octet ne nécessite que 2 chiffres "hexadécimaux"
- (0 à 9 et A à F) dans la notation hexadécimale.
-
- ROM (Abréviation de : Read-Only-Memory).
- Circuit de mémoire, mais qu'on ne peut que lire sans rien y changer.
- Disponible directement après avoir allumé l'ordinateur.
- Les CPCs ont 16K de ROM pour le système d'exploitation, 16K de ROM pour
- l'interpréteur Basic, et 16K de ROM pour l'AMSDOS, dont seuls 7K sont
- utilisés (les 9K restant sont remplis avec des octets de valeur hexa "FF").
-
- RS-232
- Interface série servant à connecter des moniteurs ou des imprimantes à un
- ordinateur (RS 232 C).
-
- Schneider
- Firme allemande qui vendait les CPCs en Allemagne.
-
- Scrolling hardware
- Déplacement de l'écran sans que le processeur ait à copier des parties
- de mémoire 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
- matériel.
-
- Setup (réglages)
- Changement des paramètres d'un programme, pour qu'il se comporte
- différemment. On peut appeler le menu des réglages 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 hôte, sur le réseau
- Internet d'adresse "SimTel.Coast.NET". Cette archive est "mirrored"
- (copiée) des deux côtés. Un site miroir se trouve à l'Université
- d'Oakland, à l'adresse "OAK.Oakland.Edu".
-
- Snapshots
- Un dump de la mémoire, complété par l'état interne des circuits matériels.
- 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
- décrit dans le snapshot.
-
- Software
- Programmes d'un système d'ordinateur.
-
- Soundblaster
- Carte-son de la firme Creative Labs.
-
- Spectrum
- Le Spectrum (il y en a eu plusieurs modèles) de Sinclair était un
- ordinateur familial développé par la firme Sinclair.
-
- Standard LIM (Abréviation de : Lotus Intel Microsoft)
- Extension de mémoire (»EMS), développée par Lotus, Intel et Microsoft.
-
- Utilitaire
- Programme-outil.
-
- VGA (Abréviation de : Video Graphics Array)
- Standard graphique sur le PC. Succède à CGA (Colour Graphics Adapter),
- MCGA (Multi Colour Graphics Adapter) et EGA (Enhanced Graphics Adapter).
- Etendu à SVGA (Super VGA) avec une résolution plus haute.
-
- VGA-BIOS (Abréviation de : VGA Basic Input Output Operating System)
- Le système d'exploitation pour les cartes graphiques »VGA.
-
- Wiring box
- Un adaptateur permettant de réaliser toute connexion entre deux connecteurs
- avec de courts fils métalliques. Au contraire de la boîte de cavaliers
- ("jumper box"), les fils n'ont pas besoin d'être soudés.
-
- Z80
- Un processeur de 8 bits construit par la firme Zilog. Il est compatible
- avec le 8080 d'Intel, et a été très populaire.
- Sur le »CPC, il y avait un Z80A cadencé à 4 MHz.
-
- ZIP
- Un procédé spécial de compression de fichiers. Les archives obtenues ont
- l'extension "ZIP".
-
-
-
-
-
- A.2 Bibliographie
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
-
- Le manuel du CPC est indispensable aux débutants :
- - 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 côté "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 matériel 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 compréhensible :
- - Boedicker, Dagmar: Handbuch-Knigge, Software Handbuecher schreiben
- und beurteilen. Wissenschaftsverlag 1990
-
-
-
-
-
- A.3 Index
- ≡≡≡≡≡≡≡≡≡≡
-
- Les nombres suivant les entrées indiquent le chapitre où elles sont décrites.
-
- (Incomplet)
-
- #ENDIF 4.2
- #IFCPC 4.2
- 22DISK 5.1.2
- Adaptateur, parallèle 5.2
- AMSDOS_DI 4.2
- AMSDOS_SPDUP 4.2
- BREAK_MASK 4.2
- Cassette 3.2.2
- COLOUR 4.2
- Fichier de configuration 4.2
- CPC 1.3
- Newsgroup CPC 6.2
- CPCEMU.CFG 4.2
- CPCPARA.BAS 5.2
- CPCREC.BAS 5.2
- CPCTRANS.EXE 5.1.1
- Menu Debug 7.3
- DELAY 4.2
- Disquette 3.2.1
- Image de Disquette 3.2.1
- DRIVE_A 4.2
- DRIVE_B 4.2
- EMS_EI 4.2
- Mémoire EMS 2.3.1
- Touches de fonction 3.1
- INT_FREQ 4.2
- INT_RESUME 4.2
- JOY_CALIBRATE 4.2
- KBD_LANGUAGE 4.2
- Clavier 3.1
- Menus 3.2.1
- Multi-Mode 4.1
- MULTIMODE 4.2
- PCPARA.EXE 5.2
- PIO_PORT_B 4.2
- PRINTER 4.2
- RAM_SIZE 4.2
- ROM_BLOCK 4.2
- ROM_PATH 4.2
- SBLASTER 4.2
- SB_DELAY 4.2
- Menu des réglages 4.1
- SHOW_CONFIG 4.2
- SNAPSHOT 4.2
- Snapshot 3.2.3
- SOUND 4.2
- Soundblaster 2.3.2
- TAPE_BYPASS 4.2
- TAPE_PATH 4.2
- TMP_PATH 4.2
- Variable d'environnement BLASTER 2.3.2
- VSYNC Bit 4.1
-