Como se portaba del Spectrum???

Avatar de Usuario
mj8bit
Mensajes: 236
Registrado: 07 Jul 2011 12:12
Ubicación: Ecija
Agradecido : 63 veces
Agradecimiento recibido: 18 veces

Como se portaba del Spectrum???

Mensajepor mj8bit » 02 Jul 2013 12:06

Hola a todos,
Ya hemos hablado muchas veces de los ports Speccy a MSX, pero me gustaría saber como lo conseguían y
¿Por que mi MSX se comportaba como un spectrum cuando cargaba uno de estos ports?
Saludos,

Avatar de Usuario
VooD
Mensajes: 949
Registrado: 11 Abr 2011 22:19
Ubicación: Málaga
Agradecido : 12 veces
Agradecimiento recibido: 59 veces

Re: Como se portaba del Spectrum???

Mensajepor VooD » 02 Jul 2013 12:33

Supongo que puesto que en el Spectrum todo se hacía por software desde la CPU no resultaba difícil. En el Spectrum no había sprites por hardware, ni cosas raras, todo era CPU pura y dura, así que realizar un port sería cuestión de "simplemente", de inicializar las características específicas del video del MSX, adaptar la dirección de memoria en la que se encontraba el framebuffer, y cambiar las rutinas de entrada.

En definitiva, seguramente un programador experto podría hacer un port (malo) de Spectrum a MSX en una tarde.

Avatar de Usuario
ferix
Mensajes: 1009
Registrado: 28 May 2012 21:01
Agradecimiento recibido: 8 veces

Re: Como se portaba del Spectrum???

Mensajepor ferix » 02 Jul 2013 13:38

En realidad el sistema de video del MSX funciona de forma muy diferente al del Spectrum.

En el Spectrum, como bien dice VooD, el framebuffer está mapeado en memoria, y si no recuerdo mal son aproximadamente 6K a partir de la ROM, es decir, a partir de $4000, dónde se almacena la imagen en formato de mapa de bits de 1 bit por pixel, es decir 8 pixels por byte, y a continuación los atributos para cada bloque de 8x8.
Efectivamente todo lo relacionado con sprites se realizaba a base de CPU.

Por otro lado, el MSX tiene varios modos de vídeo, incluyendo uno muy similar al del Spectrum, pero el buffer de pantalla no se encuentra en la memoria accesible por la CPU, sino que se accede a través de varios puertos de I/O ($98 a $9B). A través de estos puertos se configura el modo de funcionamiento del VDP (Video Display Processor) y se puede acceder a la memoria de vídeo utilizando unos registros internos de este que funcionan como punteros hacia la memoria de vídeo.

En el caso del VDP del MSX, sí que existe posibilidad de utilizar sprites controlados por hardware, que aunque algo limitados si los comparamos con los del C64, bien programados pueden hacer auténticas virguerías.
Otra característica del VDP es que puede generar una interrupción en cada periodo de retrazado de la imagen, es decir 50 veces por segundo.

Los malos ports de Spectrum, por lo general, no tocaban prácticamente nada del código, manteniendo la gestión de sprites por software y simplemente se limitaban a añadir una rutina de interrupción que hacía un volcado del framebuffer en memoria al framebuffer del VDP a través de los puertos de I/O de este, como hemos visto arriba.

Ahora bien, esto quizás pudiera funcionar medianamente bien si el juego no requería de mucha potencia de proceso (de hecho se hace en el "emulador" de pacman para el +3 y va como un tiro), pero por un lado lo tedioso de copiar byte a byte el framebuffer de video al VDP, y segundo que la disposición del framebuffer del VDP no es líneal como la del spectrun, sino que orientada "a carácter", si el programador no utilizaba algún otro truco para ganar algún ciclo extra acababa ralentizando excesivamente cualquier juego.

Por otra parte estaba el tema del audio, que no solía pasar de los "beeps" del Spectrum "apañados" para sonar a través del hardware del MSX, bastante superior en este aspecto y muy cercano, sino idéntico, al del 128K pero del que raramente se aprovechaban en estas conversiones.

Supongo que también habría algún buen port de spectrum, pero por el momento no me he encontrado con ninguno.

jltursan
Mensajes: 3081
Registrado: 20 Sep 2011 13:59
Agradecido : 258 veces
Agradecimiento recibido: 768 veces

Re: Como se portaba del Spectrum???

Mensajepor jltursan » 02 Jul 2013 20:22

¿Por que mi MSX se comportaba como un spectrum cuando cargaba uno de estos ports?


Porque los programadores eran unos curritos tan sacrificados como los de ahora y con unos jefes con huevos como melones.

En el libro "8 Kilates" se cuentan muchas de estas batallitas y en algún momento, alguno de los responsables de la época entrevistados deja caer que muchas veces no se mimaba ciertos productos porque simplemente "se vendían como churros fuera lo que fuese" (creo que haciendo referencia al PCW).

Si no recuerdo mal; lo más sangrante y absurdo que he visto, son algunas de las conversiones a Amstrad. Un sistema bitmapped en el que se imitaba hasta el mapa de atributos de color del Spectrum (con el agravante de las limitaciones de color en esos modos del Amstrad claro). Ridiculo.

Avatar de Usuario
ron
Mensajes: 19157
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2158 veces
Agradecimiento recibido: 1949 veces

Re: Como se portaba del Spectrum???

Mensajepor ron » 02 Jul 2013 21:24

Yo lo que tengo más o menos entendido viene a ser que los programadores que realizaban los ports, crearon unas rutinas de conversión de Spectrum a MSX, pero muchas veces debido a que les pagaban una mierda, los juegos solo se portaban y punto.

Mismamente solo hay que ver ciertas cintas de MSX en las que parece que el video está deformado y solo es un efecto del port. Probad el mismo juego emulado para ahorrar tiempo en ZX, MSX y CPC, aunque nada como en máquina real. Por tanto, ¿ qué paso ?, ¿ prisas, promesas, dineros, movidas ?, y eso que muchos genios de la época lo han contado largo y tendido en varias entrevistas que se pueden encontrar fácilmente en webs de retro.

Como el CPC consume el doble de ram para video que el MSX y el Spectrum, si el juego era viable en 48K desde CPC entonces se iniciaba el desarrollo. Pero eso si, se comenzaba en Spectrum. Al final lo que obtenías para MSX ( hasta que probabas un cartucho de Konami y se te deformaba el careto del cambio ) era algo muy similar a lo que tenías en un Spectrum y en algunos flagrantes casos incluso peor.

Para desarrollar un juego ( ahora entra la multiplataforma ... ) que fuera compatible con los 3 micros más populares ( ZX, CPC, MSX ) , los programadores diseñaban tres juegos, uno para cada plataforma, aprovechando muchas veces código pero no especialmente el que gestiona gráficos y sonido pero si CPU y lógica de juego, ya que calzan un Z80. Sin embargo, el proceso resultaba tedioso y muy poco rentable para las compañías hasta la llegada de las herramientas profesionales como el PDS (Programmers Development System), que es por decirlo de alguna manera la más conocida.

Aquí es donde la industria hace de las suyas... Desde el ordenador ( PC, Amiga o un Atari ST) se diseñaba el juego y después se enviaba directamente ya compilado a través de un cable conectado a las tarjetas y a la memoria del micro. De esta forma los desarrollos se gestionaban mucho mejor y más rápido y de forma dinámica y simultanea para tener los lanzamientos en fecha. Por mor de la potencia de los ordenadores desde donde se desarrollaba, podían hacer cuantos cambios necesitasen directamente sobre la memoria para comprobar el funcionamiento de los distintos elementos y depurar errores prácticamente en tiempo de ejecución.

El PDS es capaz de generar mediante toolchain cruzada binarios compilados para cada micro. Interesante, ya que es capaz de gestionar las capacidades gráficas, de audio, de memoria u otras y estas si que no son las mismas entre ZX, CPC y MSX. Bueno para el propietario del PDS y muy malo para los usuarios de a pié. Menos mal que la scene como siempre, ha puesto a casi todos en su sitio.

La primera versión que se desarrollaba era la de Spectrum y posteriormente se portaba con mínimos cambios a MSX y CPC. La inmensa mayoría de los juegos de la época son conversiones directas de Spectrum, cosa que encabronó bastante en su día a los usuarios y jugones de Amstrad y MSX ( ya tenía delito ), porque pagaban por juegos que eran gráficos y sonido de Spectrum. Y ellos no tenían un Spectrum y lo sabían, ( sigue teniendo delito ). Otras casas nacionales como Opera cuidaban un poco más este aspecto pero se salvan muy pocos.

En fin, no se aprovecharon las capacidades hardware de los micros ( la scene se encargó de ello ) , porque el objetivo era desarrollar rápido y vender mucho.

Avatar de Usuario
ron
Mensajes: 19157
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2158 veces
Agradecimiento recibido: 1949 veces

Re: Como se portaba del Spectrum???

Mensajepor ron » 02 Jul 2013 22:08

para MSX y hacerse la idea...

http://www.youtube.com/watch?v=kVGVMQeqeBM

abeast102.zip
(140.54 KiB) Descargado 170 veces


gngoblins110.zip
(57.78 KiB) Descargado 176 veces

Avatar de Usuario
htdreams
Mensajes: 703
Registrado: 12 Nov 2012 19:34
Agradecido : 74 veces
Agradecimiento recibido: 77 veces

Re: Como se portaba del Spectrum???

Mensajepor htdreams » 03 Jul 2013 01:55

@ron: Mis HOGOS!! -hypo

En fin, coñas aparte, y aprovechando que este port del "altered color" corre a cargo de los barceloneses New Frontier (más tarde conocidos como Bit Managers), y aunque sus juegos nunca fueron éxitos rotundos, siempre me gustó el que acompañasen las producciones con una música muy chula (para lo que las producciones occidentales nos tenían acostumbrados en MSX, que salvando alguna honrosa excepción como Ocean, dejaba bastante que desear).

Para muestra un buttón:

http://youtu.be/b1JMKQw5Hc0

Avatar de Usuario
ron
Mensajes: 19157
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2158 veces
Agradecimiento recibido: 1949 veces

Re: Como se portaba del Spectrum???

Mensajepor ron » 03 Jul 2013 09:39

De forma totalmente fehaciente no hay más que fijarse en las pantallas y a primera instancia uno piensa que se trata de un spectrum, creo que solo la gente que está muy acostumbrada a ver estos juegos es capaz de de determinar a simple vista que se trata de un port de spectrum sobre MSX, un profano ya te digo que a primera instancia ( sin sonido ) no sabría diferenciar si se trata de un Spectrum o de un MSX. Re-juas ! es que al ver ese attribute clash de entrada ya deja a uno muy mosca, precisamente por lo evidente que es.

Como comentaba antes, y ahora htdreams deja caer, si yo tengo un MSX ¿ por qué me tengo que conformar con los títulos que son portados de otro ordenador cuando el mío es mucho más capaz ?. Esto no hace más que reforzar la especulación sobre si se iba a mucha cantidad y poca calidad. Pero ahí está la hemeroteca.

Podíamos hacer un ejercicio conjunto y hacer una lista de los ports flagrantes de Spectrum a MSX, a mi me interesaría saber cuales son ports a pelo y cuales son aquellos en los que se esforzaron un poco más.

De hecho se sabe que hay muchos títulos desarrollados ( portados ) en MSX de juegos de Spectrum que no llegaron a ver la luz ( las razones os las podéis imaginar ), pero tengo que rebuscar en que web era ya que ahora mismo no me acuerdo, pero haberlos hay-los.

Avatar de Usuario
mj8bit
Mensajes: 236
Registrado: 07 Jul 2011 12:12
Ubicación: Ecija
Agradecido : 63 veces
Agradecimiento recibido: 18 veces

Re: Como se portaba del Spectrum???

Mensajepor mj8bit » 03 Jul 2013 16:45

Señores, es un gustazo preguntar algo en este foro.
Lo he entendido hasta yo -hypo
Aquí http://en.wikipedia.org/wiki/Attribute_clash hablan sobre el attribute clash y el porqué en los MSX.
Como os comenté en la pregunta, al cargar un port de spectrum tecleaba "bload"cas:",r" y comenzaba la carga en perfecto MSX hasta que llegado a un punto zaasss!!! empezaba a sonar como un spectrum con sus rallas de colores y todo.... De hecho yo pensaba, si tubiera un spectrum, probaría la cinta en esa parte donde cambia el sonido a ver si carga.

Avatar de Usuario
VooD
Mensajes: 949
Registrado: 11 Abr 2011 22:19
Ubicación: Málaga
Agradecido : 12 veces
Agradecimiento recibido: 59 veces

Re: Como se portaba del Spectrum???

Mensajepor VooD » 03 Jul 2013 17:18

mj8bit escribió:Señores, es un gustazo preguntar algo en este foro.
Lo he entendido hasta yo -hypo
Aquí http://en.wikipedia.org/wiki/Attribute_clash hablan sobre el attribute clash y el porqué en los MSX.
Como os comenté en la pregunta, al cargar un port de spectrum tecleaba "bload"cas:",r" y comenzaba la carga en perfecto MSX hasta que llegado a un punto zaasss!!! empezaba a sonar como un spectrum con sus rallas de colores y todo.... De hecho yo pensaba, si tubiera un spectrum, probaría la cinta en esa parte donde cambia el sonido a ver si carga.


¿En qué juego?

Avatar de Usuario
mj8bit
Mensajes: 236
Registrado: 07 Jul 2011 12:12
Ubicación: Ecija
Agradecido : 63 veces
Agradecimiento recibido: 18 veces

Re: Como se portaba del Spectrum???

Mensajepor mj8bit » 03 Jul 2013 17:47

El cualquiera de Erbe o Dinamic, creo recordar...

Avatar de Usuario
Taburoto
Mensajes: 1404
Registrado: 15 Mar 2011 00:40
Agradecido : 24 veces
Agradecimiento recibido: 164 veces

Re: Como se portaba del Spectrum???

Mensajepor Taburoto » 03 Jul 2013 18:28

Es cierto,podeis hacer la prueba,yo la hice en su dia......

En el MSX cargad una cinta que tenga carga Spectrum.....Mad Mix Game,por ejemplo.........cuando haya cargado el cargador y se ponga el borde de colores esperando datos de de la cinta,sacad la cinta y colocar una de spectrum debidamente posicionada en un bloque de pantalla de spectrum (Screen$) pero sin la cabecera,solo el bloque de la imagen.....

Misteriosamente cargará la imagen de Spectrum en el MSX!!! Como si de un emulador se tratase.

Avatar de Usuario
ferix
Mensajes: 1009
Registrado: 28 May 2012 21:01
Agradecimiento recibido: 8 veces

Re: Como se portaba del Spectrum???

Mensajepor ferix » 03 Jul 2013 19:55

¿pero el juego arranca despues?

Supongo que no, pero si lo hace es casi seguro porque carga una especie de "layer" que simula el speccy, aunque se me hace muy extraño, porque aunque sea capaz de "emular" la pantalla del spectrum, no hay control sobre el I/O, y el teclado, por ejemplo, no funcionaría.

Támbien es posible que los juegos de esas compañias funcionen sobre un mini sistema operativo que abstraiga al juego de las diferencias entre máquinas... pero me parece mucho para los programadores de la época...

Avatar de Usuario
ron
Mensajes: 19157
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2158 veces
Agradecimiento recibido: 1949 veces

Re: Como se portaba del Spectrum???

Mensajepor ron » 03 Jul 2013 20:06

Hay rutinas que leen volcados de cinta, de hecho se sabe, lo que supongo es que el código que se cargue ya será el port MSX, conteniendo las rutinas y las llamadas al HW del MSX, es de suponer también que el código spectrum se cargué, pero que luego se cuaje en cuanto haga la primera llamada al HW. No se si me he explicado bien, pero eso es lo que supongo. Livinstong ?

Otra ironía ya es ...

http://www.youtube.com/watch?v=lNdiHakRVKU

Avatar de Usuario
Taburoto
Mensajes: 1404
Registrado: 15 Mar 2011 00:40
Agradecido : 24 veces
Agradecimiento recibido: 164 veces

Re: Como se portaba del Spectrum???

Mensajepor Taburoto » 03 Jul 2013 20:09

Solo carga la imagen....

Avatar de Usuario
ron
Mensajes: 19157
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2158 veces
Agradecimiento recibido: 1949 veces

Re: Como se portaba del Spectrum???

Mensajepor ron » 03 Jul 2013 20:11

Las imágenes se cargarán todas, pero luego el programa puede que cargue porque la rutina lo permita, está claro que no va a funcionar, por eso es un port a MSX.


Volver a “MSX”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado