plus4emu
plus4emu est un émulateur en ligne de commande dédié aux micro-ordinateurs Commodore Plus/4, C16 et C116, développé en C++ par Istvan Varga. Il vise une reproduction fidèle du matériel original, incluant le CPU 7501/8501, le chip graphique TED 7360/8360, et les périphériques associés (disquettes, imprimantes, bande magnétique).
Sur macOS, bien que les builds officielles ne soient plus maintenues, l’émulateur reste utilisable via les sources disponibles sur GitHub, compatibles avec les architectures POSIX (incluant Apple Silicon). Il prend en charge des configurations matérielles variées (RAM, ROM, périphériques) et des formats de fichiers courants (D64, TAP, PRG). Son approche cycle-exact et son support des artefacts vidéo en font un outil adapté aux passionnés cherchant une émulation précise, malgré des exigences système plus élevées que la moyenne.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
Téléchargement et liens
Historique des versions
v1.2.11-beta_20190320
-
Correction majeure : résolution d’un problème critique de copier-coller des caractères en majuscules/minuscules (fonctionnalité bloquée dans les versions précédentes).
-
Amélioration fonctionnelle : ajout d’un support limité pour les caractères graphiques PETSCII (utilisés notamment pour les jeux et démos sur C64).
-
Correction technique : suppression d’un bug visuel dans le mode multicolore (défilement horizontal incorrect).
Changelog complet
v1.2.11-beta_20170614
-
Nouveauté majeure :
- Intégration de shaders personnalisés GLSL pour l’émulation PAL/NTSC, permettant un contrôle avancé des effets graphiques.
-
Améliorations fonctionnelles :
- Ajout de boutons pour désactiver les unités 8/9 dans la configuration des disques (interface utilisateur).
- Création automatique d’un fichier D64/D81 vide si l’utilisateur tente d’ouvrir un fichier inexistant.
- Prise en charge des images de disques et de bandes depuis des archives .zip (extraction temporaire en lecture seule du premier fichier correspondant).
-
Corrections critiques :
- Résolution d’un bug du DigiBlaster : l’entrée SID externe n’était plus muette par défaut.
- Correction des breakpoints vidéo inopérants lorsque le seuil de priorité n’était pas nul.
(Aucune modification spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v1.2.10.1
- Correction d’un bug critique dans
p4fliconv(outil de conversion de fichiers FLI) qui empêchait l’affichage correct des prévisualisations, pouvant entraîner des erreurs de rendu ou des plantages.
Changelog complet
v1.2.10
-
Améliorations majeures pour la compatibilité et l'expérience utilisateur :
- Ajout d’options de configuration pour l’émulation SID compatible C64 et mise à jour de l’émulation SID vers reSID 1.0 (contre 0.16), améliorant la fidélité sonore.
- Correction des problèmes d’affichage vidéo : écran plus jamais noirci en pause, et améliorations globales de fluidité.
-
Nouveautés dans le débogueur et le moniteur :
- Ajout d’un type de breakpoint "execute" (x) et suppression de l’option "ignorer les lectures de données".
- Support des formats binaires (
%1010), octaux (12o) et décimaux (10l) dans le moniteur (au-delà du format hexadécimal par défaut). - Nouveaux boutons "step" pour naviguer vers l’adresse 16-bit du haut de la pile ("Retour") ou vers une adresse utilisateur spécifiée.
- Affichage ASCII dans les dumps mémoire et augmentation de la taille du buffer de l’éditeur du moniteur (de 120 à 160 lignes).
-
Corrections et optimisations techniques :
- Meilleure gestion des erreurs Lua : messages de syntaxe/runtime plus détaillés et bouton pour insérer une callback de breakpoint vide.
- Possibilité de supprimer des breakpoints Lua via une priorité négative.
- Fenêtre du débogueur redimensionnable dans des limites précises et suppression du flickering lors de l’utilisation des boutons "step".
-
Améliorations audio et formats de sortie :
- Support du protocole WASAPI pour la sortie audio sur Windows.
- Sauvegarde des captures d’écran et sorties imprimantes en PNG (au lieu de TGA).
-
Compatibilité logicielle et builds :
- Support officiel des compilations 64-bit pour Windows et des versions FLTK 1.3.x + Lua 5.2/5.3.
- OpenGL rendu optionnel à la compilation (pas de dépendance obligatoire
Changelog complet
v1.2.10-beta_20161230
-
Nouveauté majeure :
- Mise à jour de l'émulation du chip SID (son) passant de reSID 0.16 à reSID 1.0, améliorant la compatibilité et la précision audio.
-
Nouveautés fonctionnelles :
- Ajout d’un nouveau type de breakpoint (
execute, déclenché à l’exécution d’une instruction, noté'x'). - Suppression de l’option "ignore data reads" (plus nécessaire avec les nouveaux breakpoints).
- Possibilité de supprimer des breakpoints individuels dans des scripts Lua via une priorité négative.
- Fenêtre du debugger redimensionnable (dans des limites définies).
- Correction d’un bug critique : affichage du stack dump à
$0200au lieu de$0100quand le stack pointer vaut$FF.
- Ajout d’un nouveau type de breakpoint (
-
Améliorations techniques :
- Meilleure précision de l’émulation des timers du 6522 VIA (composant matériel).
- Optimisations mineures des performances.
Changelog complet
v1.2.10-beta_20161221
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog, donc pas de puce dédiée.)
- Ajout d’options de configuration pour l’émulation du chip SID compatible C64, améliorant la compatibilité audio.
- Changement du format de sauvegarde des captures d’écran et sorties imprimantes (passage au PNG depuis le TGA).
- Utilitaire de compression (
epcompress) enrichi avec de nouvelles fonctionnalités et optimisations. - Possibilité de compresser les fichiers de snapshot et demo au format EPCompress.
- OpenGL rendu optionnel lors de la compilation, réduisant les dépendances système.
Changelog complet
v1.2.10-beta_20160925
-
Améliorations majeures de l'affichage vidéo : suppression du bug qui provoquait un écran noir lors de la pause de l'émulateur.
-
Corrections critiques dans l'interface de débogage :
- Fenêtre de débogage masquée après un court délai lors de sa fermeture (évite le clignotement des boutons de step).
- Ajout de boutons dédiés pour step vers l’adresse 16 bits du haut de la pile (Return) ou vers une adresse 16 bits utilisateur (Step to).
-
Nouveautés dans le moniteur/mémoire :
- Affichage des dumps mémoire en format ASCII (en plus du format hexadécimal).
- Support des formats binaires (
%1010), octaux (12o) et décimaux (10l) pour les entrées numériques.
-
Améliorations Lua : messages d'erreur syntaxiques et d'exécution plus détaillés, avec un bouton pour insérer une fonction de breakpoint callback vide.
-
Support étendu aux builds :
- Ajout des icônes de fenêtre sur les plateformes non-Windows (si compilé avec FLTK 1.3.3+).
- Prise en charge de FLTK 1.3.x, Lua 5.2/5.3 et des binaires 64 bits pour Windows.
Changelog complet
v1.2.10-beta_20160916
Aucun détail pour cette version.
Captures d'écran