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. :D 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. :D 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.

Código: Seleccionar todo

LD IY,0
EI
HALT
DI
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!