La version 0.32.0 de Xcpc est disponible

Posté par  (site web personnel) . Édité par Ysabeau 🧶, Pierre Jarillon et Nils Ratusznik. Modéré par Ysabeau 🧶. Licence CC By‑SA.
35
7
avr.
2021
Jeu

Xcpc est un émulateur d’Amstrad CPC 464/664/6128 écrit en C. Cet émulateur a été conçu pour être portable et fonctionner sur n’importe quel système Posix disposant d’un serveur X11, incluant donc Linux, BSD et de nombreux systèmes Unix.

Cet émulateur a été développé pour émuler la gamme classique des Amstrad CPC :

  • Amstrad CPC 464 (v1).
  • Amstrad CPC 664 (v2).
  • Amstrad CPC 6128 (v3).

La gamme Amstrad CPC+ ainsi que la console GX4000 ne sont actuellement pas supportées et ne le seront probablement pas.

Un peu d’histoire

Le développement de cet émulateur a démarré il y a 20 ans, en avril 2001. La première version officielle a été publiée en mai 2001.

L’objectif initial de l’émulateur était de pouvoir rejouer au jeu « Head Over Heels » sous Unix et Linux, puis d’émuler le plus fidèlement possible (dans la mesure du possible) ces antiques machines, tout en gardant un code source le plus portable possible.

Le code original a été développé sur une station Digital Alpha au433, une station Sun Ultra 5 et sous Linux. Ces machines ayant maintenant disparu, le code vise principalement les plateformes Linux et BSD. Les plateformes Windows ne sont pas supportées et ne le seront probablement jamais.

Quoi de neuf ?

Après plusieurs années sans aucune évolution (la dernière version officielle datait de janvier 2007), le développement de l’émulateur a repris doucement mais sûrement.

Ces dernières semaines, plusieurs versions se sont succédé :

  • une première version 0.30.0, publiée le 16 mars 2021 ;
  • suivie d’une version 0.31.0, publiée le 25 mars 2021 ;
  • suivie d’une version 0.31.1, publiée le 29 mars 2021 ;
  • puis la dernière version 0.32.0, publiée le 2 avril 2021.

Le code source de l’émulateur a subi un gros refactoring, de nombreux bugs ont été corrigés et l’interface utilisateur a eu droit un léger lifting.

Pour le moment le son n’est toujours pas supporté mais est au chapitre des prochains chantiers à venir.

Captures d’écran

Écran de démarrage
Scène de jeu
Scène de jeu avec score

Aller plus loin

  • # Oh punaise

    Posté par  (site web personnel) . Évalué à 9. Dernière modification le 07 avril 2021 à 11:02.

    Ce journal pe rappelle qu'il faut que je me bouge les fesses pour en écrire un sur l'émulateur que je maintiens moi: Caprice32.

    Tout aussi vieux mais il supporte la gamme Plus (grâce à votre serviteur), Windows (et plus) et en plus la version 4.7.0 va bientôt sortir, ce qui est quand même plus sérieux que du 0.quelquechose !

    Allez, je colle un lien quand même :

    https://www.github.com/ColinPitrat/caprice32

    • [^] # Re: Oh punaise

      Posté par  (site web personnel) . Évalué à 4.

      Merci pour ce commentaire pas super sympa :-/

      • [^] # Re: Oh punaise

        Posté par  (site web personnel) . Évalué à 8. Dernière modification le 07 avril 2021 à 11:24.

        Je cherchais à faire de l'humour genre "compétition agressive pour un marché de 10 utilisateurs". Désolé si c'est mal passé. Pour les numéros de version, c'est évidemment gratuit, le numéro en lui même ne voulant rien dire. Un peu comme Chromium cinquante-douze est forcément mieux que firefox trente-trois vu que le numéro est plus élevé.

        Quand aux fonctionnalités, ça ne fait pas tout. Émuler ces machines (et tous leur bugs, effets de bords, etc …) est étonnamment difficile et les jeux de l'époque les exploitent abondamment. Donc la qualité de l'émulateur est quelque chose de très difficile à évaluer mais je sais que Caprice est très loin d'être parfait de ce côté.

        J'ai utilisé xcpc avant de maintenir caprice et il était très bien. Je cherchais un émulateur qui supporte le Plus et aucun des "biens" sous Linux ne le supportait du coup j'ai choisi l'émulateur que je trouvais le mieux (très subjectif) et je l'ai fait évoluer.

        Mais ton journal m'a donné envie de jeter un œil à xcpc à nouveau.

        • [^] # Re: Oh punaise

          Posté par  (site web personnel) . Évalué à 10.

          Alors désolé, je n'avais pas du tout senti le côté humoristique, my bad. Je suis tellement habitué aux attaques gratuites (twitter & co), que le texte seul sans la bande son ni l'image laisse à penser que je faisais de la m…e :-|

          Concernant le non-support de Windows, c'est un choix de ma part. Il y a déjà plein d'émulateurs très bien pour cette plateforme.

          Concernant le support de la gamme CPC+, je ne pense pas le faire, ou bien un jour quand la gamme classique sera parfaitement émulée (ce qui est loin d'être le cas).

          Xcpc est réellement un hobby (et pas forcément méga avancé) qui m'amuse par périodes. Et c'est clair que le nombre d'utilisateurs potentiels étant réduit, d'autant que je ne supporte que Linux/BSD/Unix, je ne pense pas toucher des millions d'utilisateurs :-D

          • [^] # Re: Oh punaise

            Posté par  (site web personnel) . Évalué à 4. Dernière modification le 07 avril 2021 à 12:29.

            Question con, comment on fait pour utiliser xcpc avec des dsk en mode 664?

            J'ai tenté en cpc664:

            $ ./src/xcpc --machine=cpc664 --sysrom=share/xcpc/roms/cpc664.rom \
                --drive0 /home/cpitrat/Perso/caprice32/disk/fruitfra.zip
            

            ou en cpc6128:

            $ ./src/xcpc --machine=cpc6128 --sysrom=share/xcpc/roms/cpc6128.rom \
                --drive0=disk/fruitfra.zip 
            

            ou encore avec drive1:

            $ ./src/xcpc --machine=cpc664 --sysrom=share/xcpc/roms/cpc664.rom \
                --drive1 /home/cpitrat/Perso/caprice32/disk/fruitfra.zip
            

            Mais quand je tape cat j'ai droit à un "Press PLAY then any key" laissant penser qu'il cherche une cassette, donc qu'il est en mode 464.

            Edit: Bon j'étais trop flemmard, c'était en testant depuis les sources. En faisant un make install ça marche mieux. Sauf que par habitude, j'ai passé directement un .zip au lieu d'un .dsk et bizarrement, y'a aucune erreur, juste un nom de fichier bizarre quand je fais cat :-)

            • [^] # Re: Oh punaise

              Posté par  (site web personnel) . Évalué à 4.

              Pour ton premier problème, c'est que xcpc ne trouvais pas « amsdos.rom ».

              Tu devais normalement avoir l'erreur suivante dans le terminal :

              E   expansion-rom: loading error (/home/cpitrat/Perso/xcpc/share/xcpc/roms/amsdos.rom)
              

              Concernant le support des disques compressés, cela fonctionne normalement avec les « .gz » et « .bz2 » (si tu as les librairies adhoc lors de la compilation), mais pas encore les « .zip ». Le support des zip viendra …

              Merci pour tes retours :-)

          • [^] # Re: Oh punaise

            Posté par  . Évalué à 5.

            ouais faut pas le prendre mal, d'autant plus que ça a bougé récemment sur le github de Caprice, donc ton journal m'y a fait penser également.

            Créant de la musique sur CPC, je pense que je vais attendre le support du son sur xcpc avec impatience :) D'ailleurs n'est-il pas possible de réutiliser du code de l'un ou l'autre émulateur pour implémenter ce qui manque ?

            Je dois avouer que j'utilise surtout l'émulateur winape via wine, parce que ce dernier est pas mal avancé, mais pouvoir utiliser au quotidien un émulateur natif est quand même mieux. Il me semble que le son sur Caprice est un peu moins défini que sur Winape, mais je peux me tromper, faudra que je reteste.

            J'en profite pour placer le lien d'un éditeur chiptune pour Amstrad, qui tourne maintenant nativement sous Linux : http://www.julien-nevo.com/arkostracker/

            « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

            • [^] # Re: Oh punaise

              Posté par  (site web personnel) . Évalué à 4.

              Il y a toujours moyen de récupérer du code dès lors que la licence le permet. Mais pour ma part, je souhaite implémenter le son moi même, histoire d'aller au bout du truc :-)

              • [^] # Re: Oh punaise

                Posté par  . Évalué à 1.

                Hello,
                regarde aussi du coté de CapriceForever Il est que Windows mais il semble que la base de code doit etre la même. L'auteur est réactif (j'ai déjà fait des rapports de bugs et il a corrigé très rapidement. C'etait une protection anti-multiface2 qui faisait planter un jeu.

                En tout cas je me réjouis d'un nouvel émulateur CPC pour linux, je m'en vais le tester!

    • [^] # Re: Oh punaise

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      …et moi je devrais faire un journal sur le portage de ACE de MorphOS vers Haiku (note: projet non libre).

      Si ça continue on va avoir plus d'émulateurs que d'utidisateurs potentiels :o)

  • # CPC+ ?

    Posté par  (site web personnel) . Évalué à 3.

    Dommage sans le support de cette gamme, on ne pourra pas jouer à La culotte de Zelda.

    Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

  • # Merci

    Posté par  . Évalué à 6.

    C'est toujours un peu émouvant quand je vois des nouveautés concernant ces machines et ce système…
    J'ai commencé l'informatique à 2 ans, en 1987 sur un CPC6128. J'ai usé mes doigts sur son clavier, c'est avec lui que j'ai écris mes premiers programmes et que j'ai passé des nuits à recopier des listing en Basic pour avoir la satisfaction à la fin de pouvoir y jouer.
    C'est la dessus que j'ai appris la bidouille aussi et au final qui a fait que j'ai choisi de faire carrière dans l'informatique et particulièrement la programmation.

    J'ai toujours plaisir à utiliser Xcpc ou Caprice32 pour refaire une petite partie des Tuniques Bleues, ou de Jet Set Willy… Bref, je me fais un brin nostalgique.

    Merci donc de maintenir ces émulateurs et particulièrement XCpc.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.