🇬🇧 đŸ‡«đŸ‡· đŸ‡Ș🇾 đŸ‡©đŸ‡Ș

AMSpiriT Lite — Guide rapide

AMSpiriT Lite est un émulateur Amstrad CPC pour Linux/Windows basé sur le core AMSpiriT par David MANUEL.

Touches de contrĂŽle

ToucheAction
F1Afficher cette aide dans le navigateur
F2Sauvegarder une capture d'écran PNG dans le répertoire courant
F4Sauvegarde rapide dans l'emplacement courant
Shift+F4Chargement rapide depuis l'emplacement courant
F6Débogueur : retour arriÚre (rembobinage timelapse, en pause et si disponible)
F7Débogueur : mettre en pause si en cours d'exécution ; pas à pas (instruction BASIC ou Z80) si en pause
F8Débogueur : pas à pas procédural (CALL/CALL cc Z80 ou GOSUB BASIC ; sinon un pas simple)
F9Débogueur : reprendre (uniquement en pause)
Shift+F9Activer/désactiver le mode turbo (vitesse maximale, audio muet)
F10Hard reset (redémarrage à froid)
Shift+F10Soft reset (redémarrage à chaud)
F11 (SDL uniquement)Sélectionner le mode moniteur (couleur CTM644, vert GT65, TV, variantes ASIC)
Shift+F11Sé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)
F12Basculer plein Ă©cran / mode fenĂȘtrĂ©
Shift+F12Basculer l'affichage : Ă©cran CPC visible ↔ trame CRTC complĂšte
PausePause / Reprendre l'émulation
→ (en pause)Avancer d'une trame
← / → (en pause, timelapse actif)Naviguer dans l'historique de rembobinage trame par trame
Alt+F4Fermer la fenĂȘtre (gĂ©rĂ© par le gestionnaire de fenĂȘtres)
Ctrl+1 Ă  Ctrl+0PavĂ© 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 sourisBasculer muet / démuet
Note : les touches F6-F9 reproduisent le dĂ©bogueur pas Ă  pas de la page web (--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.

Chargement de fichiers

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.

Astuce : maintenez Ctrl pendant le glisser-dĂ©poser pour effectuer un hard reset avant le chargement — utile pour charger un disque dans un Ă©tat propre.
FormatDescription
.dskImage disque standard
.hfe / .ipfImage disque haute fidélité (CAPS)
.cdt / .wavCassette (CDT ou audio WAV)
.snaSnapshot (sauvegarde d'état)
.cprCartouche CPC Plus / GX4000 — bascule automatiquement vers le modùle CPC 6128+ et le CRTC type 3

Emplacements de snapshots

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.

ActionTouche / Bouton
Sauvegarde rapide dans l'emplacement courantF4
Chargement rapide depuis l'emplacement courantShift+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 et l'interface de debug web.

Timelapse / Rembobinage

La fonctionnalitĂ© timelapse 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 timelapse au dĂ©marrage avec --enable-timelapse. Dans le frontend Qt, utilisez le menu Émulation → Timelapse pour l'activer et ajuster les paramĂštres.

Touche / ActionDescription
← (en pause)Reculer d'une trame dans l'historique timelapse
→ (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 timelapse
D-pad → (joystick, en pause)Avancer dans le timelapse / 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).

Mémoire : chaque snapshot fait environ 130 Ko (CPC 6128). Le buffer par défaut contient 100 trames (~13 Mo); ajustez avec --timelapse-slots N.

Mode turbo

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.

Gamepad / Joystick

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.

BoutonAction (en cours d'exécution)Action (en pause)
AFeu 1—
BFeu 2—
XFeu 3—
Y / GuidePauseReprendre
Start / +Sauvegarde rapide dans l'emplacement courantPasser Ă  l'emplacement suivant
Select / −Chargement rapide depuis l'emplacement courantPasser Ă  l'emplacement prĂ©cĂ©dent
Stick gauche / D-padDirections (Haut/Bas/Gauche/Droite)Naviguer dans le timelapse (si actif)
Frontend SDL : utilise les numĂ©ros de boutons joystick bruts (Bouton 0–3 = Feu 1/2/3/Pause, Bouton 7/9 = Start, Bouton 6/8 = Select). L'axe analogique CPC Plus est supportĂ© sur les deux frontends.

Serveur de debug web

Lancé avec --web-ui (ou --web-server), l'émulateur démarre un serveur HTTP local qui expose une interface web dans le navigateur : registres Z80, Gate Array, PSG, FDC, FPS, et contrÎles (pause, reset, changement de modÚle).

amspirit-lite-sdl --web-ui [--web-addr 0.0.0.0] [--web-port 8765] [--web-html chemin/vers/ui.html]
OptionDescription
--web-uiActiver le serveur (désactivé par défaut)
--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 : 8765)
--web-html <fichier>Chemin vers le fichier HTML de l'interface (défaut : amspirit-lite.html à cÎté du binaire)
Le fichier 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.

Éditeur BASIC

L'interface web inclut un onglet BASIC pour travailler avec les programmes Locomotive BASIC :

Mappage du clavier

L'onglet Clavier 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).

Emplacements de snapshots

L'onglet Snapshots gĂšre les 4 emplacements persistants :

Options de lancement

amspirit-lite-sdl [OPTIONS] [FICHIER]

Émulation

OptionDescription
-m <modÚle>ModÚle CPC : 464, 664, 6128 (défaut), 6128+, 464+, GX4000
-c <type>Type de CRTC (0 Ă  4)
-R <chemin>Répertoire des ROMs (défaut : ./ROMs)
-C <chemin>Répertoire de configuration (défaut : ./config)
-k <disposition> / --keyboard <disposition>Sélectionner la disposition de clavier : FR, EN, US, ES, DA, DE, IT, PT, BE, SW, CA (défaut : FR)
-FDémarrer en plein écran
-Z / --turboDémarrer en mode turbo (vitesse maximale)

Chargement automatique

OptionDescription
-A / --autorunTaper automatiquement RUN" aprÚs le démarrage pour lancer le premier programme
-T <nom> / --run <nom>Taper automatiquement RUN"<nom> au démarrage
-t <fichier> / --autotype <fichier>Taper le contenu d'un fichier texte dans le CPC aprÚs le démarrage
--basic <fichier> / -b <fichier>Tokeniser et injecter un programme Locomotive BASIC dans la RAM (~3s aprÚs le démarrage)

Audio et affichage

OptionDescription
-L <ms> / --audio-latency <ms>Latence du tampon audio en millisecondes (dĂ©faut : 80 — augmenter si crĂ©pitements)
--show-overlayAfficher l'indicateur FPS en haut Ă  gauche (rouge = trop lent, bleu = trop rapide)

Timelapse / Rembobinage

OptionDescription
--enable-timelapseActiver le buffer de rembobinage en RAM (enregistre un snapshot tous les N trames)
--timelapse-interval <N>Nombre de trames entre les snapshots timelapse (défaut : 10)
--timelapse-slots <N>Nombre maximal de snapshots à conserver dans le buffer (défaut : 100, ~13 Mo)

Serveur web de debug

OptionDescription
--web-ui / --web-serverActiver le serveur HTTP de debug (désactivé par défaut)
--web-addr <adresse>Adresse d'écoute (défaut : 127.0.0.1)
--web-port <port>Port d'écoute (défaut : 8765)
--web-html <fichier>Chemin vers le fichier HTML de l'interface de debug

Divers

OptionDescription
-KActiver la sortie de debug clavier verbeux vers stderr
--dump-keymapGénérer un fichier keymap.cfg de référence basé sur la disposition actuelle et sortir vers stdout
-X <secondes>Quitter automatiquement aprÚs N secondes (tests automatisés)

Configuration du clavier (keymap.cfg)

Générez un fichier keymap.cfg en utilisant l'option --dump-keymap, modifiez-le à votre guise et relancez l'émulateur :

amspirit-lite-sdl --dump-keymap > keymap.cfg

Placez le fichier keymap.cfg généré dans votre répertoire ROMs/ ou config/. Le fichier utilise le format INI avec deux sections : [keyboard layout] et [emulator hotkeys].

Actions de raccourci supportées : PAUSE, HELP, SCREENSHOT, SNAPSHOT_SAVE, SNAPSHOT_LOAD, VOLUME_UP, VOLUME_DOWN, TURBO, HARD_RESET, SOFT_RESET, FULLSCREEN, FULL_FRAME, CYCLE_SCREEN, TOGGLE_OVERLAY, CYCLE_CRTC, CYCLE_MONITOR, FRAME_STEP, 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