🇬🇧 🇫🇷 🇪🇸 🇩🇪

AMSpiriT Lite — Referencia rápida

AMSpiriT Lite es un emulador Amstrad CPC para Linux/Windows basado en el núcleo AMSpiriT de David MANUEL.

Teclas de control

TeclaAcción
F1Abrir esta ayuda en el navegador
F2Guardar una captura de pantalla PNG en el directorio actual
F4Guardado rápido en la ranura actual
Shift+F4Carga rápida desde la ranura actual
F6Depurador: retroceder un paso (rewind, en pausa y si está disponible)
F7Depurador: pausar si está en ejecución; avanzar un paso (instrucción BASIC o Z80) si está en pausa
F8Depurador: paso por encima (CALL/CALL cc Z80 o GOSUB BASIC; si no, un paso simple)
F9Depurador: reanudar (solo en pausa)
Shift+F9Activar/desactivar modo turbo (velocidad máxima, audio silenciado)
F10Reinicio total (arranque en frío)
Shift+F10Reinicio suave (arranque en caliente)
F11 (solo SDL)Seleccionar modo de monitor (color CTM644, verde GT65, TV, variantes ASIC)
Shift+F11Cambiar tipo de pantalla (color, monitor verde, variantes ASIC)
Ctrl+F11 (solo SDL)Mostrar/ocultar indicador de FPS
Ctrl+Shift+F11 (solo SDL)Cambiar modos de visualización CRTC (depuración)
F12Alternar pantalla completa / modo ventana
Shift+F12Alternar vista: pantalla CPC visible ↔ trama CRTC completa
Ctrl+F12Cambiar pantalla de depuración (fotograma actual ↔ superposición)
PausaPausar / Reanudar emulación
→ (en pausa)Avanzar un fotograma
← / → (en pausa, rewind activo)Navegar en el historial de rebobinado fotograma a fotograma
Alt+F4Cerrar la ventana (gestionado por el gestor de ventanas)
Ctrl+1 a Ctrl+0Teclado numérico CPC 1–0 (para portátiles sin teclado numérico)
Rueda del ratón (arriba/abajo)Ajustar volumen (±10% por paso)
Clic botón central del ratónActivar/desactivar silencio
Nota: las teclas F6-F9 reproducen el depurador paso a paso de la página web (--web-server). El modo BASIC o Z80 se detecta automáticamente según si hay un programa BASIC en ejecución — no hay pestaña que seleccionar, a diferencia de la página web.

Carga de archivos

Arrastre y suelte un archivo sobre la ventana del emulador para cargarlo. El frontend Qt también tiene un menú Archivo para abrir un diálogo de selección de archivos.

Consejo: mantenga Ctrl mientras arrastra un archivo para realizar un reinicio total antes de cargarlo — útil para iniciar una imagen de disco en un estado limpio.
FormatoDescripción
.dskImagen de disco estándar
.hfe / .ipfImagen de disco de alta fidelidad (CAPS)
.cdtCinta (CDT)
.snaSnapshot (estado guardado)
.cprCartucho CPC Plus / GX4000 — cambia automáticamente al modelo CPC 6128+ y tipo CRTC 3

Ranuras de snapshot

AMSpiriT Lite mantiene 4 ranuras de guardado rápido (1–4) por juego. Las ranuras se almacenan junto a la imagen ROM/disco y persisten entre sesiones.

AcciónTecla / Botón
Guardado rápido en la ranura actualF4
Carga rápida desde la ranura actualShift+F4
Cambiar a la siguiente ranura (en pausa)Gamepad Start / botón +
Cambiar a la ranura anterior (en pausa)Gamepad Select / botón −
Guardar en ranura (en ejecución)Gamepad Start / botón +
Cargar desde ranura (en ejecución)Gamepad Select / botón −

En el frontend Qt, las ranuras de snapshots también son accesibles desde el menú Emulación → Snapshots.

Rewind / Rebobinado

La función rewind opcional registra un búfer circular de snapshots de estado del CPC en RAM mientras se ejecuta el emulador. En pausa, puede navegar hacia adelante y hacia atrás en el historial registrado — útil para depuración, encontrar el momento perfecto para capturar pantalla, o rebobinar un movimiento equivocado en un juego.

Active rewind al inicio con --enable-rewind. En el frontend Qt, use el menú Emulación → Rewind para activarlo y ajustar configuración.

Tecla / AcciónDescripción
← (en pausa)Retroceder un fotograma en el historial rewind
→ (en pausa)Avanzar un fotograma (hacia el presente), o avanzar un fotograma normal si está al día
D-pad ← (gamepad, en pausa)Retroceder en rewind
D-pad → (gamepad, en pausa)Avanzar en rewind / reanudar si está al día

La barra de estado / título muestra < N / M mientras se rebobina (N fotogramas desde el más antiguo, M total almacenados).

Memoria: cada snapshot ocupa aproximadamente 1,6 MB. El búfer predeterminado contiene 100 snapshots (~160 MB); ajuste con --rewind-slots N.

Modo turbo

El modo turbo desactiva la cadencia de 50 Hz y silencia el audio, permitiendo que el emulador se ejecute a velocidad máxima de la CPU. Útil para omitir cargas largas de cinta o intros.

Gamepad / Joystick

El frontend Qt usa la API SDL2 GameController (XInput en Windows, evdev en Linux, GameController en macOS). El frontend SDL usa la API joystick legacy. Ambos detectan controles al inicio y cuando se conectan; el primer controlador encontrado se asigna al puerto joystick 1 del CPC.

BotónAcción (en ejecución)Acción (en pausa)
ADisparo 1—
BDisparo 2—
XDisparo 3—
Y / GuíaPausarReanudar
Start / +Guardado rápido en la ranura actualCambiar a la siguiente ranura
Select / −Carga rápida desde la ranura actualCambiar a la ranura anterior
Stick izquierdo / D-padDirecciones (Arriba/Abajo/Izquierda/Derecha)Navegar rewind (si está activo)
Frontend SDL: usa números de botón de joystick brutos (Botón 0–3 = Disparo 1/2/3/Pausa, Botón 7/9 = Start, Botón 6/8 = Select). El eje analógico CPC Plus se soporta en ambos frontends.

Servidor web de depuración

El emulador integra un servidor de depuración HTTP (activo por defecto, en 127.0.0.1:6128) que expone una interfaz web completa en el navegador: registros Z80, Gate Array, PSG, FDC, mapa de calor de memoria, ASIC, disco, configuración, scripting, y más.

amspirit-lite-sdl [--no-web-server] [--web-addr 0.0.0.0] [--web-port 6128] [--web-html ruta/a/ui.html]
OpciónDescripción
--web-serverActivar el servidor (activo por defecto)
--no-web-serverDesactivar el servidor
--web-addr <dirección>Dirección de escucha (por defecto: 127.0.0.1 — solo local; use 0.0.0.0 para todas las interfaces)
--web-port <puerto>Puerto de escucha (por defecto: 6128)
--web-html <archivo>Ruta al archivo HTML de la interfaz (por defecto: amspirit-lite.html junto al binario)
--lua-full-stdlibPermite que los scripts enviados (POST) a la API web usen la stdlib completa de Lua (io, os.execute, package, debug). Desactivado por defecto — esos scripts están aislados, con acceso a archivos limitado a la tabla fs.* enjaulada. Cualquier página abierta en su navegador puede acceder a la API, así que actívelo solo en una máquina de confianza.
El archivo amspirit-lite.html puede editarse sin recompilar. Si falta, se usa la interfaz integrada en el binario como alternativa.

La interfaz se organiza en pestañas: Keyboard, BASIC, Debug (Z80/desensamblado/breakpoints), ROMs (mapa de ROM), Audio, Heat Map (memoria), ASIC, Poke, Script, Config, Disk, y Settings.

Editor BASIC

La pestaña BASIC permite trabajar con programas Locomotive BASIC:

Mapeo de teclado

La pestaña Keyboard muestra la distribución de teclado actual y todas las teclas asignadas (referencia de solo lectura para depuración de problemas de entrada de teclado).

Mapa de ROM

La pestaña ROMs muestra el catálogo actual de ROMs: qué firmware, ROM de extensión (R<n>:) y banco de cartucho está cargado en cada ranura, y de dónde procede. Ofrece una vista compacta y una vista por ranura.

Las ranuras de snapshot no se gestionan desde la interfaz web — use F4 / Shift+F4, o el menú Qt Emulación → Snapshots.

Opciones de línea de comandos

amspirit-lite-sdl [OPCIONES] [ARCHIVO]

Emulación

OpciónDescripción
-m <modelo>Modelo CPC: 464, 664, 6128 (por defecto), 6128+, 464+, GX4000
-c <tipo>Tipo CRTC (0 a 4)
--ram <Ko>RAM total en Ko: 128 (por defecto), 192, 320, 576
-R <ruta> / --rom-path <ruta>Directorio de ROMs
-C <ruta> / --config <ruta>Directorio de configuración
-l <idioma> / --lang <idioma>Idioma de la ROM (define el CPC_COUNTRY del núcleo): FR (por defecto), EN, SP, DA
--lang-ui <idioma>Idioma de la interfaz web: en (por defecto), fr, es, de (auto-detectado desde $LANG)
-k <distribución> / --keyboard <distribución>Distribución de teclado del host: fr (por defecto), uk, us
--keymap <archivo>Cargar un archivo de mapeo de teclado personalizado
-F / --fullscreenIniciar en pantalla completa
-w / --windowedModo ventana (tiene prioridad sobre --fullscreen)
--zoom <N>Factor de zoom inicial de la ventana (1=768×542, 2=1536×1084, …); por defecto 2, con reserva automática a 1
--size <AxA>Tamaño inicial de la ventana, ej. 1280x960
-Z / --turboIniciar en modo turbo (velocidad máxima)
--monitor <preajuste>Preajuste de monitor CRT: off (por defecto), ctm644, gt65, tv
--resetIgnorar la configuración guardada e iniciar con los valores predeterminados
--no-splash / --splashOmitir / forzar la pantalla de inicio (--splash tiene prioridad sobre --no-splash de la config)

Carga automática y escritura automática

OpciónDescripción
-A / --autorun[=ARCHIVO]Ejecuta automáticamente el disco de arranque: adivina el RUN"<archivo>/|CPM correcto, o fuerza un nombre con --autorun=ARCHIVO
-T <nombre> / --run <nombre>Escribe automáticamente RUN"<nombre> al inicio
-t <texto> / --autotype <texto>Escribe una cadena literal en el CPC tras el arranque (\n = Intro)
--autotype-file <archivo>Escribe el contenido de un archivo de texto en el CPC tras el arranque

Audio y pantalla

OpciónDescripción
-L <ms> / --audio-latency <ms>Latencia del búfer de audio en milisegundos (por defecto: 80 — aumentar si hay crepitaciones)
--audio-device <nombre>Nombre del dispositivo de salida de audio (por defecto: el del sistema)
--show-overlayMostrar el indicador FPS en la esquina superior izquierda (rojo = demasiado lento, azul = demasiado rápido)

Scripting

OpciónDescripción
--script <archivo>Ejecutar un script CSL o Lua (stdlib completa — --script es una carga local de confianza, a diferencia de los scripts enviados a la API web)
--ssmActivar el modo SSM: actuar sobre los opcodes Z80 ED FE/FF/00
--ssm-bothCon --ssm, guardar tanto un snapshot como una captura de pantalla en ED FE o ED FF
--debug-scriptRegistrar cada línea CSL/Lua ejecutada mientras corre el script

Rewind / Rebobinado

OpciónDescripción
--enable-rewindActivar búfer de rebobinado en RAM (registra un snapshot cada N fotogramas)
--rewind-interval <N>Fotogramas entre snapshots rewind (por defecto: 10)
--rewind-slots <N>Número máximo de snapshots a mantener en el búfer (por defecto: 100, ~160 MB)

Servidor web de depuración

OpciónDescripción
--web-serverActivar el servidor HTTP de depuración integrado (activo por defecto)
--no-web-serverDesactivar el servidor
--web-addr <dirección>Dirección de escucha (por defecto: 127.0.0.1)
--web-port <puerto>Puerto de escucha (por defecto: 6128)
--web-html <archivo>Ruta al archivo HTML de la interfaz de depuración
--lua-full-stdlibPermite que los scripts enviados a la API web usen la stdlib completa de Lua en lugar del sandbox (ver la sección Servidor web de depuración)

Archivos binarios

OpciónDescripción
--bin-address <dirección>Dirección de carga para un archivo .bin crudo/sin cabecera (ej. 4000, B04:2000 — un valor simple apunta a los 64K base); se ignora en archivos con cabecera AMSDOS y se sobrescribe con la convención de nombre nombre@dirección.bin
--bin-entry <dirección>Punto de entrada al que saltar tras cargar un archivo .bin crudo (dirección plana de 16 bits); implica ejecución inmediata

Diagnóstico y varios

OpciónDescripción
-v / --verbose, -q / --quietAumentar o reducir la verbosidad de los logs
-K / --debug-keysActivar salida de depuración detallada del teclado
-J / --debug-joystickActivar salida de depuración detallada del joystick
--debug-rewindRegistrar guardados/recuperaciones de rewind con el índice de ranura y el tamaño del historial
--debug-webapiRegistrar solicitudes, respuestas y eventos SSE de la API web
--debug-audioRegistrar estadísticas de audio (falta de datos/bytes perdidos) cada segundo
--dump-keymap[=ARCHIVO]Exportar el keymap actual a ARCHIVO (por defecto: keymap-sdl.cfg) y salir
-X <N> / --autoExit <N>Salir automáticamente tras N fotogramas del bucle de 50 Hz (los fotogramas en pausa cuentan) — para pruebas automatizadas
--save-log <archivo>Guardar toda la salida de logs en <archivo>
--report[=ruta]Generar un informe de diagnóstico
--update-url <url>Sobrescribir el endpoint del manifiesto de actualización (pruebas)

Configuración del teclado (keymap.cfg)

Genere un archivo keymap usando la opción --dump-keymap, luego edítelo a su conveniencia y reinicie el emulador:

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

(Sin nombre de archivo, --dump-keymap escribe keymap-sdl.cfg en el directorio actual.)

Coloque el archivo keymap.cfg generado en su carpeta ROMs/ o config/ (o apunte --keymap directamente a él). El archivo utiliza formato INI con dos secciones: [keyboard layout] y [emulator hotkeys].

Acciones de atajo admitidas: 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

Formato de teclas: Tecla única (F1, A, Escape, Return, Space) o modificadores (Ctrl+X, Shift+F1, Alt+Shift+P). Sin distinción de mayúsculas.

Los cambios toman efecto al reiniciar. Para encontrar el código de una tecla, ejecute con la opción -K y busque mensajes DOWN en la consola. Nota: Las aplicaciones SDL y Qt utilizan códigos de tecla diferentes; use archivos keymap separados para cada una si ejecuta ambas.


Núcleo AMSpiriT por David MANUEL — puerto Linux por Siko — amspirit.fr