MSX2 vs Atari ST, duelo en las alturas

Página 21/28
14 | 15 | 16 | 17 | 18 | 19 | 20 | | 22 | 23 | 24 | 25 | 26

Por Kai Magazine

Paragon (1418)

Imagen del Kai Magazine

12-01-2015, 13:19

Eso sería estupendo LOL!

Por mohai

Paladin (971)

Imagen del mohai

12-01-2015, 15:12

¿Has mirado si Nestorbasic incluye algo asi?
Nestorbasic es una extensión del Kun Basic con algunas mejoras.

Salu2

Por mohai

Paladin (971)

Imagen del mohai

12-01-2015, 16:35

Kai Magazine wrote:

Que yo sepa los comandos VDP en msx2 llegan hasta el 24.
Los de 2+ que son el 25, 26 y 27 son exclusivos.

No puedes usar el vdp 27 en un msx2.
Por tanto no puedes hacer un scroll por hardware de 8x8
Si que se puede hacer por copys, pero se tendria que hacer copiando trozos de 32x212 a cada pixel que avance, y si lo haces avanzar de 2 en 2 como es el caso, trozos de 64x212. Son copys muy grandes y se relentizaria mucho. Ya hice pruebas hace muchos años.
Hice un scroll suave en msx2 avanzando los 16 pixels del set adjust, haciendo copys de 16x212 y avanzando pixel a pixel. El resultado era un scroll suave que hacia parpadeos cada 16 pixels, pero si lo hacia demasiado rapido, la vdp se dessincronizaba y empezaba a ensuciar todas las paginas de video de pixeles y fallos.
Entonces tenia que relentizar el scroll para evitar ese problema de des-sincronizacion para esperar a que terminase de copiar todas las operaciones (problemas de trabajar en paralelo) y pasar al siguiente punto del scroll.
El resultado final, para que no se corrompiese la vram, es que el scroll tenia que ir muy lento.
Seguro que se puede corregir o hacer de otra manera, pero yo lo dejé alli.

Pues me temo que en algo te estás equivocando, porque te puedo asegurar que el scroll horizontal del 2+ y del Turbo R, no hace ese efecto.
Si lo haces bien, sólo se debería mover el margen izquierdo.
Con el V9958 tienes la opción de enmascarar ese margen, para que sólo se mueva el área de los gráficos, no los bordes.
Desde BASIC creo que es el registro VDP(28).

salu2

Por Kai Magazine

Paragon (1418)

Imagen del Kai Magazine

12-01-2015, 16:40

Si, ayer toqué por primera vez la vdp de un 2+ o turbo-r. Nunca antes lo habia hecho, y dado que no encontré informacion al respecto (por eso he pedido informacion mas arriba en este hilo) tuve que experimentar modificando valores de la VDP y viendo que pasaba.
Se que con el set scroll va perfecto, el solito hace todas las funciones vdp juntas para conseguir que vaya como tiene que ir, pero no funciona en turbo-basic, por eso tuve que improvisar.

Necesito info de los comandos vdp de 2+

Por AxelStone

Prophet (3120)

Imagen del AxelStone

12-01-2015, 19:39

Je ya somos 2, toda info del VDP de MSX2+ es bienvenida. Aunque vaya, yo todavía sigo enfrascado en el MSX2, intentando perfilar lo que sería mi primer juego que aún no lo tengo claro. ¡Todos me parecen difíciles! LOL!

Por AxelStone

Prophet (3120)

Imagen del AxelStone

12-01-2015, 19:59

Ya tenemos respuesta Kai: VDP(27)=(N+7)\8: VDP(28)=-N AND 7

Eso equivale al SET SCROLL N en BASIC, funciona en Turbo Basic, lo he probado, el scroll va a toda ostia. Te enmascara el margen derecho, no sé por qué no enmascara el izquierdo, necesitará algún ajuste. Además habrá que meter algún wait o algo para evitar el dichoso efecto teering.

Por Kai Magazine

Paragon (1418)

Imagen del Kai Magazine

12-01-2015, 21:05

AxelStone wrote:

Je ya somos 2, toda info del VDP de MSX2+ es bienvenida. Aunque vaya, yo todavía sigo enfrascado en el MSX2, intentando perfilar lo que sería mi primer juego que aún no lo tengo claro. ¡Todos me parecen difíciles! LOL!

Axel, que acabas de empezar!
Y ya eres la envidia de muchos con lo que has adelantado en 1 semana!
Date tiempo, y experimenta mucho

Por Kai Magazine

Paragon (1418)

Imagen del Kai Magazine

12-01-2015, 21:06

AxelStone wrote:

Ya tenemos respuesta Kai: VDP(27)=(N+7)\8: VDP(28)=-N AND 7

Eso equivale al SET SCROLL N en BASIC, funciona en Turbo Basic, lo he probado, el scroll va a toda ostia. Te enmascara el margen derecho, no sé por qué no enmascara el izquierdo, necesitará algún ajuste. Además habrá que meter algún wait o algo para evitar el dichoso efecto teering.

Ok, luego lo pruebo

Por QBee

Rookie (18)

Imagen del QBee

12-01-2015, 22:00

Hola a todos, perdonad que me entrometa... pero siempre he pensado que tal vez, (ojo, no lo he probado) el scroll en MSX2 se podría conseguir pintando con line bf con el color del borde, pensando siempre que el ancho del line depende del paso (0 a 7) del scroll. Como creo que me he explicado como el cul0 lo intento de otra forma, suponiendo que se scrolla pixel a pixel, que el color del borde es 0, y el paso del scroll es s:
...
90 ' rutina de scroll
100 line (0,0)-(s,211),0,bf: ' Enmascaramiento de margen izquierdo
110 line (247+s,0)-(254,211),0,bf: ' Enmascaramiento de margen derecho
120 set adjust s,0: ' No recuerdo cual es el registro VDP para set adjust
130 ' variacion de s segun se pretenda scrollar (+1 ó -1)
...

Dicho de otra manera, se trata de eliminar siempre los 8 puntos izquierdos y derechos, teniendo en cuenta que con "set adjust" la cantidad a eliminar de cada uno de los extremos varía de forma inversamente proporcional.

Supongo que se consigue de manera similar en los 2+ y turbos, puesto que si no se desea mostrar el molesto movimiento se enmascara con el propio comando set scroll, vamos, que set scroll es un set adjust "camuflado".

Es solo una impresión ojo, los expertos que me saquen del error si no es así.

Por Kai Magazine

Paragon (1418)

Imagen del Kai Magazine

12-01-2015, 22:53

Si, es totalmente correcto, y cuando se "emula" un scroll suave lateral con msx2 se tiene que hacer "a mano" por software como describes. Por un lado hay que borrar la linea que sobra, y en el otro extremo copiar la nueva linea de informacion.

En este caso estamos intentando sacarlo por el hardware del 2+ para que sea mas rapido, pero si no encontrasemos la forma de enmascararlo por hardware, recuririamos al software.

De todos modos tu apunte es totalmente valido.
Gracias!

Página 21/28
14 | 15 | 16 | 17 | 18 | 19 | 20 | | 22 | 23 | 24 | 25 | 26