Muchas gracias, David, acababa de contestar a José Luis y se me habÃa
pasado tu mensaje :) Intentaré buscar toda la información posible y
prometo preguntar sólo cuando me encuentre realmente atascado en algo,
lo prometo :) Tampoco era necesario una respuesta tan magistral, te
debe haber llevado media hora escribirla, te lo agradezco :)Como no sé
qué manuales técnicos hay ahora mismo para el MSX, ¿empezarÃa bien con
el MSX2 technical book ese?
Pero el screen 2 es aún más complicado que eso. Resulta que no tiene
una tabla de
patrones, si no 3, y no tiene una tabla de colores sino 3, y
evidentemente no tiene una
tabla de nombres, sino 3. Por qué? Porque digamoos que la pantalla
está dividida en 3.
AsÃ, cada zona de la pantalla tiene una tabla de nombres, con lo
cual, si en una
posición cualquiera del primer tercio de la pantalla encuentras el
valor 100, a la hora de
dibujarlo, el VDP irá a buscar la información en la primera tabla de
patrones, mientras
que si ese valor 100 está en la segunda tabla de nombres (segundo
tercio de pantalla),
irá a buscarlo en la segunda tabla de patrones. Esto permite que
podamos tener
definidos simultaneamente 256x3 = 768 carácteres!!! Aunque claro, no
podremos
moistrarlos todos a la vez. Es más, si quieres mostrar un mismo
carácter en la parte de
arriba y en la de abajo, deberás definirlo tanto en el patrón 0 como
en el 2 (primero y
tercero).
Si no es mucho preguntar, esas tres partes en que se divide la
pantalla, ¿son exactamente bloques de 64 pÃxeles de alto? Es para
calcular los espacios que necesito, en caso de que al final obtase por
hacerlo en screen 2.
De todas maneras, yo te aconsejo que definas unos patrones
correspondientes a las
letras de abecedario, números y signos de puntuación en el tercer
patrón, puesto que
ahà será donde irá el texto. Además puedes definir otros patrones en
la misma tabla de
patrones que definan marcos de texto, para hacer más bonita la
presentación. Los otros
2 tercios los puedes usar para definir patrones con información
gráfica.
Perfecto :)
cuando programaba en pascal. Si es posible hacerlo, ¿existe algún
comando en basic del msx2 para definir un ventana de texto, de
manera
que pueda escribir con scroll incluÃdo en la mitad inferior de la
pantalla? Como en las aventuras conversacionales tradicionales, ya
sabéis a qué me refiero.
No, no exite ninguno, pero puedes hacerlo tú mismo ;).
Supongo que en ese caso hará falta una rutina en ensamblador para
mover todo un bloque de texto una posición arriba y hacer una lÃnea en
blando debajo.
Otra solución es hacerla en SCREEN 2, y asà que sea compatible con
los
MSX de la primera generación. En este caso, al pasar gráficos con
el
comversor BMP2MSX, creo las imágenes .sc2 pero no sé cómo
cargarlas en
la VRAM, supongo que sera un bload, ¿cierto?
Ten cuidado que cuando cargues el bitmap transformado, esté
realizado de tal forma
que te conserve siempre los colores de las letras del texto (blanco
y negro
principalmente), y que el gráfico ocupe solamente los 2 primeros
tercios. Además, te
aconsejarÃa que primero cargaras el gráfico, y después definieras
los patrones de las
letras, números y signos de puntuación en el tercer patrón, por si
al cargar la imagen
los patrones de la tabla de patrones tercera se sobreescribieran.
Esto me parece que está relacionado con el problema que le acabo de
comentar a José Luis.
Un saludete a tà también y muchas gracias :)
Juanma