EM400
EM400 jest powstającym emulatorem systemu MERA-400. W założeniu ma emulować kompletny system, wraz z zegarem czasu rzeczywistego, kanałami (znakowym i pamięciowym), oraz urządzeniami podłączonymi do kanałów (terminalami i pamięciami masowymi). W dziale Pytania spisane są aktualnie wymagające wyjaśnienia kwestie.
Repozytorium GIT ze źródłami emulatora i podręcznych narzędzi: https://github.com/jakubfi/mera400
Aktualny stan prac nad emulatorem
Kolor zielony w stanie implementacji oznacza, że element jest już funkcjonalny
Obszar/Funkcjonalność | Stan implementacji | Uwagi |
---|---|---|
Roboczy disassembler | 100% | Python |
Konfiguracja emulatora | 0% | Plik konfiguracyjny EM400 |
Linia poleceeń emulatora | 0% | Wywołanie emulatora |
Tablica skoków dla rozkazów | 100% | 1 lub 2 poziomy wywołań do osiągnięcia rozkazu |
Dekoder rozkazów i argumentów | 100% | |
Szkielet, pamięć, rejestry + makra | 100% | |
Rozkazy procesora | 96% | |
Debugger - szkielet | 100% | |
Debugger - podgląd pamięci i rejestrów | 100% | |
Debugger - disassembler | 100% | |
Debugger - translator | 100% | nie-assemblerowy pseudokod |
Debugger - load/save | 50% | |
Debugger - breakpointy | 100% | |
Debugger - ncurses | 100% | ergonomiczny interfejs użytkownika |
Debugger - interpreter poleceń | 100% | nowa, bogatsza linia poleceń |
Debugger - śledzenie zmian w pamięci i rejestrach | 30% | |
Debugger - podgląd stosu | 0% | |
25% | porzucony na rzecz pełnoprawnego ASSEM | |
ASSEM | 10% | |
Testy automatyczne CPU | 5% | |
Rozkazy IN/OU (dekodowanie argumentów -> kanały) | 50% | |
Szkielet kanałów | 0% | |
Konfiguracja programowa pamięci | 100% | |
System przerwań | 10% | |
Kanał znakowy | 0% | |
Terminal znakowy | 0% | |
Kanał pamięciowy | 0% | |
Mera 9425 | 0% | |
Bootstrap | 0% | Niepotrzebny (?) ze względu na ładowanie obrazu do pamięci emulatora |