AMSpiriT Lite ist ein Linux/Windows-Amstrad-CPC-Emulator, der auf dem AMSpiriT-Kern von David MANUEL basiert.
| Taste | Aktion |
|---|---|
| F1 | Diese Hilfe im Browser öffnen |
| F2 | PNG-Screenshot im aktuellen Verzeichnis speichern |
| F4 | Schnellspeicherung im aktuellen Slot |
| Shift+F4 | Schnellladung aus dem aktuellen Slot |
| F6 | Debugger: Schritt zurĂŒck (Rewind, im Pausenmodus und falls verfĂŒgbar) |
| F7 | Debugger: pausieren, falls aktiv; Einzelschritt (BASIC-Anweisung oder Z80-Befehl), falls pausiert |
| F8 | Debugger: Prozedurschritt (Z80 CALL/CALL cc oder BASIC GOSUB; sonst ein einfacher Schritt) |
| F9 | Debugger: fortsetzen (nur im Pausenmodus) |
| Shift+F9 | Turbo-Modus ein-/ausschalten (volle Geschwindigkeit, Audio stumm) |
| F10 | Kalt-Reset (Cold Boot) |
| Shift+F10 | Warm-Reset (Warm Restart) |
| F11 (nur SDL) | Monitor-Voreinstellung wĂ€hlen (Farbe CTM644, GrĂŒn GT65, TV, ASIC-Varianten) |
| Shift+F11 | Bildschirmtypen durchschalten (Farbe, GrĂŒnmonitor, ASIC-Varianten) |
| Ctrl+F11 (nur SDL) | FPS-Anzeige ein-/ausblenden |
| Ctrl+Shift+F11 (nur SDL) | CRTC-Debug-Visualisierungsmodi durchschalten |
| F12 | Vollbild / Fenstermodus umschalten |
| Shift+F12 | Ansicht umschalten: sichtbarer CPC-Bildschirm â vollstĂ€ndiger CRTC-Rahmen |
| Ctrl+F12 | Debug-Bildschirm umschalten (aktueller Frame â Ăberlagerung) |
| Pause | Emulation pausieren / fortsetzen |
| â (pausiert) | Um einen Frame vorwĂ€rts spulen |
| â / â (pausiert, Rewind aktiv) | RĂŒckspul-Verlauf Frame fĂŒr Frame navigieren |
| Alt+F4 | Fenster schlieĂen (vom Fenstermanager verwaltet) |
| Ctrl+1 bis Ctrl+0 | CPC-Ziffernblock 1â0 (fĂŒr Laptops ohne Ziffernblock) |
| Mausrad (oben/unten) | LautstÀrke anpassen (±10% pro Schritt) |
| Mittlere Maustaste | Stummschaltung ein-/ausschalten |
--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.
Ziehen Sie eine Datei auf das Emulatorfenster, um sie zu laden. Das Qt-Frontend hat auch ein Datei-MenĂŒ zum Ăffnen eines Dateidialogs.
| Format | Beschreibung |
|---|---|
.dsk | Standard-Disk-Image |
.hfe / .ipf | High-Fidelity-Disk-Image (CAPS) |
.cdt | Kassette (CDT) |
.sna | Snapshot (gespeicherter Zustand) |
.cpr | CPC Plus / GX4000 Cartridge â wechselt automatisch zum CPC 6128+-Modell und CRTC-Typ 3 |
AMSpiriT Lite verwaltet 4 Schnellspeicher-Slots (1â4) pro Spiel. Slots werden zusammen mit dem ROM/Disk-Image gespeichert und bleiben zwischen Sitzungen erhalten.
| Aktion | Taste / Button |
|---|---|
| Schnellspeicherung im aktuellen Slot | F4 |
| Schnellladung aus dem aktuellen Slot | Shift+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.
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 / Aktion | Beschreibung |
|---|---|
| â (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).
--rewind-slots N an.
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.
--turbo zusammen mit --autotype oder -A stoppt der Turbo automatisch, wenn die automatische Tippsequenz abgeschlossen ist.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.
| Taste | Aktion (wĂ€hrend der AusfĂŒhrung) | Aktion (pausiert) |
|---|---|---|
| A | Feuer 1 | â |
| B | Feuer 2 | â |
| X | Feuer 3 | â |
| Y / Guide | Pausieren | Fortsetzen |
| Start / + | Schnellspeicherung im aktuellen Slot | Zum nÀchsten Slot wechseln |
| Select / â | Schnellladung aus dem aktuellen Slot | Zum vorherigen Slot wechseln |
| Linker Stick / D-pad | Richtungen (Oben/Unten/Links/Rechts) | Rewind navigieren (falls aktiv) |
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]
| Option | Beschreibung |
|---|---|
--web-server | Server aktivieren (standardmĂ€Ăig aktiv) |
--no-web-server | Server 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-stdlib | Erlaubt 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. |
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.
Der BASIC-Tab arbeitet mit Locomotive-BASIC-Programmen:
?reset=1 (Kalt-Reset zuerst), ?run=1 (Auto-Typ RUN nach dem Einspritzen)Der Keyboard-Tab zeigt das aktuelle Tastatur-Layout und alle zugeordneten Tasten an (Referenz zum Lesen fĂŒr das Debugging von Tastatureingabeproblemen).
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.
amspirit-lite-sdl [OPTIONEN] [DATEI]
| Option | Beschreibung |
|---|---|
-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 / --fullscreen | Im Vollbildmodus starten |
-w / --windowed | Fenstermodus (ĂŒ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 / --turbo | Im Turbo-Modus starten (volle Geschwindigkeit) |
--monitor <Voreinstellung> | CRT-Monitor-Voreinstellung: off (Standard), ctm644, gt65, tv |
--reset | Gespeicherte Konfiguration ignorieren, mit Standardwerten starten |
--no-splash / --splash | Startbildschirm ĂŒberspringen / erzwingen (--splash ĂŒberschreibt --no-splash aus der Konfiguration) |
| Option | Beschreibung |
|---|---|
-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 |
| Option | Beschreibung |
|---|---|
-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-overlay | FPS-Anzeige in der oberen linken Ecke einblenden (rot = zu langsam, blau = zu schnell) |
| Option | Beschreibung |
|---|---|
--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) |
--ssm | SSM-Modus aktivieren: reagiert auf die Z80-Opcodes ED FE/FF/00 |
--ssm-both | Mit --ssm: bei ED FE oder ED FF sowohl einen Snapshot als auch einen Screenshot speichern |
--debug-script | Jede ausgefĂŒhrte CSL/Lua-Zeile wĂ€hrend des Skriptlaufs protokollieren |
| Option | Beschreibung |
|---|---|
--enable-rewind | RĂŒ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) |
| Option | Beschreibung |
|---|---|
--web-server | Eingebetteten HTTP-Debug-Server aktivieren (standardmĂ€Ăig aktiv) |
--no-web-server | Server 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-stdlib | Erlaubt an die Web-API gesendeten Skripten die volle Lua-Stdlib statt der Sandbox (siehe Abschnitt Web-Debug-Server) |
| Option | Beschreibung |
|---|---|
--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 |
| Option | Beschreibung |
|---|---|
-v / --verbose, -q / --quiet | Log-AusfĂŒhrlichkeit erhöhen oder unterdrĂŒcken |
-K / --debug-keys | AusfĂŒhrliche Tastatur-Debug-Ausgabe aktivieren |
-J / --debug-joystick | AusfĂŒhrliche Joystick-Debug-Ausgabe aktivieren |
--debug-rewind | Rewind-Speichern/-Abrufen mit Slot-Index und VerlaufsgröĂe protokollieren |
--debug-webapi | Eingehende Web-API-Anfragen, Antworten und SSE-Ereignisse protokollieren |
--debug-audio | Audio-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) |
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