HispaMSX

Re: MSX: Screen 2 y 4

2000-11-02 12:13:44
--- In hispamsx(_en_)egroups(_punto_)com, "Darth-007!" <joanant@a...> wrote:

La mayoría de los usuarios conocemos todos los modos que posee el MSX
cogiendo como BASE cada SCREEN del MSX-BASIC.

Es una manera de entendernos. Es mas facil decir Screen 4, que 
decir 'el modo VDP con R#1 a tal valor, R#2 a tal otro, etc..."
Ya sabemos que Screen 2 y 4 son lo mismo, salvo el modo de sprites.


Pero hay un pequeño detalle que no TODOS sabemos.
Los screens 2 y 4 del MSX-BASIC *NO* son como el VDP los controla,
osea. Muchos dicen que los screens 2 y 4 son de tipo Bit-Map,

Hombre, hasta ahora, no lo habia oido nunca. Yo siempre entendia que 
Screen 2 era un modo de 'caracteres', pero que habia 3 bancos, para 
poder dibujar cualquier cosa en toda la pantalla. (El termino bitmap 
era desconocido por entonces para la mayoria de gente)

y *NO* es cierto. Lo que ocurre es que el
MSX-Basic "manipula" estos modos para que creamos que son de tipo
bit-map, y  de este modo podamos hacer LINES, Circles, etc...
    ¿Que ocurre exactamente?
(......)

Gracias por la explicacion, que servira para quienes desconociesen 
ese hecho. Aunque esa es una de las primeras cosas que se aprende al 
empezar a hacer pruebas de Vram en un MSX1.

Konami y la mayoría de compañias en su día NO les interesaba usar el
Screen 2 tal y como los empleaba el MSX-Basic, así que decidieron 
usarlo a su manera, manipulandolo directamente del VDP.

Bueno, es que Konami no programaba en Basic, sino en ensamblador.
Y no hay que manipular el VDP para nada. Quiza te refieras a que 
basta escribir en la Vram, en las direcciones 6144..6911 donde estan 
los codigos de los 768 caracteres que forman la pantalla. Eso es algo 
completamente normal, y no es ningun truco.

 Puede ser que los que hayais trabajado mucho con un Spectrum 
creyeseis que el MSX trabajaba de igual forma. El Spectrum, realmente 
es 'bitmap'. El MSX1 nunca lo ha sido.

 
El articulo sobre el EXTRA-SCREEN de la MSX-Club no es más que el 
Screen 2 pero usado tal y como se diseñó en el VDP.
Por eso,que NADA de extra-screen,lo que tenemos es una SIMULACION de
un modo Bit-map en los MSX1 mediante el MSX-Basic.

Mmmm... no se de que articulo hablas exactamente. Pero si dice tales 
cosas, es que no esta bien redactado, o el que lo escribio no se 
enteraba muy bien. Pero eso ya da igual.

Yo opino que el modo normal de trabajo en Screen 2, es con los 3 
bancos de 'caracteres' (llamalos 'tiles').
Y que el modo 'extra' consiste en desactivar el segundo y tercer 
banco.
 
El screen 2 SIEMPRE se ha usado con tres tipos de bancos 
independientes,
porque el truco de usar UN SOLO banco no está documentado
en ninguna parte
(que yo haya podido tener acceso)

En efecto, no esta documentado en ninguna parte, lo cual no quiere 
decir que no se haya usado nunca. Como todos los MSX usan chips de 
video de yamaha, este 'truco' se puede considerar standar. Pero si 
otra compañia hubiese fabricado VDPs compatibles, habria habido la 
posibilidad de que este 'truco' fuese incompatible. Afortunadamente, 
no paso eso.


Los emuladores de MSX *NO* soportan el Screen 2/4 con UN solo
banco de
tiles, excepto el mio que lo he soportado hace poco.
Por eso el Ark-a-noah
NO funciona correctamente en ningún emulador.

Bueno, por ahi han dicho que algun emulador si que soporta eso.
Pero no es un tema que me preocupe, pues los emuladores son un 
complemento que no forman parte del standar MSX. Por ejemplo, si un 
emulador permite mas sprites por linea que un MSX real, pues 
estupendo, pero eso no ha de sentar precedente para el standar.
Muchos emuladores son experimentales, y no emulan todas las 
caracteristicas. Afortunadamente, los sufridos programadores de 
emuladores, siguen mejorandolos, incluyendo cada vez mas cosas.
Otro caso es el Z80, que tiene instrucciones no documentadas, pero 
que si que incluyen los emuladores.

Sobre el mail de Daniel Zorita he de anotar que el 99% de los
juegos que  usan el screen 2 lo hacen con TRES bancos
independientes, ya que, en mi
opinión, el modo de UN SOLO banco de tiles no estaba documentado
OFICIALMENTE, y no se empezó a usar exporadicamente hasta los 90's.

Yo me referia a que los juegos de Screen 2, usaban 1 solo banco 
distinto de caracteres. Eso no quiere decir que desactivaran los 
otros 2 bancos, sino que los 3 bancos contenian los mismos datos.
Para saber que juegos desactivaban los otros 2 bancos, habria que 
probar con un emulador que indicase este estado del 'VDP'. Si tu 
estas haciendo un emulador, mejor sabras que nadie, si antes de los 
90 hubo algun juego que desactivara bancos del VDP.
Pero yo recuerdo haber leido y probado eso, hace muuuuchos años, 
antes del 1990. No es un secreto reciente ...

    Espero que os haya servido esta aclaración!!!

Nunca esta de mas recordar las cosas ...
Permiteme completar la 'clase' explicando para que sirve desactivar 
los 2 bancos esos:
1- Liberar espacio en la VRAM ( liberas 8 K) para almacenar otros 
datos. En un MSX1 esto es muy interesante. En un MSX2, al haber 128K 
de VRAM, esto ya no es tan crucial.
2- En juegos en que haya que redefinir dinamicamente los caracteres, 
para lograr un 'scroll', al haber 1 solo banco, solo hay que 
redefinir 1 caracter, en lugar de 3 (uno en cada banco). Asi se 
ahorra proceso de CPU.

    Saludos!
    Darth-007!
  Igualmente.

     Daniel Zorita




<Anterior en la conversación] Conversación actual [Siguiente en la conversación>