Joystick Sinclair
Moderador: Sir Cilve Sinclair
- climacus
- Sabreman
- Mensajes: 411
- Registrado: Mar Ago 25, 2009 1:46 pm
Joystick Sinclair
Buenas.
Alguien me puede decir qué puerto hay que leer y los distintos valores para poder manejar un juego con el Joystick Sinclair?
Gracias y un saludo
Alguien me puede decir qué puerto hay que leer y los distintos valores para poder manejar un juego con el Joystick Sinclair?
Gracias y un saludo
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
http://www.matranet.net/boutique/zx/zx.php
- Kyp
- Sabreman
- Mensajes: 444
- Registrado: Lun Dic 16, 2013 6:16 pm
Re: Joystick Sinclair
El joystick Sinclair simula las teclas del cursor, es decir, 5, 6, 7, 8 y 0. Opcionalmente pulsando simultáneamente SHIFT aunque los juegos no suelen mirar eso. Por lo tanto...
El puerto F7FE, bit 0 para la tecla 5.
El puerto EFFE, bits 0, 1,2 y 4 para las teclas 6, 7, 8 y 0.
El puerto FEFE, bit 4 para SHIFT.
El puerto F7FE, bit 0 para la tecla 5.
El puerto EFFE, bits 0, 1,2 y 4 para las teclas 6, 7, 8 y 0.
El puerto FEFE, bit 4 para SHIFT.
-
- Manic Miner
- Mensajes: 219
- Registrado: Jue May 10, 2007 2:28 pm
Re: Joystick Sinclair
Kyp, diría que estás equivocado. El joystick Sinclair 1 simula las teclas del 6 al 0 (puerto $effe) y el Sinclair 2 del 1 al 5 (puerto $f7fe).
Aquí va un trozo de código que uso siempre:
Aquí va un trozo de código que uso siempre:
Código: Seleccionar todo
; Returns:
; A: joystick state
; Bit #: 765 4 3210
; ||| | ||||
; XXX BUT1 RLDU
;--------------------------------------
; Read routine for Sinclair 1 joysticks
;--------------------------------------
read_sinclair1_joystick:
ld bc, $effe
in c, (c) ; Leemos solo la fila 6-0. Los bits a 0 están pulsados
xor a
sinclair1_fire:
rr c
jr c, sinclair1_up
or $10 ; fire is pressed
sinclair1_up:
rr c
jr c, sinclair1_down
or $01 ; up is pressed
sinclair1_down:
rr c
jr c, sinclair1_right
or $02 ; down is pressed
sinclair1_right:
rr c
jr c, sinclair1_left
or $08 ; right is pressed
sinclair1_left:
rr c
ret c ; no carry, just return
or $04 ; left pressed
ret
;--------------------------------------
; Read routine for Sinclair 2 joysticks
;--------------------------------------
read_sinclair2_joystick:
ld bc, $f7fe
in c, (c) ; Leemos solo la fila 1-5. Los bits a 0 están pulsados
xor a
sinclair2_left:
rr c
jr c, sinclair2_right
or $04 ; left is pressed
sinclair2_right:
rr c
jr c, sinclair2_down
or $08 ; right is pressed
sinclair2_down:
rr c
jr c, sinclair2_up
or $02 ; down is pressed
sinclair2_up:
rr c
jr c, sinclair2_fire
or $01 ; up is pressed
sinclair2_fire:
rr c
ret c ; no carry, just return
or $10 ; left pressed
ret
- climacus
- Sabreman
- Mensajes: 411
- Registrado: Mar Ago 25, 2009 1:46 pm
Re: Joystick Sinclair
Ok. Muchísimas gracias.
No tenía ni idea...
No tenía ni idea...
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
http://www.matranet.net/boutique/zx/zx.php
- Kyp
- Sabreman
- Mensajes: 444
- Registrado: Lun Dic 16, 2013 6:16 pm
Re: Joystick Sinclair
Pues tienes toda la razón
Aquí tenéis más información (en inglés): http://www.retroisle.com/general/spectrum_joysticks.php
Aquí tenéis más información (en inglés): http://www.retroisle.com/general/spectrum_joysticks.php
- climacus
- Sabreman
- Mensajes: 411
- Registrado: Mar Ago 25, 2009 1:46 pm
Re: Joystick Sinclair
Muchas gracias.Kyp escribió:Pues tienes toda la razón
Aquí tenéis más información (en inglés): http://www.retroisle.com/general/spectrum_joysticks.php
Una preguntilla más...
Para controlar un juego con las flechas del plus 2, cuál hay que usar?
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
http://www.matranet.net/boutique/zx/zx.php
-
- Manic Miner
- Mensajes: 219
- Registrado: Jue May 10, 2007 2:28 pm
Re: Joystick Sinclair
Las flechas son las teclas del cursor, así que tendrás que detectar la pulsación de CAPS SHIFT y las teclas 56780.
- climacus
- Sabreman
- Mensajes: 411
- Registrado: Mar Ago 25, 2009 1:46 pm
Re: Joystick Sinclair
Pero qué cortico que soy!!!utopian escribió:Las flechas son las teclas del cursor, así que tendrás que detectar la pulsación de CAPS SHIFT y las teclas 56780.
Muchas gracias de nuevo!!!!
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
http://www.matranet.net/boutique/zx/zx.php
- Kyp
- Sabreman
- Mensajes: 444
- Registrado: Lun Dic 16, 2013 6:16 pm
Re: Joystick Sinclair
Aunque el teclado en sí simula la pulsación de CAPS+nº bastaría con mirar la pulsación del nº, ¿no? Te ahorras unas pocas instrucciones.utopian escribió:Las flechas son las teclas del cursor, así que tendrás que detectar la pulsación de CAPS SHIFT y las teclas 56780.
¿Quién está conectado?
Usuarios navegando por este Foro: Google [Bot] y 19 invitados