Interakcja Sega Genesis i Sega CD

Aug 15 2020

Sega musiał pomyśleć o możliwości ulepszenia przed wydaniem Genesis, ponieważ po prawej stronie jednostki znajduje się gniazdo rozszerzeń, patrząc od przodu. Czy to jedyne gniazdo rozszerzeń? Czy jest to część standardowego czy niestandardowego wdrożenia Sega?

Oto przypuszczenie, jak gry są ładowane. W przypadku Genesis, 68000 zaczyna się od adresu 0h, gdzie obecny jest ROM, który inicjalizuje go, a następnie uruchamia grę z kartridżami. Jeśli używana jest płyta Sega CD, jej 68000 rozpocznie się od adresu 0h, ale będzie to ROM na płycie CD Sega, a następnie rozpocznie się gra na płycie CD. Więc kiedy używasz Sega CD, nie ma wkładki, bo Genesis automatycznie ją załaduje?

Czy Genesis 68000 coś robi, jeśli Sega CD odtwarza grę? Jeśli tak, czy potrzebna jest synchronizacja, a jeśli tak, to jak to zrobić? Szerzej, z jakich zasobów Genesis korzysta Sega CD?

Historia podobna do odpowiedzi na to, jak Sega CD działa od momentu uruchomienia, może ułatwić zrozumienie.

Odpowiedzi

7 knol Aug 16 2020 at 09:51

Aby odpowiedzieć na pierwszą połowę pytań:

60-pinowe gniazdo rozszerzeń po prawej stronie zostało wykonane na zamówienie i można je znaleźć tylko w Mega Drive / Genesis 1 i 2. Nie występuje w Genesis 3 lub Nomad.

Ujawnia adres i szyny danych oraz wiele innych sygnałów. Pod tym względem jest bardzo podobny do 86-pinowego gniazda rozszerzeń po lewej stronie Amigi 500 (i 56-pinowego zapadni), ale nie jest kompatybilny.

Istnieje drugie gniazdo rozszerzeń, oznaczone jako EXT, które można znaleźć tylko we wczesnych wersjach Mega Drive 1. Jest to żeński port DE-9 podobny do portów przedniego kontrolera; jest programowalny i może działać jako port szeregowy. Istnieje bardzo niewiele urządzeń peryferyjnych zaprojektowanych dla tego portu, z których głównym jest Mega Modem , dostępny wyłącznie w Japonii.

Na Sega Multi-Mega, dwa 68000 są dyskretne, jak pokazano na tym zdjęciu z Wikipedii .

-

Twoje założenie dotyczące uruchamiania jest błędne. Jeśli zainstalowana jest płyta CD Sega, mapa pamięci ulegnie zmianie. Sega CD przejmuje własność$000000-$3FFFFF powodując uruchomienie systemu w BIOSie Sega CD po włączeniu zasilania, a przestrzeń adresowa gniazda 4-megabajtowych wkładów staje się $400000-$7FFFFF.

-

Według FAQ programowania Mega CD Christiana Schillera :

Oba procesory 68k działają jednocześnie. Tylko Genesis 68k ma dostęp do VDP i rejestrów dźwięku układu dźwiękowego Genesis. To pozostawia tylko trzy zadania dla 68k SCD:

  1. dostęp do napędu CD,
  2. dostęp do niestandardowych układów i
  3. przetwarzanie danych. Na przykład 68k SCD (lub specjalny układ graficzny) wykonuje całe powiększanie i obracanie sprite / playfield w grach takich jak Sonic CD czy Thunderhawk. Następnie Genesis 68k po prostu pobiera wstępnie obliczone dane przez port złącza (który jest po prostu „tylko” portem drugiej kasety) i wyświetla je na ekranie.

Wyobraźmy sobie, że ładujemy trochę grafiki bitmapowej z płyty CD, aby wyświetlić ją na ekranie. Musielibyśmy wykonać następujące czynności:

  1. wydaj polecenie load, aby załadować plik gfx do bufora CD
  2. skopiuj gfx z bufora cd do głównej pamięci RAM (512K?) procesora CD
  3. może obróć / powiększ gfx za pomocą układu graficznego CD ...
  4. przełącz główną pamięć RAM na procesor Genesis
  5. skopiuj dane gfx z głównej pamięci RAM do pamięci Genesis
  6. skopiuj dane gfx z Genesis RAM do VDP RAM, aby wyświetlić je na ekranie.