Jak Napisać Emulator

Spisu treści:

Jak Napisać Emulator
Jak Napisać Emulator

Wideo: Jak Napisać Emulator

Wideo: Jak Napisać Emulator
Wideo: Эмулятор NES, часть №1: побитовые основы и обзор 2024, Listopad
Anonim

Emulacja to próba imitacji urządzenia w określonym systemie. Istnieją trzy sposoby budowania emulatorów: dynamiczna i statyczna rekompilacja i interpretacja. Aby osiągnąć maksymalny efekt szybkości podczas pracy, zaleca się stosowanie wszystkich trzech metod. Rozważmy przykład napisania typowego emulatora procesora.

Jak napisać emulator
Jak napisać emulator

Instrukcje

Krok 1

Wybierz język programowania. Zalecaną i prawdopodobnie jedyną alternatywą jest C i Assembler. W C możesz stworzyć kod, który zostanie przeniesiony na inne platformy. Jest stosunkowo prosty do zrozumienia i łatwy do debugowania, ale znacznie wolniejszy niż inne. Asembler wyróżnia się dużą szybkością pracy, wykorzystuje rejestry procesora, co przyczynia się do zbliżenia programu do rekompilującego. Jednak bardzo trudno jest w nim śledzić i naprawiać kody. Ważne jest, aby dobrze znać wybrany język i dobrze zoptymalizować kod pod kątem szybkości.

Krok 2

Przypisz wartość początkową do licznika cyklicznego i programowego. Licznik cykliczny zlicza liczbę cykli zegara, po których występuje przerwanie, a oprogramowanie PC pokazuje obszar pamięci, w którym znajduje się następna instrukcja opcode.

Krok 3

Po otrzymaniu kodu operacji odejmij liczbę cykli zegara potrzebnych do wykonania kodu od licznika pętli. Należy pamiętać, że niektóre polecenia różnią się liczbą tików w zależności od argumentów. W przypadku takich poleceń zmień licznik w kodzie uruchomienia później.

Krok 4

Po pomyślnym wykonaniu opcode sprawdź potrzebę wyzwalania przerwań. W tym momencie wykonaj zadania, które pilnie wymagają synchronizacji w czasie.

Krok 5

Sprawdź każde przejście cyklu pod kątem konieczności zakończenia jego pracy. Pamiętaj, że program powinien być modułowy, ponieważ większość komputerów składa się z modułów, a typowy emulator powinien, jeśli to możliwe, być taki sam jak oryginalny system. Zapewni to szybsze i łatwiejsze debugowanie programu, a także będziesz mógł używać tych samych modułów do różnych emulatorów, ponieważ wiele komputerów jest opartych na tych samych modelach procesorów lub procesorów wideo.

Zalecana: