Core spectrum con soporte de joy 2 botones y nuevo protocolo OPQASPACEM
Publicado: 08 Ene 2018, 14:37
Buenas!
Hace ya un tiempo que quería poder utilizar el segundo botón del joystick (en pads de master system por ejemplo) en el core de spectrum, y de paso tener también algún modo de usar el pad con los juegos que permiten redefinir teclas, así que lo hice. Veo en diferentes hilos que hay interés en este tema, así que publico el core aquí para que lo probéis, a ver si satisface las necesidades planteadas, o si tiene algún bug que no he visto (Asumid que ahora mismo es experimental).
Para los protocolos Kempston y Fuller he utilizado la propuesta de Velesoft (así si ya hay algún juego que lo use, funcionará). Si creeis que esta propuesta (ver debajo en documentación) es útil y funciona bien, se podría dejar como base para desarrollo de nuevos juegos con soporte de 2 botones, se abre el debate
Proporciono también la utilidad JOYCONF adaptada a estos cambios para poder configurar todo. Si al final va a ser usado realmente este core, podemos añadir la configuración del nuevo protocolo a la BIOS.
DOCUMENTACIÓN
1- Soporte segundo botón en todos los protocolos:
- KEMPSTON: como siempre, puerto $1F. Botón 2: bit 5
- FULLER: como siempre, puerto $7F. Botón 2: bit 5
- SINCLAIR1: $FEFE. Botón 2: bit 2 (Tecla X)
- SINCLAIR2: $FEFE. Botón 2: bit 1 (Tecla Z)
- CURSOR: $EFFE. Botón 2: bit 1 (Tecla 9)
2- Nuevo protocolo OPQASPACEM:
- Se activa en el registro JOYCONF del ZX-UNO, como los demás, pero con el valor $06 (Esto ya lo hace la util modificada JOYCONF que adjunto).
- Mapea de forma fija las direcciones y 2 botones del pad/jostick real por DB9 a la las posiciones correspondientes a la matriz de teclado, de las teclas: O P Q A SPACE M, siendo estas IZQUIERDA DERECHA ARRIBA ABAJO FUEGO BOTON2 respectivamente.
Por tanto: los juegos que usen esa combinación de serie, funcionarán directamente con el josystick real eligiendo teclado. Y los juegos que permitan reconfigurar teclas, se benefician también de este mapeo, ya que puedes reconfigurar directamente pulsando las teclas del joystick/pad.
---------------
El core está basado en la última versión EXP25 (Lo identifico como EX2B08012018), y a partir de ahí he realizado los cambios necesarios, así que es necesario si lo usas, tener también actualizada la BIOS a la 0.63 (la incluyo también en la descarga -firmware.zx1-).
Adjunto descarga con el core en formato ZX1 para poner como core secundario, en ZX1 para poner como core principal (bajo tu propia responsabilidad si se flashea mal y no tienes cable para unbrick), formato bitstream (para los que usen cable Xilinx), y utilidad JOYCONF2 adaptada, para configurarlo todo (copiar en carpeta /BIN de la SD).
------------------
Hace ya un tiempo que quería poder utilizar el segundo botón del joystick (en pads de master system por ejemplo) en el core de spectrum, y de paso tener también algún modo de usar el pad con los juegos que permiten redefinir teclas, así que lo hice. Veo en diferentes hilos que hay interés en este tema, así que publico el core aquí para que lo probéis, a ver si satisface las necesidades planteadas, o si tiene algún bug que no he visto (Asumid que ahora mismo es experimental).
Para los protocolos Kempston y Fuller he utilizado la propuesta de Velesoft (así si ya hay algún juego que lo use, funcionará). Si creeis que esta propuesta (ver debajo en documentación) es útil y funciona bien, se podría dejar como base para desarrollo de nuevos juegos con soporte de 2 botones, se abre el debate
Proporciono también la utilidad JOYCONF adaptada a estos cambios para poder configurar todo. Si al final va a ser usado realmente este core, podemos añadir la configuración del nuevo protocolo a la BIOS.
DOCUMENTACIÓN
1- Soporte segundo botón en todos los protocolos:
- KEMPSTON: como siempre, puerto $1F. Botón 2: bit 5
- FULLER: como siempre, puerto $7F. Botón 2: bit 5
- SINCLAIR1: $FEFE. Botón 2: bit 2 (Tecla X)
- SINCLAIR2: $FEFE. Botón 2: bit 1 (Tecla Z)
- CURSOR: $EFFE. Botón 2: bit 1 (Tecla 9)
2- Nuevo protocolo OPQASPACEM:
- Se activa en el registro JOYCONF del ZX-UNO, como los demás, pero con el valor $06 (Esto ya lo hace la util modificada JOYCONF que adjunto).
- Mapea de forma fija las direcciones y 2 botones del pad/jostick real por DB9 a la las posiciones correspondientes a la matriz de teclado, de las teclas: O P Q A SPACE M, siendo estas IZQUIERDA DERECHA ARRIBA ABAJO FUEGO BOTON2 respectivamente.
Por tanto: los juegos que usen esa combinación de serie, funcionarán directamente con el josystick real eligiendo teclado. Y los juegos que permitan reconfigurar teclas, se benefician también de este mapeo, ya que puedes reconfigurar directamente pulsando las teclas del joystick/pad.
---------------
El core está basado en la última versión EXP25 (Lo identifico como EX2B08012018), y a partir de ahí he realizado los cambios necesarios, así que es necesario si lo usas, tener también actualizada la BIOS a la 0.63 (la incluyo también en la descarga -firmware.zx1-).
Adjunto descarga con el core en formato ZX1 para poner como core secundario, en ZX1 para poner como core principal (bajo tu propia responsabilidad si se flashea mal y no tienes cable para unbrick), formato bitstream (para los que usen cable Xilinx), y utilidad JOYCONF2 adaptada, para configurarlo todo (copiar en carpeta /BIN de la SD).
------------------