HispaMSX

De todo un poco: Z380, sprites, lenguajes, ...

2000-03-10 20:01:48
Va, 10 Marzo 2000

 Hola a todos.

Paso a hablar de todo un poco ....

1) Sobre lo de usar Sprites o Copys: Todo me parece bien. Segun cada juego,
una cosa es mas adecuada o no. Quien quiera forzar el uso de sprites,
perfecto ! Quien quiera probar con copys, perfecto(2) !
Creo que lo que importa es que se hagan juegos. Si son de calidad, y el
argumento es entretenido, que mas da como esten hechos !!!
Por mi parte, en el Sir Dan, no uso sprites-hardw, sino bitmaps. Eso me
permite manejar objetos de mayor tamaño, sin limitacion de colores, ademas
de permitir que ciertos elementos de los decorados "tapen" a los bichos.
Ademas, la rutina funciona en Screen 8, y sin gastar una pagina para "swap"
!!!
Para sprites, ya me esforce de sobra con el Vader, que permitia mostrar
hasta 100 sprites-hardware en pantalla, y casi sin parpadeos !! (solo el del
9 sprite por linea)

2) Sobre las ideas que teneis acerca del Z380, agradezco todas ellas.
Si bien, creo que deberia daros un poco mas de informacion acerca de la
tarjeta Z380, para que sepais que cosas se pueden hacer y cuales no.
Las caracteristicas basicas de la tarjeta son:
   -Un Z380 a 14.3 MHz, con memoria propia desde 0.5Mb hasta 128MB que se
accede de manera lineal, con direcciones de 32 bits.
El rendimiento de este procesador, es de 1 a 4 veces la de un R800,
dependiendo del codigo que se ejecute.
  -Una memoria de comunicacion con el MSX, de 1 KB.
  -El Z380 no anula al Z80 o R800, sino que trabaja a la vez que el MSX
  -El Z380 no puede acceder al hardware interno del MSX, por lo que el MSX
ha de actuar como "servidor hardware" del Z380 si fuese necesario. (Nota:
Aunque el Z380 pudiese acceder al hardware interno del MSX, no funcionaria,
porque dicho hard solo soporta 3.57 MHz en general)
 -El Z380 es compatible con el Z80, aunque añade nuevos modos,
instrucciones, bancos de registros, operaciones de mult / div, etc.

El inconveniente, es que la VRAM, FM, DISCO, etc va a seguir siendo el que
es, por lo que no se puede pedir peras al olmo.
La ventaja, es que dichos VRAM, FM; DISCO, etc se van a aprovechar al 100%
en lugar de al 20%, porque el MSX estaria todo el rato ejecutando los OUTs,
OTIRs, etc que le indicase el Z380.
Es decir, que los juegos irian de 2 a 10 veces mas rapidos o "suaves" que si
no hubiese Z380.

Ademas, el Z380 esta pensado para poder usarse en un expansor especial,
donde si puede acceder a 14.3 MHz y con 32 bits a cualquier periferico que
este insertado en dicho expansor. Por ejemplo, un GFX9000, se podria acceder
a 14.3 MHz en lugar de 3.57 MHz si se conecta en el expansor junto al Z380.
(Pero solo a 8 bits, salvo que se modificasen las conexiones del cartucho
GFX9000)



3) Sobre lenguajes de programacion para MSX (sea con o sin Z380) tengo
bastante que discutir:
  -El lenguaje C es importante porque hay muchas "fuentes" de PC o UNIX, y
mucha gente sabe programar en C. Pero el C, como lenguaje, es una MIERDA.
Parece hecho para "joder" al programador. El Pascal esta mucho mejor, aunque
menos difundido y evolucionado. Pero tampoco me interesa el Pascal.
 -Quien quiera hacer un compilador de C para MSX, que lo haga. Pero
probablemente no sere yo.
 -Ya hay compiladores de C para Z80/Z380, pero funcionando bajo PC. Quienes
esten muy interesados en el C, que prueben estos programas, y que nos digan
si los resultados son tan buenos como para hacer un compilador que funcione
bajo MSX.

-Tengo pensadas varias posibilidades de nuevos lenguajes para MSX,
orientados al Z380 (pero no obligatoriamente que lo necesiten). Dichos
lenguajes no serian compilados, sino interpretados. Pero mucho mas rapido
que el MSX BASIC, por supuesto. Se intentara que las instrucciones se
parezcan lo mas posible a las del MSX BASIC.
Sera un lenguaje orientado a MSX, que pueda usar todos los perifericos
existentes, a pleno rendimiento.
El ser "interpretado" en lugar de "compilado" tiene la ventaja de:
  . Que puede haber multitarea = varios programas ejecutandose a la vez.
Pues basta con ejecutar cada vez una instruccion de un programa distinto.
  . Que no se "cuelga" el sistema.
  . Que los programas ocupan menos incluso que en ensamblador
  . Que no impide insertar bloques en ensamblador.
  . Que se puede linealizar la memoria, incluso en un MSX sin Z380.
  . Que se puede implementar memoria virtual
  . Que es casi/igual/o-mas de rapido que un lenguaje compilado, porque a
cada instruccion del lenguaje, le corresponde una rutina en ensamblador de
manera directa. (No se van a hacer tantos calculos inutiles como en el MSX
BASIC, que hace busqueda de lineas, variables, etc...)
  . Que se puede modificar / ampliar muy facilmente.
  . Un monton de cosas mas, que no son posibles con lenguajes compilados.
  .Que es muy facil de implementar el "pre-compilador" y el "interprete",
por lo que es FACTIBLE de realizarlo para MSX, cosa que no pasa con un
compilador, que es MUY MUY dificil y complicado, y NUNCA va a quedar tan
optimizado como los profesionales de PC, UNIX, etc.

¿Mas razones?
Ademas, quien quiera usarlo, lo usa, y quien no, pues usa ensamblador, C, o
lo que sea.



Bueno, esto es todo.
Perdon por si es mucho "tocho", pero viene cargadito de "informacion", no ?

Aviso a los que respondan: Cuidado con los quoteos !! Mejor no quoteeis este
rollo , o nos vamos a liar. Poned algo asi como "Respecto a tal cosa, opino
que ...." y ya esta.

Gracias por vuestra atencion.
Esperamos que hayan disfrutado del vuelo.
No olviden desabrocharse el cinturon de seguridad antes de abandonar el
avion.

Chao !!

Daniel Zorita,  dzorita(_en_)teleline(_punto_)es



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