EM400: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Nie podano opisu zmian |
|||
Linia 34: | Linia 34: | ||
|- | |- | ||
| System przerwań || <font color=green>100%</font> || | | System przerwań || <font color=green>100%</font> || | ||
|- | |||
| Bootstrap || 0% || Niepotrzebny (?) ze względu na ładowanie obrazu do pamięci emulatora | |||
|- | |||
=== Emulator - urządzenia === | |||
{| class="wikitable" | |||
! Obszar/Funkcjonalność !! Stan implementacji !! Uwagi | |||
|- | |- | ||
| Kanał znakowy || <font color=green>80%</font> || | | Kanał znakowy || <font color=green>80%</font> || | ||
|- | |||
| Kanał pamięciowy || <font color=green>80%</font> || | |||
|- | |- | ||
| Terminal znakowy || 0% || | | Terminal znakowy || 0% || | ||
|- | |- | ||
| Mera 9425 || 0% || | | Mera 9425 || 0% || | ||
|- | |- | ||
| Winchester w kanale pamięciowym (translacja adresów?) || 0% || | | Winchester w kanale pamięciowym (translacja adresów?) || 0% || | ||
|- | |- | ||
| | | PLIX? || 0% || | ||
|- | |||
| MULTIX? || 0% || | |||
|- | |||
| Winchester w PLIX-ie? || 0% || | |||
|- | |- | ||
| Floppy 5.25"? || 0% || | |||
|} | |} | ||
Wersja z 07:03, 27 lut 2013
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
Emulator
Emulator - urządzenia
Obszar/Funkcjonalność | Stan implementacji | Uwagi |
---|---|---|
Konfiguracja emulatora | 5% | Plik konfiguracyjny EM400 i jego obsługa |
Linia poleceń emulatora | 0% | Opcje wywołania 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% | |
Konfiguracja programowa pamięci | 100% | |
Rozkazy IN/OU (dekodowanie argumentów -> kanały) | 100% | |
Szkielet kanałów i urządzeń | 100% | warstwa abstrakcji dla sterowników kanałów i urządzeń |
System przerwań | 100% | |
Bootstrap | 0% | Niepotrzebny (?) ze względu na ładowanie obrazu do pamięci emulatora |
Obszar/Funkcjonalność | Stan implementacji | Uwagi |
---|---|---|
Kanał znakowy | 80% | |
Kanał pamięciowy | 80% | |
Terminal znakowy | 0% | |
Mera 9425 | 0% | |
Winchester w kanale pamięciowym (translacja adresów?) | 0% | |
PLIX? | 0% | |
MULTIX? | 0% | |
Winchester w PLIX-ie? | 0% | |
Floppy 5.25"? | 0% |
Debugger
Obszar/Funkcjonalność | Stan implementacji | Uwagi |
---|---|---|
Szkielet | 100% | |
Podgląd pamięci i rejestrów | 100% | |
Disassembler | 100% | |
Translator | 100% | nie-assemblerowy pseudokod |
Load/save | 50% | |
Breakpointy | 100% | |
Ncurses | 100% | ergonomiczny interfejs użytkownika |
Interpreter poleceń | 100% | nowa, bogatsza linia poleceń |
Śledzenie zmian w pamięci i rejestrach | 80% | |
Podgląd stosu | 100% | |
Logowanie | 100% |
Narzędzia
Obszar/Funkcjonalność | Stan implementacji | Uwagi |
---|---|---|
Roboczy disassembler | 100% | Python |
25% | porzucony na rzecz pełnoprawnego ASSEM | |
ASSEM | 70% | |
Testy automatyczne CPU | 5% | |
100% | porzucone na rzecz C5FS Explorera | |
C5FS Explorer | 100% | Eksplorator systemu plików CROOK-5 |
Sterownik FUSE dla systemu plików CROOK-5 | 100% |