Interaction Sega Genesis et Sega CD

Aug 15 2020

Sega a dû penser à l'évolutivité avant la sortie de la Genesis, car il y a un emplacement d'extension à droite de l'unité quand on le regarde de face. Est-ce le seul emplacement d'extension? Fait-il partie d'une implémentation Sega standard ou sur mesure?

Voici une estimation de la façon dont les jeux sont chargés. Pour la Genesis, le 68000 démarre à l'adresse 0h où une ROM est présente, ce qui l'initialise puis démarre le jeu de cartouches. Si le CD Sega est utilisé, son 68000 commencera à l'adresse 0h mais ce sera une ROM dans le CD Sega, puis il démarrera un jeu sur CD. Donc, lorsque vous utilisez le CD Sega, il ne peut pas y avoir de cartouche, sinon la Genesis la chargera automatiquement?

Le Genesis 68000 fait-il quelque chose si le CD Sega joue à un jeu? Si tel est le cas, une synchronisation est-elle nécessaire et, dans l'affirmative, comment procéder? Plus largement, quelles ressources Genesis le CD Sega utilise-t-il?

Une histoire comme une réponse sur le fonctionnement du CD Sega au démarrage peut le rendre plus facile à comprendre.

Réponses

7 knol Aug 16 2020 at 09:51

Pour répondre à la première moitié de vos questions:

L'emplacement d'extension à 60 broches du côté droit est sur mesure et ne se trouve que sur Mega Drive / Genesis 1 et 2. Il n'est pas présent sur le Genesis 3 ou le Nomad.

Il expose les bus d'adresse et de données et de nombreux autres signaux. À cet égard, il est très similaire à l'emplacement d'extension à 86 broches sur le côté gauche d'un Amiga 500 (et à la trappe à 56 broches), mais n'est pas compatible.

Il existe un deuxième emplacement d'extension, nommé EXT, disponible uniquement sur les premiers Mega Drive 1. C'est un port femelle DE-9 similaire aux ports du contrôleur avant; est programmable et peut servir de port série. Il y a très peu de périphériques conçus pour ce port, le principal étant le Mega Modem , exclusif au Japon.

Sur le Sega Multi-Mega, les deux 68000 sont discrets comme le montre cette photo de Wikipedia .

-

Votre hypothèse sur le démarrage est fausse. Si un CD Sega est installé, la carte mémoire change. Le CD Sega prend possession de$000000-$3FFFFF amenant le système à démarrer dans le BIOS Sega CD à la mise sous tension, et l'espace d'adressage de l'emplacement de cartouche de 4 mégaoctets devient $400000-$7FFFFF.

-

Selon la FAQ sur la programmation du Mega CD de Christian Schiller :

Les deux processeurs 68k fonctionnent simultanément. Seul le Genesis 68k a accès au VDP et aux registres sonores de la puce sonore Genesis. Cela ne laisse que trois tâches aux 68k du SCD:

  1. accéder au lecteur de CD,
  2. accéder aux puces personnalisées et
  3. l'informatique. Le 68k du SCD (ou la puce graphique spéciale) par exemple effectue tout le zoom et la rotation des sprites / champs de jeu dans des jeux comme Sonic CD ou Thunderhawk. Ensuite, le Genesis 68k télécharge simplement les données pré-calculées via le port de connecteur (qui est, dit simplement, "juste" un deuxième port de cartouche) et les affiche à l'écran.

Imaginons que nous chargeons des graphiques bitmap à partir du CD afin de les afficher à l'écran. Nous devons faire ce qui suit:

  1. donner une commande de chargement pour charger le fichier gfx dans le tampon du CD
  2. copiez le gfx du tampon cd vers la RAM principale (512K?) du processeur CD
  3. peut-être faire pivoter / zoomer le gfx en utilisant la puce graphique du CD ...
  4. basculer la RAM principale vers le processeur Genesis
  5. copier les données gfx de la RAM principale vers la RAM Genesis
  6. Copiez les données gfx de la RAM Genesis vers la RAM VDP pour les afficher à l'écran.