AMSpiriT Lite est un émulateur Amstrad CPC pour Linux/Windows basé sur le core AMSpiriT par David MANUEL.
| Touche | Action |
|---|---|
| F1 | Afficher cette aide dans le navigateur |
| F2 | Sauvegarder une capture d'écran PNG dans le répertoire courant |
| F4 | Sauvegarde rapide dans l'emplacement courant |
| Shift+F4 | Chargement rapide depuis l'emplacement courant |
| F6 | Débogueur : retour arriÚre (rewind, en pause et si disponible) |
| F7 | Débogueur : mettre en pause si en cours d'exécution ; pas à pas (instruction BASIC ou Z80) si en pause |
| F8 | Débogueur : pas à pas procédural (CALL/CALL cc Z80 ou GOSUB BASIC ; sinon un pas simple) |
| F9 | Débogueur : reprendre (uniquement en pause) |
| Shift+F9 | Activer/désactiver le mode turbo (vitesse maximale, audio muet) |
| F10 | Hard reset (redémarrage à froid) |
| Shift+F10 | Soft reset (redémarrage à chaud) |
| F11 (SDL uniquement) | Sélectionner le mode moniteur (couleur CTM644, vert GT65, TV, variantes ASIC) |
| Shift+F11 | Sélectionner les types d'écran (couleur, moniteur vert, variantes ASIC) |
| Ctrl+F11 (SDL uniquement) | Afficher/masquer l'indicateur FPS |
| Ctrl+Shift+F11 (SDL uniquement) | Sélectionner les modes de visualisation CRTC (debug) |
| F12 | Basculer plein Ă©cran / mode fenĂȘtrĂ© |
| Shift+F12 | Basculer l'affichage : Ă©cran CPC visible â trame CRTC complĂšte |
| Ctrl+F12 | Basculer l'Ă©cran de debug (trame courante â superposition) |
| Pause | Pause / Reprendre l'émulation |
| â (en pause) | Avancer d'une trame |
| â / â (en pause, rewind actif) | Naviguer dans l'historique de rembobinage trame par trame |
| Alt+F4 | Fermer la fenĂȘtre (gĂ©rĂ© par le gestionnaire de fenĂȘtres) |
| Ctrl+1 Ă Ctrl+0 | PavĂ© numĂ©rique CPC 1â0 (pour les portables sans pavĂ© numĂ©rique) |
| Molette de la souris (haut/bas) | Ajuster le volume (±10% par cran) |
| Clic bouton central de la souris | Basculer muet / démuet |
--web-server). Le mode BASIC ou Z80 est dĂ©tectĂ© automatiquement selon qu'un programme BASIC est en cours d'exĂ©cution â il n'y a pas d'onglet Ă sĂ©lectionner comme sur la page web.
Glissez-dĂ©posez un fichier sur la fenĂȘtre de l'Ă©mulateur pour le charger. Le frontend Qt dispose Ă©galement d'un menu Fichier pour ouvrir une boĂźte de dialogue de sĂ©lection de fichiers.
| Format | Description |
|---|---|
.dsk | Image disque standard |
.hfe / .ipf | Image disque haute fidélité (CAPS) |
.cdt | Cassette (CDT) |
.sna | Snapshot (sauvegarde d'état) |
.cpr | Cartouche CPC Plus / GX4000 â bascule automatiquement vers le modĂšle CPC 6128+ et le CRTC type 3 |
AMSpiriT Lite dispose de 4 emplacements de sauvegarde rapide (1â4) par jeu. Les emplacements sont stockĂ©s Ă cĂŽtĂ© de l'image ROM/disque et persistent entre les sessions.
| Action | Touche / Bouton |
|---|---|
| Sauvegarde rapide dans l'emplacement courant | F4 |
| Chargement rapide depuis l'emplacement courant | Shift+F4 |
| Passer Ă l'emplacement suivant (en pause) | Joystick Start / + bouton |
| Passer Ă l'emplacement prĂ©cĂ©dent (en pause) | Joystick Select / â bouton |
| Sauvegarder dans l'emplacement (en cours d'exécution) | Joystick Start / + bouton |
| Charger depuis l'emplacement (en cours d'exĂ©cution) | Joystick Select / â bouton |
Dans le frontend Qt, les emplacements de snapshots sont aussi accessibles via le menu Ămulation â Snapshots.
La fonctionnalitĂ© rewind optionnelle enregistre un buffer circulaire d'instantanĂ©s d'Ă©tat du CPC en RAM au cours de l'exĂ©cution. En pause, vous pouvez naviguer vers l'avant et vers l'arriĂšre dans l'historique enregistrĂ© â utile pour dĂ©boguer, trouver le bon moment pour une capture d'Ă©cran, ou rembobiner aprĂšs une mauvaise action dans un jeu.
Activez le rewind au dĂ©marrage avec --enable-rewind. Dans le frontend Qt, utilisez le menu Ămulation â Rewind pour l'activer et ajuster les paramĂštres.
| Touche / Action | Description |
|---|---|
| â (en pause) | Reculer d'une trame dans l'historique rewind |
| â (en pause) | Avancer d'une trame (vers le prĂ©sent), ou avancer d'une trame normale si au prĂ©sent |
| D-pad â (joystick, en pause) | Reculer dans le rewind |
| D-pad â (joystick, en pause) | Avancer dans le rewind / reprendre si au prĂ©sent |
La barre de statut / titre affiche < N / M lors du rembobinage (N trames avant le plus ancien, M total stockées).
--rewind-slots N.
Le mode turbo désactive la cadence 50 Hz et coupe l'audio pour faire tourner l'émulateur à pleine vitesse du CPU hÎte. Utile pour passer rapidement un chargement cassette ou une intro longue.
--turbo associĂ© Ă --autotype ou -A : le turbo s'arrĂȘte automatiquement une fois la sĂ©quence de frappe automatique terminĂ©e.Le frontend Qt utilise l'API SDL2 GameController (XInput sur Windows, evdev sur Linux, GameController sur macOS). Le frontend SDL utilise l'API joystick legacy. Les deux dĂ©tectent les manettes au dĂ©marrage et Ă la connexion ; la premiĂšre manette dĂ©tectĂ©e correspond au port joystick 1 du CPC.
| Bouton | Action (en cours d'exécution) | Action (en pause) |
|---|---|---|
| A | Feu 1 | â |
| B | Feu 2 | â |
| X | Feu 3 | â |
| Y / Guide | Pause | Reprendre |
| Start / + | Sauvegarde rapide dans l'emplacement courant | Passer Ă l'emplacement suivant |
| Select / â | Chargement rapide depuis l'emplacement courant | Passer Ă l'emplacement prĂ©cĂ©dent |
| Stick gauche / D-pad | Directions (Haut/Bas/Gauche/Droite) | Naviguer dans le rewind (si actif) |
L'émulateur embarque un serveur de debug HTTP (actif par défaut, sur 127.0.0.1:6128) qui expose une interface web complÚte dans le navigateur : registres Z80, Gate Array, PSG, FDC, heat map mémoire, ASIC, disque, config, script, et plus.
amspirit-lite-sdl [--no-web-server] [--web-addr 0.0.0.0] [--web-port 6128] [--web-html chemin/vers/ui.html]
| Option | Description |
|---|---|
--web-server | Activer le serveur (actif par défaut) |
--no-web-server | Désactiver le serveur |
--web-addr <adresse> | Adresse d'Ă©coute (dĂ©faut : 127.0.0.1 â local uniquement ; 0.0.0.0 pour toutes les interfaces) |
--web-port <port> | Port d'écoute (défaut : 6128) |
--web-html <fichier> | Chemin vers le fichier HTML de l'interface (défaut : amspirit-lite.html à cÎté du binaire) |
--lua-full-stdlib | Laisser les scripts envoyĂ©s (POST) Ă l'API web utiliser la stdlib Lua complĂšte (io, os.execute, package, debug). DĂ©sactivĂ© par dĂ©faut â ces scripts sont sandboxĂ©s, avec un accĂšs fichiers limitĂ© Ă la table fs.* jailĂ©e. N'importe quelle page ouverte dans votre navigateur peut atteindre l'API : n'activez ceci que sur une machine de confiance. |
amspirit-lite.html peut ĂȘtre modifiĂ© sans recompiler. Si le fichier est absent, l'interface embarquĂ©e dans le binaire est utilisĂ©e comme repli.
L'interface est organisée en onglets : Keyboard, BASIC, Debug (Z80/désassemblage/breakpoints), ROMs (carte des ROM), Audio, Heat Map (mémoire), ASIC, Poke, Script, Config, Disk, et Settings.
L'onglet BASIC permet de travailler avec les programmes Locomotive BASIC :
?reset=1 (hard reset d'abord), ?run=1 (auto-type RUN aprÚs injection)L'onglet Keyboard affiche la disposition de clavier actuelle et toutes les touches mappées (référence en lecture seule pour déboguer les problÚmes de saisie).
L'onglet ROMs montre le catalogue des ROM en cours : quel firmware, quelle ROM d'extension (R<n>:) et quelle banque de cartouche est chargĂ©e dans chaque emplacement, et d'oĂč elle vient. Il propose une vue compacte et une vue par emplacement.
amspirit-lite-sdl [OPTIONS] [FICHIER]
| Option | Description |
|---|---|
-m <modÚle> | ModÚle CPC : 464, 664, 6128 (défaut), 6128+, 464+, GX4000 |
-c <type> | Type de CRTC (0 Ă 4) |
--ram <Ko> | RAM totale en Ko : 128 (défaut), 192, 320, 576 |
-R <chemin> / --rom-path <chemin> | Répertoire des ROMs |
-C <chemin> / --config <chemin> | Répertoire de configuration |
-l <langue> / --lang <langue> | Langue ROM (définit le CPC_COUNTRY du core) : FR (défaut), EN, SP, DA |
--lang-ui <langue> | Langue de l'interface web : en (défaut), fr, es, de (auto-détectée depuis $LANG) |
-k <disposition> / --keyboard <disposition> | Disposition de clavier hÎte : fr (défaut), uk, us |
--keymap <fichier> | Charger un fichier de mappage clavier personnalisé |
-F / --fullscreen | Démarrer en plein écran |
-w / --windowed | Mode fenĂȘtrĂ© (prime sur --fullscreen) |
--zoom <N> | Facteur de zoom initial de la fenĂȘtre (1=768Ă542, 2=1536Ă1084, âŠ); dĂ©faut 2, repli automatique Ă 1 |
--size <LxH> | Taille initiale de la fenĂȘtre, ex. 1280x960 |
-Z / --turbo | Démarrer en mode turbo (vitesse maximale) |
--monitor <préréglage> | Préréglage moniteur CRT : off (défaut), ctm644, gt65, tv |
--reset | Ignorer la config sauvegardée, démarrer avec les valeurs par défaut |
--no-splash / --splash | Sauter / forcer l'écran de démarrage (--splash prime sur --no-splash de la config) |
| Option | Description |
|---|---|
-A / --autorun[=FICHIER] | Lancer automatiquement le disque de boot : devine le bon RUN"<fichier>/|CPM, ou forcer un nom avec --autorun=FICHIER |
-T <nom> / --run <nom> | Taper automatiquement RUN"<nom> au démarrage |
-t <texte> / --autotype <texte> | Taper une chaßne littérale dans le CPC aprÚs le démarrage (\n = Entrée) |
--autotype-file <fichier> | Taper le contenu d'un fichier texte dans le CPC aprÚs le démarrage |
| Option | Description |
|---|---|
-L <ms> / --audio-latency <ms> | Latence du tampon audio en millisecondes (dĂ©faut : 80 â augmenter si crĂ©pitements) |
--audio-device <nom> | Nom du périphérique audio de sortie (défaut : celui du systÚme) |
--show-overlay | Afficher l'indicateur FPS en haut Ă gauche (rouge = trop lent, bleu = trop rapide) |
| Option | Description |
|---|---|
--script <fichier> | ExĂ©cuter un script CSL ou Lua (stdlib complĂšte â --script est un chargement local de confiance, contrairement aux scripts envoyĂ©s Ă l'API web) |
--ssm | Activer le mode SSM : agir sur les opcodes Z80 ED FE/FF/00 |
--ssm-both | Avec --ssm, sauvegarder à la fois un snapshot et une capture d'écran sur ED FE ou ED FF |
--debug-script | Journaliser chaque ligne CSL/Lua exécutée pendant que le script tourne |
| Option | Description |
|---|---|
--enable-rewind | Activer le buffer de rembobinage en RAM (enregistre un snapshot tous les N trames) |
--rewind-interval <N> | Nombre de trames entre les snapshots rewind (défaut : 10) |
--rewind-slots <N> | Nombre maximal de snapshots à conserver dans le buffer (défaut : 100, ~160 Mo) |
| Option | Description |
|---|---|
--web-server | Activer le serveur HTTP de debug embarqué (actif par défaut) |
--no-web-server | Désactiver le serveur |
--web-addr <adresse> | Adresse d'écoute (défaut : 127.0.0.1) |
--web-port <port> | Port d'écoute (défaut : 6128) |
--web-html <fichier> | Chemin vers le fichier HTML de l'interface de debug |
--lua-full-stdlib | Laisser les scripts envoyés à l'API web utiliser la stdlib Lua complÚte au lieu du sandbox (voir la section Serveur de debug web) |
| Option | Description |
|---|---|
--bin-address <adresse> | Adresse de chargement pour un fichier .bin brut/sans en-tĂȘte (ex. 4000, B04:2000 â une valeur seule vise les 64K de base) ; ignorĂ©e pour les fichiers avec en-tĂȘte AMSDOS et remplacĂ©e par la convention de nom nom@adresse.bin |
--bin-entry <adresse> | Point d'entrĂ©e oĂč sauter aprĂšs le chargement d'un fichier .bin brut (adresse 16 bits plate) ; implique une exĂ©cution immĂ©diate |
| Option | Description |
|---|---|
-v / --verbose, -q / --quiet | Augmenter ou réduire la verbosité des logs |
-K / --debug-keys | Activer la sortie de debug clavier verbeux |
-J / --debug-joystick | Activer la sortie de debug joystick verbeux |
--debug-rewind | Journaliser les sauvegardes/rappels rewind avec l'index d'emplacement et la taille d'historique |
--debug-webapi | Journaliser les requĂȘtes, rĂ©ponses et Ă©vĂ©nements SSE de l'API web |
--debug-audio | Journaliser les statistiques audio (sous-alimentation/octets perdus) chaque seconde |
--dump-keymap[=FICHIER] | Exporter le keymap actuel vers FICHIER (défaut : keymap-sdl.cfg) et quitter |
-X <N> / --autoExit <N> | Quitter automatiquement aprĂšs N trames de la boucle 50 Hz (les trames en pause comptent) â pour les tests automatisĂ©s |
--save-log <fichier> | Sauvegarder toute la sortie des logs dans <fichier> |
--report[=chemin] | Générer un rapport de diagnostic |
--update-url <url> | Redéfinir l'URL du manifeste de mise à jour (tests) |
Générez un fichier keymap en utilisant l'option --dump-keymap, modifiez-le à votre guise et relancez l'émulateur :
amspirit-lite-sdl --dump-keymap=keymap.cfg
(Sans nom de fichier, --dump-keymap écrit keymap-sdl.cfg dans le répertoire courant.)
Placez le fichier keymap.cfg généré dans votre répertoire ROMs/ ou config/ (ou pointez --keymap dessus directement). Le fichier utilise le format INI avec deux sections :
[keyboard layout] et [emulator hotkeys].
Actions de raccourci supportées : PAUSE, MUTE, HELP, SCREENSHOT, SNAPSHOT_SAVE, SNAPSHOT_LOAD, VOLUME_UP, VOLUME_DOWN, TURBO, HARD_RESET, SOFT_RESET, FULLSCREEN, FULL_FRAME, CYCLE_SCREEN, CYCLE_DEBUG_SCREEN, TOGGLE_OVERLAY, CYCLE_CRTC, CYCLE_MONITOR, FRAME_STEP, DEBUG_STEP, DEBUG_STEP_OVER, DEBUG_RESUME, DEBUG_STEP_BACK, DEBUG_CLEAR_BREAKPOINTS, OPEN_FILE, QUIT
Format des touches : Touche unique (F1, A, Escape, Return, Space) ou modifieurs (Ctrl+X, Shift+F1, Alt+Shift+P). Insensible Ă la casse.
Les changements prennent effet au redémarrage. Pour trouver le code d'une touche, lancez l'émulateur avec -K et regardez les messages DOWN dans la console. Note : Les applications SDL et Qt utilisent des codes de touche différents ;
utilisez des fichiers keymap séparés pour chacune si vous exécutez les deux.
Core AMSpiriT par David MANUEL â port Linux par Siko â amspirit.fr