HispaMSX

8 bits o 32 bits ?

2000-08-22 21:28:43
Hola,

Aqui expongo mis razones por las que me gustaria una CPU de 32 bits para un
nuevo MSX. ( Siempre que fuese compatible con los 8 bits del Z80,claro. )

Temas relacionados:

a) Facilidades para el programador.
b) Mayor capacidad del MSX BASIC.
c) Posibilidad de desarrollar aplicaciones mas potentes.
d) Realmente no es mucho mas caro que una CPU de 8 bits.


a) Facilidad para los programadores
=============================
Para qué 32 bits? Sin ir más lejos, el eZ80 es una CPU de 8 bits que
permite un espacio de direcciones lineal de hasta 16Mb. Qué tiene que ver
una cosa con la otra?

Pues tiene que ver en la manera de hacerlo.
Para que un Z80 acceda a mas de 64K, hay que paginar bloques de 16K.
El problema esta en acceder a estructuras de datos de gran tamaño, tales
como bitmaps de imagen, por poner un ejemplo.
Mientras que una CPU de 32 bits podria acceder a una palabra de 32 bits con
una simple instruccion maquina, una CPU de 16 bits de direcciones, tendria
que hacer un monton de calculos, buffers de lectura, etc.
Es decir, se pierde MUCHA eficiencia. De verdad !!

Para juegos, una CPU de 8 bits va de sobra, pues todo se puede optimizar
para que vaya mas o menos bien, y no se necesita usar mucha memoria para
mover 32 sprites, y hacer un scroll por caracteres.
Pero si se quieren aplicaciones mas complejas, empieza a haber problemas.

Otro caso: Yo tengo una ampliacion de memoria de 4 MB. Incluso mi GT tiene
512 KB internas.
Pero no tengo ningun programa de MSX que necesite mas de 128 KB de RAM.
?Es por que no se necesita usar mas memoria??
No, es porque

.- Es muy complicado manejar mas memoria. Se puede hacer, si, pero dedicando
mucho mas tiempo, con algoritmos mucho mas complicados.

.- Se pretende mantener la compatibilidad con MSX2-128KB RAM (Aqui ya no se
puede hacer nada mas. Si se superan las 128 KB, habra menos usuarios
potenciales de las aplicaciones/juegos). Incluso en japon, muchos MSX2 con
disco, solo tienen 64 KB de RAM.


 La cuestion principal es: La arquitectura hardware solo la van a ver
directamente los programadores. Al usuario le da igual que le digan que son
8, 16 o 32 bits, si la aplicacion funciona bien.
Pero para el programador, en segun que casos, la limitacion de 64KB de
direccionamiento es muy grande. (excepto para juegos pequeños,
diskmagazines, demos, etc)

Uno de los mayores problemas del MSX, es la poca cantidad de Soft.
(Afortunadamente se siguen haciendo cosas, y muy buenas. Pero son pocas)
Si la gente quiere mas Soft, ha de comprender que los programadores exijan
mejores condiciones para desarrollar.
Hay muy buenos programadores en 8 bits, y creo que muchos son mejores que
algunos "aficionados" a programar para PC en 32 bits. Pero la ventaja de los
32 bits hace que los segundos logren programas muy potentes con poco
esfuerzo, mientras que los primeros se "maten" para hacer aplicaciones poco
potentes.




b) Mayor capacidad para el MSX BASIC:
===============================
Una consecuencia muy negativa que ha tenido el hecho de que el MSX tenga una
CPU de 8 bits, es que, aunque en ensamblador se pueda acceder a mas memoria,
en BASIC se esta limitado a 28 K !! en el mejor de los casos !!
Y si manejas Turbo Basic, o Nestor Basic, solo dispones de unas 8 K !!!!
Una CPU de 32 bits, no tendria ninguna limitacion para el BASIC.
A nadie le gustaria poder hacer programas en BASIC de 200 K ???
Creo que entonces, mucha gente que no quiere aprender ensamblador, se
pondria a programar, y haria cosas que nos dejarian boquiabiertos, tan solo
en BASIC.


c) Posibilidad de realizar aplicaciones mas potentes
=========================================
Recordais lo lento que se veian los slideshows en las reuniones de usuarios
??
Lo lento que se descomprimian los JPGs ??
Que no se podia ver mediante Zoom o Scroll JPGs grandes, al no caber el
bitmap total en memoria, y habia que volver a cargar de disco ??

Es un claro ejemplo de donde los 8 bits se quedan cortos.

Ahora se esta intentando conectar el MSX a internet. Parece ser que se ha
logrado mucho, con todo lo del UZIX y otros proyectos.
Pero que les pasara a estos programadores cuando se planteen hacer un
navegador ??
Pues que estaran muy limitados por los 8 bits, ( asi como por la poca
resolucion de los Screens) y tendran que hacer navegadores muy
simplificados, donde nunca las paginas web se veran igual que desde un PC.

Lo mismo pasa si se quiere hacer un sistema operativo con interfaz grafico
(es decir, como el windows, aunque bien hecho, claro).
Que la resolucion es un problema mayusculo.
Y que los 8 bits, y el acceso a memoria, complican sobremanera cosas tales
como:
-Manejo de fuentes de tamaño variable ( Dificultad para generarlas, y para
almacenar los bitmaps generados )

O es que a nadie le interesaria un editor de textos para MSX, a medias entre
el wordpad y el word de windows ??


c) Realmente no es mucho mas caro que una CPU de 8 bits.
================================================
La razon de que una CPU de 32 bits encareceria mucho mas un nuevo MSX, no me
parece valida.
-Que cuesta un Z380 ? 3..7 mil pelas ??
-Que cuesta poner 16 lineas mas de direccion, y 8 mas de datos en el bus ??
La baquelita y el cobre tienen un coste despreciable, si hablamos de poner
24 lineas extra.

Estoy seguro de que si se hacen cuentas, el cambiar el Z80 por un Z380 u
otra CPU compatible de 32 bits, aumentaria el costo del sistema en un 5 o a
lo sumo un 10%.

Entonces, que prefeririais:

1-) Un MSX-3 de 8 bits a 30 mil pelas
2-) Un MSX-3 de 32 bits a 35 mil pelas ?

Realmente se lo que digo. Tengo la suerte de conocer a fondo la tarjeta Z380
de Padial, y es muy compacta. Un Z380 no ocuparia mucho mas que un Z80 en
una placa base.

Lo que me pregunto es: Si Padial logra hacer una tarjeta Z380 para venderla
a 35 mil pesetas, cuando ha tenido que hacer TODO el SOLO, desde diseñarla,
programar los PDLs, soldar todos los componentes SMD, viajar para comprar
chips.
Por cuanto dinero lo podria haber hecho una multinacional como SEGA ??
Por 7 mil pesetas ??
Sospecho que incluso por mucho menos.

  Y ahora que saco el tema del Z380 de Padial, no penseis que os estoy
soltando todos estos discursos porque este interesado en venderosla.
Precisamente, si un nuevo MSX llevase un Z380 interno, la tarjeta de Padial
perderia muchos puntos, y no tendria sentido mas que para ampliar antiguos
MSX.
Asi que estoy defendiendo el concepto de un nuevo MSX de 32 bits, aunque eso
perjudique lo que estoy programando ahora para Z380.


= FIN =


  Bueno, nada mas.

Estas han sido mis razones para defender una CPU de 32 bits compatible con
el Z80. Respeto, y hasta comprendo las opiniones de los que prefieren un
simple Z80.

  Saludos.

            Daniel Zorita.



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