EM400 - Plan prac: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
Nie podano opisu zmian
 
(Nie pokazano 33 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
[[File:Em400_ncurses_1.png|thumb|400px|Debugger EM400]]
Poniższy plan prac nad emulatorem EM400 stara się zachować przewidywaną kolejność wprowadzania zmian i poprawek, ale łatwo może ona ulec zmianie (zwłaszcza w przypadku zadań znajdujących się dalej na liście). Lista nie zawiera zadań ukończonych przed sierpniem 2014.
[[File:Em400-crook5-login.png|thumb|400px|Start systemu [[CROOK|CROOK-5]] w emulatorze EM400]]
[[File:Em400-crook5-osl.png|thumb|400px|Interpreter zleceń OSL systemu [[CROOK|CROOK-5]] działającego w EM400]]
 
Emulator EM400 pozwala już na uruchomienie oprogramowania MERY-400.
 
Kolor zielony w stanie implementacji oznacza, że element jest już funkcjonalny
 
=== Emulator - jednostka centralna ===


{| class="wikitable"
{| class="wikitable"
! Obszar/Funkcjonalność !! Stan implementacji !! Uwagi
! Zadanie !! Stan !! Wydanie !! Mainline
|-
| Konfiguracja emulatora || <font color=green>100%</font> || Plik konfiguracyjny EM400 i jego obsługa
|-
| Linia poleceń emulatora || <font color=green>100%</font> || Opcje wywołania emulatora
|-
| Tablica skoków dla rozkazów || <font color=green>100%</font> || 1 lub 2 poziomy wywołań do osiągnięcia rozkazu
|-
| Dekoder rozkazów i argumentów || <font color=green>100%</font>
|-
|-
| Szkielet, pamięć, rejestry + makra || <font color=green>100%</font> ||
| Poprawa wydajności - iteracja 2 || bgcolor="#E6FFE6" | 100% || 0.2 || +
|-
|-
| [[Pamięć MEGA]] Amepolu  || <font color=green>100%</font> ||
| SLID || bgcolor="#E6FFE6" | 100% || 0.2 || +
|-
|-
| [[Modyfikacje sprzętowe procesora]]  || <font color=green>100%</font> ||
| kompatybilność z MX-16 || bgcolor="#E6FFE6" | 100% || 0.2 || +
|-
|-
| Rozkazy procesora || <font color=green>100%</font> ||
| Emulog || bgcolor="#E6FFE6" | 100% || 0.2 || +
|-
|-
| Konfiguracja programowa pamięci || <font color=green>100%</font> ||  
| emulog: dasm->emdas || bgcolor="#E6FFE6" | 100% || 0.2 || +
|-
|-
| Rozkazy IN/OU (dekodowanie argumentów -> kanały) || <font color=green>100%</font> ||
| debugger: dasm->emdas || bgcolor="#E6FFE6" | 100% || 0.2.1 || +
|-
|-
| Szkielet kanałów i urządzeń || <font color=green>100%</font> || warstwa abstrakcji dla sterowników kanałów i urządzeń
| Porządki w konfiguracji || bgcolor="#E6FFE6" | 100% || 0.2.1 || +
|-
|-
| System przerwań || <font color=green>100%</font> ||
| Wydzielenie dekoderów || bgcolor="#E6FFE6" | 100% || 0.2.2 || +
|-
|-
| Bootstrap || 0% ||
| Obraz dysku z CROOK-iem || bgcolor="#E6FFE6" | 100% || n/d || n/d
|-
|-
| Infrastruktura testów automatycznych || <font color=green>100%</font> ||
| Async MULTIX + winchester || bgcolor="#E6FFE6" | 100% || 0.3 || +
|-
|-
|}
| Protokół debuggera || bgcolor="#E6FFE6" | 100% || 0.4 || +
 
=== Emulator - urządzenia ===
 
{| class="wikitable"
! Obszar/Funkcjonalność !! Stan implementacji !! Uwagi
|-
|-
| Kanał znakowy || <font color=green>80%</font> ||
| Redo interfejsu tekstowego (->emui) || bgcolor="#FFFFE6" | 30% || ? ||
|-
| Kanał pamięciowy || <font color=green>80%</font> ||
|-
|-
| Terminal znakowy || <font color=green>50%</font> || konsola, TCP, szeregowy
| Nowy system testów || bgcolor="#E6FFE6" | 100% || 0.4 || +
|-
|-
| Mera 9425 || 0% ||
| Wsparcie dla CPU w FPGA || bgcolor="#E6FFE6" | 90% || 0.4 || +
|-
|-
| <strike>Winchester w kanale pamięciowym (translacja adresów?)</strike> || 0% ||
| MULTIX 5 || bgcolor="#E6FFE6" | 100% || 0.4 || +
|-
|-
| PLIX || 0% ||
| Bootstrap || bgcolor="#E6FFE6" | 100% || 0.4 || +
|-
|-
| MULTIX || <font color=green>60%</font> ||
| Nowa konfiguracja || bgcolor="#E6FFE6" | 100% || 0.4 || +
|-
|-
| Winchester || <font color=green>50%</font> ||
| speed_real=true || bgcolor="#E6FFE6" | 100% || 0.4 || +
|-
|-
| Floppy 5.25" || 40% ||
| dźwięk || bgcolor="#E6FFE6" | 100% || 0.4 || +
|-
|-
| RTC || 0% ||
| KZ: SP45DE (stacja dysków 8 cali) || bgcolor="#FFFFE6" | 50% || 0.4 || +
|-
|-
| e4image || <font color=green>100%</font> || kontener dla obrazów mediów
| MULTIX: Terminal || bgcolor="#FFE6E6" | 10% || ||
|-
|-
|}
| Zewnętrzny interfejs do kontroli urządzeń || bgcolor="#FFE6E6" | 0% ||  ||
 
=== Debugger ===
 
{| class="wikitable"
! Obszar/Funkcjonalność !! Stan implementacji !! Uwagi
|-
|-
| Szkielet || <font color=green>100%</font> ||
| PLIX || bgcolor="FFE6E6" | 0% || ||
|-
| Podgląd pamięci i rejestrów || <font color=green>100%</font> ||
|-
| Disassembler || <font color=green>100%</font> ||
|-
| Translator || <font color=green>100%</font> || nie-assemblerowy pseudokod
|-
| Load/save || 50% ||
|-
| Breakpointy || <font color=green>100%</font> ||
|-
| Ncurses || <font color=green>100%</font> || ergonomiczny interfejs użytkownika
|-
| Interpreter poleceń || <font color=green>100%</font> || nowa, bogatsza linia poleceń
|-
| Śledzenie zmian w pamięci i rejestrach || <font color=green>80%</font> ||
|-
| Podgląd stosu || <font color=green>100%</font> ||
|-
| Logowanie || <font color=green>100%</font> ||
|-
|}
 
=== Narzędzia i inne ===
 
{| class="wikitable"
! Obszar/Funkcjonalność !! Stan implementacji !! Uwagi
|-
|-
| Roboczy disassembler || <font color=green>100%</font> || Python
| Kanał pamięciowy redo || bgcolor="#FFE6E6" | 0% || ||
|-
|-
| <strike>Roboczy Assembler</strike> || 25% || porzucony na rzecz pełnoprawnego ASSEM
| Kanał znakowy redo || bgcolor="#FFE6E6" | 0% || ||
|-
|-
| ASSEM || <font color=green>100%</font> ||  
| KP: 9425 || bgcolor="#FFE6E6" | 0% || ||
|-
|-
| ASSEM - wsparcie dla składni ASSK i ASSM || <font color=green>100%</font> ||
| KP: EC 6051 || bgcolor="#FFE6E6" | 0% || ||
|-
|-
| Testy CPU || <font color=green>100%</font> ||  
| KP: PT-305 || bgcolor="#FFE6E6" | 0% || ||
|-
|-
| <strike>Narzędzia do odczytu systemu plików CROOK-5</strike> || <font color=green>100%</font> || porzucone na rzecz C5FS Explorera
| MULTIX: 5,25" Floppy || bgcolor="#FFE6E6" | 0% || ||
|-
|-
| C5FS Explorer || <font color=green>100%</font> || Eksplorator systemu plików CROOK-5
| KZ: zegar Amepolu || bgcolor="#FFE6E6" | 0% || ||
|-
|-
| c5fuse - odczyt || <font color=green>100%</font> || Sterownik FUSE dla systemu plików CROOK-5
| KZ: perforator || bgcolor="#FFE6E6" | 0% || ||
|-
|-
| c5fuse - zapis || 0% ||
| KZ: czytnik || bgcolor="#FFE6E6" | 0% || ||
|-
|-
| e4itool || <font color=green>100%</font> || Narzędzie do zarządzania obrazami e4i
| Nowy debugger (X/QT) || bgcolor="#FFE6E6" | 0% || ||
|-
|-
| Interfejs graficzny || bgcolor="#FFE6E6" | 0% || ||
|}
|}

Aktualna wersja na dzień 18:31, 25 wrz 2020

Poniższy plan prac nad emulatorem EM400 stara się zachować przewidywaną kolejność wprowadzania zmian i poprawek, ale łatwo może ona ulec zmianie (zwłaszcza w przypadku zadań znajdujących się dalej na liście). Lista nie zawiera zadań ukończonych przed sierpniem 2014.

Zadanie Stan Wydanie Mainline
Poprawa wydajności - iteracja 2 100% 0.2 +
SLID 100% 0.2 +
kompatybilność z MX-16 100% 0.2 +
Emulog 100% 0.2 +
emulog: dasm->emdas 100% 0.2 +
debugger: dasm->emdas 100% 0.2.1 +
Porządki w konfiguracji 100% 0.2.1 +
Wydzielenie dekoderów 100% 0.2.2 +
Obraz dysku z CROOK-iem 100% n/d n/d
Async MULTIX + winchester 100% 0.3 +
Protokół debuggera 100% 0.4 +
Redo interfejsu tekstowego (->emui) 30% ?
Nowy system testów 100% 0.4 +
Wsparcie dla CPU w FPGA 90% 0.4 +
MULTIX 5 100% 0.4 +
Bootstrap 100% 0.4 +
Nowa konfiguracja 100% 0.4 +
speed_real=true 100% 0.4 +
dźwięk 100% 0.4 +
KZ: SP45DE (stacja dysków 8 cali) 50% 0.4 +
MULTIX: Terminal 10%
Zewnętrzny interfejs do kontroli urządzeń 0%
PLIX 0%
Kanał pamięciowy redo 0%
Kanał znakowy redo 0%
KP: 9425 0%
KP: EC 6051 0%
KP: PT-305 0%
MULTIX: 5,25" Floppy 0%
KZ: zegar Amepolu 0%
KZ: perforator 0%
KZ: czytnik 0%
Nowy debugger (X/QT) 0%
Interfejs graficzny 0%