Xcpc
Xcpc est un émulateur Amstrad CPC (modèles 464, 664 et 6128) développé en C et C++ sous licence GPL. Il s’adresse aux utilisateurs souhaitant recréer un environnement fidèle à ces ordinateurs rétro, avec une compatibilité limitée aux systèmes POSIX (Linux, BSD, Unix) via un serveur X11.
Bien que conçu pour des environnements non macOS, son absence de support officiel pour Apple Silicon ou macOS moderne en fait un projet incompatible avec les configurations récentes. Seules les sources brutes sont disponibles, nécessitant une compilation manuelle pour une utilisation hors de ces plateformes. L’émulateur mise sur une interface GTK+3, des fonctionnalités matérielles complètes (Z80, VDC, PSG, etc.) et des options avancées comme l’émulation CRT ou le support des snapshots.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
64 bits
Téléchargement et liens
Historique des versions
v0.53.0
-
Nouveauté majeure :
- Nouvel moteur de rendu OpenGL (peut entraîner des artefacts visuels mineurs dans l’interface utilisateur).
-
Améliorations fonctionnelles :
- Prise en charge des images disque au format ZIP et meilleure compatibilité globale avec les images disque.
- Support amélioré pour le PSG (synthétiseur de sons) avec une meilleure gestion des sons numérisés.
-
Stockage des paramètres :
- Les réglages de l’émulateur sont désormais sauvegardés/chargés depuis un fichier de configuration (
~/.config/xcpc/xcpc.ini).
- Les réglages de l’émulateur sont désormais sauvegardés/chargés depuis un fichier de configuration (
-
Supports binaires :
- Fichier
.dmg(pour macOS) et support officiel pour les applications AppImage (Linux).
- Fichier
Changelog complet
v0.52.1
- Correction majeure de la compilation sous BSD, rendant le projet compatible avec les systèmes d'exploitation dérivés (comme FreeBSD ou NetBSD).
- Amélioration de la prise en charge des manettes joystick sous Linux, avec une meilleure détection et gestion des périphériques.
(Aucune modification spécifique à macOS ou Apple Silicon dans cette version.)
Changelog complet
v0.52.0
-
Nouveautés majeures :
- Prise en charge complète du clavier français (layout et gestion des touches spécifiques).
- Sélection de la machine et du fabricant directement depuis l’interface graphique (GUI).
-
Améliorations fonctionnelles :
- Meilleure gestion des manettes de jeu (joystick), avec un comportement plus stable.
- Réorganisation du code GUI (nettoyage et refactorisation pour une meilleure maintenabilité).
- Intégration desktop améliorée (gestion des types MIME pour une meilleure compatibilité avec macOS).
-
Optimisations internes :
- Refactorisation du setup des machines pour une configuration plus flexible et robuste.
Changelog complet
v0.51.0
- Amélioration majeure de l'émulation Z80 : conformité totale avec le testsuite
zexall(correction des drapeaux non officiels pour l'instructionBIT r,n). - Changement d'option : remplacement de
--turbopar--speeduppour ajuster la vitesse d'exécution. - Correction technique : amélioration et stabilisation de l'émulation du CRTC (circuit de contrôle de la vidéo).
Changelog complet
v0.50.0
-
Refonte majeure du code : migration complète vers C++ (remplacement du code existant), améliorant la stabilité et les performances, avec une émulation plus précise et des timings optimisés.
-
Nouveautés fonctionnelles :
- Génération de disques images directement depuis l’émulateur.
- Support de tous les modes d’interruptions (amélioration de la compatibilité matérielle).
-
Suppression d’interfaces obsolètes : retrait des interfaces Intrinsic, Athena et Motif2 (conservation exclusive de GTK+3.x, entièrement réécrite).
-
Changements audio : remplacement du support PortAudio par Miniaudio (intégré et plus léger).
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.38.1
- Correction majeure pour Linux (Wayland) :
- Forçage de l’utilisation de X11 avec GTK3 sous Wayland pour éviter des problèmes d’affichage ou de compatibilité (impact potentiel sur les environnements graphiques récents comme GNOME sur Wayland).
(Aucun changement spécifique à macOS dans ce changelog.)
Changelog complet
v0.38.0
-
Refonte majeure du code : restructuration complète du projet avec une réécriture de l’interface utilisateur (UI) pour une meilleure organisation et une expérience utilisateur améliorée.
-
Corrections critiques :
- Parsing des arguments en ligne de commande : résolution d’un bug affectant l’interprétation des options via la CLI.
- Stabilité de l’émulation : corrections de problèmes récurrents dans le comportement de l’émulation (nature non précisée, mais impact potentiel sur la compatibilité).
-
Améliorations techniques :
- Automatisation des outils de construction : mise à jour des scripts de compilation (autotools) pour une intégration plus robuste.
- Pipeline CI/CD et packaging Debian : optimisation des tests automatisés et préparation des paquets pour les distributions Linux (hors scope macOS).
-
Documentation : mise à jour et corrections pour refléter les changements apportés (sans précision sur des contenus spécifiques à macOS).
Changelog complet
v0.37.0
-
Amélioration majeure de l'émulation : refactorisation complète du cœur Z80, améliorant la précision et les performances de l'exécution.
-
Optimisation du contrôle : amélioration du planificateur et du mode turbo pour une meilleure réactivité et fluidité.
-
Correction critique de l'interface utilisateur : résolution du problème de gestion de multiples instances sous Gtk+-3.x (impactant potentiellement les environnements Linux, mais utile à noter pour la stabilité globale).
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.36.0
- Ajout d’une interface utilisateur basée sur GTK+-3.x, remplaçant probablement l’ancienne version (sans précision sur les implications pour les systèmes non-Linux).
- Pas de nouveauté majeure liée à macOS (pas de support Apple Silicon, pas de build
.dmg, pas de mention de macOS minimum ou de correctifs spécifiques). - Améliorations mineures et corrections non détaillées dans le changelog (refactoring et fixes non prioritaires).
Changelog complet
v0.35.0
- Ajout d’un système de gestion des touches chaudes (hotkeys) pour une meilleure interactivité.
- Intégration d’un support natif des manettes physiques (joystick) et réécriture du système d’émulation de manette via clavier pour plus de précision.
- Amélioration du planificateur de tâches (scheduling) pour optimiser les performances du noyau émulé.
- Préparation des infrastructures pour le support audio, bien que la fonctionnalité ne soit pas encore pleinement implémentée.
- Mise à jour des outils de construction (Autotools) pour une meilleure compatibilité avec les environnements de développement modernes.
Changelog complet
v0.34.0
-
Améliorations majeures pour les interfaces utilisateur :
- Interface Athena et Motif2 revues pour une meilleure ergonomie et cohérence.
- Ajout du support de glisser-déposer (Drag'n Drop) pour les URI dans ces interfaces.
-
Mise à jour des composants matériels émulés :
- Émulation du CRTC-6845 (circuit de contrôle de curseur) corrigée et améliorée.
- Émulation du AY-3-8912 (puce son) mise à jour pour une meilleure compatibilité.
-
Optimisations techniques :
- Génération des interruptions améliorée pour un comportement plus fidèle.
- Rendu graphique corrigé et rendu plus précis (fixes de bugs visuels).
- Widget de l’émulateur optimisé avec un throttling des événements d’entrée pour éviter les lag.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.33.0
-
Améliorations matérielles majeures :
- Réécriture complète de l'émulation du CRTC-6845 (contrôleur de curseur et de timing), améliorant la compatibilité avec les périphériques graphiques compatibles.
- Optimisation de l'émulation du PPI-8255 (Portable Peripheral Interface), corrigant des comportements erronés dans la gestion des entrées/sorties parallèles.
-
Nouveauté fonctionnelle :
- Ajout d’une émulation préliminaire du AY-3-8912 (puce sonore), couvrant les registres et les entrées/sorties (I/O), mais sans support audio complet pour l’instant.
-
Interface utilisateur :
- Améliorations visuelles et fonctionnelles des interfaces Xaw et Motif, avec une meilleure réactivité et une gestion des événements optimisée.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.32.0
-
Migration complète vers
libxcpc: refactorisation majeure du codebase avec une architecture plus robuste et optimisée, éliminant le code hérité et améliorant les performances globales. -
Ajout du rendu CRT : prise en charge du mode Cathode-Ray Tube pour une compatibilité étendue avec certains jeux ou logiciels rétro.
-
Corrections de bugs : plusieurs problèmes résolus après la refactorisation, bien que le changelog ne détaille pas leur nature précise.
Changelog complet
v0.31.1
- Correction majeure d’une erreur SIGBUS sur les systèmes big-endian (comme les architectures Sparc), évitant des plantages lors de l’exécution.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.31.0
-
Suppression d’une dépendance majeure : Retrait des bibliothèques externes GLib-2.0 et GObject-2.0, simplifiant la compilation et réduisant les conflits potentiels avec les environnements macOS.
-
Refactorisation profonde du codebase : Architecture réécrite pour améliorer la maintenabilité, avec une nettoyage général du code et la résolution de compilation warnings.
-
Améliorations de l’interface utilisateur : Optimisation de l’interface Motif2, bien que son usage sur macOS reste limité (à vérifier selon les configurations).
(Aucune mention spécifique à macOS, Apple Silicon ou builds .dmg dans ce changelog.)
Changelog complet
v0.30.0
-
Réécriture majeure du cœur d'émulation : refonte profonde des mécanismes internes pour améliorer la stabilité et les performances, avec une architecture plus modulaire et maintenable.
-
Mise à jour des bibliothèques dépendantes :
libdskpassé en version 1.4.2 (gestion améliorée des images disque).lib765mis à jour en 0.4.2 (compatibilité et optimisations pour les périphériques Amiga).
-
Refonte de l’interface utilisateur Motif2 : réorganisation du code pour une meilleure cohérence et extensibilité, sans changement fonctionnel majeur.
-
Pas de modifications spécifiques à macOS dans ce changelog (pas de builds .dmg, d’optimisations Apple Silicon, ni de mention de macOS minimum).