Página 3 de 3
Re: Scroll horizontal carácter a carácter
Publicado: Lun May 16, 2016 7:20 pm
por climacus
Kodaly escribió:Pues, climacus, creo que el problema va a ser debido a lo que dices tú porque he corregido lo del puntero y el problema sigue.
A raíz de la sugerencia que hiciste del doble buffer para solucionar lo del parpadeo al inicio del post, busqué y encontré en
http://old8bits.blogspot.com.es/2016/05 ... -zx_3.html una forma de hacerlo con pop y push. De esta forma lo he hecho.
SEG1 equ 16514
SEG2 equ 18434
SEG3 equ 20482
P0 equ 0
P1 equ 256
P2 equ 512
P3 equ 768
P4 equ 1024
P5 equ 1280
P6 equ 1536
P7 equ 1792
C0 equ 0
C1 equ 32
C2 equ 64
C3 equ 96
C4 equ 128
C5 equ 160
C6 equ 192
C7 equ 224
xfer ld (stptr),sp ; guardar puntero de pila.
; Character line 0.
ld sp,WINDOW ; inicio del búferde la linea.
pop af
pop bc
pop de
pop hl
exx
pop bc
pop de
pop hl
ld sp,SEG1+C0+P0+14 ; final de la línea de la pantalla.
push hl
push de
push bc
exx
push hl
push de
push bc
push af
.
.
ld sp,WINDOW+4784 ; inicio del búfer de la linea.
pop af
pop bc
pop de
pop hl
exx
pop bc
pop de
pop hl
ld sp,SEG3+C7+P7+28 ; final de la línea de la pantalla.
push hl
push de
push bc
exx
push hl
push de
push bc
push af
okay ld sp,(stptr) ; restaurar el puntero de pila.
ret
Interesante la página...
Se me ocurre otro posible fallo: Antes de usar la pila para volcar datos a la pantalla, deshabilitas las interruciones, no?
Re: Scroll horizontal carácter a carácter
Publicado: Lun May 16, 2016 10:58 pm
por Kodaly
climacus escribió:
Interesante la página...
Se me ocurre otro posible fallo: Antes de usar la pila para volcar datos a la pantalla, deshabilitas las interruciones, no?
Grande climacus!! Pues era eso. No había hecho lo de las interrupciones. He puesto un DI antes de usar la pila para volcar datos y un EI al final de la rutina y ha funcionado.
Problema resuelto. No me machaca la memoria entonces por otro lado, ¿no?
Hay qué ver el quebradero de cabeza por sólo 4 letras de m...Las cosas del ensamblador.
Muchísimas gracias. Ya puedo seguir con el proyecto hasta el próximo atasco con alguna otra cosa.
Re: Scroll horizontal carácter a carácter
Publicado: Mar May 17, 2016 8:35 am
por climacus
Kodaly escribió:climacus escribió:
Interesante la página...
Se me ocurre otro posible fallo: Antes de usar la pila para volcar datos a la pantalla, deshabilitas las interruciones, no?
Grande climacus!! Pues era eso. No había hecho lo de las interrupciones. He puesto un DI antes de usar la pila para volcar datos y un EI al final de la rutina y ha funcionado.
Problema resuelto. No me machaca la memoria entonces por otro lado, ¿no?
Hay qué ver el quebradero de cabeza por sólo 4 letras de m...Las cosas del ensamblador.
Muchísimas gracias. Ya puedo seguir con el proyecto hasta el próximo atasco con alguna otra cosa.
Estas cosas pasan
De todas formas, a no ser de que las uses para algo, quita las interrupciones al principio del programa y solo ponlas cuando hagas el HALT (si es que lo haces). Y mucho cuidado: si usas las interrupciones de la ROM, ten en cuenta que actualizan el valor de IY, osea que si utilizas IY, ponlo a cero (por ejemplo) antes que hagas el HALT.
Me alegro de que puedas seguir adelante.
Y por favor, informa!!!!
Re: Scroll horizontal carácter a carácter
Publicado: Mié May 18, 2016 1:08 pm
por Kodaly
Gracias, climacus. Lo he hecho como decías: DI al principio y todo bien.
Os tendré informados. También soy aficionado a los juegos de mesa y quiero llevar algunas mecánicas al spectrum. Por ahí van los tiros. Tendré que hacerme yo mismo el juego que me gustaría que ya existiese.
Tengo una duda importante de novato. A ver, ya consigo mover un sprite de 4x4 caracteres de forma fluida con el scroll. La cuestión es si intento meterle máscaras o mejor paso de los fondos para no meterme en muchas complicaciones por ahora. Es que me temo que el tema de las máscaras es complejo.
Re: Scroll horizontal carácter a carácter
Publicado: Mié May 18, 2016 4:23 pm
por climacus
Kodaly escribió:Gracias, climacus. Lo he hecho como decías: DI al principio y todo bien.
Os tendré informados. También soy aficionado a los juegos de mesa y quiero llevar algunas mecánicas al spectrum. Por ahí van los tiros. Tendré que hacerme yo mismo el juego que me gustaría que ya existiese.
Tengo una duda importante de novato. A ver, ya consigo mover un sprite de 4x4 caracteres de forma fluida con el scroll. La cuestión es si intento meterle máscaras o mejor paso de los fondos para no meterme en muchas complicaciones por ahora. Es que me temo que el tema de las máscaras es complejo.
Yo de momento seguiría a ver cómo va resultando. Si al final te sobra velocidad, puedes meter máscaras.
No es muy complicado.
Re: Scroll horizontal carácter a carácter
Publicado: Jue May 19, 2016 9:06 pm
por Kodaly
Tenías razón, climacus. No es complicado lo de las máscaras. Me he puesto a ello y sin problemas. Me lo esperaba muchísimo peor. Pues ya puedo empezar!