Interaction Sega Genesis et Sega CD
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
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:
- accéder au lecteur de CD,
- accéder aux puces personnalisées et
- 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:
- donner une commande de chargement pour charger le fichier gfx dans le tampon du CD
- copiez le gfx du tampon cd vers la RAM principale (512K?) du processeur CD
- peut-être faire pivoter / zoomer le gfx en utilisant la puce graphique du CD ...
- basculer la RAM principale vers le processeur Genesis
- copier les données gfx de la RAM principale vers la RAM Genesis
- Copiez les données gfx de la RAM Genesis vers la RAM VDP pour les afficher à l'écran.