Interação Sega Genesis e Sega CD

Aug 15 2020

A Sega deve ter pensado sobre a capacidade de atualização antes do lançamento do Genesis, pois há um slot de expansão à direita da unidade quando visto de frente. Este é o único slot de expansão? É parte de um padrão ou uma implementação Sega sob medida?

Aqui está um palpite de como os jogos são carregados. Para o Genesis, o 68000 começa no endereço 0h onde está presente um ROM, que o inicializa e depois inicia o jogo do cartucho. Se o Sega CD estiver sendo usado, seu 68000 começará no endereço 0h, mas será uma ROM dentro do Sega CD e, em seguida, ele iniciará um jogo em CD. Então, ao usar o Sega CD, não pode haver um cartucho presente, caso contrário o Genesis irá carregá-lo automaticamente?

O Genesis 68000 faz alguma coisa se o Sega CD estiver rodando um jogo? Em caso afirmativo, a sincronização é necessária e, em caso afirmativo, como isso é feito? De forma mais ampla, quais recursos do Genesis o Sega CD utiliza?

Uma história como a resposta de como o Sega CD funciona desde a inicialização pode torná-lo mais fácil de entender.

Respostas

7 knol Aug 16 2020 at 09:51

Para responder à primeira metade de suas perguntas:

O slot de expansão de 60 pinos do lado direito é feito sob medida e pode ser encontrado apenas no Mega Drive / Genesis 1 e 2. Não está presente no Genesis 3 ou Nomad.

Ele expõe o endereço e os barramentos de dados e muitos outros sinais. Nesse aspecto, é muito semelhante ao slot de expansão de 86 pinos no lado esquerdo de um Amiga 500 (e o alçapão de 56 pinos), mas não é compatível.

Há um segundo slot de expansão, denominado EXT, encontrado apenas nos primeiros Mega Drive 1s. É uma porta fêmea DE-9 semelhante às portas do controlador frontal; é programável e pode funcionar como uma porta serial. Existem poucos periféricos projetados para esta porta, sendo o principal o Mega Modem , exclusivo para o Japão.

No Sega Multi-Mega, os dois 68000 são discretos, como mostrado nesta fotografia da Wikipedia .

-

Sua suposição sobre a inicialização está errada. Se um Sega CD for instalado, o mapa de memória será alterado. O Sega CD assume a propriedade de$000000-$3FFFFF fazendo com que o sistema inicialize no BIOS do Sega CD ao ligar e o espaço de endereço do slot de cartucho de 4 Megabytes torna-se $400000-$7FFFFF.

-

De acordo com as perguntas frequentes de programação do Mega CD de Christian Schiller :

Ambos os processadores 68k funcionam simultaneamente. Apenas o Genesis 68k tem acesso ao VDP e aos registros de som do chip de som Genesis. Isso deixa apenas três tarefas para os 68k do SCD:

  1. acessando a unidade de CD,
  2. acessar os chips personalizados e
  3. Informática. O SCD de 68k (ou o chip gráfico especial), por exemplo, faz todo o zoom e rotação do sprite / playfield em jogos como Sonic CD ou Thunderhawk. Em seguida, o Genesis 68k simplesmente baixa os dados pré-calulados através da porta do conector (que é, simplesmente, "apenas" uma segunda porta de cartucho) e os exibe na tela.

Imaginemos que carregamos alguns gráficos de bitmap do CD para exibi-los na tela. Precisaríamos fazer o seguinte:

  1. dê um comando load para carregar o arquivo gfx no buffer do CD
  2. copie o gfx do buffer de cd para a RAM principal (512K?) do processador de CD
  3. talvez gire / amplie o gfx usando o chip gráfico do CD ...
  4. mudar RAM principal para CPU Genesis
  5. copiar dados gfx da RAM principal para Genesis RAM
  6. copiar dados gfx de Genesis RAM para VDP RAM para exibi-los na tela.