cpc4x

�ulateur Amstrad CPC pour X11

(c) 1999-2002, GPL, Ulrich Cordes

Documentation

(design et traduction en anglais par David Mehrmann)
(traduction en fran�is par Michael Rajot


 

 

0. Table des mati�es


0.  Table des mati�es


1.  A propos de cpc4x
  1.1 Aper� rapide
  1.2 Qu'est ce qu'un CPC ?
  1.3 Qu'est ce qu'un �ulateur CPC ?


2.  Compilation de cpc4x
  2.1 Comment compiler cpc4x ?
  2.2 Les pr�requis �la compilation - comment obtenir de l'aide


3.  Utilisation de cpc4x
  3.1 D�arrage rapide
  3.2 L'�ulation du clavier CPC sous cpc4x
  3.3 Les fonctions d'�ulation de cpc4x
  3.4 Les options de la ligne de commande
  3.5 La fen�re de configuration
  3.6 Le fichier de configuration .cpc4xrc
  3.7 Le d�ogueur Z80 int�r�/a>


4.  Logiciels pour cpc4x
  4.1 Astuces - transf�er vos programmes CPC vers une image disque
  4.2 Liens vers des sites Internet sur le CPC


5.  Historique
  5.1 Les caract�istiques actuelles de cpc4x, ses limitations et ses bogues
  5.2 La liste des modifications de toutes les versions de cpc4x
  5.3 Remerciements


6.  Note de l'auteur
  6.1 Aspect l�al


 

1. A propos de cpc4x

1.1 Aper� rapide


cpc4x est un sigle qui signifie CPC-for-X (CPC pour X, en fran�is, pour ceux qui n'avaient pas compris...). Ce programme �ule les ordinateurs Amstrad/Schneider CPC 464, CPC 664 et CPC 6128, et vous permet donc d'��uter sur votre propre ordinateur les logiciels qui ont �rits pour ces Amstrad. Cpc4x est con� pour s'�ecuter sur les environnements UNIX, sous leur interface graphique X11. Vous aurez besoin du langage de script TcL/Tk, si vous voulez utiliser les bo�es de dialogues graphiques. Si vous n'avez pas Tcl/Tk, ou que vous ne voulez pas l'installer, lancez l'�ulateur �partir du shell pour voir l'interface texte en remplacement de l'interface graphique. Cette interface donne acc� �toutes les fonctions de l'�ulateur et remplace toutes les fen�res pop-ups qui sont utilis�s habituellement (comme pour choisir et ins�er des images disque).

 

 

1.2 Qu'est ce qu'un CPC ?


Le CPC est un ordinateur 8 bits, qui a ��con� en 1984 par la soci��AMSTRAD et fut ainsi nomm�AMSTRAD CPC. Cet ordinateur a ��distribu�sous un autre nom dans certains pays, comme le Schneider CPC en Allemagne. CPC est le sigle de Colour-Personal-Computer (ordinateur couleur personnel).

A cette �oque, la plupart des autres ordinateurs personnels �aient �uip� d'une m�oire RAM allant de 16 �64 Ko; ils �aient fournis avec d'antiques claviers en gomme, et vous deviez aussi poss�er une t��avec les adaptateurs n�essaires, car ils �aient livr� sans les tr� chers (�l'�oque) moniteurs haute r�olution (les ZX Spectrum et le C16 �aient livr� ainsi).
 
 
 

CPC 464 Le premier CPC, appel�464 (voir la photo), �ait livr�avec un tr� bon clavier m�anique (du type machine ��rire), avec un lecteur de cassettes int�r� et vous aviez le choix entre un �ran monochrome (vert), et un �ran couleur (la diff�ence de prix entre ces deux moniteurs ne laissait souvent pas le choix). Avec son processeur Zilog Z80A cadenc��4 MHz, ses 64 Ko de RAM, et son lecteur de disquettes 3 pouces optionnel, le CPC �ait un concurrent s�ieux du Commodore 64 (CBM 64, qui avait aussi un lecteur de disquettes optionnel, mais beaucoup, beaucoup plus lent que celui du CPC). Toutes ces caract�istiques (ajout�s �un prix tr� comp�itif pour l'�oque) ont fait sensation au moment de sa sortie. Il �ait livr�avec le BASIC 1.0 de Locomotive, un des BASIC les plus puissants et sans doute le plus complet de l'�oque, qui permet de manipuler aussi bien les sons que les graphismes. Le circuit vid� permet l'affichage sous trois modes standards (mais aussi sous d'autres modes moins standards...) :
  • 20x25 caract�es (160x200 pixels en 16 couleurs simultan�s)
  • 40x25 caract�es (320x200 pixels en 4 couleurs)
  • 80x25 caract�es (640x200 pixels en 2 couleurs)
Le circuit vid� permet aussi d'afficher simultan�ent ces modes. Le CPC est capable de produire un v�itable son st�� (contrairement �la plupart des autres ordinateurs 8 bits), gr�e �la puce AY-3-8912 de General Instruments. Vous pouvez bien sr aussi connecter un lecteur de disquettes externe.
La seconde g��ation de CPC est sortie au d�ut de 1985, et est appel� CPC 664. Cet ordinateur poss�e un lecteur disquette int�r�au clavier �la place du lecteur de cassettes du CPC 464. Techniquement, il est tr� proche de son grand fr�e le CPC 464. A l'�oque, le standard des disquettes n'�ait pas encore clairement �abli (bataille entre les formats 3", 3"1/2 et 5"1/4), et le format 3" a donc ��choisi pour �uiper les CPC 664. Vous pouvez aussi l'�uiper d'un lecteur de cassettes externe (pour pouvoir utiliser tous les programmes cr�s pour le CPC 464). Le clavier gris agr�ent�de quelques touches bleues a gagn�un peu en sobri�� Le CPC 664, tout comme le CPC 464, dispose de 64 Ko de RAM (42 Ko disponibles si vous travaillez avec le BASIC), et d'une ROM de 32 Ko. Vous pouvez ajouter jusqu'�4 Mo de ROM sur cet ordinateur. CPC 664
CPC 6128 La troisi�e g��ation. A la fin de 1985, Amstrad a donn�naissance au petit fr�e des CPC 464 et 664 : le CPC 6128 ! Il a deux fois plus de m�oire que les deux pr��ents : 128 Ko de RAM. Il a encore le fameux lecteur de disquettes 3 pouces. Comme d'habitude, vous pouvez connecter un lecteur de cassettes externe pour garder la compatibilit�du CPC 464. Le g��ateur de sons (3 voix + bruit, le tout en st��) est toujours l� . En revanche, le clavier est enti�ement gris (l� ils ont peut-�re un peu trop gagn�en sobri��..)


Puisque le CPC 464 n'a qu'un lecteur de cassettes, un lecteur de disquettes externe est devenu n�essaire. Amstrad/Schneider a construit Le lecteur DDI-1, avec son interface sp�ifique pour le CPC. Le syst�e d'exploitation CP/M 2.2 (Control Program for Microcomputers) avec le Dr LOGO, �ait livr�avec. L'interface contient un contr�eur de p�iph�ique, et une ROM additionnelle qui ajoute au BASIC les fonctions pour contr�er le lecteur de disquettes. Vous pouvez �rire sans probl�e 170 Ko de donn�s sur chacune des faces des disquettes 3" (elles sont double-faces). Des lecteurs de cassettes externes �aient aussi disponibles pour les autres CPC.
 

Les moniteurs CPC ont une tr� bonne r�olution, bien meilleure que ce que peuvent produire les t��isions. Vous pouviez choisir entre un moniteur vert (monochrome) et un moniteur couleur, qui est connect�directement sur le CPC, comme le montre la photo. En fait, vous �es oblig�de brancher votre Amstrad CPC sur un moniteur Amstrad, car le CPC est aliment�par l'alimentation du moniteur. 
Plus tard, vint le modulateur HF qui permet d'utiliser un t��iseur normal en guise de moniteur.
Les c�les du moniteur

Les interfaces d'un CPC classique sont : un port d'expansion E/S, un port centronics (7 bits), le port cassette, le port joystick (jusqu'�deux joysticks avec un partageur de joystick, voire m�e en branchant le second joystick sur le premier :)), et un port st��, pour �outer les (tr� belles) musiques du CPC sur votre cha�e Hi-Fi.

Les trois g��ations de CPC sont presque enti�ement compatibles entre elles, avec seulement quelques diff�ences entre les versions du BASIC de Locomotive, et, bien sr, le CPC 6128 peut ex�uter des programmes beaucoup plus gros que les deux autres CPC. Inutile de le dire, mais � va mieux en le disant : la biblioth�ue de programmes est �orme et tr� vari� (c'est l'une des raisons de la "popularit� persistante de cet ordinateur). En Allemagne, il a ���u ordinateur de l'ann� 1985.

 

 

1.3 Qu'est ce qu'un �ulateur CPC ?

Cpc4x est un programme. En fait, c'est un ordinateur complet qui a ��mis sous forme logicielle, comme avec la plupart des �ulateurs. Vous n'avez pas besoin de brancher votre vieux lecteur 3" sur l'ordinateur qui ex�ute cpc4x, ni aucun autre p�iph�ique (moniteur, joystick, cassettes, disquettes...), car cpc4x �ule tous ces p�iph�iques logiciellement. Comme tous les ordinateurs, cpc4x a besoin d'un microprocesseur (CPU) : il utilise un moteur Z80 de tr� bas niveau. Ce microprocesseur virtuel re�it les m�es instructions que le microprocesseur du CPC, et, avec l'aide de la v�itable image de la ROM du CPC, il reproduit le comportement du Z80 du CPC, il fait les m�es appels �la m�oire et aux ports E/S pour afficher le m�e r�ultat que sur un vrai CPC. Vous ne devez pas regarder le microprocesseur virtuel comme quelque chose qui ressemble au vrai Z80, mais plut� comme une copie parfaite du microprocesseur d'origine (mais sous forme logicielle). C'est une explication simpliste pour un processus assez complexe. Ainsi, pour rendre possible une �ulation CPC sur n'importe quel autre ordinateur, tous les composants (ainsi que leur fonctionnement) du CPC doivent �re connus dans les moindres d�ails afin d'�re reproduits parfaitement sous forme logicielle.

Imaginez un ordinateur... �L'INT�IEUR d'un autre ordinateur !

Normalement, un vrai CPC utilise des cassettes et des disquettes pour stocker des donn�s qui seront r�tilis�s plus tard. Comme nous vous l'avons indiqu� il n'y a pas besoin d'utiliser le mat�iel du CPC (y compris les cassettes et disquettes) pour utiliser l'�ulateur. Il existe des programmes qui permettent de recopier le contenu des disquettes CPC dans un fichier exploitable par l'ordinateur qui ex�ute l'�ulateur. Ces fichiers sont appel� des images disques, qui peuvent �re stock�s sur votre disque dur ou sur CD-ROM. Ces images peuvent donc �re ins��s virtuellement dans le lecteur de disquettes virtuel utilis�par cpc4x, et peuvent donc �re acc��s comme s'il s'agissait de v�itables disquettes.


 

2. Compilation de cpc4x

2.1 Comment compiler cpc4x ?

Si vous voulez compiler cpc4x, veuillez lire le fichier README.txt qui se trouve dans l'archive des sources. Il y a deux fa�ns de compiler l'�ulateur : compiler en �ant root (pour que l'installation soit accessible pour tous les utilisateurs), ou compiler avec un utilisateur simple (pour ceux qui ne peuvent pas �re root sur leur syst�e).

 

 

2.2 Les pr�requis �la compilation - comment obtenir de l'aide


Si la compilation de l'�ulateur a r�ssi pour vous, envoyez moi la configuration de votre syst�e pour aider les futurs utilisateurs de cpc4x. Votre configuration sera ajout� �la liste des configurations (architecture, distribution...) sous lesquelles cpc4x fonctionne. Il y a un exemple plus bas qui vous montre les informations �saisir. Si vous ne voulez pas que votre e-mail apparaisse (et ainsi �iter de recevoir les appels desesp�� des gens qui ont la m�e configuration que vous, mais qui ne parviennent pas �compiler cpc4x), merci de le pr�iser dans votre mail (mais soyez sympa, un jour vous aurez vous aussi besoin d'un coup de main de quelqu'un d'autre...). A chaque sortie d'une nouvelle version, la liste des configurations qui fonctionnent pour les anciennes versions de cpc4x est bien �idemment supprim� (pas besoin qu'on vous demande de l'aide, si vous non plus n'arrivez pas �compiler cette satan� nouvelle version !). NDT : comme l'auteur de cpc4x ne comprend pas un mot de fran�is, soyez sympa : �rivez lui en anglais, ou, mieux encore, en allemand.

Voici comment obtenir les informations sur votre configuration (notez que ces m�hodes fonctionnent sur la majorit�des UNIX, mais pas sur tous) :

Tapez gcc -v et make -v dans une fen�re shell, lisez aussi les informations contenues dans le fichier ~/.X.err. Si vous utilisez Tcl/Tk, cherchez le r�ertoire o il est install� Il indique normalement le num�o de version (g��alement dans /usr/lib/tcl* ou dans /usr/local/lib/tcl*)
 
 
 
Les programmes requis pour une compilation sous une architecture du type Intel/Linux
    le compilateur GNU C

    le syst�e X-Windows (X11R6)

    N'importe quel gestionnaire de fen�res (KDE, GNOME, fvwm, AfterSTEP, Window Maker, etc.)

    Les fichiers "include" de X11 (Archive Linux "xdevel")

    make
     

    TcL/Tk 7.6 et Tk 4.2 ou plus SI vous voulez avoir une interface graphique.

Version:0.11 compiled on distribution: SuSE 6.2 (Jammet
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) 
XFree86 Version 3.3.3.1 ; GNU Make version 3.77 ; TcL/Tk 8.0
Version:0.23 compiled on distribution: Mandrake 7.2 (Ulrich Cordes
Version:0.25 compiled on distribution: SuSE 7.3 (Ulrich Cordes
gcc version 2.95.3  
XFree86 Version 4.x ; GNU Make version 3.79.1 ; TcL/Tk 8.3


 

3. Utilisation de cpc4x

3.1 D�arrage rapide

Pour d�arrer cpc4x, ex�utez le programme cpc. La premi�e fois que vous d�arrez cpc4x, un r�ertoire cpc se cr� dans votre r�ertoire de base, et quelques fichiers y sont copi�. Vous trouverez aussi quelques ic�es pour votre gestionnaire de fen�res dans le r�ertoire cpc/icons ..

Apr� l'�ran de d�arrage, la fen�re du panneau de contr�e s'ouvre. Cliquez sur le bouton Go to the emulation, et la fen�re d'�ulation CPC doit s'ouvrir, affichant un joli message jaune sur un fond bleu. Si vous voulez d�arrer directement avec la fen�re d'�ulation, tapez cpc -noinfo et la fen�re du panneau de contr�e n'apparaitra pas.

la fen�re principale de cpc4x

Voici les trois op�ations que vous allez effectuer le plus souvent : Ins�er une disquette, lister son contenu, ex�uter un programme

Une fois que cpc4x est d�arr� vous pouvez ins�er une image disque dans le lecteur de disquette de l'�ulateur en appuyant sur la touche F3. Une nouvelle bo�e de dialogue apparait, et vous demande quel fichier ins�er. Les images disques ont toujours une extension en ".dsk". Cpc4x est fourni avec quelques fichiers d'exemple. Essayez avec le fichier "balli.dsk".

Une fois le fichier choisi, imaginez que vous avez un v�itable CPC devant vous avec une v�itable disquette �l'int�ieur. Pour lister le contenu de la disquette, tapez "CAT". Cette instruction fait la m�e chose que DIR sous DOS, ls -al avec UNIX ou LOAD"$",8 & LIST sur Commodore 64. Le CPC ne fait pas la diff�ence entre majuscules et minuscules, vous pouvez donc taper CAT comme vous le souhaitez.

Pour ex�uter le programme BALLI.BAS, vous pouvez le charger en m�oire en tapant LOAD"BALLI.BAS", et attendez que le programme soit compl�ement charg�(lorsque le message Ready s'affiche, le programme est charg�, puis ex�utez le en tapant RUN. Un moyen plus rapide pour ex�uter un programme : tapez RUN"BALLI.BAS", ce qui fait exactement la m�e chose que LOAD et RUN. Encore plus rapide : RUN"BALLI sans taper l'extension BAS, ni le guillemet fermant, et vous aurez le m�e r�ultat.

 

 

3.2 L'�ulation du clavier CPC sous cpc4x

L'�ulateur utilise une disposition de clavier qui ressemble le plus possible aux positions des touches du clavier du CPC. Voici la liste de toutes les touches du CPC, avec leur correspondance sur un clavier international (sans doute comme le votre).
Note : PavNum siginifie Pav�Num�ique (vous savez, le truc avec plein de chiffres sur le c��droit de votre clavier...), et VerrNum c'est la touche Verrouillage du Pav�Num�ique (qui se trouve d'ailleurs dans le pav�num�ique).



 
CPC
Emulateur
COPY
ALT
PavNum 1
(Avec VerrNum) PavNum 1
PavNum 2
(Avec VerrNum) PavNum 2
PavNum 3
(Avec VerrNum) PavNum 3
PavNum 4
(Avec VerrNum) PavNum 4
PavNum 5
(Avec VerrNum) PavNum 5
PavNum 6
(Avec VerrNum) PavNum 6
PavNum 7
(Avec VerrNum) PavNum 7
PavNum 8
(Avec VerrNum) PavNum 8
PavNum 9
(Avec VerrNum) PavNum 9
PavNum 0
(Avec VerrNum) PavNum 0
CPC
Emulator
Joystick 1 HAUT
(Sans VerrNum) PavNum 8
Joystick 1 BAS
(Sans VerrNum) PavNum 2
Joystick 1 GAUCHE
(Sans VerrNum) PavNum 4
Joystick 1 DROITE
(Sans VerrNum) PavNum 6
Joystick 1 FEU
(Sans VerrNum) PavNum 5
   
   
   
   
   
   

 

 

3.3 Les fonctions d'�ulation de cpc4x


Toutes les fonctions de l'�ulateur peuvent �re acc��s gr�e aux touches de fonction Fxx. Cpc4x reprend la m�e disposition qu'un autre �ulateur (CPCEMU) pour DOS de Marco Vieth, mais cpc4x affiche la plupart du temps une bo�e de dialogue lorsque vous appuyez sur une touche de fonction.

F1 Ouvre la bo�e de dialogue INFORMATION. Celle-ci contient des informations �propos de l'auteur de cpc4x Ulrich Cordes, et vous donne la possibilit�de lire la documentation HTML (celle que vous �es en train de lire) avec votre butineur pr���
F3 Ouvre la bo�e de dialogue OUVRIR UN FICHIER, qui vous permet d'ins�er une image disque dans le lecteur virtuel A: et/ou B: de l'�ulateur. Si vous n'avez pas install�Tcl/Tk, vous pouvez ins�er une disquette dans le lecteur A: en pressant cette touche.
F4 La m�e chose que F3, mais avec le lecteur B: pr�s�ectionn�dans la bo�e de dialogue. Si vous n'avez pas install� Tcl/Tk, utilisez cette touche pour ins�er une disquette dans le lecteur B:.
F5 Active/d�active le son
F6 Faire une capture d'�ran vers un fichier XPM. Une bo�e de dialogue Tcl/Tk s'ouvre pour que vous indiquiez le nom du fichier XPM.
F7 Ouvre la fen�re de CONFIGURATION. Vous pouvez modifier la langue, le type de CPC �ul� la quantit�de RAM disponible, le r�ertoire par d�aut des lecteurs A et B, la ligne de commande pour l'impression, le type de moniteur, le distributeur et ins�er jusqu'�7 roms suppl�entaires.
F8 R�nitialise artificiellement l'�ulateur, et vous ram�e �l'�ran de d�arrage du CPC.
F9 Ferme le fichier d'impression, et l'envoie �l'imprimante.
F10 Ex�ute le d�ogueur Z80 int�r� Pour cela, cpc4x doit �re lanc��partir de la ligne de commande (fen�re de shell).
F12 Quitte l'�ulateur.

 

 

3.4 Les options de la ligne de commande

Si vous n'avez pas install�TcL/Tk, les dialogues se feront dans la fen�re shell d'o vous avez lanc�l'�ulateur. De m�e, vous n'aurez pas acc� �la fen�re de configuration. Mais vous pouvez modifier quelques options �partir de la ligne de commande.

Tapez cpc -help pour obtenir la liste des options qui peuvent �re pass�s en ligne de commande.

Option Fonction
-noinfo D�arre cpc4x directement avec la fen�re d'�ulation
-cpc464
-cpc664
-cpc6128
Sp�ifie le mod�e du CPC ��uler
-mem64
-mem128
-mem576
Sp�ifie la quantit�de RAM (64, 128 ou 576 Ko) disponible
-ger
-eng
-fra
Permet de choisir la langue des bo�es de dialogue : allemand (-ger), anglais (-eng) ou fran�is (-fra)
-color
-mono
�ule un �ran couleur ou un �ran monochrome
-passdriveselect Permet de choisir l'image disque directement, sans passer par la bo�e de s�ection du lecteur, et le bouton "Ouvrir"
-help Affiche les options de la ligne de commande

Par exemple : la ligne de commande   cpc -cpc6128 -mem576 -color -eng -noinfo   d�arre l'�ulateur du CPC 6128 avec 576 Ko de RAM avec un moniteur couleur, l'anglais est la langue des bo�es de dialogue, et il n'y a pas d'�ran d'introduction. Vous pouvez placer ces options de la ligne de commande dans les propri�� d'un ic�e KDE ou GNOME.

Si vous utilisez un m�e param�re plusieurs fois (par ex:   cpc -mem128 -mem64), seul le dernier param�re sera pris en compte. Dans l'exemple cit� cpc4x d�arrera avec 64 Ko de RAM.

 

 

3.5 La fen�re de configuration

Principe G��al

La bo�e de dialogue de configuration est tr� simple �utiliser; la plupart des options se changent en cliquant sur des boutons, et vous avez un aper� imm�iat de la configuration actuelle.
Nous ne reviendrons pas sur les options qui peuvent �re modifi�s �partir de la ligne de commande (comme le mod�e de CPC ��uler, ou la quantit�de RAM disponible), car nous les avons d�a expliqu�juste au-dessus.

Configuration du mod�e

La gestion des ROM

Le CPC peut prendre en charge jusqu'�256 ROM, chacune d'elles faisant 16 Ko. Ces ROM sont g��s par un syst�e appel�Bank Switching. La ROM n 0 est la ROM du BASIC, et les sept ROM suivantes peuvent �re utilis�s par le BASIC.

Vous pouvez ins�er les ROM suppl�entaires gr�e �la fen�re de configuration. Les ROM sont en fait des fichiers images des ROM d'origine. Ces fichiers doivent �re plac� dans le r�ertoire $HOME/cpc/rom, car c'est dans ce r�ertoire que l'�ulateur va les chercher.

Configuration des ROM

L'impression

L'impression de cpc4x ne se fait pas directement vers le port de l'imprimante. L'impression transite par un fichier d'impression, tel que 000001.prn. Lorsque l'�ulateur rencontre le caract�e   chr$(12)   (qui repr�ente le saut de page), ou lorsque vous pressez la touche F9 pour forcer le saut de page, le fichier d'impression est ferm�et envoy�au gestionnaire d'impression de votre ordinateur. Vous pouvez indiquer, dans le champ Ligne de commande pour l'impression, les instructions qui permettent d'envoyer le fichier d'impression au gestionnaire d'impression.

Configuration de l'imprimante

La plupart du temps, le gestionnaire d'impression envoie automatiquement un signal Form Feed (FF) �l'imprimante apr� l'impression d'une page. Dans ce cas, il vaut mieux demander �cpc4x de ne pas rajouter ce caract�e �la fin du fichier d'impression, en cochant la case FF de la section Ne pas imprimer ces caract�es. De m�e, le CPC �rit les caract�es CR et LF �la fin de chaque ligne pour indiquer �l'imprimante qu'il faut sauter une ligne. En fonction de votre gestionnaire d'impression, il peut �re utile de demander �cpc4x de ne pas g��er le caract�e CR �la fin de chaque ligne, en cochant la case CR de la m�e section. Faites ceci si vous avez une ligne blanche entre chaque ligne.

Lorsque vous quittez cpc4x, les fichiers d'impression qui �aient ouverts sont ferm� et envoy� au gestionnaire d'impression, puis tous les fichiers d'impression qui se trouvent dant le r�ertoire cpc sont effac�.

Les images disque

Vous pouvez connecter un lecteur de disquette externe sur les CPC. Ce lecteur peut �re un lecteur standard 3 pouces avec des diquettes format�s au format Amstrad 180 Ko, ou bien un lecteur moins standard (pour le cpc...) comme les lecteurs 3"5 et 5"1/4 avec des disquettes 80 pistes qui peuvent contenir jusqu'�720 Ko de donn�s. Cpc4x est capable de g�er les images provenant de toutes ces disquettes, pourvu que l'extension de ces images soit dsk. Vous pouvez placer ces images disque dans le r�ertoire de votre choix, mais vous devez alors sp�ifier �cpc4x l'emplacement de ces fichiers dans les deux bo�es de texte repr�ent�s ci-dessous. Vous pouvez donc pr�iser l'emplacement des fichiers images pour chacun des lecteurs; par d�aut, cpc4x va chercher dans $HOME/cpc/disc.

Images disque

Enregistrer la configuration

Si vous cliquez sur le bouton Appliquer et r�nitialiser l'�ulateur, les modifications sont enregistr�s dans le fichier .cpc4xrc dans votre r�ertoire de base. L'�ulation du CPC est r�nitialis� et red�arre avec les options que vous venez d'entrer. Ceci signifie que vous perdrez toutes les informations qui �aient dans la m�oire du CPC �chaque fois que vous cliquerez sur ce bouton !

 

 

3.6 Le fichier de configuration .cpc4xrc

Votre configuration de cpc4x est enregistr� dans le fichier .cpc4xrc qui se trouve dans votre r�ertoire de base (~/). C'est un fichier binaire qui est cach� Vous pouvez ouvrir ce fichier avec un �iteur de texte, mais soyez prudent lorsque vous le modifiez. Ce fichier binaire va �re lu ligne par ligne par cpc4x. Vous ne devez pas ins�er de commentaire ni le modifier pour le rendre plus lisible !

/usr/lib/cpc
/home/uli/cpc
1
576
 
 
 
 
 
 
amsdos.rom
disc
disc/80track
0
14
eng
2
lpr -Praw
1
0
1

Modifier le fichier .cpc4xrc peut �re utile si vous n'avez pas install�Tcl/Tk. Voici la signification de chacune des lignes :

Ligne Fonction
1 Le r�ertoire d'installation de cpc4x. Modifier cette ligne n'aura pas d'effet
2 Le r�ertoire de travail de cpc4x. Cette valeur ne doit pas �re modifi�.
3 Une variable utilis� par la fen�re de configuration.
4 La quantit�de RAM disponible pour le CPC �ul� (64, 128 ou 576 Ko)
5 �11 Le nom des fichiers images ROM; ils seront utilis� comme les ROM de 1 �7 par l'�ulateur.
12 Le r�ertoire par d�aut des images disque du lecteur de disquette A:.
13 Le r�ertoire par d�aut des images disque du lecteur de disquette B:.
14 0=Moniteur couleur, 1=Moniteur monochrome
15 Distributeur: 0=ISP, 2=Triumph, 4=Saisho, 6=Solavox, 8=AWA, 10=Schneider, 12=Orion et 14=AMSTRAD. C'est ce nom qui va �re affich�dans le message de d�arrage du CPC.
16 Langue: ger=allemand, eng=anglais, fra=fran�is
17 CPC-Type: 0=CPC 464, 1=CPC 664 et 2=CPC 6128
18 La ligne de commande pour l'impression
19 1=ne pas imprimer les caract�es CR
20 1=ne pas imprimer les caract�es LF
18 1=ne pas imprimer les caract�es FF

Le d�ogueur Z80 int�r�/u>

En appuyant sur la touche F10, vous acc�ez au d�ogueur Z80 int�r� Cependant, pour y acc�er, vous devez lancer cpc4x �partir d'une fen�re shell (pas �partir d'un ic�e associ�. Ce d�ogueur vous permet de lire les instructions Z80 pas �pas. Vous devez avoir de bonnes connaisances en assembleur Z80, ainsi que de son architecture pour utiliser le d�ogueur. Voici les commandes disponibles :
Comand Description
c Redonner la main �cpc4x
[RETURN] Ex�uter la prochaine instruction Z80.
= [addr] Placer un point d'arret �l'adresse [addr] et continuer l'�ulation jusqu'�ce cpc4x arrive sur l'instruction �l'adresse [addr].
+ [offset] Place un point d'arret �la position actuelle plus [offset] octets, et redonne la main �l'�ulation.
j [addr] Sauter �l'adresse [addr].
m [addr] Faire un vidage de la m�oire �l'adresse [addr].
d [addr] D�assembler les 16 premi�es instructions Z80 �partir de l'adresse [addr].
?,h Affiche l'aide du d�ogueur.
q Quitter cpc4x


 

 

4. Logiciels pour cpc4x

4.1 Astuces - transf�er vos programmes CPC vers une image disque


La m�hode la plus rapide et la plus simple pour obtenir des logiciels pour le CPC et pour l'�ulateur est de lancer une recherche sur Internet. La plupart des logiciels pour le CPC sont d��au format .dsk, et ils sont donc pr�s ��re charg� dans l'�ulateur. Le plus souvent, ils sont compress� au format ZIP. Vous pouvez les d�ompresser en utilisant unzip; tout ce que vous avez �taper est 'unzip <nomdufichier>'.

Si vous cherchez une m�hode qui permet de transf�er vos programmes CPC vers une image disque, vous aurez besoin d'un peu de mat�iel. D'abord, vous devez savoir que vous ne pouvez pas transf�er tous les programmes vers un fichier image disque. Vous pouvez essayer et esp�er que � va marcher. Vous devez utiliser un lecteur de disquette, de pr��ence 3"5 ou 5"1/4. Les lecteurs 3" du CPC ne peuvent pas �re connect� sur les ordinateurs modernes, d'apr� ce que je sais (NDT: j'ai entendu parler de personnes qui ont r�ssi cet exploit, mais la moindre mauvaise manipulation peut endommager votre lecteur, voire m�e votre ordinateur; n'essayez donc qu'en dernier recours...).

Les utilisateurs UNIX peuvent utiliser la commande dd (si celle-ci se trouve sur leur disque). Ce logiciel tr� pratique vous permet d'enregistrer n'importe quelle donn� provenant d'une disquette, ind�endamment du format de la disquette (il faut que le contr�eur du lecteur de disquette sache au moins g�er ce format). Cela ne vous donne pas une image utilisable sous cpc4x, car les fichiers .dsk doivent comporter un en-t�e. Pas de panique, car il existe ddtrans, un outil fourni avec l'�ulateur Sinclair xzx. Cet outil vous permet de convertir un fichier brut provenant de dd en un fichier .dsk. L'auteur n'a pas beaucoup de temps pour s'occuper de cette partie, donc si vous avez des informations sur comment utiliser ces logiciels, envoyez les �l'auteur (son adresse se trouve �la fin de ce document) pour expliquer aux autres comment convertir une disquette en image disque.

 

 

4.2 Liens vers des sites Internet sur le CPC

La page d'Ulrich Cordes http://www.amstrad-cpc.de
Une archive fran�ise de logiciels libres pour le CPC, tre� fournie ftp://ftp.lip6.fr/pub/amstrad
Une autre archive, en anglais, plus ax� sur les jeux commerciaux, tr� fournie aussi ftp://ftp.math.uni-hamburg.de/pub/misc/cpc_emu/ A german mirror of ftp://ftp.nvg.unit.no/pub/cpc
Un manuel du langage Locomotive BASIC http://www.sean.co.uk/bidea0.htm
Un site allemand sur le Schneider CPC pas moins complet que les autres sites http://www.opperer.com/ascd/


 

5. Historique

5.1 Les caract�istiques actuelles de cpc4x, ses limitations et ses bogues


Caract�istiques de la version actuelle (0.25):
 

Affichage en MODE 0, MODE 1, MODE 2
support des images .dsk pour le lecteur A: et B:
Le choix des fichiers images ROM est libre
La quantit�de RAM disponible est param�rable.
Les logiciels qui n'utilisent pas d'astuce trop complexe s'ex�utent correctement
L'�ulateur peut imprimer (r�llement)
Les options de la ligne de commande
Une interface graphique optionnelle avec Tcl/Tk (en allemand, en anglais et en fran�is)
Une sortie son
Le support du format XDOS pour les disquettes de grande taille (avec encore un bug : une image disque doit �re ins�� dans le lecteur A:)
La RAM-Disk avec RDOS-ROM fonctionne


Ce qui ne fonctionne pas pour l'instant (0.25):
 

Le scrolling hard ne fonctionne que verticalement, et seulement ligne par ligne
Les modes d'affichage peu orthodoxes ne s'affichent pas correctement
Le scrolling de bordure est un peu pauvre.

.....

Si vous avez d'autres remarques � ajouter �cette liste ? Votre avis honn�e m'int�esse aussi. Autre chose qui manque, fonctionne mal, ou pas du tout, des commentaires ? BASIquement parlant, tout ce qui est �rit en BASIC doit fonctionner, ainsi que la plupart des outils comme les traitements de texte, les gestionnaires, ... Et m�e quelques jeux (NDT:il y en a d��beaucoup), qui n'utilisent pas d'astuces mat�ielles secr�es et tir�s par les cheveux, doivent aussi fonctionner, et m�e �re jouables. De m�e, CP/M fonctionne (les deux versions). Il n'y a pas encore une compatibilit�parfaite.

 

 

5.2 La liste des modifications de toutes les versions de cpc4x

Alors que je recherchais sur internet un �ulateur gratuit pour mon bo�ier Linux, durant l'automne 1998, j'ai trouv�un �ulateur du processeur Z80 sur la page de Marat Fayzullin, livr�avec le code source. Comme je n'ai pas r�ssi �trouver d'�ulateur CPC pour Linux GRATUIT (NDT: et pour cause, je crois qu'il n'y en a aucun qui soit gratuit), je me suis d�id��faire mon propre �ulateur. Depuis mars 1999, je construit mon �ulateur CPC autour du noyau Z80 (tr� bien) programm�par Marat.

24.3.99 L'�ulation Z80 fait ses premiers pas. Un Makefile structur� Affichage uniquement en mode 1 �l'int�ieur d'une fen�re X11, en utilisant la fonction XDrawPoint(). Une certaine fiert�commence �se d�ager !
26.3.99 XDrawPoint est tr� lent, dessine l'�ran CPC comme une image et la rafra�hit lorsque c'est n�essaire. J'ai agrandi la fen�re principale afin d'afficher la bordure de l'�ran. J'ai accel��le calcul en X et Y �partir d'un tableau. Pour l'instant, une encre jaune sur un fond bleu.
29.3.99 Pour la premi�e fois, l'insertion d'une ROM et le BASIC fonctionnent. L'�ulation boucle un petit peu : le message de d�arrage s'affiche, et l'�ulateur se r�nitialise avant que le message Ready ne s'affiche. Les macros 16-Bits-IN/OUT du Z80 ont ��modifi�s pour utiliser r�llement du 16 bits.
31.3.99 Les macros adapt�s qui appellent les IN-structions Z80 dans CodesED.h ont ��enlev�s, c'�ait une erreur. Codes.h doit d'abord �re am�ior� J'ai corrig�RdZ80 dans mem.h pour que, quand il y a une ROM en position 0, la lecture s'op�e �partir du Basic, et non pas �partir des ROM 252-255. Et bienvenue �toi, message Ready.
5.4.99 L'�ulateur effectue 13333 cycles avant de d�lencher la fonction LoopZ80().
Pour obtenir ce chiffre :

cycles = frequenceZ80 / frequenceInterne ===> 4.000.000 / 300 = 13333 

Dans LoopZ80(), il y a un gestionnaire d'�enements de l'�ulateur. L'appui de touches et leur fonction respective sont envoy� �la matrice de l'�ulation du clavier (quelques touches ne fonctionnent pas encore !).

L'�ulateur fonctionne maintenant avec un temporisateur de 50 Hz. Chaque sixi�e appel �LoopZ80() est utilis�pour la synchronisation en temps r�l. En admettant que l'�ulation tourne beaucoup plus vite que l'original, LoopZ80 met les freins, et l'utilisateur a l'impression que l'�ulateur tourne en temps r�l.

Maintenant, on peut m�e taper des petits programmes BASIC, et m�e les ex�uter. L'affichage se fait toujours et uniquement en Mode 1, et le scrolling vers le haut est vivement d�onseill�!

22.4.99 Cpc4x reconnait maintenant correctement les trois types d'affichage. Tim Riemann m'a aid�pour cette partie. Toutes les 10 millisecondes, on v�ifie s'il y a un changement de couleur dans le gate array, et, si c'est le cas, l'�ran doit �re rafra�hit. Cela signifie aussi que l'on doit tout dessiner pixel par pixel. Le d�ai de 10 ms est une n�essit� sans � l'�ulateur ne pourrait pas fonctionner. Le scrolling hard ne fonctionne pas encore.

Marco Vieth, auteur de CPCEMU m'a donn�les param�res RGB des couleurs du CPC, ce qui donne une meilleure allure �mon �ulateur. Merci �lui.

20.6.99 J'ai tout v�ifi�et enqu��pendant des nuits, et maintenant, enfin, le scrolling hard fonctionne.
8.9.99 (version 0.10) Les vacances d'��sont �peine finies, et cpc4x a maintenant un lecteur de disquettes. Toutes les fonctions essentielles pour la lecture et l'�riture fonctionnent.
25.10.99 (version 0.11) J'ai commenc��impl�enter quelques dialogues X11 pour l'ouverture des images disque et pour la configuration. Pour cela, j'utilise Tcl/Tk.
25.11.99 J'ai ajout�un panneau d'informations avec la possibilit�d'ouvrir les documents d'aide avec n'importe quel butineur.
2.12.99 (version0.11b) Support en allemand et maintenant en anglais.
26.2.00 (version 0.20) Les sorties imprimantes sont dirig�s vers des fichiers. Apr� l'�riture du caract�e chr$(12), qui indique un saut de page, ou lors de l'appui de la touche F9, le fichier d'impression est ferm� et envoy��une vraie imprimante gr�e �la ligne de commande d�inie dans la configuration.

Param�res de la ligne de commande

R�rganisation du projet et des Makefiles, ainsi l'�ulateur peut �re install�par le root pour que tous les utilisateurs y acc�ent, ou par un utilisateur unique

Des fichiers de documentation beaucoup plus jolis en HTML.

10.3.00 (version 0.20b) Quelques options suppl�entaires pour l'impression.
13.3.00 (version 0.20c) Gestion du clavier am�ior� et un meilleur effacement des fichiers prn en fermant cpc4x.
16.5.00 (version 0.21) La touche F6 permet de faire une capture d'�ran vers un fichier XPM. Une fen�re Tcl/Tk permet de sp�ifier le nom du fichier XPM.
11.10.00 (version 0.22 - jamais rendue publique) Le son est maintenant support�
07.01.01 (version 0.23) l'�ulation Z80 de Marat Fayzullin ne supportait pas les deux instructions ill�ales NEG (ED-7C) et RETI (ED-7D). Ainsi, le rafra�hissement des registres 280 n'�ait pas support�correctement. XDDOS-ROM a besoin de ces deux instructions.

Un d�ogueur Z80 a ��int�r�

14.7.01 (version 0.24) Quelques bugs de l'�ulation du lecteur de disquettes ont �� supprim�. Cpc4x est maintenant capable de lire les grandes (720 Ko) images disques avec CP/M Plus dans le lecteur B:

J'ai plac�une image disque patch� du CP/M dans la source de Cpc4x. D�arrez le fichier README.COM de cette disquette pour plus d'informations.

Les menus et l'aide ont ��traduits en fran�is.

Modifications dans les fichiers Makefile pour r�oudre plusieurs probl�es avec le son et les variables NULL.

14.12.02 (version 0.25) Le programme se bloque s'il n'arrive pas �ouvrir le p�iph�ique /dev/dsp. Si cela se produit, le son est d�activ� et un message appara� dans la fen�re du terminal. L'�ulateur supporte le son seulement si vous initialisez l'option de compilation -DCPCSOUND dans le Makefile.

L'�ulateur est maintenant sous licence GNU GENERAL PUBLIC LICENSE.

Le param�re de ligne de commande -passdriveselect a ��ajout� Pour chaque langue, une nouvelle bo�e de dialogue Tcl permet de choisir directement l'image disque sans passer par la bo�e de s�ection du lecteur de disquettes et le bouton Ouvrir.

09.12.04 (version 0.26) Memory allocation bug fix for usage with newer Linux kernels.

 

 

5.3 Remerciements


 

6. Note de l'auteur

6.1 Aspect l�al


I am offering cpc4x including its source code freely under GNU GENERAL PUBLIC LICENSE. I am using the Z80 Emulation Package of Marat Fayzullin's Computer Emulation Resources, which can be used for any non-profit purposes, as long as a proper reference to him are made in the documentation, or the program itself.

N'importe qui peut, sur n'importe quel syst�e, compiler et utiliser mon �ulateur librement. Vous ne pouvez pas demander une r�ribution lorsque vous le fournissez �quelqu'un. Une licence UNIX/GNU/Linux doit �re fournie avec l'�ulateur lorsque vous le laissez �disposition dans une collection (par ex: serveur ftp, CD-ROM, etc...).

Si vous faites la moindre modification sur mon �ulateur, veuillez m'envoyer un courrier ou un e-mail. Je suis g��alement ouvert �toute nouvelle id�, modification, et j'ai besoin de les conna�re pour adapter et am�iorer mon �ulateur en fonction de chaque nouvelle version. L'�ulateur y gagne lorsque vous partagez vos id�s.

Ce morceau de logiciel est ma passion durant mon temps libre. Je ne suis pas responsable, et je ne garantis pas non plus, du fonctionnement de cpc4x. Je ne suis pas responsable pour les dommages que pourrait provoquer cpc4x. Je ne suis pas non plus responsable du contenu des sites indiqu� dans ce fichier d'aide. Les liens vers ces sites sont fournis pour vous indiquer l'emplacement des sources de cpc4x, et d'autres logiciels tr� utiles qui ont servi ��rire mon �ulateur.

Avec cpc4x, je laisse �la disposition de tous un outil qui me tient �coeur.

AMSTRAD et Locomotive Software Ltd. sont les propri�aires du Copyright sur le contenu des fichiers ROM cpc464.rom, cpc664.rom, cpc6128.rom et amsdos.rom qui sont fournis avec cpc4x. Marco Vieth, auteur de CPCEMU pour DOS, ainsi que Fred Harris ont demand�la permission de distribuer ces fichiers avec leurs �ulateurs CPC. AMSTRAD a r�ondu �leur requ�e, et la permission a ��accord�. (voir la documentation de l'�ulateur de Marco). La situation l�ale �propos de CP/M ne me parait pas assez claire, et j'ai donc d�id�de ne pas fournir cet environnement syst�e avec cpc4x.

-Ulrich Cordes


 

Hakuna Matata!