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. Emulatory tego typu określał będę mianem liniowych lub skaningowych.

 

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.