--- 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