Megadrive + Mega CD

Tengo una duda a raíz del hilo de los beat-em'ups, pero que me he preguntado varias veces... a ver si me lo podeis aclarar.
Así como la 32X es una consola "independiente" que usa poco o nada la MD, qué pasa con la MegaCD? también usa la MD como I/O y punto? Los juegos de MegaCD aprovechan los 2 68000 o sólo el de la MegaCD? La RAM y la VRAM de las dos consolas o sólo las de una de ellas?

Sospecho que la MegaCD es independiente en este sentido, si no fuera así los juegos de MegaCD deberían ser mucho mejores,.... pero no estoy seguro

Por otra parte, la MegaCD sigue con la misma triste paleta de colores de la MD, cuando si fuesen "independientes" podria usar una paleta mayor...
El MegaCD es un ADDON y es la Megadrive lo que lo gestiona por lo tanto si que utiliza los dos motorolas y si también utiliza la misma paleta de colores que tiene la megadrive ya que no ha cambiado nada.

El MegaCD que yo sepa no tiene VRAM.

Saludos.
La Mega CD usa la paleta de colores de Mega Drive, de ahí las escasa calidad en colorido de muchos vídeos de introducción y eso, aunque creo que tenía algo ahí que le permitía superar el límite, pero lo usaron en pocos juegos. Uno de ellos creo que era el Eternal Champions de Mega CD.
Según comentan en este artículo, ambas CPU no pueden procesar un mismo código en paralelo.

The core of the Sega CD architecture was a central 68000 processor that ran at 12Mhz and could operate in tandem with the 7.6Mhz Genesis' 68000 CPU. The Sega CD's CPU, however, is not considered to be significantly more capable than that of the Genesis CPU. Furthermore, both processors can not be employed in processing the same code simultaneously. This meant that most games would use the Sega CD's central processor for game code which would then be streamed to the Genesis RAM and displayed by the Genesis VDP. As a result, the Sega CD can not be considered a dual processor system.


http://gendev.spritesmind.net/forum/vie ... 122a0ff7c6

Y de ser esto cierto, tampoco se puede considerar al MegaCD como una consola independiente, ya que necesita, al menos, el VDP de la Megadrive (aunque no creo que le costara mucho añadir, en el caso que quisieran hacerlo independiente).

Sobre los colores, algunas páginas comentan que durante el diseño del MegaCD se incluyó hardware para mejorar la paleta de colores, pero finalmente se desechó (en favor del chip para rotaciones y zoom) para no aumentar más el precio del producto final.
Hay que tener en cuenta dos cosas,el MegaCD salio demasiado pronto en Japón , logico por un lado pero por otro no, si no saliese asta 2 años después quizás hubiera no salido o salido con una especie de SVP dopado , lo cua nos ahorraría el 32X y de paso hubiera tenido mas ventas , pero así eran los de SEGA.
Según comentan en este artículo, ambas CPU no pueden procesar un mismo código en paralelo.


¿No? Entonces la pregunta es: ¿Porque los emuladores en algunos juegos necesitan que ambos procesadores se sincronicen sino utilizan los dos? ¿Puede haber dos códigos?

Saludos.
AlterNathan escribió:¿No? Entonces la pregunta es: ¿Porque los emuladores en algunos juegos necesitan que ambos procesadores se sincronicen sino utilizan los dos? ¿Puede haber dos códigos? Saludos.


En la página que he enviado, en el segundo mensaje comentan esto:

That's not completely true. The fundamental problem is that the system doesn't support shared memory access. In other words, both processors can't use the same chunks of memory simultaneously. They could run the same code (provided a copy was made in two different regions of RAM), but they can't really operate on the same data set at a time.


Lo que entiendo de esto, es que ambos pueden trabajar, pero no a la vez. Creo que algo parecido sucede en la Saturn .

Y lo curioso viene después:

I can't say that I've disassembled most games, but I get the impression that most non-FMV games did most of their business on the Genesis CPU with the Sega CD CPU handling stuff specific to the Sega CD hardware (retrieving files off the CD, using the PCM chip, playing audio tracks etc.). In games with compressed video, I would imagine the Sega CD CPU probably did the bulk of the decoding. It's faster, it can access more RAM, and it doesn't have a huge chunk of it's time eaten up by DMA to the VDP.


Vamos, que los juegos usaban la CPU de la MegaDrive !

Todo esto en caso de que lo escrito sea cierto. Que yo ni idea al respecto :)
Efectivamente ambas comparten trozos de RAM, el MegaCD tiene 4MBits que trocea en 4 bloques de 1MBit, esos trozos de 1Mbits son los que comparte por el bus con la RAM de la Megadrive. Evidentemente si el bus está ocupado por una de las CPUs, la otra no puede acceder hasta su correspondiente interrupción.
Asi, por ejemplo la CPU de la Megadrive y la VDP pueden mostrar y procesar la visualizacion de la imagen de pantalla, mientras la CPU del MegaCD esta ocupada por ejemplo leyendo datos del CD-ROM o procesando los datos graficos como rotaciones o cargando sprites en su RAM.
La Megadrive es la que procesa la imagen en el VDP, tambien ejecuta el codigo de la BIOS del MegaCD en el arranque, hace las funciones completas de I/O incluidas las de gestion del Bus con el MegaCD, usa el Z80 para audio para lo que no sea PCM,...
El megaCD es un addon que hace como schip de apoyo a la Megadrive, añade soporte para CD, audio digital y proceso/calculo de imagenes.
Realmente sega la cago a base de bien con el mega cd y el 32x.
Son maquinas realmente desaprovechadas, la de joyas que hubiéramos disfrutado si se fuera programado en condiciones para estas maquinas.
el hilo de beat em ups va a traer cola...xD

Yo también me he preguntado siempre estas cosas porque no tengo ni idea en cuestiones técnicas. Muy buena pregunta y grandes respuestas
En realidad el uso de los procesadores da un poco igual, el CPU de la megadrive es suficiente para todo o casi todo tipo de juegos 2D

El problema del MegaCD es el mismo que el de la PS1, o la Saturn, la ram, no que se use o no el segudo cpu, ya que el principal de la megadrive sobra y basta
bertobp escribió:Efectivamente ambas comparten trozos de RAM, el MegaCD tiene 4MBits que trocea en 4 bloques de 1MBit, esos trozos de 1Mbits son los que comparte por el bus con la RAM de la Megadrive. Evidentemente si el bus está ocupado por una de las CPUs, la otra no puede acceder hasta su correspondiente interrupción.
Asi, por ejemplo la CPU de la Megadrive y la VDP pueden mostrar y procesar la visualizacion de la imagen de pantalla, mientras la CPU del MegaCD esta ocupada por ejemplo leyendo datos del CD-ROM o procesando los datos graficos como rotaciones o cargando sprites en su RAM.
La Megadrive es la que procesa la imagen en el VDP, tambien ejecuta el codigo de la BIOS del MegaCD en el arranque, hace las funciones completas de I/O incluidas las de gestion del Bus con el MegaCD, usa el Z80 para audio para lo que no sea PCM,...
El megaCD es un addon que hace como schip de apoyo a la Megadrive, añade soporte para CD, audio digital y proceso/calculo de imagenes.

Gracias por una respuesta tan completa!
Entiendo que el VDP de la MD es el que (lógicamente) envia la señal a la TV y se abastece de la RAM de la MD. Pero no sería posible que leyera directamente de la RAM de la MegaCD, saltándose así la limitación de la poca memoria de la MD?
O, por ejemplo, usar un cartucho de RAM como el de Saturn y dejar las respectivas RAM como un tipo de memoria intermedia?
brito_cat escribió:O, por ejemplo, usar un cartucho de RAM como el de Saturn y dejar las respectivas RAM como un tipo de memoria intermedia?


Desde el punto de vista de hoy, anio 2013, claro que todo esto hubiera sido la hostia, y con un simple cartucho de ram, el KOF94 por ejemplo, hubiera tenido un port total en MegaCD

Pero bueno, cada invento a su tiempo
12 respuestas