Logo
 
BARE METAL ZX SPECTRUM EMULATOR FOR THE RASPBERRY PI

ZXBaremulator es el primer emulador bare-metal completo del ZX Spectrum 48K para la Raspberry PI.

Descripción

Un programa bare-metal es aquel que no necesita cargar primero un sistema operativo para funcionar. La carga es instantánea y tiene todos los recursos de la máquina a su disposición. Pero, como casi todo en la vida, esto tiene una cara B. El programador no tiene nada en lo que apoyarse para programar, hay que desarrollarlo todo desde cero y sin poder utilizar cómodos depuradores o librerías sofisticadas. Aún así, éste emulador no hubiera sido posible sin una librería en particular, la Circle de Rene Stange. De modo que, si encuentras algo que no te gusta o te parece espartano, ten en cuenta las limitaciones a las que me enfrento al desarrollar algo como ZXBaremulator.

Características principales

  • Soporte para todos los modelos de Raspberry PI (A, B, A+, B+, 2, 3, Zero).
  • Incluye 55 juegos absolutamente clásicos.
  • Emulación Z80 precisa (instrucciones indocumentadas, registro escondido WZ, bits 3 y 5 del registro 'F').
  • Emulación precisa del Spectrum 48K (borde completo, redibujado de la pantalla en tiempo real sin doble buffer, memoria en contienda, bus flotante, efectos de color de alta resolución).
  • Emulación de joystick Kempston usando un mando de PS3 DualShock o compatible en modo USB (no soporta Bluetooth).
  • Carga acelerada de cintas virtuales TZX. Se muestra la carga original completa (siempre que ha sido posible).
  • Emulación del beeper utilizando las capacidades PWM de la PI, el sonido sale por el conector de 3.5mm (no hay soporte para el sonido HDMI, sigh!).
  • Soporte de interfaz Multiface 128. Ya puedes trucar el Abu Simbel Profanation.
  • Los juegos ya no van embebidos, ¡tú escoges cuales son tus preferidos!.
  • ¡No necesita Linux!. Carga instantánea desde la µSD.

Novedades de la versión 1.2

  • Se acabó el límite de 55 juegos. El nuevo límite son 1100.
  • Las teclas F2-F12 quedan sin uso de momento. Accediendo a la pantalla de ayuda, puede escoger la cinta deseada de todas las que se encuentren en el directorio Tapes usando las teclas Inicio, Fin, Re Pag, Av Pag, cursor Arriba/Abajo y seleccionando con la tecla Espacio. Si pulsas una tecla entre A y Z irás directamente al primer archivo que comience por esa letra.
  • Con la combinación de teclas Windows derecha + P arrancas/paras la cinta.
  • Con la combinación de teclas Windows derecha + S activas/desactivas la carga de cinta a velocidad real con sonido de carga (pocata Nocilla toca!).

Descargas

Como usarlo

  • Partiendo de una SD/µSD preinstalada con Linux, renombra el kernel.img o kernel7.img para no perderlo, y luego copia la imagen que corresponda a tu modelo de PI. O partiendo de una tarjeta SD/µSD nueva y formateada con FAT32 extrae todos los archivos del ZIP y copialos en la tarjeta.
  • Crea un directorio llamado Tapes en el directorio raíz de tu SD y copia ahí dentro un máximo de 1100 archivos TAP/TZX (si hay más los ignorará y si hay menos, no pasa nada). Inserta la tarjeta en la PI y.... ¡a jugar!.
  • Necesitas conectar un teclado USB a la PI antes de arrancarla, no soporta conexión en caliente. El sonido lo escucharás conectando unos altavoces o auriculares a la salida de 3.5mm. La PI Zero no tiene ese conector, pero se puede añadir un pequeño circuito que puedes encontrar en Internet.
  • Escoge una cinta virtual entrando en la ayuda con F1 y usando el selector de cintas y luego LOAD "" + [ENTER]
  • Tecla F1: Ayuda.
  • Alt Izq. + 'K': Ayuda de teclado

ZXBaremulator is the first complete ZX Spectrum 48K bare-metal emulator for the Raspberry Pi computers.

Emulator features

  • Support all Raspberry Pi models (A, B, A+, B+, 2, 3, Zero).
  • Includes 55 classic 48K Spectrum games
  • Precise Z80 emulation (undocumented opcodes, hidden WZ register, bits 3-5 from 'F' register).
  • Precise Spectrum 48k emulation (full border, real-time screen drawing without double buffer, contended memory, floating bus, hi-res color effects).
  • Kempston joystick emulation using a PS3 DualShock gamepad in USB mode (no Bluetooth supported).
  • Accelerated tape loading from virtual TZX tapes (when possible). Original tape loaders are preserved.
  • Beeper emulation using the PI PWM capabilities, present on 3.5mm socket (no HDMI sound, sigh!).
  • Multiface 128 support. You can cheat Abu Simbel Profanation, at last!.
  • No Linux needed!. Super-fast loading from µSD.

New features v1.2

  • The 55 tapes limit is increased up to 1100 files.
  • Select a tape from help screen using Home, End, Pg Up, Pg Down, Cursor Up/Down and pressing Space key. When you press a key between A and Z, the tape selector shows all the tapes starting by these letter.
  • Pressing Right Window + P starts/stops the tape player.
  • Pressing Right Window + S switches on/off the real speed loading with sound.

Downloads

Usage

  • Copy the needed image to a Linux preinstalled SD/µSD (rename first the Linux kernel image) or get a new SD card FAT32 formatted and copy the all files pack.
  • Create a Tapes directory in the root directory of your SD and copy your preferred TAP/TZX files, up to 1100 files. Insert on your Raspberry PI and... play!
  • You need an USB keyboard connected to the PI before switch on, no USB hot-plug. That's not optional, Spectrums needs a membrane. The sound is on 3.5mm socket. A Zero model doesn't have the 3.5mm socket, I'm sorry.
  • Choose a virtual tape from tape selector and type LOAD "" + [ENTER]
  • F1 key: Help.
  • Left Alt + 'K': Keyboard Help


© 2017 José Luis Sánchez (jspeccy at gmail dot com) - All rights reserved (2017/08/15)