|
Tworzenie emulatora komputera 8-bit Autor: Sławomir Kozioł |
|
Przed przystąpieniem do pisania emulatora należy określić jaki typ synchronizacji kodu maszynowego z obrazem zamierzamy zastosować w tworzonym emulatorze. Jest to w mojej opinii rzecz kluczowa i według tego właśnie kryterium czyli rodzaju przyjętej synchronizacji rozróżniać będę typy emulatorów.
Istniejące emulatory komputerów ośmiobitowych podzielić można na następujące typy:
1. Emulatory synchronizowane do wygaszenia pionowego W uproszczeniu zasada
synchronizacji kodu maszynowego z obrazem dla tego typu
emulatorów sprowadza się do wywołania emulatora układów
wizji który tworzy kompletną informację o widzianym obrazie oraz
wywołania emulatora procesora głównego który emuluje
wykonanie grupy rozkazów odpowiadającej czasowi jaki był potrzebny na narysowanie
całego ekranu.
2. Emulatory synchronizowane do
wygaszenia poziomego W
uproszczeniu zasada synchronizacji kodu maszynowego z
obrazem dla tego typu emulatorów sprowadza się do tego, iż wywoływany
jest emulator układów wizji tworzący kompletną informację o jednej
linii ekranowej oraz emulator procesora głównego który
emuluje wykonanie grupy rozkazów odpowiadającej czasowi jaki
był potrzebny na narysowanie tej linii. Operację należy powtórzyć
dla wszystkich poziomych linii ekranowych.
3. Emulatory synchronizowane do grup punktów ekranowych W uproszczeniu zasada synchronizacji kodu maszynowego z obrazem dla tego typu emulatorów sprowadza się do tego, iż wywoływany jest emulator procesora głównego wykonujący n-tą ilość instrukcji kodu oraz emulator układów wizji tworzący kompletną informację o grupie punktów odpowiadającej czasowi wykonanej tej n-tej ilości instrukcji kodu (koniec grupy wyznacza instrukcja wpływająca na obraz dla następnych punktów lub koniec fazy rysowania poziomej linii ekranowej). Operację należy powtarzać tak długo, aż zostaną narysowane wszystkie linie ekranowe. Emulatory tego typu określał będę mianem punktowych lub rastrowych.
Tworzenie emulatora komputera obok przyjęcia typu synchronizacji wymaga napisania emulatorów układów: 1. procesora głównego; 2. wizji i ewentualnie jeżeli jest procesora obrazu; 3. zarządzających pamięcią; 4. generacji dźwięku; 5. I/O; oraz emulatorów urządzeń podłączanych do komputera np. magnetofonu (i) lub stacji dysków.
|
Wszelkie prawa do serwisu posiada Komires Sp. z o. o.