Interacción entre Sega Genesis y Sega CD

Aug 15 2020

Sega debe haber pensado en la capacidad de actualización antes del lanzamiento de Genesis, ya que hay una ranura de expansión a la derecha de la unidad cuando se mira desde el frente. ¿Es esta la única ranura de expansión? ¿Es parte de una implementación estándar o personalizada de Sega?

Aquí hay una suposición de cómo se cargan los juegos. Para el Genesis, el 68000 comienza en la dirección 0h donde hay una ROM, que lo inicializa y luego inicia el juego de cartuchos. Si se está utilizando el CD de Sega, entonces su 68000 comenzará en la dirección 0h, pero será una ROM dentro del CD de Sega, y luego iniciará un juego de CD. Entonces, al usar el CD de Sega, no puede haber un cartucho presente, de lo contrario, ¿el Genesis lo cargará automáticamente?

¿El Genesis 68000 hace algo si el CD de Sega está jugando? Si es así, ¿se necesita sincronización y, de ser así, cómo se hace? En términos más generales, ¿qué recursos de Genesis utiliza el CD de Sega?

Una historia como la respuesta de cómo funciona el CD de Sega desde el arranque puede hacer que sea más fácil de entender.

Respuestas

7 knol Aug 16 2020 at 09:51

Para responder a la primera mitad de sus preguntas:

La ranura de expansión de 60 pines del lado derecho está hecha a medida y se encuentra solo en Mega Drive / Genesis 1 y 2. No está presente en Genesis 3 o Nomad.

Expone los buses de dirección y datos y muchas otras señales. En ese sentido, es muy similar a la ranura de expansión de 86 pines en el lado izquierdo de un Amiga 500 (y la trampilla de 56 pines), pero no es compatible.

Hay una segunda ranura de expansión, etiquetada EXT, que se encuentra solo en los primeros Mega Drive 1. Es un puerto hembra DE-9 similar a los puertos del controlador frontal; es programable y puede actuar como un puerto serie. Hay muy pocos periféricos diseñados para este puerto, siendo el principal el Mega Modem , exclusivo de Japón.

En Sega Multi-Mega, los dos 68000 son discretos como se muestra en esta fotografía de Wikipedia .

-

Su suposición sobre el arranque es incorrecta. Si se instala un CD de Sega, el mapa de memoria cambia. El CD de Sega toma posesión de$000000-$3FFFFF, lo que hace que el sistema se inicie en el BIOS del CD de Sega al encender, y el espacio de direcciones de la ranura del cartucho de 4 megabytes se convierte $400000-$7FFFFF.

-

Según las preguntas frecuentes sobre la programación de Mega CD de Christian Schiller :

Ambos procesadores de 68k se ejecutan simultáneamente. Solo el Genesis 68k tiene acceso al VDP y a los registros de sonido del chip de sonido Genesis. Eso deja solo tres tareas para los 68k del SCD:

  1. acceder a la unidad de CD,
  2. acceder a los chips personalizados y
  3. informática. El 68k del SCD (o el chip gráfico especial), por ejemplo, hace todo el zoom y la rotación de sprites / playfield en juegos como Sonic CD o Thunderhawk. Luego, el Genesis 68k simplemente descarga los datos precalculados a través del puerto del conector (que es, simplemente, "solo" un segundo puerto de cartucho) y los muestra en la pantalla.

Imaginemos que cargamos algunos gráficos de mapa de bits desde un CD para mostrarlos en pantalla. Necesitamos hacer lo siguiente:

  1. dar un comando de carga para cargar el archivo gfx en el búfer del CD
  2. copie el gfx del búfer del CD a la RAM principal (¿512K?) del procesador de CD
  3. tal vez rotar / hacer zoom en el gfx usando el chip gráfico del CD ...
  4. cambiar la RAM principal a la CPU Genesis
  5. copie los datos de gfx de la RAM principal a la RAM de Genesis
  6. copie los datos de gfx de Genesis RAM a VDP RAM para mostrarlos en pantalla.