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
Obszar/Funkcjonalność | Stan implementacji | Uwagi |
---|---|---|
Roboczy disassembler | 100% | Python |
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% | |
Debuger - szkielet | 100% | |
Debuger - podgląd pamięci i rejestrów | 100% | |
Debuger - disassembler | 100% | assm |
Debuger - translator | 100% | nie-assemblerowy pseudokod |
Debuger - load/save | 50% | |
Debuger - breakpointy | 0% | |
Debuger - ncurses | 60% | ergonomiczny interfejs użytkownika |
Debuger - interpreter poleceń | 0% | nowa, bogatsza linia poleceń |
Roboczy Assembler | 25% | python, assembler do testów CPU |
Testy emulacji CPU | 0% | oprogramowanie: testy AMEPOL-u, testy dostarczane z maszyną? |
Rozkazy IN/OU (dekodowanie argumentów -> kanały) | 50% | POTRZEBNA DOKUMENTACJA KANAŁÓW I URZĄDZEŃ! |
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 |