HispaMSX

Re: MSX: Screen 2 y 4

2000-11-02 23:26:14

    Hola!

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)

    Desconozco el grado de usuarios que sabian como es REALMENTE el Screen
2, lo que ocurre es que al leer por la lista lo del Extra-Screen, pues
supuse que mucha gente no lo tenía claro. Pues el articulo que yo leí en la
MSX-Club sobre el Extra-excreen era pues el screen 2 tal y como lo usa
Konami y demás... SI que le podríamos llamar Extra-Screen para el que
trabaje en Basic, pero a nivel de ensamblador pues no sería correcto.

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.

    Personalmente yo lo descubrí cuando programé el AmiMSX, emulé el modo
'extra-screen' para que funcionasen los juegos de Konami y demás... Luego
cuando fuí a ponerme 'manos a la obra' para emular el screen 2 cual fué mi
sorpresa que.... YA LO TENGO EMULADO!!!!! ^.^! Increible...

    De todas formas yo creo que hay mucha gente que desconocia esto, entre
ellos un afamado pogramador que prefiero no decir su nombre!!!! (nota para
xxxx: Te acuerdas en Tele-Pizza cuando te lo expliqué!!!!)

Konami y la mayoría de compañias en su día NO les interesaba usar
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.

    Cuando digo manipular el VDP, me refiero a usarlo como un modo de tiles,
y no como una SIMULACION de bit-map como hace el Basic.

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.

    Nunca he tenido Spectrum, el termino 'bit-map' lo uso refiriendome a que
lo que obtienes es una pantalla de 256x192 pixels donde puedes dibujar 'a tu
bola' circles, lines, etc... osea que el tema de los tiles es 100%
trasparente. Me entiendes ¿no?


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 recuerdo que hablaba de un modo de tiles donde podias poner dos
colores por cada linea horizontal de cada caracter. OSEA, el screen 2 tal y
como se diseñó en el VDP. Lo que ya he dicho antes, que la GRAN mayoria de
la gente (aunque tu no lo pienses así) REALMENTE creia que el SCREEN 2 era
una pantalla de 256x192 pixels para DIBUJAR, OSEA, que NO era un modo de
TILES.

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.

    Yo nunca he oido hablar del truco de UN SOLO banco de tiles para screen
2, pero sabía que existia porque tuve un par de programas que lo usaban y en
mi emulador no funcionaban. Unos cuantos años más tarde lo pregunté por
HispaMSX y me digeron que en una MSX-Club se decía algo de esto, pero yo no
la he encontrado. Por superte MkII se puso como una loca haciendo pruebas y
LO CONSIGUÓ, increible, encontró una aguja en un pajar!!!!!!

    Lo que A MI me parece extraño es que si hace TANTO tiempo que se sabe
esto, porque lo ha usado TAN poca gente, y porque ningún emulador lo
soporta????? Yo pienso que esto lo sabía POQUISIMA gente.

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.

    He probado el Ark-A-Noah en TODOS los emuladores que hay de MSX para
pecera y no funciona en NINGUNO. O se bloquean, o sale SOLO la primera
pantalla de los tiles. Y NINGUNO pilla el overscan!!!!! ^.^!

    En el BrMSX precisamente se bloquea antes de aparecer el menú.

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

    Es posible. Pero muy extraño que con una sola mano pueda contar todos
los juegos que han usado este modo de UN solo banco de tiles.

    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.

    Exacto. Se gana UNA barbaridad de CPU.

    Saludos!

    Darth-007!





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