Escape from ASYLUM!

Chit chat general. Habla con los MojonTwins y con los amigos de los MojonTwins. Reza a Vah-ka. Delinque. Aviso: está PROHIBIDO tirarse peos fuerte. Si les cortas el pescuezo, vale.

Moderador: na_th_an

Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Escape from ASYLUM!

Mensajepor na_th_an » Dom, 08 Dic 2013, 12:24

En WOS hay algunos que suelen ser muy suyos. El primero se queja de que parece apresurado, parece que no entiende que ha sido apresurado adrede. Andrew simplemente dice que preparará el hack pack pronto :D Es un crack, no entiendo como saca los POKEs tan pronto.
Como diría Rorshach: "Urm..."
Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: Escape from ASYLUM!

Mensajepor D_Skywalk » Lun, 09 Dic 2013, 13:24

AJUDA! :cry:

Necesito detectar si el usuario pulsa, joy (kempston o sinclair) en la música, por que si eligen joystick no pueden salir de la música de batalla. Esta es la función en music.h

$this->bbcode_second_pass_code('', '.play_note
; Read keyboard
LD E,A
XOR A
IN A,($FE)
OR $E0
INC A

.player_wait_key
JR NZ,EXIT_PLAYER
LD A,E
LD E,0
')

¿como podría añadir que salga con joy también?

Un saludo y gracias chicos :_
David Skywalker
Weblog: http://david.dantoine.org
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Escape from ASYLUM!

Mensajepor na_th_an » Lun, 09 Dic 2013, 13:29

El joystick sinclair está mapeado al teclado (1-5 o 6-0 dependiendo del puerto), así que este no te da problemas.

Para el kempston habría que leer el puerto ¿31? y si da diferente de ¿0? es que hay algo pulsado. Tendría que investigarlo.

Sería añadir esa comprobación detrás del jr nz, exit_player.
Como diría Rorshach: "Urm..."
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Escape from ASYLUM!

Mensajepor na_th_an » Lun, 09 Dic 2013, 13:32

No lo he probado, pero debería ser tan sencillo como añadir esto después de jr nz,exit_player:

$this->bbcode_second_pass_code('', 'in a, 31
jr nz, exit_player')

Leemos el valor del puerto 31 y si no es cero (el joystick se mueve en alguna dirección) saltamos a exit_player también.

Si se quiere restringir al botón, supongo que habría que hacer un and con 16, porque el kempston levanta el bit 4 con el botón:

$this->bbcode_second_pass_code('', 'in a, 31
and 16
jr nz, exit_player')

http://chuntey.wordpress.com/2010/01/06 ... -programs/
Como diría Rorshach: "Urm..."
Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: Escape from ASYLUM!

Mensajepor D_Skywalk » Lun, 09 Dic 2013, 13:46

Probandooooo!!!

:corchoneta: :corchoneta: :corchoneta: :corchoneta:
David Skywalker
Weblog: http://david.dantoine.org
Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: Escape from ASYLUM!

Mensajepor D_Skywalk » Lun, 09 Dic 2013, 13:52

Nop, no sale del bucle de la musica :_
[UPDATE1]
Espera es un error de compilacion...

[UPDATE2]
$this->bbcode_second_pass_code('', ' IN A,($1F)
AND 31
JR NZ,EXIT_PLAYER
')
Así funciona pero la música va muy mal, supongo por que tiene que hacer dos lecturas de puerto...

:| :|

Completo:
$this->bbcode_second_pass_code('', '.play_note
; Read Kempston
IN A,($1F)
AND 31
JR NZ,EXIT_PLAYER

; Read keyboard
LD E,A
XOR A
IN A,($FE)
OR $E0
INC A

.player_wait_key
JR NZ,EXIT_PLAYER
LD A,E

')
David Skywalker
Weblog: http://david.dantoine.org
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Escape from ASYLUM!

Mensajepor na_th_an » Lun, 09 Dic 2013, 14:15

Yo decía de ponerlo después del jr nz, exit_player otro que hay más abajo. Si lo pones donde lo has puesto tú te estás cargando el registro A que se usa justo después y por eso te estás cargando la música.

$this->bbcode_second_pass_code('', '.play_note
; Read keyboard
LD E,A
XOR A
IN A,($FE)
OR $E0
INC A

.player_wait_key
JR NZ,EXIT_PLAYER
; AQUI
; Read Kempston
IN A,($1F)
AND 31
JR NZ,EXIT_PLAYER
; %%%
LD A,E
')
Como diría Rorshach: "Urm..."
Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: Escape from ASYLUM!

Mensajepor D_Skywalk » Lun, 09 Dic 2013, 14:16

Estaba justo probándolo y se come notas :?

$this->bbcode_second_pass_code('', '.play_note
LD E,A
XOR A

; Read keyboard
IN A,($FE)
OR $E0
INC A

.player_wait_key
JR NZ,EXIT_PLAYER

.player_wait_joy
; Read Kempston
IN A,($1F)
AND 31
JR NZ,EXIT_PLAYER

.player_wait_end
LD A,E


.l8168 EXX
EX AF,AF ; beware!
ADD HL,BC
OUT ($FE),A
JR C,L8171
JR L8173
.l8171 XOR $10
.l8173 ADD IX,DE
JR C,L8179
JR L817B
.l8179 XOR $10
')
David Skywalker
Weblog: http://david.dantoine.org
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Escape from ASYLUM!

Mensajepor na_th_an » Lun, 09 Dic 2013, 14:20

La verdad es que no tengo muy claro cómo se engloba el cacho de código que has puesto con todo el player, y ahora mismo aquí no lo puedo mirar.

Prueba así:

$this->bbcode_second_pass_code('', '.play_note
LD E,A

; Read Kempston
XOR A
IN A,($1F)
AND 31
JR NZ,EXIT_PLAYER

; Read keyboard

XOR A
IN A,($FE)
OR $E0
INC A

.player_wait_key
JR NZ,EXIT_PLAYER

LD A,E')
Como diría Rorshach: "Urm..."
Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: Escape from ASYLUM!

Mensajepor D_Skywalk » Lun, 09 Dic 2013, 14:23

He añadido un poco más por si vale...
Espera el problema parece otro, he dejado todo como estaba y sigue mal.

Me había comido un ...
$this->bbcode_second_pass_code('', '.player_wait_end
LD A,E
LD E,0
')

Bendito git diff XD

Ahora necesito una variable para cuando este en batallas con kempston :?
Por que si no lo tienes enchufado, siempre devuelve 255 al parecer...
David Skywalker
Weblog: http://david.dantoine.org

Volver a “General”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 30 invitados