²²²²²²± ²²²²²²²²±± ²²²²²²± ²²²²²²²²± ²²²² ²²²²±± ²²±± ²²±± ²²±±±±±± ²²±±±±±²²±± ²²±±±±±± ²²±±±±±± ²²±²² ²²±²²±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²±±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²²²²²²²±± ²²±± ²²²²²²²²± ²²±± ±±± ²²±± ²²±± ²²±± ²²±± ²²±±±±±± ²²±± ²²±±±±±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²±± ²²²²²²± ²²±± ²²²²²²± ²²²²²²²²± ²²±± ²²±± ²²²²²²²²²±± ±±±±±±± ±±±± ±±±±±±± ±±±±±±±±± ±±±± ±±±± ±±±±±±±±±± 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 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 : affiche le catalogue - avec 'RUN""', 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 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"" 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"" sauvegarde un programme en BASIC. Pour les programmes binaires, vous devez sp‚cifier d'autres paramˆtres, par exemple 'SAVE"",&C000 - MERGE"" 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,"" pour voir le catalogue. Note important, utilisez ceci sur un CPC 464 : a$="" : |DIR,@a$ - |ERA,"" efface un fichier. Note important, utilisez ceci sur un CPC 464 : a$="" : |ERA,@a$ - |REN,"","" pour renommer un fichier. Note important, utilisez ceci sur un CPC 464 : a$="" : b$="" : |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 , 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 ou directement en tapant les chiffres. sur n'importe quelle ligne valide le changement. Il peut ˆtre annul‚ avec . "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 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. - permet de se placer sur le premier fichier, sur le dernier, - permet de faire d‚filer la liste des fichiers, - s‚lectionne le fichier en vid‚o invers‚e, pour sortir. Vous pouvez aussi s‚lectionner le nom en tapant directement la premiŠre lettre. Quand vous utilisez la souris, cliquez sur []" for , "[]" pour , "[<]" for , "[>]" for and [ok] for . Utilisez la bouton droit de la souris comme un double clic. Utilisez "[þ]" comme . ".." 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 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 . 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 . La 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 ... #ENDIF Pour la valeur , 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 = "" 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 = "" La mˆme chose que DRIVE_A, mais pour le lecteur B. - JOY0_CALIBRATE = , , , 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 = , , , La mˆme chose que JOY0_CALIBRATE. - POKE_DATABASE = "" D‚finir la base de donn‚es de pokes (CPCEMU.DBF). - PRINTER = "" 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 PRN". - ROM_BLOCK = , "", 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. * est le num‚ro assign‚ de la ROM, cela signifier qu'elle est choisie par "OUT &DF00,". 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) - est un fichier dans le r‚pertoire ROM_PATH, qui contient les ROMs. - 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 = "" 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 = "" 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 = "" 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 = "" 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 : utiliser un autre fichier de configuration que CPCEMU.CFG, voir section 4.2 /t : 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 '. 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" 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 : envoie 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 = 0000-ffff. "" indique que vous ˆtes dans un mode sp‚cial : vous pouvez appuyer sur pour continuer ; quitte ce mode (utilisez par exemple b). 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 [] : 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 [] : ex‚cute uniquement l'instruction affich‚e. Utilisez pour continuer dans ce mode, et ainsi de suite. 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 [] : 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 [] : d‚sassemble les 16 instructions suivantes. Utilisez pour continuer dans ce mode, et ainsi de suite. revient au mode normal. D)ump: d [] : affiche un dump en hexa/ASCII des 256 octets suivants, … partir de l'adresse sp‚cifi‚e ou contenue dans le PC. Utilisez pour continuer dans ce mode, et ainsi de suite. revient au mode normal. I)nput (modifiant la m‚moire) : i [] : affiche l'adresse m‚moire donn‚e et son contenu, que vous pouvez conserver avec ou modifier avec . Quittez ce mode en donnant un nombre invalide, tel que "-1" : -1 . L)oad (charger un programme) : l [] : 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 aprŠs la demande du nom de fichier, le menu de s‚lection de fichier (bien connu) apparaŒt... Exemples : -f-> l demo : charge le fichier "demo" … l'adresse contenue dans le PC. -f-> l a000 monprog : charge le fichier "monprog" … l'adresse 0xA000. saV)e (sauvegarder un programme) : v [] : 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 (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 demo 4000 : 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 "=". Exemples : - af=345 : place 0x0345 dans le registre AF. - pc=a000 : rŠgle le compteur de programme … l'adresse 0xA000. Vous pouvez ‚galement ‚crire "". 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= (par d‚fault, 4000). Avec /P=, 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 : = {T} {T} est une s‚quence d'au moins un d‚limiteur. Exemple : ROM_PATH = .\ROM peut ˆtre donn‚ en d‚cimal, hexad‚cimal (avec le pr‚fixe 0x) ou binaire (%). peut avoir une longueur de 80 caractŠres et jusqu'… 20 caractŠres. Quelques informations suppl‚mentaires pour s‚lectionner le mot-cl‚ : BREAK_MASK = (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 ou + … 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. , 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"",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()" est utilis‚ pour lire un octet en m‚moire, "POKE ," 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