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

AMSpiriT Lite — Kurzreferenz

AMSpiriT Lite ist ein Linux/Windows-Amstrad-CPC-Emulator, der auf dem AMSpiriT-Kern von David MANUEL basiert.

Steuertasten

TasteAktion
F1Diese Hilfe im Browser öffnen
F2PNG-Screenshot im aktuellen Verzeichnis speichern
F4Schnellspeicherung im aktuellen Slot
Shift+F4Schnellladung aus dem aktuellen Slot
F6Debugger: Schritt zurĂŒck (Rewind, im Pausenmodus und falls verfĂŒgbar)
F7Debugger: pausieren, falls aktiv; Einzelschritt (BASIC-Anweisung oder Z80-Befehl), falls pausiert
F8Debugger: Prozedurschritt (Z80 CALL/CALL cc oder BASIC GOSUB; sonst ein einfacher Schritt)
F9Debugger: fortsetzen (nur im Pausenmodus)
Shift+F9Turbo-Modus ein-/ausschalten (volle Geschwindigkeit, Audio stumm)
F10Kalt-Reset (Cold Boot)
Shift+F10Warm-Reset (Warm Restart)
F11 (nur SDL)Monitor-Voreinstellung wĂ€hlen (Farbe CTM644, GrĂŒn GT65, TV, ASIC-Varianten)
Shift+F11Bildschirmtypen durchschalten (Farbe, GrĂŒnmonitor, ASIC-Varianten)
Ctrl+F11 (nur SDL)FPS-Anzeige ein-/ausblenden
Ctrl+Shift+F11 (nur SDL)CRTC-Debug-Visualisierungsmodi durchschalten
F12Vollbild / Fenstermodus umschalten
Shift+F12Ansicht umschalten: sichtbarer CPC-Bildschirm ↔ vollstĂ€ndiger CRTC-Rahmen
Ctrl+F12Debug-Bildschirm umschalten (aktueller Frame ↔ Überlagerung)
PauseEmulation pausieren / fortsetzen
→ (pausiert)Um einen Frame vorwĂ€rts spulen
← / → (pausiert, Rewind aktiv)RĂŒckspul-Verlauf Frame fĂŒr Frame navigieren
Alt+F4Fenster schließen (vom Fenstermanager verwaltet)
Ctrl+1 bis Ctrl+0CPC-Ziffernblock 1–0 (fĂŒr Laptops ohne Ziffernblock)
Mausrad (oben/unten)LautstÀrke anpassen (±10% pro Schritt)
Mittlere MaustasteStummschaltung ein-/ausschalten
Hinweis: F6-F9 entsprechen dem Einzelschritt-Debugger der Webseite (--web-server). BASIC- oder Z80-Modus wird automatisch erkannt, je nachdem ob gerade ein BASIC-Programm lĂ€uft — es gibt keinen Tab zur Auswahl wie auf der Webseite.

Dateien laden

Ziehen Sie eine Datei auf das Emulatorfenster, um sie zu laden. Das Qt-Frontend hat auch ein Datei-MenĂŒ zum Öffnen eines Dateidialogs.

Tipp: Halten Sie Ctrl gedrĂŒckt, wĂ€hrend Sie eine Datei ablegen, um vor dem Laden einen Kalt-Reset durchzufĂŒhren — nĂŒtzlich, um ein Disk-Image in einem sauberen Maschinenzustand zu starten.
FormatBeschreibung
.dskStandard-Disk-Image
.hfe / .ipfHigh-Fidelity-Disk-Image (CAPS)
.cdtKassette (CDT)
.snaSnapshot (gespeicherter Zustand)
.cprCPC Plus / GX4000 Cartridge — wechselt automatisch zum CPC 6128+-Modell und CRTC-Typ 3

Snapshot-Slots

AMSpiriT Lite verwaltet 4 Schnellspeicher-Slots (1–4) pro Spiel. Slots werden zusammen mit dem ROM/Disk-Image gespeichert und bleiben zwischen Sitzungen erhalten.

AktionTaste / Button
Schnellspeicherung im aktuellen SlotF4
Schnellladung aus dem aktuellen SlotShift+F4
Zum nÀchsten Slot wechseln (pausiert)Gamepad Start / + Taste
Zum vorherigen Slot wechseln (pausiert)Gamepad Select / − Taste
In Slot speichern (laufend)Gamepad Start / + Taste
Aus Slot laden (laufend)Gamepad Select / − Taste

Im Qt-Frontend sind Snapshot-Slots auch ĂŒber das MenĂŒ Emulation → Snapshots zugĂ€nglich.

Rewind / RĂŒckspulen

Die optionale Rewind-Funktion zeichnet einen zirkulĂ€ren Puffer von CPC-Zustand-Snapshots im RAM wĂ€hrend der AusfĂŒhrung auf. Im pausiert-Modus können Sie vorwĂ€rts und rĂŒckwĂ€rts durch den aufgezeichneten Verlauf navigieren — nĂŒtzlich zum Debuggen, zum Finden des richtigen Moments fĂŒr Screenshots oder zum RĂŒckspulen nach einem falschen Zug in einem Spiel.

Aktivieren Sie Rewind beim Start mit --enable-rewind. Im Qt-Frontend verwenden Sie das MenĂŒ Emulation → Rewind zum Aktivieren und Anpassen der Einstellungen.

Taste / AktionBeschreibung
← (pausiert)Um einen Frame rĂŒckwĂ€rts im Rewind-Verlauf spulen
→ (pausiert)Um einen Frame vorwĂ€rts spulen (zur Gegenwart), oder einen normalen Frame, wenn auf dem aktuellen Stand
D-pad ← (Gamepad, pausiert)In Rewind rĂŒckwĂ€rts spulen
D-pad → (Gamepad, pausiert)In Rewind vorwĂ€rts spulen / fortsetzen, wenn auf aktuellem Stand

Die Statusleiste / Titel zeigt < N / M wĂ€hrend des RĂŒckspulens (N Frames vor dem Ă€ltesten, M insgesamt gespeichert).

Speicher: jeder Snapshot belegt ungefÀhr 1,6 MB. Der Standard-Puffer enthÀlt 100 Snapshots (~160 MB); passen Sie mit --rewind-slots N an.

Turbo-Modus

Der Turbo-Modus deaktiviert die 50-Hz-Kadenz und schaltet das Audio aus, sodass der Emulator mit voller CPU-Geschwindigkeit lĂ€uft. NĂŒtzlich, um lange Kassettenladezeiten oder Intros zu ĂŒberspringen.

Gamepad / Joystick

Das Qt-Frontend nutzt die SDL2 GameController API (XInput unter Windows, evdev unter Linux, GameController auf macOS). Das SDL-Frontend nutzt die Legacy-Joystick-API. Beide erkennen Controller beim Start und bei Verbindung; der erste gefundene Controller wird dem CPC-Joystick-Port 1 zugeordnet.

TasteAktion (wĂ€hrend der AusfĂŒhrung)Aktion (pausiert)
AFeuer 1—
BFeuer 2—
XFeuer 3—
Y / GuidePausierenFortsetzen
Start / +Schnellspeicherung im aktuellen SlotZum nÀchsten Slot wechseln
Select / −Schnellladung aus dem aktuellen SlotZum vorherigen Slot wechseln
Linker Stick / D-padRichtungen (Oben/Unten/Links/Rechts)Rewind navigieren (falls aktiv)
SDL-Frontend: nutzt rohe Joystick-Buttonnummern (Taste 0–3 = Feuer 1/2/3/Pause, Taste 7/9 = Start, Taste 6/8 = Select). Die CPC Plus analoge Achse wird auf beiden Frontends unterstĂŒtzt.

Web-Debug-Server

Der Emulator enthĂ€lt einen eingebetteten HTTP-Debug-Server (standardmĂ€ĂŸig aktiv, gebunden an 127.0.0.1:6128), der eine vollstĂ€ndige Web-OberflĂ€che im Browser bereitstellt: Z80-Register, Gate Array, PSG, FDC, Speicher-Heatmap, ASIC, Disk, Konfiguration, Scripting und mehr.

amspirit-lite-sdl [--no-web-server] [--web-addr 0.0.0.0] [--web-port 6128] [--web-html Pfad/zur/ui.html]
OptionBeschreibung
--web-serverServer aktivieren (standardmĂ€ĂŸig aktiv)
--no-web-serverServer deaktivieren
--web-addr <Adresse>Bind-Adresse (Standard: 127.0.0.1 — nur lokal; 0.0.0.0 fĂŒr alle Schnittstellen)
--web-port <Port>Listening-Port (Standard: 6128)
--web-html <Datei>Pfad zur HTML-UI-Datei (Standard: amspirit-lite.html neben der BinÀrdatei)
--lua-full-stdlibErlaubt an die Web-API per POST gesendeten Skripten die volle Lua-Stdlib (io, os.execute, package, debug). StandardmĂ€ĂŸig deaktiviert — solche Skripte laufen in einer Sandbox mit Dateizugriff nur ĂŒber die abgeschottete fs.*-Tabelle. Jede in Ihrem Browser geöffnete Seite kann die API erreichen — aktivieren Sie dies nur auf einem vertrauenswĂŒrdigen Rechner.
Die Datei amspirit-lite.html kann ohne Neukompilierung bearbeitet werden. Falls sie fehlt, wird die in der BinÀrdatei eingebettete UI als Fallback verwendet.

Die OberflÀche ist in Tabs gegliedert: Keyboard, BASIC, Debug (Z80/Disassembly/Breakpoints), ROMs (ROM-Karte), Audio, Heat Map (Speicher), ASIC, Poke, Script, Config, Disk und Settings.

BASIC-Editor

Der BASIC-Tab arbeitet mit Locomotive-BASIC-Programmen:

Tastaturbelegung

Der Keyboard-Tab zeigt das aktuelle Tastatur-Layout und alle zugeordneten Tasten an (Referenz zum Lesen fĂŒr das Debugging von Tastatureingabeproblemen).

ROM-Karte

Der ROMs-Tab zeigt den aktuellen ROM-Katalog: welche Firmware, welches Erweiterungs-ROM (R<n>:) und welche Cartridge-Bank in jedem Slot geladen ist, und woher sie stammt. Er bietet eine Kompaktansicht und eine Ansicht pro Slot.

Snapshot-Slots werden nicht ĂŒber die Web-OberflĂ€che verwaltet — verwenden Sie F4 / Shift+F4 oder das Qt-MenĂŒ Emulation → Snapshots.

Befehlszeilenoptionen

amspirit-lite-sdl [OPTIONEN] [DATEI]

Emulation

OptionBeschreibung
-m <Modell>CPC-Modell: 464, 664, 6128 (Standard), 6128+, 464+, GX4000
-c <Typ>CRTC-Typ (0 bis 4)
--ram <Ko>Gesamt-RAM in Ko: 128 (Standard), 192, 320, 576
-R <Pfad> / --rom-path <Pfad>ROMs-Verzeichnis
-C <Pfad> / --config <Pfad>Konfigurationsverzeichnis
-l <Sprache> / --lang <Sprache>ROM-Sprache (setzt das CPC_COUNTRY des Kerns): FR (Standard), EN, SP, DA
--lang-ui <Sprache>Web-/UI-Sprache: en (Standard), fr, es, de (automatisch erkannt aus $LANG)
-k <Layout> / --keyboard <Layout>Host-Tastatur-Layout: fr (Standard), uk, us
--keymap <Datei>Eine benutzerdefinierte Tastaturbelegungsdatei laden
-F / --fullscreenIm Vollbildmodus starten
-w / --windowedFenstermodus (ĂŒberschreibt --fullscreen)
--zoom <N>AnfĂ€nglicher Fenster-Zoomfaktor (1=768×542, 2=1536×1084, 
); Standard 2 mit automatischem Fallback auf 1
--size <BxH>AnfĂ€ngliche FenstergrĂ¶ĂŸe, z. B. 1280x960
-Z / --turboIm Turbo-Modus starten (volle Geschwindigkeit)
--monitor <Voreinstellung>CRT-Monitor-Voreinstellung: off (Standard), ctm644, gt65, tv
--resetGespeicherte Konfiguration ignorieren, mit Standardwerten starten
--no-splash / --splashStartbildschirm ĂŒberspringen / erzwingen (--splash ĂŒberschreibt --no-splash aus der Konfiguration)

Automatisches Laden und Tippen

OptionBeschreibung
-A / --autorun[=DATEI]Startet die Boot-Disk automatisch: errÀt das passende RUN"<Datei>/|CPM, oder erzwingt einen Dateinamen mit --autorun=DATEI
-T <Name> / --run <Name>Tippt automatisch RUN"<Name> beim Start
-t <Text> / --autotype <Text>Tippt eine wörtliche Zeichenkette nach dem Start in den CPC (\n = Enter)
--autotype-file <Datei>Tippt den Inhalt einer Textdatei nach dem Start in den CPC

Audio und Anzeige

OptionBeschreibung
-L <ms> / --audio-latency <ms>Audio-Puffer-Latenz in Millisekunden (Standard: 80 — erhöhen bei Audioknistern)
--audio-device <Name>Name des Audio-AusgabegerÀts (Standard: System-Standard)
--show-overlayFPS-Anzeige in der oberen linken Ecke einblenden (rot = zu langsam, blau = zu schnell)

Scripting

OptionBeschreibung
--script <Datei>Ein CSL- oder Lua-Skript ausfĂŒhren (volle Stdlib — --script ist ein lokaler, vertrauenswĂŒrdiger Ladevorgang, im Gegensatz zu an die Web-API gesendeten Skripten)
--ssmSSM-Modus aktivieren: reagiert auf die Z80-Opcodes ED FE/FF/00
--ssm-bothMit --ssm: bei ED FE oder ED FF sowohl einen Snapshot als auch einen Screenshot speichern
--debug-scriptJede ausgefĂŒhrte CSL/Lua-Zeile wĂ€hrend des Skriptlaufs protokollieren

Rewind / RĂŒckspulen

OptionBeschreibung
--enable-rewindRĂŒckspul-Puffer im RAM aktivieren (nimmt alle N Frames einen Snapshot auf)
--rewind-interval <N>Frames zwischen Rewind-Snapshots (Standard: 10)
--rewind-slots <N>Maximale Anzahl von Snapshots im Puffer (Standard: 100, ~160 MB)

Web-Debug-Server

OptionBeschreibung
--web-serverEingebetteten HTTP-Debug-Server aktivieren (standardmĂ€ĂŸig aktiv)
--no-web-serverServer deaktivieren
--web-addr <Adresse>Bind-Adresse (Standard: 127.0.0.1)
--web-port <Port>Listening-Port (Standard: 6128)
--web-html <Datei>Pfad zur Debug-UI-HTML-Datei
--lua-full-stdlibErlaubt an die Web-API gesendeten Skripten die volle Lua-Stdlib statt der Sandbox (siehe Abschnitt Web-Debug-Server)

BinÀrdateien

OptionBeschreibung
--bin-address <Adresse>Ladeadresse fĂŒr eine rohe/kopflose .bin-Datei (z. B. 4000, B04:2000 — ein einzelner Wert bezieht sich auf die 64K-Basis); wird bei AMSDOS-Header-Dateien ignoriert und von der Dateinamenskonvention name@adresse.bin ĂŒberschrieben
--bin-entry <Adresse>Einsprungpunkt nach dem Laden einer rohen .bin-Datei (flache 16-Bit-Adresse); impliziert sofortige AusfĂŒhrung

Diagnose und Sonstiges

OptionBeschreibung
-v / --verbose, -q / --quietLog-AusfĂŒhrlichkeit erhöhen oder unterdrĂŒcken
-K / --debug-keysAusfĂŒhrliche Tastatur-Debug-Ausgabe aktivieren
-J / --debug-joystickAusfĂŒhrliche Joystick-Debug-Ausgabe aktivieren
--debug-rewindRewind-Speichern/-Abrufen mit Slot-Index und VerlaufsgrĂ¶ĂŸe protokollieren
--debug-webapiEingehende Web-API-Anfragen, Antworten und SSE-Ereignisse protokollieren
--debug-audioAudio-Statistiken (Unterlauf/verworfene Bytes) jede Sekunde protokollieren
--dump-keymap[=DATEI]Aktuelles Keymap nach DATEI exportieren (Standard: keymap-sdl.cfg) und beenden
-X <N> / --autoExit <N>Nach N Frames der 50-Hz-Schleife automatisch beenden (pausierte Frames zĂ€hlen mit) — fĂŒr automatisierte Tests
--save-log <Datei>Gesamte Log-Ausgabe in <Datei> speichern
--report[=Pfad]Einen Diagnosebericht erstellen
--update-url <URL>Update-Manifest-Endpunkt ĂŒberschreiben (Tests)

Tastenbelegung konfigurieren (keymap.cfg)

Generieren Sie eine Keymap-Datei mit der Option --dump-keymap, bearbeiten Sie sie nach Ihren WĂŒnschen und starten Sie den Emulator neu:

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

(Ohne Dateiname schreibt --dump-keymap keymap-sdl.cfg in das aktuelle Verzeichnis.)

Platzieren Sie die generierte keymap.cfg-Datei in Ihrem Verzeichnis ROMs/ oder config/ (oder verweisen Sie --keymap direkt darauf). Die Datei verwendet INI-Format mit zwei Abschnitten: [keyboard layout] und [emulator hotkeys].

UnterstĂŒtzte Tastenkombinationsaktionen: 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

Tastaturformat: Einzelne Taste (F1, A, Escape, Return, Space) oder Modifizierer (Ctrl+X, Shift+F1, Alt+Shift+P). Groß-/Kleinschreibung wird ignoriert.

Änderungen werden beim Neustart wirksam. Um den Code einer Taste zu finden, starten Sie den Emulator mit -K und suchen Sie nach DOWN-Meldungen in der Konsole. Hinweis: SDL- und Qt-Anwendungen verwenden unterschiedliche Tastencodes; verwenden Sie separate Keymap-Dateien fĂŒr jede, wenn Sie beide ausfĂŒhren.


AMSpiriT-Kern von David MANUEL — Linux-Port von Siko — amspirit.fr